@hebcal/core 3.31.3 → 3.33.1

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.31.3 */
1
+ /*! @hebcal/core v3.33.1 */
2
2
  'use strict';
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -395,7 +395,7 @@ const Locale = {
395
395
  * @param {string} [locale] Optional locale name (i.e: `'he'`, `'fr'`). Defaults to active locale.
396
396
  * @return {string}
397
397
  */
398
- lookupTranslation: function (id, locale) {
398
+ lookupTranslation: function lookupTranslation(id, locale) {
399
399
  const locale0 = locale && locale.toLowerCase();
400
400
  const loc = typeof locale == 'string' && this.locales[locale0] || this.activeLocale;
401
401
  const array = loc[id];
@@ -413,7 +413,7 @@ const Locale = {
413
413
  * @param {string} [locale] Optional locale name (i.e: `'he'`, `'fr'`). Defaults to active locale.
414
414
  * @return {string}
415
415
  */
416
- gettext: function (id, locale) {
416
+ gettext: function gettext(id, locale) {
417
417
  const text = this.lookupTranslation(id, locale);
418
418
 
419
419
  if (typeof text == 'undefined') {
@@ -428,7 +428,7 @@ const Locale = {
428
428
  * @param {string} locale Locale name (i.e.: `'he'`, `'fr'`)
429
429
  * @param {LocaleDate} data parsed data from a `.po` file.
430
430
  */
431
- addLocale: function (locale, data) {
431
+ addLocale: function addLocale(locale, data) {
432
432
  if (typeof data.contexts !== 'object' || typeof data.contexts[''] !== 'object') {
433
433
  throw new TypeError(`Locale '${locale}' invalid compact format`);
434
434
  }
@@ -443,7 +443,7 @@ const Locale = {
443
443
  * @param {string} locale Locale name (i.e: `'he'`, `'fr'`)
444
444
  * @return {LocaleData}
445
445
  */
446
- useLocale: function (locale) {
446
+ useLocale: function useLocale(locale) {
447
447
  const locale0 = locale.toLowerCase();
448
448
  const obj = this.locales[locale0];
449
449
 
@@ -460,16 +460,24 @@ const Locale = {
460
460
  * Returns the name of the active locale (i.e. 'he', 'ashkenazi', 'fr')
461
461
  * @return {string}
462
462
  */
463
- getLocaleName: function () {
463
+ getLocaleName: function getLocaleName() {
464
464
  return this.activeName;
465
465
  },
466
466
 
467
+ /**
468
+ * Returns the names of registered locales
469
+ * @return {string[]}
470
+ */
471
+ getLocaleNames: function getLocaleNames() {
472
+ return Object.keys(this.locales).sort();
473
+ },
474
+
467
475
  /**
468
476
  * @param {number} n
469
477
  * @param {string} [locale] Optional locale name (i.e: `'he'`, `'fr'`). Defaults to active locale.
470
478
  * @return {string}
471
479
  */
472
- ordinal: function (n, locale) {
480
+ ordinal: function ordinal(n, locale) {
473
481
  const locale1 = locale && locale.toLowerCase();
474
482
  const locale0 = locale1 || this.activeName;
475
483
 
@@ -505,7 +513,7 @@ const Locale = {
505
513
  * @param {number} n
506
514
  * @return {string}
507
515
  */
508
- getEnOrdinal: function (n) {
516
+ getEnOrdinal: function getEnOrdinal(n) {
509
517
  const s = ['th', 'st', 'nd', 'rd'];
510
518
  const v = n % 100;
511
519
  return n + (s[(v - 20) % 10] || s[v] || s[0]);
@@ -516,7 +524,7 @@ const Locale = {
516
524
  * @param {string} str
517
525
  * @return {string}
518
526
  */
519
- hebrewStripNikkud: function (str) {
527
+ hebrewStripNikkud: function hebrewStripNikkud(str) {
520
528
  return str.replace(/[\u0590-\u05bd]/g, '').replace(/[\u05bf-\u05c7]/g, '');
521
529
  }
522
530
  };
@@ -613,7 +621,7 @@ const monthNames0 = ['', 'Nisan', 'Iyyar', 'Sivan', 'Tamuz', 'Av', 'Elul', 'Tish
613
621
 
614
622
  const monthNames = [monthNames0.concat(['Adar', 'Nisan']), monthNames0.concat(['Adar I', 'Adar II', 'Nisan'])]; // eslint-disable-next-line require-jsdoc
615
623
 
616
- function throwTypeError$2(msg) {
624
+ function throwTypeError$3(msg) {
617
625
  throw new TypeError(msg);
618
626
  }
619
627
 
@@ -648,7 +656,7 @@ const UNITS_VALID = {
648
656
 
649
657
  /** Represents a Hebrew date */
650
658
 
651
- class HDate$1 {
659
+ class HDate {
652
660
  /**
653
661
  * Create a Hebrew date. There are 3 basic forms for the `HDate()` constructor.
654
662
  *
@@ -717,13 +725,13 @@ class HDate$1 {
717
725
  } // 1 argument
718
726
 
719
727
 
720
- 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) ? {
721
729
  dd: day.day,
722
730
  mm: day.month,
723
731
  yy: day.year
724
- } : throwTypeError$2(`HDate called with bad argument: ${day}`);
732
+ } : throwTypeError$3(`HDate called with bad argument: ${day}`);
725
733
  const isNumber = typeof abs0 === 'number';
726
- const d = isNumber ? HDate$1.abs2hebrew(abs0) : abs0;
734
+ const d = isNumber ? HDate.abs2hebrew(abs0) : abs0;
727
735
  /**
728
736
  * @private
729
737
  * @type {number}
@@ -768,7 +776,7 @@ class HDate$1 {
768
776
 
769
777
 
770
778
  isLeapYear() {
771
- return HDate$1.isLeapYear(this.year);
779
+ return HDate.isLeapYear(this.year);
772
780
  }
773
781
  /**
774
782
  * Gets the Hebrew month (1=NISAN, 7=TISHREI) of this Hebrew date
@@ -786,7 +794,7 @@ class HDate$1 {
786
794
 
787
795
 
788
796
  getTishreiMonth() {
789
- const nummonths = HDate$1.monthsInYear(this.getFullYear());
797
+ const nummonths = HDate.monthsInYear(this.getFullYear());
790
798
  return (this.getMonth() + nummonths - 6) % nummonths || nummonths;
791
799
  }
792
800
  /**
@@ -796,7 +804,7 @@ class HDate$1 {
796
804
 
797
805
 
798
806
  daysInMonth() {
799
- return HDate$1.daysInMonth(this.getMonth(), this.getFullYear());
807
+ return HDate.daysInMonth(this.getMonth(), this.getFullYear());
800
808
  }
801
809
  /**
802
810
  * Gets the day within the month (1-30)
@@ -839,7 +847,7 @@ class HDate$1 {
839
847
 
840
848
 
841
849
  setMonth(month) {
842
- this.month = HDate$1.monthNum(month);
850
+ this.month = HDate.monthNum(month);
843
851
  fix(this);
844
852
  return this;
845
853
  }
@@ -875,7 +883,7 @@ class HDate$1 {
875
883
 
876
884
  abs() {
877
885
  if (typeof this.abs0 !== 'number') {
878
- this.abs0 = HDate$1.hebrew2abs(this.year, this.month, this.day);
886
+ this.abs0 = HDate.hebrew2abs(this.year, this.month, this.day);
879
887
  }
880
888
 
881
889
  return this.abs0;
@@ -895,20 +903,20 @@ class HDate$1 {
895
903
  let tempabs = day;
896
904
 
897
905
  if (month < TISHREI$2) {
898
- for (let m = TISHREI$2; m <= HDate$1.monthsInYear(year); m++) {
899
- tempabs += HDate$1.daysInMonth(m, year);
906
+ for (let m = TISHREI$2; m <= HDate.monthsInYear(year); m++) {
907
+ tempabs += HDate.daysInMonth(m, year);
900
908
  }
901
909
 
902
910
  for (let m = NISAN$2; m < month; m++) {
903
- tempabs += HDate$1.daysInMonth(m, year);
911
+ tempabs += HDate.daysInMonth(m, year);
904
912
  }
905
913
  } else {
906
914
  for (let m = TISHREI$2; m < month; m++) {
907
- tempabs += HDate$1.daysInMonth(m, year);
915
+ tempabs += HDate.daysInMonth(m, year);
908
916
  }
909
917
  }
910
918
 
911
- return EPOCH + HDate$1.elapsedDays(year) + tempabs - 1;
919
+ return EPOCH + HDate.elapsedDays(year) + tempabs - 1;
912
920
  }
913
921
  /**
914
922
  * @private
@@ -918,7 +926,7 @@ class HDate$1 {
918
926
 
919
927
 
920
928
  static newYear(year) {
921
- return EPOCH + HDate$1.elapsedDays(year) + HDate$1.newYearDelay(year);
929
+ return EPOCH + HDate.elapsedDays(year) + HDate.newYearDelay(year);
922
930
  }
923
931
  /**
924
932
  * @private
@@ -928,13 +936,13 @@ class HDate$1 {
928
936
 
929
937
 
930
938
  static newYearDelay(year) {
931
- const ny1 = HDate$1.elapsedDays(year);
932
- const ny2 = HDate$1.elapsedDays(year + 1);
939
+ const ny1 = HDate.elapsedDays(year);
940
+ const ny2 = HDate.elapsedDays(year + 1);
933
941
 
934
942
  if (ny2 - ny1 === 356) {
935
943
  return 2;
936
944
  } else {
937
- const ny0 = HDate$1.elapsedDays(year - 1);
945
+ const ny0 = HDate.elapsedDays(year - 1);
938
946
  return ny1 - ny0 === 382 ? 1 : 0;
939
947
  }
940
948
  }
@@ -955,18 +963,18 @@ class HDate$1 {
955
963
 
956
964
  let year = Math.floor((abs - EPOCH) / AVG_HEBYEAR_DAYS);
957
965
 
958
- while (HDate$1.newYear(year) <= abs) {
966
+ while (HDate.newYear(year) <= abs) {
959
967
  ++year;
960
968
  }
961
969
 
962
970
  --year;
963
- let month = abs < HDate$1.hebrew2abs(year, 1, 1) ? 7 : 1;
971
+ let month = abs < HDate.hebrew2abs(year, 1, 1) ? 7 : 1;
964
972
 
965
- while (abs > HDate$1.hebrew2abs(year, month, HDate$1.daysInMonth(month, year))) {
973
+ while (abs > HDate.hebrew2abs(year, month, HDate.daysInMonth(month, year))) {
966
974
  ++month;
967
975
  }
968
976
 
969
- const day = 1 + abs - HDate$1.hebrew2abs(year, month, 1);
977
+ const day = 1 + abs - HDate.hebrew2abs(year, month, 1);
970
978
  return {
971
979
  yy: year,
972
980
  mm: month,
@@ -980,7 +988,7 @@ class HDate$1 {
980
988
 
981
989
 
982
990
  getMonthName() {
983
- return HDate$1.getMonthName(this.getMonth(), this.getFullYear());
991
+ return HDate.getMonthName(this.getMonth(), this.getFullYear());
984
992
  }
985
993
  /**
986
994
  * Renders this Hebrew date as a translated or transliterated string,
@@ -1002,7 +1010,7 @@ class HDate$1 {
1002
1010
  const day = this.getDate();
1003
1011
  const monthName = Locale.gettext(this.getMonthName(), locale0);
1004
1012
  const nth = Locale.ordinal(day, locale0);
1005
- const dayOf = HDate$1.getDayOfTranslation(locale0);
1013
+ const dayOf = HDate.getDayOfTranslation(locale0);
1006
1014
  const dateStr = `${nth}${dayOf} ${monthName}`;
1007
1015
 
1008
1016
  if (showYear) {
@@ -1135,7 +1143,7 @@ class HDate$1 {
1135
1143
 
1136
1144
 
1137
1145
  next() {
1138
- return new HDate$1(this.abs() + 1);
1146
+ return new HDate(this.abs() + 1);
1139
1147
  }
1140
1148
  /**
1141
1149
  * Returns the previous Hebrew date
@@ -1144,7 +1152,7 @@ class HDate$1 {
1144
1152
 
1145
1153
 
1146
1154
  prev() {
1147
- return new HDate$1(this.abs() - 1);
1155
+ return new HDate(this.abs() - 1);
1148
1156
  }
1149
1157
  /**
1150
1158
  * Returns a cloned `HDate` object with a specified amount of time added
@@ -1168,24 +1176,24 @@ class HDate$1 {
1168
1176
  number = parseInt(number, 10);
1169
1177
 
1170
1178
  if (!number) {
1171
- return new HDate$1(this);
1179
+ return new HDate(this);
1172
1180
  }
1173
1181
 
1174
- units = HDate$1.standardizeUnits(units);
1182
+ units = HDate.standardizeUnits(units);
1175
1183
 
1176
1184
  if (units === UNITS_DAY) {
1177
- return new HDate$1(this.abs() + number);
1185
+ return new HDate(this.abs() + number);
1178
1186
  } else if (units === UNITS_WEEK) {
1179
- return new HDate$1(this.abs() + 7 * number);
1187
+ return new HDate(this.abs() + 7 * number);
1180
1188
  } else if (units === UNITS_YEAR) {
1181
- return new HDate$1(this.getDate(), this.getMonth(), this.getFullYear() + number);
1189
+ return new HDate(this.getDate(), this.getMonth(), this.getFullYear() + number);
1182
1190
  } else if (units === UNITS_MONTH) {
1183
- let hd = new HDate$1(this);
1191
+ let hd = new HDate(this);
1184
1192
  const sign = number > 0 ? 1 : -1;
1185
1193
  number = Math.abs(number);
1186
1194
 
1187
1195
  for (let i = 0; i < number; i++) {
1188
- hd = new HDate$1(hd.abs() + sign * hd.daysInMonth());
1196
+ hd = new HDate(hd.abs() + sign * hd.daysInMonth());
1189
1197
  }
1190
1198
 
1191
1199
  return hd;
@@ -1200,7 +1208,7 @@ class HDate$1 {
1200
1208
 
1201
1209
  static standardizeUnits(units) {
1202
1210
  const full = UNITS_SINGLE[units] || String(units || '').toLowerCase().replace(/s$/, '');
1203
- return UNITS_VALID[full] || throwTypeError$2(`Invalid units '${units}'`);
1211
+ return UNITS_VALID[full] || throwTypeError$3(`Invalid units '${units}'`);
1204
1212
  }
1205
1213
  /**
1206
1214
  * Returns a cloned `HDate` object with a specified amount of time subracted
@@ -1249,7 +1257,7 @@ class HDate$1 {
1249
1257
 
1250
1258
 
1251
1259
  deltaDays(other) {
1252
- if (!HDate$1.isHDate(other)) {
1260
+ if (!HDate.isHDate(other)) {
1253
1261
  throw new TypeError(`Bad argument: ${other}`);
1254
1262
  }
1255
1263
 
@@ -1263,7 +1271,7 @@ class HDate$1 {
1263
1271
 
1264
1272
 
1265
1273
  isSameDate(other) {
1266
- if (HDate$1.isHDate(other)) {
1274
+ if (HDate.isHDate(other)) {
1267
1275
  return this.year == other.year && this.month == other.month && this.day == other.day;
1268
1276
  }
1269
1277
 
@@ -1296,7 +1304,7 @@ class HDate$1 {
1296
1304
 
1297
1305
 
1298
1306
  static monthsInYear(year) {
1299
- 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
1300
1308
  }
1301
1309
  /**
1302
1310
  * Number of days in Hebrew month in a given year (29 or 30)
@@ -1307,7 +1315,7 @@ class HDate$1 {
1307
1315
 
1308
1316
 
1309
1317
  static daysInMonth(month, year) {
1310
- 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)) {
1311
1319
  return 29;
1312
1320
  } else {
1313
1321
  return 30;
@@ -1327,7 +1335,7 @@ class HDate$1 {
1327
1335
  throw new TypeError(`bad month argument ${month}`);
1328
1336
  }
1329
1337
 
1330
- return monthNames[+HDate$1.isLeapYear(year)][month];
1338
+ return monthNames[+HDate.isLeapYear(year)][month];
1331
1339
  }
1332
1340
  /**
1333
1341
  * Returns the Hebrew month number (NISAN=1, TISHREI=7)
@@ -1339,7 +1347,7 @@ class HDate$1 {
1339
1347
  static monthNum(month) {
1340
1348
  return typeof month === 'number' ? month : month.charCodeAt(0) >= 48 && month.charCodeAt(0) <= 57 ?
1341
1349
  /* number */
1342
- parseInt(month, 10) : HDate$1.monthFromName(month);
1350
+ parseInt(month, 10) : HDate.monthFromName(month);
1343
1351
  }
1344
1352
  /**
1345
1353
  * Days from sunday prior to start of Hebrew calendar to mean
@@ -1350,7 +1358,7 @@ class HDate$1 {
1350
1358
 
1351
1359
 
1352
1360
  static elapsedDays(year) {
1353
- const elapsed = edCache[year] = edCache[year] || HDate$1.elapsedDays0(year);
1361
+ const elapsed = edCache[year] = edCache[year] || HDate.elapsedDays0(year);
1354
1362
  return elapsed;
1355
1363
  }
1356
1364
  /**
@@ -1372,7 +1380,7 @@ class HDate$1 {
1372
1380
  const hElapsed = 5 + 12 * mElapsed + 793 * Math.floor(mElapsed / 1080) + Math.floor(pElapsed / 1080);
1373
1381
  const parts = pElapsed % 1080 + 1080 * (hElapsed % 24);
1374
1382
  const day = 1 + 29 * mElapsed + Math.floor(hElapsed / 24);
1375
- 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));
1376
1384
  return altDay + (altDay % 7 === 0 || altDay % 7 == 3 || altDay % 7 == 5);
1377
1385
  }
1378
1386
  /**
@@ -1383,7 +1391,7 @@ class HDate$1 {
1383
1391
 
1384
1392
 
1385
1393
  static daysInYear(year) {
1386
- return HDate$1.elapsedDays(year + 1) - HDate$1.elapsedDays(year);
1394
+ return HDate.elapsedDays(year + 1) - HDate.elapsedDays(year);
1387
1395
  }
1388
1396
  /**
1389
1397
  * true if Cheshvan is long in Hebrew year
@@ -1393,7 +1401,7 @@ class HDate$1 {
1393
1401
 
1394
1402
 
1395
1403
  static longCheshvan(year) {
1396
- return HDate$1.daysInYear(year) % 10 == 5;
1404
+ return HDate.daysInYear(year) % 10 == 5;
1397
1405
  }
1398
1406
  /**
1399
1407
  * true if Kislev is short in Hebrew year
@@ -1403,7 +1411,7 @@ class HDate$1 {
1403
1411
 
1404
1412
 
1405
1413
  static shortKislev(year) {
1406
- return HDate$1.daysInYear(year) % 10 == 3;
1414
+ return HDate.daysInYear(year) % 10 == 3;
1407
1415
  }
1408
1416
  /**
1409
1417
  * Converts Hebrew month string name to numeric
@@ -1592,17 +1600,17 @@ function fixDate(date) {
1592
1600
  date.year -= 1;
1593
1601
  }
1594
1602
 
1595
- date.day += HDate$1.daysInMonth(date.month, date.year);
1603
+ date.day += HDate.daysInMonth(date.month, date.year);
1596
1604
  date.month -= 1;
1597
1605
  fix(date);
1598
1606
  }
1599
1607
 
1600
- if (date.day > HDate$1.daysInMonth(date.month, date.year)) {
1608
+ if (date.day > HDate.daysInMonth(date.month, date.year)) {
1601
1609
  if (date.month == ELUL$2) {
1602
1610
  date.year += 1;
1603
1611
  }
1604
1612
 
1605
- date.day -= HDate$1.daysInMonth(date.month, date.year);
1613
+ date.day -= HDate.daysInMonth(date.month, date.year);
1606
1614
  date.month += 1;
1607
1615
  fix(date);
1608
1616
  }
@@ -1621,11 +1629,11 @@ function fixMonth(date) {
1621
1629
 
1622
1630
  fix(date);
1623
1631
  } else if (date.month < 1) {
1624
- date.month += HDate$1.monthsInYear(date.year);
1632
+ date.month += HDate.monthsInYear(date.year);
1625
1633
  date.year -= 1;
1626
1634
  fix(date);
1627
- } else if (date.month > HDate$1.monthsInYear(date.year)) {
1628
- date.month -= HDate$1.monthsInYear(date.year);
1635
+ } else if (date.month > HDate.monthsInYear(date.year)) {
1636
+ date.month -= HDate.monthsInYear(date.year);
1629
1637
  date.year += 1;
1630
1638
  fix(date);
1631
1639
  }
@@ -1642,7 +1650,7 @@ function fixMonth(date) {
1642
1650
 
1643
1651
 
1644
1652
  function onOrBefore(day, t, offset) {
1645
- return new HDate$1(HDate$1.dayOnOrBefore(day, t.abs() + offset));
1653
+ return new HDate(HDate.dayOnOrBefore(day, t.abs() + offset));
1646
1654
  }
1647
1655
 
1648
1656
  const CHAG$1 = 0x000001;
@@ -1669,6 +1677,7 @@ const HEBREW_DATE = 0x040000;
1669
1677
  const MINOR_HOLIDAY$2 = 0x080000;
1670
1678
  const EREV$2 = 0x100000;
1671
1679
  const CHOL_HAMOED$2 = 0x200000;
1680
+ const MISHNA_YOMI = 0x400000;
1672
1681
  /**
1673
1682
  * Holiday flags for Event
1674
1683
  * @readonly
@@ -1740,7 +1749,10 @@ const flags = {
1740
1749
  EREV: EREV$2,
1741
1750
 
1742
1751
  /** Chol haMoed, intermediate days of Pesach or Sukkot */
1743
- CHOL_HAMOED: CHOL_HAMOED$2
1752
+ CHOL_HAMOED: CHOL_HAMOED$2,
1753
+
1754
+ /** Mishna Yomi */
1755
+ MISHNA_YOMI
1744
1756
  };
1745
1757
  /** Represents an Event with a title, date, and flags */
1746
1758
 
@@ -2292,7 +2304,7 @@ function pad4(number) {
2292
2304
  return String(number);
2293
2305
  }
2294
2306
 
2295
- function throwTypeError$1(error) {
2307
+ function throwTypeError$2(error) {
2296
2308
  throw new TypeError(error);
2297
2309
  }
2298
2310
  /**
@@ -2353,7 +2365,7 @@ class Zmanim {
2353
2365
  throw new RangeError(`Longitude ${longitude} out of range [-180,180]`);
2354
2366
  }
2355
2367
 
2356
- 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}`);
2357
2369
  this.date = dt;
2358
2370
  this.sun = new Sun_1(this.date, latitude, longitude);
2359
2371
  this.latitude = latitude;
@@ -3018,6 +3030,7 @@ const days = {
3018
3030
  };
3019
3031
  /**
3020
3032
  * @private
3033
+ * @constant
3021
3034
  * This method returns the tzais (nightfall) based on the opinion of the
3022
3035
  * Geonim calculated as 30 minutes after sunset during the equinox
3023
3036
  * (on March 16, about 4 days before the astronomical equinox, the day that
@@ -3273,7 +3286,7 @@ class Molad {
3273
3286
  let m_adj = month - 7;
3274
3287
 
3275
3288
  if (m_adj < 0) {
3276
- m_adj += HDate$1.monthsInYear(year);
3289
+ m_adj += HDate.monthsInYear(year);
3277
3290
  }
3278
3291
 
3279
3292
  const m_elapsed = 235 * Math.floor((year - 1) / 19) + // Months in complete 19 year lunar (Metonic) cycles so far
@@ -3316,7 +3329,7 @@ class Molad {
3316
3329
 
3317
3330
 
3318
3331
  getMonthName() {
3319
- return HDate$1.getMonthName(this.month, this.year);
3332
+ return HDate.getMonthName(this.month, this.year);
3320
3333
  }
3321
3334
  /**
3322
3335
  * @return {number} Day of Week (0=Sunday, 6=Saturday)
@@ -3497,18 +3510,23 @@ const shas = [['Berachot', 64], ['Shabbat', 157], ['Eruvin', 105], ['Pesachim',
3497
3510
  name: m[0],
3498
3511
  blatt: m[1]
3499
3512
  };
3500
- });
3513
+ }); // eslint-disable-next-line require-jsdoc
3514
+
3515
+ function throwTypeError$1(msg) {
3516
+ throw new TypeError(msg);
3517
+ }
3501
3518
  /**
3502
3519
  * Returns the Daf Yomi for given date
3503
3520
  */
3504
3521
 
3522
+
3505
3523
  class DafYomi {
3506
3524
  /**
3507
3525
  * Initializes a daf yomi instance
3508
- * @param {Date} gregdate Gregorian date
3526
+ * @param {Date|HDate|number} gregdate Gregorian date
3509
3527
  */
3510
3528
  constructor(gregdate) {
3511
- 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}`);
3529
+ 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}`);
3512
3530
 
3513
3531
  if (cday < osday) {
3514
3532
  throw new RangeError(`Date ${gregdate} too early; Daf Yomi cycle began on ${osdate}`);
@@ -3700,16 +3718,16 @@ class Sedra {
3700
3718
  constructor(hebYr, il) {
3701
3719
  // the Hebrew year
3702
3720
  hebYr = +hebYr;
3703
- const longC = HDate$1.longCheshvan(hebYr);
3704
- const shortK = HDate$1.shortKislev(hebYr);
3721
+ const longC = HDate.longCheshvan(hebYr);
3722
+ const shortK = HDate.shortKislev(hebYr);
3705
3723
  const type = this.type = longC && !shortK ? COMPLETE : !longC && shortK ? INCOMPLETE : REGULAR;
3706
3724
  this.year = hebYr;
3707
- const rh0 = new HDate$1(1, months.TISHREI, hebYr);
3725
+ const rh0 = new HDate(1, months.TISHREI, hebYr);
3708
3726
  const rh = rh0.abs();
3709
3727
  const rhDay = this.roshHashanaDay = rh0.getDay() + 1; // find the first Saturday on or after Rosh Hashana
3710
3728
 
3711
- this.firstSaturday = HDate$1.dayOnOrBefore(6, rh + 6);
3712
- const leap = this.leap = +HDate$1.isLeapYear(hebYr);
3729
+ this.firstSaturday = HDate.dayOnOrBefore(6, rh + 6);
3730
+ const leap = this.leap = +HDate.isLeapYear(hebYr);
3713
3731
  this.il = Boolean(il);
3714
3732
  const key = `${leap}${rhDay}${type}`;
3715
3733
 
@@ -3786,7 +3804,7 @@ class Sedra {
3786
3804
  return null; // doesn't occur this year
3787
3805
  }
3788
3806
 
3789
- return new HDate$1(this.firstSaturday + idx * 7);
3807
+ return new HDate(this.firstSaturday + idx * 7);
3790
3808
  } else if (typeof parsha === 'string') {
3791
3809
  const num = parsha2id[parsha];
3792
3810
 
@@ -3802,7 +3820,7 @@ class Sedra {
3802
3820
  return null; // doesn't occur this year
3803
3821
  }
3804
3822
 
3805
- return new HDate$1(this.firstSaturday + idx * 7);
3823
+ return new HDate(this.firstSaturday + idx * 7);
3806
3824
  }
3807
3825
  } else if (Array.isArray(parsha) && parsha.length === 1 && typeof parsha[0] === 'string') {
3808
3826
  return this.find(parsha[0]);
@@ -3853,9 +3871,9 @@ class Sedra {
3853
3871
 
3854
3872
 
3855
3873
  lookup(hDate) {
3856
- 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
3874
+ 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
3857
3875
 
3858
- const saturday = HDate$1.dayOnOrBefore(6, absDate + 6);
3876
+ const saturday = HDate.dayOnOrBefore(6, absDate + 6);
3859
3877
  const weekNum = (saturday - this.firstSaturday) / 7;
3860
3878
  const index = this.theSedraArray[weekNum];
3861
3879
 
@@ -4311,7 +4329,7 @@ class MevarchimChodeshEvent extends Event {
4311
4329
  this.monthName = monthName;
4312
4330
  const hyear = date.getFullYear();
4313
4331
  const hmonth = date.getMonth();
4314
- const monNext = hmonth == HDate$1.monthsInYear(hyear) ? months.NISAN : hmonth + 1;
4332
+ const monNext = hmonth == HDate.monthsInYear(hyear) ? months.NISAN : hmonth + 1;
4315
4333
  const molad = new MoladEvent(date, hyear, monNext);
4316
4334
  this.memo = molad.render();
4317
4335
  }
@@ -4327,9 +4345,7 @@ class MevarchimChodeshEvent extends Event {
4327
4345
  }
4328
4346
 
4329
4347
  }
4330
- /**
4331
- * @private
4332
- */
4348
+ /** Represents Rosh Hashana, the Jewish New Year */
4333
4349
 
4334
4350
  class RoshHashanaEvent extends HolidayEvent {
4335
4351
  /**
@@ -4390,7 +4406,10 @@ const MAJOR_FAST$1 = flags.MAJOR_FAST;
4390
4406
  const MINOR_HOLIDAY$1 = flags.MINOR_HOLIDAY;
4391
4407
  const EREV$1 = flags.EREV;
4392
4408
  const CHOL_HAMOED$1 = flags.CHOL_HAMOED;
4393
- /** @private */
4409
+ /**
4410
+ * Avoid dependency on ES6 Map object
4411
+ * @private
4412
+ */
4394
4413
 
4395
4414
  class SimpleMap {
4396
4415
  /**
@@ -4475,8 +4494,8 @@ function getHolidaysForYear(year) {
4475
4494
  return cached;
4476
4495
  }
4477
4496
 
4478
- const RH = new HDate$1(1, TISHREI$1, year);
4479
- const pesach = new HDate$1(15, NISAN$1, year);
4497
+ const RH = new HDate(1, TISHREI$1, year);
4498
+ const pesach = new HDate(15, NISAN$1, year);
4480
4499
  const h = new SimpleMap(); // eslint-disable-next-line require-jsdoc
4481
4500
 
4482
4501
  function add(...events) {
@@ -4500,7 +4519,7 @@ function getHolidaysForYear(year) {
4500
4519
 
4501
4520
  function addEvents(year, arr) {
4502
4521
  arr.forEach(a => {
4503
- add(new HolidayEvent(new HDate$1(a[0], a[1], year), a[2], a[3], a[4]));
4522
+ add(new HolidayEvent(new HDate(a[0], a[1], year), a[2], a[3], a[4]));
4504
4523
  });
4505
4524
  } // standard holidays that don't shift based on year
4506
4525
 
@@ -4512,7 +4531,7 @@ function getHolidaysForYear(year) {
4512
4531
  emoji: '📖✍️'
4513
4532
  }]]); // first SAT after RH
4514
4533
 
4515
- add(new HolidayEvent(new HDate$1(HDate$1.dayOnOrBefore(SAT$1, 7 + RH.abs())), 'Shabbat Shuva', SPECIAL_SHABBAT$1));
4534
+ add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, 7 + RH.abs())), 'Shabbat Shuva', SPECIAL_SHABBAT$1));
4516
4535
  addEvents(year, [[10, TISHREI$1, 'Yom Kippur', CHAG | YOM_TOV_ENDS$1 | MAJOR_FAST$1, {
4517
4536
  emoji: '📖✍️'
4518
4537
  }], [14, TISHREI$1, 'Erev Sukkot', EREV$1 | LIGHT_CANDLES$1], // Attributes for Israel and Diaspora are different
@@ -4538,37 +4557,37 @@ function getHolidaysForYear(year) {
4538
4557
  cholHaMoedDay: -1
4539
4558
  }], [22, TISHREI$1, 'Shmini Atzeret', CHAG | LIGHT_CANDLES_TZEIS$1 | CHUL_ONLY$1], // [22, TISHREI, "Shmini Atzeret / Simchat Torah", YOM_TOV_ENDS | IL_ONLY],
4540
4559
  [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]]);
4541
- add(new HolidayEvent(new HDate$1(24, KISLEV$1, year), 'Chanukah: 1 Candle', EREV$1 | MINOR_HOLIDAY$1 | CHANUKAH_CANDLES$1, {
4560
+ add(new HolidayEvent(new HDate(24, KISLEV$1, year), 'Chanukah: 1 Candle', EREV$1 | MINOR_HOLIDAY$1 | CHANUKAH_CANDLES$1, {
4542
4561
  emoji: chanukahEmoji + KEYCAP_DIGITS[1]
4543
4562
  })); // yes, we know Kislev 30-32 are wrong
4544
4563
  // HDate() corrects the month automatically
4545
4564
 
4546
4565
  for (let candles = 2; candles <= 8; candles++) {
4547
- const hd = new HDate$1(23 + candles, KISLEV$1, year);
4566
+ const hd = new HDate(23 + candles, KISLEV$1, year);
4548
4567
  add(new HolidayEvent(hd, `Chanukah: ${candles} Candles`, MINOR_HOLIDAY$1 | CHANUKAH_CANDLES$1, {
4549
4568
  chanukahDay: candles - 1,
4550
4569
  emoji: chanukahEmoji + KEYCAP_DIGITS[candles]
4551
4570
  }));
4552
4571
  }
4553
4572
 
4554
- add(new HolidayEvent(new HDate$1(32, KISLEV$1, year), 'Chanukah: 8th Day', MINOR_HOLIDAY$1, {
4573
+ add(new HolidayEvent(new HDate(32, KISLEV$1, year), 'Chanukah: 8th Day', MINOR_HOLIDAY$1, {
4555
4574
  chanukahDay: 8,
4556
4575
  emoji: chanukahEmoji
4557
4576
  }));
4558
- 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, {
4577
+ 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, {
4559
4578
  emoji: '🌳'
4560
4579
  }));
4561
4580
  const pesachAbs = pesach.abs();
4562
- 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));
4581
+ 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));
4563
4582
  addEvents(year, [[13, ADAR_II$1, 'Erev Purim', EREV$1 | MINOR_HOLIDAY$1, {
4564
4583
  emoji: '🎭️📜'
4565
4584
  }], [14, ADAR_II$1, 'Purim', MINOR_HOLIDAY$1, {
4566
4585
  emoji: '🎭️📜'
4567
4586
  }]]);
4568
- add(new HolidayEvent(new HDate$1(pesachAbs - (pesach.getDay() == SUN ? 28 : 29)), 'Shushan Purim', MINOR_HOLIDAY$1, {
4587
+ add(new HolidayEvent(new HDate(pesachAbs - (pesach.getDay() == SUN ? 28 : 29)), 'Shushan Purim', MINOR_HOLIDAY$1, {
4569
4588
  emoji: '🎭️📜'
4570
- }), 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
4571
- pesach.prev().getDay() == SAT$1 ? pesach.onOrBefore(THU) : new HDate$1(14, NISAN$1, year), 'Ta\'anit Bechorot', MINOR_FAST$1));
4589
+ }), 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
4590
+ pesach.prev().getDay() == SAT$1 ? pesach.onOrBefore(THU) : new HDate(14, NISAN$1, year), 'Ta\'anit Bechorot', MINOR_FAST$1));
4572
4591
  addEvents(year, [[14, NISAN$1, 'Erev Pesach', EREV$1 | LIGHT_CANDLES$1], // Attributes for Israel and Diaspora are different
4573
4592
  [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, {
4574
4593
  cholHaMoedDay: 1
@@ -4603,22 +4622,22 @@ function getHolidaysForYear(year) {
4603
4622
  }], [1, ELUL$1, 'Rosh Hashana LaBehemot', MINOR_HOLIDAY$1, {
4604
4623
  emoji: '🐑'
4605
4624
  }]]);
4606
- 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, {
4625
+ add(new HolidayEvent(new HDate(HDate.dayOnOrBefore(SAT$1, new HDate(1, TISHREI$1, year + 1).abs() - 4)), 'Leil Selichot', MINOR_HOLIDAY$1, {
4607
4626
  emoji: '🕍'
4608
4627
  }));
4609
- add(new HolidayEvent(new HDate$1(29, ELUL$1, year), 'Erev Rosh Hashana', EREV$1 | LIGHT_CANDLES$1, {
4628
+ add(new HolidayEvent(new HDate(29, ELUL$1, year), 'Erev Rosh Hashana', EREV$1 | LIGHT_CANDLES$1, {
4610
4629
  emoji: '🍏🍯'
4611
4630
  }));
4612
4631
 
4613
- if (HDate$1.isLeapYear(year)) {
4614
- add(new HolidayEvent(new HDate$1(14, ADAR_I$1, year), 'Purim Katan', MINOR_HOLIDAY$1, {
4632
+ if (HDate.isLeapYear(year)) {
4633
+ add(new HolidayEvent(new HDate(14, ADAR_I$1, year), 'Purim Katan', MINOR_HOLIDAY$1, {
4615
4634
  emoji: '🎭️'
4616
4635
  }));
4617
4636
  }
4618
4637
 
4619
4638
  if (year >= 5711) {
4620
4639
  // Yom HaShoah first observed in 1951
4621
- let nisan27dt = new HDate$1(27, NISAN$1, year);
4640
+ let nisan27dt = new HDate(27, NISAN$1, year);
4622
4641
  /* When the actual date of Yom Hashoah falls on a Friday, the
4623
4642
  * state of Israel observes Yom Hashoah on the preceding
4624
4643
  * Thursday. When it falls on a Sunday, Yom Hashoah is observed
@@ -4627,9 +4646,9 @@ function getHolidaysForYear(year) {
4627
4646
  */
4628
4647
 
4629
4648
  if (nisan27dt.getDay() == FRI$1) {
4630
- nisan27dt = new HDate$1(26, NISAN$1, year);
4649
+ nisan27dt = new HDate(26, NISAN$1, year);
4631
4650
  } else if (nisan27dt.getDay() == SUN) {
4632
- nisan27dt = new HDate$1(28, NISAN$1, year);
4651
+ nisan27dt = new HDate(28, NISAN$1, year);
4633
4652
  }
4634
4653
 
4635
4654
  add(new HolidayEvent(nisan27dt, 'Yom HaShoah', MODERN_HOLIDAY$1));
@@ -4651,34 +4670,34 @@ function getHolidaysForYear(year) {
4651
4670
  day = 4;
4652
4671
  }
4653
4672
 
4654
- 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));
4673
+ 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));
4655
4674
  }
4656
4675
 
4657
4676
  if (year >= 5727) {
4658
4677
  // Yom Yerushalayim only celebrated after 1967
4659
- add(new HolidayEvent(new HDate$1(28, IYYAR, year), 'Yom Yerushalayim', MODERN_HOLIDAY$1, emojiIsraelFlag));
4678
+ add(new HolidayEvent(new HDate(28, IYYAR, year), 'Yom Yerushalayim', MODERN_HOLIDAY$1, emojiIsraelFlag));
4660
4679
  }
4661
4680
 
4662
4681
  if (year >= 5769) {
4663
- add(new HolidayEvent(new HDate$1(29, CHESHVAN$1, year), 'Sigd', MODERN_HOLIDAY$1));
4682
+ add(new HolidayEvent(new HDate(29, CHESHVAN$1, year), 'Sigd', MODERN_HOLIDAY$1));
4664
4683
  }
4665
4684
 
4666
4685
  if (year >= 5777) {
4667
- 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));
4686
+ 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));
4668
4687
  }
4669
4688
 
4670
- let tamuz17 = new HDate$1(17, TAMUZ, year);
4689
+ let tamuz17 = new HDate(17, TAMUZ, year);
4671
4690
  let tamuz17attrs;
4672
4691
 
4673
4692
  if (tamuz17.getDay() == SAT$1) {
4674
- tamuz17 = new HDate$1(18, TAMUZ, year);
4693
+ tamuz17 = new HDate(18, TAMUZ, year);
4675
4694
  tamuz17attrs = {
4676
4695
  observed: true
4677
4696
  };
4678
4697
  }
4679
4698
 
4680
4699
  add(new HolidayEvent(tamuz17, 'Tzom Tammuz', MINOR_FAST$1, tamuz17attrs));
4681
- let av9dt = new HDate$1(9, AV, year);
4700
+ let av9dt = new HDate(9, AV, year);
4682
4701
  let av9title = 'Tish\'a B\'Av';
4683
4702
  let av9attrs;
4684
4703
 
@@ -4691,17 +4710,17 @@ function getHolidaysForYear(year) {
4691
4710
  }
4692
4711
 
4693
4712
  const av9abs = av9dt.abs();
4694
- 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));
4695
- const monthsInYear = HDate$1.monthsInYear(year);
4713
+ 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));
4714
+ const monthsInYear = HDate.monthsInYear(year);
4696
4715
 
4697
4716
  for (let month = 1; month <= monthsInYear; month++) {
4698
- const monthName = HDate$1.getMonthName(month, year);
4717
+ const monthName = HDate.getMonthName(month, year);
4699
4718
 
4700
- if ((month == NISAN$1 ? HDate$1.daysInMonth(HDate$1.monthsInYear(year - 1), year - 1) : HDate$1.daysInMonth(month - 1, year)) == 30) {
4701
- add(new RoshChodeshEvent(new HDate$1(1, month, year), monthName));
4702
- add(new RoshChodeshEvent(new HDate$1(30, month - 1, year), monthName));
4719
+ if ((month == NISAN$1 ? HDate.daysInMonth(HDate.monthsInYear(year - 1), year - 1) : HDate.daysInMonth(month - 1, year)) == 30) {
4720
+ add(new RoshChodeshEvent(new HDate(1, month, year), monthName));
4721
+ add(new RoshChodeshEvent(new HDate(30, month - 1, year), monthName));
4703
4722
  } else if (month !== TISHREI$1) {
4704
- add(new RoshChodeshEvent(new HDate$1(1, month, year), monthName));
4723
+ add(new RoshChodeshEvent(new HDate(1, month, year), monthName));
4705
4724
  }
4706
4725
 
4707
4726
  if (month == ELUL$1) {
@@ -4709,8 +4728,8 @@ function getHolidaysForYear(year) {
4709
4728
  } // Don't worry about month overrun; will get "Nisan" for month=14
4710
4729
 
4711
4730
 
4712
- const nextMonthName = HDate$1.getMonthName(month + 1, year);
4713
- add(new MevarchimChodeshEvent(new HDate$1(29, month, year).onOrBefore(SAT$1), nextMonthName));
4731
+ const nextMonthName = HDate.getMonthName(month + 1, year);
4732
+ add(new MevarchimChodeshEvent(new HDate(29, month, year).onOrBefore(SAT$1), nextMonthName));
4714
4733
  }
4715
4734
 
4716
4735
  const sedra = getSedra(year, false);
@@ -4720,14 +4739,172 @@ function getHolidaysForYear(year) {
4720
4739
  return h;
4721
4740
  }
4722
4741
 
4723
- var version="3.31.3";
4742
+ 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]}];
4743
+
4744
+ const cycleStartDate = new Date(1947, 4, 20);
4745
+ const mishnaYomiStart = greg.greg2abs(cycleStartDate);
4746
+ const numMishnayot = 4192;
4747
+ const numDays = numMishnayot / 2;
4748
+ /**
4749
+ * Describes a mishna to be read
4750
+ * @typedef {Object} MishnaYomi
4751
+ * @property {string} k tractate name in Sephardic transliteration (e.g. "Berakhot", "Moed Katan")
4752
+ * @property {string} v verse (e.g. "2:1")
4753
+ */
4754
+ // eslint-disable-next-line require-jsdoc
4755
+
4756
+ function throwTypeError(msg) {
4757
+ throw new TypeError(msg);
4758
+ }
4759
+ /**
4760
+ * A program of daily learning in which participants study two Mishnahs
4761
+ * each day in order to finish the entire Mishnah in ~6 years.
4762
+ */
4763
+
4764
+
4765
+ class MishnaYomiIndex {
4766
+ /**
4767
+ * Initializes a Mishna Yomi instance
4768
+ */
4769
+ constructor() {
4770
+ const tmp = Array(numMishnayot);
4771
+ let i = 0;
4772
+
4773
+ for (const tractate of mishnayot) {
4774
+ const v = tractate.v;
4775
+
4776
+ for (let chap = 1; chap <= v.length; chap++) {
4777
+ const numv = v[chap - 1];
4778
+
4779
+ for (let verse = 1; verse <= numv; verse++) {
4780
+ tmp[i++] = {
4781
+ k: tractate.k,
4782
+ v: `${chap}:${verse}`
4783
+ };
4784
+ }
4785
+ }
4786
+ }
4787
+
4788
+ const days = Array(numDays);
4789
+
4790
+ for (let j = 0; j < numDays; j++) {
4791
+ const k = j * 2;
4792
+ days[j] = [tmp[k], tmp[k + 1]];
4793
+ }
4794
+ /** @type {MishnaYomi[]} */
4795
+
4796
+
4797
+ this.days = days;
4798
+ }
4799
+ /**
4800
+ * Looks up a Mishna Yomi
4801
+ * @param {Date|HDate|number} date Gregorian date
4802
+ * @return {MishnaYomi[]}
4803
+ */
4804
+
4805
+
4806
+ lookup(date) {
4807
+ const abs = typeof date === 'number' && !isNaN(date) ? date : greg.isDate(date) ? greg.greg2abs(date) : HDate.isHDate(date) ? date.abs() : throwTypeError(`Invalid date: ${date}`);
4808
+
4809
+ if (abs < mishnaYomiStart) {
4810
+ const s = date.toISOString().substring(0, 10);
4811
+ throw new RangeError(`Date ${s} too early; Mishna Yomi cycle began on 1947-05-20`);
4812
+ }
4813
+
4814
+ const dayNum = (abs - mishnaYomiStart) % numDays;
4815
+ return this.days[dayNum];
4816
+ }
4817
+
4818
+ }
4819
+
4820
+ /**
4821
+ * @private
4822
+ * @param {MishnaYomi[]} mishnaYomi
4823
+ * @param {string} locale
4824
+ * @return {string}
4825
+ */
4826
+
4827
+ function formatMyomi(mishnaYomi, locale) {
4828
+ const k1 = mishnaYomi[0].k;
4829
+ const cv1 = mishnaYomi[0].v;
4830
+ const mishna1 = Locale.gettext(k1, locale) + ' ' + cv1;
4831
+ const k2 = mishnaYomi[1].k;
4832
+ const cv2 = mishnaYomi[1].v;
4833
+
4834
+ if (k1 !== k2) {
4835
+ return mishna1 + '-' + Locale.gettext(k2, locale) + ' ' + cv2;
4836
+ }
4837
+
4838
+ const p1 = cv1.split(':');
4839
+ const p2 = cv2.split(':');
4840
+
4841
+ if (p1[0] === p2[0]) {
4842
+ return mishna1 + '-' + p2[1];
4843
+ }
4844
+
4845
+ return mishna1 + '-' + cv2;
4846
+ }
4847
+ /**
4848
+ * Event wrapper around a Mishna Yomi instance
4849
+ */
4850
+
4724
4851
 
4725
- 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};
4852
+ class MishnaYomiEvent extends Event {
4853
+ /**
4854
+ * @param {HDate} date
4855
+ * @param {MishnaYomi[]} mishnaYomi
4856
+ */
4857
+ constructor(date, mishnaYomi) {
4858
+ super(date, formatMyomi(mishnaYomi, null), flags.MISHNA_YOMI, {
4859
+ mishnaYomi
4860
+ });
4861
+ }
4862
+ /**
4863
+ * Returns Mishna Yomi name (e.g. "Bava Metzia 10:5-6" or "Berakhot 9:5-Peah 1:1").
4864
+ * @param {string} [locale] Optional locale name (defaults to active locale).
4865
+ * @return {string}
4866
+ */
4867
+
4868
+
4869
+ render(locale) {
4870
+ return formatMyomi(this.mishnaYomi, locale);
4871
+ }
4872
+ /**
4873
+ * Returns a link to sefaria.org
4874
+ * @return {string}
4875
+ */
4876
+
4877
+
4878
+ url() {
4879
+ const mishnaYomi = this.mishnaYomi;
4880
+ const k1 = mishnaYomi[0].k;
4881
+ const mishna = k1 === 'Avot' ? 'Pirkei' : 'Mishnah';
4882
+ const name = k1.replace(/ /g, '_');
4883
+ const prefix = `https://www.sefaria.org/${mishna}_${name}`;
4884
+ const cv1 = mishnaYomi[0].v;
4885
+
4886
+ if (k1 !== mishnaYomi[1].k) {
4887
+ return `${prefix}.${cv1}?lang=bi`;
4888
+ }
4889
+
4890
+ const cv2 = mishnaYomi[1].v;
4891
+ const p1 = cv1.split(':');
4892
+ const p2 = cv2.split(':');
4893
+ const verse1 = p1.join('.');
4894
+ const verse2 = p1[0] === p2[0] ? p2[1] : p2.join('.');
4895
+ return `${prefix}.${verse1}-${verse2}?lang=bi`;
4896
+ }
4897
+
4898
+ }
4899
+
4900
+ var version="3.33.1";
4901
+
4902
+ 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};
4726
4903
 
4727
4904
  Locale.addLocale('ashkenazi', poAshkenazi);
4728
4905
  Locale.addLocale('a', poAshkenazi);
4729
4906
 
4730
- 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 8":["חֲנוּכָּה יוֹם ח׳"]}};var poHe = {headers:headers,contexts:contexts};
4907
+ 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};
4731
4908
 
4732
4909
  Locale.addLocale('he', poHe);
4733
4910
  Locale.addLocale('h', poHe);
@@ -4823,6 +5000,7 @@ const RECOGNIZED_OPTIONS = {
4823
5000
  noSpecialShabbat: 1,
4824
5001
  noHolidays: 1,
4825
5002
  dafyomi: 1,
5003
+ mishnaYomi: 1,
4826
5004
  omer: 1,
4827
5005
  molad: 1,
4828
5006
  ashkenazi: 1,
@@ -4923,6 +5101,7 @@ function checkCandleOptions(options) {
4923
5101
  * @property {boolean} noSpecialShabbat - suppress Special Shabbat
4924
5102
  * @property {boolean} noHolidays - suppress regular holidays
4925
5103
  * @property {boolean} dafyomi - include Daf Yomi
5104
+ * @property {boolean} mishnaYomi - include Mishna Yomi
4926
5105
  * @property {boolean} omer - include Days of the Omer
4927
5106
  * @property {boolean} molad - include event announcing the molad
4928
5107
  * @property {boolean} ashkenazi - use Ashkenazi transliterations for event titles (default Sephardi transliterations)
@@ -4946,7 +5125,7 @@ function checkCandleOptions(options) {
4946
5125
  function getAbs(d) {
4947
5126
  if (typeof d == 'number') return d;
4948
5127
  if (greg.isDate(d)) return greg.greg2abs(d);
4949
- if (HDate$1.isHDate(d)) return d.abs();
5128
+ if (HDate.isHDate(d)) return d.abs();
4950
5129
  throw new TypeError(`Invalid date type: ${d}`);
4951
5130
  }
4952
5131
  /**
@@ -4965,7 +5144,7 @@ function getStartAndEnd(options) {
4965
5144
  }
4966
5145
 
4967
5146
  const isHebrewYear = Boolean(options.isHebrewYear);
4968
- const theYear = typeof options.year !== 'undefined' ? parseInt(options.year, 10) : isHebrewYear ? new HDate$1().getFullYear() : new Date().getFullYear();
5147
+ const theYear = typeof options.year !== 'undefined' ? parseInt(options.year, 10) : isHebrewYear ? new HDate().getFullYear() : new Date().getFullYear();
4969
5148
 
4970
5149
  if (isNaN(theYear)) {
4971
5150
  throw new RangeError(`Invalid year ${options.year}`);
@@ -4979,7 +5158,7 @@ function getStartAndEnd(options) {
4979
5158
 
4980
5159
  if (options.month) {
4981
5160
  if (isHebrewYear) {
4982
- theMonth = HDate$1.monthNum(options.month);
5161
+ theMonth = HDate.monthNum(options.month);
4983
5162
  } else {
4984
5163
  theMonth = options.month;
4985
5164
  }
@@ -4988,9 +5167,9 @@ function getStartAndEnd(options) {
4988
5167
  const numYears = parseInt(options.numYears, 10) || 1;
4989
5168
 
4990
5169
  if (isHebrewYear) {
4991
- const startDate = new HDate$1(1, theMonth || TISHREI, theYear);
5170
+ const startDate = new HDate(1, theMonth || TISHREI, theYear);
4992
5171
  let startAbs = startDate.abs();
4993
- 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
5172
+ 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
4994
5173
  // is technically in the previous Hebrew year
4995
5174
  // (but conveniently lets us get candle-lighting time for Erev)
4996
5175
 
@@ -5044,6 +5223,7 @@ function getMaskFromOptions(options) {
5044
5223
  if (m & DAF_YOMI) options.dafyomi = true;
5045
5224
  if (m & OMER_COUNT) options.omer = true;
5046
5225
  if (m & SHABBAT_MEVARCHIM) options.shabbatMevarchim = true;
5226
+ if (m & flags.MISHNA_YOMI) options.mishnaYomi = true;
5047
5227
  options.userMask = true;
5048
5228
  return m;
5049
5229
  }
@@ -5092,6 +5272,10 @@ function getMaskFromOptions(options) {
5092
5272
  mask |= DAF_YOMI;
5093
5273
  }
5094
5274
 
5275
+ if (options.mishnaYomi) {
5276
+ mask |= flags.MISHNA_YOMI;
5277
+ }
5278
+
5095
5279
  if (options.omer) {
5096
5280
  mask |= OMER_COUNT;
5097
5281
  }
@@ -5105,6 +5289,7 @@ function getMaskFromOptions(options) {
5105
5289
 
5106
5290
  const MASK_LIGHT_CANDLES = LIGHT_CANDLES | LIGHT_CANDLES_TZEIS | CHANUKAH_CANDLES | YOM_TOV_ENDS;
5107
5291
  /**
5292
+ * @namespace
5108
5293
  * HebrewCalendar is the main interface to the `@hebcal/core` library.
5109
5294
  * This namespace is used to calculate holidays, rosh chodesh, candle lighting & havdalah times,
5110
5295
  * Parashat HaShavua, Daf Yomi, days of the omer, and the molad.
@@ -5147,6 +5332,7 @@ const HebrewCalendar = {
5147
5332
  * * Parashat HaShavua - weekly Torah Reading on Saturdays (`options.sedrot`)
5148
5333
  * * Counting of the Omer (`options.omer`)
5149
5334
  * * Daf Yomi (`options.dafyomi`)
5335
+ * * Mishna Yomi (`options.mishnaYomi`)
5150
5336
  * * Shabbat Mevarchim HaChodesh on Saturday before Rosh Chodesh (`options.shabbatMevarchim`)
5151
5337
  * * Molad announcement on Saturday before Rosh Chodesh (`options.molad`)
5152
5338
  *
@@ -5253,8 +5439,14 @@ const HebrewCalendar = {
5253
5439
  options.candlelighting = false;
5254
5440
  }
5255
5441
 
5442
+ let mishnaYomiIndex;
5443
+
5444
+ if (options.mishnaYomi) {
5445
+ mishnaYomiIndex = new MishnaYomiIndex();
5446
+ }
5447
+
5256
5448
  for (let abs = startAbs; abs <= endAbs; abs++) {
5257
- const hd = new HDate$1(abs);
5449
+ const hd = new HDate(abs);
5258
5450
  const hyear = hd.getFullYear();
5259
5451
 
5260
5452
  if (hyear != currentYear) {
@@ -5266,8 +5458,8 @@ const HebrewCalendar = {
5266
5458
  }
5267
5459
 
5268
5460
  if (options.omer) {
5269
- beginOmer = HDate$1.hebrew2abs(currentYear, NISAN, 16);
5270
- endOmer = HDate$1.hebrew2abs(currentYear, SIVAN, 5);
5461
+ beginOmer = HDate.hebrew2abs(currentYear, NISAN, 16);
5462
+ endOmer = HDate.hebrew2abs(currentYear, SIVAN, 5);
5271
5463
  }
5272
5464
  }
5273
5465
 
@@ -5291,6 +5483,11 @@ const HebrewCalendar = {
5291
5483
  evts.push(new DafYomiEvent(hd));
5292
5484
  }
5293
5485
 
5486
+ if (options.mishnaYomi && abs >= mishnaYomiStart) {
5487
+ const mishnaYomi = mishnaYomiIndex.lookup(abs);
5488
+ evts.push(new MishnaYomiEvent(hd, mishnaYomi));
5489
+ }
5490
+
5294
5491
  if (options.omer && abs >= beginOmer && abs <= endOmer) {
5295
5492
  const omer = abs - beginOmer + 1;
5296
5493
  evts.push(new OmerEvent(hd, omer));
@@ -5299,7 +5496,7 @@ const HebrewCalendar = {
5299
5496
  const hmonth = hd.getMonth();
5300
5497
 
5301
5498
  if (options.molad && dow == SAT && hmonth != ELUL && hd.getDate() >= 23 && hd.getDate() <= 29) {
5302
- const monNext = hmonth == HDate$1.monthsInYear(hyear) ? NISAN : hmonth + 1;
5499
+ const monNext = hmonth == HDate.monthsInYear(hyear) ? NISAN : hmonth + 1;
5303
5500
  evts.push(new MoladEvent(hd, hyear, monNext));
5304
5501
  }
5305
5502
 
@@ -5361,7 +5558,7 @@ const HebrewCalendar = {
5361
5558
  * @return {HDate} anniversary occurring in `hyear`
5362
5559
  */
5363
5560
  getBirthdayOrAnniversary: function (hyear, gdate) {
5364
- const orig = HDate$1.isHDate(gdate) ? gdate : new HDate$1(gdate);
5561
+ const orig = HDate.isHDate(gdate) ? gdate : new HDate(gdate);
5365
5562
  const origYear = orig.getFullYear();
5366
5563
 
5367
5564
  if (hyear <= origYear) {
@@ -5369,24 +5566,24 @@ const HebrewCalendar = {
5369
5566
  return undefined;
5370
5567
  }
5371
5568
 
5372
- const isOrigLeap = HDate$1.isLeapYear(origYear);
5569
+ const isOrigLeap = HDate.isLeapYear(origYear);
5373
5570
  let month = orig.getMonth();
5374
5571
  let day = orig.getDate();
5375
5572
 
5376
5573
  if (month == ADAR_I && !isOrigLeap || month == ADAR_II && isOrigLeap) {
5377
- month = HDate$1.monthsInYear(hyear);
5378
- } else if (month == CHESHVAN && day == 30 && !HDate$1.longCheshvan(hyear)) {
5574
+ month = HDate.monthsInYear(hyear);
5575
+ } else if (month == CHESHVAN && day == 30 && !HDate.longCheshvan(hyear)) {
5379
5576
  month = KISLEV;
5380
5577
  day = 1;
5381
- } else if (month == KISLEV && day == 30 && HDate$1.shortKislev(hyear)) {
5578
+ } else if (month == KISLEV && day == 30 && HDate.shortKislev(hyear)) {
5382
5579
  month = TEVET;
5383
5580
  day = 1;
5384
- } else if (month == ADAR_I && day == 30 && isOrigLeap && !HDate$1.isLeapYear(hyear)) {
5581
+ } else if (month == ADAR_I && day == 30 && isOrigLeap && !HDate.isLeapYear(hyear)) {
5385
5582
  month = NISAN;
5386
5583
  day = 1;
5387
5584
  }
5388
5585
 
5389
- return new HDate$1(day, month, hyear);
5586
+ return new HDate(day, month, hyear);
5390
5587
  },
5391
5588
 
5392
5589
  /**
@@ -5424,7 +5621,7 @@ const HebrewCalendar = {
5424
5621
  * @return {HDate} anniversary occurring in hyear
5425
5622
  */
5426
5623
  getYahrzeit: function (hyear, gdate) {
5427
- const orig = HDate$1.isHDate(gdate) ? gdate : new HDate$1(gdate);
5624
+ const orig = HDate.isHDate(gdate) ? gdate : new HDate(gdate);
5428
5625
  let hDeath = {
5429
5626
  yy: orig.getFullYear(),
5430
5627
  mm: orig.getMonth(),
@@ -5436,18 +5633,18 @@ const HebrewCalendar = {
5436
5633
  return undefined;
5437
5634
  }
5438
5635
 
5439
- if (hDeath.mm == CHESHVAN && hDeath.dd == 30 && !HDate$1.longCheshvan(hDeath.yy + 1)) {
5636
+ if (hDeath.mm == CHESHVAN && hDeath.dd == 30 && !HDate.longCheshvan(hDeath.yy + 1)) {
5440
5637
  // If it's Heshvan 30 it depends on the first anniversary;
5441
5638
  // if that was not Heshvan 30, use the day before Kislev 1.
5442
- hDeath = HDate$1.abs2hebrew(HDate$1.hebrew2abs(hyear, KISLEV, 1) - 1);
5443
- } else if (hDeath.mm == KISLEV && hDeath.dd == 30 && HDate$1.shortKislev(hDeath.yy + 1)) {
5639
+ hDeath = HDate.abs2hebrew(HDate.hebrew2abs(hyear, KISLEV, 1) - 1);
5640
+ } else if (hDeath.mm == KISLEV && hDeath.dd == 30 && HDate.shortKislev(hDeath.yy + 1)) {
5444
5641
  // If it's Kislev 30 it depends on the first anniversary;
5445
5642
  // if that was not Kislev 30, use the day before Teveth 1.
5446
- hDeath = HDate$1.abs2hebrew(HDate$1.hebrew2abs(hyear, TEVET, 1) - 1);
5643
+ hDeath = HDate.abs2hebrew(HDate.hebrew2abs(hyear, TEVET, 1) - 1);
5447
5644
  } else if (hDeath.mm == ADAR_II) {
5448
5645
  // If it's Adar II, use the same day in last month of year (Adar or Adar II).
5449
- hDeath.mm = HDate$1.monthsInYear(hyear);
5450
- } else if (hDeath.mm == ADAR_I && hDeath.dd == 30 && !HDate$1.isLeapYear(hyear)) {
5646
+ hDeath.mm = HDate.monthsInYear(hyear);
5647
+ } else if (hDeath.mm == ADAR_I && hDeath.dd == 30 && !HDate.isLeapYear(hyear)) {
5451
5648
  // If it's the 30th in Adar I and year is not a leap year
5452
5649
  // (so Adar has only 29 days), use the last day in Shevat.
5453
5650
  hDeath.dd = 30;
@@ -5456,15 +5653,15 @@ const HebrewCalendar = {
5456
5653
  // advance day to rosh chodesh if needed
5457
5654
 
5458
5655
 
5459
- if (hDeath.mm == CHESHVAN && hDeath.dd == 30 && !HDate$1.longCheshvan(hyear)) {
5656
+ if (hDeath.mm == CHESHVAN && hDeath.dd == 30 && !HDate.longCheshvan(hyear)) {
5460
5657
  hDeath.mm = KISLEV;
5461
5658
  hDeath.dd = 1;
5462
- } else if (hDeath.mm == KISLEV && hDeath.dd == 30 && HDate$1.shortKislev(hyear)) {
5659
+ } else if (hDeath.mm == KISLEV && hDeath.dd == 30 && HDate.shortKislev(hyear)) {
5463
5660
  hDeath.mm = TEVET;
5464
5661
  hDeath.dd = 1;
5465
5662
  }
5466
5663
 
5467
- return new HDate$1(hDeath.dd, hDeath.mm, hyear);
5664
+ return new HDate(hDeath.dd, hDeath.mm, hyear);
5468
5665
  },
5469
5666
 
5470
5667
  /**
@@ -5485,12 +5682,12 @@ const HebrewCalendar = {
5485
5682
  */
5486
5683
  getHolidaysForYearArray: function (year, il) {
5487
5684
  const yearMap = HebrewCalendar.getHolidaysForYear(year);
5488
- const startAbs = HDate$1.hebrew2abs(year, TISHREI, 1);
5489
- const endAbs = HDate$1.hebrew2abs(year + 1, TISHREI, 1) - 1;
5685
+ const startAbs = HDate.hebrew2abs(year, TISHREI, 1);
5686
+ const endAbs = HDate.hebrew2abs(year + 1, TISHREI, 1) - 1;
5490
5687
  const events = [];
5491
5688
 
5492
5689
  for (let absDt = startAbs; absDt <= endAbs; absDt++) {
5493
- const hd = new HDate$1(absDt);
5690
+ const hd = new HDate(absDt);
5494
5691
  const holidays = yearMap.get(hd.toString());
5495
5692
 
5496
5693
  if (holidays) {
@@ -5509,7 +5706,7 @@ const HebrewCalendar = {
5509
5706
  * @return {Event[]}
5510
5707
  */
5511
5708
  getHolidaysOnDate: function (date, il) {
5512
- const hd = HDate$1.isHDate(date) ? date : new HDate$1(date);
5709
+ const hd = HDate.isHDate(date) ? date : new HDate(date);
5513
5710
  const yearMap = HebrewCalendar.getHolidaysForYear(hd.getFullYear());
5514
5711
  const events = yearMap.get(hd.toString());
5515
5712
 
@@ -5644,7 +5841,7 @@ exports.CandleLightingEvent = CandleLightingEvent;
5644
5841
  exports.DafYomi = DafYomi;
5645
5842
  exports.DafYomiEvent = DafYomiEvent;
5646
5843
  exports.Event = Event;
5647
- exports.HDate = HDate$1;
5844
+ exports.HDate = HDate;
5648
5845
  exports.HavdalahEvent = HavdalahEvent;
5649
5846
  exports.HebrewCalendar = HebrewCalendar;
5650
5847
  exports.HebrewDateEvent = HebrewDateEvent;
@@ -5652,6 +5849,8 @@ exports.HolidayEvent = HolidayEvent;
5652
5849
  exports.Locale = Locale;
5653
5850
  exports.Location = Location;
5654
5851
  exports.MevarchimChodeshEvent = MevarchimChodeshEvent;
5852
+ exports.MishnaYomiEvent = MishnaYomiEvent;
5853
+ exports.MishnaYomiIndex = MishnaYomiIndex;
5655
5854
  exports.Molad = Molad;
5656
5855
  exports.MoladEvent = MoladEvent;
5657
5856
  exports.OmerEvent = OmerEvent;