/*! elementor-pro - v3.30.0 - 22-07-2025 */
/******/ (() => { // webpackBootstrap
/******/ var __webpack_modules__ = ({
/***/ "../modules/page-transitions/assets/js/frontend/components/index.js":
/*!**************************************************************************!*\
!*** ../modules/page-transitions/assets/js/frontend/components/index.js ***!
\**************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
Object.defineProperty(exports, "PageTransition", ({
enumerable: true,
get: function () {
return _pageTransition.PageTransition;
}
}));
Object.defineProperty(exports, "Preloader", ({
enumerable: true,
get: function () {
return _preloader.Preloader;
}
}));
var _pageTransition = __webpack_require__(/*! ./page-transition/page-transition */ "../modules/page-transitions/assets/js/frontend/components/page-transition/page-transition.js");
var _preloader = __webpack_require__(/*! ./preloader/preloader */ "../modules/page-transitions/assets/js/frontend/components/preloader/preloader.js");
/***/ }),
/***/ "../modules/page-transitions/assets/js/frontend/components/page-transition/filters.js":
/*!********************************************************************************************!*\
!*** ../modules/page-transitions/assets/js/frontend/components/page-transition/filters.js ***!
\********************************************************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
// Ref: https://stackoverflow.com/questions/26088849/url-fragment-allowed-characters
const urlFragmentPattern = /.*#[\w\-/$.+()*@?~!&',;=:%]*$/;
var _default = exports["default"] = {
// Disable using data attribute.
isDisabled: a => Object.prototype.hasOwnProperty.call(a.dataset, 'eDisablePageTransition'),
// Allow only links from same origin and without a URL fragment (e.g. #some-string).
isEmptyHref: a => !a.getAttribute('href'),
isTargetBlank: a => '_blank' === a.target,
notSameOrigin: a => !a.href.startsWith(window.location.origin),
hasFragment: a => !!a.href.match(urlFragmentPattern),
// Internal page links, popups, etc.
// Disable for popup links / menu toggles, only when they are closed (to allow opening).
isPopup: a => 'true' === a.getAttribute('aria-haspopup') && 'false' === a.getAttribute('aria-expanded'),
// Disable in WooCommerce links.
isWoocommerce: a => {
const isAddToCart = a.href.match(/\?add-to-cart=/),
isRemoveFromCart = a.href.match(/\?remove_item=/),
isRestoreToCart = a.href.match(/\?undo_item=/),
isWoocommercePagination = a.href.match(/\?product-page=/),
isWoocommerceLogout = a.href.match(/\?elementor_wc_logout=/),
isWoocommerceTab = a.parentElement?.classList.contains('woocommerce-MyAccount-navigation-link');
return isAddToCart || isRemoveFromCart || isRestoreToCart || isWoocommercePagination || isWoocommerceLogout || isWoocommerceTab;
},
// Custom regex filter from attributes.
isExcluded: (a, exclude) => a.href.match(new RegExp(exclude))
};
/***/ }),
/***/ "../modules/page-transitions/assets/js/frontend/components/page-transition/page-transition.js":
/*!****************************************************************************************************!*\
!*** ../modules/page-transitions/assets/js/frontend/components/page-transition/page-transition.js ***!
\****************************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.PageTransition = void 0;
var _pageTransitionComponent = _interopRequireDefault(__webpack_require__(/*! ./page-transition.component.scss */ "../modules/page-transitions/assets/js/frontend/components/page-transition/page-transition.component.scss"));
var _filters = _interopRequireDefault(__webpack_require__(/*! ./filters */ "../modules/page-transitions/assets/js/frontend/components/page-transition/filters.js"));
class PageTransition extends HTMLElement {
/**
* Initialize the Page Transitions element.
*
* @return {void}
*/
constructor() {
super();
this.classes = this.getClasses();
this.elements = this.getElements();
this.bindEvents();
}
/**
* Get a list of classes that are used in the code.
*
* @return {Object} - List of classes.
*/
getClasses() {
return {
preloader: 'e-page-transition--preloader',
entering: 'e-page-transition--entering',
exiting: 'e-page-transition--exiting',
entered: 'e-page-transition--entered',
preview: 'e-page-transition--preview'
};
}
/**
* Get the Page Transition CSS.
*
* @return {string} - CSS code.
*/
getStyle() {
return ``;
}
/**
* A list of attributes to observe for changes.
*
* @return {string[]} - Attributes to observe.
*/
static get observedAttributes() {
return ['preloader-type', 'preloader-icon', 'preloader-image-url', 'preloader-animation-type', 'disabled'];
}
/**
* Get the Page Transitions elements.
*
* @return {Object} - Elements.
*/
getElements() {
const triggers = this.getAttribute('triggers'),
selector = triggers || 'a:not( [data-elementor-open-lightbox="yes"] )';
return {
links: document.querySelectorAll(selector)
};
}
/**
* Determine if a link should trigger a Page Transition effect.
*
* @param {HTMLAnchorElement} a - The anchor element to check.
* @return {boolean} - Whether the given link should activate the Page Transition.
*/
shouldPageTriggerTransition(a) {
return Object.values(_filters.default).every(shouldDisable => !shouldDisable(a, this.getAttribute('exclude')));
}
/**
* Hide the loader on page show.
*
* @return {void}
*/
onPageShow() {
// To disable animation on back / forward click.
if (this.classList.contains(this.classes.exiting)) {
this.classList.add(this.classes.entered);
this.classList.remove(this.classes.exiting);
}
// Animate the loader on page load.
this.animateState('entering').then(() => {
this.classList.add(this.classes.entered);
});
}
/**
* Trigger the Page Transition on link click.
*
* @param {MouseEvent} e - The click Event.
* @return {void}
*/
onLinkClick(e) {
if (!this.shouldPageTriggerTransition(e.currentTarget)) {
return;
}
e.preventDefault();
const href = e.currentTarget.href;
this.classList.remove(this.classes.entered);
this.animateState('exiting', this.getPreloaderDelay()).then(() => {
this.classList.add(this.classes.exiting);
// Redirect the user to the clicked href only after the Page Transition has entered.
location.href = href;
});
}
/**
* Prerender a webpage using `rel=prerender`.
*
* @param {string} href
* @return {void}
*/
prerender(href) {
if (document.querySelector(`link[href="${href}"]`)) {
return;
}
const link = document.createElement('link');
link.setAttribute('rel', 'prerender');
link.setAttribute('href', href);
document.head.appendChild(link);
}
/**
* Trigger a `prerender` on link mouse enter.
*
* @param {MouseEvent} e
* @return {void}
*/
onLinkMouseEnter(e) {
if (!this.shouldPageTriggerTransition(e.currentTarget)) {
return;
}
this.prerender(e.currentTarget.href);
}
/**
* Bind events to the window & links.
*
* @return {void}
*/
bindEvents() {
window.addEventListener('pageshow', this.onPageShow.bind(this));
window.addEventListener('DOMContentLoaded', () => {
this.elements = this.getElements();
this.elements.links.forEach(a => {
a.addEventListener('click', this.onLinkClick.bind(this));
a.addEventListener('mouseenter', this.onLinkMouseEnter.bind(this));
a.addEventListener('touchstart', this.onLinkMouseEnter.bind(this));
});
});
}
/**
* Escape HTML special chars to prevent XSS.
*
* @param {string} str - String to escape.
*
* @return {string} escaped string
*/
escapeHTML(str) {
const specialChars = {
'&': '&',
'<': '<',
'>': '>',
"'": ''',
'"': '"'
};
return str.replace(/[&<>'"]/g, tag => specialChars[tag] || tag);
}
/**
* Retrieve an icon loader HTML markup.
*
* @return {string} - HTML markup.
*/
getIconLoader() {
const icon = this.getAttribute('preloader-icon') || '';
return `
`;
}
/**
* Retrieve an image loader HTML markup.
*
* @return {string} - HTML markup.
*/
getImageLoader() {
const url = this.getAttribute('preloader-image-url') || '';
return `
`;
}
/**
* Retrieve a custom loader HTML markup.
*
* @return {string} - HTML markup.
*/
getAnimationLoader() {
const type = this.getAttribute('preloader-animation-type');
if (!type) {
return '';
}
return `
`;
}
/**
* Render the Page Transition element.
*
* @return {void}
*/
render() {
// Don't render when the Page Transition is disabled.
if (this.hasAttribute('disabled')) {
this.innerHTML = '';
return;
}
const loaderType = this.getAttribute('preloader-type');
switch (loaderType) {
case 'icon':
this.innerHTML = this.getIconLoader();
break;
case 'image':
this.innerHTML = this.getImageLoader();
break;
case 'animation':
this.innerHTML = this.getAnimationLoader();
break;
default:
this.innerHTML = '';
break;
}
this.innerHTML += this.getStyle();
}
/**
* Get a CSS variable value from the current element's context.
*
* @param {string} variable - Variable name.
* @param {string} prefix - Variable prefix, defaults to `e-page-transition`.
* @return {string} - CSS variable value.
*/
getCssVar(variable) {
let prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'e-page-transition-';
return window.getComputedStyle(this).getPropertyValue(`--${prefix}${variable}`);
}
/**
* Get the animation duration as an integer in order to be used inside a `setTimeout`.
*
* Assumes that all of the timings are in `ms`.
*
* @return {number} - Animation duration.
*/
getAnimationDuration() {
return parseInt(this.getCssVar('animation-duration')) || 0;
}
/**
* Get the preloader delay.
*
* Assumes that all of the timings are in `ms`.
*
* @return {number} - Preloader delay.
*/
getPreloaderDelay() {
return parseInt(this.getCssVar('delay', 'e-preloader-')) || 0;
}
/**
* Start the animate sequence of the Page Transition (enter && exit).
*
* @return {Promise} - Animation sequence Promise.
*/
animate() {
// Don't animate if there is already an animation in progress.
if (this.isAnimating) {
return new Promise((resolve, reject) => {
reject('Animation is already in progress.');
});
}
this.isAnimating = true;
// Delay the exit animation so the user will be able to see the loader for a second.
const delay = this.getPreloaderDelay() + 1500;
this.classList.remove(this.classes.entered);
return new Promise(resolve => {
// Defer to make sure that the `entered` class is fully removed before animating.
// Return a Promise for animations chaining.
setTimeout(() => {
this.animateState('exiting', delay).then(() => {
this.animateState('entering').then(() => {
this.classList.add(this.classes.entered);
this.isAnimating = false;
resolve();
});
});
});
});
}
/**
* Animate a state of the Page Transition (enter || exit).
*
* @param {('entering'|'exiting')} state - The state name to animate.
* @param {number} delay - Delay (in ms) before resolving the Promise.
* @return {Promise} - Animation sequence Promise.
*/
animateState(state) {
let delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
const className = this.classes?.[state];
if (!className) {
return new Promise((resolve, reject) => {
reject(state);
});
}
// Remove and add the class again to force the animation, since it's using `animation-fill-mode: forwards`.
this.classList.remove(className);
this.classList.add(className);
// Return a Promise for animations chaining.
const animationDuration = this.getAnimationDuration();
return new Promise(resolve => {
setTimeout(() => {
this.classList.remove(className);
resolve(state);
}, animationDuration + delay);
});
}
/**
* Listen to attribute changes and re-render the element.
*
* @return {void}
*/
attributeChangedCallback() {
this.render();
}
/**
* Render the element when attached to the document.
*
* @return {void}
*/
connectedCallback() {
this.render();
}
}
exports.PageTransition = PageTransition;
var _default = exports["default"] = PageTransition;
/***/ }),
/***/ "../modules/page-transitions/assets/js/frontend/components/preloader/preloader.js":
/*!****************************************************************************************!*\
!*** ../modules/page-transitions/assets/js/frontend/components/preloader/preloader.js ***!
\****************************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = exports.Preloader = void 0;
__webpack_require__(/*! core-js/modules/es.array.includes.js */ "../node_modules/core-js/modules/es.array.includes.js");
var _preloaderComponent = _interopRequireDefault(__webpack_require__(/*! ./preloader.component.scss */ "../modules/page-transitions/assets/js/frontend/components/preloader/preloader.component.scss"));
class Preloader extends HTMLElement {
/**
* A list of attributes to observe for changes.
*
* @return {string[]} - Attributes to observe.
*/
static get observedAttributes() {
return ['type'];
}
/**
* Listen to attribute changes and re-render the element.
*
* @return {void}
*/
attributeChangedCallback() {
this.render();
}
/**
* Get the Preloader CSS.
*
* @return {string} - CSS code.
*/
getStyle() {
return ``;
}
/**
* Render the Preloader element.
*
* @return {void}
*/
render() {
const type = this.getAttribute('type'),
dotsTypes = ['bouncing-dots', 'pulsing-dots'];
this.innerHTML = '';
if (!type) {
return;
}
if (dotsTypes.includes(type)) {
this.innerHTML += `
`;
}
this.innerHTML += this.getStyle();
}
/**
* Render the element when attached to the document.
*
* @return {void}
*/
connectedCallback() {
this.render();
}
}
exports.Preloader = Preloader;
var _default = exports["default"] = Preloader;
/***/ }),
/***/ "../modules/page-transitions/assets/js/frontend/components/page-transition/page-transition.component.scss":
/*!****************************************************************************************************************!*\
!*** ../modules/page-transitions/assets/js/frontend/components/page-transition/page-transition.component.scss ***!
\****************************************************************************************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ "../node_modules/css-loader/dist/runtime/noSourceMaps.js");
/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../node_modules/css-loader/dist/runtime/api.js */ "../node_modules/css-loader/dist/runtime/api.js");
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
// Imports
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
// Module
___CSS_LOADER_EXPORT___.push([module.id, `e-page-transition {
--preloader-fade-duration: .5s;
--preloader-delay: calc( var( --e-page-transition-animation-duration, 0s ) + var( --e-preloader-delay, 0s ) );
--page-transition-delay: var( --preloader-fade-duration );
position: fixed;
inset: 0;
display: grid;
place-items: center;
z-index: 10000;
background: #FFF;
animation-fill-mode: both;
animation-duration: var(--e-page-transition-animation-duration);
}
e-page-transition[disabled] {
display: none;
}
e-page-transition e-preloader,
e-page-transition .e-page-transition--preloader {
opacity: 0;
}
e-page-transition .e-page-transition--preloader {
position: absolute;
font-size: var(--e-preloader-size);
color: var(--e-preloader-color);
fill: var(--e-preloader-color);
width: var(--e-preloader-width);
max-width: var(--e-preloader-max-width);
transform: rotate(var(--e-preloader-rotate, 0deg));
animation-name: var(--e-preloader-animation);
animation-duration: var(--e-preloader-animation-duration, 1000ms);
animation-iteration-count: infinite;
animation-timing-function: linear;
}
e-page-transition svg.e-page-transition--preloader {
width: var(--e-preloader-size);
}
.e-page-transition--entering {
animation-name: var(--e-page-transition-entrance-animation);
animation-delay: var(--preloader-fade-duration, 0s);
}
.e-page-transition--entering e-preloader,
.e-page-transition--entering .e-page-transition--preloader {
animation: var(--e-preloader-animation, none) var(--e-preloader-animation-duration, 0s) linear infinite, e-page-transition-fade-out var(--preloader-fade-duration) both;
transition: none;
}
.e-page-transition--exiting {
animation-name: var(--e-page-transition-exit-animation);
}
.e-page-transition--exiting e-preloader,
.e-page-transition--exiting .e-page-transition--preloader {
opacity: var(--e-preloader-opacity, 1);
transition: var(--preloader-fade-duration) all;
transition-delay: var(--preloader-delay, 0s);
}
.e-page-transition--entered:not(.e-page-transition--preview) {
display: none;
}
.e-page-transition--preview {
/* Fix preview not working for some animations. */
animation-fill-mode: initial;
}
.e-page-transition--preview.e-page-transition--entered e-preloader,
.e-page-transition--preview.e-page-transition--entered .e-page-transition--preloader {
opacity: var(--e-preloader-opacity, 1);
}
/* Hide the page transition if the user has disabled animations. */
@media (prefers-reduced-motion: reduce) {
e-page-transition {
display: none;
}
}
/* Animations */
@keyframes e-page-transition-fade-in {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes e-page-transition-fade-in-down {
from {
opacity: 0;
transform: translate3d(0, -100%, 0);
}
to {
opacity: 1;
transform: none;
}
}
@keyframes e-page-transition-fade-in-left {
from {
opacity: 0;
transform: translate3d(-100%, 0, 0);
}
to {
opacity: 1;
transform: none;
}
}
@keyframes e-page-transition-fade-in-right {
from {
opacity: 0;
transform: translate3d(100%, 0, 0);
}
to {
opacity: 1;
transform: none;
}
}
@keyframes e-page-transition-fade-in-up {
from {
opacity: 0;
transform: translate3d(0, 100%, 0);
}
to {
opacity: 1;
transform: none;
}
}
@keyframes e-page-transition-zoom-in {
from {
opacity: 0;
transform: scale3d(0.3, 0.3, 0.3);
}
50% {
opacity: 1;
}
}
@keyframes e-page-transition-slide-in-down {
from {
transform: translate3d(0, -100%, 0);
visibility: visible;
}
to {
transform: translate3d(0, 0, 0);
}
}
@keyframes e-page-transition-slide-in-left {
from {
transform: translate3d(-100%, 0, 0);
visibility: visible;
}
to {
transform: translate3d(0, 0, 0);
}
}
@keyframes e-page-transition-slide-in-right {
from {
transform: translate3d(100%, 0, 0);
visibility: visible;
}
to {
transform: translate3d(0, 0, 0);
}
}
@keyframes e-page-transition-slide-in-up {
from {
transform: translate3d(0, 100%, 0);
visibility: visible;
}
to {
transform: translate3d(0, 0, 0);
}
}
@keyframes e-page-transition-fade-out {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
@keyframes e-page-transition-fade-out-up {
from {
opacity: 1;
transform: none;
}
to {
opacity: 0;
transform: translate3d(0, -100%, 0);
}
}
@keyframes e-page-transition-fade-out-left {
from {
opacity: 1;
transform: none;
}
to {
opacity: 0;
transform: translate3d(-100%, 0, 0);
}
}
@keyframes e-page-transition-fade-out-right {
from {
opacity: 1;
transform: none;
}
to {
opacity: 0;
transform: translate3d(100%, 0, 0);
}
}
@keyframes e-page-transition-fade-out-down {
from {
opacity: 1;
transform: none;
}
to {
opacity: 0;
transform: translate3d(0, 100%, 0);
}
}
@keyframes e-page-transition-slide-out-up {
from {
transform: translate3d(0, 0, 0);
}
to {
transform: translate3d(0, -100%, 0);
visibility: visible;
}
}
@keyframes e-page-transition-slide-out-left {
from {
transform: translate3d(0, 0, 0);
}
to {
transform: translate3d(-100%, 0, 0);
visibility: visible;
}
}
@keyframes e-page-transition-slide-out-right {
from {
transform: translate3d(0, 0, 0);
}
to {
transform: translate3d(100%, 0, 0);
visibility: visible;
}
}
@keyframes e-page-transition-slide-out-down {
from {
transform: translate3d(0, 0, 0);
}
to {
transform: translate3d(0, 100%, 0);
visibility: visible;
}
}
@keyframes e-page-transition-zoom-out {
from {
opacity: 1;
}
50% {
opacity: 0;
transform: scale3d(0.3, 0.3, 0.3);
}
}`, ""]);
// Exports
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
/***/ }),
/***/ "../modules/page-transitions/assets/js/frontend/components/preloader/preloader.component.scss":
/*!****************************************************************************************************!*\
!*** ../modules/page-transitions/assets/js/frontend/components/preloader/preloader.component.scss ***!
\****************************************************************************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js */ "../node_modules/css-loader/dist/runtime/noSourceMaps.js");
/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../node_modules/css-loader/dist/runtime/api.js */ "../node_modules/css-loader/dist/runtime/api.js");
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
// Imports
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
// Module
___CSS_LOADER_EXPORT___.push([module.id, `e-preloader {
--default-duartion: 1000ms;
--duration: var( --e-preloader-animation-duration, var( --default-duration ) );
display: block;
font-size: var(--e-preloader-size);
}
e-preloader[type=circle], e-preloader[type=circle-dashed], e-preloader[type=spinners] {
--e-preloader-animation: e-preloader-spin;
height: 1em;
width: 1em;
border: 0.1em solid var(--e-preloader-color);
border-top-color: transparent;
border-radius: 100%;
animation: var(--duration) var(--e-preloader-animation) linear infinite;
}
e-preloader[type=circle-dashed] {
border: 0.1em solid rgba(255, 255, 255, 0.3);
border-top-color: var(--e-preloader-color);
}
e-preloader[type=spinners] {
border-bottom-color: transparent;
}
e-preloader[type=bouncing-dots], e-preloader[type=pulsing-dots] {
display: flex;
gap: 1em;
}
e-preloader[type=bouncing-dots] i, e-preloader[type=pulsing-dots] i {
height: 1em;
width: 1em;
border-radius: 100%;
background-color: var(--e-preloader-color);
}
e-preloader[type=bouncing-dots] i:nth-child(2), e-preloader[type=pulsing-dots] i:nth-child(2) {
animation-delay: var(--delay);
}
e-preloader[type=bouncing-dots] i:nth-child(3), e-preloader[type=pulsing-dots] i:nth-child(3) {
animation-delay: calc(var(--delay) * 2);
}
e-preloader[type=bouncing-dots] i:nth-child(4), e-preloader[type=pulsing-dots] i:nth-child(4) {
animation-delay: calc(var(--delay) * 3);
}
e-preloader[type=bouncing-dots] i {
--delay: calc( var( --duration ) / 10 );
animation: var(--duration) e-preloader-bounce linear infinite;
}
e-preloader[type=pulsing-dots] i {
--delay: calc( var( --duration ) / 6 );
animation: var(--duration) e-preloader-pulsing-dots linear infinite;
}
e-preloader[type=pulse] {
height: 1em;
width: 1em;
position: relative;
}
e-preloader[type=pulse]::before, e-preloader[type=pulse]::after {
content: "";
position: absolute;
inset: 0;
border: 0.05em solid var(--e-preloader-color);
border-radius: 100%;
animation: 1.2s e-preloader-pulse infinite both ease-out;
}
e-preloader[type=pulse]::after {
animation-delay: 0.6s;
}
e-preloader[type=overlap] {
height: 1em;
width: 1em;
position: relative;
}
e-preloader[type=overlap]::before, e-preloader[type=overlap]::after {
content: "";
inset: 0;
position: absolute;
background: var(--e-preloader-color);
border-radius: 100%;
opacity: 0.5;
animation: 2s e-preloader-overlap infinite both ease-in-out;
}
e-preloader[type=overlap]::after {
animation-delay: -1s;
animation-direction: reverse;
}
e-preloader[type=nested-spinners], e-preloader[type=opposing-nested-spinners], e-preloader[type=opposing-nested-rings] {
height: 1em;
width: 1em;
position: relative;
}
e-preloader[type=nested-spinners]::before, e-preloader[type=nested-spinners]::after, e-preloader[type=opposing-nested-spinners]::before, e-preloader[type=opposing-nested-spinners]::after, e-preloader[type=opposing-nested-rings]::before, e-preloader[type=opposing-nested-rings]::after {
content: "";
display: block;
position: absolute;
border-radius: 100%;
border: 0.1em solid var(--e-preloader-color);
border-top-color: transparent;
animation: var(--duration) e-preloader-spin linear infinite;
}
e-preloader[type=nested-spinners]::before, e-preloader[type=opposing-nested-spinners]::before, e-preloader[type=opposing-nested-rings]::before {
inset: -0.3em;
}
e-preloader[type=nested-spinners]::after, e-preloader[type=opposing-nested-spinners]::after, e-preloader[type=opposing-nested-rings]::after {
animation-duration: calc(var(--duration) - 0.2s);
inset: 0;
opacity: 0.5;
}
e-preloader[type=nested-spinners]::before, e-preloader[type=nested-spinners]::after, e-preloader[type=opposing-nested-spinners]::before, e-preloader[type=opposing-nested-spinners]::after {
border-bottom-color: transparent;
}
e-preloader[type=opposing-nested-rings]::after, e-preloader[type=opposing-nested-spinners]::after {
animation-direction: reverse;
}
e-preloader[type=progress-bar], e-preloader[type=two-way-progress-bar], e-preloader[type=repeating-bar] {
--e-preloader-animation: e-preloader-progress-bar;
height: 0.05em;
width: 5em;
max-width: 50vw;
background: var(--e-preloader-color);
animation: var(--duration) var(--e-preloader-animation) linear infinite both;
}
e-preloader[type=progress-bar] {
transform-origin: 0 50%;
}
e-preloader[type=repeating-bar] {
--e-preloader-animation: e-preloader-repeating-bar;
}
/* Hide the preloader if the user has disabled animations. */
@media (prefers-reduced-motion: reduce) {
e-preloader {
display: none;
}
}
/* Animations */
@keyframes e-preloader-spin {
0% {
transform: rotate(0);
}
100% {
transform: rotate(360deg);
}
}
@keyframes e-preloader-bounce {
0%, 40%, 100% {
transform: translateY(0);
}
20% {
transform: translateY(-80%);
}
}
@keyframes e-preloader-pulsing-dots {
0%, 40%, 100% {
transform: scale(1);
}
20% {
transform: scale(1.5);
}
}
@keyframes e-preloader-pulse {
from {
transform: scale(0);
opacity: 1;
}
to {
transform: scale(1);
opacity: 0;
}
}
@keyframes e-preloader-overlap {
0%, 100% {
transform: scale(0.2);
}
50% {
transform: scale(1);
}
}
@keyframes e-preloader-progress-bar {
0% {
transform: scaleX(0);
}
100% {
transform: scaleX(1);
}
}
@keyframes e-preloader-repeating-bar {
0% {
transform: scaleX(0);
transform-origin: 0 50%;
}
49% {
transform-origin: 0 50%;
}
50% {
transform: scaleX(1);
transform-origin: 100% 50%;
}
100% {
transform: scaleX(0);
transform-origin: 100% 50%;
}
}`, ""]);
// Exports
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
/***/ }),
/***/ "../node_modules/css-loader/dist/runtime/api.js":
/*!******************************************************!*\
!*** ../node_modules/css-loader/dist/runtime/api.js ***!
\******************************************************/
/***/ ((module) => {
"use strict";
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
module.exports = function (cssWithMappingToString) {
var list = [];
// return the list of modules as css string
list.toString = function toString() {
return this.map(function (item) {
var content = "";
var needLayer = typeof item[5] !== "undefined";
if (item[4]) {
content += "@supports (".concat(item[4], ") {");
}
if (item[2]) {
content += "@media ".concat(item[2], " {");
}
if (needLayer) {
content += "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {");
}
content += cssWithMappingToString(item);
if (needLayer) {
content += "}";
}
if (item[2]) {
content += "}";
}
if (item[4]) {
content += "}";
}
return content;
}).join("");
};
// import a list of modules into the list
list.i = function i(modules, media, dedupe, supports, layer) {
if (typeof modules === "string") {
modules = [[null, modules, undefined]];
}
var alreadyImportedModules = {};
if (dedupe) {
for (var k = 0; k < this.length; k++) {
var id = this[k][0];
if (id != null) {
alreadyImportedModules[id] = true;
}
}
}
for (var _k = 0; _k < modules.length; _k++) {
var item = [].concat(modules[_k]);
if (dedupe && alreadyImportedModules[item[0]]) {
continue;
}
if (typeof layer !== "undefined") {
if (typeof item[5] === "undefined") {
item[5] = layer;
} else {
item[1] = "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {").concat(item[1], "}");
item[5] = layer;
}
}
if (media) {
if (!item[2]) {
item[2] = media;
} else {
item[1] = "@media ".concat(item[2], " {").concat(item[1], "}");
item[2] = media;
}
}
if (supports) {
if (!item[4]) {
item[4] = "".concat(supports);
} else {
item[1] = "@supports (".concat(item[4], ") {").concat(item[1], "}");
item[4] = supports;
}
}
list.push(item);
}
};
return list;
};
/***/ }),
/***/ "../node_modules/css-loader/dist/runtime/noSourceMaps.js":
/*!***************************************************************!*\
!*** ../node_modules/css-loader/dist/runtime/noSourceMaps.js ***!
\***************************************************************/
/***/ ((module) => {
"use strict";
module.exports = function (i) {
return i[1];
};
/***/ }),
/***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js":
/*!***********************************************************************!*\
!*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
\***********************************************************************/
/***/ ((module) => {
function _interopRequireDefault(e) {
return e && e.__esModule ? e : {
"default": e
};
}
module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
/***/ }),
/***/ "../node_modules/core-js/internals/a-callable.js":
/*!*******************************************************!*\
!*** ../node_modules/core-js/internals/a-callable.js ***!
\*******************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
var tryToString = __webpack_require__(/*! ../internals/try-to-string */ "../node_modules/core-js/internals/try-to-string.js");
var $TypeError = TypeError;
// `Assert: IsCallable(argument) is true`
module.exports = function (argument) {
if (isCallable(argument)) return argument;
throw new $TypeError(tryToString(argument) + ' is not a function');
};
/***/ }),
/***/ "../node_modules/core-js/internals/add-to-unscopables.js":
/*!***************************************************************!*\
!*** ../node_modules/core-js/internals/add-to-unscopables.js ***!
\***************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "../node_modules/core-js/internals/well-known-symbol.js");
var create = __webpack_require__(/*! ../internals/object-create */ "../node_modules/core-js/internals/object-create.js");
var defineProperty = (__webpack_require__(/*! ../internals/object-define-property */ "../node_modules/core-js/internals/object-define-property.js").f);
var UNSCOPABLES = wellKnownSymbol('unscopables');
var ArrayPrototype = Array.prototype;
// Array.prototype[@@unscopables]
// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
if (ArrayPrototype[UNSCOPABLES] === undefined) {
defineProperty(ArrayPrototype, UNSCOPABLES, {
configurable: true,
value: create(null)
});
}
// add a key to Array.prototype[@@unscopables]
module.exports = function (key) {
ArrayPrototype[UNSCOPABLES][key] = true;
};
/***/ }),
/***/ "../node_modules/core-js/internals/an-object.js":
/*!******************************************************!*\
!*** ../node_modules/core-js/internals/an-object.js ***!
\******************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var isObject = __webpack_require__(/*! ../internals/is-object */ "../node_modules/core-js/internals/is-object.js");
var $String = String;
var $TypeError = TypeError;
// `Assert: Type(argument) is Object`
module.exports = function (argument) {
if (isObject(argument)) return argument;
throw new $TypeError($String(argument) + ' is not an object');
};
/***/ }),
/***/ "../node_modules/core-js/internals/array-includes.js":
/*!***********************************************************!*\
!*** ../node_modules/core-js/internals/array-includes.js ***!
\***********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "../node_modules/core-js/internals/to-indexed-object.js");
var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ "../node_modules/core-js/internals/to-absolute-index.js");
var lengthOfArrayLike = __webpack_require__(/*! ../internals/length-of-array-like */ "../node_modules/core-js/internals/length-of-array-like.js");
// `Array.prototype.{ indexOf, includes }` methods implementation
var createMethod = function (IS_INCLUDES) {
return function ($this, el, fromIndex) {
var O = toIndexedObject($this);
var length = lengthOfArrayLike(O);
if (length === 0) return !IS_INCLUDES && -1;
var index = toAbsoluteIndex(fromIndex, length);
var value;
// Array#includes uses SameValueZero equality algorithm
// eslint-disable-next-line no-self-compare -- NaN check
if (IS_INCLUDES && el !== el) while (length > index) {
value = O[index++];
// eslint-disable-next-line no-self-compare -- NaN check
if (value !== value) return true;
// Array#indexOf ignores holes, Array#includes - not
} else for (;length > index; index++) {
if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
} return !IS_INCLUDES && -1;
};
};
module.exports = {
// `Array.prototype.includes` method
// https://tc39.es/ecma262/#sec-array.prototype.includes
includes: createMethod(true),
// `Array.prototype.indexOf` method
// https://tc39.es/ecma262/#sec-array.prototype.indexof
indexOf: createMethod(false)
};
/***/ }),
/***/ "../node_modules/core-js/internals/classof-raw.js":
/*!********************************************************!*\
!*** ../node_modules/core-js/internals/classof-raw.js ***!
\********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
var toString = uncurryThis({}.toString);
var stringSlice = uncurryThis(''.slice);
module.exports = function (it) {
return stringSlice(toString(it), 8, -1);
};
/***/ }),
/***/ "../node_modules/core-js/internals/copy-constructor-properties.js":
/*!************************************************************************!*\
!*** ../node_modules/core-js/internals/copy-constructor-properties.js ***!
\************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "../node_modules/core-js/internals/has-own-property.js");
var ownKeys = __webpack_require__(/*! ../internals/own-keys */ "../node_modules/core-js/internals/own-keys.js");
var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "../node_modules/core-js/internals/object-get-own-property-descriptor.js");
var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "../node_modules/core-js/internals/object-define-property.js");
module.exports = function (target, source, exceptions) {
var keys = ownKeys(source);
var defineProperty = definePropertyModule.f;
var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {
defineProperty(target, key, getOwnPropertyDescriptor(source, key));
}
}
};
/***/ }),
/***/ "../node_modules/core-js/internals/create-non-enumerable-property.js":
/*!***************************************************************************!*\
!*** ../node_modules/core-js/internals/create-non-enumerable-property.js ***!
\***************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "../node_modules/core-js/internals/descriptors.js");
var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "../node_modules/core-js/internals/object-define-property.js");
var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "../node_modules/core-js/internals/create-property-descriptor.js");
module.exports = DESCRIPTORS ? function (object, key, value) {
return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
} : function (object, key, value) {
object[key] = value;
return object;
};
/***/ }),
/***/ "../node_modules/core-js/internals/create-property-descriptor.js":
/*!***********************************************************************!*\
!*** ../node_modules/core-js/internals/create-property-descriptor.js ***!
\***********************************************************************/
/***/ ((module) => {
"use strict";
module.exports = function (bitmap, value) {
return {
enumerable: !(bitmap & 1),
configurable: !(bitmap & 2),
writable: !(bitmap & 4),
value: value
};
};
/***/ }),
/***/ "../node_modules/core-js/internals/define-built-in.js":
/*!************************************************************!*\
!*** ../node_modules/core-js/internals/define-built-in.js ***!
\************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "../node_modules/core-js/internals/object-define-property.js");
var makeBuiltIn = __webpack_require__(/*! ../internals/make-built-in */ "../node_modules/core-js/internals/make-built-in.js");
var defineGlobalProperty = __webpack_require__(/*! ../internals/define-global-property */ "../node_modules/core-js/internals/define-global-property.js");
module.exports = function (O, key, value, options) {
if (!options) options = {};
var simple = options.enumerable;
var name = options.name !== undefined ? options.name : key;
if (isCallable(value)) makeBuiltIn(value, name, options);
if (options.global) {
if (simple) O[key] = value;
else defineGlobalProperty(key, value);
} else {
try {
if (!options.unsafe) delete O[key];
else if (O[key]) simple = true;
} catch (error) { /* empty */ }
if (simple) O[key] = value;
else definePropertyModule.f(O, key, {
value: value,
enumerable: false,
configurable: !options.nonConfigurable,
writable: !options.nonWritable
});
} return O;
};
/***/ }),
/***/ "../node_modules/core-js/internals/define-global-property.js":
/*!*******************************************************************!*\
!*** ../node_modules/core-js/internals/define-global-property.js ***!
\*******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var globalThis = __webpack_require__(/*! ../internals/global-this */ "../node_modules/core-js/internals/global-this.js");
// eslint-disable-next-line es/no-object-defineproperty -- safe
var defineProperty = Object.defineProperty;
module.exports = function (key, value) {
try {
defineProperty(globalThis, key, { value: value, configurable: true, writable: true });
} catch (error) {
globalThis[key] = value;
} return value;
};
/***/ }),
/***/ "../node_modules/core-js/internals/descriptors.js":
/*!********************************************************!*\
!*** ../node_modules/core-js/internals/descriptors.js ***!
\********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var fails = __webpack_require__(/*! ../internals/fails */ "../node_modules/core-js/internals/fails.js");
// Detect IE8's incomplete defineProperty implementation
module.exports = !fails(function () {
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;
});
/***/ }),
/***/ "../node_modules/core-js/internals/document-create-element.js":
/*!********************************************************************!*\
!*** ../node_modules/core-js/internals/document-create-element.js ***!
\********************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var globalThis = __webpack_require__(/*! ../internals/global-this */ "../node_modules/core-js/internals/global-this.js");
var isObject = __webpack_require__(/*! ../internals/is-object */ "../node_modules/core-js/internals/is-object.js");
var document = globalThis.document;
// typeof document.createElement is 'object' in old IE
var EXISTS = isObject(document) && isObject(document.createElement);
module.exports = function (it) {
return EXISTS ? document.createElement(it) : {};
};
/***/ }),
/***/ "../node_modules/core-js/internals/enum-bug-keys.js":
/*!**********************************************************!*\
!*** ../node_modules/core-js/internals/enum-bug-keys.js ***!
\**********************************************************/
/***/ ((module) => {
"use strict";
// IE8- don't enum bug keys
module.exports = [
'constructor',
'hasOwnProperty',
'isPrototypeOf',
'propertyIsEnumerable',
'toLocaleString',
'toString',
'valueOf'
];
/***/ }),
/***/ "../node_modules/core-js/internals/environment-user-agent.js":
/*!*******************************************************************!*\
!*** ../node_modules/core-js/internals/environment-user-agent.js ***!
\*******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var globalThis = __webpack_require__(/*! ../internals/global-this */ "../node_modules/core-js/internals/global-this.js");
var navigator = globalThis.navigator;
var userAgent = navigator && navigator.userAgent;
module.exports = userAgent ? String(userAgent) : '';
/***/ }),
/***/ "../node_modules/core-js/internals/environment-v8-version.js":
/*!*******************************************************************!*\
!*** ../node_modules/core-js/internals/environment-v8-version.js ***!
\*******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var globalThis = __webpack_require__(/*! ../internals/global-this */ "../node_modules/core-js/internals/global-this.js");
var userAgent = __webpack_require__(/*! ../internals/environment-user-agent */ "../node_modules/core-js/internals/environment-user-agent.js");
var process = globalThis.process;
var Deno = globalThis.Deno;
var versions = process && process.versions || Deno && Deno.version;
var v8 = versions && versions.v8;
var match, version;
if (v8) {
match = v8.split('.');
// in old Chrome, versions of V8 isn't V8 = Chrome / 10
// but their correct versions are not interesting for us
version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
}
// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`
// so check `userAgent` even if `.v8` exists, but 0
if (!version && userAgent) {
match = userAgent.match(/Edge\/(\d+)/);
if (!match || match[1] >= 74) {
match = userAgent.match(/Chrome\/(\d+)/);
if (match) version = +match[1];
}
}
module.exports = version;
/***/ }),
/***/ "../node_modules/core-js/internals/export.js":
/*!***************************************************!*\
!*** ../node_modules/core-js/internals/export.js ***!
\***************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var globalThis = __webpack_require__(/*! ../internals/global-this */ "../node_modules/core-js/internals/global-this.js");
var getOwnPropertyDescriptor = (__webpack_require__(/*! ../internals/object-get-own-property-descriptor */ "../node_modules/core-js/internals/object-get-own-property-descriptor.js").f);
var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "../node_modules/core-js/internals/create-non-enumerable-property.js");
var defineBuiltIn = __webpack_require__(/*! ../internals/define-built-in */ "../node_modules/core-js/internals/define-built-in.js");
var defineGlobalProperty = __webpack_require__(/*! ../internals/define-global-property */ "../node_modules/core-js/internals/define-global-property.js");
var copyConstructorProperties = __webpack_require__(/*! ../internals/copy-constructor-properties */ "../node_modules/core-js/internals/copy-constructor-properties.js");
var isForced = __webpack_require__(/*! ../internals/is-forced */ "../node_modules/core-js/internals/is-forced.js");
/*
options.target - name of the target object
options.global - target is the global object
options.stat - export as static methods of target
options.proto - export as prototype methods of target
options.real - real prototype method for the `pure` version
options.forced - export even if the native feature is available
options.bind - bind methods to the target, required for the `pure` version
options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
options.unsafe - use the simple assignment of property instead of delete + defineProperty
options.sham - add a flag to not completely full polyfills
options.enumerable - export as enumerable property
options.dontCallGetSet - prevent calling a getter on target
options.name - the .name of the function if it does not match the key
*/
module.exports = function (options, source) {
var TARGET = options.target;
var GLOBAL = options.global;
var STATIC = options.stat;
var FORCED, target, key, targetProperty, sourceProperty, descriptor;
if (GLOBAL) {
target = globalThis;
} else if (STATIC) {
target = globalThis[TARGET] || defineGlobalProperty(TARGET, {});
} else {
target = globalThis[TARGET] && globalThis[TARGET].prototype;
}
if (target) for (key in source) {
sourceProperty = source[key];
if (options.dontCallGetSet) {
descriptor = getOwnPropertyDescriptor(target, key);
targetProperty = descriptor && descriptor.value;
} else targetProperty = target[key];
FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
// contained in target
if (!FORCED && targetProperty !== undefined) {
if (typeof sourceProperty == typeof targetProperty) continue;
copyConstructorProperties(sourceProperty, targetProperty);
}
// add a flag to not completely full polyfills
if (options.sham || (targetProperty && targetProperty.sham)) {
createNonEnumerableProperty(sourceProperty, 'sham', true);
}
defineBuiltIn(target, key, sourceProperty, options);
}
};
/***/ }),
/***/ "../node_modules/core-js/internals/fails.js":
/*!**************************************************!*\
!*** ../node_modules/core-js/internals/fails.js ***!
\**************************************************/
/***/ ((module) => {
"use strict";
module.exports = function (exec) {
try {
return !!exec();
} catch (error) {
return true;
}
};
/***/ }),
/***/ "../node_modules/core-js/internals/function-bind-native.js":
/*!*****************************************************************!*\
!*** ../node_modules/core-js/internals/function-bind-native.js ***!
\*****************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var fails = __webpack_require__(/*! ../internals/fails */ "../node_modules/core-js/internals/fails.js");
module.exports = !fails(function () {
// eslint-disable-next-line es/no-function-prototype-bind -- safe
var test = (function () { /* empty */ }).bind();
// eslint-disable-next-line no-prototype-builtins -- safe
return typeof test != 'function' || test.hasOwnProperty('prototype');
});
/***/ }),
/***/ "../node_modules/core-js/internals/function-call.js":
/*!**********************************************************!*\
!*** ../node_modules/core-js/internals/function-call.js ***!
\**********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var NATIVE_BIND = __webpack_require__(/*! ../internals/function-bind-native */ "../node_modules/core-js/internals/function-bind-native.js");
var call = Function.prototype.call;
module.exports = NATIVE_BIND ? call.bind(call) : function () {
return call.apply(call, arguments);
};
/***/ }),
/***/ "../node_modules/core-js/internals/function-name.js":
/*!**********************************************************!*\
!*** ../node_modules/core-js/internals/function-name.js ***!
\**********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "../node_modules/core-js/internals/descriptors.js");
var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "../node_modules/core-js/internals/has-own-property.js");
var FunctionPrototype = Function.prototype;
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;
var EXISTS = hasOwn(FunctionPrototype, 'name');
// additional protection from minified / mangled / dropped function names
var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';
var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));
module.exports = {
EXISTS: EXISTS,
PROPER: PROPER,
CONFIGURABLE: CONFIGURABLE
};
/***/ }),
/***/ "../node_modules/core-js/internals/function-uncurry-this.js":
/*!******************************************************************!*\
!*** ../node_modules/core-js/internals/function-uncurry-this.js ***!
\******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var NATIVE_BIND = __webpack_require__(/*! ../internals/function-bind-native */ "../node_modules/core-js/internals/function-bind-native.js");
var FunctionPrototype = Function.prototype;
var call = FunctionPrototype.call;
var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);
module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {
return function () {
return call.apply(fn, arguments);
};
};
/***/ }),
/***/ "../node_modules/core-js/internals/get-built-in.js":
/*!*********************************************************!*\
!*** ../node_modules/core-js/internals/get-built-in.js ***!
\*********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var globalThis = __webpack_require__(/*! ../internals/global-this */ "../node_modules/core-js/internals/global-this.js");
var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
var aFunction = function (argument) {
return isCallable(argument) ? argument : undefined;
};
module.exports = function (namespace, method) {
return arguments.length < 2 ? aFunction(globalThis[namespace]) : globalThis[namespace] && globalThis[namespace][method];
};
/***/ }),
/***/ "../node_modules/core-js/internals/get-method.js":
/*!*******************************************************!*\
!*** ../node_modules/core-js/internals/get-method.js ***!
\*******************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var aCallable = __webpack_require__(/*! ../internals/a-callable */ "../node_modules/core-js/internals/a-callable.js");
var isNullOrUndefined = __webpack_require__(/*! ../internals/is-null-or-undefined */ "../node_modules/core-js/internals/is-null-or-undefined.js");
// `GetMethod` abstract operation
// https://tc39.es/ecma262/#sec-getmethod
module.exports = function (V, P) {
var func = V[P];
return isNullOrUndefined(func) ? undefined : aCallable(func);
};
/***/ }),
/***/ "../node_modules/core-js/internals/global-this.js":
/*!********************************************************!*\
!*** ../node_modules/core-js/internals/global-this.js ***!
\********************************************************/
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
"use strict";
var check = function (it) {
return it && it.Math === Math && it;
};
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
module.exports =
// eslint-disable-next-line es/no-global-this -- safe
check(typeof globalThis == 'object' && globalThis) ||
check(typeof window == 'object' && window) ||
// eslint-disable-next-line no-restricted-globals -- safe
check(typeof self == 'object' && self) ||
check(typeof __webpack_require__.g == 'object' && __webpack_require__.g) ||
check(typeof this == 'object' && this) ||
// eslint-disable-next-line no-new-func -- fallback
(function () { return this; })() || Function('return this')();
/***/ }),
/***/ "../node_modules/core-js/internals/has-own-property.js":
/*!*************************************************************!*\
!*** ../node_modules/core-js/internals/has-own-property.js ***!
\*************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
var toObject = __webpack_require__(/*! ../internals/to-object */ "../node_modules/core-js/internals/to-object.js");
var hasOwnProperty = uncurryThis({}.hasOwnProperty);
// `HasOwnProperty` abstract operation
// https://tc39.es/ecma262/#sec-hasownproperty
// eslint-disable-next-line es/no-object-hasown -- safe
module.exports = Object.hasOwn || function hasOwn(it, key) {
return hasOwnProperty(toObject(it), key);
};
/***/ }),
/***/ "../node_modules/core-js/internals/hidden-keys.js":
/*!********************************************************!*\
!*** ../node_modules/core-js/internals/hidden-keys.js ***!
\********************************************************/
/***/ ((module) => {
"use strict";
module.exports = {};
/***/ }),
/***/ "../node_modules/core-js/internals/html.js":
/*!*************************************************!*\
!*** ../node_modules/core-js/internals/html.js ***!
\*************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "../node_modules/core-js/internals/get-built-in.js");
module.exports = getBuiltIn('document', 'documentElement');
/***/ }),
/***/ "../node_modules/core-js/internals/ie8-dom-define.js":
/*!***********************************************************!*\
!*** ../node_modules/core-js/internals/ie8-dom-define.js ***!
\***********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "../node_modules/core-js/internals/descriptors.js");
var fails = __webpack_require__(/*! ../internals/fails */ "../node_modules/core-js/internals/fails.js");
var createElement = __webpack_require__(/*! ../internals/document-create-element */ "../node_modules/core-js/internals/document-create-element.js");
// Thanks to IE8 for its funny defineProperty
module.exports = !DESCRIPTORS && !fails(function () {
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
return Object.defineProperty(createElement('div'), 'a', {
get: function () { return 7; }
}).a !== 7;
});
/***/ }),
/***/ "../node_modules/core-js/internals/indexed-object.js":
/*!***********************************************************!*\
!*** ../node_modules/core-js/internals/indexed-object.js ***!
\***********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
var fails = __webpack_require__(/*! ../internals/fails */ "../node_modules/core-js/internals/fails.js");
var classof = __webpack_require__(/*! ../internals/classof-raw */ "../node_modules/core-js/internals/classof-raw.js");
var $Object = Object;
var split = uncurryThis(''.split);
// fallback for non-array-like ES3 and non-enumerable old V8 strings
module.exports = fails(function () {
// throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
// eslint-disable-next-line no-prototype-builtins -- safe
return !$Object('z').propertyIsEnumerable(0);
}) ? function (it) {
return classof(it) === 'String' ? split(it, '') : $Object(it);
} : $Object;
/***/ }),
/***/ "../node_modules/core-js/internals/inspect-source.js":
/*!***********************************************************!*\
!*** ../node_modules/core-js/internals/inspect-source.js ***!
\***********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
var store = __webpack_require__(/*! ../internals/shared-store */ "../node_modules/core-js/internals/shared-store.js");
var functionToString = uncurryThis(Function.toString);
// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
if (!isCallable(store.inspectSource)) {
store.inspectSource = function (it) {
return functionToString(it);
};
}
module.exports = store.inspectSource;
/***/ }),
/***/ "../node_modules/core-js/internals/internal-state.js":
/*!***********************************************************!*\
!*** ../node_modules/core-js/internals/internal-state.js ***!
\***********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var NATIVE_WEAK_MAP = __webpack_require__(/*! ../internals/weak-map-basic-detection */ "../node_modules/core-js/internals/weak-map-basic-detection.js");
var globalThis = __webpack_require__(/*! ../internals/global-this */ "../node_modules/core-js/internals/global-this.js");
var isObject = __webpack_require__(/*! ../internals/is-object */ "../node_modules/core-js/internals/is-object.js");
var createNonEnumerableProperty = __webpack_require__(/*! ../internals/create-non-enumerable-property */ "../node_modules/core-js/internals/create-non-enumerable-property.js");
var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "../node_modules/core-js/internals/has-own-property.js");
var shared = __webpack_require__(/*! ../internals/shared-store */ "../node_modules/core-js/internals/shared-store.js");
var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "../node_modules/core-js/internals/shared-key.js");
var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "../node_modules/core-js/internals/hidden-keys.js");
var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
var TypeError = globalThis.TypeError;
var WeakMap = globalThis.WeakMap;
var set, get, has;
var enforce = function (it) {
return has(it) ? get(it) : set(it, {});
};
var getterFor = function (TYPE) {
return function (it) {
var state;
if (!isObject(it) || (state = get(it)).type !== TYPE) {
throw new TypeError('Incompatible receiver, ' + TYPE + ' required');
} return state;
};
};
if (NATIVE_WEAK_MAP || shared.state) {
var store = shared.state || (shared.state = new WeakMap());
/* eslint-disable no-self-assign -- prototype methods protection */
store.get = store.get;
store.has = store.has;
store.set = store.set;
/* eslint-enable no-self-assign -- prototype methods protection */
set = function (it, metadata) {
if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);
metadata.facade = it;
store.set(it, metadata);
return metadata;
};
get = function (it) {
return store.get(it) || {};
};
has = function (it) {
return store.has(it);
};
} else {
var STATE = sharedKey('state');
hiddenKeys[STATE] = true;
set = function (it, metadata) {
if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);
metadata.facade = it;
createNonEnumerableProperty(it, STATE, metadata);
return metadata;
};
get = function (it) {
return hasOwn(it, STATE) ? it[STATE] : {};
};
has = function (it) {
return hasOwn(it, STATE);
};
}
module.exports = {
set: set,
get: get,
has: has,
enforce: enforce,
getterFor: getterFor
};
/***/ }),
/***/ "../node_modules/core-js/internals/is-callable.js":
/*!********************************************************!*\
!*** ../node_modules/core-js/internals/is-callable.js ***!
\********************************************************/
/***/ ((module) => {
"use strict";
// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot
var documentAll = typeof document == 'object' && document.all;
// `IsCallable` abstract operation
// https://tc39.es/ecma262/#sec-iscallable
// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing
module.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {
return typeof argument == 'function' || argument === documentAll;
} : function (argument) {
return typeof argument == 'function';
};
/***/ }),
/***/ "../node_modules/core-js/internals/is-forced.js":
/*!******************************************************!*\
!*** ../node_modules/core-js/internals/is-forced.js ***!
\******************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var fails = __webpack_require__(/*! ../internals/fails */ "../node_modules/core-js/internals/fails.js");
var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
var replacement = /#|\.prototype\./;
var isForced = function (feature, detection) {
var value = data[normalize(feature)];
return value === POLYFILL ? true
: value === NATIVE ? false
: isCallable(detection) ? fails(detection)
: !!detection;
};
var normalize = isForced.normalize = function (string) {
return String(string).replace(replacement, '.').toLowerCase();
};
var data = isForced.data = {};
var NATIVE = isForced.NATIVE = 'N';
var POLYFILL = isForced.POLYFILL = 'P';
module.exports = isForced;
/***/ }),
/***/ "../node_modules/core-js/internals/is-null-or-undefined.js":
/*!*****************************************************************!*\
!*** ../node_modules/core-js/internals/is-null-or-undefined.js ***!
\*****************************************************************/
/***/ ((module) => {
"use strict";
// we can't use just `it == null` since of `document.all` special case
// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec
module.exports = function (it) {
return it === null || it === undefined;
};
/***/ }),
/***/ "../node_modules/core-js/internals/is-object.js":
/*!******************************************************!*\
!*** ../node_modules/core-js/internals/is-object.js ***!
\******************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
module.exports = function (it) {
return typeof it == 'object' ? it !== null : isCallable(it);
};
/***/ }),
/***/ "../node_modules/core-js/internals/is-pure.js":
/*!****************************************************!*\
!*** ../node_modules/core-js/internals/is-pure.js ***!
\****************************************************/
/***/ ((module) => {
"use strict";
module.exports = false;
/***/ }),
/***/ "../node_modules/core-js/internals/is-symbol.js":
/*!******************************************************!*\
!*** ../node_modules/core-js/internals/is-symbol.js ***!
\******************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "../node_modules/core-js/internals/get-built-in.js");
var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
var isPrototypeOf = __webpack_require__(/*! ../internals/object-is-prototype-of */ "../node_modules/core-js/internals/object-is-prototype-of.js");
var USE_SYMBOL_AS_UID = __webpack_require__(/*! ../internals/use-symbol-as-uid */ "../node_modules/core-js/internals/use-symbol-as-uid.js");
var $Object = Object;
module.exports = USE_SYMBOL_AS_UID ? function (it) {
return typeof it == 'symbol';
} : function (it) {
var $Symbol = getBuiltIn('Symbol');
return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));
};
/***/ }),
/***/ "../node_modules/core-js/internals/length-of-array-like.js":
/*!*****************************************************************!*\
!*** ../node_modules/core-js/internals/length-of-array-like.js ***!
\*****************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var toLength = __webpack_require__(/*! ../internals/to-length */ "../node_modules/core-js/internals/to-length.js");
// `LengthOfArrayLike` abstract operation
// https://tc39.es/ecma262/#sec-lengthofarraylike
module.exports = function (obj) {
return toLength(obj.length);
};
/***/ }),
/***/ "../node_modules/core-js/internals/make-built-in.js":
/*!**********************************************************!*\
!*** ../node_modules/core-js/internals/make-built-in.js ***!
\**********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
var fails = __webpack_require__(/*! ../internals/fails */ "../node_modules/core-js/internals/fails.js");
var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "../node_modules/core-js/internals/has-own-property.js");
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "../node_modules/core-js/internals/descriptors.js");
var CONFIGURABLE_FUNCTION_NAME = (__webpack_require__(/*! ../internals/function-name */ "../node_modules/core-js/internals/function-name.js").CONFIGURABLE);
var inspectSource = __webpack_require__(/*! ../internals/inspect-source */ "../node_modules/core-js/internals/inspect-source.js");
var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ "../node_modules/core-js/internals/internal-state.js");
var enforceInternalState = InternalStateModule.enforce;
var getInternalState = InternalStateModule.get;
var $String = String;
// eslint-disable-next-line es/no-object-defineproperty -- safe
var defineProperty = Object.defineProperty;
var stringSlice = uncurryThis(''.slice);
var replace = uncurryThis(''.replace);
var join = uncurryThis([].join);
var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {
return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;
});
var TEMPLATE = String(String).split('String');
var makeBuiltIn = module.exports = function (value, name, options) {
if (stringSlice($String(name), 0, 7) === 'Symbol(') {
name = '[' + replace($String(name), /^Symbol\(([^)]*)\).*$/, '$1') + ']';
}
if (options && options.getter) name = 'get ' + name;
if (options && options.setter) name = 'set ' + name;
if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {
if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });
else value.name = name;
}
if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {
defineProperty(value, 'length', { value: options.arity });
}
try {
if (options && hasOwn(options, 'constructor') && options.constructor) {
if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });
// in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable
} else if (value.prototype) value.prototype = undefined;
} catch (error) { /* empty */ }
var state = enforceInternalState(value);
if (!hasOwn(state, 'source')) {
state.source = join(TEMPLATE, typeof name == 'string' ? name : '');
} return value;
};
// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
// eslint-disable-next-line no-extend-native -- required
Function.prototype.toString = makeBuiltIn(function toString() {
return isCallable(this) && getInternalState(this).source || inspectSource(this);
}, 'toString');
/***/ }),
/***/ "../node_modules/core-js/internals/math-trunc.js":
/*!*******************************************************!*\
!*** ../node_modules/core-js/internals/math-trunc.js ***!
\*******************************************************/
/***/ ((module) => {
"use strict";
var ceil = Math.ceil;
var floor = Math.floor;
// `Math.trunc` method
// https://tc39.es/ecma262/#sec-math.trunc
// eslint-disable-next-line es/no-math-trunc -- safe
module.exports = Math.trunc || function trunc(x) {
var n = +x;
return (n > 0 ? floor : ceil)(n);
};
/***/ }),
/***/ "../node_modules/core-js/internals/object-create.js":
/*!**********************************************************!*\
!*** ../node_modules/core-js/internals/object-create.js ***!
\**********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
/* global ActiveXObject -- old IE, WSH */
var anObject = __webpack_require__(/*! ../internals/an-object */ "../node_modules/core-js/internals/an-object.js");
var definePropertiesModule = __webpack_require__(/*! ../internals/object-define-properties */ "../node_modules/core-js/internals/object-define-properties.js");
var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "../node_modules/core-js/internals/enum-bug-keys.js");
var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "../node_modules/core-js/internals/hidden-keys.js");
var html = __webpack_require__(/*! ../internals/html */ "../node_modules/core-js/internals/html.js");
var documentCreateElement = __webpack_require__(/*! ../internals/document-create-element */ "../node_modules/core-js/internals/document-create-element.js");
var sharedKey = __webpack_require__(/*! ../internals/shared-key */ "../node_modules/core-js/internals/shared-key.js");
var GT = '>';
var LT = '<';
var PROTOTYPE = 'prototype';
var SCRIPT = 'script';
var IE_PROTO = sharedKey('IE_PROTO');
var EmptyConstructor = function () { /* empty */ };
var scriptTag = function (content) {
return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
};
// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
var NullProtoObjectViaActiveX = function (activeXDocument) {
activeXDocument.write(scriptTag(''));
activeXDocument.close();
var temp = activeXDocument.parentWindow.Object;
// eslint-disable-next-line no-useless-assignment -- avoid memory leak
activeXDocument = null;
return temp;
};
// Create object with fake `null` prototype: use iframe Object with cleared prototype
var NullProtoObjectViaIFrame = function () {
// Thrash, waste and sodomy: IE GC bug
var iframe = documentCreateElement('iframe');
var JS = 'java' + SCRIPT + ':';
var iframeDocument;
iframe.style.display = 'none';
html.appendChild(iframe);
// https://github.com/zloirock/core-js/issues/475
iframe.src = String(JS);
iframeDocument = iframe.contentWindow.document;
iframeDocument.open();
iframeDocument.write(scriptTag('document.F=Object'));
iframeDocument.close();
return iframeDocument.F;
};
// Check for document.domain and active x support
// No need to use active x approach when document.domain is not set
// see https://github.com/es-shims/es5-shim/issues/150
// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
// avoid IE GC bug
var activeXDocument;
var NullProtoObject = function () {
try {
activeXDocument = new ActiveXObject('htmlfile');
} catch (error) { /* ignore */ }
NullProtoObject = typeof document != 'undefined'
? document.domain && activeXDocument
? NullProtoObjectViaActiveX(activeXDocument) // old IE
: NullProtoObjectViaIFrame()
: NullProtoObjectViaActiveX(activeXDocument); // WSH
var length = enumBugKeys.length;
while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
return NullProtoObject();
};
hiddenKeys[IE_PROTO] = true;
// `Object.create` method
// https://tc39.es/ecma262/#sec-object.create
// eslint-disable-next-line es/no-object-create -- safe
module.exports = Object.create || function create(O, Properties) {
var result;
if (O !== null) {
EmptyConstructor[PROTOTYPE] = anObject(O);
result = new EmptyConstructor();
EmptyConstructor[PROTOTYPE] = null;
// add "__proto__" for Object.getPrototypeOf polyfill
result[IE_PROTO] = O;
} else result = NullProtoObject();
return Properties === undefined ? result : definePropertiesModule.f(result, Properties);
};
/***/ }),
/***/ "../node_modules/core-js/internals/object-define-properties.js":
/*!*********************************************************************!*\
!*** ../node_modules/core-js/internals/object-define-properties.js ***!
\*********************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "../node_modules/core-js/internals/descriptors.js");
var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(/*! ../internals/v8-prototype-define-bug */ "../node_modules/core-js/internals/v8-prototype-define-bug.js");
var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ "../node_modules/core-js/internals/object-define-property.js");
var anObject = __webpack_require__(/*! ../internals/an-object */ "../node_modules/core-js/internals/an-object.js");
var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "../node_modules/core-js/internals/to-indexed-object.js");
var objectKeys = __webpack_require__(/*! ../internals/object-keys */ "../node_modules/core-js/internals/object-keys.js");
// `Object.defineProperties` method
// https://tc39.es/ecma262/#sec-object.defineproperties
// eslint-disable-next-line es/no-object-defineproperties -- safe
exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
anObject(O);
var props = toIndexedObject(Properties);
var keys = objectKeys(Properties);
var length = keys.length;
var index = 0;
var key;
while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);
return O;
};
/***/ }),
/***/ "../node_modules/core-js/internals/object-define-property.js":
/*!*******************************************************************!*\
!*** ../node_modules/core-js/internals/object-define-property.js ***!
\*******************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "../node_modules/core-js/internals/descriptors.js");
var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "../node_modules/core-js/internals/ie8-dom-define.js");
var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(/*! ../internals/v8-prototype-define-bug */ "../node_modules/core-js/internals/v8-prototype-define-bug.js");
var anObject = __webpack_require__(/*! ../internals/an-object */ "../node_modules/core-js/internals/an-object.js");
var toPropertyKey = __webpack_require__(/*! ../internals/to-property-key */ "../node_modules/core-js/internals/to-property-key.js");
var $TypeError = TypeError;
// eslint-disable-next-line es/no-object-defineproperty -- safe
var $defineProperty = Object.defineProperty;
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
var ENUMERABLE = 'enumerable';
var CONFIGURABLE = 'configurable';
var WRITABLE = 'writable';
// `Object.defineProperty` method
// https://tc39.es/ecma262/#sec-object.defineproperty
exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {
anObject(O);
P = toPropertyKey(P);
anObject(Attributes);
if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
var current = $getOwnPropertyDescriptor(O, P);
if (current && current[WRITABLE]) {
O[P] = Attributes.value;
Attributes = {
configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],
enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
writable: false
};
}
} return $defineProperty(O, P, Attributes);
} : $defineProperty : function defineProperty(O, P, Attributes) {
anObject(O);
P = toPropertyKey(P);
anObject(Attributes);
if (IE8_DOM_DEFINE) try {
return $defineProperty(O, P, Attributes);
} catch (error) { /* empty */ }
if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');
if ('value' in Attributes) O[P] = Attributes.value;
return O;
};
/***/ }),
/***/ "../node_modules/core-js/internals/object-get-own-property-descriptor.js":
/*!*******************************************************************************!*\
!*** ../node_modules/core-js/internals/object-get-own-property-descriptor.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "../node_modules/core-js/internals/descriptors.js");
var call = __webpack_require__(/*! ../internals/function-call */ "../node_modules/core-js/internals/function-call.js");
var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ "../node_modules/core-js/internals/object-property-is-enumerable.js");
var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ "../node_modules/core-js/internals/create-property-descriptor.js");
var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "../node_modules/core-js/internals/to-indexed-object.js");
var toPropertyKey = __webpack_require__(/*! ../internals/to-property-key */ "../node_modules/core-js/internals/to-property-key.js");
var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "../node_modules/core-js/internals/has-own-property.js");
var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "../node_modules/core-js/internals/ie8-dom-define.js");
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
// `Object.getOwnPropertyDescriptor` method
// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
O = toIndexedObject(O);
P = toPropertyKey(P);
if (IE8_DOM_DEFINE) try {
return $getOwnPropertyDescriptor(O, P);
} catch (error) { /* empty */ }
if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);
};
/***/ }),
/***/ "../node_modules/core-js/internals/object-get-own-property-names.js":
/*!**************************************************************************!*\
!*** ../node_modules/core-js/internals/object-get-own-property-names.js ***!
\**************************************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ "../node_modules/core-js/internals/object-keys-internal.js");
var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "../node_modules/core-js/internals/enum-bug-keys.js");
var hiddenKeys = enumBugKeys.concat('length', 'prototype');
// `Object.getOwnPropertyNames` method
// https://tc39.es/ecma262/#sec-object.getownpropertynames
// eslint-disable-next-line es/no-object-getownpropertynames -- safe
exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
return internalObjectKeys(O, hiddenKeys);
};
/***/ }),
/***/ "../node_modules/core-js/internals/object-get-own-property-symbols.js":
/*!****************************************************************************!*\
!*** ../node_modules/core-js/internals/object-get-own-property-symbols.js ***!
\****************************************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
exports.f = Object.getOwnPropertySymbols;
/***/ }),
/***/ "../node_modules/core-js/internals/object-is-prototype-of.js":
/*!*******************************************************************!*\
!*** ../node_modules/core-js/internals/object-is-prototype-of.js ***!
\*******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
module.exports = uncurryThis({}.isPrototypeOf);
/***/ }),
/***/ "../node_modules/core-js/internals/object-keys-internal.js":
/*!*****************************************************************!*\
!*** ../node_modules/core-js/internals/object-keys-internal.js ***!
\*****************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "../node_modules/core-js/internals/has-own-property.js");
var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ "../node_modules/core-js/internals/to-indexed-object.js");
var indexOf = (__webpack_require__(/*! ../internals/array-includes */ "../node_modules/core-js/internals/array-includes.js").indexOf);
var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ "../node_modules/core-js/internals/hidden-keys.js");
var push = uncurryThis([].push);
module.exports = function (object, names) {
var O = toIndexedObject(object);
var i = 0;
var result = [];
var key;
for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);
// Don't enum bug & hidden keys
while (names.length > i) if (hasOwn(O, key = names[i++])) {
~indexOf(result, key) || push(result, key);
}
return result;
};
/***/ }),
/***/ "../node_modules/core-js/internals/object-keys.js":
/*!********************************************************!*\
!*** ../node_modules/core-js/internals/object-keys.js ***!
\********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ "../node_modules/core-js/internals/object-keys-internal.js");
var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ "../node_modules/core-js/internals/enum-bug-keys.js");
// `Object.keys` method
// https://tc39.es/ecma262/#sec-object.keys
// eslint-disable-next-line es/no-object-keys -- safe
module.exports = Object.keys || function keys(O) {
return internalObjectKeys(O, enumBugKeys);
};
/***/ }),
/***/ "../node_modules/core-js/internals/object-property-is-enumerable.js":
/*!**************************************************************************!*\
!*** ../node_modules/core-js/internals/object-property-is-enumerable.js ***!
\**************************************************************************/
/***/ ((__unused_webpack_module, exports) => {
"use strict";
var $propertyIsEnumerable = {}.propertyIsEnumerable;
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
// Nashorn ~ JDK8 bug
var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);
// `Object.prototype.propertyIsEnumerable` method implementation
// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
var descriptor = getOwnPropertyDescriptor(this, V);
return !!descriptor && descriptor.enumerable;
} : $propertyIsEnumerable;
/***/ }),
/***/ "../node_modules/core-js/internals/ordinary-to-primitive.js":
/*!******************************************************************!*\
!*** ../node_modules/core-js/internals/ordinary-to-primitive.js ***!
\******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var call = __webpack_require__(/*! ../internals/function-call */ "../node_modules/core-js/internals/function-call.js");
var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
var isObject = __webpack_require__(/*! ../internals/is-object */ "../node_modules/core-js/internals/is-object.js");
var $TypeError = TypeError;
// `OrdinaryToPrimitive` abstract operation
// https://tc39.es/ecma262/#sec-ordinarytoprimitive
module.exports = function (input, pref) {
var fn, val;
if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;
if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;
if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;
throw new $TypeError("Can't convert object to primitive value");
};
/***/ }),
/***/ "../node_modules/core-js/internals/own-keys.js":
/*!*****************************************************!*\
!*** ../node_modules/core-js/internals/own-keys.js ***!
\*****************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ "../node_modules/core-js/internals/get-built-in.js");
var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
var getOwnPropertyNamesModule = __webpack_require__(/*! ../internals/object-get-own-property-names */ "../node_modules/core-js/internals/object-get-own-property-names.js");
var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ "../node_modules/core-js/internals/object-get-own-property-symbols.js");
var anObject = __webpack_require__(/*! ../internals/an-object */ "../node_modules/core-js/internals/an-object.js");
var concat = uncurryThis([].concat);
// all object keys, includes non-enumerable and symbols
module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
var keys = getOwnPropertyNamesModule.f(anObject(it));
var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;
};
/***/ }),
/***/ "../node_modules/core-js/internals/require-object-coercible.js":
/*!*********************************************************************!*\
!*** ../node_modules/core-js/internals/require-object-coercible.js ***!
\*********************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var isNullOrUndefined = __webpack_require__(/*! ../internals/is-null-or-undefined */ "../node_modules/core-js/internals/is-null-or-undefined.js");
var $TypeError = TypeError;
// `RequireObjectCoercible` abstract operation
// https://tc39.es/ecma262/#sec-requireobjectcoercible
module.exports = function (it) {
if (isNullOrUndefined(it)) throw new $TypeError("Can't call method on " + it);
return it;
};
/***/ }),
/***/ "../node_modules/core-js/internals/shared-key.js":
/*!*******************************************************!*\
!*** ../node_modules/core-js/internals/shared-key.js ***!
\*******************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var shared = __webpack_require__(/*! ../internals/shared */ "../node_modules/core-js/internals/shared.js");
var uid = __webpack_require__(/*! ../internals/uid */ "../node_modules/core-js/internals/uid.js");
var keys = shared('keys');
module.exports = function (key) {
return keys[key] || (keys[key] = uid(key));
};
/***/ }),
/***/ "../node_modules/core-js/internals/shared-store.js":
/*!*********************************************************!*\
!*** ../node_modules/core-js/internals/shared-store.js ***!
\*********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ "../node_modules/core-js/internals/is-pure.js");
var globalThis = __webpack_require__(/*! ../internals/global-this */ "../node_modules/core-js/internals/global-this.js");
var defineGlobalProperty = __webpack_require__(/*! ../internals/define-global-property */ "../node_modules/core-js/internals/define-global-property.js");
var SHARED = '__core-js_shared__';
var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});
(store.versions || (store.versions = [])).push({
version: '3.38.1',
mode: IS_PURE ? 'pure' : 'global',
copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',
license: 'https://github.com/zloirock/core-js/blob/v3.38.1/LICENSE',
source: 'https://github.com/zloirock/core-js'
});
/***/ }),
/***/ "../node_modules/core-js/internals/shared.js":
/*!***************************************************!*\
!*** ../node_modules/core-js/internals/shared.js ***!
\***************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var store = __webpack_require__(/*! ../internals/shared-store */ "../node_modules/core-js/internals/shared-store.js");
module.exports = function (key, value) {
return store[key] || (store[key] = value || {});
};
/***/ }),
/***/ "../node_modules/core-js/internals/symbol-constructor-detection.js":
/*!*************************************************************************!*\
!*** ../node_modules/core-js/internals/symbol-constructor-detection.js ***!
\*************************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
/* eslint-disable es/no-symbol -- required for testing */
var V8_VERSION = __webpack_require__(/*! ../internals/environment-v8-version */ "../node_modules/core-js/internals/environment-v8-version.js");
var fails = __webpack_require__(/*! ../internals/fails */ "../node_modules/core-js/internals/fails.js");
var globalThis = __webpack_require__(/*! ../internals/global-this */ "../node_modules/core-js/internals/global-this.js");
var $String = globalThis.String;
// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
var symbol = Symbol('symbol detection');
// Chrome 38 Symbol has incorrect toString conversion
// `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
// nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,
// of course, fail.
return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||
// Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
!Symbol.sham && V8_VERSION && V8_VERSION < 41;
});
/***/ }),
/***/ "../node_modules/core-js/internals/to-absolute-index.js":
/*!**************************************************************!*\
!*** ../node_modules/core-js/internals/to-absolute-index.js ***!
\**************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var toIntegerOrInfinity = __webpack_require__(/*! ../internals/to-integer-or-infinity */ "../node_modules/core-js/internals/to-integer-or-infinity.js");
var max = Math.max;
var min = Math.min;
// Helper for a popular repeating case of the spec:
// Let integer be ? ToInteger(index).
// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
module.exports = function (index, length) {
var integer = toIntegerOrInfinity(index);
return integer < 0 ? max(integer + length, 0) : min(integer, length);
};
/***/ }),
/***/ "../node_modules/core-js/internals/to-indexed-object.js":
/*!**************************************************************!*\
!*** ../node_modules/core-js/internals/to-indexed-object.js ***!
\**************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
// toObject with fallback for non-array-like ES3 strings
var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ "../node_modules/core-js/internals/indexed-object.js");
var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "../node_modules/core-js/internals/require-object-coercible.js");
module.exports = function (it) {
return IndexedObject(requireObjectCoercible(it));
};
/***/ }),
/***/ "../node_modules/core-js/internals/to-integer-or-infinity.js":
/*!*******************************************************************!*\
!*** ../node_modules/core-js/internals/to-integer-or-infinity.js ***!
\*******************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var trunc = __webpack_require__(/*! ../internals/math-trunc */ "../node_modules/core-js/internals/math-trunc.js");
// `ToIntegerOrInfinity` abstract operation
// https://tc39.es/ecma262/#sec-tointegerorinfinity
module.exports = function (argument) {
var number = +argument;
// eslint-disable-next-line no-self-compare -- NaN check
return number !== number || number === 0 ? 0 : trunc(number);
};
/***/ }),
/***/ "../node_modules/core-js/internals/to-length.js":
/*!******************************************************!*\
!*** ../node_modules/core-js/internals/to-length.js ***!
\******************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var toIntegerOrInfinity = __webpack_require__(/*! ../internals/to-integer-or-infinity */ "../node_modules/core-js/internals/to-integer-or-infinity.js");
var min = Math.min;
// `ToLength` abstract operation
// https://tc39.es/ecma262/#sec-tolength
module.exports = function (argument) {
var len = toIntegerOrInfinity(argument);
return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
};
/***/ }),
/***/ "../node_modules/core-js/internals/to-object.js":
/*!******************************************************!*\
!*** ../node_modules/core-js/internals/to-object.js ***!
\******************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "../node_modules/core-js/internals/require-object-coercible.js");
var $Object = Object;
// `ToObject` abstract operation
// https://tc39.es/ecma262/#sec-toobject
module.exports = function (argument) {
return $Object(requireObjectCoercible(argument));
};
/***/ }),
/***/ "../node_modules/core-js/internals/to-primitive.js":
/*!*********************************************************!*\
!*** ../node_modules/core-js/internals/to-primitive.js ***!
\*********************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var call = __webpack_require__(/*! ../internals/function-call */ "../node_modules/core-js/internals/function-call.js");
var isObject = __webpack_require__(/*! ../internals/is-object */ "../node_modules/core-js/internals/is-object.js");
var isSymbol = __webpack_require__(/*! ../internals/is-symbol */ "../node_modules/core-js/internals/is-symbol.js");
var getMethod = __webpack_require__(/*! ../internals/get-method */ "../node_modules/core-js/internals/get-method.js");
var ordinaryToPrimitive = __webpack_require__(/*! ../internals/ordinary-to-primitive */ "../node_modules/core-js/internals/ordinary-to-primitive.js");
var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ "../node_modules/core-js/internals/well-known-symbol.js");
var $TypeError = TypeError;
var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
// `ToPrimitive` abstract operation
// https://tc39.es/ecma262/#sec-toprimitive
module.exports = function (input, pref) {
if (!isObject(input) || isSymbol(input)) return input;
var exoticToPrim = getMethod(input, TO_PRIMITIVE);
var result;
if (exoticToPrim) {
if (pref === undefined) pref = 'default';
result = call(exoticToPrim, input, pref);
if (!isObject(result) || isSymbol(result)) return result;
throw new $TypeError("Can't convert object to primitive value");
}
if (pref === undefined) pref = 'number';
return ordinaryToPrimitive(input, pref);
};
/***/ }),
/***/ "../node_modules/core-js/internals/to-property-key.js":
/*!************************************************************!*\
!*** ../node_modules/core-js/internals/to-property-key.js ***!
\************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "../node_modules/core-js/internals/to-primitive.js");
var isSymbol = __webpack_require__(/*! ../internals/is-symbol */ "../node_modules/core-js/internals/is-symbol.js");
// `ToPropertyKey` abstract operation
// https://tc39.es/ecma262/#sec-topropertykey
module.exports = function (argument) {
var key = toPrimitive(argument, 'string');
return isSymbol(key) ? key : key + '';
};
/***/ }),
/***/ "../node_modules/core-js/internals/try-to-string.js":
/*!**********************************************************!*\
!*** ../node_modules/core-js/internals/try-to-string.js ***!
\**********************************************************/
/***/ ((module) => {
"use strict";
var $String = String;
module.exports = function (argument) {
try {
return $String(argument);
} catch (error) {
return 'Object';
}
};
/***/ }),
/***/ "../node_modules/core-js/internals/uid.js":
/*!************************************************!*\
!*** ../node_modules/core-js/internals/uid.js ***!
\************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var uncurryThis = __webpack_require__(/*! ../internals/function-uncurry-this */ "../node_modules/core-js/internals/function-uncurry-this.js");
var id = 0;
var postfix = Math.random();
var toString = uncurryThis(1.0.toString);
module.exports = function (key) {
return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);
};
/***/ }),
/***/ "../node_modules/core-js/internals/use-symbol-as-uid.js":
/*!**************************************************************!*\
!*** ../node_modules/core-js/internals/use-symbol-as-uid.js ***!
\**************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
/* eslint-disable es/no-symbol -- required for testing */
var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/symbol-constructor-detection */ "../node_modules/core-js/internals/symbol-constructor-detection.js");
module.exports = NATIVE_SYMBOL
&& !Symbol.sham
&& typeof Symbol.iterator == 'symbol';
/***/ }),
/***/ "../node_modules/core-js/internals/v8-prototype-define-bug.js":
/*!********************************************************************!*\
!*** ../node_modules/core-js/internals/v8-prototype-define-bug.js ***!
\********************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "../node_modules/core-js/internals/descriptors.js");
var fails = __webpack_require__(/*! ../internals/fails */ "../node_modules/core-js/internals/fails.js");
// V8 ~ Chrome 36-
// https://bugs.chromium.org/p/v8/issues/detail?id=3334
module.exports = DESCRIPTORS && fails(function () {
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
return Object.defineProperty(function () { /* empty */ }, 'prototype', {
value: 42,
writable: false
}).prototype !== 42;
});
/***/ }),
/***/ "../node_modules/core-js/internals/weak-map-basic-detection.js":
/*!*********************************************************************!*\
!*** ../node_modules/core-js/internals/weak-map-basic-detection.js ***!
\*********************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var globalThis = __webpack_require__(/*! ../internals/global-this */ "../node_modules/core-js/internals/global-this.js");
var isCallable = __webpack_require__(/*! ../internals/is-callable */ "../node_modules/core-js/internals/is-callable.js");
var WeakMap = globalThis.WeakMap;
module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));
/***/ }),
/***/ "../node_modules/core-js/internals/well-known-symbol.js":
/*!**************************************************************!*\
!*** ../node_modules/core-js/internals/well-known-symbol.js ***!
\**************************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var globalThis = __webpack_require__(/*! ../internals/global-this */ "../node_modules/core-js/internals/global-this.js");
var shared = __webpack_require__(/*! ../internals/shared */ "../node_modules/core-js/internals/shared.js");
var hasOwn = __webpack_require__(/*! ../internals/has-own-property */ "../node_modules/core-js/internals/has-own-property.js");
var uid = __webpack_require__(/*! ../internals/uid */ "../node_modules/core-js/internals/uid.js");
var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/symbol-constructor-detection */ "../node_modules/core-js/internals/symbol-constructor-detection.js");
var USE_SYMBOL_AS_UID = __webpack_require__(/*! ../internals/use-symbol-as-uid */ "../node_modules/core-js/internals/use-symbol-as-uid.js");
var Symbol = globalThis.Symbol;
var WellKnownSymbolsStore = shared('wks');
var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;
module.exports = function (name) {
if (!hasOwn(WellKnownSymbolsStore, name)) {
WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)
? Symbol[name]
: createWellKnownSymbol('Symbol.' + name);
} return WellKnownSymbolsStore[name];
};
/***/ }),
/***/ "../node_modules/core-js/modules/es.array.includes.js":
/*!************************************************************!*\
!*** ../node_modules/core-js/modules/es.array.includes.js ***!
\************************************************************/
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
var $ = __webpack_require__(/*! ../internals/export */ "../node_modules/core-js/internals/export.js");
var $includes = (__webpack_require__(/*! ../internals/array-includes */ "../node_modules/core-js/internals/array-includes.js").includes);
var fails = __webpack_require__(/*! ../internals/fails */ "../node_modules/core-js/internals/fails.js");
var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ "../node_modules/core-js/internals/add-to-unscopables.js");
// FF99+ bug
var BROKEN_ON_SPARSE = fails(function () {
// eslint-disable-next-line es/no-array-prototype-includes -- detection
return !Array(1).includes();
});
// `Array.prototype.includes` method
// https://tc39.es/ecma262/#sec-array.prototype.includes
$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {
includes: function includes(el /* , fromIndex = 0 */) {
return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
}
});
// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
addToUnscopables('includes');
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ id: moduleId,
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/************************************************************************/
/******/ /* webpack/runtime/compat get default export */
/******/ (() => {
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = (module) => {
/******/ var getter = module && module.__esModule ?
/******/ () => (module['default']) :
/******/ () => (module);
/******/ __webpack_require__.d(getter, { a: getter });
/******/ return getter;
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/define property getters */
/******/ (() => {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = (exports, definition) => {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/global */
/******/ (() => {
/******/ __webpack_require__.g = (function() {
/******/ if (typeof globalThis === 'object') return globalThis;
/******/ try {
/******/ return this || new Function('return this')();
/******/ } catch (e) {
/******/ if (typeof window === 'object') return window;
/******/ }
/******/ })();
/******/ })();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => {
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ })();
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ (() => {
/******/ // define __esModule on exports
/******/ __webpack_require__.r = (exports) => {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/ })();
/******/
/************************************************************************/
var __webpack_exports__ = {};
// This entry need to be wrapped in an IIFE because it need to be in strict mode.
(() => {
"use strict";
var exports = __webpack_exports__;
/*!******************************************************************!*\
!*** ../modules/page-transitions/assets/js/frontend/frontend.js ***!
\******************************************************************/
Object.defineProperty(exports, "__esModule", ({
value: true
}));
exports["default"] = void 0;
var _components = __webpack_require__(/*! ./components */ "../modules/page-transitions/assets/js/frontend/components/index.js");
class PageTransitionsFrontend {
/**
* Initialize the module.
*
* @return {void}
*/
constructor() {
customElements.define('e-preloader', _components.Preloader);
customElements.define('e-page-transition', _components.PageTransition);
}
}
exports["default"] = PageTransitionsFrontend;
new PageTransitionsFrontend();
})();
/******/ })()
;
//# sourceMappingURL=page-transitions.js.map
The Tribune - Page 555 of 1367 - Published by the SPT, a student society of McGill University
Latest News
More in Arts & Entertainment:
This spring, to the beat of drums and the barks of strays, Wes Anderson released his second animated film, Isle of Dogs , nine years after his first, Fantastic Mr. Fox . Both use the century-old technique of stop motion animation. Though I enjoyed both films immensely, I knew nothing of the laborious technique behind their distinct aesthetic, until The McGill Tribune sent me to the community-focused Festival Stop Motion Montreal.
Ten years since its inception, Festival Stop Motion Montreal is thriving. The three day event was organized around the screening of more than 50 films hailing from around the world. The festival also offered seminar classes and interactive exhibits for experimentation with stop motion. This year’s guests included Tim Allen, the animator who brought Isle of Dogs to life, and Dale Hayward, who helped animate The Little Prince (2015).
The stop motion technique is simple in theory: Animators move objects incrementally, and photograph each change in position. To create the sense of movement, the images are played in a sequence, then stitched together in post-production. The process is painstakingly slow, and, typically, 12-24 images account for only one second of film. This process is inexplicably complex for a film like The Empire Strikes Back , where the Hoth battle scene includes dozens of different stork-like ATAT figurines assaulting the rebel base at once.
Despite the charm and beauty of stop motion films, the increased efficiency of computer-generated imagery (CGI) technology threatens to render the artform extinct. The festival’s success, with seven categories of films and multiple premieres, is a notable indicator of stop motion’s resilience in the face of CGI. In an interview with the Tribune, Festival Director, Érik Goulet explained how stop motion is adapting to recent breakthroughs.
“[Stop motion] is already interacting with new technologies,” Goulet said. “From digital cameras for faster capture to ease animator feedback, to 3D printing to speed up the process of lip syncing, and finally VR for more stop motion interactive storytelling.”
The festival emphasized these innovations with its installment of a “Virtual Reality Garden,” in which VR stations enabled festival-goers to explore stop motion animated worlds interactively with Oculus headsets.
I had never appreciated the difference between stop motion and CGI, but, after viewing the screenings, it became apparent to me that the former lends itself to radically more evocative imagery. Texture, colour, and movements feel more enchanting. Each film had such individual flair and sentiment; they would have lost their artistic imperfection and distinct aura had they been animated with CGI.
The festival featured a variety of fantastic, and sometimes head-scratching, independent and professional films. Negative Space, directed by Max Porter and Ru Kuwahata, was my favorite production, a five-and-a-half minute tour de force in storytelling and design. Focusing on a father-son bond, the film follows the life of a small child and his meaningful ritual of packing his father’s suitcase. The story is moving, and the imagery is surrealist: A road becomes a zipper and the inside of a suitcase becomes the playground of a young boy, splashing around in the packed clothes that lap like waves around his body. Independent productions like The Moon’s Milk , directed by Ri Crawford, and Así son las Cosas , directed by Juan Pablo Zaramella , were also festival highlights.
At the festival’s end, I was lucky enough to run into special-guest Allen. We talked Wes Anderson, Star Wars , and what makes stop motion animation so inexplicably special.
“CGI can be more realistic, or even completely lifelike, but stop motion accepts the imperfection and appreciates the fantasy, and somehow it feels more realistic and more emotionally true,” Allen said.
McGill announced that Sinead Hunt has been appointed to the position of Senior Equity and Inclusion Advisor (SEIA) in an email to the student body on Sept. 9. The SEIA acts as a first contact for students attempting to report instances of harassment or discrimination on campus. The number of complaints increased in recent years; according to the Annual Report on Harassment, Sexual Harassment and Discrimination Prohibited by Law, released on Sept. 12, there were 78 complaints were filed in the 2017-18 academic year, significantly surpassing the historical average of 33 complaints per year over the previous five years. Of the 78 complaints filed during the 2017-2018 academic year, 26 were filed on the grounds of harassment, 11 on sexual harassment, 12 on discrimination, and 12 were filed as mixed. Nine of these cases proceeded to investigation and formal resolution, while the rest were withdrawn, did not advance beyond initial inquiry, or were resolved informally.
Last year’s report recommended increasing the number of assessors from 10 to 12 and increasing the amount of training they receive, as well as outlining a specific role for the SEIA within the Policy.
“The number of Assessors will be elevated to 12 in 2017 in view of an increase in the number and complexity of the complaints noted in recent years,” the report reads. “During 2017-2018, Assessors will attend training sessions on: the mental health impacts of harassment, best practices in investigation of complaints, recent legal developments related to discrimination and of reasonable accommodations, the meaning and impact of unconscious bias, and basic mediation skills and principles.”
A Yale Law School graduate, Hunt has worked to advance human rights causes in Sub-Saharan Africa and advocated on behalf of children with disabilities in California. As well as acting as a contact for students, her role is to oversee the implementation of McGill’s Policy on Harassment, Sexual Harassment, and Discrimination Prohibited by Law .
The policy, which was initially ratified by the McGill Senate in Dec. 2005 and came into effect Apr. 2006, aims to reduce harassment by ensuring that the university’s policies are proactive in creating an equitable environment. It also outlines procedures for addressing discrimination when it occurs. As part of the latter goal, the SEIA position was created to assist students in reporting discriminatory behaviour and oversee responses. The SEIA works with twelve assessors, who are McGill staff members appointed by the Senate to investigate and mediate complaints.
“In my role, I receive and respond to any questions relating to the Policy,” Hunt wrote in an email to The McGill Tribune. “ Individuals can contact me by phone or email to discuss, in a confidential manner, any questions or concerns that they may have relating to subject matter covered by the Policy. I also conduct intake where an individual wishes to proceed with a complaint under the Policy, which may proceed by informal resolution, i.e., mediation, or through a formal investigation, which is conducted by an assessor. ”
In the past year, student frustration with the McGill administration for failing to adequately address allegations of sexual misconduct, particularly with regards to teacher-student relationships, culminated in an open letter addressed to the administration and a student walkout last April. Following this, to address issues relating to harassment and inclusion more generally, McGill’s Task Force on Respect and Inclusion in Campus Life released a report in Apr. 2018 outlining recommendations to better promote respect on campus.
The report outlines how the policies in place can be improved, while acknowledging that policies are not sufficient to foster tangible change in the campus culture.
“While cognizant of current discussions about sexual violence on our campuses, we note that significant efforts have been mobilized in the past few years to create and implement policies, services, workshops and campaigns on consent and sexual assault awareness and prevention,” the report reads. “This includes the […] Policy on Harassment, Sexual Harassment, and Discrimination Prohibited by Law (2017) [….] Policies are not a substitute for necessary changes to institutional culture and practices. This is where community trust and relationships are crucial.”
“We were shown, as in some strange phantasmagoria, scenes from different places in France. First there was the arrival of a train at the Lyon-Perrache station […] you could clearly see each individual. It was most lifelike: you really were at the station. The train left and everything disappeared […] And the sea? We saw it, not immobile, but rolling its waves. It was most striking. ‘How refreshing!’ cried a jocular fellow.”
So reads the only surviving document of North America’s very first film screening. On Boul. Saint Laurent, on June 27, 1896, a bewildered La Presse writer sat in an invite-only crowd of equally-bewildered French-Canadians, in one evening inaugurating the illustrious traditions of Montreal cinema, industry events, and film dorkery.
Montreal has long served as the capital of a national film industry working outside of the Hollywood monopoly. The Palace Theatre screening was merely the beginning of motion pictures’ complex history in Montreal.
Louis Minier, the Canadian franchise holder for the Lumière brothers’ newfangled “Cinematograph” machine, along with his assistant, Louis Pupier, held the premiere at 974 Boulevard St-Laurent. For fin de siècle Montrealers, the present-day Chinatown address was the site of the glamorous Palace Theatre, housed in the now burned-down Robillard Building .
Softly lit walls and echoes of medieval chamber music provide the backdrop for a history-buff’s dream-come-true in the Montreal Museum of Fine Art (MMFA)’s current exhibition, Resplendent Illuminations . The show, which runs until Jan. 6, exhibits the work of centuries-old craftsmen in a sizable collection of books of hours.
One of the most widely distributed forms of literature in the Middle Ages, books of hours are Christian devotional texts, named for their prescription of specific prayers to be performed at designated hours of the day. Notable prayers within the books include the hours of the Virgin Mary, the Holy Spirit, and various other saints. Critics and historians have lauded books of hours for their ornamental design and lettering, as their aesthetic beauty and lavish materials are meant to convey piety.
The books of hours displayed in Resplendent Illuminations date from the 13th to 16th centuries and are drawn from a variety of personal and private collections, including McGill University’s rare books collection. While many of the books are shown in their entirety, several of the artifacts have survived only as single sheets due to the passage of time. Many of the books pages are also warped, likely by water, or due to poor-quality paper.
Still, the delicate lines and elaborate patterning reveal the painstaking care that conservators and historians have taken to preserve the medieval works. Many of the pages on display are devoted to scenes of religious lamentation or Christian religious imagery. Each book is framed either by architectural backgrounds showcasing early attempts at linear perspective, or by tangles of bright flowers and tracing vines. When looking from a specific angle, the works gleam; careful brushstrokes of gold leaves shimmer, accentuating lettering and framing religious figures.
Stepping away from the MMFA’s graphic prints and suspended sculptures was a staggering experience; both the space where the works were displayed and the attention they demanded were enough to temporarily distract from the realities of present-day. The books of hours had a resounding immediacy, showcasing the artist’s hand in a way often absent from polished prints. Peering into the long cases filled with books was awe-inspiring. It’s easy to imagine the production of the ornamental books and the reactions they inspired.
Amidst the clutter of ancient artifacts in many medieval exhibitions, illuminated manuscripts such as the books of hours are often overlooked. It takes a patient eye to appreciate the intricate floral designs and detailed facial expressions. Modern technological advancements mean we are often desensitized to the history of process and production. Resplendent Illuminations is a deliberate reminder of the craftsmanship once demanded to produce even a single page of a book, and the age old relationship between Christianity and the visual arts.
Resplendent Illuminations runs until Jan. 6, 2019. Tickets are available at https://www.mbam.qc.ca/en/exhibitions/on-view/resplendent-illuminations/
McGill students find employment for all sorts of reasons: Paying bills, accumulating spending money, or gaining valuable field experience. While working during the school year helps boost financial independence and time-management skills, it comes with its share of challenges.
For many students, taking on a job while still in school opens the door to new opportunities. Mikhaela Neelin, BSc. ‘18, worked 20-hour weeks during her undergraduate career so that she could live independently and still be able to travel. Working while in school provided Neelin with enriching experiences that, otherwise, would have been out of reach.
“It allowed me to go on long trips during my bachelor’s degree, including McGill’s Africa Field Study semester in Uganda, Kenya, and Tanzania,” Neelin said.
Despite these benefits, Neelin had to make certain sacrifices when she first started working during the academic year.
“I loved getting to explore so much of the world without [going] into debt, but I was often distracted from my studies and could not be as involved in gaining practical lab experience as I would have liked to be,” Neelin said. “I had to stop running on the track team because of time conflicts, and my grades suffered as I juggled all of my commitments. It’s a question of priorities, and mine were more about experiences than they were about grades.”
During this time, Neelin learned to develop her time-management and schedule-making skills to balance her academic and professional responsibilities. Though Neelin is proud of her practicality as she adjusted to life as a working student, she cautions that taking on too much can affect one’s friendships and community-building opportunities. In her experience, balancing part-time employment with full-time studies puts a dent in a person’s spare time, which can make it difficult to connect with friends.
“I woke up very early, and free time was next to nonexistent,” Neelin said. “My answer to ‘want to hang out’ was almost guaranteed to be ‘I’m busy,’ and ‘Netflix and chill’ was an idea I only heard about in memes.”
Angela Novaković (U2 Sciences) thrives on her busy schedule. Last year, she worked around 13 hours a week at the McLennan Library, volunteered as a French tutor and in Dr. Tomislav Friščić’s chemistry laboratory, and juggled a 15-credit course load. To manage the demands placed on working students, Novaković prioritizes academics, while still remembering to take care of herself. She never studies after midnight and generally manages to fit in seven hours of sleep every night. The key to the work-life balance is just that—balance.
“You’ll have fun, and [working through school] is going to help you organize yourself in a better manner,” Novaković said.
Working a part-time job while studying full-time can seem daunting, but it can become a social activity, which may also help develop a professional network. As young workers, making the right connections can give students a leg up on their competition when preparing to enter the job market full-time. According to Novaković, the connections made on campus can also benefit a person’s mental health and academic life.
“By studying and working on campus, I have met new people who have become like a family to me,” Novaković said. “It allowed me to share and receive tips and tricks about classes that I took or was about to take.”
Novaković also highlighted the importance of enjoying one’s part-time job, noting that it helps reduce stress by creating a welcome break from academic pressure. At the library, she had fun with her coworkers and found completing tasks as simple as finding the proper reference book for a student’s course rewarding. Ultimately, Novaković recalled a sense of pride in giving back to the McGill community.
With school starting and registration emails at their peak, it is the most convenient time for phishers to scam unsuspecting members of the McGill community. Emails were sent from familiar sources with text reading “Cannot show this message” and a green box directing the user to an error page and subsequent account errors, have been sending students and staff alike into cyber turmoil this past month.
Phishing is an attempt to obtain sensitive information by posing as a trustworthy or legitimate entity in electronic communication, such as an email. A common tactic usually requests the victim to click on a link that leads to a fraudulent website that encourages the victim to submit their personal information. In cases specific to McGill, phishers usually try to acquire the student’s login information to gain access to their McGill email. From there, they can use the compromised email to send out additional fraudulent emails or reset passwords on a number of other accounts.
Benjamin Fung, Canada research chair in data mining for cybersecurity and associate professor in McGill’s School of Information Studies, says that it is no coincidence that a spike in phishing scams coincides with first-years starting class.
“Phishing campaigns targeting universities and colleges are more common in September because the phishers know that there are many new students who are not yet familiar with the university systems,” Fung said. “Some students are less alert to phishing as it seems to make sense that the system administrator may ask a student to change a password or reset something at the beginning of a school year.”
According to Fung, phishers may not have a specific target-demographic in mind when harvesting email addresses.
“After collecting enough email addresses, say one million, the phishers would then group them by domain addresses,” Fung said. “Therefore, they will pick large organizations [such as McGill] because there is a higher chance to find victims. After identifying a target organization, they will spend resources to customize a phishing email for the phishing campaign.”
U1 student Amrita Sandhu was the victim of the recent phishing scam, whose case exemplifies the issue. She appeared to have gotten an email from the intramural volleyball team with a link to access their game schedule. As the email seemed legitimate, she clicked on the link, which led her to a blank page. She eventually couldn’t log onto the McGill network, and her McGill email was compromised.
Fung advises students to avoid ever clicking on links in emails. He says that students should instead bookmark the websites that they often use and only access those websites via the bookmarks. Hovering the cursor on the link or tapping and holding on a tablet will often show the “actual” link, which can help in identifying frauds.
“Note that phishers may create a fake webpage that looks real,” Fung said. “[For example] mcgi11 or mcgiII where the last two characters are [the number one or an] uppercase ‘i’ instead of ‘L’.”
Staff are not exempt from receiving the phishing emails either.
“My dad’s credit card was [de]frauded a couple of thousand [dollars],” a respondent to The McGill Tribune ’s survey wrote. “My father works [at] McGill and opened the email. His [credit card] company caught it.”
Some students caught onto the scam quickly and managed to avoid the consequences. Of the 66 respondents to the Tribune ’s survey, 90 per cent saw the fraudulent email but only 30 per cent clicked on the attached link.
“A file titled “flash player” automatically downloaded but I did not install it [….] I [later] found out on Facebook about the scam and changed my password,” a respondent to the survey said. “I checked my sent folder and saw nothing weird had been sent out and [I suffered] no further consequences.”
For advice on phishing scams, students should register for McGill’s free IT phishing course and inform themselves by reading up on past cases in order to respond accordingly.
A diverse group including McGill alumni, professors, varsity athletes, and campus groups representing racialized students met on Sept. 12 in New Chancellor Day Hall to give feedback on a draft report suggesting principles for future commemoration and renaming initiatives on campus.
The report was published by the Working Group on Principles of Commemoration and Renaming. The group was formed last January under the recommendation of the Task Force on Indigenous Studies and Education and out of an acknowledgment of the need to reconsider inappropriate names for teams, buildings, scholarships, and other university structures.
While most attendees had come for specific debates over renaming, such as the controversy over the men’s varsity teams being named ‘Redmen,’ the co-chairs of the Working Group continually reiterated that their responsibility was only forming principles and not to make concrete decisions.
“The mandate we have from the Provost is not to consider any particular case,” Robert Leckey, Working Group co-chair and dean of the Faculty of Law, said. “It’s always interesting to hear what people bring to a meeting, but we’re fundamentally trying to move forward with our job to put forward the draft we have in December to the community.”
However, Students’ Society of McGill University (SSMU) Indigenous Affairs Commissioner and Vice President of the McGill rowing team Tomas Jirousek pointed to the need for urgent changes.
“As I can personally attest to as an Indigenous varsity athlete, the continued usage of [‘Redmen’] creates immediate discomfort, anxiety, and anger,” Jirousek said. “The continued dragging out of the process only further serves to alienate and isolate Indigenous peoples and Indigenous students [….] While you are debating and launching these working groups and all these further studies, the students are being hurt.”
Meanwhile, the varsity athletes argued that their perspective was not being sufficiently taken into account.
“It’s been brought up that the Aboriginals haven’t been fully incorporated into the discussion here, and I understand that they should have a say in it,” varsity hockey player Nathanael Halbert said. “I […] would also hope that the other side, the students, alumni, varsity players who wear the actual colors would get a say in how it would make them feel.”
Other attendees, including SSMU VP External Marina Cupido, raised questions about the representativeness of the working group’s composition. Of the six Working Group members present at the meeting, five were white faculty and staff, while one was a black undergraduate student representative. While an Indigenous professor was consulted in the creation of the report, she was unable to attend meetings consistently. The Working Group has yet to meet with any Indigenous or racialized off-campus groups.
“I was interested in [where] the report says the Working Group ‘regretted that the invited committee groups supposed to represent the interests of racialized or Indigenous groups off-campus did not follow up on its invitations,’” Cupido said. “I was wondering if […that] suggests a problem with the way consultation was done.”
Debate also extended to the language in the draft report about “rehabilitating formerly problematic names.” While many in favour of keeping ‘Redmen’ claimed that the name referenced McGill’s Scottish heritage and should be interpreted as such, other parties argued that problematic names cannot be rehabilitated or reinterpreted. Both the participants in the town hall and the members of the Working Group found common ground in reflecting on the significance of how names and commemorative practices at McGill are perceived both by its community and the outside world.
“I use [the name ‘Redmen’] as an example to show people how backwards McGill is, still, when I’m back home in my Indigenous community,” Denzel Sutherland-Wilson, U3 Arts, said. “People don’t believe me that our sports team is called the ‘Redmen’ [….] I hope you know that when you say ‘I’m really proud to be wearing this and supporting this.’”
The Working Group is still accepting suggestions for changes to their draft by email until the end of September.
Dairy, fish, sesame seeds, poppy seeds, tree nuts, peanuts, and shellfish. Seven rules for feeding me, or rather, what not to feed me—seven allergens that are ingrained in my memory. This list is a part of who I am. And no, it’s not easy navigating the world of food with a list of allergies like mine. Still, my parents never wanted my allergies to hold me back from culinary experiences; other kids I met at Food Allergy Canada meetings weren’t awarded the same comfort. It is both in spite and because of my allergies that food is essential to who I am.
Navigating allergies is even more complicated when considering my Jewish heritage, a culture that is famously food-centric and reluctant when it comes to compromising. When I asked my uncle if the Purim (Jewish Halloween) treat I wanted to eat was pareve —meaning dairy and meat-free—he gave me the go-ahead, so I dove right into a poppy seed hamantaschen. You may recall that I am allergic to poppy seeds, which landed me in the hospital for several hours.
Still, the foods I eat paint a picture of who I am, whether they’re the ones that I have to live without or the ones I can’t live without. Compiling a list of my favourite foods pulls from a thousand different sources.
This is why recipes get passed down generations, something I’m intimately familiar in the context of my Jewish heritage. My family talks about my great-grandmother’s matzo ball soup and her potato kugel with reverence. But what doesn’t always get passed down are the little things—the spices, the personal flair. Try making someone else’s recipe: It probably won’t taste the same. Highly personal and familiar, home cooking is a sign of comfort.
While eating homemade food shielded me from a scary world of dairy and poppy seeds, I still find risks exciting. Going to restaurants is an adventure I enjoy. Eating safely means giving every waiter a laundry list of restrictions and in exchange, eating safely means listening to the restaurant staff explain their processes for avoiding cross-contamination.
Because of my allergies, travel is thrilling too. My dad and I venture yearly across the United States, touring different Major League Baseball stadiums. In our time in those cities, we seek out spots featured on food shows hosted by Guy Fieri and Anthony Bourdain—two electric personalities with a penchant for creativity and adventure. But, for all their great choices, I have to do my own extra layer of digging. A hamburger bun mustn’t have seeds; a dessert mustn’t have nuts. It adds a twist to our search.
It has been about 10 years since an allergist told me I could eat dairy. I celebrated the occasion with a party, complete with a cheeseburger main course. Now, the food has worked its way into my diet. I stopped drinking soy milk, and I love a good plate of nachos. In fact, nine-year-old me wouldn’t believe you if you told him how much dairy I now consume. I’ve shed plenty of other allergies over too; continuously trying new foods is exciting.
With fewer allergies and 19 years worth of bad allergy experiences, I am equipped to handle my food choices independently. Food is not a restriction, but something that connects me to others. Last March, when picking out an apartment for the school year, my roommate and I settled in at Schwartz’s Deli to discuss our options. In an unfamiliar situation, I chose familiar food for me, a safe option. Smoked meat is so good—and getting to share my heritage with my roommate was pretty good, too.
The gateway to the next weekend getaway is only a couple blocks from campus at the McGill Metro Station. Grab a pal and an STM day pass and enjoy a day-long expedition with The McGill Tribune ’s five-stop green line itinerary.
First stop: Lionel-Groulx
8:30 a.m. : Situated by the Lachine Canal, the Saint-Henri neighbourhood brings the small-town charm to Montreal. Fuel up for the day at Restaurant Greenspot on Rue Notre-Dame Ouest. You can choose from their selection of classic breakfast food, sip on your morning coffee, and immerse yourself in the timeless atmosphere of this old-school diner. In addition to eight-dollar breakfast platters, face-sized pancakes, and classic omelettes, this spot also offers top-notch lunch and dinner menus, including an exhaustive poutine selection, served after 11 a.m.
9:30 a.m. : Before winter begins, take advantage of Atwater Market’s outdoor area. The popular farmers market buzzes with an assortment of fresh produce, plants, local delicacies, and bakeries—everything you need for this week’s grocery trip. Grab a panini and coffee for a second breakfast at Brûlerie Aux Quatre Vents, pick up your bulk food essentials at Le Vrac du Marché, and stop and smell the roses at Angel Jardins.
Second stop: Place-des-Arts
10:15 a.m. : Squeeze in a study session at the Anticafé on Rue Sainte-Catherine Ouest. This public workspace charges you by time increments, rather than amount of food and drinks consumed, and is perfect for the student on a budget. Three hours at the café costs eight dollars, with an infinite array of cookies, bagels, lattes, and espressos all at your disposal.
Next, visit the Musée D’Art Contemporain de Montréal and take a gander at their collection of contemporary art from Canada and around the world. The fall exhibition, “ Manifesto ,” featuring artists Françoise Sullivan and Julian Rosefeldt, will open on Oct. 20 .
Third stop: Saint Laurent
1:30 p.m. : Satisfy both your shopping needs and your stomach at Eva-B , an eclectic thrift store always overflowing with the latest vintage trends. With two floors full of clothes, it won’t be hard to find your fall wardrobe while still keeping your student budget in mind. Additionally, their in-store café features lunch options such as soups, sandwiches, and dumplings, each under 10 dollars.
Fourth stop: Beaudry
3 p.m. : Located in the Gay Village, indulge in dessert from Cacao 70 on Rue Sainte-Catherine Est, an eatery that specializes in chocolate delights. Between dessert pizzas, cheesecakes, waffles, fondue, and ice cream, you’ll want to save some room for a post-lunch treat. The restaurant also serves brunch until 4 p.m. as well as savoury options, such as crepes, until closing time if you aren’t craving sweet food.
Fifth stop: Pie IX
4 p.m. : Once the stage for the 1976 Summer Olympics, Olympic Park hosts a diverse array of attractions, events, and activities. Attend an outdoor event, such as the “First Fridays” food truck festival that convenes on the first Friday of every month at the Esplanade Financière Sun Life . Alternatively, explore ecosystems from around the world at the Biodome , or take a ride up Montreal Tower , the tallest inclined tower in the world. Illuminate your evening at the Botanical Garden ’s “Garden of Lights,” featuring dazzling light displays and sculptures in the First Nations, Japanese, and Chinese Gardens.
More in Science & Technology:
On Sept. 13, the Redpath Museum hosted Derek Ruths, a McGill professor of computer science and director of the Centre for Social and Cultural Data Science, who addressed a pertinent problem of our technological world: The dark side of the internet.
According to Ruths, the three most substantial issues with the internet are behavioural tracking where websites record your web-browsing information, referring to websites tracking their users’ web-browsing information, aggressive behaviour such as harassment and hate speech, and misinformation or manipulation via bots.
A regular social media user has likely had the off-putting experience of seeing an ad related to something they Googled an hour earlier. According to Ruths, this occurs as a result of ad networks which track internet activity and enable advertisers to provide more personalized ads. Some see this strategy as a minor annoyance, while others see it as creepy or even a violation of privacy . However, these nuisances are necessary costs for free services, flexibility of expression, and right to access.
“Advertising has enabled an unprecedented level of innovation on the internet,” Ruths said.
Everything we take for granted as free online is funded by ads. There is no such thing as a free lunch: If you’re not paying for something directly, you’re still paying another way. On the internet, subjection to ads is a form of payment.
On the streaming service Spotify, for example, paying customers can listen to their favourite songs anywhere and anytime, uninterrupted. Those who don’t pay must instead listen to an advertisement every 30 minutes. A choice arises between paying to avoid ads and tolerating them. Ultimately, the decision lies between paying with one’s money or with one’s time.
With many internet users being hesitating to pay for online services to begin with, ignoring irritating ads has become an acceptable pastime. However , looking past the hate speech that infiltrates many internet spaces is significantly more of a challenge, both ethically and technically. Ruths pointed out that simply agreeing on what qualifies as threatening behaviour on the web is extremely difficult. The moderation of offensive content can come at the cost of freedom of expression . Furthermore, what most can agree constitutes offensive content may be too nuanced for digital detection tools to catch.
Although Facebook and Twitter use the report feature to minimize hate speech on their platforms, Ruths exposed an unintentional result of monitoring content. According to him, it is not uncommon in authoritarian regimes, such as Myanmar and Vietnam , for the government to censor content that they believe threatens their power. As a result, moderating material on the internet raises questions over who gets to decide what counts as hate speech and what the criteria are.
Another issue plaguing the internet is the current trend of fake news that misinforms and manipulates the public’s knowledge.
“The three core problems with misinformation are detecting it, detecting accounts that propagate it, and presenting information responsibly,” Ruths said.
Identifying bots, software that can automatically and rapidly perform internet tasks, is a key challenge of fighting online manipulation. Bots have the ability to borrow words from real users to appear human or human enough to fool the technology trying to detect them.
In conclusion, Ruths reminded attendees that finding an acceptable trade-off between accessible, free services and the internet’s darker underbelly is crucial to ushering the internet into a less malevolent era.