@hebcal/rest-api 3.8.5 → 3.10.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/README.md +31 -1
- package/dist/bundle.js +77 -21
- package/dist/bundle.min.js +2 -2
- package/dist/index.js +63 -16
- package/dist/index.mjs +62 -17
- package/package.json +10 -10
- package/rest-api.d.ts +5 -0
package/README.md
CHANGED
|
@@ -66,6 +66,9 @@ Converts to lowercase and replaces non-word characters with hyphen ('-')
|
|
|
66
66
|
<dt><a href="#makeTorahMemoText">makeTorahMemoText(ev, il)</a> ⇒ <code>string</code></dt>
|
|
67
67
|
<dd><p>Makes mulit-line text that summarizes Torah & Haftarah</p>
|
|
68
68
|
</dd>
|
|
69
|
+
<dt><a href="#appendIsraelAndTracking">appendIsraelAndTracking(url, il, utmSource, utmMedium, utmCampaign)</a> ⇒ <code>string</code></dt>
|
|
70
|
+
<dd><p>Appends utm_source and utm_medium parameters to a URL</p>
|
|
71
|
+
</dd>
|
|
69
72
|
<dt><a href="#eventToCsv">eventToCsv(e, options)</a> ⇒ <code>string</code></dt>
|
|
70
73
|
<dd><p>Renders an Event as a string</p>
|
|
71
74
|
</dd>
|
|
@@ -83,6 +86,8 @@ Converts to lowercase and replaces non-word characters with hyphen ('-')
|
|
|
83
86
|
<dd></dd>
|
|
84
87
|
<dt><a href="#eventsToRss">eventsToRss(events, location, mainUrl, selfUrl, [lang], [evPubDate])</a> ⇒ <code>string</code></dt>
|
|
85
88
|
<dd></dd>
|
|
89
|
+
<dt><a href="#eventsToRss2">eventsToRss2(events, options)</a> ⇒ <code>string</code></dt>
|
|
90
|
+
<dd></dd>
|
|
86
91
|
<dt><a href="#eventToRssItem">eventToRssItem(ev, evPubDate, lastBuildDate, dayFormat, location, mainUrl)</a> ⇒ <code>string</code></dt>
|
|
87
92
|
<dd></dd>
|
|
88
93
|
<dt><a href="#eventToFullCalendar">eventToFullCalendar(ev, tzid, il)</a> ⇒ <code>Object</code></dt>
|
|
@@ -231,6 +236,21 @@ Makes mulit-line text that summarizes Torah & Haftarah
|
|
|
231
236
|
| ev | <code>Event</code> |
|
|
232
237
|
| il | <code>boolean</code> |
|
|
233
238
|
|
|
239
|
+
<a name="appendIsraelAndTracking"></a>
|
|
240
|
+
|
|
241
|
+
## appendIsraelAndTracking(url, il, utmSource, utmMedium, utmCampaign) ⇒ <code>string</code>
|
|
242
|
+
Appends utm_source and utm_medium parameters to a URL
|
|
243
|
+
|
|
244
|
+
**Kind**: global function
|
|
245
|
+
|
|
246
|
+
| Param | Type |
|
|
247
|
+
| --- | --- |
|
|
248
|
+
| url | <code>string</code> |
|
|
249
|
+
| il | <code>boolean</code> |
|
|
250
|
+
| utmSource | <code>string</code> |
|
|
251
|
+
| utmMedium | <code>string</code> |
|
|
252
|
+
| utmCampaign | <code>string</code> |
|
|
253
|
+
|
|
234
254
|
<a name="eventToCsv"></a>
|
|
235
255
|
|
|
236
256
|
## eventToCsv(e, options) ⇒ <code>string</code>
|
|
@@ -241,7 +261,7 @@ Renders an Event as a string
|
|
|
241
261
|
| Param | Type |
|
|
242
262
|
| --- | --- |
|
|
243
263
|
| e | <code>Event</code> |
|
|
244
|
-
| options | <code>
|
|
264
|
+
| options | <code>HebrewCalendar.Options</code> |
|
|
245
265
|
|
|
246
266
|
<a name="eventsToCsv"></a>
|
|
247
267
|
|
|
@@ -312,6 +332,16 @@ Converts a Hebcal event to a classic Hebcal.com JSON API object
|
|
|
312
332
|
| [lang] | <code>string</code> | <code>"en-US"</code> | language such as 'he' (default 'en-US') |
|
|
313
333
|
| [evPubDate] | <code>boolean</code> | <code>true</code> | if true, use event time as pubDate (false uses lastBuildDate) |
|
|
314
334
|
|
|
335
|
+
<a name="eventsToRss2"></a>
|
|
336
|
+
|
|
337
|
+
## eventsToRss2(events, options) ⇒ <code>string</code>
|
|
338
|
+
**Kind**: global function
|
|
339
|
+
|
|
340
|
+
| Param | Type |
|
|
341
|
+
| --- | --- |
|
|
342
|
+
| events | <code>Array.<Event></code> |
|
|
343
|
+
| options | <code>HebrewCalendar.Options</code> |
|
|
344
|
+
|
|
315
345
|
<a name="eventToRssItem"></a>
|
|
316
346
|
|
|
317
347
|
## eventToRssItem(ev, evPubDate, lastBuildDate, dayFormat, location, mainUrl) ⇒ <code>string</code>
|
package/dist/bundle.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/rest-api v3.
|
|
1
|
+
/*! @hebcal/rest-api v3.10.0 */
|
|
2
2
|
var hebcal__rest_api = (function (exports, core, leyn) {
|
|
3
3
|
'use strict';
|
|
4
4
|
|
|
@@ -321,7 +321,7 @@ var store$2 = sharedStore;
|
|
|
321
321
|
(shared$4.exports = function (key, value) {
|
|
322
322
|
return store$2[key] || (store$2[key] = value !== undefined ? value : {});
|
|
323
323
|
})('versions', []).push({
|
|
324
|
-
version: '3.19.
|
|
324
|
+
version: '3.19.3',
|
|
325
325
|
mode: 'global',
|
|
326
326
|
copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
|
|
327
327
|
});
|
|
@@ -987,27 +987,37 @@ var regexpFlags$1 = function () {
|
|
|
987
987
|
return result;
|
|
988
988
|
};
|
|
989
989
|
|
|
990
|
-
var regexpStickyHelpers = {};
|
|
991
|
-
|
|
992
990
|
var fails$2 = fails$8;
|
|
993
991
|
var global$3 = global$q;
|
|
994
992
|
|
|
995
993
|
// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
|
|
996
994
|
var $RegExp$2 = global$3.RegExp;
|
|
997
995
|
|
|
998
|
-
|
|
996
|
+
var UNSUPPORTED_Y$1 = fails$2(function () {
|
|
999
997
|
var re = $RegExp$2('a', 'y');
|
|
1000
998
|
re.lastIndex = 2;
|
|
1001
999
|
return re.exec('abcd') != null;
|
|
1002
1000
|
});
|
|
1003
1001
|
|
|
1004
|
-
|
|
1002
|
+
// UC Browser bug
|
|
1003
|
+
// https://github.com/zloirock/core-js/issues/1008
|
|
1004
|
+
var MISSED_STICKY = UNSUPPORTED_Y$1 || fails$2(function () {
|
|
1005
|
+
return !$RegExp$2('a', 'y').sticky;
|
|
1006
|
+
});
|
|
1007
|
+
|
|
1008
|
+
var BROKEN_CARET = UNSUPPORTED_Y$1 || fails$2(function () {
|
|
1005
1009
|
// https://bugzilla.mozilla.org/show_bug.cgi?id=773687
|
|
1006
1010
|
var re = $RegExp$2('^r', 'gy');
|
|
1007
1011
|
re.lastIndex = 2;
|
|
1008
1012
|
return re.exec('str') != null;
|
|
1009
1013
|
});
|
|
1010
1014
|
|
|
1015
|
+
var regexpStickyHelpers = {
|
|
1016
|
+
BROKEN_CARET: BROKEN_CARET,
|
|
1017
|
+
MISSED_STICKY: MISSED_STICKY,
|
|
1018
|
+
UNSUPPORTED_Y: UNSUPPORTED_Y$1
|
|
1019
|
+
};
|
|
1020
|
+
|
|
1011
1021
|
var internalObjectKeys = objectKeysInternal;
|
|
1012
1022
|
var enumBugKeys$1 = enumBugKeys$3;
|
|
1013
1023
|
|
|
@@ -1178,7 +1188,7 @@ var UPDATES_LAST_INDEX_WRONG = (function () {
|
|
|
1178
1188
|
return re1.lastIndex !== 0 || re2.lastIndex !== 0;
|
|
1179
1189
|
})();
|
|
1180
1190
|
|
|
1181
|
-
var UNSUPPORTED_Y = stickyHelpers.
|
|
1191
|
+
var UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;
|
|
1182
1192
|
|
|
1183
1193
|
// nonparticipating capturing group, copied from es5-shim's String#split patch.
|
|
1184
1194
|
var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
|
|
@@ -1186,7 +1196,6 @@ var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
|
|
|
1186
1196
|
var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;
|
|
1187
1197
|
|
|
1188
1198
|
if (PATCH) {
|
|
1189
|
-
// eslint-disable-next-line max-statements -- TODO
|
|
1190
1199
|
patchedExec = function exec(string) {
|
|
1191
1200
|
var re = this;
|
|
1192
1201
|
var state = getInternalState(re);
|
|
@@ -1494,6 +1503,10 @@ function getCalendarTitle(events, options) {
|
|
|
1494
1503
|
title += ' Diaspora';
|
|
1495
1504
|
}
|
|
1496
1505
|
|
|
1506
|
+
if (options.subscribe == '1') {
|
|
1507
|
+
return title;
|
|
1508
|
+
}
|
|
1509
|
+
|
|
1497
1510
|
if (options.isHebrewYear || events.length == 0) {
|
|
1498
1511
|
title += ' ' + options.year;
|
|
1499
1512
|
} else {
|
|
@@ -1600,6 +1613,25 @@ function appendIsraelAndTracking(url, il, utmSource, utmMedium, utmCampaign) {
|
|
|
1600
1613
|
const campaign = utmCampaign ? "&utm_campaign=".concat(utmCampaign) : '';
|
|
1601
1614
|
return url + sep + utm + campaign;
|
|
1602
1615
|
}
|
|
1616
|
+
/**
|
|
1617
|
+
* @private
|
|
1618
|
+
* @param {Event} ev
|
|
1619
|
+
* @return {boolean}
|
|
1620
|
+
*/
|
|
1621
|
+
|
|
1622
|
+
function shouldRenderBrief(ev) {
|
|
1623
|
+
if (typeof ev.eventTime !== 'undefined') return true;
|
|
1624
|
+
const mask = ev.getFlags();
|
|
1625
|
+
|
|
1626
|
+
if (mask & core.flags.HEBREW_DATE) {
|
|
1627
|
+
const hd = ev.getDate();
|
|
1628
|
+
return hd.getDate() === 1 ? false : true;
|
|
1629
|
+
} else if (mask & core.flags.DAF_YOMI) {
|
|
1630
|
+
return true;
|
|
1631
|
+
} else {
|
|
1632
|
+
return false;
|
|
1633
|
+
}
|
|
1634
|
+
}
|
|
1603
1635
|
|
|
1604
1636
|
const csvHeader = '"Subject","Start Date","Start Time","End Date","End Time","All day event","Description","Show time as","Location"';
|
|
1605
1637
|
const CATEGORY = {
|
|
@@ -1616,7 +1648,7 @@ const CATEGORY = {
|
|
|
1616
1648
|
/**
|
|
1617
1649
|
* Renders an Event as a string
|
|
1618
1650
|
* @param {Event} e
|
|
1619
|
-
* @param {
|
|
1651
|
+
* @param {HebrewCalendar.Options} options
|
|
1620
1652
|
* @return {string}
|
|
1621
1653
|
*/
|
|
1622
1654
|
|
|
@@ -1631,7 +1663,7 @@ function eventToCsv(e, options) {
|
|
|
1631
1663
|
let endDate = '';
|
|
1632
1664
|
let allDay = '"true"';
|
|
1633
1665
|
const timed = Boolean(e.eventTime);
|
|
1634
|
-
let subj =
|
|
1666
|
+
let subj = shouldRenderBrief(e) ? e.renderBrief(options.locale) : e.render(options.locale);
|
|
1635
1667
|
|
|
1636
1668
|
if (e.eventTime) {
|
|
1637
1669
|
const timeStr = core.HebrewCalendar.reformatTimeStr(e.eventTimeStr, ' PM', options);
|
|
@@ -1675,7 +1707,7 @@ function eventToCsv(e, options) {
|
|
|
1675
1707
|
let memo0 = e.memo || getHolidayDescription(e, true);
|
|
1676
1708
|
|
|
1677
1709
|
if (!memo0 && typeof e.linkedEvent !== 'undefined') {
|
|
1678
|
-
memo0 = e.linkedEvent.render();
|
|
1710
|
+
memo0 = e.linkedEvent.render(options.locale);
|
|
1679
1711
|
}
|
|
1680
1712
|
|
|
1681
1713
|
const memo = memo0.replace(/,/g, ';').replace(/"/g, '\'\'');
|
|
@@ -1734,7 +1766,6 @@ function eventsToClassicApi(events, options) {
|
|
|
1734
1766
|
result.items = events.map(ev => eventToClassicApiObject(ev, options, leyning));
|
|
1735
1767
|
return result;
|
|
1736
1768
|
}
|
|
1737
|
-
const BRIEF_FLAGS$1 = core.flags.DAF_YOMI | core.flags.HEBREW_DATE;
|
|
1738
1769
|
/**
|
|
1739
1770
|
* Converts a Hebcal event to a classic Hebcal.com JSON API object
|
|
1740
1771
|
* @param {Event} ev
|
|
@@ -1752,7 +1783,7 @@ function eventToClassicApiObject(ev, options) {
|
|
|
1752
1783
|
const date = timed ? core.Zmanim.formatISOWithTimeZone(tzid, ev.eventTime) : toISOString(dt);
|
|
1753
1784
|
const categories = getEventCategories(ev);
|
|
1754
1785
|
const mask = ev.getFlags();
|
|
1755
|
-
let title =
|
|
1786
|
+
let title = shouldRenderBrief(ev) ? ev.renderBrief(options.locale) : ev.render(options.locale);
|
|
1756
1787
|
const desc = ev.getDesc();
|
|
1757
1788
|
const candles = desc === 'Havdalah' || desc === 'Candle lighting';
|
|
1758
1789
|
|
|
@@ -1930,18 +1961,42 @@ function eventsToRss(events, location, mainUrl, selfUrl) {
|
|
|
1930
1961
|
let lang = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 'en-US';
|
|
1931
1962
|
let evPubDate = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : true;
|
|
1932
1963
|
const cityDescr = location.getName();
|
|
1933
|
-
const
|
|
1934
|
-
|
|
1935
|
-
|
|
1964
|
+
const options = {
|
|
1965
|
+
location,
|
|
1966
|
+
mainUrl,
|
|
1967
|
+
selfUrl,
|
|
1968
|
+
lang,
|
|
1969
|
+
evPubDate,
|
|
1970
|
+
title: core.Locale.gettext('Shabbat') + " Times for ".concat(cityDescr),
|
|
1971
|
+
description: "Weekly Shabbat candle lighting times for ".concat(cityDescr),
|
|
1972
|
+
utmSource: 'shabbat1c',
|
|
1973
|
+
utmMedium: 'rss'
|
|
1974
|
+
};
|
|
1975
|
+
return eventsToRss2(events, options);
|
|
1976
|
+
}
|
|
1977
|
+
/**
|
|
1978
|
+
* @param {Event[]} events
|
|
1979
|
+
* @param {HebrewCalendar.Options} options
|
|
1980
|
+
* @return {string}
|
|
1981
|
+
*/
|
|
1982
|
+
|
|
1983
|
+
function eventsToRss2(events, options) {
|
|
1984
|
+
const now = new Date();
|
|
1985
|
+
const thisYear = now.getFullYear();
|
|
1986
|
+
const lastBuildDate = now.toUTCString();
|
|
1936
1987
|
const dayFormat = new Intl.DateTimeFormat('en-US', {
|
|
1937
1988
|
weekday: 'long',
|
|
1938
1989
|
day: '2-digit',
|
|
1939
1990
|
month: 'long',
|
|
1940
1991
|
year: 'numeric'
|
|
1941
1992
|
});
|
|
1942
|
-
const
|
|
1943
|
-
|
|
1944
|
-
|
|
1993
|
+
const location = options.location;
|
|
1994
|
+
const mainUrl = options.mainUrl;
|
|
1995
|
+
const evPubDate = options.evPubDate;
|
|
1996
|
+
const title = options.title;
|
|
1997
|
+
const mainUrlEsc = appendIsraelAndTracking(mainUrl, location && location.getIsrael(), options.utmSource, options.utmMedium, options.utmCampaign).replace(/&/g, '&');
|
|
1998
|
+
const selfUrlEsc = options.selfUrl.replace(/&/g, '&');
|
|
1999
|
+
let str = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<rss version=\"2.0\" xmlns:geo=\"http://www.w3.org/2003/01/geo/wgs84_pos#\" xmlns:atom=\"http://www.w3.org/2005/Atom\">\n<channel>\n<title>".concat(title, "</title>\n<link>").concat(mainUrlEsc, "</link>\n<atom:link href=\"").concat(selfUrlEsc, "\" rel=\"self\" type=\"application/rss+xml\" />\n<description>").concat(options.description, "</description>\n<language>").concat(options.lang, "</language>\n<copyright>Copyright (c) ").concat(thisYear, " Michael J. Radwin. All rights reserved.</copyright>\n<lastBuildDate>").concat(lastBuildDate, "</lastBuildDate>\n");
|
|
1945
2000
|
events.forEach(ev => {
|
|
1946
2001
|
str += eventToRssItem(ev, evPubDate, lastBuildDate, dayFormat, location, mainUrl);
|
|
1947
2002
|
});
|
|
@@ -2017,7 +2072,6 @@ function eventToRssItem(ev, evPubDate, lastBuildDate, dayFormat, location, mainU
|
|
|
2017
2072
|
return "<item>\n<title>".concat(subj, "</title>\n<link>").concat(link, "</link>\n<guid isPermaLink=\"false\">").concat(guid, "</guid>\n<description>").concat(description, "</description>\n<category>").concat(cat0, "</category>\n<pubDate>").concat(pubDate, "</pubDate>\n").concat(geoTags, "</item>\n");
|
|
2018
2073
|
}
|
|
2019
2074
|
|
|
2020
|
-
const BRIEF_FLAGS = core.flags.DAF_YOMI | core.flags.HEBREW_DATE;
|
|
2021
2075
|
/**
|
|
2022
2076
|
* Converts a Hebcal event to a FullCalendar.io object
|
|
2023
2077
|
* @param {Event} ev
|
|
@@ -2035,7 +2089,7 @@ function eventToFullCalendar(ev, tzid, il) {
|
|
|
2035
2089
|
}
|
|
2036
2090
|
|
|
2037
2091
|
const timed = Boolean(ev.eventTime);
|
|
2038
|
-
const title =
|
|
2092
|
+
const title = shouldRenderBrief(ev) ? ev.renderBrief() : ev.render();
|
|
2039
2093
|
const start = timed ? core.Zmanim.formatISOWithTimeZone(tzid, ev.eventTime) : toISOString(ev.getDate().greg());
|
|
2040
2094
|
const result = {
|
|
2041
2095
|
title,
|
|
@@ -2080,6 +2134,7 @@ exports.eventToRssItem = eventToRssItem;
|
|
|
2080
2134
|
exports.eventsToClassicApi = eventsToClassicApi;
|
|
2081
2135
|
exports.eventsToCsv = eventsToCsv;
|
|
2082
2136
|
exports.eventsToRss = eventsToRss;
|
|
2137
|
+
exports.eventsToRss2 = eventsToRss2;
|
|
2083
2138
|
exports.getCalendarTitle = getCalendarTitle;
|
|
2084
2139
|
exports.getDownloadFilename = getDownloadFilename;
|
|
2085
2140
|
exports.getEventCategories = getEventCategories;
|
|
@@ -2090,6 +2145,7 @@ exports.makeTorahMemoText = makeTorahMemoText;
|
|
|
2090
2145
|
exports.pad2 = pad2;
|
|
2091
2146
|
exports.pad4 = pad4;
|
|
2092
2147
|
exports.renderTitleWithoutTime = renderTitleWithoutTime;
|
|
2148
|
+
exports.shouldRenderBrief = shouldRenderBrief;
|
|
2093
2149
|
exports.timeZoneOffsetStr = timeZoneOffsetStr;
|
|
2094
2150
|
exports.toISOString = toISOString;
|
|
2095
2151
|
exports.toISOStringWithTimezone = toISOStringWithTimezone;
|
package/dist/bundle.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @hebcal/rest-api v3.
|
|
2
|
-
var hebcal__rest_api=function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var n=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,Object.freeze(t)}var r=n(hebcal__leyning),o="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},i=function(e){return e&&e.Math==Math&&e},s=i("object"==typeof globalThis&&globalThis)||i("object"==typeof window&&window)||i("object"==typeof self&&self)||i("object"==typeof o&&o)||function(){return this}()||Function("return this")(),h={},c=function(e){try{return!!e()}catch(e){return!0}},l=!c((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),u=Function.prototype.call,d=u.bind?u.bind(u):function(){return u.apply(u,arguments)},f={},m={}.propertyIsEnumerable,g=Object.getOwnPropertyDescriptor,b=g&&!m.call({1:2},1);f.f=b?function(e){var t=g(this,e);return!!t&&t.enumerable}:m;var y,p,S=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},v=Function.prototype,w=v.bind,A=v.call,H=w&&w.bind(A),T=w?function(e){return e&&H(A,e)}:function(e){return e&&function(){return A.apply(e,arguments)}},C=T,I=C({}.toString),R=C("".slice),O=function(e){return R(I(e),8,-1)},E=T,M=c,B=O,P=s.Object,D=E("".split),F=M((function(){return!P("z").propertyIsEnumerable(0)}))?function(e){return"String"==B(e)?D(e,""):P(e)}:P,k=s.TypeError,N=function(e){if(null==e)throw k("Can't call method on "+e);return e},L=F,x=N,G=function(e){return L(x(e))},j=function(e){return"function"==typeof e},_=j,Y=function(e){return"object"==typeof e?null!==e:_(e)},z=s,U=j,K=function(e){return U(e)?e:void 0},J=function(e,t){return arguments.length<2?K(z[e]):z[e]&&z[e][t]},Z=T({}.isPrototypeOf),W=s,V=J("navigator","userAgent")||"",$=W.process,q=W.Deno,Q=$&&$.versions||q&&q.version,X=Q&&Q.v8;X&&(p=(y=X.split("."))[0]>0&&y[0]<4?1:+(y[0]+y[1])),!p&&V&&(!(y=V.match(/Edge\/(\d+)/))||y[1]>=74)&&(y=V.match(/Chrome\/(\d+)/))&&(p=+y[1]);var ee=p,te=c,ae=!!Object.getOwnPropertySymbols&&!te((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&ee&&ee<41})),ne=ae&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,re=J,oe=j,ie=Z,se=ne,he=s.Object,ce=se?function(e){return"symbol"==typeof e}:function(e){var t=re("Symbol");return oe(t)&&ie(t.prototype,he(e))},le=s.String,ue=j,de=function(e){try{return le(e)}catch(e){return"Object"}},fe=s.TypeError,me=function(e){if(ue(e))return e;throw fe(de(e)+" is not a function")},ge=d,be=j,ye=Y,pe=s.TypeError,Se={exports:{}},ve=s,we=Object.defineProperty,Ae=function(e,t){try{we(ve,e,{value:t,configurable:!0,writable:!0})}catch(a){ve[e]=t}return t},He=Ae,Te="__core-js_shared__",Ce=s[Te]||He(Te,{}),Ie=Ce;(Se.exports=function(e,t){return Ie[e]||(Ie[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.19.0",mode:"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"});var Re=N,Oe=s.Object,Ee=function(e){return Oe(Re(e))},Me=T({}.hasOwnProperty),Be=Object.hasOwn||function(e,t){return Me(Ee(e),t)},Pe=T,De=0,Fe=Math.random(),ke=Pe(1..toString),Ne=function(e){return"Symbol("+(void 0===e?"":e)+")_"+ke(++De+Fe,36)},Le=s,xe=Se.exports,Ge=Be,je=Ne,_e=ae,Ye=ne,ze=xe("wks"),Ue=Le.Symbol,Ke=Ue&&Ue.for,Je=Ye?Ue:Ue&&Ue.withoutSetter||je,Ze=function(e){if(!Ge(ze,e)||!_e&&"string"!=typeof ze[e]){var t="Symbol."+e;_e&&Ge(Ue,e)?ze[e]=Ue[e]:ze[e]=Ye&&Ke?Ke(t):Je(t)}return ze[e]},We=d,Ve=Y,$e=ce,qe=function(e,t){var a=e[t];return null==a?void 0:me(a)},Qe=function(e,t){var a,n;if("string"===t&&be(a=e.toString)&&!ye(n=ge(a,e)))return n;if(be(a=e.valueOf)&&!ye(n=ge(a,e)))return n;if("string"!==t&&be(a=e.toString)&&!ye(n=ge(a,e)))return n;throw pe("Can't convert object to primitive value")},Xe=Ze,et=s.TypeError,tt=Xe("toPrimitive"),at=function(e,t){if(!Ve(e)||$e(e))return e;var a,n=qe(e,tt);if(n){if(void 0===t&&(t="default"),a=We(n,e,t),!Ve(a)||$e(a))return a;throw et("Can't convert object to primitive value")}return void 0===t&&(t="number"),Qe(e,t)},nt=ce,rt=function(e){var t=at(e,"string");return nt(t)?t:t+""},ot=Y,it=s.document,st=ot(it)&&ot(it.createElement),ht=function(e){return st?it.createElement(e):{}},ct=ht,lt=!l&&!c((function(){return 7!=Object.defineProperty(ct("div"),"a",{get:function(){return 7}}).a})),ut=l,dt=d,ft=f,mt=S,gt=G,bt=rt,yt=Be,pt=lt,St=Object.getOwnPropertyDescriptor;h.f=ut?St:function(e,t){if(e=gt(e),t=bt(t),pt)try{return St(e,t)}catch(e){}if(yt(e,t))return mt(!dt(ft.f,e,t),e[t])};var vt={},wt=s,At=Y,Ht=wt.String,Tt=wt.TypeError,Ct=function(e){if(At(e))return e;throw Tt(Ht(e)+" is not an object")},It=l,Rt=lt,Ot=Ct,Et=rt,Mt=s.TypeError,Bt=Object.defineProperty;vt.f=It?Bt:function(e,t,a){if(Ot(e),t=Et(t),Ot(a),Rt)try{return Bt(e,t,a)}catch(e){}if("get"in a||"set"in a)throw Mt("Accessors not supported");return"value"in a&&(e[t]=a.value),e};var Pt=vt,Dt=S,Ft=l?function(e,t,a){return Pt.f(e,t,Dt(1,a))}:function(e,t,a){return e[t]=a,e},kt={exports:{}},Nt=j,Lt=Ce,xt=T(Function.toString);Nt(Lt.inspectSource)||(Lt.inspectSource=function(e){return xt(e)});var Gt,jt,_t,Yt=Lt.inspectSource,zt=j,Ut=Yt,Kt=s.WeakMap,Jt=zt(Kt)&&/native code/.test(Ut(Kt)),Zt=Se.exports,Wt=Ne,Vt=Zt("keys"),$t=function(e){return Vt[e]||(Vt[e]=Wt(e))},qt={},Qt=Jt,Xt=s,ea=T,ta=Y,aa=Ft,na=Be,ra=Ce,oa=$t,ia=qt,sa="Object already initialized",ha=Xt.TypeError,ca=Xt.WeakMap;if(Qt||ra.state){var la=ra.state||(ra.state=new ca),ua=ea(la.get),da=ea(la.has),fa=ea(la.set);Gt=function(e,t){if(da(la,e))throw new ha(sa);return t.facade=e,fa(la,e,t),t},jt=function(e){return ua(la,e)||{}},_t=function(e){return da(la,e)}}else{var ma=oa("state");ia[ma]=!0,Gt=function(e,t){if(na(e,ma))throw new ha(sa);return t.facade=e,aa(e,ma,t),t},jt=function(e){return na(e,ma)?e[ma]:{}},_t=function(e){return na(e,ma)}}var ga={set:Gt,get:jt,has:_t,enforce:function(e){return _t(e)?jt(e):Gt(e,{})},getterFor:function(e){return function(t){var a;if(!ta(t)||(a=jt(t)).type!==e)throw ha("Incompatible receiver, "+e+" required");return a}}},ba=l,ya=Be,pa=Function.prototype,Sa=ba&&Object.getOwnPropertyDescriptor,va=ya(pa,"name"),wa=va&&"something"===function(){}.name,Aa=va&&(!ba||ba&&Sa(pa,"name").configurable),Ha=s,Ta=j,Ca=Be,Ia=Ft,Ra=Ae,Oa=Yt,Ea={EXISTS:va,PROPER:wa,CONFIGURABLE:Aa}.CONFIGURABLE,Ma=ga.get,Ba=ga.enforce,Pa=String(String).split("String");(kt.exports=function(e,t,a,n){var r,o=!!n&&!!n.unsafe,i=!!n&&!!n.enumerable,s=!!n&&!!n.noTargetGet,h=n&&void 0!==n.name?n.name:t;Ta(a)&&("Symbol("===String(h).slice(0,7)&&(h="["+String(h).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!Ca(a,"name")||Ea&&a.name!==h)&&Ia(a,"name",h),(r=Ba(a)).source||(r.source=Pa.join("string"==typeof h?h:""))),e!==Ha?(o?!s&&e[t]&&(i=!0):delete e[t],i?e[t]=a:Ia(e,t,a)):i?e[t]=a:Ra(t,a)})(Function.prototype,"toString",(function(){return Ta(this)&&Ma(this).source||Oa(this)}));var Da={},Fa=Math.ceil,ka=Math.floor,Na=function(e){var t=+e;return t!=t||0===t?0:(t>0?ka:Fa)(t)},La=Na,xa=Math.max,Ga=Math.min,ja=Na,_a=Math.min,Ya=function(e){return e>0?_a(ja(e),9007199254740991):0},za=G,Ua=function(e,t){var a=La(e);return a<0?xa(a+t,0):Ga(a,t)},Ka=function(e){return Ya(e.length)},Ja=function(e){return function(t,a,n){var r,o=za(t),i=Ka(o),s=Ua(n,i);if(e&&a!=a){for(;i>s;)if((r=o[s++])!=r)return!0}else for(;i>s;s++)if((e||s in o)&&o[s]===a)return e||s||0;return!e&&-1}},Za={includes:Ja(!0),indexOf:Ja(!1)},Wa=Be,Va=G,$a=Za.indexOf,qa=qt,Qa=T([].push),Xa=function(e,t){var a,n=Va(e),r=0,o=[];for(a in n)!Wa(qa,a)&&Wa(n,a)&&Qa(o,a);for(;t.length>r;)Wa(n,a=t[r++])&&(~$a(o,a)||Qa(o,a));return o},en=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],tn=Xa,an=en.concat("length","prototype");Da.f=Object.getOwnPropertyNames||function(e){return tn(e,an)};var nn={};nn.f=Object.getOwnPropertySymbols;var rn=J,on=Da,sn=nn,hn=Ct,cn=T([].concat),ln=rn("Reflect","ownKeys")||function(e){var t=on.f(hn(e)),a=sn.f;return a?cn(t,a(e)):t},un=Be,dn=ln,fn=h,mn=vt,gn=c,bn=j,yn=/#|\.prototype\./,pn=function(e,t){var a=vn[Sn(e)];return a==An||a!=wn&&(bn(t)?gn(t):!!t)},Sn=pn.normalize=function(e){return String(e).replace(yn,".").toLowerCase()},vn=pn.data={},wn=pn.NATIVE="N",An=pn.POLYFILL="P",Hn=pn,Tn=s,Cn=h.f,In=Ft,Rn=kt.exports,On=Ae,En=function(e,t){for(var a=dn(t),n=mn.f,r=fn.f,o=0;o<a.length;o++){var i=a[o];un(e,i)||n(e,i,r(t,i))}},Mn=Hn,Bn={};Bn[Ze("toStringTag")]="z";var Pn=s,Dn="[object z]"===String(Bn),Fn=j,kn=O,Nn=Ze("toStringTag"),Ln=Pn.Object,xn="Arguments"==kn(function(){return arguments}()),Gn=Dn?kn:function(e){var t,a,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(a=function(e,t){try{return e[t]}catch(e){}}(t=Ln(e),Nn))?a:xn?kn(t):"Object"==(n=kn(t))&&Fn(t.callee)?"Arguments":n},jn=s.String,_n=Ct,Yn={},zn=c,Un=s.RegExp;Yn.UNSUPPORTED_Y=zn((function(){var e=Un("a","y");return e.lastIndex=2,null!=e.exec("abcd")})),Yn.BROKEN_CARET=zn((function(){var e=Un("^r","gy");return e.lastIndex=2,null!=e.exec("str")}));var Kn,Jn=Xa,Zn=en,Wn=Object.keys||function(e){return Jn(e,Zn)},Vn=vt,$n=Ct,qn=G,Qn=Wn,Xn=l?Object.defineProperties:function(e,t){$n(e);for(var a,n=qn(t),r=Qn(t),o=r.length,i=0;o>i;)Vn.f(e,a=r[i++],n[a]);return e},er=J("document","documentElement"),tr=Ct,ar=Xn,nr=en,rr=qt,or=er,ir=ht,sr=$t("IE_PROTO"),hr=function(){},cr=function(e){return"<script>"+e+"</"+"script>"},lr=function(e){e.write(cr("")),e.close();var t=e.parentWindow.Object;return e=null,t},ur=function(){try{Kn=new ActiveXObject("htmlfile")}catch(e){}var e,t;ur="undefined"!=typeof document?document.domain&&Kn?lr(Kn):((t=ir("iframe")).style.display="none",or.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write(cr("document.F=Object")),e.close(),e.F):lr(Kn);for(var a=nr.length;a--;)delete ur.prototype[nr[a]];return ur()};rr[sr]=!0;var dr,fr,mr=Object.create||function(e,t){var a;return null!==e?(hr.prototype=tr(e),a=new hr,hr.prototype=null,a[sr]=e):a=ur(),void 0===t?a:ar(a,t)},gr=c,br=s.RegExp,yr=gr((function(){var e=br(".","s");return!(e.dotAll&&e.exec("\n")&&"s"===e.flags)})),pr=c,Sr=s.RegExp,vr=pr((function(){var e=Sr("(?<a>b)","g");return"b"!==e.exec("b").groups.a||"bc"!=="b".replace(e,"$<a>c")})),wr=d,Ar=T,Hr=function(e){if("Symbol"===Gn(e))throw TypeError("Cannot convert a Symbol value to a string");return jn(e)},Tr=function(){var e=_n(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t},Cr=Yn,Ir=Se.exports,Rr=mr,Or=ga.get,Er=yr,Mr=vr,Br=Ir("native-string-replace",String.prototype.replace),Pr=RegExp.prototype.exec,Dr=Pr,Fr=Ar("".charAt),kr=Ar("".indexOf),Nr=Ar("".replace),Lr=Ar("".slice),xr=(fr=/b*/g,wr(Pr,dr=/a/,"a"),wr(Pr,fr,"a"),0!==dr.lastIndex||0!==fr.lastIndex),Gr=Cr.UNSUPPORTED_Y||Cr.BROKEN_CARET,jr=void 0!==/()??/.exec("")[1];(xr||jr||Gr||Er||Mr)&&(Dr=function(e){var t,a,n,r,o,i,s,h=this,c=Or(h),l=Hr(e),u=c.raw;if(u)return u.lastIndex=h.lastIndex,t=wr(Dr,u,l),h.lastIndex=u.lastIndex,t;var d=c.groups,f=Gr&&h.sticky,m=wr(Tr,h),g=h.source,b=0,y=l;if(f&&(m=Nr(m,"y",""),-1===kr(m,"g")&&(m+="g"),y=Lr(l,h.lastIndex),h.lastIndex>0&&(!h.multiline||h.multiline&&"\n"!==Fr(l,h.lastIndex-1))&&(g="(?: "+g+")",y=" "+y,b++),a=new RegExp("^(?:"+g+")",m)),jr&&(a=new RegExp("^"+g+"$(?!\\s)",m)),xr&&(n=h.lastIndex),r=wr(Pr,f?a:h,y),f?r?(r.input=Lr(r.input,b),r[0]=Lr(r[0],b),r.index=h.lastIndex,h.lastIndex+=r[0].length):h.lastIndex=0:xr&&r&&(h.lastIndex=h.global?r.index+r[0].length:n),jr&&r&&r.length>1&&wr(Br,r[0],a,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(r[o]=void 0)})),r&&d)for(r.groups=i=Rr(null),o=0;o<d.length;o++)i[(s=d[o])[0]]=r[s[1]];return r});(function(e,t){var a,n,r,o,i,s=e.target,h=e.global,c=e.stat;if(a=h?Tn:c?Tn[s]||On(s,{}):(Tn[s]||{}).prototype)for(n in t){if(o=t[n],r=e.noTargetGet?(i=Cn(a,n))&&i.value:a[n],!Mn(h?n:s+(c?".":"#")+n,e.forced)&&void 0!==r){if(typeof o==typeof r)continue;En(o,r)}(e.sham||r&&r.sham)&&In(o,"sham",!0),Rn(a,n,o,e)}})({target:"RegExp",proto:!0,forced:/./.exec!==Dr},{exec:Dr});var _r={"Asara B'Tevet":"Fast commemorating the siege of Jerusalem",Chanukah:"Hanukkah, the Jewish festival of rededication. Also known as the Festival of Lights","Days of the Omer":"7 weeks from the second night of Pesach to the day before Shavuot","Lag BaOmer":"33rd day of counting the Omer","Leil Selichot":"Prayers for forgiveness in preparation for the High Holidays","Pesach Sheni":"Second Passover, one month after Passover",Pesach:"Passover, the Feast of Unleavened Bread. Also called Chag HaMatzot (the Festival of Matzah), it commemorates the Exodus and freedom of the Israelites from ancient Egypt","Purim Katan":"Minor Purim celebration during Adar I on leap years",Purim:"Celebration of Jewish deliverance as told by Megilat Esther. It commemorates a time when the Jewish people living in Persia were saved from extermination","Rosh Chodesh Nisan":"Start of month of Nisan on the Hebrew calendar. נִיסָן (transliterated Nisan or Nissan) is the 1st month of the Hebrew year, has 30 days, and corresponds to March or April on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Iyyar":"Start of month of Iyyar on the Hebrew calendar. אִיָיר (transliterated Iyyar or Iyar) is the 2nd month of the Hebrew year, has 29 days, and corresponds to April or May on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Sivan":"Start of month of Sivan on the Hebrew calendar. Sivan (סִיוָן) is the 3rd month of the Hebrew year, has 30 days, and corresponds to May or June on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Tamuz":"Start of month of Tamuz on the Hebrew calendar. תַּמּוּז (transliterated Tamuz or Tammuz) is the 4th month of the Hebrew year, has 29 days, and corresponds to June or July on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Av":"Start of month of Av on the Hebrew calendar. Av (אָב) is the 5th month of the Hebrew year, has 30 days, and corresponds to July or August on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Elul":"Start of month of Elul on the Hebrew calendar. Elul (אֱלוּל) is the 6th month of the Hebrew year, has 29 days, and corresponds to August or September on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Cheshvan":"Start of month of Cheshvan on the Hebrew calendar. חֶשְׁוָן (transliterated Cheshvan or Heshvan) is the 8th month of the Hebrew year, has 29 or 30 days, and corresponds to October or November on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Kislev":"Start of month of Kislev on the Hebrew calendar. Kislev (כִּסְלֵו) is the 9th month of the Hebrew year, has 30 or 29 days, and corresponds to November or December on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Tevet":"Start of month of Tevet on the Hebrew calendar. Tevet (טֵבֵת) is the 10th month of the Hebrew year, has 29 days, and corresponds to December or January on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Sh'vat":"Start of month of Sh'vat on the Hebrew calendar. שְׁבָט (transliterated Sh'vat or Shevat) is the 11th month of the Hebrew year, has 30 days, and corresponds to January or February on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Adar":"Start of month of Adar on the Hebrew calendar. Adar (אַדָר) is the 12th month of the Hebrew year, has 29 days, and corresponds to February or March on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Adar I":"Start of month of Adar I (on leap years) on the Hebrew calendar. Adar I (אַדָר א׳) is the 12th month of the Hebrew year, occurs only on leap years, has 30 days, and corresponds to February or March on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Adar II":'Start of month of Adar II (on leap years) on the Hebrew calendar. Adar II (אַדָר ב׳), sometimes "Adar Bet" or "Adar Sheni", is the 13th month of the Hebrew year, has 29 days, occurs only on leap years, and corresponds to February or March on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon',"Rosh Hashana":"The Jewish New Year. Also spelled Rosh Hashanah","Rosh Hashana LaBehemot":"New Year for Tithing Animals","Shabbat Chazon":"Shabbat before Tish'a B'Av (Shabbat of Prophecy/Shabbat of Vision)","Shabbat HaChodesh":"Shabbat before Rosh Chodesh Nissan","Shabbat HaGadol":"Shabbat before Pesach","Shabbat Machar Chodesh":"When Shabbat falls the day before Rosh Chodesh","Shabbat Nachamu":"Shabbat after Tish'a B'Av (Shabbat of Consolation). The first of seven Shabbatot leading up to Rosh Hashanah. Named after the Haftarah (from Isaiah 40) which begins with the verse נַחֲמוּ נַחֲמוּ, עַמִּי (\"Comfort, oh comfort my people\")","Shabbat Parah":"Shabbat of the Red Heifer","Shabbat Rosh Chodesh":"When Shabbat falls on Rosh Chodesh","Shabbat Shekalim":"Shabbat before Rosh Chodesh Adar","Shabbat Shirah":"Shabbat of Song","Shabbat Shuva":"Shabbat that falls between Rosh Hashanah and Yom Kippur (Shabbat of Returning)","Shabbat Zachor":"Shabbat before Purim",Shavuot:"Festival of Weeks. Commemorates the giving of the Torah at Mount Sinai","Shmini Atzeret":"Eighth Day of Assembly","Shushan Purim":"Purim celebrated in Jerusalem and walled cities",Sigd:"Ethiopian Jewish holiday occurring 50 days after Yom Kippur","Simchat Torah":"Day of Celebrating the Torah",Sukkot:"Feast of Booths","Ta'anit Bechorot":"Fast of the First Born","Ta'anit Esther":"Fast of Esther","Tish'a B'Av":"The Ninth of Av. Fast commemorating the destruction of the two Temples","Tu B'Av":"Minor Jewish holiday of love. Observed on the 15th day of the Hebrew month of Av","Tu BiShvat":"New Year for Trees","Tzom Gedaliah":"Fast of the Seventh Month. Commemorates the assassination of the Jewish governor of Judah","Tzom Tammuz":"Fast commemorating breaching of the walls of Jerusalem before the destruction of the Second Temple","Yom HaAliyah":"Recognizes Aliyah, immigration to the Jewish State of Israel","Yom HaAliyah School Observance":"Aliyah Day observed in Israeli schools","Yom HaAtzma'ut":"Israeli Independence Day. Commemorates the declaration of independence of Israel in 1948. Note that Hebcal displays modern holidays like Yom HaAtzma'ut according to the Israeli schedule. Although Yom HaAtzma'ut is normally observed on the 5th of Iyyar, it may be moved earlier or postponed if observance of the holiday (or Yom HaZikaron, which always precedes it) would conflict with Shabbat","Yom HaShoah":"Holocaust Memorial Day","Yom HaZikaron":"Israeli Memorial Day. Note that Hebcal displays modern holidays like Yom HaZikaron according to the Israeli schedule. Although Yom Hazikaron is normally observed on the 4th of Iyyar, it may be moved earlier or postponed if observance of the holiday (or Yom HaAtzma'ut, which always follows it) would conflict with Shabbat","Yom Kippur":"Day of Atonement","Yom Yerushalayim":"Jerusalem Day. Commemorates the re-unification of Jerusalem in 1967"};function Yr(e){return e.toLowerCase().replace(/'/g,"").replace(/[^\w]/g,"-").replace(/-+/g,"-").replace(/^-/g,"").replace(/-$/g,"")}function zr(e){return e<10?"0"+e:String(e)}function Ur(e){return e<0?"-00"+Ur(-e):e<10?"000"+e:e<100?"00"+e:e<1e3?"0"+e:String(e)}function Kr(e){return Ur(e.getFullYear())+"-"+zr(e.getMonth()+1)+"-"+zr(e.getDate())}function Jr(e){const a=e.getDesc();if("Fast begins"===a||"Fast ends"===a)return["zmanim","fast"];switch(e.getFlags()){case t.flags.OMER_COUNT:return["omer"];case t.flags.HEBREW_DATE:return["hebdate"];case t.flags.PARSHA_HASHAVUA:return["parashat"];case t.flags.DAF_YOMI:return["dafyomi"];case t.flags.ROSH_CHODESH:return["roshchodesh"];case t.flags.SPECIAL_SHABBAT:return["holiday","shabbat"];case t.flags.MINOR_FAST:return["holiday","fast"];case t.flags.MAJOR_FAST:return["holiday","fast","major"];case t.flags.MODERN_HOLIDAY:return["holiday","modern"];case t.flags.SHABBAT_MEVARCHIM:return["mevarchim"];case t.flags.MOLAD:return["molad"];case t.flags.USER_EVENT:return["user"];case t.flags.MINOR_HOLIDAY:return["holiday","minor"]}if(e.cholHaMoedDay)return["holiday","major","cholhamoed"];switch(a){case"Havdalah":return["havdalah"];case"Candle lighting":return["candles"];case"Lag BaOmer":case"Leil Selichot":case"Pesach Sheni":case"Erev Purim":case"Purim Katan":case"Shushan Purim":case"Tu B'Av":case"Tu BiShvat":case"Rosh Hashana LaBehemot":return["holiday","minor"];case"Erev Tish'a B'Av":return["holiday","fast","major"];default:return["holiday","major"]}}function Zr(e,t){let a="Hebcal";const n=t.location;if(t.yahrzeit)a+=" Yahrzeits and Anniversaries";else if(n&&n.name){const e=n.name.indexOf(",");a+=" "+(-1==e?n.name:n.name.substring(0,e))}else t.il?a+=" Israel":a+=" Diaspora";if(t.isHebrewYear||0==e.length)a+=" "+t.year;else{const t=e[0].getDate().greg(),n=e[e.length-1].getDate().greg();if(t.getFullYear()!=n.getFullYear())a+=" "+t.getFullYear()+"-"+n.getFullYear();else if(t.getMonth()==n.getMonth()){a+=" "+new Intl.DateTimeFormat("en-US",{month:"long"}).format(t)+" "+t.getFullYear()}else a+=" "+t.getFullYear()}return a}function Wr(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const a=_r[e.getDesc()]||_r[e.basename()]||"";if(t&&a){const e=a.indexOf(".");if(-1!=e)return a.substring(0,e)}return a}const Vr=t.flags.DAF_YOMI|t.flags.OMER_COUNT|t.flags.SHABBAT_MEVARCHIM|t.flags.MOLAD|t.flags.USER_EVENT|t.flags.HEBREW_DATE;function $r(e,a){const n=e.getFlags();if(n&Vr)return"";const o=n&t.flags.PARSHA_HASHAVUA?r.getLeyningForParshaHaShavua(e,a):r.getLeyningForHoliday(e,a);let i="";return o&&(o.summary||o.haftara)&&(o.summary&&(i+="Torah: ".concat(o.summary)),o.summary&&o.haftara&&(i+="\n"),o.haftara&&(i+="Haftarah: "+o.haftara,o.reason&&o.reason.haftara&&(i+=" | "+o.reason.haftara))),o&&o.sephardic&&(i+="\nHaftarah for Sephardim: "+o.sephardic),i}function qr(e,t,a,n,r){"https://www.hebcal.com"!==e.substring(0,22)?a="hebcal.com":t&&-1===e.indexOf("?")&&(e+="?i=on");const o=-1===e.indexOf("?")?"?":"&";return e+o+"utm_source=".concat(a,"&utm_medium=").concat(n)+(r?"&utm_campaign=".concat(r):"")}const Qr='"Subject","Start Date","Start Time","End Date","End Time","All day event","Description","Show time as","Location"',Xr={dafyomi:"Daf Yomi",hebdate:"Hebrew Date",holiday:"Jewish Holidays",mevarchim:null,molad:null,omer:null,parashat:"Torah Reading",roshchodesh:"Jewish Holidays",user:"Personal"};function eo(e,a){const n=e.getDate().greg(),r=n.getDate(),o=n.getMonth()+1,i=String(n.getFullYear()).padStart(4,"0"),s=a.euro?'"'.concat(r,"/").concat(o,"/").concat(i,'"'):'"'.concat(o,"/").concat(r,"/").concat(i,'"');let h="",c="",l="",u='"true"';const d=Boolean(e.eventTime);let f=d?e.renderBrief():e.render();if(e.eventTime){const n=t.HebrewCalendar.reformatTimeStr(e.eventTimeStr," PM",a);c=h='"'.concat(n,'"'),l=s,u='"false"'}let m="Jewish Holidays";const g=e.getFlags();if(d&&a.location&&a.location.name){const e=a.location.name,t=e.indexOf(",");m=-1===t?e:e.substring(0,t)}else if(g&t.flags.DAF_YOMI){const e=f.indexOf(": ");-1!=e&&(m=f.substring(0,e),f=f.substring(e+2))}else{const t=Xr[Jr(e)[0]];t&&(m=t)}if(f=f.replace(/,/g,"").replace(/"/g,"''"),a.appendHebrewToSubject){const t=e.renderBrief("he");t&&(f+=" / ".concat(t))}let b=e.memo||Wr(e,!0);b||void 0===e.linkedEvent||(b=e.linkedEvent.render());const y=b.replace(/,/g,";").replace(/"/g,"''"),p=d||g&t.flags.CHAG?4:3;return'"'.concat(f,'",').concat(s,",").concat(h,",").concat(l,",").concat(c,",").concat(u,',"').concat(y,'","').concat(p,'","').concat(m,'"')}var to={AD:"Andorra",AE:"United Arab Emirates",AF:"Afghanistan",AI:"Anguilla",AL:"Albania",AM:"Armenia",AO:"Angola",AR:"Argentina",AS:"American Samoa",AT:"Austria",AU:"Australia",AW:"Aruba",AZ:"Azerbaijan",BA:"Bosnia and Herzegovina",BB:"Barbados",BD:"Bangladesh",BE:"Belgium",BF:"Burkina Faso",BG:"Bulgaria",BH:"Bahrain",BI:"Burundi",BJ:"Benin",BM:"Bermuda",BN:"Brunei",BO:"Bolivia",BR:"Brazil",BS:"Bahamas",BT:"Bhutan",BW:"Botswana",BY:"Belarus",BZ:"Belize",CA:"Canada",CD:"Democratic Republic of the Congo",CF:"Central African Republic",CG:"Republic of the Congo",CH:"Switzerland",CI:"Ivory Coast",CK:"Cook Islands",CL:"Chile",CM:"Cameroon",CN:"China",CO:"Colombia",CR:"Costa Rica",CU:"Cuba",CV:"Cape Verde",CW:"Curacao",CY:"Cyprus",CZ:"Czech Republic",DE:"Germany",DK:"Denmark",DM:"Dominica",DO:"Dominican Republic",DZ:"Algeria",EC:"Ecuador",EE:"Estonia",EG:"Egypt",ER:"Eritrea",ES:"Spain",ET:"Ethiopia",FI:"Finland",FJ:"Fiji",FK:"Falkland Islands",FO:"Faroe Islands",FR:"France",GA:"Gabon",GB:"United Kingdom",GE:"Georgia",GH:"Ghana",GI:"Gibraltar",GL:"Greenland",GM:"Gambia",GN:"Guinea",GQ:"Equatorial Guinea",GR:"Greece",GT:"Guatemala",GW:"Guinea-Bissau",GY:"Guyana",HK:"Hong Kong",HN:"Honduras",HR:"Croatia",HT:"Haiti",HU:"Hungary",ID:"Indonesia",IE:"Ireland",IL:"Israel",IM:"Isle of Man",IN:"India",IQ:"Iraq",IR:"Iran",IS:"Iceland",IT:"Italy",JM:"Jamaica",JO:"Jordan",JP:"Japan",KE:"Kenya",KG:"Kyrgyzstan",KH:"Cambodia",KM:"Comoros",KN:"Saint Kitts and Nevis",KP:"North Korea",KR:"South Korea",KW:"Kuwait",KY:"Cayman Islands",KZ:"Kazakhstan",LA:"Laos",LB:"Lebanon",LC:"Saint Lucia",LI:"Liechtenstein",LR:"Liberia",LS:"Lesotho",LT:"Lithuania",LU:"Luxembourg",LV:"Latvia",LY:"Libya",MA:"Morocco",MD:"Moldova",ME:"Montenegro",MG:"Madagascar",MK:"Macedonia",ML:"Mali",MM:"Myanmar",MN:"Mongolia",MP:"Northern Mariana Islands",MR:"Mauritania",MS:"Montserrat",MT:"Malta",MU:"Mauritius",MW:"Malawi",MX:"Mexico",MY:"Malaysia",MZ:"Mozambique",NA:"Namibia",NC:"New Caledonia",NE:"Niger",NG:"Nigeria",NI:"Nicaragua",NL:"Netherlands",NO:"Norway",NP:"Nepal",NU:"Niue",NZ:"New Zealand",OM:"Oman",PA:"Panama",PE:"Peru",PF:"French Polynesia",PG:"Papua New Guinea",PH:"Philippines",PK:"Pakistan",PL:"Poland",PR:"Puerto Rico",PT:"Portugal",PY:"Paraguay",QA:"Qatar",RO:"Romania",RS:"Serbia",RU:"Russia",RW:"Rwanda",SA:"Saudi Arabia",SB:"Solomon Islands",SC:"Seychelles",SD:"Sudan",SE:"Sweden",SG:"Singapore",SH:"Saint Helena",SI:"Slovenia",SK:"Slovakia",SL:"Sierra Leone",SN:"Senegal",SO:"Somalia",SR:"Suriname",ST:"Sao Tome and Principe",SV:"El Salvador",SY:"Syria",SZ:"Swaziland",TC:"Turks and Caicos Islands",TD:"Chad",TG:"Togo",TH:"Thailand",TJ:"Tajikistan",TM:"Turkmenistan",TN:"Tunisia",TR:"Turkey",TV:"Tuvalu",TW:"Taiwan",TZ:"Tanzania",UA:"Ukraine",UG:"Uganda",US:"United States",UY:"Uruguay",UZ:"Uzbekistan",VC:"Saint Vincent and the Grenadines",VE:"Venezuela",VG:"British Virgin Islands",VN:"Vietnam",WS:"Samoa",YE:"Yemen",YT:"Mayotte",ZA:"South Africa",ZM:"Zambia",ZW:"Zimbabwe"};const ao=t.flags.DAF_YOMI|t.flags.HEBREW_DATE;function no(e,a){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const o=Boolean(e.eventTime),i=e.getDate(),s=i.greg(),h="object"==typeof a.location?a.location.getTzid():"UTC",c=o?t.Zmanim.formatISOWithTimeZone(h,e.eventTime):Kr(s),l=Jr(e),u=e.getFlags();let d=o||u&ao?e.renderBrief(a.locale):e.render(a.locale);const f=e.getDesc(),m="Havdalah"===f||"Candle lighting"===f;if(m){d+=": "+t.HebrewCalendar.reformatTimeStr(e.eventTimeStr,"pm",a)}const g={title:d,date:c,category:l[0]};l.length>1&&(g.subcat=l[1]),"holiday"===l[0]&&u&t.flags.CHAG&&(g.yomtov=!0),d!=f&&(g.title_orig=f);const b=e.renderBrief("he");if(b&&(g.hebrew=t.Locale.hebrewStripNikkud(b)),!m){if(n){const n=a.il,o=u===t.flags.PARSHA_HASHAVUA,s=o?r.getLeyningForParshaHaShavua(e,n):r.getLeyningForHoliday(e,n);if(s){g.leyning=oo(s);const t=i.getFullYear();if(o&&!n&&t>=5745&&t<=5830){const t=r.getTriennialForParshaHaShavua(e);t&&(g.leyning.triennial=ro({},t))}}}const o=e.url();if(o){const e=a.utmSource||"js",t=a.utmMedium||"api",n=a.utmCampaign;g.link=qr(o,a.il,e,t,n)}}const y=e.memo||_r[e.basename()];return y?g.memo=y:void 0!==e.linkedEvent&&(g.memo=e.linkedEvent.render(a.locale)),g}function ro(e,t){return Object.keys(t).forEach((a=>{const n=t[a];if(void 0!==n){e["M"==a?"maftir":a]=r.formatAliyahWithBook(n)}})),e}function oo(e){const t={};return e.summary&&(t.torah=e.summary),e.haftara&&(t.haftarah=e.haftara),e.sephardic&&(t.haftarah_sephardic=e.sephardic),e.fullkriyah&&ro(t,e.fullkriyah),e.reason&&(["7","8","M"].forEach((a=>{if(e.reason[a]){t["M"==a?"maftir":a]+=" | "+e.reason[a]}})),e.reason.haftara&&(t.haftarah+=" | "+e.reason.haftara)),t}function io(e,a,n,r,o,i){let s=e.render();const h=e.getDate().greg(),c=function(e,t,a,n){if(t){const t=e.eventTime;return t?t.toUTCString():a.toUTCString().replace(/ \S+ GMT$/," 00:00:00 GMT")}return n}(e,a,h,n),l=!!o&&o.getIsrael(),u=function(e,a,n,r){let o,i;const s=e.eventTime||e.getDate().greg(),h=t.Zmanim.formatISOWithTimeZone(n,s),c=h.substring(0,h.indexOf("T")),l=c.replace(/-/g,""),u=Yr(e.getDesc()),d="".concat(l,"-").concat(u),f=e.url();if(f)o=qr(f,a,"shabbat1c","rss").replace(/&/g,"&"),i="".concat(f,"#").concat(d);else{const e="".concat(r,"&dt=").concat(c),t=qr(e,a,"shabbat1c","rss").replace(/&/g,"&");i=e.replace(/&/g,"&")+"#".concat(d),o="".concat(t,"#").concat(d)}return[o,i]}(e,l,o?o.getTzid():"UTC",i),d=u[0],f=u[1],m=Jr(e)[0],g=e.getDesc();let b;if("Havdalah"===g||"Candle lighting"===g){const a=s.indexOf(": ");if(-1!=a){const n={location:o,il:l,locale:t.Locale.getLocaleName()},r=t.HebrewCalendar.reformatTimeStr(e.eventTimeStr,"pm",n);s=s.substring(0,a)+": "+r}}else b=e.getFlags()&t.flags.PARSHA_HASHAVUA?$r(e,l):e.memo||_r[e.basename()];const y=b||r.format(h),p="candles"==m?"<geo:lat>".concat(o.getLatitude(),"</geo:lat>\n<geo:long>").concat(o.getLongitude(),"</geo:long>\n"):"";return"<item>\n<title>".concat(s,"</title>\n<link>").concat(d,'</link>\n<guid isPermaLink="false">').concat(f,"</guid>\n<description>").concat(y,"</description>\n<category>").concat(m,"</category>\n<pubDate>").concat(c,"</pubDate>\n").concat(p,"</item>\n")}const so=t.flags.DAF_YOMI|t.flags.HEBREW_DATE;return e.appendIsraelAndTracking=qr,e.countryNames=to,e.eventToClassicApiObject=no,e.eventToCsv=eo,e.eventToFullCalendar=function(e,a,n){const r=Jr(e),o=e.getFlags();"holiday"==r[0]&&o&t.flags.CHAG&&r.push("yomtov");const i=Boolean(e.eventTime),s={title:i||o&so?e.renderBrief():e.render(),start:i?t.Zmanim.formatISOWithTimeZone(a,e.eventTime):Kr(e.getDate().greg()),allDay:!i,className:r.join(" ")},h=e.renderBrief("he");h&&(s.hebrew=t.Locale.hebrewStripNikkud(h));const c=e.url();c&&(s.url=qr(c,n,"js","fc"));const l=e.getDesc();if(!("Havdalah"===l||"Candle lighting"===l)){const a=o&t.flags.PARSHA_HASHAVUA?$r(e,n):e.memo||_r[e.basename()];a?s.description=a:void 0!==e.linkedEvent&&(s.description=e.linkedEvent.render())}return s},e.eventToRssItem=io,e.eventsToClassicApi=function(e,t){let a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const n={title:Zr(e,t),date:(new Date).toISOString()},r=t.location;return"object"==typeof r&&"string"==typeof r.name?(n.location={title:r.getName(),city:r.getShortName(),tzid:r.getTzid(),latitude:r.getLatitude(),longitude:r.getLongitude(),cc:r.getCountryCode(),country:to[r.getCountryCode()]},["admin1","asciiname","geo","zip","state","geonameid"].forEach((e=>{r[e]&&(n.location[e]=r[e])}))):n.location={geo:"none"},n.items=e.map((e=>no(e,t,a))),n},e.eventsToCsv=function(e,t){return[Qr].concat(e.map((e=>eo(e,t)))).join("\r\n")+"\r\n"},e.eventsToRss=function(e,a,n,r){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"en-US",i=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];const s=a.getName(),h=(new Date).getFullYear(),c=t.Locale.gettext("Shabbat")+" Times for "+s,l=(new Date).toUTCString(),u=new Intl.DateTimeFormat("en-US",{weekday:"long",day:"2-digit",month:"long",year:"numeric"}),d=qr(n,a.getIsrael(),"shabbat1c","rss").replace(/&/g,"&");r=r.replace(/&/g,"&");let f='<?xml version="1.0" encoding="UTF-8"?>\n<rss version="2.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:atom="http://www.w3.org/2005/Atom">\n<channel>\n<title>'.concat(c,"</title>\n<link>").concat(d,'</link>\n<atom:link href="').concat(r,'" rel="self" type="application/rss+xml" />\n<description>Weekly Shabbat candle lighting times for ').concat(s,"</description>\n<language>").concat(o,"</language>\n<copyright>Copyright (c) ").concat(h," Michael J. Radwin. All rights reserved.</copyright>\n<lastBuildDate>").concat(l,"</lastBuildDate>\n");return e.forEach((e=>{f+=io(e,i,l,u,a,n)})),f+="</channel>\n</rss>\n",f},e.getCalendarTitle=Zr,e.getDownloadFilename=function(e){let t="hebcal_"+e.year;if(e.isHebrewYear&&(t+="h"),e.month&&(t+="_"+e.month),e.location){t+="_"+Yr(e.location.zip||e.location.asciiname||e.location.getShortName()).replace(/[-]/g,"_")}return t},e.getEventCategories=Jr,e.getHolidayDescription=Wr,e.holidayDescription=_r,e.makeAnchor=Yr,e.makeTorahMemoText=$r,e.pad2=zr,e.pad4=Ur,e.renderTitleWithoutTime=function(e){return void 0===e.eventTime?e.render():e.renderBrief()},e.timeZoneOffsetStr=function(e,a){return t.Zmanim.timeZoneOffset(e,a)},e.toISOString=Kr,e.toISOStringWithTimezone=function(e,a,n){const r=Kr(e);return a?r+"T"+a+":00"+t.Zmanim.timeZoneOffset(n,e):r},Object.defineProperty(e,"__esModule",{value:!0}),e}({},hebcal);
|
|
1
|
+
/*! @hebcal/rest-api v3.10.0 */
|
|
2
|
+
var hebcal__rest_api=function(e,t,a){"use strict";function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var n=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,Object.freeze(t)}var r=n(hebcal__leyning),o="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},i=function(e){return e&&e.Math==Math&&e},s=i("object"==typeof globalThis&&globalThis)||i("object"==typeof window&&window)||i("object"==typeof self&&self)||i("object"==typeof o&&o)||function(){return this}()||Function("return this")(),h={},c=function(e){try{return!!e()}catch(e){return!0}},l=!c((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),u=Function.prototype.call,d=u.bind?u.bind(u):function(){return u.apply(u,arguments)},f={},m={}.propertyIsEnumerable,g=Object.getOwnPropertyDescriptor,b=g&&!m.call({1:2},1);f.f=b?function(e){var t=g(this,e);return!!t&&t.enumerable}:m;var y,p,S=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},v=Function.prototype,w=v.bind,A=v.call,H=w&&w.bind(A),T=w?function(e){return e&&H(A,e)}:function(e){return e&&function(){return A.apply(e,arguments)}},C=T,I=C({}.toString),R=C("".slice),O=function(e){return R(I(e),8,-1)},E=T,M=c,B=O,P=s.Object,D=E("".split),F=M((function(){return!P("z").propertyIsEnumerable(0)}))?function(e){return"String"==B(e)?D(e,""):P(e)}:P,k=s.TypeError,N=function(e){if(null==e)throw k("Can't call method on "+e);return e},L=F,x=N,G=function(e){return L(x(e))},j=function(e){return"function"==typeof e},Y=j,_=function(e){return"object"==typeof e?null!==e:Y(e)},z=s,U=j,K=function(e){return U(e)?e:void 0},J=function(e,t){return arguments.length<2?K(z[e]):z[e]&&z[e][t]},Z=T({}.isPrototypeOf),W=s,V=J("navigator","userAgent")||"",$=W.process,q=W.Deno,Q=$&&$.versions||q&&q.version,X=Q&&Q.v8;X&&(p=(y=X.split("."))[0]>0&&y[0]<4?1:+(y[0]+y[1])),!p&&V&&(!(y=V.match(/Edge\/(\d+)/))||y[1]>=74)&&(y=V.match(/Chrome\/(\d+)/))&&(p=+y[1]);var ee=p,te=c,ae=!!Object.getOwnPropertySymbols&&!te((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&ee&&ee<41})),ne=ae&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,re=J,oe=j,ie=Z,se=ne,he=s.Object,ce=se?function(e){return"symbol"==typeof e}:function(e){var t=re("Symbol");return oe(t)&&ie(t.prototype,he(e))},le=s.String,ue=j,de=function(e){try{return le(e)}catch(e){return"Object"}},fe=s.TypeError,me=function(e){if(ue(e))return e;throw fe(de(e)+" is not a function")},ge=d,be=j,ye=_,pe=s.TypeError,Se={exports:{}},ve=s,we=Object.defineProperty,Ae=function(e,t){try{we(ve,e,{value:t,configurable:!0,writable:!0})}catch(a){ve[e]=t}return t},He=Ae,Te="__core-js_shared__",Ce=s[Te]||He(Te,{}),Ie=Ce;(Se.exports=function(e,t){return Ie[e]||(Ie[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.19.3",mode:"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"});var Re=N,Oe=s.Object,Ee=function(e){return Oe(Re(e))},Me=T({}.hasOwnProperty),Be=Object.hasOwn||function(e,t){return Me(Ee(e),t)},Pe=T,De=0,Fe=Math.random(),ke=Pe(1..toString),Ne=function(e){return"Symbol("+(void 0===e?"":e)+")_"+ke(++De+Fe,36)},Le=s,xe=Se.exports,Ge=Be,je=Ne,Ye=ae,_e=ne,ze=xe("wks"),Ue=Le.Symbol,Ke=Ue&&Ue.for,Je=_e?Ue:Ue&&Ue.withoutSetter||je,Ze=function(e){if(!Ge(ze,e)||!Ye&&"string"!=typeof ze[e]){var t="Symbol."+e;Ye&&Ge(Ue,e)?ze[e]=Ue[e]:ze[e]=_e&&Ke?Ke(t):Je(t)}return ze[e]},We=d,Ve=_,$e=ce,qe=function(e,t){var a=e[t];return null==a?void 0:me(a)},Qe=function(e,t){var a,n;if("string"===t&&be(a=e.toString)&&!ye(n=ge(a,e)))return n;if(be(a=e.valueOf)&&!ye(n=ge(a,e)))return n;if("string"!==t&&be(a=e.toString)&&!ye(n=ge(a,e)))return n;throw pe("Can't convert object to primitive value")},Xe=Ze,et=s.TypeError,tt=Xe("toPrimitive"),at=function(e,t){if(!Ve(e)||$e(e))return e;var a,n=qe(e,tt);if(n){if(void 0===t&&(t="default"),a=We(n,e,t),!Ve(a)||$e(a))return a;throw et("Can't convert object to primitive value")}return void 0===t&&(t="number"),Qe(e,t)},nt=ce,rt=function(e){var t=at(e,"string");return nt(t)?t:t+""},ot=_,it=s.document,st=ot(it)&&ot(it.createElement),ht=function(e){return st?it.createElement(e):{}},ct=ht,lt=!l&&!c((function(){return 7!=Object.defineProperty(ct("div"),"a",{get:function(){return 7}}).a})),ut=l,dt=d,ft=f,mt=S,gt=G,bt=rt,yt=Be,pt=lt,St=Object.getOwnPropertyDescriptor;h.f=ut?St:function(e,t){if(e=gt(e),t=bt(t),pt)try{return St(e,t)}catch(e){}if(yt(e,t))return mt(!dt(ft.f,e,t),e[t])};var vt={},wt=s,At=_,Ht=wt.String,Tt=wt.TypeError,Ct=function(e){if(At(e))return e;throw Tt(Ht(e)+" is not an object")},It=l,Rt=lt,Ot=Ct,Et=rt,Mt=s.TypeError,Bt=Object.defineProperty;vt.f=It?Bt:function(e,t,a){if(Ot(e),t=Et(t),Ot(a),Rt)try{return Bt(e,t,a)}catch(e){}if("get"in a||"set"in a)throw Mt("Accessors not supported");return"value"in a&&(e[t]=a.value),e};var Pt=vt,Dt=S,Ft=l?function(e,t,a){return Pt.f(e,t,Dt(1,a))}:function(e,t,a){return e[t]=a,e},kt={exports:{}},Nt=j,Lt=Ce,xt=T(Function.toString);Nt(Lt.inspectSource)||(Lt.inspectSource=function(e){return xt(e)});var Gt,jt,Yt,_t=Lt.inspectSource,zt=j,Ut=_t,Kt=s.WeakMap,Jt=zt(Kt)&&/native code/.test(Ut(Kt)),Zt=Se.exports,Wt=Ne,Vt=Zt("keys"),$t=function(e){return Vt[e]||(Vt[e]=Wt(e))},qt={},Qt=Jt,Xt=s,ea=T,ta=_,aa=Ft,na=Be,ra=Ce,oa=$t,ia=qt,sa="Object already initialized",ha=Xt.TypeError,ca=Xt.WeakMap;if(Qt||ra.state){var la=ra.state||(ra.state=new ca),ua=ea(la.get),da=ea(la.has),fa=ea(la.set);Gt=function(e,t){if(da(la,e))throw new ha(sa);return t.facade=e,fa(la,e,t),t},jt=function(e){return ua(la,e)||{}},Yt=function(e){return da(la,e)}}else{var ma=oa("state");ia[ma]=!0,Gt=function(e,t){if(na(e,ma))throw new ha(sa);return t.facade=e,aa(e,ma,t),t},jt=function(e){return na(e,ma)?e[ma]:{}},Yt=function(e){return na(e,ma)}}var ga={set:Gt,get:jt,has:Yt,enforce:function(e){return Yt(e)?jt(e):Gt(e,{})},getterFor:function(e){return function(t){var a;if(!ta(t)||(a=jt(t)).type!==e)throw ha("Incompatible receiver, "+e+" required");return a}}},ba=l,ya=Be,pa=Function.prototype,Sa=ba&&Object.getOwnPropertyDescriptor,va=ya(pa,"name"),wa=va&&"something"===function(){}.name,Aa=va&&(!ba||ba&&Sa(pa,"name").configurable),Ha=s,Ta=j,Ca=Be,Ia=Ft,Ra=Ae,Oa=_t,Ea={EXISTS:va,PROPER:wa,CONFIGURABLE:Aa}.CONFIGURABLE,Ma=ga.get,Ba=ga.enforce,Pa=String(String).split("String");(kt.exports=function(e,t,a,n){var r,o=!!n&&!!n.unsafe,i=!!n&&!!n.enumerable,s=!!n&&!!n.noTargetGet,h=n&&void 0!==n.name?n.name:t;Ta(a)&&("Symbol("===String(h).slice(0,7)&&(h="["+String(h).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!Ca(a,"name")||Ea&&a.name!==h)&&Ia(a,"name",h),(r=Ba(a)).source||(r.source=Pa.join("string"==typeof h?h:""))),e!==Ha?(o?!s&&e[t]&&(i=!0):delete e[t],i?e[t]=a:Ia(e,t,a)):i?e[t]=a:Ra(t,a)})(Function.prototype,"toString",(function(){return Ta(this)&&Ma(this).source||Oa(this)}));var Da={},Fa=Math.ceil,ka=Math.floor,Na=function(e){var t=+e;return t!=t||0===t?0:(t>0?ka:Fa)(t)},La=Na,xa=Math.max,Ga=Math.min,ja=Na,Ya=Math.min,_a=function(e){return e>0?Ya(ja(e),9007199254740991):0},za=G,Ua=function(e,t){var a=La(e);return a<0?xa(a+t,0):Ga(a,t)},Ka=function(e){return _a(e.length)},Ja=function(e){return function(t,a,n){var r,o=za(t),i=Ka(o),s=Ua(n,i);if(e&&a!=a){for(;i>s;)if((r=o[s++])!=r)return!0}else for(;i>s;s++)if((e||s in o)&&o[s]===a)return e||s||0;return!e&&-1}},Za={includes:Ja(!0),indexOf:Ja(!1)},Wa=Be,Va=G,$a=Za.indexOf,qa=qt,Qa=T([].push),Xa=function(e,t){var a,n=Va(e),r=0,o=[];for(a in n)!Wa(qa,a)&&Wa(n,a)&&Qa(o,a);for(;t.length>r;)Wa(n,a=t[r++])&&(~$a(o,a)||Qa(o,a));return o},en=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],tn=Xa,an=en.concat("length","prototype");Da.f=Object.getOwnPropertyNames||function(e){return tn(e,an)};var nn={};nn.f=Object.getOwnPropertySymbols;var rn=J,on=Da,sn=nn,hn=Ct,cn=T([].concat),ln=rn("Reflect","ownKeys")||function(e){var t=on.f(hn(e)),a=sn.f;return a?cn(t,a(e)):t},un=Be,dn=ln,fn=h,mn=vt,gn=c,bn=j,yn=/#|\.prototype\./,pn=function(e,t){var a=vn[Sn(e)];return a==An||a!=wn&&(bn(t)?gn(t):!!t)},Sn=pn.normalize=function(e){return String(e).replace(yn,".").toLowerCase()},vn=pn.data={},wn=pn.NATIVE="N",An=pn.POLYFILL="P",Hn=pn,Tn=s,Cn=h.f,In=Ft,Rn=kt.exports,On=Ae,En=function(e,t){for(var a=dn(t),n=mn.f,r=fn.f,o=0;o<a.length;o++){var i=a[o];un(e,i)||n(e,i,r(t,i))}},Mn=Hn,Bn={};Bn[Ze("toStringTag")]="z";var Pn,Dn=s,Fn="[object z]"===String(Bn),kn=j,Nn=O,Ln=Ze("toStringTag"),xn=Dn.Object,Gn="Arguments"==Nn(function(){return arguments}()),jn=Fn?Nn:function(e){var t,a,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(a=function(e,t){try{return e[t]}catch(e){}}(t=xn(e),Ln))?a:Gn?Nn(t):"Object"==(n=Nn(t))&&kn(t.callee)?"Arguments":n},Yn=s.String,_n=Ct,zn=c,Un=s.RegExp,Kn=zn((function(){var e=Un("a","y");return e.lastIndex=2,null!=e.exec("abcd")})),Jn=Kn||zn((function(){return!Un("a","y").sticky})),Zn={BROKEN_CARET:Kn||zn((function(){var e=Un("^r","gy");return e.lastIndex=2,null!=e.exec("str")})),MISSED_STICKY:Jn,UNSUPPORTED_Y:Kn},Wn=Xa,Vn=en,$n=Object.keys||function(e){return Wn(e,Vn)},qn=vt,Qn=Ct,Xn=G,er=$n,tr=l?Object.defineProperties:function(e,t){Qn(e);for(var a,n=Xn(t),r=er(t),o=r.length,i=0;o>i;)qn.f(e,a=r[i++],n[a]);return e},ar=J("document","documentElement"),nr=Ct,rr=tr,or=en,ir=qt,sr=ar,hr=ht,cr=$t("IE_PROTO"),lr=function(){},ur=function(e){return"<script>"+e+"</"+"script>"},dr=function(e){e.write(ur("")),e.close();var t=e.parentWindow.Object;return e=null,t},fr=function(){try{Pn=new ActiveXObject("htmlfile")}catch(e){}var e,t;fr="undefined"!=typeof document?document.domain&&Pn?dr(Pn):((t=hr("iframe")).style.display="none",sr.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write(ur("document.F=Object")),e.close(),e.F):dr(Pn);for(var a=or.length;a--;)delete fr.prototype[or[a]];return fr()};ir[cr]=!0;var mr,gr,br=Object.create||function(e,t){var a;return null!==e?(lr.prototype=nr(e),a=new lr,lr.prototype=null,a[cr]=e):a=fr(),void 0===t?a:rr(a,t)},yr=c,pr=s.RegExp,Sr=yr((function(){var e=pr(".","s");return!(e.dotAll&&e.exec("\n")&&"s"===e.flags)})),vr=c,wr=s.RegExp,Ar=vr((function(){var e=wr("(?<a>b)","g");return"b"!==e.exec("b").groups.a||"bc"!=="b".replace(e,"$<a>c")})),Hr=d,Tr=T,Cr=function(e){if("Symbol"===jn(e))throw TypeError("Cannot convert a Symbol value to a string");return Yn(e)},Ir=function(){var e=_n(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t},Rr=Zn,Or=Se.exports,Er=br,Mr=ga.get,Br=Sr,Pr=Ar,Dr=Or("native-string-replace",String.prototype.replace),Fr=RegExp.prototype.exec,kr=Fr,Nr=Tr("".charAt),Lr=Tr("".indexOf),xr=Tr("".replace),Gr=Tr("".slice),jr=(gr=/b*/g,Hr(Fr,mr=/a/,"a"),Hr(Fr,gr,"a"),0!==mr.lastIndex||0!==gr.lastIndex),Yr=Rr.BROKEN_CARET,_r=void 0!==/()??/.exec("")[1];(jr||_r||Yr||Br||Pr)&&(kr=function(e){var t,a,n,r,o,i,s,h=this,c=Mr(h),l=Cr(e),u=c.raw;if(u)return u.lastIndex=h.lastIndex,t=Hr(kr,u,l),h.lastIndex=u.lastIndex,t;var d=c.groups,f=Yr&&h.sticky,m=Hr(Ir,h),g=h.source,b=0,y=l;if(f&&(m=xr(m,"y",""),-1===Lr(m,"g")&&(m+="g"),y=Gr(l,h.lastIndex),h.lastIndex>0&&(!h.multiline||h.multiline&&"\n"!==Nr(l,h.lastIndex-1))&&(g="(?: "+g+")",y=" "+y,b++),a=new RegExp("^(?:"+g+")",m)),_r&&(a=new RegExp("^"+g+"$(?!\\s)",m)),jr&&(n=h.lastIndex),r=Hr(Fr,f?a:h,y),f?r?(r.input=Gr(r.input,b),r[0]=Gr(r[0],b),r.index=h.lastIndex,h.lastIndex+=r[0].length):h.lastIndex=0:jr&&r&&(h.lastIndex=h.global?r.index+r[0].length:n),_r&&r&&r.length>1&&Hr(Dr,r[0],a,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(r[o]=void 0)})),r&&d)for(r.groups=i=Er(null),o=0;o<d.length;o++)i[(s=d[o])[0]]=r[s[1]];return r});(function(e,t){var a,n,r,o,i,s=e.target,h=e.global,c=e.stat;if(a=h?Tn:c?Tn[s]||On(s,{}):(Tn[s]||{}).prototype)for(n in t){if(o=t[n],r=e.noTargetGet?(i=Cn(a,n))&&i.value:a[n],!Mn(h?n:s+(c?".":"#")+n,e.forced)&&void 0!==r){if(typeof o==typeof r)continue;En(o,r)}(e.sham||r&&r.sham)&&In(o,"sham",!0),Rn(a,n,o,e)}})({target:"RegExp",proto:!0,forced:/./.exec!==kr},{exec:kr});var zr={"Asara B'Tevet":"Fast commemorating the siege of Jerusalem",Chanukah:"Hanukkah, the Jewish festival of rededication. Also known as the Festival of Lights","Days of the Omer":"7 weeks from the second night of Pesach to the day before Shavuot","Lag BaOmer":"33rd day of counting the Omer","Leil Selichot":"Prayers for forgiveness in preparation for the High Holidays","Pesach Sheni":"Second Passover, one month after Passover",Pesach:"Passover, the Feast of Unleavened Bread. Also called Chag HaMatzot (the Festival of Matzah), it commemorates the Exodus and freedom of the Israelites from ancient Egypt","Purim Katan":"Minor Purim celebration during Adar I on leap years",Purim:"Celebration of Jewish deliverance as told by Megilat Esther. It commemorates a time when the Jewish people living in Persia were saved from extermination","Rosh Chodesh Nisan":"Start of month of Nisan on the Hebrew calendar. נִיסָן (transliterated Nisan or Nissan) is the 1st month of the Hebrew year, has 30 days, and corresponds to March or April on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Iyyar":"Start of month of Iyyar on the Hebrew calendar. אִיָיר (transliterated Iyyar or Iyar) is the 2nd month of the Hebrew year, has 29 days, and corresponds to April or May on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Sivan":"Start of month of Sivan on the Hebrew calendar. Sivan (סִיוָן) is the 3rd month of the Hebrew year, has 30 days, and corresponds to May or June on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Tamuz":"Start of month of Tamuz on the Hebrew calendar. תַּמּוּז (transliterated Tamuz or Tammuz) is the 4th month of the Hebrew year, has 29 days, and corresponds to June or July on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Av":"Start of month of Av on the Hebrew calendar. Av (אָב) is the 5th month of the Hebrew year, has 30 days, and corresponds to July or August on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Elul":"Start of month of Elul on the Hebrew calendar. Elul (אֱלוּל) is the 6th month of the Hebrew year, has 29 days, and corresponds to August or September on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Cheshvan":"Start of month of Cheshvan on the Hebrew calendar. חֶשְׁוָן (transliterated Cheshvan or Heshvan) is the 8th month of the Hebrew year, has 29 or 30 days, and corresponds to October or November on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Kislev":"Start of month of Kislev on the Hebrew calendar. Kislev (כִּסְלֵו) is the 9th month of the Hebrew year, has 30 or 29 days, and corresponds to November or December on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Tevet":"Start of month of Tevet on the Hebrew calendar. Tevet (טֵבֵת) is the 10th month of the Hebrew year, has 29 days, and corresponds to December or January on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Sh'vat":"Start of month of Sh'vat on the Hebrew calendar. שְׁבָט (transliterated Sh'vat or Shevat) is the 11th month of the Hebrew year, has 30 days, and corresponds to January or February on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Adar":"Start of month of Adar on the Hebrew calendar. Adar (אַדָר) is the 12th month of the Hebrew year, has 29 days, and corresponds to February or March on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Adar I":"Start of month of Adar I (on leap years) on the Hebrew calendar. Adar I (אַדָר א׳) is the 12th month of the Hebrew year, occurs only on leap years, has 30 days, and corresponds to February or March on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon","Rosh Chodesh Adar II":'Start of month of Adar II (on leap years) on the Hebrew calendar. Adar II (אַדָר ב׳), sometimes "Adar Bet" or "Adar Sheni", is the 13th month of the Hebrew year, has 29 days, occurs only on leap years, and corresponds to February or March on the Gregorian calendar. רֹאשׁ חוֹדֶשׁ, transliterated Rosh Chodesh or Rosh Hodesh, is a minor holiday that occurs at the beginning of every month in the Hebrew calendar. It is marked by the birth of a new moon',"Rosh Hashana":"The Jewish New Year. Also spelled Rosh Hashanah","Rosh Hashana LaBehemot":"New Year for Tithing Animals","Shabbat Chazon":"Shabbat before Tish'a B'Av (Shabbat of Prophecy/Shabbat of Vision)","Shabbat HaChodesh":"Shabbat before Rosh Chodesh Nissan","Shabbat HaGadol":"Shabbat before Pesach","Shabbat Machar Chodesh":"When Shabbat falls the day before Rosh Chodesh","Shabbat Nachamu":"Shabbat after Tish'a B'Av (Shabbat of Consolation). The first of seven Shabbatot leading up to Rosh Hashanah. Named after the Haftarah (from Isaiah 40) which begins with the verse נַחֲמוּ נַחֲמוּ, עַמִּי (\"Comfort, oh comfort my people\")","Shabbat Parah":"Shabbat of the Red Heifer","Shabbat Rosh Chodesh":"When Shabbat falls on Rosh Chodesh","Shabbat Shekalim":"Shabbat before Rosh Chodesh Adar","Shabbat Shirah":"Shabbat of Song","Shabbat Shuva":"Shabbat that falls between Rosh Hashanah and Yom Kippur (Shabbat of Returning)","Shabbat Zachor":"Shabbat before Purim",Shavuot:"Festival of Weeks. Commemorates the giving of the Torah at Mount Sinai","Shmini Atzeret":"Eighth Day of Assembly","Shushan Purim":"Purim celebrated in Jerusalem and walled cities",Sigd:"Ethiopian Jewish holiday occurring 50 days after Yom Kippur","Simchat Torah":"Day of Celebrating the Torah",Sukkot:"Feast of Booths","Ta'anit Bechorot":"Fast of the First Born","Ta'anit Esther":"Fast of Esther","Tish'a B'Av":"The Ninth of Av. Fast commemorating the destruction of the two Temples","Tu B'Av":"Minor Jewish holiday of love. Observed on the 15th day of the Hebrew month of Av","Tu BiShvat":"New Year for Trees","Tzom Gedaliah":"Fast of the Seventh Month. Commemorates the assassination of the Jewish governor of Judah","Tzom Tammuz":"Fast commemorating breaching of the walls of Jerusalem before the destruction of the Second Temple","Yom HaAliyah":"Recognizes Aliyah, immigration to the Jewish State of Israel","Yom HaAliyah School Observance":"Aliyah Day observed in Israeli schools","Yom HaAtzma'ut":"Israeli Independence Day. Commemorates the declaration of independence of Israel in 1948. Note that Hebcal displays modern holidays like Yom HaAtzma'ut according to the Israeli schedule. Although Yom HaAtzma'ut is normally observed on the 5th of Iyyar, it may be moved earlier or postponed if observance of the holiday (or Yom HaZikaron, which always precedes it) would conflict with Shabbat","Yom HaShoah":"Holocaust Memorial Day","Yom HaZikaron":"Israeli Memorial Day. Note that Hebcal displays modern holidays like Yom HaZikaron according to the Israeli schedule. Although Yom Hazikaron is normally observed on the 4th of Iyyar, it may be moved earlier or postponed if observance of the holiday (or Yom HaAtzma'ut, which always follows it) would conflict with Shabbat","Yom Kippur":"Day of Atonement","Yom Yerushalayim":"Jerusalem Day. Commemorates the re-unification of Jerusalem in 1967"};function Ur(e){return e.toLowerCase().replace(/'/g,"").replace(/[^\w]/g,"-").replace(/-+/g,"-").replace(/^-/g,"").replace(/-$/g,"")}function Kr(e){return e<10?"0"+e:String(e)}function Jr(e){return e<0?"-00"+Jr(-e):e<10?"000"+e:e<100?"00"+e:e<1e3?"0"+e:String(e)}function Zr(e){return Jr(e.getFullYear())+"-"+Kr(e.getMonth()+1)+"-"+Kr(e.getDate())}function Wr(e){const a=e.getDesc();if("Fast begins"===a||"Fast ends"===a)return["zmanim","fast"];switch(e.getFlags()){case t.flags.OMER_COUNT:return["omer"];case t.flags.HEBREW_DATE:return["hebdate"];case t.flags.PARSHA_HASHAVUA:return["parashat"];case t.flags.DAF_YOMI:return["dafyomi"];case t.flags.ROSH_CHODESH:return["roshchodesh"];case t.flags.SPECIAL_SHABBAT:return["holiday","shabbat"];case t.flags.MINOR_FAST:return["holiday","fast"];case t.flags.MAJOR_FAST:return["holiday","fast","major"];case t.flags.MODERN_HOLIDAY:return["holiday","modern"];case t.flags.SHABBAT_MEVARCHIM:return["mevarchim"];case t.flags.MOLAD:return["molad"];case t.flags.USER_EVENT:return["user"];case t.flags.MINOR_HOLIDAY:return["holiday","minor"]}if(e.cholHaMoedDay)return["holiday","major","cholhamoed"];switch(a){case"Havdalah":return["havdalah"];case"Candle lighting":return["candles"];case"Lag BaOmer":case"Leil Selichot":case"Pesach Sheni":case"Erev Purim":case"Purim Katan":case"Shushan Purim":case"Tu B'Av":case"Tu BiShvat":case"Rosh Hashana LaBehemot":return["holiday","minor"];case"Erev Tish'a B'Av":return["holiday","fast","major"];default:return["holiday","major"]}}function Vr(e,t){let a="Hebcal";const n=t.location;if(t.yahrzeit)a+=" Yahrzeits and Anniversaries";else if(n&&n.name){const e=n.name.indexOf(",");a+=" "+(-1==e?n.name:n.name.substring(0,e))}else t.il?a+=" Israel":a+=" Diaspora";if("1"==t.subscribe)return a;if(t.isHebrewYear||0==e.length)a+=" "+t.year;else{const t=e[0].getDate().greg(),n=e[e.length-1].getDate().greg();if(t.getFullYear()!=n.getFullYear())a+=" "+t.getFullYear()+"-"+n.getFullYear();else if(t.getMonth()==n.getMonth()){a+=" "+new Intl.DateTimeFormat("en-US",{month:"long"}).format(t)+" "+t.getFullYear()}else a+=" "+t.getFullYear()}return a}function $r(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const a=zr[e.getDesc()]||zr[e.basename()]||"";if(t&&a){const e=a.indexOf(".");if(-1!=e)return a.substring(0,e)}return a}const qr=t.flags.DAF_YOMI|t.flags.OMER_COUNT|t.flags.SHABBAT_MEVARCHIM|t.flags.MOLAD|t.flags.USER_EVENT|t.flags.HEBREW_DATE;function Qr(e,a){const n=e.getFlags();if(n&qr)return"";const o=n&t.flags.PARSHA_HASHAVUA?r.getLeyningForParshaHaShavua(e,a):r.getLeyningForHoliday(e,a);let i="";return o&&(o.summary||o.haftara)&&(o.summary&&(i+="Torah: ".concat(o.summary)),o.summary&&o.haftara&&(i+="\n"),o.haftara&&(i+="Haftarah: "+o.haftara,o.reason&&o.reason.haftara&&(i+=" | "+o.reason.haftara))),o&&o.sephardic&&(i+="\nHaftarah for Sephardim: "+o.sephardic),i}function Xr(e,t,a,n,r){"https://www.hebcal.com"!==e.substring(0,22)?a="hebcal.com":t&&-1===e.indexOf("?")&&(e+="?i=on");const o=-1===e.indexOf("?")?"?":"&";return e+o+"utm_source=".concat(a,"&utm_medium=").concat(n)+(r?"&utm_campaign=".concat(r):"")}function eo(e){if(void 0!==e.eventTime)return!0;const a=e.getFlags();if(a&t.flags.HEBREW_DATE){return 1!==e.getDate().getDate()}return!!(a&t.flags.DAF_YOMI)}const to='"Subject","Start Date","Start Time","End Date","End Time","All day event","Description","Show time as","Location"',ao={dafyomi:"Daf Yomi",hebdate:"Hebrew Date",holiday:"Jewish Holidays",mevarchim:null,molad:null,omer:null,parashat:"Torah Reading",roshchodesh:"Jewish Holidays",user:"Personal"};function no(e,a){const n=e.getDate().greg(),r=n.getDate(),o=n.getMonth()+1,i=String(n.getFullYear()).padStart(4,"0"),s=a.euro?'"'.concat(r,"/").concat(o,"/").concat(i,'"'):'"'.concat(o,"/").concat(r,"/").concat(i,'"');let h="",c="",l="",u='"true"';const d=Boolean(e.eventTime);let f=eo(e)?e.renderBrief(a.locale):e.render(a.locale);if(e.eventTime){const n=t.HebrewCalendar.reformatTimeStr(e.eventTimeStr," PM",a);c=h='"'.concat(n,'"'),l=s,u='"false"'}let m="Jewish Holidays";const g=e.getFlags();if(d&&a.location&&a.location.name){const e=a.location.name,t=e.indexOf(",");m=-1===t?e:e.substring(0,t)}else if(g&t.flags.DAF_YOMI){const e=f.indexOf(": ");-1!=e&&(m=f.substring(0,e),f=f.substring(e+2))}else{const t=ao[Wr(e)[0]];t&&(m=t)}if(f=f.replace(/,/g,"").replace(/"/g,"''"),a.appendHebrewToSubject){const t=e.renderBrief("he");t&&(f+=" / ".concat(t))}let b=e.memo||$r(e,!0);b||void 0===e.linkedEvent||(b=e.linkedEvent.render(a.locale));const y=b.replace(/,/g,";").replace(/"/g,"''"),p=d||g&t.flags.CHAG?4:3;return'"'.concat(f,'",').concat(s,",").concat(h,",").concat(l,",").concat(c,",").concat(u,',"').concat(y,'","').concat(p,'","').concat(m,'"')}var ro={AD:"Andorra",AE:"United Arab Emirates",AF:"Afghanistan",AI:"Anguilla",AL:"Albania",AM:"Armenia",AO:"Angola",AR:"Argentina",AS:"American Samoa",AT:"Austria",AU:"Australia",AW:"Aruba",AZ:"Azerbaijan",BA:"Bosnia and Herzegovina",BB:"Barbados",BD:"Bangladesh",BE:"Belgium",BF:"Burkina Faso",BG:"Bulgaria",BH:"Bahrain",BI:"Burundi",BJ:"Benin",BM:"Bermuda",BN:"Brunei",BO:"Bolivia",BR:"Brazil",BS:"Bahamas",BT:"Bhutan",BW:"Botswana",BY:"Belarus",BZ:"Belize",CA:"Canada",CD:"Democratic Republic of the Congo",CF:"Central African Republic",CG:"Republic of the Congo",CH:"Switzerland",CI:"Ivory Coast",CK:"Cook Islands",CL:"Chile",CM:"Cameroon",CN:"China",CO:"Colombia",CR:"Costa Rica",CU:"Cuba",CV:"Cape Verde",CW:"Curacao",CY:"Cyprus",CZ:"Czech Republic",DE:"Germany",DK:"Denmark",DM:"Dominica",DO:"Dominican Republic",DZ:"Algeria",EC:"Ecuador",EE:"Estonia",EG:"Egypt",ER:"Eritrea",ES:"Spain",ET:"Ethiopia",FI:"Finland",FJ:"Fiji",FK:"Falkland Islands",FO:"Faroe Islands",FR:"France",GA:"Gabon",GB:"United Kingdom",GE:"Georgia",GH:"Ghana",GI:"Gibraltar",GL:"Greenland",GM:"Gambia",GN:"Guinea",GQ:"Equatorial Guinea",GR:"Greece",GT:"Guatemala",GW:"Guinea-Bissau",GY:"Guyana",HK:"Hong Kong",HN:"Honduras",HR:"Croatia",HT:"Haiti",HU:"Hungary",ID:"Indonesia",IE:"Ireland",IL:"Israel",IM:"Isle of Man",IN:"India",IQ:"Iraq",IR:"Iran",IS:"Iceland",IT:"Italy",JM:"Jamaica",JO:"Jordan",JP:"Japan",KE:"Kenya",KG:"Kyrgyzstan",KH:"Cambodia",KM:"Comoros",KN:"Saint Kitts and Nevis",KP:"North Korea",KR:"South Korea",KW:"Kuwait",KY:"Cayman Islands",KZ:"Kazakhstan",LA:"Laos",LB:"Lebanon",LC:"Saint Lucia",LI:"Liechtenstein",LR:"Liberia",LS:"Lesotho",LT:"Lithuania",LU:"Luxembourg",LV:"Latvia",LY:"Libya",MA:"Morocco",MD:"Moldova",ME:"Montenegro",MG:"Madagascar",MK:"Macedonia",ML:"Mali",MM:"Myanmar",MN:"Mongolia",MP:"Northern Mariana Islands",MR:"Mauritania",MS:"Montserrat",MT:"Malta",MU:"Mauritius",MW:"Malawi",MX:"Mexico",MY:"Malaysia",MZ:"Mozambique",NA:"Namibia",NC:"New Caledonia",NE:"Niger",NG:"Nigeria",NI:"Nicaragua",NL:"Netherlands",NO:"Norway",NP:"Nepal",NU:"Niue",NZ:"New Zealand",OM:"Oman",PA:"Panama",PE:"Peru",PF:"French Polynesia",PG:"Papua New Guinea",PH:"Philippines",PK:"Pakistan",PL:"Poland",PR:"Puerto Rico",PT:"Portugal",PY:"Paraguay",QA:"Qatar",RO:"Romania",RS:"Serbia",RU:"Russia",RW:"Rwanda",SA:"Saudi Arabia",SB:"Solomon Islands",SC:"Seychelles",SD:"Sudan",SE:"Sweden",SG:"Singapore",SH:"Saint Helena",SI:"Slovenia",SK:"Slovakia",SL:"Sierra Leone",SN:"Senegal",SO:"Somalia",SR:"Suriname",ST:"Sao Tome and Principe",SV:"El Salvador",SY:"Syria",SZ:"Swaziland",TC:"Turks and Caicos Islands",TD:"Chad",TG:"Togo",TH:"Thailand",TJ:"Tajikistan",TM:"Turkmenistan",TN:"Tunisia",TR:"Turkey",TV:"Tuvalu",TW:"Taiwan",TZ:"Tanzania",UA:"Ukraine",UG:"Uganda",US:"United States",UY:"Uruguay",UZ:"Uzbekistan",VC:"Saint Vincent and the Grenadines",VE:"Venezuela",VG:"British Virgin Islands",VN:"Vietnam",WS:"Samoa",YE:"Yemen",YT:"Mayotte",ZA:"South Africa",ZM:"Zambia",ZW:"Zimbabwe"};function oo(e,a){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const o=Boolean(e.eventTime),i=e.getDate(),s=i.greg(),h="object"==typeof a.location?a.location.getTzid():"UTC",c=o?t.Zmanim.formatISOWithTimeZone(h,e.eventTime):Zr(s),l=Wr(e),u=e.getFlags();let d=eo(e)?e.renderBrief(a.locale):e.render(a.locale);const f=e.getDesc(),m="Havdalah"===f||"Candle lighting"===f;if(m){d+=": "+t.HebrewCalendar.reformatTimeStr(e.eventTimeStr,"pm",a)}const g={title:d,date:c,category:l[0]};l.length>1&&(g.subcat=l[1]),"holiday"===l[0]&&u&t.flags.CHAG&&(g.yomtov=!0),d!=f&&(g.title_orig=f);const b=e.renderBrief("he");if(b&&(g.hebrew=t.Locale.hebrewStripNikkud(b)),!m){if(n){const n=a.il,o=u===t.flags.PARSHA_HASHAVUA,s=o?r.getLeyningForParshaHaShavua(e,n):r.getLeyningForHoliday(e,n);if(s){g.leyning=so(s);const t=i.getFullYear();if(o&&!n&&t>=5745&&t<=5830){const t=r.getTriennialForParshaHaShavua(e);t&&(g.leyning.triennial=io({},t))}}}const o=e.url();if(o){const e=a.utmSource||"js",t=a.utmMedium||"api",n=a.utmCampaign;g.link=Xr(o,a.il,e,t,n)}}const y=e.memo||zr[e.basename()];return y?g.memo=y:void 0!==e.linkedEvent&&(g.memo=e.linkedEvent.render(a.locale)),g}function io(e,t){return Object.keys(t).forEach((a=>{const n=t[a];if(void 0!==n){e["M"==a?"maftir":a]=r.formatAliyahWithBook(n)}})),e}function so(e){const t={};return e.summary&&(t.torah=e.summary),e.haftara&&(t.haftarah=e.haftara),e.sephardic&&(t.haftarah_sephardic=e.sephardic),e.fullkriyah&&io(t,e.fullkriyah),e.reason&&(["7","8","M"].forEach((a=>{if(e.reason[a]){t["M"==a?"maftir":a]+=" | "+e.reason[a]}})),e.reason.haftara&&(t.haftarah+=" | "+e.reason.haftara)),t}function ho(e,t){const a=new Date,n=a.getFullYear(),r=a.toUTCString(),o=new Intl.DateTimeFormat("en-US",{weekday:"long",day:"2-digit",month:"long",year:"numeric"}),i=t.location,s=t.mainUrl,h=t.evPubDate,c=t.title,l=Xr(s,i&&i.getIsrael(),t.utmSource,t.utmMedium,t.utmCampaign).replace(/&/g,"&"),u=t.selfUrl.replace(/&/g,"&");let d='<?xml version="1.0" encoding="UTF-8"?>\n<rss version="2.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:atom="http://www.w3.org/2005/Atom">\n<channel>\n<title>'.concat(c,"</title>\n<link>").concat(l,'</link>\n<atom:link href="').concat(u,'" rel="self" type="application/rss+xml" />\n<description>').concat(t.description,"</description>\n<language>").concat(t.lang,"</language>\n<copyright>Copyright (c) ").concat(n," Michael J. Radwin. All rights reserved.</copyright>\n<lastBuildDate>").concat(r,"</lastBuildDate>\n");return e.forEach((e=>{d+=co(e,h,r,o,i,s)})),d+="</channel>\n</rss>\n",d}function co(e,a,n,r,o,i){let s=e.render();const h=e.getDate().greg(),c=function(e,t,a,n){if(t){const t=e.eventTime;return t?t.toUTCString():a.toUTCString().replace(/ \S+ GMT$/," 00:00:00 GMT")}return n}(e,a,h,n),l=!!o&&o.getIsrael(),u=function(e,a,n,r){let o,i;const s=e.eventTime||e.getDate().greg(),h=t.Zmanim.formatISOWithTimeZone(n,s),c=h.substring(0,h.indexOf("T")),l=c.replace(/-/g,""),u=Ur(e.getDesc()),d="".concat(l,"-").concat(u),f=e.url();if(f)o=Xr(f,a,"shabbat1c","rss").replace(/&/g,"&"),i="".concat(f,"#").concat(d);else{const e="".concat(r,"&dt=").concat(c),t=Xr(e,a,"shabbat1c","rss").replace(/&/g,"&");i=e.replace(/&/g,"&")+"#".concat(d),o="".concat(t,"#").concat(d)}return[o,i]}(e,l,o?o.getTzid():"UTC",i),d=u[0],f=u[1],m=Wr(e)[0],g=e.getDesc();let b;if("Havdalah"===g||"Candle lighting"===g){const a=s.indexOf(": ");if(-1!=a){const n={location:o,il:l,locale:t.Locale.getLocaleName()},r=t.HebrewCalendar.reformatTimeStr(e.eventTimeStr,"pm",n);s=s.substring(0,a)+": "+r}}else b=e.getFlags()&t.flags.PARSHA_HASHAVUA?Qr(e,l):e.memo||zr[e.basename()];const y=b||r.format(h),p="candles"==m?"<geo:lat>".concat(o.getLatitude(),"</geo:lat>\n<geo:long>").concat(o.getLongitude(),"</geo:long>\n"):"";return"<item>\n<title>".concat(s,"</title>\n<link>").concat(d,'</link>\n<guid isPermaLink="false">').concat(f,"</guid>\n<description>").concat(y,"</description>\n<category>").concat(m,"</category>\n<pubDate>").concat(c,"</pubDate>\n").concat(p,"</item>\n")}return e.appendIsraelAndTracking=Xr,e.countryNames=ro,e.eventToClassicApiObject=oo,e.eventToCsv=no,e.eventToFullCalendar=function(e,a,n){const r=Wr(e),o=e.getFlags();"holiday"==r[0]&&o&t.flags.CHAG&&r.push("yomtov");const i=Boolean(e.eventTime),s={title:eo(e)?e.renderBrief():e.render(),start:i?t.Zmanim.formatISOWithTimeZone(a,e.eventTime):Zr(e.getDate().greg()),allDay:!i,className:r.join(" ")},h=e.renderBrief("he");h&&(s.hebrew=t.Locale.hebrewStripNikkud(h));const c=e.url();c&&(s.url=Xr(c,n,"js","fc"));const l=e.getDesc();if(!("Havdalah"===l||"Candle lighting"===l)){const a=o&t.flags.PARSHA_HASHAVUA?Qr(e,n):e.memo||zr[e.basename()];a?s.description=a:void 0!==e.linkedEvent&&(s.description=e.linkedEvent.render())}return s},e.eventToRssItem=co,e.eventsToClassicApi=function(e,t){let a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const n={title:Vr(e,t),date:(new Date).toISOString()},r=t.location;return"object"==typeof r&&"string"==typeof r.name?(n.location={title:r.getName(),city:r.getShortName(),tzid:r.getTzid(),latitude:r.getLatitude(),longitude:r.getLongitude(),cc:r.getCountryCode(),country:ro[r.getCountryCode()]},["admin1","asciiname","geo","zip","state","geonameid"].forEach((e=>{r[e]&&(n.location[e]=r[e])}))):n.location={geo:"none"},n.items=e.map((e=>oo(e,t,a))),n},e.eventsToCsv=function(e,t){return[to].concat(e.map((e=>no(e,t)))).join("\r\n")+"\r\n"},e.eventsToRss=function(e,a,n,r){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"en-US",i=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];const s=a.getName(),h={location:a,mainUrl:n,selfUrl:r,lang:o,evPubDate:i,title:t.Locale.gettext("Shabbat")+" Times for ".concat(s),description:"Weekly Shabbat candle lighting times for ".concat(s),utmSource:"shabbat1c",utmMedium:"rss"};return ho(e,h)},e.eventsToRss2=ho,e.getCalendarTitle=Vr,e.getDownloadFilename=function(e){let t="hebcal_"+e.year;if(e.isHebrewYear&&(t+="h"),e.month&&(t+="_"+e.month),e.location){t+="_"+Ur(e.location.zip||e.location.asciiname||e.location.getShortName()).replace(/[-]/g,"_")}return t},e.getEventCategories=Wr,e.getHolidayDescription=$r,e.holidayDescription=zr,e.makeAnchor=Ur,e.makeTorahMemoText=Qr,e.pad2=Kr,e.pad4=Jr,e.renderTitleWithoutTime=function(e){return void 0===e.eventTime?e.render():e.renderBrief()},e.shouldRenderBrief=eo,e.timeZoneOffsetStr=function(e,a){return t.Zmanim.timeZoneOffset(e,a)},e.toISOString=Zr,e.toISOStringWithTimezone=function(e,a,n){const r=Zr(e);return a?r+"T"+a+":00"+t.Zmanim.timeZoneOffset(n,e):r},Object.defineProperty(e,"__esModule",{value:!0}),e}({},hebcal);
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/rest-api v3.
|
|
1
|
+
/*! @hebcal/rest-api v3.10.0 */
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
@@ -244,6 +244,10 @@ function getCalendarTitle(events, options) {
|
|
|
244
244
|
title += ' Diaspora';
|
|
245
245
|
}
|
|
246
246
|
|
|
247
|
+
if (options.subscribe == '1') {
|
|
248
|
+
return title;
|
|
249
|
+
}
|
|
250
|
+
|
|
247
251
|
if (options.isHebrewYear || events.length == 0) {
|
|
248
252
|
title += ' ' + options.year;
|
|
249
253
|
} else {
|
|
@@ -349,6 +353,25 @@ function appendIsraelAndTracking(url, il, utmSource, utmMedium, utmCampaign) {
|
|
|
349
353
|
const campaign = utmCampaign ? `&utm_campaign=${utmCampaign}` : '';
|
|
350
354
|
return url + sep + utm + campaign;
|
|
351
355
|
}
|
|
356
|
+
/**
|
|
357
|
+
* @private
|
|
358
|
+
* @param {Event} ev
|
|
359
|
+
* @return {boolean}
|
|
360
|
+
*/
|
|
361
|
+
|
|
362
|
+
function shouldRenderBrief(ev) {
|
|
363
|
+
if (typeof ev.eventTime !== 'undefined') return true;
|
|
364
|
+
const mask = ev.getFlags();
|
|
365
|
+
|
|
366
|
+
if (mask & core.flags.HEBREW_DATE) {
|
|
367
|
+
const hd = ev.getDate();
|
|
368
|
+
return hd.getDate() === 1 ? false : true;
|
|
369
|
+
} else if (mask & core.flags.DAF_YOMI) {
|
|
370
|
+
return true;
|
|
371
|
+
} else {
|
|
372
|
+
return false;
|
|
373
|
+
}
|
|
374
|
+
}
|
|
352
375
|
|
|
353
376
|
const csvHeader = '"Subject","Start Date","Start Time","End Date","End Time","All day event","Description","Show time as","Location"';
|
|
354
377
|
const CATEGORY = {
|
|
@@ -365,7 +388,7 @@ const CATEGORY = {
|
|
|
365
388
|
/**
|
|
366
389
|
* Renders an Event as a string
|
|
367
390
|
* @param {Event} e
|
|
368
|
-
* @param {
|
|
391
|
+
* @param {HebrewCalendar.Options} options
|
|
369
392
|
* @return {string}
|
|
370
393
|
*/
|
|
371
394
|
|
|
@@ -380,7 +403,7 @@ function eventToCsv(e, options) {
|
|
|
380
403
|
let endDate = '';
|
|
381
404
|
let allDay = '"true"';
|
|
382
405
|
const timed = Boolean(e.eventTime);
|
|
383
|
-
let subj =
|
|
406
|
+
let subj = shouldRenderBrief(e) ? e.renderBrief(options.locale) : e.render(options.locale);
|
|
384
407
|
|
|
385
408
|
if (e.eventTime) {
|
|
386
409
|
const timeStr = core.HebrewCalendar.reformatTimeStr(e.eventTimeStr, ' PM', options);
|
|
@@ -424,7 +447,7 @@ function eventToCsv(e, options) {
|
|
|
424
447
|
let memo0 = e.memo || getHolidayDescription(e, true);
|
|
425
448
|
|
|
426
449
|
if (!memo0 && typeof e.linkedEvent !== 'undefined') {
|
|
427
|
-
memo0 = e.linkedEvent.render();
|
|
450
|
+
memo0 = e.linkedEvent.render(options.locale);
|
|
428
451
|
}
|
|
429
452
|
|
|
430
453
|
const memo = memo0.replace(/,/g, ';').replace(/"/g, '\'\'');
|
|
@@ -482,7 +505,6 @@ function eventsToClassicApi(events, options, leyning = true) {
|
|
|
482
505
|
result.items = events.map(ev => eventToClassicApiObject(ev, options, leyning));
|
|
483
506
|
return result;
|
|
484
507
|
}
|
|
485
|
-
const BRIEF_FLAGS$1 = core.flags.DAF_YOMI | core.flags.HEBREW_DATE;
|
|
486
508
|
/**
|
|
487
509
|
* Converts a Hebcal event to a classic Hebcal.com JSON API object
|
|
488
510
|
* @param {Event} ev
|
|
@@ -499,7 +521,7 @@ function eventToClassicApiObject(ev, options, leyning = true) {
|
|
|
499
521
|
const date = timed ? core.Zmanim.formatISOWithTimeZone(tzid, ev.eventTime) : toISOString(dt);
|
|
500
522
|
const categories = getEventCategories(ev);
|
|
501
523
|
const mask = ev.getFlags();
|
|
502
|
-
let title =
|
|
524
|
+
let title = shouldRenderBrief(ev) ? ev.renderBrief(options.locale) : ev.render(options.locale);
|
|
503
525
|
const desc = ev.getDesc();
|
|
504
526
|
const candles = desc === 'Havdalah' || desc === 'Candle lighting';
|
|
505
527
|
|
|
@@ -675,25 +697,49 @@ function getLinkAndGuid(ev, il, tzid, mainUrl) {
|
|
|
675
697
|
|
|
676
698
|
function eventsToRss(events, location, mainUrl, selfUrl, lang = 'en-US', evPubDate = true) {
|
|
677
699
|
const cityDescr = location.getName();
|
|
678
|
-
const
|
|
679
|
-
|
|
680
|
-
|
|
700
|
+
const options = {
|
|
701
|
+
location,
|
|
702
|
+
mainUrl,
|
|
703
|
+
selfUrl,
|
|
704
|
+
lang,
|
|
705
|
+
evPubDate,
|
|
706
|
+
title: core.Locale.gettext('Shabbat') + ` Times for ${cityDescr}`,
|
|
707
|
+
description: `Weekly Shabbat candle lighting times for ${cityDescr}`,
|
|
708
|
+
utmSource: 'shabbat1c',
|
|
709
|
+
utmMedium: 'rss'
|
|
710
|
+
};
|
|
711
|
+
return eventsToRss2(events, options);
|
|
712
|
+
}
|
|
713
|
+
/**
|
|
714
|
+
* @param {Event[]} events
|
|
715
|
+
* @param {HebrewCalendar.Options} options
|
|
716
|
+
* @return {string}
|
|
717
|
+
*/
|
|
718
|
+
|
|
719
|
+
function eventsToRss2(events, options) {
|
|
720
|
+
const now = new Date();
|
|
721
|
+
const thisYear = now.getFullYear();
|
|
722
|
+
const lastBuildDate = now.toUTCString();
|
|
681
723
|
const dayFormat = new Intl.DateTimeFormat('en-US', {
|
|
682
724
|
weekday: 'long',
|
|
683
725
|
day: '2-digit',
|
|
684
726
|
month: 'long',
|
|
685
727
|
year: 'numeric'
|
|
686
728
|
});
|
|
687
|
-
const
|
|
688
|
-
|
|
729
|
+
const location = options.location;
|
|
730
|
+
const mainUrl = options.mainUrl;
|
|
731
|
+
const evPubDate = options.evPubDate;
|
|
732
|
+
const title = options.title;
|
|
733
|
+
const mainUrlEsc = appendIsraelAndTracking(mainUrl, location && location.getIsrael(), options.utmSource, options.utmMedium, options.utmCampaign).replace(/&/g, '&');
|
|
734
|
+
const selfUrlEsc = options.selfUrl.replace(/&/g, '&');
|
|
689
735
|
let str = `<?xml version="1.0" encoding="UTF-8"?>
|
|
690
736
|
<rss version="2.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:atom="http://www.w3.org/2005/Atom">
|
|
691
737
|
<channel>
|
|
692
738
|
<title>${title}</title>
|
|
693
739
|
<link>${mainUrlEsc}</link>
|
|
694
|
-
<atom:link href="${
|
|
695
|
-
<description
|
|
696
|
-
<language>${lang}</language>
|
|
740
|
+
<atom:link href="${selfUrlEsc}" rel="self" type="application/rss+xml" />
|
|
741
|
+
<description>${options.description}</description>
|
|
742
|
+
<language>${options.lang}</language>
|
|
697
743
|
<copyright>Copyright (c) ${thisYear} Michael J. Radwin. All rights reserved.</copyright>
|
|
698
744
|
<lastBuildDate>${lastBuildDate}</lastBuildDate>
|
|
699
745
|
`;
|
|
@@ -780,7 +826,6 @@ ${geoTags}</item>
|
|
|
780
826
|
`;
|
|
781
827
|
}
|
|
782
828
|
|
|
783
|
-
const BRIEF_FLAGS = core.flags.DAF_YOMI | core.flags.HEBREW_DATE;
|
|
784
829
|
/**
|
|
785
830
|
* Converts a Hebcal event to a FullCalendar.io object
|
|
786
831
|
* @param {Event} ev
|
|
@@ -798,7 +843,7 @@ function eventToFullCalendar(ev, tzid, il) {
|
|
|
798
843
|
}
|
|
799
844
|
|
|
800
845
|
const timed = Boolean(ev.eventTime);
|
|
801
|
-
const title =
|
|
846
|
+
const title = shouldRenderBrief(ev) ? ev.renderBrief() : ev.render();
|
|
802
847
|
const start = timed ? core.Zmanim.formatISOWithTimeZone(tzid, ev.eventTime) : toISOString(ev.getDate().greg());
|
|
803
848
|
const result = {
|
|
804
849
|
title,
|
|
@@ -843,6 +888,7 @@ exports.eventToRssItem = eventToRssItem;
|
|
|
843
888
|
exports.eventsToClassicApi = eventsToClassicApi;
|
|
844
889
|
exports.eventsToCsv = eventsToCsv;
|
|
845
890
|
exports.eventsToRss = eventsToRss;
|
|
891
|
+
exports.eventsToRss2 = eventsToRss2;
|
|
846
892
|
exports.getCalendarTitle = getCalendarTitle;
|
|
847
893
|
exports.getDownloadFilename = getDownloadFilename;
|
|
848
894
|
exports.getEventCategories = getEventCategories;
|
|
@@ -853,6 +899,7 @@ exports.makeTorahMemoText = makeTorahMemoText;
|
|
|
853
899
|
exports.pad2 = pad2;
|
|
854
900
|
exports.pad4 = pad4;
|
|
855
901
|
exports.renderTitleWithoutTime = renderTitleWithoutTime;
|
|
902
|
+
exports.shouldRenderBrief = shouldRenderBrief;
|
|
856
903
|
exports.timeZoneOffsetStr = timeZoneOffsetStr;
|
|
857
904
|
exports.toISOString = toISOString;
|
|
858
905
|
exports.toISOStringWithTimezone = toISOStringWithTimezone;
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @hebcal/rest-api v3.
|
|
1
|
+
/*! @hebcal/rest-api v3.10.0 */
|
|
2
2
|
import { flags, Zmanim, HebrewCalendar, Locale } from '@hebcal/core';
|
|
3
3
|
import * as leyn from '@hebcal/leyning';
|
|
4
4
|
|
|
@@ -220,6 +220,10 @@ function getCalendarTitle(events, options) {
|
|
|
220
220
|
title += ' Diaspora';
|
|
221
221
|
}
|
|
222
222
|
|
|
223
|
+
if (options.subscribe == '1') {
|
|
224
|
+
return title;
|
|
225
|
+
}
|
|
226
|
+
|
|
223
227
|
if (options.isHebrewYear || events.length == 0) {
|
|
224
228
|
title += ' ' + options.year;
|
|
225
229
|
} else {
|
|
@@ -325,6 +329,25 @@ function appendIsraelAndTracking(url, il, utmSource, utmMedium, utmCampaign) {
|
|
|
325
329
|
const campaign = utmCampaign ? `&utm_campaign=${utmCampaign}` : '';
|
|
326
330
|
return url + sep + utm + campaign;
|
|
327
331
|
}
|
|
332
|
+
/**
|
|
333
|
+
* @private
|
|
334
|
+
* @param {Event} ev
|
|
335
|
+
* @return {boolean}
|
|
336
|
+
*/
|
|
337
|
+
|
|
338
|
+
function shouldRenderBrief(ev) {
|
|
339
|
+
if (typeof ev.eventTime !== 'undefined') return true;
|
|
340
|
+
const mask = ev.getFlags();
|
|
341
|
+
|
|
342
|
+
if (mask & flags.HEBREW_DATE) {
|
|
343
|
+
const hd = ev.getDate();
|
|
344
|
+
return hd.getDate() === 1 ? false : true;
|
|
345
|
+
} else if (mask & flags.DAF_YOMI) {
|
|
346
|
+
return true;
|
|
347
|
+
} else {
|
|
348
|
+
return false;
|
|
349
|
+
}
|
|
350
|
+
}
|
|
328
351
|
|
|
329
352
|
const csvHeader = '"Subject","Start Date","Start Time","End Date","End Time","All day event","Description","Show time as","Location"';
|
|
330
353
|
const CATEGORY = {
|
|
@@ -341,7 +364,7 @@ const CATEGORY = {
|
|
|
341
364
|
/**
|
|
342
365
|
* Renders an Event as a string
|
|
343
366
|
* @param {Event} e
|
|
344
|
-
* @param {
|
|
367
|
+
* @param {HebrewCalendar.Options} options
|
|
345
368
|
* @return {string}
|
|
346
369
|
*/
|
|
347
370
|
|
|
@@ -356,7 +379,7 @@ function eventToCsv(e, options) {
|
|
|
356
379
|
let endDate = '';
|
|
357
380
|
let allDay = '"true"';
|
|
358
381
|
const timed = Boolean(e.eventTime);
|
|
359
|
-
let subj =
|
|
382
|
+
let subj = shouldRenderBrief(e) ? e.renderBrief(options.locale) : e.render(options.locale);
|
|
360
383
|
|
|
361
384
|
if (e.eventTime) {
|
|
362
385
|
const timeStr = HebrewCalendar.reformatTimeStr(e.eventTimeStr, ' PM', options);
|
|
@@ -400,7 +423,7 @@ function eventToCsv(e, options) {
|
|
|
400
423
|
let memo0 = e.memo || getHolidayDescription(e, true);
|
|
401
424
|
|
|
402
425
|
if (!memo0 && typeof e.linkedEvent !== 'undefined') {
|
|
403
|
-
memo0 = e.linkedEvent.render();
|
|
426
|
+
memo0 = e.linkedEvent.render(options.locale);
|
|
404
427
|
}
|
|
405
428
|
|
|
406
429
|
const memo = memo0.replace(/,/g, ';').replace(/"/g, '\'\'');
|
|
@@ -458,7 +481,6 @@ function eventsToClassicApi(events, options, leyning = true) {
|
|
|
458
481
|
result.items = events.map(ev => eventToClassicApiObject(ev, options, leyning));
|
|
459
482
|
return result;
|
|
460
483
|
}
|
|
461
|
-
const BRIEF_FLAGS$1 = flags.DAF_YOMI | flags.HEBREW_DATE;
|
|
462
484
|
/**
|
|
463
485
|
* Converts a Hebcal event to a classic Hebcal.com JSON API object
|
|
464
486
|
* @param {Event} ev
|
|
@@ -475,7 +497,7 @@ function eventToClassicApiObject(ev, options, leyning = true) {
|
|
|
475
497
|
const date = timed ? Zmanim.formatISOWithTimeZone(tzid, ev.eventTime) : toISOString(dt);
|
|
476
498
|
const categories = getEventCategories(ev);
|
|
477
499
|
const mask = ev.getFlags();
|
|
478
|
-
let title =
|
|
500
|
+
let title = shouldRenderBrief(ev) ? ev.renderBrief(options.locale) : ev.render(options.locale);
|
|
479
501
|
const desc = ev.getDesc();
|
|
480
502
|
const candles = desc === 'Havdalah' || desc === 'Candle lighting';
|
|
481
503
|
|
|
@@ -651,25 +673,49 @@ function getLinkAndGuid(ev, il, tzid, mainUrl) {
|
|
|
651
673
|
|
|
652
674
|
function eventsToRss(events, location, mainUrl, selfUrl, lang = 'en-US', evPubDate = true) {
|
|
653
675
|
const cityDescr = location.getName();
|
|
654
|
-
const
|
|
655
|
-
|
|
656
|
-
|
|
676
|
+
const options = {
|
|
677
|
+
location,
|
|
678
|
+
mainUrl,
|
|
679
|
+
selfUrl,
|
|
680
|
+
lang,
|
|
681
|
+
evPubDate,
|
|
682
|
+
title: Locale.gettext('Shabbat') + ` Times for ${cityDescr}`,
|
|
683
|
+
description: `Weekly Shabbat candle lighting times for ${cityDescr}`,
|
|
684
|
+
utmSource: 'shabbat1c',
|
|
685
|
+
utmMedium: 'rss'
|
|
686
|
+
};
|
|
687
|
+
return eventsToRss2(events, options);
|
|
688
|
+
}
|
|
689
|
+
/**
|
|
690
|
+
* @param {Event[]} events
|
|
691
|
+
* @param {HebrewCalendar.Options} options
|
|
692
|
+
* @return {string}
|
|
693
|
+
*/
|
|
694
|
+
|
|
695
|
+
function eventsToRss2(events, options) {
|
|
696
|
+
const now = new Date();
|
|
697
|
+
const thisYear = now.getFullYear();
|
|
698
|
+
const lastBuildDate = now.toUTCString();
|
|
657
699
|
const dayFormat = new Intl.DateTimeFormat('en-US', {
|
|
658
700
|
weekday: 'long',
|
|
659
701
|
day: '2-digit',
|
|
660
702
|
month: 'long',
|
|
661
703
|
year: 'numeric'
|
|
662
704
|
});
|
|
663
|
-
const
|
|
664
|
-
|
|
705
|
+
const location = options.location;
|
|
706
|
+
const mainUrl = options.mainUrl;
|
|
707
|
+
const evPubDate = options.evPubDate;
|
|
708
|
+
const title = options.title;
|
|
709
|
+
const mainUrlEsc = appendIsraelAndTracking(mainUrl, location && location.getIsrael(), options.utmSource, options.utmMedium, options.utmCampaign).replace(/&/g, '&');
|
|
710
|
+
const selfUrlEsc = options.selfUrl.replace(/&/g, '&');
|
|
665
711
|
let str = `<?xml version="1.0" encoding="UTF-8"?>
|
|
666
712
|
<rss version="2.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:atom="http://www.w3.org/2005/Atom">
|
|
667
713
|
<channel>
|
|
668
714
|
<title>${title}</title>
|
|
669
715
|
<link>${mainUrlEsc}</link>
|
|
670
|
-
<atom:link href="${
|
|
671
|
-
<description
|
|
672
|
-
<language>${lang}</language>
|
|
716
|
+
<atom:link href="${selfUrlEsc}" rel="self" type="application/rss+xml" />
|
|
717
|
+
<description>${options.description}</description>
|
|
718
|
+
<language>${options.lang}</language>
|
|
673
719
|
<copyright>Copyright (c) ${thisYear} Michael J. Radwin. All rights reserved.</copyright>
|
|
674
720
|
<lastBuildDate>${lastBuildDate}</lastBuildDate>
|
|
675
721
|
`;
|
|
@@ -756,7 +802,6 @@ ${geoTags}</item>
|
|
|
756
802
|
`;
|
|
757
803
|
}
|
|
758
804
|
|
|
759
|
-
const BRIEF_FLAGS = flags.DAF_YOMI | flags.HEBREW_DATE;
|
|
760
805
|
/**
|
|
761
806
|
* Converts a Hebcal event to a FullCalendar.io object
|
|
762
807
|
* @param {Event} ev
|
|
@@ -774,7 +819,7 @@ function eventToFullCalendar(ev, tzid, il) {
|
|
|
774
819
|
}
|
|
775
820
|
|
|
776
821
|
const timed = Boolean(ev.eventTime);
|
|
777
|
-
const title =
|
|
822
|
+
const title = shouldRenderBrief(ev) ? ev.renderBrief() : ev.render();
|
|
778
823
|
const start = timed ? Zmanim.formatISOWithTimeZone(tzid, ev.eventTime) : toISOString(ev.getDate().greg());
|
|
779
824
|
const result = {
|
|
780
825
|
title,
|
|
@@ -810,4 +855,4 @@ function eventToFullCalendar(ev, tzid, il) {
|
|
|
810
855
|
return result;
|
|
811
856
|
}
|
|
812
857
|
|
|
813
|
-
export { appendIsraelAndTracking, countryNames, eventToClassicApiObject, eventToCsv, eventToFullCalendar, eventToRssItem, eventsToClassicApi, eventsToCsv, eventsToRss, getCalendarTitle, getDownloadFilename, getEventCategories, getHolidayDescription, holidayDescription, makeAnchor, makeTorahMemoText, pad2, pad4, renderTitleWithoutTime, timeZoneOffsetStr, toISOString, toISOStringWithTimezone };
|
|
858
|
+
export { appendIsraelAndTracking, countryNames, eventToClassicApiObject, eventToCsv, eventToFullCalendar, eventToRssItem, eventsToClassicApi, eventsToCsv, eventsToRss, eventsToRss2, getCalendarTitle, getDownloadFilename, getEventCategories, getHolidayDescription, holidayDescription, makeAnchor, makeTorahMemoText, pad2, pad4, renderTitleWithoutTime, shouldRenderBrief, timeZoneOffsetStr, toISOString, toISOStringWithTimezone };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hebcal/rest-api",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.10.0",
|
|
4
4
|
"author": "Michael J. Radwin (https://github.com/mjradwin)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"hebcal"
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
"url": "https://github.com/hebcal/hebcal-rest-api/issues"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@hebcal/core": "^3.
|
|
25
|
-
"@hebcal/leyning": "^4.
|
|
24
|
+
"@hebcal/core": "^3.30.0",
|
|
25
|
+
"@hebcal/leyning": "^4.12.1"
|
|
26
26
|
},
|
|
27
27
|
"scripts": {
|
|
28
28
|
"build": "rollup -c",
|
|
@@ -51,20 +51,20 @@
|
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@ava/babel": "^2.0.0",
|
|
54
|
-
"@babel/core": "^7.
|
|
55
|
-
"@babel/preset-env": "^7.
|
|
56
|
-
"@babel/register": "^7.
|
|
54
|
+
"@babel/core": "^7.16.5",
|
|
55
|
+
"@babel/preset-env": "^7.16.5",
|
|
56
|
+
"@babel/register": "^7.16.5",
|
|
57
57
|
"@rollup/plugin-babel": "^5.3.0",
|
|
58
58
|
"@rollup/plugin-commonjs": "^21.0.1",
|
|
59
59
|
"@rollup/plugin-json": "^4.1.0",
|
|
60
|
-
"@rollup/plugin-node-resolve": "^13.
|
|
60
|
+
"@rollup/plugin-node-resolve": "^13.1.1",
|
|
61
61
|
"ava": "^3.15.0",
|
|
62
|
-
"core-js": "^3.19.
|
|
63
|
-
"eslint": "^8.1
|
|
62
|
+
"core-js": "^3.19.3",
|
|
63
|
+
"eslint": "^8.4.1",
|
|
64
64
|
"eslint-config-google": "^0.14.0",
|
|
65
65
|
"jsdoc": "^3.6.7",
|
|
66
66
|
"jsdoc-to-markdown": "^7.1.0",
|
|
67
|
-
"rollup": "^2.
|
|
67
|
+
"rollup": "^2.61.1",
|
|
68
68
|
"rollup-plugin-terser": "^7.0.2"
|
|
69
69
|
}
|
|
70
70
|
}
|
package/rest-api.d.ts
CHANGED
|
@@ -30,11 +30,16 @@ declare module '@hebcal/rest-api' {
|
|
|
30
30
|
* Appends utm_source and utm_medium parameters to a URL
|
|
31
31
|
*/
|
|
32
32
|
export function appendIsraelAndTracking(url: string, il: boolean, utmSource: string, utmMedium: string, utmCampaign?: string): string;
|
|
33
|
+
/**
|
|
34
|
+
* @private
|
|
35
|
+
*/
|
|
36
|
+
export function shouldRenderBrief(ev: Event): boolean;
|
|
33
37
|
/**
|
|
34
38
|
* @param [lang] - language such as 'he' (default 'en-US')
|
|
35
39
|
* @param [evPubDate] - if true, use event time as pubDate (false uses lastBuildDate)
|
|
36
40
|
*/
|
|
37
41
|
export function eventsToRss(events: Event[], location: Location, mainUrl: string, selfUrl: string, lang?: string, evPubDate?: boolean): string;
|
|
42
|
+
export function eventsToRss2(events: Event[], options: HebrewCalendar.Options): string;
|
|
38
43
|
export function eventToRssItem(ev: Event, evPubDate: boolean, lastBuildDate: string, dayFormat: Intl.DateTimeFormat, location: Location, baseUrl: string): string;
|
|
39
44
|
export function getDownloadFilename(options: HebrewCalendar.Options): string;
|
|
40
45
|
export function pad2(number: number): string;
|