<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">(self["webpackChunkee_base_install"] = self["webpackChunkee_base_install"] || []).push([[465],{

/***/ 3122:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) =&gt; {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   A: () =&gt; (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4467);
/* harmony import */ var _babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(45);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6540);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4848);


var _excluded = ["className", "id", "title", "tabIndex", "role"];
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r &amp;&amp; (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r &lt; arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }


/**
 * Primary UI component for user interaction
 */
var Button = function Button(_ref) {
  var className = _ref.className,
    id = _ref.id,
    title = _ref.title,
    tabIndex = _ref.tabIndex,
    role = _ref.role,
    props = (0,_babel_runtime_helpers_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)(_ref, _excluded);
  return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("button", _objectSpread(_objectSpread({
    title: title,
    id: id,
    className: className,
    tabIndex: tabIndex,
    role: role
  }, props), {}, {
    children: props.children
  }));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Button);

/***/ }),

/***/ 9726:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) =&gt; {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   A: () =&gt; (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(296);
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6540);
/* harmony import */ var jotai__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2837);
/* harmony import */ var styled_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2568);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4848);




// import LazyLoad from 'react-lazyload'

var defaultAtom = (0,jotai__WEBPACK_IMPORTED_MODULE_2__/* .atom */ .eU)(false);
var Imageloader = styled_components__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Ay.img(["background:#f7f3f3;margin:0px auto;display:block;max-width:100%;width:100%;background:url('/etc/designs/kpmgpublic/images/loading.gif') no-repeat center center;"]);
var Image = function Image(_ref) {
  var src = _ref.src,
    alt = _ref.alt,
    setLoader = _ref.setLoader,
    width = _ref.width,
    height = _ref.height,
    className = _ref.className,
    dataDesktop = _ref.dataDesktop,
    dataMobile = _ref.dataMobile,
    errorFunction = _ref.errorFunction;
  var imgEl = react__WEBPACK_IMPORTED_MODULE_0__.useRef(null);
  var _useAtom = (0,jotai__WEBPACK_IMPORTED_MODULE_2__/* .useAtom */ .fp)(defaultAtom),
    _useAtom2 = (0,_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(_useAtom, 2),
    loaded = _useAtom2[0],
    setLoaded = _useAtom2[1];
  var onImageLoaded = function onImageLoaded() {
    setLoaded(true);
    if (setLoader !== undefined) {
      setLoader(false);
    }
  };
  react__WEBPACK_IMPORTED_MODULE_0__.useEffect(function () {
    var imgElCurrent = imgEl.current;
    if (imgElCurrent !== null &amp;&amp; imgElCurrent !== void 0 &amp;&amp; imgElCurrent.complete) {
      onImageLoaded();
    }
  }, []);
  return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
    children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Imageloader, {
      src: "data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' viewBox%3D'0 0 640 490'%2F%3E",
      alt: "loading",
      width: "1082",
      height: "378",
      style: !loaded ? {
        display: 'block'
      } : {
        display: 'none'
      }
    }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(Imageloader, {
      "data-testid": "imageloader",
      ref: imgEl,
      src: src,
      alt: alt,
      width: width,
      height: height,
      className: className,
      "data-desktop": dataDesktop,
      "data-mobile": dataMobile,
      onLoad: onImageLoaded,
      onError: errorFunction,
      style: loaded ? {
        display: 'block'
      } : {
        display: 'none'
      }
    })]
  });
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Image);

/***/ }),

/***/ 6023:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) =&gt; {

"use strict";

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  A: () =&gt; (/* binding */ bootstrap5)
});

// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js
var esm_typeof = __webpack_require__(2284);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
var defineProperty = __webpack_require__(4467);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/get.js + 1 modules
var get = __webpack_require__(991);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 3 modules
var toConsumableArray = __webpack_require__(5458);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js + 1 modules
var possibleConstructorReturn = __webpack_require__(388);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
var getPrototypeOf = __webpack_require__(3954);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js
var inherits = __webpack_require__(5501);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
var classCallCheck = __webpack_require__(3029);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
var createClass = __webpack_require__(2901);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 3 modules
var slicedToArray = __webpack_require__(296);
;// CONCATENATED MODULE: ./src/dependencies/modules/_bootstrap5.js










function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r &amp;&amp; (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r &lt; arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0,defineProperty/* default */.A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _superPropGet(t, e, o, r) { var p = (0,get/* default */.A)((0,getPrototypeOf/* default */.A)(1 &amp; r ? t.prototype : t), e, o); return 2 &amp; r &amp;&amp; "function" == typeof p ? function (t) { return p.apply(o, t); } : p; }
function _callSuper(t, o, e) { return o = (0,getPrototypeOf/* default */.A)(o), (0,possibleConstructorReturn/* default */.A)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,getPrototypeOf/* default */.A)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof self !== 'undefined' ? self : {};
function unwrapExports(x) {
  return x &amp;&amp; x.__esModule &amp;&amp; Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
}
function createCommonjsModule(fn, module) {
  return module = {
    exports: {}
  }, fn(module, module.exports), module.exports;
}
var popper = createCommonjsModule(function (module, exports) {
  !function (e, t) {
    t(exports);
  }(commonjsGlobal, function (e) {
    function t(e) {
      return {
        width: (e = e.getBoundingClientRect()).width,
        height: e.height,
        top: e.top,
        right: e.right,
        bottom: e.bottom,
        left: e.left,
        x: e.left,
        y: e.top
      };
    }
    function n(e) {
      return null == e ? window : "[object Window]" !== e.toString() ? (e = e.ownerDocument) &amp;&amp; e.defaultView || window : e;
    }
    function o(e) {
      return {
        scrollLeft: (e = n(e)).pageXOffset,
        scrollTop: e.pageYOffset
      };
    }
    function r(e) {
      return e instanceof n(e).Element || e instanceof Element;
    }
    function i(e) {
      return e instanceof n(e).HTMLElement || e instanceof HTMLElement;
    }
    function a(e) {
      return "undefined" != typeof ShadowRoot &amp;&amp; (e instanceof n(e).ShadowRoot || e instanceof ShadowRoot);
    }
    function s(e) {
      return e ? (e.nodeName || "").toLowerCase() : null;
    }
    function f(e) {
      return ((r(e) ? e.ownerDocument : e.document) || window.document).documentElement;
    }
    function p(e) {
      return t(f(e)).left + o(e).scrollLeft;
    }
    function c(e) {
      return n(e).getComputedStyle(e);
    }
    function l(e) {
      return e = c(e), /auto|scroll|overlay|hidden/.test(e.overflow + e.overflowY + e.overflowX);
    }
    function u(e, r, a) {
      void 0 === a &amp;&amp; (a = !1);
      var c = f(r);
      e = t(e);
      var u = i(r),
        d = {
          scrollLeft: 0,
          scrollTop: 0
        },
        m = {
          x: 0,
          y: 0
        };
      return (u || !u &amp;&amp; !a) &amp;&amp; (("body" !== s(r) || l(c)) &amp;&amp; (d = r !== n(r) &amp;&amp; i(r) ? {
        scrollLeft: r.scrollLeft,
        scrollTop: r.scrollTop
      } : o(r)), i(r) ? ((m = t(r)).x += r.clientLeft, m.y += r.clientTop) : c &amp;&amp; (m.x = p(c))), {
        x: e.left + d.scrollLeft - m.x,
        y: e.top + d.scrollTop - m.y,
        width: e.width,
        height: e.height
      };
    }
    function d(e) {
      var n = t(e),
        o = e.offsetWidth,
        r = e.offsetHeight;
      return 1 &gt;= Math.abs(n.width - o) &amp;&amp; (o = n.width), 1 &gt;= Math.abs(n.height - r) &amp;&amp; (r = n.height), {
        x: e.offsetLeft,
        y: e.offsetTop,
        width: o,
        height: r
      };
    }
    function m(e) {
      return "html" === s(e) ? e : e.assignedSlot || e.parentNode || (a(e) ? e.host : null) || f(e);
    }
    function h(e) {
      return 0 &lt;= ["html", "body", "#document"].indexOf(s(e)) ? e.ownerDocument.body : i(e) &amp;&amp; l(e) ? e : h(m(e));
    }
    function v(e, t) {
      var o;
      void 0 === t &amp;&amp; (t = []);
      var r = h(e);
      return e = r === (null == (o = e.ownerDocument) ? void 0 : o.body), o = n(r), r = e ? [o].concat(o.visualViewport || [], l(r) ? r : []) : r, t = t.concat(r), e ? t : t.concat(v(m(r)));
    }
    function g(e) {
      return i(e) &amp;&amp; "fixed" !== c(e).position ? e.offsetParent : null;
    }
    function y(e) {
      for (var t = n(e), o = g(e); o &amp;&amp; 0 &lt;= ["table", "td", "th"].indexOf(s(o)) &amp;&amp; "static" === c(o).position;) o = g(o);
      if (o &amp;&amp; ("html" === s(o) || "body" === s(o) &amp;&amp; "static" === c(o).position)) return t;
      if (!o) e: {
        if (o = -1 !== navigator.userAgent.toLowerCase().indexOf("firefox"), -1 === navigator.userAgent.indexOf("Trident") || !i(e) || "fixed" !== c(e).position) for (e = m(e); i(e) &amp;&amp; 0 &gt; ["html", "body"].indexOf(s(e));) {
          var r = c(e);
          if ("none" !== r.transform || "none" !== r.perspective || "paint" === r.contain || -1 !== ["transform", "perspective"].indexOf(r.willChange) || o &amp;&amp; "filter" === r.willChange || o &amp;&amp; r.filter &amp;&amp; "none" !== r.filter) {
            o = e;
            break e;
          }
          e = e.parentNode;
        }
        o = null;
      }
      return o || t;
    }
    function b(e) {
      function t(e) {
        o.add(e.name), [].concat(e.requires || [], e.requiresIfExists || []).forEach(function (e) {
          o.has(e) || (e = n.get(e)) &amp;&amp; t(e);
        }), r.push(e);
      }
      var n = new Map(),
        o = new Set(),
        r = [];
      return e.forEach(function (e) {
        n.set(e.name, e);
      }), e.forEach(function (e) {
        o.has(e.name) || t(e);
      }), r;
    }
    function w(e) {
      var t;
      return function () {
        return t || (t = new Promise(function (n) {
          Promise.resolve().then(function () {
            t = void 0, n(e());
          });
        })), t;
      };
    }
    function x(e) {
      return e.split("-")[0];
    }
    function O(e, t) {
      var n = t.getRootNode &amp;&amp; t.getRootNode();
      if (e.contains(t)) return !0;
      if (n &amp;&amp; a(n)) do {
        if (t &amp;&amp; e.isSameNode(t)) return !0;
        t = t.parentNode || t.host;
      } while (t);
      return !1;
    }
    function j(e) {
      return Object.assign({}, e, {
        left: e.x,
        top: e.y,
        right: e.x + e.width,
        bottom: e.y + e.height
      });
    }
    function E(e, r) {
      if ("viewport" === r) {
        r = n(e);
        var a = f(e);
        r = r.visualViewport;
        var s = a.clientWidth;
        a = a.clientHeight;
        var l = 0,
          u = 0;
        r &amp;&amp; (s = r.width, a = r.height, /^((?!chrome|android).)*safari/i.test(navigator.userAgent) || (l = r.offsetLeft, u = r.offsetTop)), e = j(e = {
          width: s,
          height: a,
          x: l + p(e),
          y: u
        });
      } else i(r) ? ((e = t(r)).top += r.clientTop, e.left += r.clientLeft, e.bottom = e.top + r.clientHeight, e.right = e.left + r.clientWidth, e.width = r.clientWidth, e.height = r.clientHeight, e.x = e.left, e.y = e.top) : (u = f(e), e = f(u), s = o(u), r = null == (a = u.ownerDocument) ? void 0 : a.body, a = _(e.scrollWidth, e.clientWidth, r ? r.scrollWidth : 0, r ? r.clientWidth : 0), l = _(e.scrollHeight, e.clientHeight, r ? r.scrollHeight : 0, r ? r.clientHeight : 0), u = -s.scrollLeft + p(u), s = -s.scrollTop, "rtl" === c(r || e).direction &amp;&amp; (u += _(e.clientWidth, r ? r.clientWidth : 0) - a), e = j({
        width: a,
        height: l,
        x: u,
        y: s
      }));
      return e;
    }
    function D(e, t, n) {
      return t = "clippingParents" === t ? function (e) {
        var t = v(m(e)),
          n = 0 &lt;= ["absolute", "fixed"].indexOf(c(e).position) &amp;&amp; i(e) ? y(e) : e;
        return r(n) ? t.filter(function (e) {
          return r(e) &amp;&amp; O(e, n) &amp;&amp; "body" !== s(e);
        }) : [];
      }(e) : [].concat(t), (n = (n = [].concat(t, [n])).reduce(function (t, n) {
        return n = E(e, n), t.top = _(n.top, t.top), t.right = U(n.right, t.right), t.bottom = U(n.bottom, t.bottom), t.left = _(n.left, t.left), t;
      }, E(e, n[0]))).width = n.right - n.left, n.height = n.bottom - n.top, n.x = n.left, n.y = n.top, n;
    }
    function L(e) {
      return 0 &lt;= ["top", "bottom"].indexOf(e) ? "x" : "y";
    }
    function P(e) {
      var t = e.reference,
        n = e.element,
        o = (e = e.placement) ? x(e) : null;
      e = e ? e.split("-")[1] : null;
      var r = t.x + t.width / 2 - n.width / 2,
        i = t.y + t.height / 2 - n.height / 2;
      switch (o) {
        case "top":
          r = {
            x: r,
            y: t.y - n.height
          };
          break;
        case "bottom":
          r = {
            x: r,
            y: t.y + t.height
          };
          break;
        case "right":
          r = {
            x: t.x + t.width,
            y: i
          };
          break;
        case "left":
          r = {
            x: t.x - n.width,
            y: i
          };
          break;
        default:
          r = {
            x: t.x,
            y: t.y
          };
      }
      if (null != (o = o ? L(o) : null)) switch (i = "y" === o ? "height" : "width", e) {
        case "start":
          r[o] -= t[i] / 2 - n[i] / 2;
          break;
        case "end":
          r[o] += t[i] / 2 - n[i] / 2;
      }
      return r;
    }
    function M(e) {
      return Object.assign({}, {
        top: 0,
        right: 0,
        bottom: 0,
        left: 0
      }, e);
    }
    function k(e, t) {
      return t.reduce(function (t, n) {
        return t[n] = e, t;
      }, {});
    }
    function A(e, n) {
      void 0 === n &amp;&amp; (n = {});
      var o = n;
      n = void 0 === (n = o.placement) ? e.placement : n;
      var i = o.boundary,
        a = void 0 === i ? "clippingParents" : i,
        s = void 0 === (i = o.rootBoundary) ? "viewport" : i;
      i = void 0 === (i = o.elementContext) ? "popper" : i;
      var p = o.altBoundary,
        c = void 0 !== p &amp;&amp; p;
      o = M("number" != typeof (o = void 0 === (o = o.padding) ? 0 : o) ? o : k(o, C));
      var l = e.elements.reference;
      p = e.rects.popper, a = D(r(c = e.elements[c ? "popper" === i ? "reference" : "popper" : i]) ? c : c.contextElement || f(e.elements.popper), a, s), c = P({
        reference: s = t(l),
        element: p,
        strategy: "absolute",
        placement: n
      }), p = j(Object.assign({}, p, c)), s = "popper" === i ? p : s;
      var u = {
        top: a.top - s.top + o.top,
        bottom: s.bottom - a.bottom + o.bottom,
        left: a.left - s.left + o.left,
        right: s.right - a.right + o.right
      };
      if (e = e.modifiersData.offset, "popper" === i &amp;&amp; e) {
        var d = e[n];
        Object.keys(u).forEach(function (e) {
          var t = 0 &lt;= ["right", "bottom"].indexOf(e) ? 1 : -1,
            n = 0 &lt;= ["top", "bottom"].indexOf(e) ? "y" : "x";
          u[e] += d[n] * t;
        });
      }
      return u;
    }
    function W() {
      for (var e = arguments.length, t = Array(e), n = 0; n &lt; e; n++) t[n] = arguments[n];
      return !t.some(function (e) {
        return !(e &amp;&amp; "function" == typeof e.getBoundingClientRect);
      });
    }
    function B(e) {
      void 0 === e &amp;&amp; (e = {});
      var t = e.defaultModifiers,
        n = void 0 === t ? [] : t,
        o = void 0 === (e = e.defaultOptions) ? F : e;
      return function (e, t, i) {
        function a() {
          f.forEach(function (e) {
            return e();
          }), f = [];
        }
        void 0 === i &amp;&amp; (i = o);
        var s = {
            placement: "bottom",
            orderedModifiers: [],
            options: Object.assign({}, F, o),
            modifiersData: {},
            elements: {
              reference: e,
              popper: t
            },
            attributes: {},
            styles: {}
          },
          f = [],
          p = !1,
          c = {
            state: s,
            setOptions: function setOptions(i) {
              return a(), s.options = Object.assign({}, o, s.options, i), s.scrollParents = {
                reference: r(e) ? v(e) : e.contextElement ? v(e.contextElement) : [],
                popper: v(t)
              }, i = function (e) {
                var t = b(e);
                return I.reduce(function (e, n) {
                  return e.concat(t.filter(function (e) {
                    return e.phase === n;
                  }));
                }, []);
              }(function (e) {
                var t = e.reduce(function (e, t) {
                  var n = e[t.name];
                  return e[t.name] = n ? Object.assign({}, n, t, {
                    options: Object.assign({}, n.options, t.options),
                    data: Object.assign({}, n.data, t.data)
                  }) : t, e;
                }, {});
                return Object.keys(t).map(function (e) {
                  return t[e];
                });
              }([].concat(n, s.options.modifiers))), s.orderedModifiers = i.filter(function (e) {
                return e.enabled;
              }), s.orderedModifiers.forEach(function (e) {
                var t = e.name,
                  n = e.options;
                n = void 0 === n ? {} : n, "function" == typeof (e = e.effect) &amp;&amp; (t = e({
                  state: s,
                  name: t,
                  instance: c,
                  options: n
                }), f.push(t || function () {}));
              }), c.update();
            },
            forceUpdate: function forceUpdate() {
              if (!p) {
                var e = s.elements,
                  t = e.reference;
                if (W(t, e = e.popper)) for (s.rects = {
                  reference: u(t, y(e), "fixed" === s.options.strategy),
                  popper: d(e)
                }, s.reset = !1, s.placement = s.options.placement, s.orderedModifiers.forEach(function (e) {
                  return s.modifiersData[e.name] = Object.assign({}, e.data);
                }), t = 0; t &lt; s.orderedModifiers.length; t++) if (!0 === s.reset) s.reset = !1, t = -1;else {
                  var n = s.orderedModifiers[t];
                  e = n.fn;
                  var o = n.options;
                  o = void 0 === o ? {} : o, n = n.name, "function" == typeof e &amp;&amp; (s = e({
                    state: s,
                    options: o,
                    name: n,
                    instance: c
                  }) || s);
                }
              }
            },
            update: w(function () {
              return new Promise(function (e) {
                c.forceUpdate(), e(s);
              });
            }),
            destroy: function destroy() {
              a(), p = !0;
            }
          };
        return W(e, t) ? (c.setOptions(i).then(function (e) {
          !p &amp;&amp; i.onFirstUpdate &amp;&amp; i.onFirstUpdate(e);
        }), c) : c;
      };
    }
    function T(e) {
      var t,
        o = e.popper,
        r = e.popperRect,
        i = e.placement,
        a = e.offsets,
        s = e.position,
        p = e.gpuAcceleration,
        l = e.adaptive;
      if (!0 === (e = e.roundOffsets)) {
        e = a.y;
        var u = window.devicePixelRatio || 1;
        e = {
          x: z(z(a.x * u) / u) || 0,
          y: z(z(e * u) / u) || 0
        };
      } else e = "function" == typeof e ? e(a) : a;
      e = void 0 === (e = (u = e).x) ? 0 : e, u = void 0 === (u = u.y) ? 0 : u;
      var d = a.hasOwnProperty("x");
      a = a.hasOwnProperty("y");
      var m,
        h = "left",
        v = "top",
        g = window;
      if (l) {
        var b = y(o),
          w = "clientHeight",
          x = "clientWidth";
        b === n(o) &amp;&amp; "static" !== c(b = f(o)).position &amp;&amp; (w = "scrollHeight", x = "scrollWidth"), "top" === i &amp;&amp; (v = "bottom", u -= b[w] - r.height, u *= p ? 1 : -1), "left" === i &amp;&amp; (h = "right", e -= b[x] - r.width, e *= p ? 1 : -1);
      }
      return o = Object.assign({
        position: s
      }, l &amp;&amp; J), p ? Object.assign({}, o, ((m = {})[v] = a ? "0" : "", m[h] = d ? "0" : "", m.transform = 2 &gt; (g.devicePixelRatio || 1) ? "translate(" + e + "px, " + u + "px)" : "translate3d(" + e + "px, " + u + "px, 0)", m)) : Object.assign({}, o, ((t = {})[v] = a ? u + "px" : "", t[h] = d ? e + "px" : "", t.transform = "", t));
    }
    function H(e) {
      return e.replace(/left|right|bottom|top/g, function (e) {
        return $[e];
      });
    }
    function R(e) {
      return e.replace(/start|end/g, function (e) {
        return ee[e];
      });
    }
    function S(e, t, n) {
      return void 0 === n &amp;&amp; (n = {
        x: 0,
        y: 0
      }), {
        top: e.top - t.height - n.y,
        right: e.right - t.width + n.x,
        bottom: e.bottom - t.height + n.y,
        left: e.left - t.width - n.x
      };
    }
    function q(e) {
      return ["top", "right", "bottom", "left"].some(function (t) {
        return 0 &lt;= e[t];
      });
    }
    var C = ["top", "bottom", "right", "left"],
      N = C.reduce(function (e, t) {
        return e.concat([t + "-start", t + "-end"]);
      }, []),
      V = [].concat(C, ["auto"]).reduce(function (e, t) {
        return e.concat([t, t + "-start", t + "-end"]);
      }, []),
      I = "beforeRead read afterRead beforeMain main afterMain beforeWrite write afterWrite".split(" "),
      _ = Math.max,
      U = Math.min,
      z = Math.round,
      F = {
        placement: "bottom",
        modifiers: [],
        strategy: "absolute"
      },
      X = {
        passive: !0
      },
      Y = {
        name: "eventListeners",
        enabled: !0,
        phase: "write",
        fn: function fn() {},
        effect: function effect(e) {
          var t = e.state,
            o = e.instance,
            r = (e = e.options).scroll,
            i = void 0 === r || r,
            a = void 0 === (e = e.resize) || e,
            s = n(t.elements.popper),
            f = [].concat(t.scrollParents.reference, t.scrollParents.popper);
          return i &amp;&amp; f.forEach(function (e) {
            e.addEventListener("scroll", o.update, X);
          }), a &amp;&amp; s.addEventListener("resize", o.update, X), function () {
            i &amp;&amp; f.forEach(function (e) {
              e.removeEventListener("scroll", o.update, X);
            }), a &amp;&amp; s.removeEventListener("resize", o.update, X);
          };
        },
        data: {}
      },
      G = {
        name: "popperOffsets",
        enabled: !0,
        phase: "read",
        fn: function fn(e) {
          var t = e.state;
          t.modifiersData[e.name] = P({
            reference: t.rects.reference,
            element: t.rects.popper,
            strategy: "absolute",
            placement: t.placement
          });
        },
        data: {}
      },
      J = {
        top: "auto",
        right: "auto",
        bottom: "auto",
        left: "auto"
      },
      K = {
        name: "computeStyles",
        enabled: !0,
        phase: "beforeWrite",
        fn: function fn(e) {
          var t = e.state,
            n = e.options;
          e = void 0 === (e = n.gpuAcceleration) || e;
          var o = n.adaptive;
          o = void 0 === o || o, n = void 0 === (n = n.roundOffsets) || n, e = {
            placement: x(t.placement),
            popper: t.elements.popper,
            popperRect: t.rects.popper,
            gpuAcceleration: e
          }, null != t.modifiersData.popperOffsets &amp;&amp; (t.styles.popper = Object.assign({}, t.styles.popper, T(Object.assign({}, e, {
            offsets: t.modifiersData.popperOffsets,
            position: t.options.strategy,
            adaptive: o,
            roundOffsets: n
          })))), null != t.modifiersData.arrow &amp;&amp; (t.styles.arrow = Object.assign({}, t.styles.arrow, T(Object.assign({}, e, {
            offsets: t.modifiersData.arrow,
            position: "absolute",
            adaptive: !1,
            roundOffsets: n
          })))), t.attributes.popper = Object.assign({}, t.attributes.popper, {
            "data-popper-placement": t.placement
          });
        },
        data: {}
      },
      Q = {
        name: "applyStyles",
        enabled: !0,
        phase: "write",
        fn: function fn(e) {
          var t = e.state;
          Object.keys(t.elements).forEach(function (e) {
            var n = t.styles[e] || {},
              o = t.attributes[e] || {},
              r = t.elements[e];
            i(r) &amp;&amp; s(r) &amp;&amp; (Object.assign(r.style, n), Object.keys(o).forEach(function (e) {
              var t = o[e];
              !1 === t ? r.removeAttribute(e) : r.setAttribute(e, !0 === t ? "" : t);
            }));
          });
        },
        effect: function effect(e) {
          var t = e.state,
            n = {
              popper: {
                position: t.options.strategy,
                left: "0",
                top: "0",
                margin: "0"
              },
              arrow: {
                position: "absolute"
              },
              reference: {}
            };
          return Object.assign(t.elements.popper.style, n.popper), t.styles = n, t.elements.arrow &amp;&amp; Object.assign(t.elements.arrow.style, n.arrow), function () {
            Object.keys(t.elements).forEach(function (e) {
              var o = t.elements[e],
                r = t.attributes[e] || {};
              e = Object.keys(t.styles.hasOwnProperty(e) ? t.styles[e] : n[e]).reduce(function (e, t) {
                return e[t] = "", e;
              }, {}), i(o) &amp;&amp; s(o) &amp;&amp; (Object.assign(o.style, e), Object.keys(r).forEach(function (e) {
                o.removeAttribute(e);
              }));
            });
          };
        },
        requires: ["computeStyles"]
      },
      Z = {
        name: "offset",
        enabled: !0,
        phase: "main",
        requires: ["popperOffsets"],
        fn: function fn(e) {
          var t = e.state,
            n = e.name,
            o = void 0 === (e = e.options.offset) ? [0, 0] : e,
            r = (e = V.reduce(function (e, n) {
              var r = t.rects,
                i = x(n),
                a = 0 &lt;= ["left", "top"].indexOf(i) ? -1 : 1,
                s = "function" == typeof o ? o(Object.assign({}, r, {
                  placement: n
                })) : o;
              return r = (r = s[0]) || 0, s = ((s = s[1]) || 0) * a, i = 0 &lt;= ["left", "right"].indexOf(i) ? {
                x: s,
                y: r
              } : {
                x: r,
                y: s
              }, e[n] = i, e;
            }, {}))[t.placement],
            i = r.x;
          r = r.y, null != t.modifiersData.popperOffsets &amp;&amp; (t.modifiersData.popperOffsets.x += i, t.modifiersData.popperOffsets.y += r), t.modifiersData[n] = e;
        }
      },
      $ = {
        left: "right",
        right: "left",
        bottom: "top",
        top: "bottom"
      },
      ee = {
        start: "end",
        end: "start"
      },
      te = {
        name: "flip",
        enabled: !0,
        phase: "main",
        fn: function fn(e) {
          var t = e.state,
            n = e.options;
          if (e = e.name, !t.modifiersData[e]._skip) {
            var o = n.mainAxis;
            o = void 0 === o || o;
            var r = n.altAxis;
            r = void 0 === r || r;
            var i = n.fallbackPlacements,
              a = n.padding,
              s = n.boundary,
              f = n.rootBoundary,
              p = n.altBoundary,
              c = n.flipVariations,
              l = void 0 === c || c,
              u = n.allowedAutoPlacements;
            c = x(n = t.options.placement), i = i || (c !== n &amp;&amp; l ? function (e) {
              if ("auto" === x(e)) return [];
              var t = H(e);
              return [R(e), t, R(t)];
            }(n) : [H(n)]);
            var d = [n].concat(i).reduce(function (e, n) {
              return e.concat("auto" === x(n) ? function (e, t) {
                void 0 === t &amp;&amp; (t = {});
                var n = t.boundary,
                  o = t.rootBoundary,
                  r = t.padding,
                  i = t.flipVariations,
                  a = t.allowedAutoPlacements,
                  s = void 0 === a ? V : a,
                  f = t.placement.split("-")[1];
                0 === (i = (t = f ? i ? N : N.filter(function (e) {
                  return e.split("-")[1] === f;
                }) : C).filter(function (e) {
                  return 0 &lt;= s.indexOf(e);
                })).length &amp;&amp; (i = t);
                var p = i.reduce(function (t, i) {
                  return t[i] = A(e, {
                    placement: i,
                    boundary: n,
                    rootBoundary: o,
                    padding: r
                  })[x(i)], t;
                }, {});
                return Object.keys(p).sort(function (e, t) {
                  return p[e] - p[t];
                });
              }(t, {
                placement: n,
                boundary: s,
                rootBoundary: f,
                padding: a,
                flipVariations: l,
                allowedAutoPlacements: u
              }) : n);
            }, []);
            n = t.rects.reference, i = t.rects.popper;
            var m = new Map();
            c = !0;
            for (var h = d[0], v = 0; v &lt; d.length; v++) {
              var g = d[v],
                y = x(g),
                b = "start" === g.split("-")[1],
                w = 0 &lt;= ["top", "bottom"].indexOf(y),
                O = w ? "width" : "height",
                j = A(t, {
                  placement: g,
                  boundary: s,
                  rootBoundary: f,
                  altBoundary: p,
                  padding: a
                });
              if (b = w ? b ? "right" : "left" : b ? "bottom" : "top", n[O] &gt; i[O] &amp;&amp; (b = H(b)), O = H(b), w = [], o &amp;&amp; w.push(0 &gt;= j[y]), r &amp;&amp; w.push(0 &gt;= j[b], 0 &gt;= j[O]), w.every(function (e) {
                return e;
              })) {
                h = g, c = !1;
                break;
              }
              m.set(g, w);
            }
            if (c) for (o = function o(e) {
              var t = d.find(function (t) {
                if (t = m.get(t)) return t.slice(0, e).every(function (e) {
                  return e;
                });
              });
              if (t) return h = t, "break";
            }, r = l ? 3 : 1; 0 &lt; r &amp;&amp; "break" !== o(r); r--);
            t.placement !== h &amp;&amp; (t.modifiersData[e]._skip = !0, t.placement = h, t.reset = !0);
          }
        },
        requiresIfExists: ["offset"],
        data: {
          _skip: !1
        }
      },
      ne = {
        name: "preventOverflow",
        enabled: !0,
        phase: "main",
        fn: function fn(e) {
          var t = e.state,
            n = e.options;
          e = e.name;
          var o = n.mainAxis,
            r = void 0 === o || o,
            i = void 0 !== (o = n.altAxis) &amp;&amp; o;
          o = void 0 === (o = n.tether) || o;
          var a = n.tetherOffset,
            s = void 0 === a ? 0 : a,
            f = A(t, {
              boundary: n.boundary,
              rootBoundary: n.rootBoundary,
              padding: n.padding,
              altBoundary: n.altBoundary
            });
          n = x(t.placement);
          var p = t.placement.split("-")[1],
            c = !p,
            l = L(n);
          n = "x" === l ? "y" : "x", a = t.modifiersData.popperOffsets;
          var u = t.rects.reference,
            m = t.rects.popper,
            h = "function" == typeof s ? s(Object.assign({}, t.rects, {
              placement: t.placement
            })) : s;
          if (s = {
            x: 0,
            y: 0
          }, a) {
            if (r || i) {
              var v = "y" === l ? "top" : "left",
                g = "y" === l ? "bottom" : "right",
                b = "y" === l ? "height" : "width",
                w = a[l],
                O = a[l] + f[v],
                j = a[l] - f[g],
                E = o ? -m[b] / 2 : 0,
                D = "start" === p ? u[b] : m[b];
              p = "start" === p ? -m[b] : -u[b], m = t.elements.arrow, m = o &amp;&amp; m ? d(m) : {
                width: 0,
                height: 0
              };
              var P = t.modifiersData["arrow#persistent"] ? t.modifiersData["arrow#persistent"].padding : {
                top: 0,
                right: 0,
                bottom: 0,
                left: 0
              };
              v = P[v], g = P[g], m = _(0, U(u[b], m[b])), D = c ? u[b] / 2 - E - m - v - h : D - m - v - h, u = c ? -u[b] / 2 + E + m + g + h : p + m + g + h, c = t.elements.arrow &amp;&amp; y(t.elements.arrow), h = t.modifiersData.offset ? t.modifiersData.offset[t.placement][l] : 0, c = a[l] + D - h - (c ? "y" === l ? c.clientTop || 0 : c.clientLeft || 0 : 0), u = a[l] + u - h, r &amp;&amp; (r = o ? U(O, c) : O, j = o ? _(j, u) : j, r = _(r, U(w, j)), a[l] = r, s[l] = r - w), i &amp;&amp; (r = (i = a[n]) + f["x" === l ? "top" : "left"], f = i - f["x" === l ? "bottom" : "right"], r = o ? U(r, c) : r, o = o ? _(f, u) : f, o = _(r, U(i, o)), a[n] = o, s[n] = o - i);
            }
            t.modifiersData[e] = s;
          }
        },
        requiresIfExists: ["offset"]
      },
      oe = {
        name: "arrow",
        enabled: !0,
        phase: "main",
        fn: function fn(e) {
          var t,
            n = e.state,
            o = e.name,
            r = e.options,
            i = n.elements.arrow,
            a = n.modifiersData.popperOffsets,
            s = x(n.placement);
          if (e = L(s), s = 0 &lt;= ["left", "right"].indexOf(s) ? "height" : "width", i &amp;&amp; a) {
            r = M("number" != typeof (r = "function" == typeof (r = r.padding) ? r(Object.assign({}, n.rects, {
              placement: n.placement
            })) : r) ? r : k(r, C));
            var f = d(i),
              p = "y" === e ? "top" : "left",
              c = "y" === e ? "bottom" : "right",
              l = n.rects.reference[s] + n.rects.reference[e] - a[e] - n.rects.popper[s];
            a = a[e] - n.rects.reference[e], a = (i = (i = y(i)) ? "y" === e ? i.clientHeight || 0 : i.clientWidth || 0 : 0) / 2 - f[s] / 2 + (l / 2 - a / 2), s = _(r[p], U(a, i - f[s] - r[c])), n.modifiersData[o] = ((t = {})[e] = s, t.centerOffset = s - a, t);
          }
        },
        effect: function effect(e) {
          var t = e.state;
          if (null != (e = void 0 === (e = e.options.element) ? "[data-popper-arrow]" : e)) {
            if ("string" == typeof e &amp;&amp; !(e = t.elements.popper.querySelector(e))) return;
            O(t.elements.popper, e) &amp;&amp; (t.elements.arrow = e);
          }
        },
        requires: ["popperOffsets"],
        requiresIfExists: ["preventOverflow"]
      },
      re = {
        name: "hide",
        enabled: !0,
        phase: "main",
        requiresIfExists: ["preventOverflow"],
        fn: function fn(e) {
          var t = e.state;
          e = e.name;
          var n = t.rects.reference,
            o = t.rects.popper,
            r = t.modifiersData.preventOverflow,
            i = A(t, {
              elementContext: "reference"
            }),
            a = A(t, {
              altBoundary: !0
            });
          n = S(i, n), o = S(a, o, r), r = q(n), a = q(o), t.modifiersData[e] = {
            referenceClippingOffsets: n,
            popperEscapeOffsets: o,
            isReferenceHidden: r,
            hasPopperEscaped: a
          }, t.attributes.popper = Object.assign({}, t.attributes.popper, {
            "data-popper-reference-hidden": r,
            "data-popper-escaped": a
          });
        }
      },
      ie = B({
        defaultModifiers: [Y, G, K, Q]
      }),
      ae = [Y, G, K, Q, Z, te, ne, oe, re],
      se = B({
        defaultModifiers: ae
      });
    e.applyStyles = Q, e.arrow = oe, e.computeStyles = K, e.createPopper = se, e.createPopperLite = ie, e.defaultModifiers = ae, e.detectOverflow = A, e.eventListeners = Y, e.flip = te, e.hide = re, e.offset = Z, e.popperGenerator = B, e.popperOffsets = G, e.preventOverflow = ne, Object.defineProperty(e, "__esModule", {
      value: !0
    });
  });
});
unwrapExports(popper);
var bootstrap5Raw = createCommonjsModule(function (module, exports) {
  /*!
    * Bootstrap v5.0.0 (https://getbootstrap.com/)
    * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
    * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
    */
  (function (global, factory) {
    module.exports = factory(popper);
  })(commonjsGlobal, function (Popper) {
    function _interopNamespace(e) {
      if (e &amp;&amp; e.__esModule) return e;
      var n = Object.create(null);
      if (e) {
        Object.keys(e).forEach(function (k) {
          if (k !== 'default') {
            var d = Object.getOwnPropertyDescriptor(e, k);
            Object.defineProperty(n, k, d.get ? d : {
              enumerable: true,
              get: function get() {
                return e[k];
              }
            });
          }
        });
      }
      n['default'] = e;
      return Object.freeze(n);
    }
    var Popper__namespace = /*#__PURE__*/_interopNamespace(Popper);

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): util/index.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    var MAX_UID = 1000000;
    var MILLISECONDS_MULTIPLIER = 1000;
    var TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)

    var toType = function toType(obj) {
      if (obj === null || obj === undefined) {
        return "".concat(obj);
      }
      return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
    };
    /**
     * --------------------------------------------------------------------------
     * Public Util Api
     * --------------------------------------------------------------------------
     */

    var getUID = function getUID(prefix) {
      do {
        prefix += Math.floor(Math.random() * MAX_UID);
      } while (document.getElementById(prefix));
      return prefix;
    };
    var getSelector = function getSelector(element) {
      var selector = element.getAttribute('data-bs-target');
      if (!selector || selector === '#') {
        var hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,
        // so everything starting with `#` or `.`. If a "real" URL is used as the selector,
        // `document.querySelector` will rightfully complain it is invalid.
        // See https://github.com/twbs/bootstrap/issues/32273

        if (!hrefAttr || !hrefAttr.includes('#') &amp;&amp; !hrefAttr.startsWith('.')) {
          return null;
        } // Just in case some CMS puts out a full URL with the anchor appended

        if (hrefAttr.includes('#') &amp;&amp; !hrefAttr.startsWith('#')) {
          hrefAttr = "#".concat(hrefAttr.split('#')[1]);
        }
        selector = hrefAttr &amp;&amp; hrefAttr !== '#' ? hrefAttr.trim() : null;
      }
      return selector;
    };
    var getSelectorFromElement = function getSelectorFromElement(element) {
      var selector = getSelector(element);
      if (selector) {
        return document.querySelector(selector) ? selector : null;
      }
      return null;
    };
    var getElementFromSelector = function getElementFromSelector(element) {
      var selector = getSelector(element);
      return selector ? document.querySelector(selector) : null;
    };
    var getTransitionDurationFromElement = function getTransitionDurationFromElement(element) {
      if (!element) {
        return 0;
      } // Get transition-duration of the element

      var _window$getComputedSt = window.getComputedStyle(element),
        transitionDuration = _window$getComputedSt.transitionDuration,
        transitionDelay = _window$getComputedSt.transitionDelay;
      var floatTransitionDuration = Number.parseFloat(transitionDuration);
      var floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found

      if (!floatTransitionDuration &amp;&amp; !floatTransitionDelay) {
        return 0;
      } // If multiple durations are defined, take the first

      transitionDuration = transitionDuration.split(',')[0];
      transitionDelay = transitionDelay.split(',')[0];
      return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
    };
    var triggerTransitionEnd = function triggerTransitionEnd(element) {
      element.dispatchEvent(new Event(TRANSITION_END));
    };
    var isElement = function isElement(obj) {
      return (obj[0] || obj).nodeType;
    };
    var emulateTransitionEnd = function emulateTransitionEnd(element, duration) {
      var called = false;
      var durationPadding = 5;
      var emulatedDuration = duration + durationPadding;
      function listener() {
        called = true;
        element.removeEventListener(TRANSITION_END, listener);
      }
      element.addEventListener(TRANSITION_END, listener);
      setTimeout(function () {
        if (!called) {
          triggerTransitionEnd(element);
        }
      }, emulatedDuration);
    };
    var typeCheckConfig = function typeCheckConfig(componentName, config, configTypes) {
      Object.keys(configTypes).forEach(function (property) {
        var expectedTypes = configTypes[property];
        var value = config[property];
        var valueType = value &amp;&amp; isElement(value) ? 'element' : toType(value);
        if (!new RegExp(expectedTypes).test(valueType)) {
          throw new TypeError("".concat(componentName.toUpperCase(), ": Option \"").concat(property, "\" provided type \"").concat(valueType, "\" but expected type \"").concat(expectedTypes, "\"."));
        }
      });
    };
    var isVisible = function isVisible(element) {
      if (!element) {
        return false;
      }
      if (element.style &amp;&amp; element.parentNode &amp;&amp; element.parentNode.style) {
        var elementStyle = getComputedStyle(element);
        var parentNodeStyle = getComputedStyle(element.parentNode);
        return elementStyle.display !== 'none' &amp;&amp; parentNodeStyle.display !== 'none' &amp;&amp; elementStyle.visibility !== 'hidden';
      }
      return false;
    };
    var isDisabled = function isDisabled(element) {
      if (!element || element.nodeType !== Node.ELEMENT_NODE) {
        return true;
      }
      if (element.classList.contains('disabled')) {
        return true;
      }
      if (typeof element.disabled !== 'undefined') {
        return element.disabled;
      }
      return element.hasAttribute('disabled') &amp;&amp; element.getAttribute('disabled') !== 'false';
    };
    var _findShadowRoot = function findShadowRoot(element) {
      if (!document.documentElement.attachShadow) {
        return null;
      } // Can find the shadow root otherwise it'll return the document

      if (typeof element.getRootNode === 'function') {
        var root = element.getRootNode();
        return root instanceof ShadowRoot ? root : null;
      }
      if (element instanceof ShadowRoot) {
        return element;
      } // when we don't find a shadow root

      if (!element.parentNode) {
        return null;
      }
      return _findShadowRoot(element.parentNode);
    };
    var noop = function noop() {};
    var reflow = function reflow(element) {
      return element.offsetHeight;
    };
    var getjQuery = function getjQuery() {
      var _window = window,
        jQuery = _window.jQuery;
      if (jQuery &amp;&amp; !document.body.hasAttribute('data-bs-no-jquery')) {
        return jQuery;
      }
      return null;
    };
    var onDOMContentLoaded = function onDOMContentLoaded(callback) {
      if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', callback);
      } else {
        callback();
      }
    };
    var isRTL = function isRTL() {
      return document.documentElement.dir === 'rtl';
    };
    var defineJQueryPlugin = function defineJQueryPlugin(name, plugin) {
      onDOMContentLoaded(function () {
        var $ = getjQuery();
        /* istanbul ignore if */

        if ($) {
          var JQUERY_NO_CONFLICT = $.fn[name];
          $.fn[name] = plugin.jQueryInterface;
          $.fn[name].Constructor = plugin;
          $.fn[name].noConflict = function () {
            $.fn[name] = JQUERY_NO_CONFLICT;
            return plugin.jQueryInterface;
          };
        }
      });
    };
    var execute = function execute(callback) {
      if (typeof callback === 'function') {
        callback();
      }
    };

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): dom/data.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */

    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */
    var elementMap = new Map();
    var Data = {
      set: function set(element, key, instance) {
        if (!elementMap.has(element)) {
          elementMap.set(element, new Map());
        }
        var instanceMap = elementMap.get(element); // make it clear we only want one instance per element
        // can be removed later when multiple key/instances are fine to be used

        if (!instanceMap.has(key) &amp;&amp; instanceMap.size !== 0) {
          // eslint-disable-next-line no-console
          console.error("Bootstrap doesn't allow more than one instance per element. Bound instance: ".concat(Array.from(instanceMap.keys())[0], "."));
          return;
        }
        instanceMap.set(key, instance);
      },
      get: function get(element, key) {
        if (elementMap.has(element)) {
          return elementMap.get(element).get(key) || null;
        }
        return null;
      },
      remove: function remove(element, key) {
        if (!elementMap.has(element)) {
          return;
        }
        var instanceMap = elementMap.get(element);
        instanceMap["delete"](key); // free up element references if there are no instances left for an element

        if (instanceMap.size === 0) {
          elementMap["delete"](element);
        }
      }
    };

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): dom/event-handler.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */

    var namespaceRegex = /[^.]*(?=\..*)\.|.*/;
    var stripNameRegex = /\..*/;
    var stripUidRegex = /::\d+$/;
    var eventRegistry = {}; // Events storage

    var uidEvent = 1;
    var customEvents = {
      mouseenter: 'mouseover',
      mouseleave: 'mouseout'
    };
    var customEventsRegex = /^(mouseenter|mouseleave)/i;
    var nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']);
    /**
     * ------------------------------------------------------------------------
     * Private methods
     * ------------------------------------------------------------------------
     */

    function getUidEvent(element, uid) {
      return uid &amp;&amp; "".concat(uid, "::").concat(uidEvent++) || element.uidEvent || uidEvent++;
    }
    function getEvent(element) {
      var uid = getUidEvent(element);
      element.uidEvent = uid;
      eventRegistry[uid] = eventRegistry[uid] || {};
      return eventRegistry[uid];
    }
    function bootstrapHandler(element, fn) {
      return function handler(event) {
        event.delegateTarget = element;
        if (handler.oneOff) {
          EventHandler.off(element, event.type, fn);
        }
        return fn.apply(element, [event]);
      };
    }
    function bootstrapDelegationHandler(element, selector, fn) {
      return function handler(event) {
        var domElements = element.querySelectorAll(selector);
        for (var target = event.target; target &amp;&amp; target !== this; target = target.parentNode) {
          for (var i = domElements.length; i--;) {
            if (domElements[i] === target) {
              event.delegateTarget = target;
              if (handler.oneOff) {
                // eslint-disable-next-line unicorn/consistent-destructuring
                EventHandler.off(element, event.type, selector, fn);
              }
              return fn.apply(target, [event]);
            }
          }
        } // To please ESLint

        return null;
      };
    }
    function findHandler(events, handler) {
      var delegationSelector = arguments.length &gt; 2 &amp;&amp; arguments[2] !== undefined ? arguments[2] : null;
      var uidEventList = Object.keys(events);
      for (var i = 0, len = uidEventList.length; i &lt; len; i++) {
        var event = events[uidEventList[i]];
        if (event.originalHandler === handler &amp;&amp; event.delegationSelector === delegationSelector) {
          return event;
        }
      }
      return null;
    }
    function normalizeParams(originalTypeEvent, handler, delegationFn) {
      var delegation = typeof handler === 'string';
      var originalHandler = delegation ? delegationFn : handler;
      var typeEvent = getTypeEvent(originalTypeEvent);
      var isNative = nativeEvents.has(typeEvent);
      if (!isNative) {
        typeEvent = originalTypeEvent;
      }
      return [delegation, originalHandler, typeEvent];
    }
    function addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {
      if (typeof originalTypeEvent !== 'string' || !element) {
        return;
      }
      if (!handler) {
        handler = delegationFn;
        delegationFn = null;
      } // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position
      // this prevents the handler from being dispatched the same way as mouseover or mouseout does

      if (customEventsRegex.test(originalTypeEvent)) {
        var wrapFn = function wrapFn(fn) {
          return function (event) {
            if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget &amp;&amp; !event.delegateTarget.contains(event.relatedTarget)) {
              return fn.call(this, event);
            }
          };
        };
        if (delegationFn) {
          delegationFn = wrapFn(delegationFn);
        } else {
          handler = wrapFn(handler);
        }
      }
      var _normalizeParams = normalizeParams(originalTypeEvent, handler, delegationFn),
        _normalizeParams2 = (0,slicedToArray/* default */.A)(_normalizeParams, 3),
        delegation = _normalizeParams2[0],
        originalHandler = _normalizeParams2[1],
        typeEvent = _normalizeParams2[2];
      var events = getEvent(element);
      var handlers = events[typeEvent] || (events[typeEvent] = {});
      var previousFn = findHandler(handlers, originalHandler, delegation ? handler : null);
      if (previousFn) {
        previousFn.oneOff = previousFn.oneOff &amp;&amp; oneOff;
        return;
      }
      var uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''));
      var fn = delegation ? bootstrapDelegationHandler(element, handler, delegationFn) : bootstrapHandler(element, handler);
      fn.delegationSelector = delegation ? handler : null;
      fn.originalHandler = originalHandler;
      fn.oneOff = oneOff;
      fn.uidEvent = uid;
      handlers[uid] = fn;
      element.addEventListener(typeEvent, fn, delegation);
    }
    function removeHandler(element, events, typeEvent, handler, delegationSelector) {
      var fn = findHandler(events[typeEvent], handler, delegationSelector);
      if (!fn) {
        return;
      }
      element.removeEventListener(typeEvent, fn, Boolean(delegationSelector));
      delete events[typeEvent][fn.uidEvent];
    }
    function removeNamespacedHandlers(element, events, typeEvent, namespace) {
      var storeElementEvent = events[typeEvent] || {};
      Object.keys(storeElementEvent).forEach(function (handlerKey) {
        if (handlerKey.includes(namespace)) {
          var event = storeElementEvent[handlerKey];
          removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);
        }
      });
    }
    function getTypeEvent(event) {
      // allow to get the native events from namespaced events ('click.bs.button' --&gt; 'click')
      event = event.replace(stripNameRegex, '');
      return customEvents[event] || event;
    }
    var EventHandler = {
      on: function on(element, event, handler, delegationFn) {
        addHandler(element, event, handler, delegationFn, false);
      },
      one: function one(element, event, handler, delegationFn) {
        addHandler(element, event, handler, delegationFn, true);
      },
      off: function off(element, originalTypeEvent, handler, delegationFn) {
        if (typeof originalTypeEvent !== 'string' || !element) {
          return;
        }
        var _normalizeParams3 = normalizeParams(originalTypeEvent, handler, delegationFn),
          _normalizeParams4 = (0,slicedToArray/* default */.A)(_normalizeParams3, 3),
          delegation = _normalizeParams4[0],
          originalHandler = _normalizeParams4[1],
          typeEvent = _normalizeParams4[2];
        var inNamespace = typeEvent !== originalTypeEvent;
        var events = getEvent(element);
        var isNamespace = originalTypeEvent.startsWith('.');
        if (typeof originalHandler !== 'undefined') {
          // Simplest case: handler is passed, remove that listener ONLY.
          if (!events || !events[typeEvent]) {
            return;
          }
          removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null);
          return;
        }
        if (isNamespace) {
          Object.keys(events).forEach(function (elementEvent) {
            removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));
          });
        }
        var storeElementEvent = events[typeEvent] || {};
        Object.keys(storeElementEvent).forEach(function (keyHandlers) {
          var handlerKey = keyHandlers.replace(stripUidRegex, '');
          if (!inNamespace || originalTypeEvent.includes(handlerKey)) {
            var event = storeElementEvent[keyHandlers];
            removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);
          }
        });
      },
      trigger: function trigger(element, event, args) {
        if (typeof event !== 'string' || !element) {
          return null;
        }
        var $ = getjQuery();
        var typeEvent = getTypeEvent(event);
        var inNamespace = event !== typeEvent;
        var isNative = nativeEvents.has(typeEvent);
        var jQueryEvent;
        var bubbles = true;
        var nativeDispatch = true;
        var defaultPrevented = false;
        var evt = null;
        if (inNamespace &amp;&amp; $) {
          jQueryEvent = $.Event(event, args);
          $(element).trigger(jQueryEvent);
          bubbles = !jQueryEvent.isPropagationStopped();
          nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();
          defaultPrevented = jQueryEvent.isDefaultPrevented();
        }
        if (isNative) {
          evt = document.createEvent('HTMLEvents');
          evt.initEvent(typeEvent, bubbles, true);
        } else {
          evt = new CustomEvent(event, {
            bubbles: bubbles,
            cancelable: true
          });
        } // merge custom information in our event

        if (typeof args !== 'undefined') {
          Object.keys(args).forEach(function (key) {
            Object.defineProperty(evt, key, {
              get: function get() {
                return args[key];
              }
            });
          });
        }
        if (defaultPrevented) {
          evt.preventDefault();
        }
        if (nativeDispatch) {
          element.dispatchEvent(evt);
        }
        if (evt.defaultPrevented &amp;&amp; typeof jQueryEvent !== 'undefined') {
          jQueryEvent.preventDefault();
        }
        return evt;
      }
    };

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): base-component.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */

    var VERSION = '5.0.0';
    var BaseComponent = /*#__PURE__*/function () {
      function BaseComponent(element) {
        (0,classCallCheck/* default */.A)(this, BaseComponent);
        element = typeof element === 'string' ? document.querySelector(element) : element;
        if (!element) {
          return;
        }
        this._element = element;
        Data.set(this._element, this.constructor.DATA_KEY, this);
      }
      return (0,createClass/* default */.A)(BaseComponent, [{
        key: "dispose",
        value: function dispose() {
          Data.remove(this._element, this.constructor.DATA_KEY);
          EventHandler.off(this._element, ".".concat(this.constructor.DATA_KEY));
          this._element = null;
        }
        /** Static */
      }], [{
        key: "getInstance",
        value: function getInstance(element) {
          return Data.get(element, this.DATA_KEY);
        }
      }, {
        key: "VERSION",
        get: function get() {
          return VERSION;
        }
      }]);
    }();
    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): alert.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */
    var NAME$c = 'alert';
    var DATA_KEY$b = 'bs.alert';
    var EVENT_KEY$b = ".".concat(DATA_KEY$b);
    var EVENT_CLOSE = "close".concat(EVENT_KEY$b);
    var EVENT_CLOSED = "closed".concat(EVENT_KEY$b);
    var CLASS_NAME_ALERT = 'alert';
    var CLASS_NAME_FADE$6 = 'fade';
    var CLASS_NAME_SHOW$9 = 'show';
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
    var Alert = /*#__PURE__*/function (_BaseComponent) {
      function Alert() {
        (0,classCallCheck/* default */.A)(this, Alert);
        return _callSuper(this, Alert, arguments);
      }
      (0,inherits/* default */.A)(Alert, _BaseComponent);
      return (0,createClass/* default */.A)(Alert, [{
        key: "close",
        value:
        // Public

        function close(element) {
          var rootElement = element ? this._getRootElement(element) : this._element;
          var customEvent = this._triggerCloseEvent(rootElement);
          if (customEvent === null || customEvent.defaultPrevented) {
            return;
          }
          this._removeElement(rootElement);
        } // Private
      }, {
        key: "_getRootElement",
        value: function _getRootElement(element) {
          return getElementFromSelector(element) || element.closest(".".concat(CLASS_NAME_ALERT));
        }
      }, {
        key: "_triggerCloseEvent",
        value: function _triggerCloseEvent(element) {
          return EventHandler.trigger(element, EVENT_CLOSE);
        }
      }, {
        key: "_removeElement",
        value: function _removeElement(element) {
          var _this = this;
          element.classList.remove(CLASS_NAME_SHOW$9);
          if (!element.classList.contains(CLASS_NAME_FADE$6)) {
            this._destroyElement(element);
            return;
          }
          var transitionDuration = getTransitionDurationFromElement(element);
          EventHandler.one(element, 'transitionend', function () {
            return _this._destroyElement(element);
          });
          emulateTransitionEnd(element, transitionDuration);
        }
      }, {
        key: "_destroyElement",
        value: function _destroyElement(element) {
          if (element.parentNode) {
            element.parentNode.removeChild(element);
          }
          EventHandler.trigger(element, EVENT_CLOSED);
        } // Static
      }], [{
        key: "DATA_KEY",
        get:
        // Getters
        function get() {
          return DATA_KEY$b;
        }
      }, {
        key: "jQueryInterface",
        value: function jQueryInterface(config) {
          return this.each(function () {
            var data = Data.get(this, DATA_KEY$b);
            if (!data) {
              data = new Alert(this);
            }
            if (config === 'close') {
              data[config](this);
            }
          });
        }
      }, {
        key: "handleDismiss",
        value: function handleDismiss(alertInstance) {
          return function (event) {
            if (event) {
              event.preventDefault();
            }
            alertInstance.close(this);
          };
        }
      }]);
    }(BaseComponent);
    /**
     * ------------------------------------------------------------------------
     * Data Api implementation
     
    EventHandler.on(document, EVENT_CLICK_DATA_API$7, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()));
    /**
     * ------------------------------------------------------------------------
     * jQuery
     * ------------------------------------------------------------------------
     * add .Alert to jQuery only if jQuery is present
     */
    defineJQueryPlugin(NAME$c, Alert);

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): button.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */

    var NAME$b = 'button';
    var DATA_KEY$a = 'bs.button';
    var CLASS_NAME_ACTIVE$3 = 'active';
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
    var Button = /*#__PURE__*/function (_BaseComponent2) {
      function Button() {
        (0,classCallCheck/* default */.A)(this, Button);
        return _callSuper(this, Button, arguments);
      }
      (0,inherits/* default */.A)(Button, _BaseComponent2);
      return (0,createClass/* default */.A)(Button, [{
        key: "toggle",
        value:
        // Public

        function toggle() {
          // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method
          this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$3));
        } // Static
      }], [{
        key: "DATA_KEY",
        get:
        // Getters
        function get() {
          return DATA_KEY$a;
        }
      }, {
        key: "jQueryInterface",
        value: function jQueryInterface(config) {
          return this.each(function () {
            var data = Data.get(this, DATA_KEY$a);
            if (!data) {
              data = new Button(this);
            }
            if (config === 'toggle') {
              data[config]();
            }
          });
        }
      }]);
    }(BaseComponent);
    /**
     * ------------------------------------------------------------------------
     * Data Api implementation
     
    EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event =&gt; {
      event.preventDefault();
      const button = event.target.closest(SELECTOR_DATA_TOGGLE$5);
      let data = Data.get(button, DATA_KEY$a);
         if (!data) {
        data = new Button(button);
      }
         data.toggle();
    });
    /**
     * ------------------------------------------------------------------------
     * jQuery
     * ------------------------------------------------------------------------
     * add .Button to jQuery only if jQuery is present
     */
    defineJQueryPlugin(NAME$b, Button);

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): dom/manipulator.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    function normalizeData(val) {
      if (val === 'true') {
        return true;
      }
      if (val === 'false') {
        return false;
      }
      if (val === Number(val).toString()) {
        return Number(val);
      }
      if (val === '' || val === 'null') {
        return null;
      }
      return val;
    }
    function normalizeDataKey(key) {
      return key.replace(/[A-Z]/g, function (chr) {
        return "-".concat(chr.toLowerCase());
      });
    }
    var Manipulator = {
      setDataAttribute: function setDataAttribute(element, key, value) {
        element.setAttribute("data-bs-".concat(normalizeDataKey(key)), value);
      },
      removeDataAttribute: function removeDataAttribute(element, key) {
        element.removeAttribute("data-bs-".concat(normalizeDataKey(key)));
      },
      getDataAttributes: function getDataAttributes(element) {
        if (!element) {
          return {};
        }
        var attributes = {};
        Object.keys(element.dataset).filter(function (key) {
          return key.startsWith('bs');
        }).forEach(function (key) {
          var pureKey = key.replace(/^bs/, '');
          pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);
          attributes[pureKey] = normalizeData(element.dataset[key]);
        });
        return attributes;
      },
      getDataAttribute: function getDataAttribute(element, key) {
        return normalizeData(element.getAttribute("data-bs-".concat(normalizeDataKey(key))));
      },
      offset: function offset(element) {
        var rect = element.getBoundingClientRect();
        return {
          top: rect.top + document.body.scrollTop,
          left: rect.left + document.body.scrollLeft
        };
      },
      position: function position(element) {
        return {
          top: element.offsetTop,
          left: element.offsetLeft
        };
      }
    };

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): dom/selector-engine.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */

    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */
    var NODE_TEXT = 3;
    var SelectorEngine = {
      find: function find(selector) {
        var _ref;
        var element = arguments.length &gt; 1 &amp;&amp; arguments[1] !== undefined ? arguments[1] : document.documentElement;
        return (_ref = []).concat.apply(_ref, (0,toConsumableArray/* default */.A)(Element.prototype.querySelectorAll.call(element, selector)));
      },
      findOne: function findOne(selector) {
        var element = arguments.length &gt; 1 &amp;&amp; arguments[1] !== undefined ? arguments[1] : document.documentElement;
        return Element.prototype.querySelector.call(element, selector);
      },
      children: function children(element, selector) {
        var _ref2;
        return (_ref2 = []).concat.apply(_ref2, (0,toConsumableArray/* default */.A)(element.children)).filter(function (child) {
          return child.matches(selector);
        });
      },
      parents: function parents(element, selector) {
        var parents = [];
        var ancestor = element.parentNode;
        while (ancestor &amp;&amp; ancestor.nodeType === Node.ELEMENT_NODE &amp;&amp; ancestor.nodeType !== NODE_TEXT) {
          if (ancestor.matches(selector)) {
            parents.push(ancestor);
          }
          ancestor = ancestor.parentNode;
        }
        return parents;
      },
      prev: function prev(element, selector) {
        var previous = element.previousElementSibling;
        while (previous) {
          if (previous.matches(selector)) {
            return [previous];
          }
          previous = previous.previousElementSibling;
        }
        return [];
      },
      next: function next(element, selector) {
        var next = element.nextElementSibling;
        while (next) {
          if (next.matches(selector)) {
            return [next];
          }
          next = next.nextElementSibling;
        }
        return [];
      }
    };

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): carousel.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */

    var NAME$a = 'carousel';
    var DATA_KEY$9 = 'bs.carousel';
    var EVENT_KEY$9 = ".".concat(DATA_KEY$9);
    var ARROW_LEFT_KEY = 'ArrowLeft';
    var ARROW_RIGHT_KEY = 'ArrowRight';
    var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch

    var SWIPE_THRESHOLD = 40;
    var Default$9 = {
      interval: 5000,
      keyboard: true,
      slide: false,
      pause: 'hover',
      wrap: true,
      touch: true
    };
    var DefaultType$9 = {
      interval: '(number|boolean)',
      keyboard: 'boolean',
      slide: '(boolean|string)',
      pause: '(string|boolean)',
      wrap: 'boolean',
      touch: 'boolean'
    };
    var ORDER_NEXT = 'next';
    var ORDER_PREV = 'prev';
    var DIRECTION_LEFT = 'left';
    var DIRECTION_RIGHT = 'right';
    var EVENT_SLIDE = "slide".concat(EVENT_KEY$9);
    var EVENT_SLID = "slid".concat(EVENT_KEY$9);
    var EVENT_KEYDOWN = "keydown".concat(EVENT_KEY$9);
    var EVENT_MOUSEENTER = "mouseenter".concat(EVENT_KEY$9);
    var EVENT_MOUSELEAVE = "mouseleave".concat(EVENT_KEY$9);
    var EVENT_TOUCHSTART = "touchstart".concat(EVENT_KEY$9);
    var EVENT_TOUCHMOVE = "touchmove".concat(EVENT_KEY$9);
    var EVENT_TOUCHEND = "touchend".concat(EVENT_KEY$9);
    var EVENT_POINTERDOWN = "pointerdown".concat(EVENT_KEY$9);
    var EVENT_POINTERUP = "pointerup".concat(EVENT_KEY$9);
    var EVENT_DRAG_START = "dragstart".concat(EVENT_KEY$9);
    var CLASS_NAME_CAROUSEL = 'carousel';
    var CLASS_NAME_ACTIVE$2 = 'active';
    var CLASS_NAME_SLIDE = 'slide';
    var CLASS_NAME_END = 'carousel-item-end';
    var CLASS_NAME_START = 'carousel-item-start';
    var CLASS_NAME_NEXT = 'carousel-item-next';
    var CLASS_NAME_PREV = 'carousel-item-prev';
    var CLASS_NAME_POINTER_EVENT = 'pointer-event';
    var SELECTOR_ACTIVE$1 = '.active';
    var SELECTOR_ACTIVE_ITEM = '.active.carousel-item';
    var SELECTOR_ITEM = '.carousel-item';
    var SELECTOR_ITEM_IMG = '.carousel-item img';
    var SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev';
    var SELECTOR_INDICATORS = '.carousel-indicators';
    var SELECTOR_INDICATOR = '[data-bs-target]';
    var POINTER_TYPE_TOUCH = 'touch';
    var POINTER_TYPE_PEN = 'pen';
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
    var Carousel = /*#__PURE__*/function (_BaseComponent3) {
      function Carousel(element, config) {
        var _this2;
        (0,classCallCheck/* default */.A)(this, Carousel);
        _this2 = _callSuper(this, Carousel, [element]);
        _this2._items = null;
        _this2._interval = null;
        _this2._activeElement = null;
        _this2._isPaused = false;
        _this2._isSliding = false;
        _this2.touchTimeout = null;
        _this2.touchStartX = 0;
        _this2.touchDeltaX = 0;
        _this2._config = _this2._getConfig(config);
        _this2._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, _this2._element);
        _this2._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints &gt; 0;
        _this2._pointerEvent = Boolean(window.PointerEvent);
        _this2._addEventListeners();
        return _this2;
      } // Getters
      (0,inherits/* default */.A)(Carousel, _BaseComponent3);
      return (0,createClass/* default */.A)(Carousel, [{
        key: "next",
        value:
        // Public

        function next() {
          if (!this._isSliding) {
            this._slide(ORDER_NEXT);
          }
        }
      }, {
        key: "nextWhenVisible",
        value: function nextWhenVisible() {
          // Don't call next when the page isn't visible
          // or the carousel or its parent isn't visible
          if (!document.hidden &amp;&amp; isVisible(this._element)) {
            this.next();
          }
        }
      }, {
        key: "prev",
        value: function prev() {
          if (!this._isSliding) {
            this._slide(ORDER_PREV);
          }
        }
      }, {
        key: "pause",
        value: function pause(event) {
          if (!event) {
            this._isPaused = true;
          }
          if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {
            triggerTransitionEnd(this._element);
            this.cycle(true);
          }
          clearInterval(this._interval);
          this._interval = null;
        }
      }, {
        key: "cycle",
        value: function cycle(event) {
          if (!event) {
            this._isPaused = false;
          }
          if (this._interval) {
            clearInterval(this._interval);
            this._interval = null;
          }
          if (this._config &amp;&amp; this._config.interval &amp;&amp; !this._isPaused) {
            this._updateInterval();
            this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
          }
        }
      }, {
        key: "to",
        value: function to(index) {
          var _this3 = this;
          this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);
          var activeIndex = this._getItemIndex(this._activeElement);
          if (index &gt; this._items.length - 1 || index &lt; 0) {
            return;
          }
          if (this._isSliding) {
            EventHandler.one(this._element, EVENT_SLID, function () {
              return _this3.to(index);
            });
            return;
          }
          if (activeIndex === index) {
            this.pause();
            this.cycle();
            return;
          }
          var order = index &gt; activeIndex ? ORDER_NEXT : ORDER_PREV;
          this._slide(order, this._items[index]);
        }
      }, {
        key: "dispose",
        value: function dispose() {
          this._items = null;
          this._config = null;
          this._interval = null;
          this._isPaused = null;
          this._isSliding = null;
          this._activeElement = null;
          this._indicatorsElement = null;
          _superPropGet(Carousel, "dispose", this, 3)([]);
        } // Private
      }, {
        key: "_getConfig",
        value: function _getConfig(config) {
          config = _objectSpread(_objectSpread({}, Default$9), config);
          typeCheckConfig(NAME$a, config, DefaultType$9);
          return config;
        }
      }, {
        key: "_handleSwipe",
        value: function _handleSwipe() {
          var absDeltax = Math.abs(this.touchDeltaX);
          if (absDeltax &lt;= SWIPE_THRESHOLD) {
            return;
          }
          var direction = absDeltax / this.touchDeltaX;
          this.touchDeltaX = 0;
          if (!direction) {
            return;
          }
          this._slide(direction &gt; 0 ? DIRECTION_RIGHT : DIRECTION_LEFT);
        }
      }, {
        key: "_addEventListeners",
        value: function _addEventListeners() {
          var _this4 = this;
          if (this._config.keyboard) {
            EventHandler.on(this._element, EVENT_KEYDOWN, function (event) {
              return _this4._keydown(event);
            });
          }
          if (this._config.pause === 'hover') {
            EventHandler.on(this._element, EVENT_MOUSEENTER, function (event) {
              return _this4.pause(event);
            });
            EventHandler.on(this._element, EVENT_MOUSELEAVE, function (event) {
              return _this4.cycle(event);
            });
          }
          if (this._config.touch &amp;&amp; this._touchSupported) {
            this._addTouchEventListeners();
          }
        }
      }, {
        key: "_addTouchEventListeners",
        value: function _addTouchEventListeners() {
          var _this5 = this;
          var start = function start(event) {
            if (_this5._pointerEvent &amp;&amp; (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)) {
              _this5.touchStartX = event.clientX;
            } else if (!_this5._pointerEvent) {
              _this5.touchStartX = event.touches[0].clientX;
            }
          };
          var move = function move(event) {
            // ensure swiping with one touch and not pinching
            _this5.touchDeltaX = event.touches &amp;&amp; event.touches.length &gt; 1 ? 0 : event.touches[0].clientX - _this5.touchStartX;
          };
          var end = function end(event) {
            if (_this5._pointerEvent &amp;&amp; (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)) {
              _this5.touchDeltaX = event.clientX - _this5.touchStartX;
            }
            _this5._handleSwipe();
            if (_this5._config.pause === 'hover') {
              // If it's a touch-enabled device, mouseenter/leave are fired as
              // part of the mouse compatibility events on first tap - the carousel
              // would stop cycling until user tapped out of it;
              // here, we listen for touchend, explicitly pause the carousel
              // (as if it's the second time we tap on it, mouseenter compat event
              // is NOT fired) and after a timeout (to allow for mouse compatibility
              // events to fire) we explicitly restart cycling
              _this5.pause();
              if (_this5.touchTimeout) {
                clearTimeout(_this5.touchTimeout);
              }
              _this5.touchTimeout = setTimeout(function (event) {
                return _this5.cycle(event);
              }, TOUCHEVENT_COMPAT_WAIT + _this5._config.interval);
            }
          };
          SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(function (itemImg) {
            EventHandler.on(itemImg, EVENT_DRAG_START, function (e) {
              return e.preventDefault();
            });
          });
          if (this._pointerEvent) {
            EventHandler.on(this._element, EVENT_POINTERDOWN, function (event) {
              return start(event);
            });
            EventHandler.on(this._element, EVENT_POINTERUP, function (event) {
              return end(event);
            });
            this._element.classList.add(CLASS_NAME_POINTER_EVENT);
          } else {
            EventHandler.on(this._element, EVENT_TOUCHSTART, function (event) {
              return start(event);
            });
            EventHandler.on(this._element, EVENT_TOUCHMOVE, function (event) {
              return move(event);
            });
            EventHandler.on(this._element, EVENT_TOUCHEND, function (event) {
              return end(event);
            });
          }
        }
      }, {
        key: "_keydown",
        value: function _keydown(event) {
          if (/input|textarea/i.test(event.target.tagName)) {
            return;
          }
          if (event.key === ARROW_LEFT_KEY) {
            event.preventDefault();
            this._slide(DIRECTION_RIGHT);
          } else if (event.key === ARROW_RIGHT_KEY) {
            event.preventDefault();
            this._slide(DIRECTION_LEFT);
          }
        }
      }, {
        key: "_getItemIndex",
        value: function _getItemIndex(element) {
          this._items = element &amp;&amp; element.parentNode ? SelectorEngine.find(SELECTOR_ITEM, element.parentNode) : [];
          return this._items.indexOf(element);
        }
      }, {
        key: "_getItemByOrder",
        value: function _getItemByOrder(order, activeElement) {
          var isNext = order === ORDER_NEXT;
          var isPrev = order === ORDER_PREV;
          var activeIndex = this._getItemIndex(activeElement);
          var lastItemIndex = this._items.length - 1;
          var isGoingToWrap = isPrev &amp;&amp; activeIndex === 0 || isNext &amp;&amp; activeIndex === lastItemIndex;
          if (isGoingToWrap &amp;&amp; !this._config.wrap) {
            return activeElement;
          }
          var delta = isPrev ? -1 : 1;
          var itemIndex = (activeIndex + delta) % this._items.length;
          return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
        }
      }, {
        key: "_triggerSlideEvent",
        value: function _triggerSlideEvent(relatedTarget, eventDirectionName) {
          var targetIndex = this._getItemIndex(relatedTarget);
          var fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element));
          return EventHandler.trigger(this._element, EVENT_SLIDE, {
            relatedTarget: relatedTarget,
            direction: eventDirectionName,
            from: fromIndex,
            to: targetIndex
          });
        }
      }, {
        key: "_setActiveIndicatorElement",
        value: function _setActiveIndicatorElement(element) {
          if (this._indicatorsElement) {
            var activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE$1, this._indicatorsElement);
            activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2);
            activeIndicator.removeAttribute('aria-current');
            var indicators = SelectorEngine.find(SELECTOR_INDICATOR, this._indicatorsElement);
            for (var i = 0; i &lt; indicators.length; i++) {
              if (Number.parseInt(indicators[i].getAttribute('data-bs-slide-to'), 10) === this._getItemIndex(element)) {
                indicators[i].classList.add(CLASS_NAME_ACTIVE$2);
                indicators[i].setAttribute('aria-current', 'true');
                break;
              }
            }
          }
        }
      }, {
        key: "_updateInterval",
        value: function _updateInterval() {
          var element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);
          if (!element) {
            return;
          }
          var elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10);
          if (elementInterval) {
            this._config.defaultInterval = this._config.defaultInterval || this._config.interval;
            this._config.interval = elementInterval;
          } else {
            this._config.interval = this._config.defaultInterval || this._config.interval;
          }
        }
      }, {
        key: "_slide",
        value: function _slide(directionOrOrder, element) {
          var _this6 = this;
          var order = this._directionToOrder(directionOrOrder);
          var activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);
          var activeElementIndex = this._getItemIndex(activeElement);
          var nextElement = element || this._getItemByOrder(order, activeElement);
          var nextElementIndex = this._getItemIndex(nextElement);
          var isCycling = Boolean(this._interval);
          var isNext = order === ORDER_NEXT;
          var directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END;
          var orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV;
          var eventDirectionName = this._orderToDirection(order);
          if (nextElement &amp;&amp; nextElement.classList.contains(CLASS_NAME_ACTIVE$2)) {
            this._isSliding = false;
            return;
          }
          var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
          if (slideEvent.defaultPrevented) {
            return;
          }
          if (!activeElement || !nextElement) {
            // Some weirdness is happening, so we bail
            return;
          }
          this._isSliding = true;
          if (isCycling) {
            this.pause();
          }
          this._setActiveIndicatorElement(nextElement);
          this._activeElement = nextElement;
          if (this._element.classList.contains(CLASS_NAME_SLIDE)) {
            nextElement.classList.add(orderClassName);
            reflow(nextElement);
            activeElement.classList.add(directionalClassName);
            nextElement.classList.add(directionalClassName);
            var transitionDuration = getTransitionDurationFromElement(activeElement);
            EventHandler.one(activeElement, 'transitionend', function () {
              nextElement.classList.remove(directionalClassName, orderClassName);
              nextElement.classList.add(CLASS_NAME_ACTIVE$2);
              activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName);
              _this6._isSliding = false;
              setTimeout(function () {
                EventHandler.trigger(_this6._element, EVENT_SLID, {
                  relatedTarget: nextElement,
                  direction: eventDirectionName,
                  from: activeElementIndex,
                  to: nextElementIndex
                });
              }, 0);
            });
            emulateTransitionEnd(activeElement, transitionDuration);
          } else {
            activeElement.classList.remove(CLASS_NAME_ACTIVE$2);
            nextElement.classList.add(CLASS_NAME_ACTIVE$2);
            this._isSliding = false;
            EventHandler.trigger(this._element, EVENT_SLID, {
              relatedTarget: nextElement,
              direction: eventDirectionName,
              from: activeElementIndex,
              to: nextElementIndex
            });
          }
          if (isCycling) {
            this.cycle();
          }
        }
      }, {
        key: "_directionToOrder",
        value: function _directionToOrder(direction) {
          if (![DIRECTION_RIGHT, DIRECTION_LEFT].includes(direction)) {
            return direction;
          }
          if (isRTL()) {
            return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT;
          }
          return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV;
        }
      }, {
        key: "_orderToDirection",
        value: function _orderToDirection(order) {
          if (![ORDER_NEXT, ORDER_PREV].includes(order)) {
            return order;
          }
          if (isRTL()) {
            return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT;
          }
          return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT;
        } // Static
      }], [{
        key: "Default",
        get: function get() {
          return Default$9;
        }
      }, {
        key: "DATA_KEY",
        get: function get() {
          return DATA_KEY$9;
        }
      }, {
        key: "carouselInterface",
        value: function carouselInterface(element, config) {
          var data = Data.get(element, DATA_KEY$9);
          var _config = _objectSpread(_objectSpread({}, Default$9), Manipulator.getDataAttributes(element));
          if ((0,esm_typeof/* default */.A)(config) === 'object') {
            _config = _objectSpread(_objectSpread({}, _config), config);
          }
          var action = typeof config === 'string' ? config : _config.slide;
          if (!data) {
            data = new Carousel(element, _config);
          }
          if (typeof config === 'number') {
            data.to(config);
          } else if (typeof action === 'string') {
            if (typeof data[action] === 'undefined') {
              throw new TypeError("No method named \"".concat(action, "\""));
            }
            data[action]();
          } else if (_config.interval &amp;&amp; _config.ride) {
            data.pause();
            data.cycle();
          }
        }
      }, {
        key: "jQueryInterface",
        value: function jQueryInterface(config) {
          return this.each(function () {
            Carousel.carouselInterface(this, config);
          });
        }
      }, {
        key: "dataApiClickHandler",
        value: function dataApiClickHandler(event) {
          var target = getElementFromSelector(this);
          if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {
            return;
          }
          var config = _objectSpread(_objectSpread({}, Manipulator.getDataAttributes(target)), Manipulator.getDataAttributes(this));
          var slideIndex = this.getAttribute('data-bs-slide-to');
          if (slideIndex) {
            config.interval = false;
          }
          Carousel.carouselInterface(target, config);
          if (slideIndex) {
            Data.get(target, DATA_KEY$9).to(slideIndex);
          }
          event.preventDefault();
        }
      }]);
    }(BaseComponent);
    /**
     * ------------------------------------------------------------------------
     * Data Api implementation
     
    EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler);
    EventHandler.on(window, EVENT_LOAD_DATA_API$2, () =&gt; {
      const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);
         for (let i = 0, len = carousels.length; i &lt; len; i++) {
        Carousel.carouselInterface(carousels[i], Data.get(carousels[i], DATA_KEY$9));
      }
    });
    /**
     * ------------------------------------------------------------------------
     * jQuery
     * ------------------------------------------------------------------------
     * add .Carousel to jQuery only if jQuery is present
     */
    defineJQueryPlugin(NAME$a, Carousel);

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): collapse.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */

    var NAME$9 = 'collapse';
    var DATA_KEY$8 = 'bs.collapse';
    var EVENT_KEY$8 = ".".concat(DATA_KEY$8);
    var Default$8 = {
      toggle: true,
      parent: ''
    };
    var DefaultType$8 = {
      toggle: 'boolean',
      parent: '(string|element)'
    };
    var EVENT_SHOW$5 = "show".concat(EVENT_KEY$8);
    var EVENT_SHOWN$5 = "shown".concat(EVENT_KEY$8);
    var EVENT_HIDE$5 = "hide".concat(EVENT_KEY$8);
    var EVENT_HIDDEN$5 = "hidden".concat(EVENT_KEY$8);
    var CLASS_NAME_SHOW$8 = 'show';
    var CLASS_NAME_COLLAPSE = 'collapse';
    var CLASS_NAME_COLLAPSING = 'collapsing';
    var CLASS_NAME_COLLAPSED = 'collapsed';
    var WIDTH = 'width';
    var HEIGHT = 'height';
    var SELECTOR_ACTIVES = '.show, .collapsing';
    var SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="collapse"]';
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
    var Collapse = /*#__PURE__*/function (_BaseComponent4) {
      function Collapse(element, config) {
        var _this7;
        (0,classCallCheck/* default */.A)(this, Collapse);
        _this7 = _callSuper(this, Collapse, [element]);
        _this7._isTransitioning = false;
        _this7._config = _this7._getConfig(config);
        _this7._triggerArray = SelectorEngine.find("".concat(SELECTOR_DATA_TOGGLE$4, "[href=\"#").concat(_this7._element.id, "\"],") + "".concat(SELECTOR_DATA_TOGGLE$4, "[data-bs-target=\"#").concat(_this7._element.id, "\"]"));
        var toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4);
        for (var i = 0, len = toggleList.length; i &lt; len; i++) {
          var elem = toggleList[i];
          var selector = getSelectorFromElement(elem);
          var filterElement = SelectorEngine.find(selector).filter(function (foundElem) {
            return foundElem === _this7._element;
          });
          if (selector !== null &amp;&amp; filterElement.length) {
            _this7._selector = selector;
            _this7._triggerArray.push(elem);
          }
        }
        _this7._parent = _this7._config.parent ? _this7._getParent() : null;
        if (!_this7._config.parent) {
          _this7._addAriaAndCollapsedClass(_this7._element, _this7._triggerArray);
        }
        if (_this7._config.toggle) {
          _this7.toggle();
        }
        return _this7;
      } // Getters
      (0,inherits/* default */.A)(Collapse, _BaseComponent4);
      return (0,createClass/* default */.A)(Collapse, [{
        key: "toggle",
        value:
        // Public

        function toggle() {
          if (this._element.classList.contains(CLASS_NAME_SHOW$8)) {
            this.hide();
          } else {
            this.show();
          }
        }
      }, {
        key: "show",
        value: function show() {
          var _this8 = this;
          if (this._isTransitioning || this._element.classList.contains(CLASS_NAME_SHOW$8)) {
            return;
          }
          var actives;
          var activesData;
          if (this._parent) {
            actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent).filter(function (elem) {
              if (typeof _this8._config.parent === 'string') {
                return elem.getAttribute('data-bs-parent') === _this8._config.parent;
              }
              return elem.classList.contains(CLASS_NAME_COLLAPSE);
            });
            if (actives.length === 0) {
              actives = null;
            }
          }
          var container = SelectorEngine.findOne(this._selector);
          if (actives) {
            var tempActiveData = actives.find(function (elem) {
              return container !== elem;
            });
            activesData = tempActiveData ? Data.get(tempActiveData, DATA_KEY$8) : null;
            if (activesData &amp;&amp; activesData._isTransitioning) {
              return;
            }
          }
          var startEvent = EventHandler.trigger(this._element, EVENT_SHOW$5);
          if (startEvent.defaultPrevented) {
            return;
          }
          if (actives) {
            actives.forEach(function (elemActive) {
              if (container !== elemActive) {
                Collapse.collapseInterface(elemActive, 'hide');
              }
              if (!activesData) {
                Data.set(elemActive, DATA_KEY$8, null);
              }
            });
          }
          var dimension = this._getDimension();
          this._element.classList.remove(CLASS_NAME_COLLAPSE);
          this._element.classList.add(CLASS_NAME_COLLAPSING);
          this._element.style[dimension] = 0;
          if (this._triggerArray.length) {
            this._triggerArray.forEach(function (element) {
              element.classList.remove(CLASS_NAME_COLLAPSED);
              element.setAttribute('aria-expanded', true);
            });
          }
          this.setTransitioning(true);
          var complete = function complete() {
            _this8._element.classList.remove(CLASS_NAME_COLLAPSING);
            _this8._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$8);
            _this8._element.style[dimension] = '';
            _this8.setTransitioning(false);
            EventHandler.trigger(_this8._element, EVENT_SHOWN$5);
          };
          var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
          var scrollSize = "scroll".concat(capitalizedDimension);
          var transitionDuration = getTransitionDurationFromElement(this._element);
          EventHandler.one(this._element, 'transitionend', complete);
          emulateTransitionEnd(this._element, transitionDuration);
          this._element.style[dimension] = "".concat(this._element[scrollSize], "px");
        }
      }, {
        key: "hide",
        value: function hide() {
          var _this9 = this;
          if (this._isTransitioning || !this._element.classList.contains(CLASS_NAME_SHOW$8)) {
            return;
          }
          var startEvent = EventHandler.trigger(this._element, EVENT_HIDE$5);
          if (startEvent.defaultPrevented) {
            return;
          }
          var dimension = this._getDimension();
          this._element.style[dimension] = "".concat(this._element.getBoundingClientRect()[dimension], "px");
          reflow(this._element);
          this._element.classList.add(CLASS_NAME_COLLAPSING);
          this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$8);
          var triggerArrayLength = this._triggerArray.length;
          if (triggerArrayLength &gt; 0) {
            for (var i = 0; i &lt; triggerArrayLength; i++) {
              var trigger = this._triggerArray[i];
              var elem = getElementFromSelector(trigger);
              if (elem &amp;&amp; !elem.classList.contains(CLASS_NAME_SHOW$8)) {
                trigger.classList.add(CLASS_NAME_COLLAPSED);
                trigger.setAttribute('aria-expanded', false);
              }
            }
          }
          this.setTransitioning(true);
          var complete = function complete() {
            _this9.setTransitioning(false);
            _this9._element.classList.remove(CLASS_NAME_COLLAPSING);
            _this9._element.classList.add(CLASS_NAME_COLLAPSE);
            EventHandler.trigger(_this9._element, EVENT_HIDDEN$5);
          };
          this._element.style[dimension] = '';
          var transitionDuration = getTransitionDurationFromElement(this._element);
          EventHandler.one(this._element, 'transitionend', complete);
          emulateTransitionEnd(this._element, transitionDuration);
        }
      }, {
        key: "setTransitioning",
        value: function setTransitioning(isTransitioning) {
          this._isTransitioning = isTransitioning;
        }
      }, {
        key: "dispose",
        value: function dispose() {
          _superPropGet(Collapse, "dispose", this, 3)([]);
          this._config = null;
          this._parent = null;
          this._triggerArray = null;
          this._isTransitioning = null;
        } // Private
      }, {
        key: "_getConfig",
        value: function _getConfig(config) {
          config = _objectSpread(_objectSpread({}, Default$8), config);
          config.toggle = Boolean(config.toggle); // Coerce string values

          typeCheckConfig(NAME$9, config, DefaultType$8);
          return config;
        }
      }, {
        key: "_getDimension",
        value: function _getDimension() {
          return this._element.classList.contains(WIDTH) ? WIDTH : HEIGHT;
        }
      }, {
        key: "_getParent",
        value: function _getParent() {
          var _this10 = this;
          var parent = this._config.parent;
          if (isElement(parent)) {
            // it's a jQuery object
            if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {
              parent = parent[0];
            }
          } else {
            parent = SelectorEngine.findOne(parent);
          }
          var selector = "".concat(SELECTOR_DATA_TOGGLE$4, "[data-bs-parent=\"").concat(parent, "\"]");
          SelectorEngine.find(selector, parent).forEach(function (element) {
            var selected = getElementFromSelector(element);
            _this10._addAriaAndCollapsedClass(selected, [element]);
          });
          return parent;
        }
      }, {
        key: "_addAriaAndCollapsedClass",
        value: function _addAriaAndCollapsedClass(element, triggerArray) {
          if (!element || !triggerArray.length) {
            return;
          }
          var isOpen = element.classList.contains(CLASS_NAME_SHOW$8);
          triggerArray.forEach(function (elem) {
            if (isOpen) {
              elem.classList.remove(CLASS_NAME_COLLAPSED);
            } else {
              elem.classList.add(CLASS_NAME_COLLAPSED);
            }
            elem.setAttribute('aria-expanded', isOpen);
          });
        } // Static
      }], [{
        key: "Default",
        get: function get() {
          return Default$8;
        }
      }, {
        key: "DATA_KEY",
        get: function get() {
          return DATA_KEY$8;
        }
      }, {
        key: "collapseInterface",
        value: function collapseInterface(element, config) {
          var data = Data.get(element, DATA_KEY$8);
          var _config = _objectSpread(_objectSpread(_objectSpread({}, Default$8), Manipulator.getDataAttributes(element)), (0,esm_typeof/* default */.A)(config) === 'object' &amp;&amp; config ? config : {});
          if (!data &amp;&amp; _config.toggle &amp;&amp; typeof config === 'string' &amp;&amp; /show|hide/.test(config)) {
            _config.toggle = false;
          }
          if (!data) {
            data = new Collapse(element, _config);
          }
          if (typeof config === 'string') {
            if (typeof data[config] === 'undefined') {
              throw new TypeError("No method named \"".concat(config, "\""));
            }
            data[config]();
          }
        }
      }, {
        key: "jQueryInterface",
        value: function jQueryInterface(config) {
          return this.each(function () {
            Collapse.collapseInterface(this, config);
          });
        }
      }]);
    }(BaseComponent);
    /**
     * ------------------------------------------------------------------------
     * Data Api implementation
     
    EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) {
      // preventDefault only for &lt;a&gt; elements (which change the URL) not inside the collapsible element
      if (event.target.tagName === 'A' || event.delegateTarget &amp;&amp; event.delegateTarget.tagName === 'A') {
        event.preventDefault();
      }
         const triggerData = Manipulator.getDataAttributes(this);
      const selector = getSelectorFromElement(this);
      const selectorElements = SelectorEngine.find(selector);
      selectorElements.forEach(element =&gt; {
        const data = Data.get(element, DATA_KEY$8);
        let config;
           if (data) {
          // update parent attribute
          if (data._parent === null &amp;&amp; typeof triggerData.parent === 'string') {
            data._config.parent = triggerData.parent;
            data._parent = data._getParent();
          }
             config = 'toggle';
        } else {
          config = triggerData;
        }
           Collapse.collapseInterface(element, config);
      });
    });
    /**
     * ------------------------------------------------------------------------
     * jQuery
     * ------------------------------------------------------------------------
     * add .Collapse to jQuery only if jQuery is present
     */
    defineJQueryPlugin(NAME$9, Collapse);

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): dropdown.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */

    var NAME$8 = 'dropdown';
    var DATA_KEY$7 = 'bs.dropdown';
    var EVENT_KEY$7 = ".".concat(DATA_KEY$7);
    var ESCAPE_KEY$2 = 'Escape';
    var SPACE_KEY = 'Space';
    var TAB_KEY = 'Tab';
    var ARROW_UP_KEY = 'ArrowUp';
    var ARROW_DOWN_KEY = 'ArrowDown';
    var RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button

    var REGEXP_KEYDOWN = new RegExp("".concat(ARROW_UP_KEY, "|").concat(ARROW_DOWN_KEY, "|").concat(ESCAPE_KEY$2));
    var EVENT_HIDE$4 = "hide".concat(EVENT_KEY$7);
    var EVENT_HIDDEN$4 = "hidden".concat(EVENT_KEY$7);
    var EVENT_SHOW$4 = "show".concat(EVENT_KEY$7);
    var EVENT_SHOWN$4 = "shown".concat(EVENT_KEY$7);
    var EVENT_CLICK = "click".concat(EVENT_KEY$7);
    var CLASS_NAME_SHOW$7 = 'show';
    var CLASS_NAME_DROPUP = 'dropup';
    var CLASS_NAME_DROPEND = 'dropend';
    var CLASS_NAME_DROPSTART = 'dropstart';
    var CLASS_NAME_NAVBAR = 'navbar';
    var SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="dropdown"]';
    var SELECTOR_MENU = '.dropdown-menu';
    var SELECTOR_NAVBAR_NAV = '.navbar-nav';
    var SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';
    var PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start';
    var PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end';
    var PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start';
    var PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end';
    var PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start';
    var PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';
    var Default$7 = {
      offset: [0, 2],
      boundary: 'clippingParents',
      reference: 'toggle',
      display: 'dynamic',
      popperConfig: null,
      autoClose: true
    };
    var DefaultType$7 = {
      offset: '(array|string|function)',
      boundary: '(string|element)',
      reference: '(string|element|object)',
      display: 'string',
      popperConfig: '(null|object|function)',
      autoClose: '(boolean|string)'
    };
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
    var Dropdown = /*#__PURE__*/function (_BaseComponent5) {
      function Dropdown(element, config) {
        var _this11;
        (0,classCallCheck/* default */.A)(this, Dropdown);
        _this11 = _callSuper(this, Dropdown, [element]);
        _this11._popper = null;
        _this11._config = _this11._getConfig(config);
        _this11._menu = _this11._getMenuElement();
        _this11._inNavbar = _this11._detectNavbar();
        _this11._addEventListeners();
        return _this11;
      } // Getters
      (0,inherits/* default */.A)(Dropdown, _BaseComponent5);
      return (0,createClass/* default */.A)(Dropdown, [{
        key: "toggle",
        value:
        // Public

        function toggle() {
          if (isDisabled(this._element)) {
            return;
          }
          var isActive = this._element.classList.contains(CLASS_NAME_SHOW$7);
          if (isActive) {
            this.hide();
            return;
          }
          this.show();
        }
      }, {
        key: "show",
        value: function show() {
          if (isDisabled(this._element) || this._menu.classList.contains(CLASS_NAME_SHOW$7)) {
            return;
          }
          var parent = Dropdown.getParentFromElement(this._element);
          var relatedTarget = {
            relatedTarget: this._element
          };
          var showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, relatedTarget);
          if (showEvent.defaultPrevented) {
            return;
          } // Totally disable Popper for Dropdowns in Navbar

          if (this._inNavbar) {
            Manipulator.setDataAttribute(this._menu, 'popper', 'none');
          } else {
            if (typeof Popper__namespace === 'undefined') {
              throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)');
            }
            var referenceElement = this._element;
            if (this._config.reference === 'parent') {
              referenceElement = parent;
            } else if (isElement(this._config.reference)) {
              referenceElement = this._config.reference; // Check if it's jQuery element

              if (typeof this._config.reference.jquery !== 'undefined') {
                referenceElement = this._config.reference[0];
              }
            } else if ((0,esm_typeof/* default */.A)(this._config.reference) === 'object') {
              referenceElement = this._config.reference;
            }
            var popperConfig = this._getPopperConfig();
            var isDisplayStatic = popperConfig.modifiers.find(function (modifier) {
              return modifier.name === 'applyStyles' &amp;&amp; modifier.enabled === false;
            });
            this._popper = Popper__namespace.createPopper(referenceElement, this._menu, popperConfig);
            if (isDisplayStatic) {
              Manipulator.setDataAttribute(this._menu, 'popper', 'static');
            }
          } // If this is a touch-enabled device we add extra
          // empty mouseover listeners to the body's immediate children;
          // only needed because of broken event delegation on iOS
          // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html

          if ('ontouchstart' in document.documentElement &amp;&amp; !parent.closest(SELECTOR_NAVBAR_NAV)) {
            var _ref3;
            (_ref3 = []).concat.apply(_ref3, (0,toConsumableArray/* default */.A)(document.body.children)).forEach(function (elem) {
              return EventHandler.on(elem, 'mouseover', noop);
            });
          }
          this._element.focus();
          this._element.setAttribute('aria-expanded', true);
          this._menu.classList.toggle(CLASS_NAME_SHOW$7);
          this._element.classList.toggle(CLASS_NAME_SHOW$7);
          EventHandler.trigger(this._element, EVENT_SHOWN$4, relatedTarget);
        }
      }, {
        key: "hide",
        value: function hide() {
          if (isDisabled(this._element) || !this._menu.classList.contains(CLASS_NAME_SHOW$7)) {
            return;
          }
          var relatedTarget = {
            relatedTarget: this._element
          };
          this._completeHide(relatedTarget);
        }
      }, {
        key: "dispose",
        value: function dispose() {
          this._menu = null;
          if (this._popper) {
            this._popper.destroy();
            this._popper = null;
          }
          _superPropGet(Dropdown, "dispose", this, 3)([]);
        }
      }, {
        key: "update",
        value: function update() {
          this._inNavbar = this._detectNavbar();
          if (this._popper) {
            this._popper.update();
          }
        } // Private
      }, {
        key: "_addEventListeners",
        value: function _addEventListeners() {
          var _this12 = this;
          EventHandler.on(this._element, EVENT_CLICK, function (event) {
            event.preventDefault();
            _this12.toggle();
          });
        }
      }, {
        key: "_completeHide",
        value: function _completeHide(relatedTarget) {
          var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4, relatedTarget);
          if (hideEvent.defaultPrevented) {
            return;
          } // If this is a touch-enabled device we remove the extra
          // empty mouseover listeners we added for iOS support

          if ('ontouchstart' in document.documentElement) {
            var _ref4;
            (_ref4 = []).concat.apply(_ref4, (0,toConsumableArray/* default */.A)(document.body.children)).forEach(function (elem) {
              return EventHandler.off(elem, 'mouseover', noop);
            });
          }
          if (this._popper) {
            this._popper.destroy();
          }
          this._menu.classList.remove(CLASS_NAME_SHOW$7);
          this._element.classList.remove(CLASS_NAME_SHOW$7);
          this._element.setAttribute('aria-expanded', 'false');
          Manipulator.removeDataAttribute(this._menu, 'popper');
          EventHandler.trigger(this._element, EVENT_HIDDEN$4, relatedTarget);
        }
      }, {
        key: "_getConfig",
        value: function _getConfig(config) {
          config = _objectSpread(_objectSpread(_objectSpread({}, this.constructor.Default), Manipulator.getDataAttributes(this._element)), config);
          typeCheckConfig(NAME$8, config, this.constructor.DefaultType);
          if ((0,esm_typeof/* default */.A)(config.reference) === 'object' &amp;&amp; !isElement(config.reference) &amp;&amp; typeof config.reference.getBoundingClientRect !== 'function') {
            // Popper virtual elements require a getBoundingClientRect method
            throw new TypeError("".concat(NAME$8.toUpperCase(), ": Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method."));
          }
          return config;
        }
      }, {
        key: "_getMenuElement",
        value: function _getMenuElement() {
          return SelectorEngine.next(this._element, SELECTOR_MENU)[0];
        }
      }, {
        key: "_getPlacement",
        value: function _getPlacement() {
          var parentDropdown = this._element.parentNode;
          if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {
            return PLACEMENT_RIGHT;
          }
          if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {
            return PLACEMENT_LEFT;
          } // We need to trim the value because custom properties can also include spaces

          var isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end';
          if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {
            return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP;
          }
          return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM;
        }
      }, {
        key: "_detectNavbar",
        value: function _detectNavbar() {
          return this._element.closest(".".concat(CLASS_NAME_NAVBAR)) !== null;
        }
      }, {
        key: "_getOffset",
        value: function _getOffset() {
          var _this13 = this;
          var offset = this._config.offset;
          if (typeof offset === 'string') {
            return offset.split(',').map(function (val) {
              return Number.parseInt(val, 10);
            });
          }
          if (typeof offset === 'function') {
            return function (popperData) {
              return offset(popperData, _this13._element);
            };
          }
          return offset;
        }
      }, {
        key: "_getPopperConfig",
        value: function _getPopperConfig() {
          var defaultBsPopperConfig = {
            placement: this._getPlacement(),
            modifiers: [{
              name: 'preventOverflow',
              options: {
                boundary: this._config.boundary
              }
            }, {
              name: 'offset',
              options: {
                offset: this._getOffset()
              }
            }]
          }; // Disable Popper if we have a static display

          if (this._config.display === 'static') {
            defaultBsPopperConfig.modifiers = [{
              name: 'applyStyles',
              enabled: false
            }];
          }
          return _objectSpread(_objectSpread({}, defaultBsPopperConfig), typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig);
        }
      }, {
        key: "_selectMenuItem",
        value: function _selectMenuItem(event) {
          var items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(isVisible);
          if (!items.length) {
            return;
          }
          var index = items.indexOf(event.target); // Up

          if (event.key === ARROW_UP_KEY &amp;&amp; index &gt; 0) {
            index--;
          } // Down

          if (event.key === ARROW_DOWN_KEY &amp;&amp; index &lt; items.length - 1) {
            index++;
          } // index is -1 if the first keydown is an ArrowUp

          index = index === -1 ? 0 : index;
          items[index].focus();
        } // Static
      }], [{
        key: "Default",
        get: function get() {
          return Default$7;
        }
      }, {
        key: "DefaultType",
        get: function get() {
          return DefaultType$7;
        }
      }, {
        key: "DATA_KEY",
        get: function get() {
          return DATA_KEY$7;
        }
      }, {
        key: "dropdownInterface",
        value: function dropdownInterface(element, config) {
          var data = Data.get(element, DATA_KEY$7);
          var _config = (0,esm_typeof/* default */.A)(config) === 'object' ? config : null;
          if (!data) {
            data = new Dropdown(element, _config);
          }
          if (typeof config === 'string') {
            if (typeof data[config] === 'undefined') {
              throw new TypeError("No method named \"".concat(config, "\""));
            }
            data[config]();
          }
        }
      }, {
        key: "jQueryInterface",
        value: function jQueryInterface(config) {
          return this.each(function () {
            Dropdown.dropdownInterface(this, config);
          });
        }
      }, {
        key: "clearMenus",
        value: function clearMenus(event) {
          if (event) {
            if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' &amp;&amp; event.key !== TAB_KEY) {
              return;
            }
            if (/input|select|option|textarea|form/i.test(event.target.tagName)) {
              return;
            }
          }
          var toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE$3);
          for (var i = 0, len = toggles.length; i &lt; len; i++) {
            var context = Data.get(toggles[i], DATA_KEY$7);
            if (!context || context._config.autoClose === false) {
              continue;
            }
            if (!context._element.classList.contains(CLASS_NAME_SHOW$7)) {
              continue;
            }
            var relatedTarget = {
              relatedTarget: context._element
            };
            if (event) {
              var composedPath = event.composedPath();
              var isMenuTarget = composedPath.includes(context._menu);
              if (composedPath.includes(context._element) || context._config.autoClose === 'inside' &amp;&amp; !isMenuTarget || context._config.autoClose === 'outside' &amp;&amp; isMenuTarget) {
                continue;
              } // Tab navigation through the dropdown menu shouldn't close the menu

              if (event.type === 'keyup' &amp;&amp; event.key === TAB_KEY &amp;&amp; context._menu.contains(event.target)) {
                continue;
              }
              if (event.type === 'click') {
                relatedTarget.clickEvent = event;
              }
            }
            context._completeHide(relatedTarget);
          }
        }
      }, {
        key: "getParentFromElement",
        value: function getParentFromElement(element) {
          return getElementFromSelector(element) || element.parentNode;
        }
      }, {
        key: "dataApiKeydownHandler",
        value: function dataApiKeydownHandler(event) {
          var _this14 = this;
          // If not input/textarea:
          //  - And not a key in REGEXP_KEYDOWN =&gt; not a dropdown command
          // If input/textarea:
          //  - If space key =&gt; not a dropdown command
          //  - If key is other than escape
          //    - If key is not up or down =&gt; not a dropdown command
          //    - If trigger inside the menu =&gt; not a dropdown command
          if (/input|textarea/i.test(event.target.tagName) ? event.key === SPACE_KEY || event.key !== ESCAPE_KEY$2 &amp;&amp; (event.key !== ARROW_DOWN_KEY &amp;&amp; event.key !== ARROW_UP_KEY || event.target.closest(SELECTOR_MENU)) : !REGEXP_KEYDOWN.test(event.key)) {
            return;
          }
          var isActive = this.classList.contains(CLASS_NAME_SHOW$7);
          if (!isActive &amp;&amp; event.key === ESCAPE_KEY$2) {
            return;
          }
          event.preventDefault();
          event.stopPropagation();
          if (isDisabled(this)) {
            return;
          }
          var getToggleButton = function getToggleButton() {
            return _this14.matches(SELECTOR_DATA_TOGGLE$3) ? _this14 : SelectorEngine.prev(_this14, SELECTOR_DATA_TOGGLE$3)[0];
          };
          if (event.key === ESCAPE_KEY$2) {
            getToggleButton().focus();
            Dropdown.clearMenus();
            return;
          }
          if (!isActive &amp;&amp; (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY)) {
            getToggleButton().click();
            return;
          }
          if (!isActive || event.key === SPACE_KEY) {
            Dropdown.clearMenus();
            return;
          }
          Dropdown.getInstance(getToggleButton())._selectMenuItem(event);
        }
      }]);
    }(BaseComponent);
    /**
     * ------------------------------------------------------------------------
     * Data Api implementation
     
    EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler);
    EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);
    EventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus);
    EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);
    EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) {
      event.preventDefault();
      Dropdown.dropdownInterface(this);
    });
    /**
     * ------------------------------------------------------------------------
     * jQuery
     * ------------------------------------------------------------------------
     * add .Dropdown to jQuery only if jQuery is present
     */
    defineJQueryPlugin(NAME$8, Dropdown);

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): util/scrollBar.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    var SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
    var SELECTOR_STICKY_CONTENT = '.sticky-top';
    var getWidth = function getWidth() {
      // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
      var documentWidth = document.documentElement.clientWidth;
      return Math.abs(window.innerWidth - documentWidth);
    };
    var hide = function hide() {
      var width = arguments.length &gt; 0 &amp;&amp; arguments[0] !== undefined ? arguments[0] : getWidth();
      _disableOverFlow(); // give padding to element to balances the hidden scrollbar width

      _setElementAttributes('body', 'paddingRight', function (calculatedValue) {
        return calculatedValue + width;
      }); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements, to keep shown fullwidth

      _setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', function (calculatedValue) {
        return calculatedValue + width;
      });
      _setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', function (calculatedValue) {
        return calculatedValue - width;
      });
    };
    var _disableOverFlow = function _disableOverFlow() {
      var actualValue = document.body.style.overflow;
      if (actualValue) {
        Manipulator.setDataAttribute(document.body, 'overflow', actualValue);
      }
      document.body.style.overflow = 'hidden';
    };
    var _setElementAttributes = function _setElementAttributes(selector, styleProp, callback) {
      var scrollbarWidth = getWidth();
      SelectorEngine.find(selector).forEach(function (element) {
        if (element !== document.body &amp;&amp; window.innerWidth &gt; element.clientWidth + scrollbarWidth) {
          return;
        }
        var actualValue = element.style[styleProp];
        var calculatedValue = window.getComputedStyle(element)[styleProp];
        Manipulator.setDataAttribute(element, styleProp, actualValue);
        element.style[styleProp] = "".concat(callback(Number.parseFloat(calculatedValue)), "px");
      });
    };
    var reset = function reset() {
      _resetElementAttributes('body', 'overflow');
      _resetElementAttributes('body', 'paddingRight');
      _resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight');
      _resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight');
    };
    var _resetElementAttributes = function _resetElementAttributes(selector, styleProp) {
      SelectorEngine.find(selector).forEach(function (element) {
        var value = Manipulator.getDataAttribute(element, styleProp);
        if (typeof value === 'undefined') {
          element.style.removeProperty(styleProp);
        } else {
          Manipulator.removeDataAttribute(element, styleProp);
          element.style[styleProp] = value;
        }
      });
    };

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): util/backdrop.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
     * --------------------------------------------------------------------------
     */
    var Default$6 = {
      isVisible: true,
      // if false, we use the backdrop helper without adding any element to the dom
      isAnimated: false,
      rootElement: document.body,
      // give the choice to place backdrop under different elements
      clickCallback: null
    };
    var DefaultType$6 = {
      isVisible: 'boolean',
      isAnimated: 'boolean',
      rootElement: 'element',
      clickCallback: '(function|null)'
    };
    var NAME$7 = 'backdrop';
    var CLASS_NAME_BACKDROP = 'modal-backdrop';
    var CLASS_NAME_FADE$5 = 'fade';
    var CLASS_NAME_SHOW$6 = 'show';
    var EVENT_MOUSEDOWN = "mousedown.bs.".concat(NAME$7);
    var Backdrop = /*#__PURE__*/function () {
      function Backdrop(config) {
        (0,classCallCheck/* default */.A)(this, Backdrop);
        this._config = this._getConfig(config);
        this._isAppended = false;
        this._element = null;
      }
      return (0,createClass/* default */.A)(Backdrop, [{
        key: "show",
        value: function show(callback) {
          if (!this._config.isVisible) {
            execute(callback);
            return;
          }
          this._append();
          if (this._config.isAnimated) {
            reflow(this._getElement());
          }
          this._getElement().classList.add(CLASS_NAME_SHOW$6);
          this._emulateAnimation(function () {
            execute(callback);
          });
        }
      }, {
        key: "hide",
        value: function hide(callback) {
          var _this15 = this;
          if (!this._config.isVisible) {
            execute(callback);
            return;
          }
          this._getElement().classList.remove(CLASS_NAME_SHOW$6);
          this._emulateAnimation(function () {
            _this15.dispose();
            execute(callback);
          });
        } // Private
      }, {
        key: "_getElement",
        value: function _getElement() {
          if (!this._element) {
            var backdrop = document.createElement('div');
            backdrop.className = CLASS_NAME_BACKDROP;
            if (this._config.isAnimated) {
              backdrop.classList.add(CLASS_NAME_FADE$5);
            }
            this._element = backdrop;
          }
          return this._element;
        }
      }, {
        key: "_getConfig",
        value: function _getConfig(config) {
          config = _objectSpread(_objectSpread({}, Default$6), (0,esm_typeof/* default */.A)(config) === 'object' ? config : {});
          typeCheckConfig(NAME$7, config, DefaultType$6);
          return config;
        }
      }, {
        key: "_append",
        value: function _append() {
          var _this16 = this;
          if (this._isAppended) {
            return;
          }
          this._config.rootElement.appendChild(this._getElement());
          EventHandler.on(this._getElement(), EVENT_MOUSEDOWN, function () {
            execute(_this16._config.clickCallback);
          });
          this._isAppended = true;
        }
      }, {
        key: "dispose",
        value: function dispose() {
          if (!this._isAppended) {
            return;
          }
          EventHandler.off(this._element, EVENT_MOUSEDOWN);
          this._getElement().parentNode.removeChild(this._element);
          this._isAppended = false;
        }
      }, {
        key: "_emulateAnimation",
        value: function _emulateAnimation(callback) {
          if (!this._config.isAnimated) {
            execute(callback);
            return;
          }
          var backdropTransitionDuration = getTransitionDurationFromElement(this._getElement());
          EventHandler.one(this._getElement(), 'transitionend', function () {
            return execute(callback);
          });
          emulateTransitionEnd(this._getElement(), backdropTransitionDuration);
        }
      }]);
    }();
    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): modal.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */
    var NAME$6 = 'modal';
    var DATA_KEY$6 = 'bs.modal';
    var EVENT_KEY$6 = ".".concat(DATA_KEY$6);
    var ESCAPE_KEY$1 = 'Escape';
    var Default$5 = {
      backdrop: true,
      keyboard: true,
      focus: true
    };
    var DefaultType$5 = {
      backdrop: '(boolean|string)',
      keyboard: 'boolean',
      focus: 'boolean'
    };
    var EVENT_HIDE$3 = "hide".concat(EVENT_KEY$6);
    var EVENT_HIDE_PREVENTED = "hidePrevented".concat(EVENT_KEY$6);
    var EVENT_HIDDEN$3 = "hidden".concat(EVENT_KEY$6);
    var EVENT_SHOW$3 = "show".concat(EVENT_KEY$6);
    var EVENT_SHOWN$3 = "shown".concat(EVENT_KEY$6);
    var EVENT_FOCUSIN$1 = "focusin".concat(EVENT_KEY$6);
    var EVENT_RESIZE = "resize".concat(EVENT_KEY$6);
    var EVENT_CLICK_DISMISS$2 = "click.dismiss".concat(EVENT_KEY$6);
    var EVENT_KEYDOWN_DISMISS$1 = "keydown.dismiss".concat(EVENT_KEY$6);
    var EVENT_MOUSEUP_DISMISS = "mouseup.dismiss".concat(EVENT_KEY$6);
    var EVENT_MOUSEDOWN_DISMISS = "mousedown.dismiss".concat(EVENT_KEY$6);
    var CLASS_NAME_OPEN = 'modal-open';
    var CLASS_NAME_FADE$4 = 'fade';
    var CLASS_NAME_SHOW$5 = 'show';
    var CLASS_NAME_STATIC = 'modal-static';
    var SELECTOR_DIALOG = '.modal-dialog';
    var SELECTOR_MODAL_BODY = '.modal-body';
    var SELECTOR_DATA_DISMISS$2 = '[data-bs-dismiss="modal"]';
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
    var Modal = /*#__PURE__*/function (_BaseComponent6) {
      function Modal(element, config) {
        var _this17;
        (0,classCallCheck/* default */.A)(this, Modal);
        _this17 = _callSuper(this, Modal, [element]);
        _this17._config = _this17._getConfig(config);
        _this17._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, _this17._element);
        _this17._backdrop = _this17._initializeBackDrop();
        _this17._isShown = false;
        _this17._ignoreBackdropClick = false;
        _this17._isTransitioning = false;
        return _this17;
      } // Getters
      (0,inherits/* default */.A)(Modal, _BaseComponent6);
      return (0,createClass/* default */.A)(Modal, [{
        key: "toggle",
        value:
        // Public

        function toggle(relatedTarget) {
          return this._isShown ? this.hide() : this.show(relatedTarget);
        }
      }, {
        key: "show",
        value: function show(relatedTarget) {
          var _this18 = this;
          if (this._isShown || this._isTransitioning) {
            return;
          }
          if (this._isAnimated()) {
            this._isTransitioning = true;
          }
          var showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, {
            relatedTarget: relatedTarget
          });
          if (this._isShown || showEvent.defaultPrevented) {
            return;
          }
          this._isShown = true;
          hide();
          document.body.classList.add(CLASS_NAME_OPEN);
          this._adjustDialog();
          this._setEscapeEvent();
          this._setResizeEvent();
          EventHandler.on(this._element, EVENT_CLICK_DISMISS$2, SELECTOR_DATA_DISMISS$2, function (event) {
            return _this18.hide(event);
          });
          EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, function () {
            EventHandler.one(_this18._element, EVENT_MOUSEUP_DISMISS, function (event) {
              if (event.target === _this18._element) {
                _this18._ignoreBackdropClick = true;
              }
            });
          });
          this._showBackdrop(function () {
            return _this18._showElement(relatedTarget);
          });
        }
      }, {
        key: "hide",
        value: function hide(event) {
          var _this19 = this;
          if (event) {
            event.preventDefault();
          }
          if (!this._isShown || this._isTransitioning) {
            return;
          }
          var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3);
          if (hideEvent.defaultPrevented) {
            return;
          }
          this._isShown = false;
          var isAnimated = this._isAnimated();
          if (isAnimated) {
            this._isTransitioning = true;
          }
          this._setEscapeEvent();
          this._setResizeEvent();
          EventHandler.off(document, EVENT_FOCUSIN$1);
          this._element.classList.remove(CLASS_NAME_SHOW$5);
          EventHandler.off(this._element, EVENT_CLICK_DISMISS$2);
          EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS);
          if (isAnimated) {
            var transitionDuration = getTransitionDurationFromElement(this._element);
            EventHandler.one(this._element, 'transitionend', function (event) {
              return _this19._hideModal(event);
            });
            emulateTransitionEnd(this._element, transitionDuration);
          } else {
            this._hideModal();
          }
        }
      }, {
        key: "dispose",
        value: function dispose() {
          [window, this._dialog].forEach(function (htmlElement) {
            return EventHandler.off(htmlElement, EVENT_KEY$6);
          });
          _superPropGet(Modal, "dispose", this, 3)([]);
          /**
           * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`
           * Do not move `document` in `htmlElements` array
           * It will remove `EVENT_CLICK_DATA_API` event that should remain
           */

          EventHandler.off(document, EVENT_FOCUSIN$1);
          this._config = null;
          this._dialog = null;
          this._backdrop.dispose();
          this._backdrop = null;
          this._isShown = null;
          this._ignoreBackdropClick = null;
          this._isTransitioning = null;
        }
      }, {
        key: "handleUpdate",
        value: function handleUpdate() {
          this._adjustDialog();
        } // Private
      }, {
        key: "_initializeBackDrop",
        value: function _initializeBackDrop() {
          return new Backdrop({
            isVisible: Boolean(this._config.backdrop),
            // 'static' option will be translated to true, and booleans will keep their value
            isAnimated: this._isAnimated()
          });
        }
      }, {
        key: "_getConfig",
        value: function _getConfig(config) {
          config = _objectSpread(_objectSpread(_objectSpread({}, Default$5), Manipulator.getDataAttributes(this._element)), config);
          typeCheckConfig(NAME$6, config, DefaultType$5);
          return config;
        }
      }, {
        key: "_showElement",
        value: function _showElement(relatedTarget) {
          var _this20 = this;
          var isAnimated = this._isAnimated();
          var modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog);
          if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
            // Don't move modal's DOM position
            document.body.appendChild(this._element);
          }
          this._element.style.display = 'block';
          this._element.removeAttribute('aria-hidden');
          this._element.setAttribute('aria-modal', true);
          this._element.setAttribute('role', 'dialog');
          this._element.scrollTop = 0;
          if (modalBody) {
            modalBody.scrollTop = 0;
          }
          if (isAnimated) {
            reflow(this._element);
          }
          this._element.classList.add(CLASS_NAME_SHOW$5);
          if (this._config.focus) {
            this._enforceFocus();
          }
          var transitionComplete = function transitionComplete() {
            if (_this20._config.focus) {
              _this20._element.focus();
            }
            _this20._isTransitioning = false;
            EventHandler.trigger(_this20._element, EVENT_SHOWN$3, {
              relatedTarget: relatedTarget
            });
          };
          if (isAnimated) {
            var transitionDuration = getTransitionDurationFromElement(this._dialog);
            EventHandler.one(this._dialog, 'transitionend', transitionComplete);
            emulateTransitionEnd(this._dialog, transitionDuration);
          } else {
            transitionComplete();
          }
        }
      }, {
        key: "_enforceFocus",
        value: function _enforceFocus() {
          var _this21 = this;
          EventHandler.off(document, EVENT_FOCUSIN$1); // guard against infinite focus loop

          EventHandler.on(document, EVENT_FOCUSIN$1, function (event) {
            if (document !== event.target &amp;&amp; _this21._element !== event.target &amp;&amp; !_this21._element.contains(event.target)) {
              _this21._element.focus();
            }
          });
        }
      }, {
        key: "_setEscapeEvent",
        value: function _setEscapeEvent() {
          var _this22 = this;
          if (this._isShown) {
            EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, function (event) {
              if (_this22._config.keyboard &amp;&amp; event.key === ESCAPE_KEY$1) {
                event.preventDefault();
                _this22.hide();
              } else if (!_this22._config.keyboard &amp;&amp; event.key === ESCAPE_KEY$1) {
                _this22._triggerBackdropTransition();
              }
            });
          } else {
            EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS$1);
          }
        }
      }, {
        key: "_setResizeEvent",
        value: function _setResizeEvent() {
          var _this23 = this;
          if (this._isShown) {
            EventHandler.on(window, EVENT_RESIZE, function () {
              return _this23._adjustDialog();
            });
          } else {
            EventHandler.off(window, EVENT_RESIZE);
          }
        }
      }, {
        key: "_hideModal",
        value: function _hideModal() {
          var _this24 = this;
          this._element.style.display = 'none';
          this._element.setAttribute('aria-hidden', true);
          this._element.removeAttribute('aria-modal');
          this._element.removeAttribute('role');
          this._isTransitioning = false;
          this._backdrop.hide(function () {
            document.body.classList.remove(CLASS_NAME_OPEN);
            _this24._resetAdjustments();
            reset();
            EventHandler.trigger(_this24._element, EVENT_HIDDEN$3);
          });
        }
      }, {
        key: "_showBackdrop",
        value: function _showBackdrop(callback) {
          var _this25 = this;
          EventHandler.on(this._element, EVENT_CLICK_DISMISS$2, function (event) {
            if (_this25._ignoreBackdropClick) {
              _this25._ignoreBackdropClick = false;
              return;
            }
            if (event.target !== event.currentTarget) {
              return;
            }
            if (_this25._config.backdrop === true) {
              _this25.hide();
            } else if (_this25._config.backdrop === 'static') {
              _this25._triggerBackdropTransition();
            }
          });
          this._backdrop.show(callback);
        }
      }, {
        key: "_isAnimated",
        value: function _isAnimated() {
          return this._element ? this._element.classList.contains(CLASS_NAME_FADE$4) : false;
        }
      }, {
        key: "_triggerBackdropTransition",
        value: function _triggerBackdropTransition() {
          var _this26 = this;
          var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);
          if (hideEvent.defaultPrevented) {
            return;
          }
          var isModalOverflowing = this._element.scrollHeight &gt; document.documentElement.clientHeight;
          if (!isModalOverflowing) {
            this._element.style.overflowY = 'hidden';
          }
          this._element.classList.add(CLASS_NAME_STATIC);
          var modalTransitionDuration = getTransitionDurationFromElement(this._dialog);
          EventHandler.off(this._element, 'transitionend');
          EventHandler.one(this._element, 'transitionend', function () {
            _this26._element.classList.remove(CLASS_NAME_STATIC);
            if (!isModalOverflowing) {
              EventHandler.one(_this26._element, 'transitionend', function () {
                _this26._element.style.overflowY = '';
              });
              emulateTransitionEnd(_this26._element, modalTransitionDuration);
            }
          });
          emulateTransitionEnd(this._element, modalTransitionDuration);
          this._element.focus();
        } // ----------------------------------------------------------------------
        // the following methods are used to handle overflowing modals
        // ----------------------------------------------------------------------
      }, {
        key: "_adjustDialog",
        value: function _adjustDialog() {
          var isModalOverflowing = this._element.scrollHeight &gt; document.documentElement.clientHeight;
          var scrollbarWidth = getWidth();
          var isBodyOverflowing = scrollbarWidth &gt; 0;
          if (!isBodyOverflowing &amp;&amp; isModalOverflowing &amp;&amp; !isRTL() || isBodyOverflowing &amp;&amp; !isModalOverflowing &amp;&amp; isRTL()) {
            this._element.style.paddingLeft = "".concat(scrollbarWidth, "px");
          }
          if (isBodyOverflowing &amp;&amp; !isModalOverflowing &amp;&amp; !isRTL() || !isBodyOverflowing &amp;&amp; isModalOverflowing &amp;&amp; isRTL()) {
            this._element.style.paddingRight = "".concat(scrollbarWidth, "px");
          }
        }
      }, {
        key: "_resetAdjustments",
        value: function _resetAdjustments() {
          this._element.style.paddingLeft = '';
          this._element.style.paddingRight = '';
        } // Static
      }], [{
        key: "Default",
        get: function get() {
          return Default$5;
        }
      }, {
        key: "DATA_KEY",
        get: function get() {
          return DATA_KEY$6;
        }
      }, {
        key: "jQueryInterface",
        value: function jQueryInterface(config, relatedTarget) {
          return this.each(function () {
            var data = Modal.getInstance(this) || new Modal(this, (0,esm_typeof/* default */.A)(config) === 'object' ? config : {});
            if (typeof config !== 'string') {
              return;
            }
            if (typeof data[config] === 'undefined') {
              throw new TypeError("No method named \"".concat(config, "\""));
            }
            data[config](relatedTarget);
          });
        }
      }]);
    }(BaseComponent);
    /**
     * ------------------------------------------------------------------------
     * Data Api implementation
       EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) {
      const target = getElementFromSelector(this);
         if (['A', 'AREA'].includes(this.tagName)) {
        event.preventDefault();
      }
         EventHandler.one(target, EVENT_SHOW$3, showEvent =&gt; {
        if (showEvent.defaultPrevented) {
          // only register focus restorer if modal will actually get shown
          return;
        }
           EventHandler.one(target, EVENT_HIDDEN$3, () =&gt; {
          if (isVisible(this)) {
            this.focus();
          }
        });
      });
      const data = Modal.getInstance(target) || new Modal(target);
      data.toggle(this);
    });
    /**
     * ------------------------------------------------------------------------
     * jQuery
     * ------------------------------------------------------------------------
     * add .Modal to jQuery only if jQuery is present
     */
    defineJQueryPlugin(NAME$6, Modal);

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): offcanvas.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
     * --------------------------------------------------------------------------
     */
    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */

    var NAME$5 = 'offcanvas';
    var DATA_KEY$5 = 'bs.offcanvas';
    var EVENT_KEY$5 = ".".concat(DATA_KEY$5);
    var ESCAPE_KEY = 'Escape';
    var Default$4 = {
      backdrop: true,
      keyboard: true,
      scroll: false
    };
    var DefaultType$4 = {
      backdrop: 'boolean',
      keyboard: 'boolean',
      scroll: 'boolean'
    };
    var CLASS_NAME_SHOW$4 = 'show';
    var EVENT_SHOW$2 = "show".concat(EVENT_KEY$5);
    var EVENT_SHOWN$2 = "shown".concat(EVENT_KEY$5);
    var EVENT_HIDE$2 = "hide".concat(EVENT_KEY$5);
    var EVENT_HIDDEN$2 = "hidden".concat(EVENT_KEY$5);
    var EVENT_FOCUSIN = "focusin".concat(EVENT_KEY$5);
    var EVENT_CLICK_DISMISS$1 = "click.dismiss".concat(EVENT_KEY$5);
    var EVENT_KEYDOWN_DISMISS = "keydown.dismiss".concat(EVENT_KEY$5);
    var SELECTOR_DATA_DISMISS$1 = '[data-bs-dismiss="offcanvas"]';
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
    var Offcanvas = /*#__PURE__*/function (_BaseComponent7) {
      function Offcanvas(element, config) {
        var _this27;
        (0,classCallCheck/* default */.A)(this, Offcanvas);
        _this27 = _callSuper(this, Offcanvas, [element]);
        _this27._config = _this27._getConfig(config);
        _this27._isShown = false;
        _this27._backdrop = _this27._initializeBackDrop();
        _this27._addEventListeners();
        return _this27;
      } // Getters
      (0,inherits/* default */.A)(Offcanvas, _BaseComponent7);
      return (0,createClass/* default */.A)(Offcanvas, [{
        key: "toggle",
        value:
        // Public

        function toggle(relatedTarget) {
          return this._isShown ? this.hide() : this.show(relatedTarget);
        }
      }, {
        key: "show",
        value: function show(relatedTarget) {
          var _this28 = this;
          if (this._isShown) {
            return;
          }
          var showEvent = EventHandler.trigger(this._element, EVENT_SHOW$2, {
            relatedTarget: relatedTarget
          });
          if (showEvent.defaultPrevented) {
            return;
          }
          this._isShown = true;
          this._element.style.visibility = 'visible';
          this._backdrop.show();
          if (!this._config.scroll) {
            hide();
            this._enforceFocusOnElement(this._element);
          }
          this._element.removeAttribute('aria-hidden');
          this._element.setAttribute('aria-modal', true);
          this._element.setAttribute('role', 'dialog');
          this._element.classList.add(CLASS_NAME_SHOW$4);
          var completeCallBack = function completeCallBack() {
            EventHandler.trigger(_this28._element, EVENT_SHOWN$2, {
              relatedTarget: relatedTarget
            });
          };
          var transitionDuration = getTransitionDurationFromElement(this._element);
          EventHandler.one(this._element, 'transitionend', completeCallBack);
          emulateTransitionEnd(this._element, transitionDuration);
        }
      }, {
        key: "hide",
        value: function hide() {
          var _this29 = this;
          if (!this._isShown) {
            return;
          }
          var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$2);
          if (hideEvent.defaultPrevented) {
            return;
          }
          EventHandler.off(document, EVENT_FOCUSIN);
          this._element.blur();
          this._isShown = false;
          this._element.classList.remove(CLASS_NAME_SHOW$4);
          this._backdrop.hide();
          var completeCallback = function completeCallback() {
            _this29._element.setAttribute('aria-hidden', true);
            _this29._element.removeAttribute('aria-modal');
            _this29._element.removeAttribute('role');
            _this29._element.style.visibility = 'hidden';
            if (!_this29._config.scroll) {
              reset();
            }
            EventHandler.trigger(_this29._element, EVENT_HIDDEN$2);
          };
          var transitionDuration = getTransitionDurationFromElement(this._element);
          EventHandler.one(this._element, 'transitionend', completeCallback);
          emulateTransitionEnd(this._element, transitionDuration);
        }
      }, {
        key: "dispose",
        value: function dispose() {
          this._backdrop.dispose();
          _superPropGet(Offcanvas, "dispose", this, 3)([]);
          EventHandler.off(document, EVENT_FOCUSIN);
          this._config = null;
          this._backdrop = null;
        } // Private
      }, {
        key: "_getConfig",
        value: function _getConfig(config) {
          config = _objectSpread(_objectSpread(_objectSpread({}, Default$4), Manipulator.getDataAttributes(this._element)), (0,esm_typeof/* default */.A)(config) === 'object' ? config : {});
          typeCheckConfig(NAME$5, config, DefaultType$4);
          return config;
        }
      }, {
        key: "_initializeBackDrop",
        value: function _initializeBackDrop() {
          var _this30 = this;
          return new Backdrop({
            isVisible: this._config.backdrop,
            isAnimated: true,
            rootElement: this._element.parentNode,
            clickCallback: function clickCallback() {
              return _this30.hide();
            }
          });
        }
      }, {
        key: "_enforceFocusOnElement",
        value: function _enforceFocusOnElement(element) {
          EventHandler.off(document, EVENT_FOCUSIN); // guard against infinite focus loop

          EventHandler.on(document, EVENT_FOCUSIN, function (event) {
            if (document !== event.target &amp;&amp; element !== event.target &amp;&amp; !element.contains(event.target)) {
              element.focus();
            }
          });
          element.focus();
        }
      }, {
        key: "_addEventListeners",
        value: function _addEventListeners() {
          var _this31 = this;
          EventHandler.on(this._element, EVENT_CLICK_DISMISS$1, SELECTOR_DATA_DISMISS$1, function () {
            return _this31.hide();
          });
          EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, function (event) {
            if (_this31._config.keyboard &amp;&amp; event.key === ESCAPE_KEY) {
              _this31.hide();
            }
          });
        } // Static
      }], [{
        key: "Default",
        get: function get() {
          return Default$4;
        }
      }, {
        key: "DATA_KEY",
        get: function get() {
          return DATA_KEY$5;
        }
      }, {
        key: "jQueryInterface",
        value: function jQueryInterface(config) {
          return this.each(function () {
            var data = Data.get(this, DATA_KEY$5) || new Offcanvas(this, (0,esm_typeof/* default */.A)(config) === 'object' ? config : {});
            if (typeof config !== 'string') {
              return;
            }
            if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {
              throw new TypeError("No method named \"".concat(config, "\""));
            }
            data[config](this);
          });
        }
      }]);
    }(BaseComponent);
    /**
     * ------------------------------------------------------------------------
     * Data Api implementation
     
    EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) {
      const target = getElementFromSelector(this);
         if (['A', 'AREA'].includes(this.tagName)) {
        event.preventDefault();
      }
         if (isDisabled(this)) {
        return;
      }
         EventHandler.one(target, EVENT_HIDDEN$2, () =&gt; {
        // focus on trigger when it is closed
        if (isVisible(this)) {
          this.focus();
        }
      }); // avoid conflict when clicking a toggler of an offcanvas, while another is open
         const allReadyOpen = SelectorEngine.findOne(OPEN_SELECTOR);
         if (allReadyOpen &amp;&amp; allReadyOpen !== target) {
        Offcanvas.getInstance(allReadyOpen).hide();
      }
         const data = Data.get(target, DATA_KEY$5) || new Offcanvas(target);
      data.toggle(this);
    });
    EventHandler.on(window, EVENT_LOAD_DATA_API$1, () =&gt; {
      SelectorEngine.find(OPEN_SELECTOR).forEach(el =&gt; (Data.get(el, DATA_KEY$5) || new Offcanvas(el)).show());
    });
    /**
     * ------------------------------------------------------------------------
     * jQuery
     * ------------------------------------------------------------------------
     */
    defineJQueryPlugin(NAME$5, Offcanvas);

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): util/sanitizer.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    var uriAttrs = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']);
    var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i;
    /**
     * A pattern that recognizes a commonly useful subset of URLs that are safe.
     *
     * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
     */

    var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&amp;/:?]*(?:[#/?]|$))/i;
    /**
     * A pattern that matches safe data URLs. Only matches image, video and audio types.
     *
     * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
     */

    var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;
    var allowedAttribute = function allowedAttribute(attr, allowedAttributeList) {
      var attrName = attr.nodeName.toLowerCase();
      if (allowedAttributeList.includes(attrName)) {
        if (uriAttrs.has(attrName)) {
          return Boolean(SAFE_URL_PATTERN.test(attr.nodeValue) || DATA_URL_PATTERN.test(attr.nodeValue));
        }
        return true;
      }
      var regExp = allowedAttributeList.filter(function (attrRegex) {
        return attrRegex instanceof RegExp;
      }); // Check if a regular expression validates the attribute.

      for (var i = 0, len = regExp.length; i &lt; len; i++) {
        if (regExp[i].test(attrName)) {
          return true;
        }
      }
      return false;
    };
    var DefaultAllowlist = {
      // Global attributes allowed on any supplied element below.
      '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],
      a: ['target', 'href', 'title', 'rel'],
      area: [],
      b: [],
      br: [],
      col: [],
      code: [],
      div: [],
      em: [],
      hr: [],
      h1: [],
      h2: [],
      h3: [],
      h4: [],
      h5: [],
      h6: [],
      i: [],
      img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],
      li: [],
      ol: [],
      p: [],
      pre: [],
      s: [],
      small: [],
      span: [],
      sub: [],
      sup: [],
      strong: [],
      u: [],
      ul: []
    };
    function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {
      var _ref5;
      if (!unsafeHtml.length) {
        return unsafeHtml;
      }
      if (sanitizeFn &amp;&amp; typeof sanitizeFn === 'function') {
        return sanitizeFn(unsafeHtml);
      }
      var domParser = new window.DOMParser();
      var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');
      var allowlistKeys = Object.keys(allowList);
      var elements = (_ref5 = []).concat.apply(_ref5, (0,toConsumableArray/* default */.A)(createdDocument.body.querySelectorAll('*')));
      var _loop = function _loop() {
        var _ref6;
        var el = elements[i];
        var elName = el.nodeName.toLowerCase();
        if (!allowlistKeys.includes(elName)) {
          el.parentNode.removeChild(el);
          return 1; // continue
        }
        var attributeList = (_ref6 = []).concat.apply(_ref6, (0,toConsumableArray/* default */.A)(el.attributes));
        var allowedAttributes = [].concat(allowList['*'] || [], allowList[elName] || []);
        attributeList.forEach(function (attr) {
          if (!allowedAttribute(attr, allowedAttributes)) {
            el.removeAttribute(attr.nodeName);
          }
        });
      };
      for (var i = 0, len = elements.length; i &lt; len; i++) {
        if (_loop()) continue;
      }
      return createdDocument.body.innerHTML;
    }

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): tooltip.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */

    var NAME$4 = 'tooltip';
    var DATA_KEY$4 = 'bs.tooltip';
    var EVENT_KEY$4 = ".".concat(DATA_KEY$4);
    var CLASS_PREFIX$1 = 'bs-tooltip';
    var BSCLS_PREFIX_REGEX$1 = new RegExp("(^|\\s)".concat(CLASS_PREFIX$1, "\\S+"), 'g');
    var DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);
    var DefaultType$3 = {
      animation: 'boolean',
      template: 'string',
      title: '(string|element|function)',
      trigger: 'string',
      delay: '(number|object)',
      html: 'boolean',
      selector: '(string|boolean)',
      placement: '(string|function)',
      offset: '(array|string|function)',
      container: '(string|element|boolean)',
      fallbackPlacements: 'array',
      boundary: '(string|element)',
      customClass: '(string|function)',
      sanitize: 'boolean',
      sanitizeFn: '(null|function)',
      allowList: 'object',
      popperConfig: '(null|object|function)'
    };
    var AttachmentMap = {
      AUTO: 'auto',
      TOP: 'top',
      RIGHT: isRTL() ? 'left' : 'right',
      BOTTOM: 'bottom',
      LEFT: isRTL() ? 'right' : 'left'
    };
    var Default$3 = {
      animation: true,
      template: '&lt;div class="tooltip" role="tooltip"&gt;' + '&lt;div class="tooltip-arrow"&gt;&lt;/div&gt;' + '&lt;div class="tooltip-inner"&gt;&lt;/div&gt;' + '&lt;/div&gt;',
      trigger: 'hover focus',
      title: '',
      delay: 0,
      html: false,
      selector: false,
      placement: 'top',
      offset: [0, 0],
      container: false,
      fallbackPlacements: ['top', 'right', 'bottom', 'left'],
      boundary: 'clippingParents',
      customClass: '',
      sanitize: true,
      sanitizeFn: null,
      allowList: DefaultAllowlist,
      popperConfig: null
    };
    var Event$2 = {
      HIDE: "hide".concat(EVENT_KEY$4),
      HIDDEN: "hidden".concat(EVENT_KEY$4),
      SHOW: "show".concat(EVENT_KEY$4),
      SHOWN: "shown".concat(EVENT_KEY$4),
      INSERTED: "inserted".concat(EVENT_KEY$4),
      CLICK: "click".concat(EVENT_KEY$4),
      FOCUSIN: "focusin".concat(EVENT_KEY$4),
      FOCUSOUT: "focusout".concat(EVENT_KEY$4),
      MOUSEENTER: "mouseenter".concat(EVENT_KEY$4),
      MOUSELEAVE: "mouseleave".concat(EVENT_KEY$4)
    };
    var CLASS_NAME_FADE$3 = 'fade';
    var CLASS_NAME_MODAL = 'modal';
    var CLASS_NAME_SHOW$3 = 'show';
    var HOVER_STATE_SHOW = 'show';
    var HOVER_STATE_OUT = 'out';
    var SELECTOR_TOOLTIP_INNER = '.tooltip-inner';
    var TRIGGER_HOVER = 'hover';
    var TRIGGER_FOCUS = 'focus';
    var TRIGGER_CLICK = 'click';
    var TRIGGER_MANUAL = 'manual';
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
    var Tooltip = /*#__PURE__*/function (_BaseComponent8) {
      function Tooltip(element, config) {
        var _this32;
        (0,classCallCheck/* default */.A)(this, Tooltip);
        if (typeof Popper__namespace === 'undefined') {
          throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)');
        }
        _this32 = _callSuper(this, Tooltip, [element]); // private

        _this32._isEnabled = true;
        _this32._timeout = 0;
        _this32._hoverState = '';
        _this32._activeTrigger = {};
        _this32._popper = null; // Protected

        _this32.config = _this32._getConfig(config);
        _this32.tip = null;
        _this32._setListeners();
        return _this32;
      } // Getters
      (0,inherits/* default */.A)(Tooltip, _BaseComponent8);
      return (0,createClass/* default */.A)(Tooltip, [{
        key: "enable",
        value:
        // Public

        function enable() {
          this._isEnabled = true;
        }
      }, {
        key: "disable",
        value: function disable() {
          this._isEnabled = false;
        }
      }, {
        key: "toggleEnabled",
        value: function toggleEnabled() {
          this._isEnabled = !this._isEnabled;
        }
      }, {
        key: "toggle",
        value: function toggle(event) {
          if (!this._isEnabled) {
            return;
          }
          if (event) {
            var context = this._initializeOnDelegatedTarget(event);
            context._activeTrigger.click = !context._activeTrigger.click;
            if (context._isWithActiveTrigger()) {
              context._enter(null, context);
            } else {
              context._leave(null, context);
            }
          } else {
            if (this.getTipElement().classList.contains(CLASS_NAME_SHOW$3)) {
              this._leave(null, this);
              return;
            }
            this._enter(null, this);
          }
        }
      }, {
        key: "dispose",
        value: function dispose() {
          clearTimeout(this._timeout);
          EventHandler.off(this._element.closest(".".concat(CLASS_NAME_MODAL)), 'hide.bs.modal', this._hideModalHandler);
          if (this.tip &amp;&amp; this.tip.parentNode) {
            this.tip.parentNode.removeChild(this.tip);
          }
          this._isEnabled = null;
          this._timeout = null;
          this._hoverState = null;
          this._activeTrigger = null;
          if (this._popper) {
            this._popper.destroy();
          }
          this._popper = null;
          this.config = null;
          this.tip = null;
          _superPropGet(Tooltip, "dispose", this, 3)([]);
        }
      }, {
        key: "show",
        value: function show() {
          var _this33 = this;
          if (this._element.style.display === 'none') {
            throw new Error('Please use show on visible elements');
          }
          if (!(this.isWithContent() &amp;&amp; this._isEnabled)) {
            return;
          }
          var showEvent = EventHandler.trigger(this._element, this.constructor.Event.SHOW);
          var shadowRoot = _findShadowRoot(this._element);
          var isInTheDom = shadowRoot === null ? this._element.ownerDocument.documentElement.contains(this._element) : shadowRoot.contains(this._element);
          if (showEvent.defaultPrevented || !isInTheDom) {
            return;
          }
          var tip = this.getTipElement();
          var tipId = getUID(this.constructor.NAME);
          tip.setAttribute('id', tipId);
          this._element.setAttribute('aria-describedby', tipId);
          this.setContent();
          if (this.config.animation) {
            tip.classList.add(CLASS_NAME_FADE$3);
          }
          var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this._element) : this.config.placement;
          var attachment = this._getAttachment(placement);
          this._addAttachmentClass(attachment);
          var container = this._getContainer();
          Data.set(tip, this.constructor.DATA_KEY, this);
          if (!this._element.ownerDocument.documentElement.contains(this.tip)) {
            container.appendChild(tip);
            EventHandler.trigger(this._element, this.constructor.Event.INSERTED);
          }
          if (this._popper) {
            this._popper.update();
          } else {
            this._popper = Popper__namespace.createPopper(this._element, tip, this._getPopperConfig(attachment));
          }
          tip.classList.add(CLASS_NAME_SHOW$3);
          var customClass = typeof this.config.customClass === 'function' ? this.config.customClass() : this.config.customClass;
          if (customClass) {
            var _tip$classList;
            (_tip$classList = tip.classList).add.apply(_tip$classList, (0,toConsumableArray/* default */.A)(customClass.split(' ')));
          } // If this is a touch-enabled device we add extra
          // empty mouseover listeners to the body's immediate children;
          // only needed because of broken event delegation on iOS
          // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html

          if ('ontouchstart' in document.documentElement) {
            var _ref7;
            (_ref7 = []).concat.apply(_ref7, (0,toConsumableArray/* default */.A)(document.body.children)).forEach(function (element) {
              EventHandler.on(element, 'mouseover', noop);
            });
          }
          var complete = function complete() {
            var prevHoverState = _this33._hoverState;
            _this33._hoverState = null;
            EventHandler.trigger(_this33._element, _this33.constructor.Event.SHOWN);
            if (prevHoverState === HOVER_STATE_OUT) {
              _this33._leave(null, _this33);
            }
          };
          if (this.tip.classList.contains(CLASS_NAME_FADE$3)) {
            var transitionDuration = getTransitionDurationFromElement(this.tip);
            EventHandler.one(this.tip, 'transitionend', complete);
            emulateTransitionEnd(this.tip, transitionDuration);
          } else {
            complete();
          }
        }
      }, {
        key: "hide",
        value: function hide() {
          var _this34 = this;
          if (!this._popper) {
            return;
          }
          var tip = this.getTipElement();
          var complete = function complete() {
            if (_this34._isWithActiveTrigger()) {
              return;
            }
            if (_this34._hoverState !== HOVER_STATE_SHOW &amp;&amp; tip.parentNode) {
              tip.parentNode.removeChild(tip);
            }
            _this34._cleanTipClass();
            _this34._element.removeAttribute('aria-describedby');
            EventHandler.trigger(_this34._element, _this34.constructor.Event.HIDDEN);
            if (_this34._popper) {
              _this34._popper.destroy();
              _this34._popper = null;
            }
          };
          var hideEvent = EventHandler.trigger(this._element, this.constructor.Event.HIDE);
          if (hideEvent.defaultPrevented) {
            return;
          }
          tip.classList.remove(CLASS_NAME_SHOW$3); // If this is a touch-enabled device we remove the extra
          // empty mouseover listeners we added for iOS support

          if ('ontouchstart' in document.documentElement) {
            var _ref8;
            (_ref8 = []).concat.apply(_ref8, (0,toConsumableArray/* default */.A)(document.body.children)).forEach(function (element) {
              return EventHandler.off(element, 'mouseover', noop);
            });
          }
          this._activeTrigger[TRIGGER_CLICK] = false;
          this._activeTrigger[TRIGGER_FOCUS] = false;
          this._activeTrigger[TRIGGER_HOVER] = false;
          if (this.tip.classList.contains(CLASS_NAME_FADE$3)) {
            var transitionDuration = getTransitionDurationFromElement(tip);
            EventHandler.one(tip, 'transitionend', complete);
            emulateTransitionEnd(tip, transitionDuration);
          } else {
            complete();
          }
          this._hoverState = '';
        }
      }, {
        key: "update",
        value: function update() {
          if (this._popper !== null) {
            this._popper.update();
          }
        } // Protected
      }, {
        key: "isWithContent",
        value: function isWithContent() {
          return Boolean(this.getTitle());
        }
      }, {
        key: "getTipElement",
        value: function getTipElement() {
          if (this.tip) {
            return this.tip;
          }
          var element = document.createElement('div');
          element.innerHTML = this.config.template;
          this.tip = element.children[0];
          return this.tip;
        }
      }, {
        key: "setContent",
        value: function setContent() {
          var tip = this.getTipElement();
          this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle());
          tip.classList.remove(CLASS_NAME_FADE$3, CLASS_NAME_SHOW$3);
        }
      }, {
        key: "setElementContent",
        value: function setElementContent(element, content) {
          if (element === null) {
            return;
          }
          if ((0,esm_typeof/* default */.A)(content) === 'object' &amp;&amp; isElement(content)) {
            if (content.jquery) {
              content = content[0];
            } // content is a DOM node or a jQuery

            if (this.config.html) {
              if (content.parentNode !== element) {
                element.innerHTML = '';
                element.appendChild(content);
              }
            } else {
              element.textContent = content.textContent;
            }
            return;
          }
          if (this.config.html) {
            if (this.config.sanitize) {
              content = sanitizeHtml(content, this.config.allowList, this.config.sanitizeFn);
            }
            element.innerHTML = content;
          } else {
            element.textContent = content;
          }
        }
      }, {
        key: "getTitle",
        value: function getTitle() {
          var title = this._element.getAttribute('data-bs-original-title');
          if (!title) {
            title = typeof this.config.title === 'function' ? this.config.title.call(this._element) : this.config.title;
          }
          return title;
        }
      }, {
        key: "updateAttachment",
        value: function updateAttachment(attachment) {
          if (attachment === 'right') {
            return 'end';
          }
          if (attachment === 'left') {
            return 'start';
          }
          return attachment;
        } // Private
      }, {
        key: "_initializeOnDelegatedTarget",
        value: function _initializeOnDelegatedTarget(event, context) {
          var dataKey = this.constructor.DATA_KEY;
          context = context || Data.get(event.delegateTarget, dataKey);
          if (!context) {
            context = new this.constructor(event.delegateTarget, this._getDelegateConfig());
            Data.set(event.delegateTarget, dataKey, context);
          }
          return context;
        }
      }, {
        key: "_getOffset",
        value: function _getOffset() {
          var _this35 = this;
          var offset = this.config.offset;
          if (typeof offset === 'string') {
            return offset.split(',').map(function (val) {
              return Number.parseInt(val, 10);
            });
          }
          if (typeof offset === 'function') {
            return function (popperData) {
              return offset(popperData, _this35._element);
            };
          }
          return offset;
        }
      }, {
        key: "_getPopperConfig",
        value: function _getPopperConfig(attachment) {
          var _this36 = this;
          var defaultBsPopperConfig = {
            placement: attachment,
            modifiers: [{
              name: 'flip',
              options: {
                fallbackPlacements: this.config.fallbackPlacements
              }
            }, {
              name: 'offset',
              options: {
                offset: this._getOffset()
              }
            }, {
              name: 'preventOverflow',
              options: {
                boundary: this.config.boundary
              }
            }, {
              name: 'arrow',
              options: {
                element: ".".concat(this.constructor.NAME, "-arrow")
              }
            }, {
              name: 'onChange',
              enabled: true,
              phase: 'afterWrite',
              fn: function fn(data) {
                return _this36._handlePopperPlacementChange(data);
              }
            }],
            onFirstUpdate: function onFirstUpdate(data) {
              if (data.options.placement !== data.placement) {
                _this36._handlePopperPlacementChange(data);
              }
            }
          };
          return _objectSpread(_objectSpread({}, defaultBsPopperConfig), typeof this.config.popperConfig === 'function' ? this.config.popperConfig(defaultBsPopperConfig) : this.config.popperConfig);
        }
      }, {
        key: "_addAttachmentClass",
        value: function _addAttachmentClass(attachment) {
          this.getTipElement().classList.add("".concat(CLASS_PREFIX$1, "-").concat(this.updateAttachment(attachment)));
        }
      }, {
        key: "_getContainer",
        value: function _getContainer() {
          if (this.config.container === false) {
            return document.body;
          }
          if (isElement(this.config.container)) {
            return this.config.container;
          }
          return SelectorEngine.findOne(this.config.container);
        }
      }, {
        key: "_getAttachment",
        value: function _getAttachment(placement) {
          return AttachmentMap[placement.toUpperCase()];
        }
      }, {
        key: "_setListeners",
        value: function _setListeners() {
          var _this37 = this;
          var triggers = this.config.trigger.split(' ');
          triggers.forEach(function (trigger) {
            if (trigger === 'click') {
              EventHandler.on(_this37._element, _this37.constructor.Event.CLICK, _this37.config.selector, function (event) {
                return _this37.toggle(event);
              });
            } else if (trigger !== TRIGGER_MANUAL) {
              var eventIn = trigger === TRIGGER_HOVER ? _this37.constructor.Event.MOUSEENTER : _this37.constructor.Event.FOCUSIN;
              var eventOut = trigger === TRIGGER_HOVER ? _this37.constructor.Event.MOUSELEAVE : _this37.constructor.Event.FOCUSOUT;
              EventHandler.on(_this37._element, eventIn, _this37.config.selector, function (event) {
                return _this37._enter(event);
              });
              EventHandler.on(_this37._element, eventOut, _this37.config.selector, function (event) {
                return _this37._leave(event);
              });
            }
          });
          this._hideModalHandler = function () {
            if (_this37._element) {
              _this37.hide();
            }
          };
          EventHandler.on(this._element.closest(".".concat(CLASS_NAME_MODAL)), 'hide.bs.modal', this._hideModalHandler);
          if (this.config.selector) {
            this.config = _objectSpread(_objectSpread({}, this.config), {}, {
              trigger: 'manual',
              selector: ''
            });
          } else {
            this._fixTitle();
          }
        }
      }, {
        key: "_fixTitle",
        value: function _fixTitle() {
          var title = this._element.getAttribute('title');
          var originalTitleType = (0,esm_typeof/* default */.A)(this._element.getAttribute('data-bs-original-title'));
          if (title || originalTitleType !== 'string') {
            this._element.setAttribute('data-bs-original-title', title || '');
            if (title &amp;&amp; !this._element.getAttribute('aria-label') &amp;&amp; !this._element.textContent) {
              this._element.setAttribute('aria-label', title);
            }
            this._element.setAttribute('title', '');
          }
        }
      }, {
        key: "_enter",
        value: function _enter(event, context) {
          context = this._initializeOnDelegatedTarget(event, context);
          if (event) {
            context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;
          }
          if (context.getTipElement().classList.contains(CLASS_NAME_SHOW$3) || context._hoverState === HOVER_STATE_SHOW) {
            context._hoverState = HOVER_STATE_SHOW;
            return;
          }
          clearTimeout(context._timeout);
          context._hoverState = HOVER_STATE_SHOW;
          if (!context.config.delay || !context.config.delay.show) {
            context.show();
            return;
          }
          context._timeout = setTimeout(function () {
            if (context._hoverState === HOVER_STATE_SHOW) {
              context.show();
            }
          }, context.config.delay.show);
        }
      }, {
        key: "_leave",
        value: function _leave(event, context) {
          context = this._initializeOnDelegatedTarget(event, context);
          if (event) {
            context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget);
          }
          if (context._isWithActiveTrigger()) {
            return;
          }
          clearTimeout(context._timeout);
          context._hoverState = HOVER_STATE_OUT;
          if (!context.config.delay || !context.config.delay.hide) {
            context.hide();
            return;
          }
          context._timeout = setTimeout(function () {
            if (context._hoverState === HOVER_STATE_OUT) {
              context.hide();
            }
          }, context.config.delay.hide);
        }
      }, {
        key: "_isWithActiveTrigger",
        value: function _isWithActiveTrigger() {
          for (var trigger in this._activeTrigger) {
            if (this._activeTrigger[trigger]) {
              return true;
            }
          }
          return false;
        }
      }, {
        key: "_getConfig",
        value: function _getConfig(config) {
          var dataAttributes = Manipulator.getDataAttributes(this._element);
          Object.keys(dataAttributes).forEach(function (dataAttr) {
            if (DISALLOWED_ATTRIBUTES.has(dataAttr)) {
              delete dataAttributes[dataAttr];
            }
          });
          if (config &amp;&amp; (0,esm_typeof/* default */.A)(config.container) === 'object' &amp;&amp; config.container.jquery) {
            config.container = config.container[0];
          }
          config = _objectSpread(_objectSpread(_objectSpread({}, this.constructor.Default), dataAttributes), (0,esm_typeof/* default */.A)(config) === 'object' &amp;&amp; config ? config : {});
          if (typeof config.delay === 'number') {
            config.delay = {
              show: config.delay,
              hide: config.delay
            };
          }
          if (typeof config.title === 'number') {
            config.title = config.title.toString();
          }
          if (typeof config.content === 'number') {
            config.content = config.content.toString();
          }
          typeCheckConfig(NAME$4, config, this.constructor.DefaultType);
          if (config.sanitize) {
            config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn);
          }
          return config;
        }
      }, {
        key: "_getDelegateConfig",
        value: function _getDelegateConfig() {
          var config = {};
          if (this.config) {
            for (var key in this.config) {
              if (this.constructor.Default[key] !== this.config[key]) {
                config[key] = this.config[key];
              }
            }
          }
          return config;
        }
      }, {
        key: "_cleanTipClass",
        value: function _cleanTipClass() {
          var tip = this.getTipElement();
          var tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX$1);
          if (tabClass !== null &amp;&amp; tabClass.length &gt; 0) {
            tabClass.map(function (token) {
              return token.trim();
            }).forEach(function (tClass) {
              return tip.classList.remove(tClass);
            });
          }
        }
      }, {
        key: "_handlePopperPlacementChange",
        value: function _handlePopperPlacementChange(popperData) {
          var state = popperData.state;
          if (!state) {
            return;
          }
          this.tip = state.elements.popper;
          this._cleanTipClass();
          this._addAttachmentClass(this._getAttachment(state.placement));
        } // Static
      }], [{
        key: "Default",
        get: function get() {
          return Default$3;
        }
      }, {
        key: "NAME",
        get: function get() {
          return NAME$4;
        }
      }, {
        key: "DATA_KEY",
        get: function get() {
          return DATA_KEY$4;
        }
      }, {
        key: "Event",
        get: function get() {
          return Event$2;
        }
      }, {
        key: "EVENT_KEY",
        get: function get() {
          return EVENT_KEY$4;
        }
      }, {
        key: "DefaultType",
        get: function get() {
          return DefaultType$3;
        }
      }, {
        key: "jQueryInterface",
        value: function jQueryInterface(config) {
          return this.each(function () {
            var data = Data.get(this, DATA_KEY$4);
            var _config = (0,esm_typeof/* default */.A)(config) === 'object' &amp;&amp; config;
            if (!data &amp;&amp; /dispose|hide/.test(config)) {
              return;
            }
            if (!data) {
              data = new Tooltip(this, _config);
            }
            if (typeof config === 'string') {
              if (typeof data[config] === 'undefined') {
                throw new TypeError("No method named \"".concat(config, "\""));
              }
              data[config]();
            }
          });
        }
      }]);
    }(BaseComponent);
    /**
     * ------------------------------------------------------------------------
     * jQuery
     * ------------------------------------------------------------------------
     * add .Tooltip to jQuery only if jQuery is present
     */
    defineJQueryPlugin(NAME$4, Tooltip);

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): popover.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */

    var NAME$3 = 'popover';
    var DATA_KEY$3 = 'bs.popover';
    var EVENT_KEY$3 = ".".concat(DATA_KEY$3);
    var CLASS_PREFIX = 'bs-popover';
    var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)".concat(CLASS_PREFIX, "\\S+"), 'g');
    var Default$2 = _objectSpread(_objectSpread({}, Tooltip.Default), {}, {
      placement: 'right',
      offset: [0, 8],
      trigger: 'click',
      content: '',
      template: '&lt;div class="popover" role="tooltip"&gt;' + '&lt;div class="popover-arrow"&gt;&lt;/div&gt;' + '&lt;h3 class="popover-header"&gt;&lt;/h3&gt;' + '&lt;div class="popover-body"&gt;&lt;/div&gt;' + '&lt;/div&gt;'
    });
    var DefaultType$2 = _objectSpread(_objectSpread({}, Tooltip.DefaultType), {}, {
      content: '(string|element|function)'
    });
    var Event$1 = {
      HIDE: "hide".concat(EVENT_KEY$3),
      HIDDEN: "hidden".concat(EVENT_KEY$3),
      SHOW: "show".concat(EVENT_KEY$3),
      SHOWN: "shown".concat(EVENT_KEY$3),
      INSERTED: "inserted".concat(EVENT_KEY$3),
      CLICK: "click".concat(EVENT_KEY$3),
      FOCUSIN: "focusin".concat(EVENT_KEY$3),
      FOCUSOUT: "focusout".concat(EVENT_KEY$3),
      MOUSEENTER: "mouseenter".concat(EVENT_KEY$3),
      MOUSELEAVE: "mouseleave".concat(EVENT_KEY$3)
    };
    var CLASS_NAME_FADE$2 = 'fade';
    var CLASS_NAME_SHOW$2 = 'show';
    var SELECTOR_TITLE = '.popover-header';
    var SELECTOR_CONTENT = '.popover-body';
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
    var Popover = /*#__PURE__*/function (_Tooltip) {
      function Popover() {
        (0,classCallCheck/* default */.A)(this, Popover);
        return _callSuper(this, Popover, arguments);
      }
      (0,inherits/* default */.A)(Popover, _Tooltip);
      return (0,createClass/* default */.A)(Popover, [{
        key: "isWithContent",
        value:
        // Overrides

        function isWithContent() {
          return this.getTitle() || this._getContent();
        }
      }, {
        key: "setContent",
        value: function setContent() {
          var tip = this.getTipElement(); // we use append for html objects to maintain js events

          this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle());
          var content = this._getContent();
          if (typeof content === 'function') {
            content = content.call(this._element);
          }
          this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content);
          tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2);
        } // Private
      }, {
        key: "_addAttachmentClass",
        value: function _addAttachmentClass(attachment) {
          this.getTipElement().classList.add("".concat(CLASS_PREFIX, "-").concat(this.updateAttachment(attachment)));
        }
      }, {
        key: "_getContent",
        value: function _getContent() {
          return this._element.getAttribute('data-bs-content') || this.config.content;
        }
      }, {
        key: "_cleanTipClass",
        value: function _cleanTipClass() {
          var tip = this.getTipElement();
          var tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX);
          if (tabClass !== null &amp;&amp; tabClass.length &gt; 0) {
            tabClass.map(function (token) {
              return token.trim();
            }).forEach(function (tClass) {
              return tip.classList.remove(tClass);
            });
          }
        } // Static
      }], [{
        key: "Default",
        get:
        // Getters
        function get() {
          return Default$2;
        }
      }, {
        key: "NAME",
        get: function get() {
          return NAME$3;
        }
      }, {
        key: "DATA_KEY",
        get: function get() {
          return DATA_KEY$3;
        }
      }, {
        key: "Event",
        get: function get() {
          return Event$1;
        }
      }, {
        key: "EVENT_KEY",
        get: function get() {
          return EVENT_KEY$3;
        }
      }, {
        key: "DefaultType",
        get: function get() {
          return DefaultType$2;
        }
      }, {
        key: "jQueryInterface",
        value: function jQueryInterface(config) {
          return this.each(function () {
            var data = Data.get(this, DATA_KEY$3);
            var _config = (0,esm_typeof/* default */.A)(config) === 'object' ? config : null;
            if (!data &amp;&amp; /dispose|hide/.test(config)) {
              return;
            }
            if (!data) {
              data = new Popover(this, _config);
              Data.set(this, DATA_KEY$3, data);
            }
            if (typeof config === 'string') {
              if (typeof data[config] === 'undefined') {
                throw new TypeError("No method named \"".concat(config, "\""));
              }
              data[config]();
            }
          });
        }
      }]);
    }(Tooltip);
    /**
     * ------------------------------------------------------------------------
     * jQuery
     * ------------------------------------------------------------------------
     * add .Popover to jQuery only if jQuery is present
     */
    defineJQueryPlugin(NAME$3, Popover);

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): scrollspy.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */

    var NAME$2 = 'scrollspy';
    var DATA_KEY$2 = 'bs.scrollspy';
    var EVENT_KEY$2 = ".".concat(DATA_KEY$2);
    var Default$1 = {
      offset: 10,
      method: 'auto',
      target: ''
    };
    var DefaultType$1 = {
      offset: 'number',
      method: 'string',
      target: '(string|element)'
    };
    var EVENT_ACTIVATE = "activate".concat(EVENT_KEY$2);
    var EVENT_SCROLL = "scroll".concat(EVENT_KEY$2);
    var CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
    var CLASS_NAME_ACTIVE$1 = 'active';
    var SELECTOR_NAV_LIST_GROUP$1 = '.nav, .list-group';
    var SELECTOR_NAV_LINKS = '.nav-link';
    var SELECTOR_NAV_ITEMS = '.nav-item';
    var SELECTOR_LIST_ITEMS = '.list-group-item';
    var SELECTOR_DROPDOWN$1 = '.dropdown';
    var SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
    var METHOD_OFFSET = 'offset';
    var METHOD_POSITION = 'position';
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
    var ScrollSpy = /*#__PURE__*/function (_BaseComponent9) {
      function ScrollSpy(element, config) {
        var _this38;
        (0,classCallCheck/* default */.A)(this, ScrollSpy);
        _this38 = _callSuper(this, ScrollSpy, [element]);
        _this38._scrollElement = _this38._element.tagName === 'BODY' ? window : _this38._element;
        _this38._config = _this38._getConfig(config);
        _this38._selector = "".concat(_this38._config.target, " ").concat(SELECTOR_NAV_LINKS, ", ").concat(_this38._config.target, " ").concat(SELECTOR_LIST_ITEMS, ", ").concat(_this38._config.target, " .").concat(CLASS_NAME_DROPDOWN_ITEM);
        _this38._offsets = [];
        _this38._targets = [];
        _this38._activeTarget = null;
        _this38._scrollHeight = 0;
        EventHandler.on(_this38._scrollElement, EVENT_SCROLL, function () {
          return _this38._process();
        });
        _this38.refresh();
        _this38._process();
        return _this38;
      } // Getters
      (0,inherits/* default */.A)(ScrollSpy, _BaseComponent9);
      return (0,createClass/* default */.A)(ScrollSpy, [{
        key: "refresh",
        value:
        // Public

        function refresh() {
          var _this39 = this;
          var autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;
          var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
          var offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;
          this._offsets = [];
          this._targets = [];
          this._scrollHeight = this._getScrollHeight();
          var targets = SelectorEngine.find(this._selector);
          targets.map(function (element) {
            var targetSelector = getSelectorFromElement(element);
            var target = targetSelector ? SelectorEngine.findOne(targetSelector) : null;
            if (target) {
              var targetBCR = target.getBoundingClientRect();
              if (targetBCR.width || targetBCR.height) {
                return [Manipulator[offsetMethod](target).top + offsetBase, targetSelector];
              }
            }
            return null;
          }).filter(function (item) {
            return item;
          }).sort(function (a, b) {
            return a[0] - b[0];
          }).forEach(function (item) {
            _this39._offsets.push(item[0]);
            _this39._targets.push(item[1]);
          });
        }
      }, {
        key: "dispose",
        value: function dispose() {
          _superPropGet(ScrollSpy, "dispose", this, 3)([]);
          EventHandler.off(this._scrollElement, EVENT_KEY$2);
          this._scrollElement = null;
          this._config = null;
          this._selector = null;
          this._offsets = null;
          this._targets = null;
          this._activeTarget = null;
          this._scrollHeight = null;
        } // Private
      }, {
        key: "_getConfig",
        value: function _getConfig(config) {
          config = _objectSpread(_objectSpread(_objectSpread({}, Default$1), Manipulator.getDataAttributes(this._element)), (0,esm_typeof/* default */.A)(config) === 'object' &amp;&amp; config ? config : {});
          if (typeof config.target !== 'string' &amp;&amp; isElement(config.target)) {
            var id = config.target.id;
            if (!id) {
              id = getUID(NAME$2);
              config.target.id = id;
            }
            config.target = "#".concat(id);
          }
          typeCheckConfig(NAME$2, config, DefaultType$1);
          return config;
        }
      }, {
        key: "_getScrollTop",
        value: function _getScrollTop() {
          return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
        }
      }, {
        key: "_getScrollHeight",
        value: function _getScrollHeight() {
          return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
        }
      }, {
        key: "_getOffsetHeight",
        value: function _getOffsetHeight() {
          return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
        }
      }, {
        key: "_process",
        value: function _process() {
          var scrollTop = this._getScrollTop() + this._config.offset;
          var scrollHeight = this._getScrollHeight();
          var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
          if (this._scrollHeight !== scrollHeight) {
            this.refresh();
          }
          if (scrollTop &gt;= maxScroll) {
            var target = this._targets[this._targets.length - 1];
            if (this._activeTarget !== target) {
              this._activate(target);
            }
            return;
          }
          if (this._activeTarget &amp;&amp; scrollTop &lt; this._offsets[0] &amp;&amp; this._offsets[0] &gt; 0) {
            this._activeTarget = null;
            this._clear();
            return;
          }
          for (var i = this._offsets.length; i--;) {
            var isActiveTarget = this._activeTarget !== this._targets[i] &amp;&amp; scrollTop &gt;= this._offsets[i] &amp;&amp; (typeof this._offsets[i + 1] === 'undefined' || scrollTop &lt; this._offsets[i + 1]);
            if (isActiveTarget) {
              this._activate(this._targets[i]);
            }
          }
        }
      }, {
        key: "_activate",
        value: function _activate(target) {
          this._activeTarget = target;
          this._clear();
          var queries = this._selector.split(',').map(function (selector) {
            return "".concat(selector, "[data-bs-target=\"").concat(target, "\"],").concat(selector, "[href=\"").concat(target, "\"]");
          });
          var link = SelectorEngine.findOne(queries.join(','));
          if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {
            SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, link.closest(SELECTOR_DROPDOWN$1)).classList.add(CLASS_NAME_ACTIVE$1);
            link.classList.add(CLASS_NAME_ACTIVE$1);
          } else {
            // Set triggered link as active
            link.classList.add(CLASS_NAME_ACTIVE$1);
            SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP$1).forEach(function (listGroup) {
              // Set triggered links parents as active
              // With both &lt;ul&gt; and &lt;nav&gt; markup a parent is the previous sibling of any nav ancestor
              SelectorEngine.prev(listGroup, "".concat(SELECTOR_NAV_LINKS, ", ").concat(SELECTOR_LIST_ITEMS)).forEach(function (item) {
                return item.classList.add(CLASS_NAME_ACTIVE$1);
              }); // Handle special case when .nav-link is inside .nav-item

              SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS).forEach(function (navItem) {
                SelectorEngine.children(navItem, SELECTOR_NAV_LINKS).forEach(function (item) {
                  return item.classList.add(CLASS_NAME_ACTIVE$1);
                });
              });
            });
          }
          EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {
            relatedTarget: target
          });
        }
      }, {
        key: "_clear",
        value: function _clear() {
          SelectorEngine.find(this._selector).filter(function (node) {
            return node.classList.contains(CLASS_NAME_ACTIVE$1);
          }).forEach(function (node) {
            return node.classList.remove(CLASS_NAME_ACTIVE$1);
          });
        } // Static
      }], [{
        key: "Default",
        get: function get() {
          return Default$1;
        }
      }, {
        key: "DATA_KEY",
        get: function get() {
          return DATA_KEY$2;
        }
      }, {
        key: "jQueryInterface",
        value: function jQueryInterface(config) {
          return this.each(function () {
            var data = ScrollSpy.getInstance(this) || new ScrollSpy(this, (0,esm_typeof/* default */.A)(config) === 'object' ? config : {});
            if (typeof config !== 'string') {
              return;
            }
            if (typeof data[config] === 'undefined') {
              throw new TypeError("No method named \"".concat(config, "\""));
            }
            data[config]();
          });
        }
      }]);
    }(BaseComponent);
    /**
     * ------------------------------------------------------------------------
     * Data Api implementation
     
    EventHandler.on(window, EVENT_LOAD_DATA_API, () =&gt; {
      SelectorEngine.find(SELECTOR_DATA_SPY).forEach(spy =&gt; new ScrollSpy(spy));
    });
    /**
     * ------------------------------------------------------------------------
     * jQuery
     * ------------------------------------------------------------------------
     * add .ScrollSpy to jQuery only if jQuery is present
     */
    defineJQueryPlugin(NAME$2, ScrollSpy);

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): tab.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */

    var NAME$1 = 'tab';
    var DATA_KEY$1 = 'bs.tab';
    var EVENT_KEY$1 = ".".concat(DATA_KEY$1);
    var EVENT_HIDE$1 = "hide".concat(EVENT_KEY$1);
    var EVENT_HIDDEN$1 = "hidden".concat(EVENT_KEY$1);
    var EVENT_SHOW$1 = "show".concat(EVENT_KEY$1);
    var EVENT_SHOWN$1 = "shown".concat(EVENT_KEY$1);
    var CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';
    var CLASS_NAME_ACTIVE = 'active';
    var CLASS_NAME_FADE$1 = 'fade';
    var CLASS_NAME_SHOW$1 = 'show';
    var SELECTOR_DROPDOWN = '.dropdown';
    var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
    var SELECTOR_ACTIVE = '.active';
    var SELECTOR_ACTIVE_UL = ':scope &gt; li &gt; .active';
    var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
    var SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope &gt; .dropdown-menu .active';
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
    var Tab = /*#__PURE__*/function (_BaseComponent10) {
      function Tab() {
        (0,classCallCheck/* default */.A)(this, Tab);
        return _callSuper(this, Tab, arguments);
      }
      (0,inherits/* default */.A)(Tab, _BaseComponent10);
      return (0,createClass/* default */.A)(Tab, [{
        key: "show",
        value:
        // Public

        function show() {
          var _this40 = this;
          if (this._element.parentNode &amp;&amp; this._element.parentNode.nodeType === Node.ELEMENT_NODE &amp;&amp; this._element.classList.contains(CLASS_NAME_ACTIVE)) {
            return;
          }
          var previous;
          var target = getElementFromSelector(this._element);
          var listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP);
          if (listElement) {
            var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE;
            previous = SelectorEngine.find(itemSelector, listElement);
            previous = previous[previous.length - 1];
          }
          var hideEvent = previous ? EventHandler.trigger(previous, EVENT_HIDE$1, {
            relatedTarget: this._element
          }) : null;
          var showEvent = EventHandler.trigger(this._element, EVENT_SHOW$1, {
            relatedTarget: previous
          });
          if (showEvent.defaultPrevented || hideEvent !== null &amp;&amp; hideEvent.defaultPrevented) {
            return;
          }
          this._activate(this._element, listElement);
          var complete = function complete() {
            EventHandler.trigger(previous, EVENT_HIDDEN$1, {
              relatedTarget: _this40._element
            });
            EventHandler.trigger(_this40._element, EVENT_SHOWN$1, {
              relatedTarget: previous
            });
          };
          if (target) {
            this._activate(target, target.parentNode, complete);
          } else {
            complete();
          }
        } // Private
      }, {
        key: "_activate",
        value: function _activate(element, container, callback) {
          var _this41 = this;
          var activeElements = container &amp;&amp; (container.nodeName === 'UL' || container.nodeName === 'OL') ? SelectorEngine.find(SELECTOR_ACTIVE_UL, container) : SelectorEngine.children(container, SELECTOR_ACTIVE);
          var active = activeElements[0];
          var isTransitioning = callback &amp;&amp; active &amp;&amp; active.classList.contains(CLASS_NAME_FADE$1);
          var complete = function complete() {
            return _this41._transitionComplete(element, active, callback);
          };
          if (active &amp;&amp; isTransitioning) {
            var transitionDuration = getTransitionDurationFromElement(active);
            active.classList.remove(CLASS_NAME_SHOW$1);
            EventHandler.one(active, 'transitionend', complete);
            emulateTransitionEnd(active, transitionDuration);
          } else {
            complete();
          }
        }
      }, {
        key: "_transitionComplete",
        value: function _transitionComplete(element, active, callback) {
          if (active) {
            active.classList.remove(CLASS_NAME_ACTIVE);
            var dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode);
            if (dropdownChild) {
              dropdownChild.classList.remove(CLASS_NAME_ACTIVE);
            }
            if (active.getAttribute('role') === 'tab') {
              active.setAttribute('aria-selected', false);
            }
          }
          element.classList.add(CLASS_NAME_ACTIVE);
          if (element.getAttribute('role') === 'tab') {
            element.setAttribute('aria-selected', true);
          }
          reflow(element);
          if (element.classList.contains(CLASS_NAME_FADE$1)) {
            element.classList.add(CLASS_NAME_SHOW$1);
          }
          var parent = element.parentNode;
          if (parent &amp;&amp; parent.nodeName === 'LI') {
            parent = parent.parentNode;
          }
          if (parent &amp;&amp; parent.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {
            var dropdownElement = element.closest(SELECTOR_DROPDOWN);
            if (dropdownElement) {
              SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE, dropdownElement).forEach(function (dropdown) {
                return dropdown.classList.add(CLASS_NAME_ACTIVE);
              });
            }
            element.setAttribute('aria-expanded', true);
          }
          if (callback) {
            callback();
          }
        } // Static
      }], [{
        key: "DATA_KEY",
        get:
        // Getters
        function get() {
          return DATA_KEY$1;
        }
      }, {
        key: "jQueryInterface",
        value: function jQueryInterface(config) {
          return this.each(function () {
            var data = Data.get(this, DATA_KEY$1) || new Tab(this);
            if (typeof config === 'string') {
              if (typeof data[config] === 'undefined') {
                throw new TypeError("No method named \"".concat(config, "\""));
              }
              data[config]();
            }
          });
        }
      }]);
    }(BaseComponent);
    /**
     * ------------------------------------------------------------------------
     * Data Api implementation
     
    EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
      if (['A', 'AREA'].includes(this.tagName)) {
        event.preventDefault();
      }
         if (isDisabled(this)) {
        return;
      }
         const data = Data.get(this, DATA_KEY$1) || new Tab(this);
      data.show();
    });
    /**
     * ------------------------------------------------------------------------
     * jQuery
     * ------------------------------------------------------------------------
     * add .Tab to jQuery only if jQuery is present
     */
    defineJQueryPlugin(NAME$1, Tab);

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): toast.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */

    var NAME = 'toast';
    var DATA_KEY = 'bs.toast';
    var EVENT_KEY = ".".concat(DATA_KEY);
    var EVENT_CLICK_DISMISS = "click.dismiss".concat(EVENT_KEY);
    var EVENT_HIDE = "hide".concat(EVENT_KEY);
    var EVENT_HIDDEN = "hidden".concat(EVENT_KEY);
    var EVENT_SHOW = "show".concat(EVENT_KEY);
    var EVENT_SHOWN = "shown".concat(EVENT_KEY);
    var CLASS_NAME_FADE = 'fade';
    var CLASS_NAME_HIDE = 'hide';
    var CLASS_NAME_SHOW = 'show';
    var CLASS_NAME_SHOWING = 'showing';
    var DefaultType = {
      animation: 'boolean',
      autohide: 'boolean',
      delay: 'number'
    };
    var Default = {
      animation: true,
      autohide: true,
      delay: 5000
    };
    var SELECTOR_DATA_DISMISS = '[data-bs-dismiss="toast"]';
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
    var Toast = /*#__PURE__*/function (_BaseComponent11) {
      function Toast(element, config) {
        var _this42;
        (0,classCallCheck/* default */.A)(this, Toast);
        _this42 = _callSuper(this, Toast, [element]);
        _this42._config = _this42._getConfig(config);
        _this42._timeout = null;
        _this42._setListeners();
        return _this42;
      } // Getters
      (0,inherits/* default */.A)(Toast, _BaseComponent11);
      return (0,createClass/* default */.A)(Toast, [{
        key: "show",
        value:
        // Public

        function show() {
          var _this43 = this;
          var showEvent = EventHandler.trigger(this._element, EVENT_SHOW);
          if (showEvent.defaultPrevented) {
            return;
          }
          this._clearTimeout();
          if (this._config.animation) {
            this._element.classList.add(CLASS_NAME_FADE);
          }
          var complete = function complete() {
            _this43._element.classList.remove(CLASS_NAME_SHOWING);
            _this43._element.classList.add(CLASS_NAME_SHOW);
            EventHandler.trigger(_this43._element, EVENT_SHOWN);
            if (_this43._config.autohide) {
              _this43._timeout = setTimeout(function () {
                _this43.hide();
              }, _this43._config.delay);
            }
          };
          this._element.classList.remove(CLASS_NAME_HIDE);
          reflow(this._element);
          this._element.classList.add(CLASS_NAME_SHOWING);
          if (this._config.animation) {
            var transitionDuration = getTransitionDurationFromElement(this._element);
            EventHandler.one(this._element, 'transitionend', complete);
            emulateTransitionEnd(this._element, transitionDuration);
          } else {
            complete();
          }
        }
      }, {
        key: "hide",
        value: function hide() {
          var _this44 = this;
          if (!this._element.classList.contains(CLASS_NAME_SHOW)) {
            return;
          }
          var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE);
          if (hideEvent.defaultPrevented) {
            return;
          }
          var complete = function complete() {
            _this44._element.classList.add(CLASS_NAME_HIDE);
            EventHandler.trigger(_this44._element, EVENT_HIDDEN);
          };
          this._element.classList.remove(CLASS_NAME_SHOW);
          if (this._config.animation) {
            var transitionDuration = getTransitionDurationFromElement(this._element);
            EventHandler.one(this._element, 'transitionend', complete);
            emulateTransitionEnd(this._element, transitionDuration);
          } else {
            complete();
          }
        }
      }, {
        key: "dispose",
        value: function dispose() {
          this._clearTimeout();
          if (this._element.classList.contains(CLASS_NAME_SHOW)) {
            this._element.classList.remove(CLASS_NAME_SHOW);
          }
          _superPropGet(Toast, "dispose", this, 3)([]);
          this._config = null;
        } // Private
      }, {
        key: "_getConfig",
        value: function _getConfig(config) {
          config = _objectSpread(_objectSpread(_objectSpread({}, Default), Manipulator.getDataAttributes(this._element)), (0,esm_typeof/* default */.A)(config) === 'object' &amp;&amp; config ? config : {});
          typeCheckConfig(NAME, config, this.constructor.DefaultType);
          return config;
        }
      }, {
        key: "_setListeners",
        value: function _setListeners() {
          var _this45 = this;
          EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function () {
            return _this45.hide();
          });
        }
      }, {
        key: "_clearTimeout",
        value: function _clearTimeout() {
          clearTimeout(this._timeout);
          this._timeout = null;
        } // Static
      }], [{
        key: "DefaultType",
        get: function get() {
          return DefaultType;
        }
      }, {
        key: "Default",
        get: function get() {
          return Default;
        }
      }, {
        key: "DATA_KEY",
        get: function get() {
          return DATA_KEY;
        }
      }, {
        key: "jQueryInterface",
        value: function jQueryInterface(config) {
          return this.each(function () {
            var data = Data.get(this, DATA_KEY);
            var _config = (0,esm_typeof/* default */.A)(config) === 'object' &amp;&amp; config;
            if (!data) {
              data = new Toast(this, _config);
            }
            if (typeof config === 'string') {
              if (typeof data[config] === 'undefined') {
                throw new TypeError("No method named \"".concat(config, "\""));
              }
              data[config](this);
            }
          });
        }
      }]);
    }(BaseComponent);
    /**
     * ------------------------------------------------------------------------
     * jQuery
     * ------------------------------------------------------------------------
     * add .Toast to jQuery only if jQuery is present
     */
    defineJQueryPlugin(NAME, Toast);

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): index.umd.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    var index_umd = {
      Alert: Alert,
      Button: Button,
      Carousel: Carousel,
      Collapse: Collapse,
      Dropdown: Dropdown,
      Modal: Modal,
      Offcanvas: Offcanvas,
      Popover: Popover,
      ScrollSpy: ScrollSpy,
      Tab: Tab,
      Toast: Toast,
      Tooltip: Tooltip
    };
    return index_umd;
  });
});
var bootstrap5Raw$1 = unwrapExports(bootstrap5Raw);

// EXTERNAL MODULE: ./src/dependencies/modules/plus.js
var plus = __webpack_require__(8081);
;// CONCATENATED MODULE: ./src/dependencies/modules/bootstrap5.js




/* KPMGT-119 | data-bs-remote implementation - START */
bootstrap5Raw$1.Modal.prototype.remote = function (url) {
  var self = this;
  var client = new HttpClient();
  var modalContent = self._element.querySelector('.modal-content');
  self._config.remote = url;
  (0,plus/* default */.A)(modalContent).css({
    'opacity': 0
  });
  client.get(url, function (response) {
    var filteredResponse = (0,plus/* default */.A)('.modal-box-container', response);
    // remove original close button
    (0,plus/* default */.A)(self._element).children().children('.btn-close').remove();
    // filter response for specific modal content with close button prepended
    (0,plus/* default */.A)(modalContent).html((0,plus/* default */.A)('.modal-box-container', response).length ? filteredResponse : response);
    self._remoteLoaded = true;
    // trigger event
    trigger(self._element, 'loaded.bs.modal');
    setTimeout(function () {
      (0,plus/* default */.A)(modalContent).css({
        'opacity': 1
      });
      // check if close button doesn't exist in response
      if (filteredResponse.find('.module-peoplecontactform').length || filteredResponse.find('.module-contact-form').length) {
        if (filteredResponse.find('.icon-close').length === 0) {
          modalContent.prepend((0,plus/* default */.A)('&lt;button class="btn-close" data-bs-dismiss="modal"&gt;&lt;span class="icon-close"&gt;&lt;span class="sr-only"&gt;' + window.kpmgPersonalize.i18n.customMsgs.close + '&lt;/span&gt;&lt;/span&gt;&lt;/button&gt;').get(0));
        }
      } else {
        modalContent.prepend((0,plus/* default */.A)('&lt;button class="btn-close" data-bs-dismiss="modal"&gt;&lt;span class="icon-close"&gt;&lt;span class="sr-only"&gt;' + window.kpmgPersonalize.i18n.customMsgs.close + '&lt;/span&gt;&lt;/span&gt;&lt;/button&gt;').get(0));
      }
    }, 500);
  });
};
bootstrap5Raw$1.Modal.getOrInitInstance = function (element) {
  var config = arguments.length &gt; 1 &amp;&amp; arguments[1] !== undefined ? arguments[1] : {};
  return bootstrap5Raw$1.Modal.getInstance(element) || new bootstrap5Raw$1.Modal(element, (0,esm_typeof/* default */.A)(config) === 'object' ? config : null);
};
function remoteLoad(element, target, data) {
  var remoteUrl = element.getAttribute('data-bs-remote');
  if (!remoteUrl) {
    return;
  }
  var modalContent = target.querySelector('.modal-content');
  var client = new HttpClient();
  data._config.remote = remoteUrl;
  (0,plus/* default */.A)(modalContent).css({
    'opacity': 0
  });
  client.get(remoteUrl, function (response) {
    var filteredResponse = (0,plus/* default */.A)('.modal-box-container', response);
    // remove original close button
    (0,plus/* default */.A)(target).children().children('.btn-close').remove();
    // filter response for specific modal content with close button prepended
    (0,plus/* default */.A)(modalContent).html((0,plus/* default */.A)('.modal-box-container', response).length ? filteredResponse : response);
    data._remoteLoaded = true;
    trigger(target, 'loaded.bs.modal');
    setTimeout(function () {
      (0,plus/* default */.A)(modalContent).css({
        'opacity': 1
      });
      // check if close button doesn't exist in response
      if (filteredResponse.find('.module-peoplecontactform').length || filteredResponse.find('.module-contact-form').length) {
        if (filteredResponse.find('.icon-close').length === 0) {
          modalContent.prepend((0,plus/* default */.A)('&lt;button class="btn-close" data-bs-dismiss="modal"&gt;&lt;span class="icon-close"&gt;&lt;span class="sr-only"&gt;' + window.kpmgPersonalize.i18n.customMsgs.close + '&lt;/span&gt;&lt;/span&gt;&lt;/button&gt;').get(0));
        }
      } else {
        modalContent.prepend((0,plus/* default */.A)('&lt;button class="btn-close" data-bs-dismiss="modal"&gt;&lt;span class="icon-close"&gt;&lt;span class="sr-only"&gt;' + window.kpmgPersonalize.i18n.customMsgs.close + '&lt;/span&gt;&lt;/span&gt;&lt;/button&gt;').get(0));
      }
    }, 500);
  });
}
var fn = bootstrapDelegationHandler(document, '[data-bs-toggle="modal"]', function (event) {
  var target = getElementFromSelector(this);
  var data = bootstrap5Raw$1.Modal.getInstance(target) || new bootstrap5Raw$1.Modal(target);
  remoteLoad(this, target, data);
});
document.addEventListener('click', fn);

/* KPMGT-119 | data-bs-remote implementation - END */

// https://stackoverflow.com/questions/247483/http-get-request-in-javascript
var HttpClient = function HttpClient() {
  this.get = function (aUrl, aCallback) {
    var anHttpRequest = new XMLHttpRequest();
    anHttpRequest.onreadystatechange = function () {
      if (anHttpRequest.readyState == 4 &amp;&amp; anHttpRequest.status == 200) aCallback(anHttpRequest.responseText);
    };
    anHttpRequest.open("GET", aUrl, true);
    anHttpRequest.send(null);
  };
};

/* helper functions from bootstrap5 internals - START */
var getSelector = function getSelector(element) {
  var selector = element.getAttribute('data-bs-target');
  if (!selector || selector === '#') {
    var hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,
    // so everything starting with `#` or `.`. If a "real" URL is used as the selector,
    // `document.querySelector` will rightfully complain it is invalid.
    // See https://github.com/twbs/bootstrap/issues/32273

    if (!hrefAttr || !hrefAttr.includes('#') &amp;&amp; !hrefAttr.startsWith('.')) {
      return null;
    } // Just in case some CMS puts out a full URL with the anchor appended

    if (hrefAttr.includes('#') &amp;&amp; !hrefAttr.startsWith('#')) {
      hrefAttr = "#".concat(hrefAttr.split('#')[1]);
    }
    selector = hrefAttr &amp;&amp; hrefAttr !== '#' ? hrefAttr.trim() : null;
  }
  return selector;
};
var getElementFromSelector = function getElementFromSelector(element) {
  var selector = getSelector(element);
  return selector ? document.querySelector(selector) : null;
};
function bootstrapDelegationHandler(element, selector, fn) {
  return function handler(event) {
    var domElements = element.querySelectorAll(selector);
    for (var target = event.target; target &amp;&amp; target !== this; target = target.parentNode) {
      for (var i = domElements.length; i--;) {
        if (domElements[i] === target) {
          event.delegateTarget = target;
          return fn.apply(target, [event]);
        }
      }
    } // To please ESLint

    return null;
  };
}
var getjQuery = function getjQuery() {
  var _window = window,
    jQuery = _window.jQuery;
  if (jQuery &amp;&amp; !document.body.hasAttribute('data-bs-no-jquery')) {
    return jQuery;
  }
  return null;
};
var stripNameRegex = /\..*/;
function getTypeEvent(event) {
  // allow to get the native events from namespaced events ('click.bs.button' --&gt; 'click')
  event = event.replace(stripNameRegex, '');
  return customEvents[event] || event;
}
var customEvents = {
  mouseenter: 'mouseover',
  mouseleave: 'mouseout'
};
var nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']);
function trigger(element, event, args) {
  if (typeof event !== 'string' || !element) {
    return null;
  }
  var $ = getjQuery();
  var typeEvent = getTypeEvent(event);
  var inNamespace = event !== typeEvent;
  var isNative = nativeEvents.has(typeEvent);
  var jQueryEvent;
  var bubbles = true;
  var nativeDispatch = true;
  var defaultPrevented = false;
  var evt = null;
  if (inNamespace &amp;&amp; $) {
    jQueryEvent = $.Event(event, args);
    $(element).trigger(jQueryEvent);
    bubbles = !jQueryEvent.isPropagationStopped();
    nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();
    defaultPrevented = jQueryEvent.isDefaultPrevented();
  }
  if (isNative) {
    evt = document.createEvent('HTMLEvents');
    evt.initEvent(typeEvent, bubbles, true);
  } else {
    evt = new CustomEvent(event, {
      bubbles: bubbles,
      cancelable: true
    });
  } // merge custom information in our event

  if (typeof args !== 'undefined') {
    Object.keys(args).forEach(function (key) {
      Object.defineProperty(evt, key, {
        get: function get() {
          return args[key];
        }
      });
    });
  }
  if (defaultPrevented) {
    evt.preventDefault();
  }
  if (nativeDispatch) {
    element.dispatchEvent(evt);
  }
  if (evt.defaultPrevented &amp;&amp; typeof jQueryEvent !== 'undefined') {
    jQueryEvent.preventDefault();
  }
  return evt;
}
/* helper functions from bootstrap5 internals - END */

if (typeof define === "function" &amp;&amp; __webpack_require__.amdO) {
  define("bootstrap5", [], function () {
    return bootstrap;
  });
}
if (!window.bootstrap) window.bootstrap = bootstrap5Raw$1;
/* harmony default export */ const bootstrap5 = (window.bootstrap);

/***/ }),

/***/ 8262:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) =&gt; {

"use strict";

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  A: () =&gt; (/* binding */ CommonUtils$1)
});

// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js
var esm_typeof = __webpack_require__(2284);
// EXTERNAL MODULE: ./src/dependencies/modules/plus.js
var plus = __webpack_require__(8081);
;// CONCATENATED MODULE: ./src/dependencies/modules/ellipsed.js
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof self !== 'undefined' ? self : {};
function unwrapExports(x) {
  return x &amp;&amp; x.__esModule &amp;&amp; Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
}
function createCommonjsModule(fn, module) {
  return module = {
    exports: {}
  }, fn(module, module.exports), module.exports;
}
var ellipsed_min = createCommonjsModule(function (module, exports) {
  (function (global, factory) {
    {
      factory(exports);
    }
  })(commonjsGlobal, function (exports) {
    Object.defineProperty(exports, '__esModule', {
      value: true
    });
    var _extends = Object.assign || function (target) {
      for (var i = 1; i &lt; arguments.length; i++) {
        var source = arguments[i];
        for (var key in source) {
          if (Object.prototype.hasOwnProperty.call(source, key)) {
            target[key] = source[key];
          }
        }
      }
      return target;
    };

    /*
     *   Copyright (C) 2017 Nicola Zambello
     *
     *    The JavaScript code in this page is open source software licensed under MIT license
     *    References about this code and its license, see:
     *
     *    https://github.com/nzambello/ellipsed
     *
     */

    function tokensReducer(acc, token) {
      var el = acc.el,
        elStyle = acc.elStyle,
        elHeight = acc.elHeight,
        rowsLimit = acc.rowsLimit,
        rowsWrapped = acc.rowsWrapped,
        options = acc.options;
      var oldBuffer = acc.buffer;
      var newBuffer = oldBuffer;
      if (rowsWrapped === rowsLimit + 1) {
        return _extends({}, acc);
      }
      var textBeforeWrap = oldBuffer;
      var newRowsWrapped = rowsWrapped;
      var newHeight = elHeight;
      el.innerHTML = newBuffer = oldBuffer.length ? '' + oldBuffer + options.delimiter + token + options.replaceStr : '' + token + options.replaceStr;
      if (parseFloat(elStyle.height) &gt; parseFloat(elHeight)) {
        newRowsWrapped++;
        newHeight = elStyle.height;
        if (newRowsWrapped === rowsLimit + 1) {
          el.innerHTML = newBuffer = textBeforeWrap[textBeforeWrap.length - 1] === '.' &amp;&amp; options.replaceStr === '...' ? textBeforeWrap + '..' : '' + textBeforeWrap + options.replaceStr;
          return _extends({}, acc, {
            elHeight: newHeight,
            rowsWrapped: newRowsWrapped
          });
        }
      }
      el.innerHTML = newBuffer = textBeforeWrap.length ? '' + textBeforeWrap + options.delimiter + token : '' + token;
      return _extends({}, acc, {
        buffer: newBuffer,
        elHeight: newHeight,
        rowsWrapped: newRowsWrapped
      });
    }
    function ellipsis() {
      var selector = arguments.length &gt; 0 &amp;&amp; arguments[0] !== undefined ? arguments[0] : '';
      var rows = arguments.length &gt; 1 &amp;&amp; arguments[1] !== undefined ? arguments[1] : 1;
      var options = arguments.length &gt; 2 &amp;&amp; arguments[2] !== undefined ? arguments[2] : {};
      var defaultOptions = {
        replaceStr: '...',
        responsive: false,
        debounceDelay: 250,
        delimiter: ' '
      };
      var opts = _extends({}, defaultOptions, options);
      var elements = selector &amp;&amp; (selector instanceof NodeList ? selector : selector.nodeType === 1 ? [selector] : document.querySelectorAll(selector));
      var originalTexts = [];
      for (var i = 0; i &lt; elements.length; i++) {
        var el = elements[i];
        // KPMGT-265 Fix for line height calculation issue (unset max-height if set) + responsiveness - start
        if (window.getComputedStyle(el).maxHeight !== 'none') {
          el.style.maxHeight = 'none';
        }
        if (el.kpmgOriginalText) {
          el.innerHTML = el.kpmgOriginalText;
        } else {
          el.kpmgOriginalText = el.innerHTML; // keep for future reference if same element is invoked
        }
        if (el.kpmgEllipsedResponsive) {
          window.removeEventListener('resize', el.kpmgEllipsedResponsive); // remove old listeners
          delete el.kpmgEllipsedResponsive;
        }
        // KPMGT-265 - end
        originalTexts[i] = el.innerHTML;
        var splittedText = el.innerHTML.split(opts.delimiter);
        el.innerHTML = '';
        var elStyle = window.getComputedStyle(el);
        splittedText.reduce(tokensReducer, {
          el: el,
          buffer: el.innerHTML,
          elStyle: elStyle,
          elHeight: 0,
          rowsLimit: rows,
          rowsWrapped: 0,
          options: opts
        });
      }
      if (opts.responsive) {
        var resizeTimeout = false;
        var last_window_w = window.innerWidth;
        var resizeHandler = function resizeHandler() {
          if (window.innerWidth !== last_window_w) {
            last_window_w = window.innerWidth;
            for (var _i = 0; _i &lt; elements.length; _i++) {
              elements[_i].innerHTML = originalTexts[_i];
            }
            ellipsis(selector, rows, _extends({}, options, {
              responsive: false
            }));
          }
        };
        var resizeListener = function resizeListener() {
          clearTimeout(resizeTimeout);
          resizeTimeout = setTimeout(resizeHandler, opts.debounceDelay);
        };
        window.addEventListener('resize', resizeListener);
        el.kpmgEllipsedResponsive = resizeListener;
        return resizeListener;
      }
    }
    function disableResponsive(listener) {
      window.removeEventListener('resize', listener);
    }
    exports.disableResponsive = disableResponsive;
    exports.ellipsis = ellipsis;
  });
});
var ellipsed_min$1 = unwrapExports(ellipsed_min);

// EXTERNAL MODULE: ./src/dependencies/modules/bootstrap5.js + 1 modules
var bootstrap5 = __webpack_require__(6023);
// EXTERNAL MODULE: ./src/dependencies/modules/tracking.js
var tracking = __webpack_require__(4980);
// EXTERNAL MODULE: ./src/dependencies/modules/helpers.js
var helpers = __webpack_require__(8764);
// EXTERNAL MODULE: ./node_modules/moment/moment.js
var moment = __webpack_require__(5093);
var moment_default = /*#__PURE__*/__webpack_require__.n(moment);
;// CONCATENATED MODULE: ./src/dependencies/modules/common-utils.js







var CommonUtils;
var hackingChars = ["|", "&amp;amp;", ";", "$", "%", "@", "&amp;#x27;", "&amp;quot;", "&amp;lt;&amp;gt;", "&amp;lt;", "&amp;gt;", "(", ")", "+", "0x0d", "0x0a", ",", "\\"];
var schemaParams = ["kpmg_topic_path_facet", "kpmg_filter_year", "kpmg_geo_rel_path_facet", "kpmg_ind_path_loc_facet", "kpmg_service_pth_loc_facet", "kpmg_blog_topics", "kpmg_ind_path_facet", "kpmg_service_path_facet", "kpmg_cont_mem_firm", "kpmg_tab_type", "kpmg_sl_local_id", "kpmg_article_type", "kpmg_template_type"];
var defaultFacets = ["kpmg_topic_path_facet", "kpmg_filter_year", "kpmg_geo_rel_path_facet", "kpmg_ind_path_loc_facet", "kpmg_service_pth_loc_facet", "kpmg_ind_path_facet", "kpmg_service_path_facet"];
var tabs = [{
  "value": "Insights",
  "count": "0"
}, {
  "value": "Events",
  "count": "0"
}, {
  "value": "People",
  "count": "0"
}, {
  "value": "Press releases",
  "count": "0"
}, {
  "value": "Blogs",
  "count": "0"
}];
var providers = window.shareProperties ? window.shareProperties.shareEnabledProviders : "";
var CONSTANTS = {
  DOMAIN: window.location.origin,
  HOSTNAME: window.location.hostname,
  CLIENTENVIRONMENT: window.appSearchClientEnv || "",
  FIELDSMAP: window.appSearchConfigs ? window.appSearchConfigs.fieldsMapping ? window.appSearchConfigs.fieldsMapping : {} : {},
  socialChannels: window.shareProperties ? window.shareProperties.socialChannelsList : [],
  socialChannelsList: providers.split(","),
  shareWithFriendsTitle: window.shareProperties ? window.shareProperties.shareWithFriendsLabel ? window.shareProperties.shareWithFriendsLabel : "Share with your friends" : "Share with your friends"
};
CommonUtils = {
  fixChromeIssueForAuthor: fixChromeIssueForAuthor,
  setBrowserNameOnAllTags: setBrowserNameOnAllTags,
  getSearchQueryParamsAsObject: getSearchQueryParamsAsObject,
  initializeAllComponents: initializeAllComponents,
  redirectForInvalidQueryParams: redirectForInvalidQueryParams,
  isScrolledIntoView: isScrolledIntoView,
  getUserConsent: getUserConsent,
  getPrivacyPolicyOption: getPrivacyPolicyOption,
  getNestedObjectValue: getNestedObjectValue,
  CONSTANTS: CONSTANTS,
  contactFormCampaignModal: contactFormCampaignModal,
  runTimeClampLines: runTimeClampLines,
  runTimeObjectFitImages: runTimeObjectFitImages,
  storageAvailable: storageAvailable,
  getCurrentLocale: getCurrentLocale,
  setStorageForLastReadFlexAndArticleTemplates: setStorageForLastReadFlexAndArticleTemplates,
  loadJSFiles: loadJSFiles,
  clearObjectProperties: clearObjectProperties,
  isProdEnv: !!CONSTANTS.HOSTNAME.match(/^home.kpmg/i),
  getEngineName: getEngineName,
  getRequestBody: getRequestBody,
  getRequestBodyForFacets: getRequestBodyForFacets,
  getFormatedDate: getFormatedDate,
  validateObj: validateObj,
  formatFacets: formatFacets,
  constructFacetHeirarchy: constructFacetHeirarchy,
  buildURLString: buildURLString,
  addPopupUrl: addPopupUrl,
  checkChildFacetisSelected: checkChildFacetisSelected,
  facetRetention: facetRetention,
  resultFieldsMapping: resultFieldsMapping,
  modifyRenditionPath: modifyRenditionPath,
  updateImagePath: updateImagePath,
  getLocationObjectFromCanonicalURL: getLocationObjectFromCanonicalURL,
  getSocialChannel: getSocialChannel,
  postionSharePopup: postionSharePopup,
  createSocialShare: createSocialShare,
  customScrollTop: customScrollTop,
  locationRfpModal: locationRfpModal,
  getFirstElementBelowFold: getFirstElementBelowFold,
  initLazyVideo: initLazyVideo,
  recaptchaEnable: recaptchaEnable
};
function loadJSFiles() {
  var plusFetchcomponents = (0,plus/* default */.A)(".component")._domElem;
  plus/* default */.A.each(plusFetchcomponents, function (index, value) {
    var componentname = (0,plus/* default */.A)(value).attr("class"),
      modulename = componentname.substring(7, componentname.indexOf(" "));
    window.require([modulename], function (module) {
      module(value);
    });
  });
}
function storageAvailable(type) {
  var storage;
  try {
    storage = window[type];
    var x = "__storage_test__";
    storage.setItem(x, x);
    storage.removeItem(x);
    return true;
  } catch (e) {
    return false;
  }
}
function runTimeObjectFitImages(elem, isLazyload) {
  var isIE = !!document.documentMode;
  if (isIE) {
    (0,plus/* default */.A)(elem).find(".object-fit-img-container").each(function () {
      var plusContainer = (0,plus/* default */.A)(this),
        imgUrl = plusContainer.find("img").prop("src"),
        flipImage = plusContainer.closest(".module-dynamicpromotional").hasClass("bannerpromo-two-column") || plusContainer.closest(".module-dynamicpromotional").hasClass("bannerpromo-three-column") || plusContainer.closest(".module-dynamicpromotional").hasClass("promo-two-column") || plusContainer.closest(".module-dynamicpromotional").hasClass("promo-three-column");
      if (isLazyload) {
        imgUrl = plusContainer.find("img").data("desktop");
      }
      if (imgUrl) {
        plusContainer.css("backgroundImage", "url(\"" + imgUrl + "\")").addClass("object-fit-ie");
        if (flipImage) {
          plusContainer.addClass("flip-image");
        }
      }
    });
  }
}
function fixChromeIssueForAuthor(tmpl) {
  if (window.kpmgPersonalize.misc &amp;&amp; window.kpmgPersonalize.misc.isAuthor) {
    (0,plus/* default */.A)(tmpl).css("position", "inherit");
  }
}
function contactFormCampaignModal(elem) {
  (0,plus/* default */.A)(elem).addClass("campaign-form-modal");
  (0,plus/* default */.A)(elem).off("click").on("click", function () {
    var kpmgModal = (0,plus/* default */.A)("#kpmgModal"),
      kpmgModalInstance,
      url = (0,plus/* default */.A)(this).attr("data-formodalurl"),
      remoteUrl = (0,plus/* default */.A)(this).attr("data-forremoteurl");
    if ((0,plus/* default */.A)(this).attr("data-campaignflag")) {
      kpmgModal.data("campaignflag", (0,plus/* default */.A)(this).attr("data-campaignflag"));
      kpmgModal.data("campaigntitle", (0,plus/* default */.A)(this).attr("data-campaigntitle"));
      kpmgModal.data("campaigndescription", (0,plus/* default */.A)(this).attr("data-campaigndescription"));
      kpmgModal.data("campaigntoken", (0,plus/* default */.A)(this).attr("data-campaigntoken"));
      window.kpmg.modalOpenerUrl = url;
      kpmgModal.data("modalUrl", url);
      kpmgModalInstance = bootstrap5/* default */.A.Modal.getOrInitInstance(kpmgModal.get(0), {
        backdrop: "static",
        keyboard: false
      });
      kpmgModalInstance.remote(remoteUrl);
      try {
        window.digitalData.campaign = window.digitalData.campaign || {};
        window.digitalData.campaign.name = (0,plus/* default */.A)(this).attr("data-campaigntitle");
        helpers/* default */.A.triggerSatteliteTracking("campaignFormStart");
      } catch (e) {
        console.log("Error in setting analytics variables: " + e);
      }
    }
  });
}
function runTimeClampLines(elem) {
  var plusClampLinesElement = (0,plus/* default */.A)(elem).find(".line-clamp");
  plusClampLinesElement.each(function (idx, element) {
    var rowCount;
    rowCount = element.className.match(/line-clamp-(\d+)/);
    if (!!rowCount) {
      rowCount = parseInt(rowCount[1]);
    } else {
      var clampLinesItem = Math.round((0,plus/* default */.A)(this).css("max-height").split("px")[0]);
      var fontSize = Math.round(window.getComputedStyle(element).fontSize.split("px")[0]);
      rowCount = Math.floor((clampLinesItem + 2) / fontSize);
    }
    (0,plus/* default */.A)(this).attr("style", "");
    var wrapMethod = " ";
    var font = (0,plus/* default */.A)(this).css("font-family");
    if (typeof font === "string" &amp;&amp; font.indexOf("Noto") !== -1) {
      wrapMethod = "";
    }
    if ((0,plus/* default */.A)(this).is(":visible") &amp;&amp; !Number.isNaN(rowCount)) {
      ellipsed_min$1.ellipsis(element, rowCount, {
        replaceStr: "...",
        responsive: true,
        debounceDelay: 250,
        delimiter: wrapMethod
      });
      (0,plus/* default */.A)(this).css("overflow", "visible");
    }
  });
}
function initializeAllComponents(plusComponentElems, cb) {
  var plusComponents, elemArray;
  plusComponents = [];
  elemArray = [];
  plus/* default */.A.each(plusComponentElems, function (idx, eachEl) {
    var elemClass, moduleName;
    if ((0,esm_typeof/* default */.A)(eachEl) === "object" &amp;&amp; eachEl.nodeType === 1 &amp;&amp; (0,esm_typeof/* default */.A)(eachEl.style) === "object" &amp;&amp; (0,esm_typeof/* default */.A)(eachEl.ownerDocument) === "object") {
      elemClass = (0,plus/* default */.A)(eachEl).attr("class");
      moduleName = elemClass.substring(7, elemClass.indexOf(" "));
      plusComponents.push(moduleName);
      elemArray.push(eachEl);
    }
  });
  window.require(plusComponents, function () {
    var i;
    for (i = 0; i &lt; arguments.length; i++) {
      new arguments[i](elemArray[i]);
    }
    cb();
  });
}
function setBrowserNameOnAllTags() {
  var BrowserDetect, allElements;
  allElements = (0,plus/* default */.A)("*");
  BrowserDetect = prepareBrowserDetect();
  BrowserDetect.init();
  allElements.addClass(BrowserDetect.browser.toLowerCase());
  function prepareBrowserDetect() {
    return {
      init: function init() {
        this.browser = this.searchString(this.dataBrowser) || "Other";
        this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "Unknown";
      },
      searchString: function searchString(data) {
        for (var i = 0; i &lt; data.length; i++) {
          var dataString = data[i].string;
          this.versionSearchString = data[i].subString;
          if (dataString.indexOf(data[i].subString) !== -1) {
            return data[i].identity;
          }
        }
      },
      searchVersion: function searchVersion(dataString) {
        var index = dataString.indexOf(this.versionSearchString);
        if (index === -1) {
          return;
        }
        var rv = dataString.indexOf("rv:");
        if (this.versionSearchString === "Trident" &amp;&amp; rv !== -1) {
          return parseFloat(dataString.substring(rv + 3));
        } else {
          return parseFloat(dataString.substring(index + this.versionSearchString.length + 1));
        }
      },
      dataBrowser: [{
        string: navigator.userAgent,
        subString: "Edge",
        identity: "MS Edge"
      }, {
        string: navigator.userAgent,
        subString: "MSIE",
        identity: "Explorer"
      }, {
        string: navigator.userAgent,
        subString: "Trident",
        identity: "Explorer"
      }, {
        string: navigator.userAgent,
        subString: "Firefox",
        identity: "Firefox"
      }, {
        string: navigator.userAgent,
        subString: "Opera",
        identity: "Opera"
      }, {
        string: navigator.userAgent,
        subString: "OPR",
        identity: "Opera"
      }, {
        string: navigator.userAgent,
        subString: "Chrome",
        identity: "Chrome"
      }, {
        string: navigator.userAgent,
        subString: "Safari",
        identity: "Safari"
      }]
    };
  }
}
function getSearchQueryParamsAsObject() {
  try {
    var search = encodeURI(location.search.substring(1));
    return JSON.parse("{\"" + decodeURI(search).replace(/"/g, "\\\"").replace(/&amp;/g, "\",\"").replace(new RegExp("=", "g"), "\":\"") + "\"}");
  } catch (e) {
    return false;
  }
}
function redirectForInvalidQueryParams(paramsObj) {
  var queryParamsObj;
  queryParamsObj = CommonUtils.getSearchQueryParamsAsObject();
  if (window.location.search &amp;&amp; !queryParamsObj) {
    var pathName;
    pathName = encodeURI(window.kpmgPath);
    var hacking = isPhishing(pathName);
    if (!hacking) {
      window.location.href = paramsObj ? pathName + "?" + plus/* default */.A.param(paramsObj) : pathName;
    }
  }
}
function isPhishing(inputstring) {
  var hacking = false;
  hackingChars.forEach(function (value) {
    if (inputstring.indexOf(value) &gt; -1) {
      hacking = true;
    }
  });
  return hacking;
}
function isScrolledIntoView(elem) {
  if (!elem instanceof HTMLElement) {
    elem = elem._domElem[0];
  }
  var docViewTop = (0,plus/* default */.A)(window).scrollTop(),
    docViewBottom = docViewTop + (0,plus/* default */.A)(window).height(),
    box = elem.getBoundingClientRect(),
    elemTop = box.top + window.pageYOffset - document.documentElement.clientTop,
    elemBottom = elemTop + (0,plus/* default */.A)(elem).height();
  return elemBottom &lt;= docViewBottom &amp;&amp; elemTop &gt;= docViewTop;
}
function getUserConsent() {
  var _STATE = {},
    userConsent = [],
    categoryGroups = [],
    deferred = plus/* default */.A.Deferred();
  function runOnce() {
    if (!_STATE.hasRunOnce &amp;&amp; window.OptanonActiveGroups) {
      if (window.OptanonActiveGroups &amp;&amp; window.Optanon &amp;&amp; window.Optanon.GetDomainData().Groups) {
        userConsent = window.OptanonActiveGroups.split(",");
        categoryGroups = window.Optanon.GetDomainData().Groups;
        deferred.resolve(userConsent, categoryGroups);
      } else {
        (0,plus/* default */.A)(document).on("oneTrustEvent", function () {
          userConsent = window.OptanonActiveGroups.split(",");
          categoryGroups = window.Optanon.GetDomainData().Groups;
          deferred.resolve(userConsent, categoryGroups);
        });
      }
      _STATE.hasRunOnce = true;
      if (_STATE.i) {
        clearInterval(_STATE.i);
      }
    }
  }
  _STATE.i = setInterval(runOnce, 100);
  return deferred;
}
function getPrivacyPolicyOption() {
  var privacyOption = 0;
  if (typeof window.privacyJSON !== "undefined" &amp;&amp; window.privacyJSON !== undefined &amp;&amp; window.privacyJSON.countries !== undefined) {
    var data = window.privacyJSON;
    var countries = data.countries;
    var options = data.options;
    var kpmgPath = window.location.pathname.toLowerCase();
    var countryCode = kpmgPath.indexOf("content/kpmgpublic") === -1 ? kpmgPath.split("/")[1] : kpmgPath.split("/")[3];
    var langCode = kpmgPath.indexOf("content/kpmgpublic") === -1 ? kpmgPath.split("/")[2] : kpmgPath.split("/")[4];
    for (var i = 0, len = countries.length; i &lt; len; i++) {
      if (countries[i].country === countryCode &amp;&amp; countries[i].active) {
        var languages = countries[i].languages;
        for (var j = 0, lensub = languages.length; j &lt; lensub; j++) {
          if (languages[j] === langCode) {
            privacyOption = (0,esm_typeof/* default */.A)(options[countries[i].option - 1]) === "object" &amp;&amp; parseInt(options[countries[i].option - 1].distinctPrivacyPolicy) || 0;
          }
        }
      }
    }
  }
  return privacyOption;
}
function getCurrentLocale() {
  var country = window.kpmgPersonalize &amp;&amp; window.kpmgPersonalize.snp &amp;&amp; window.kpmgPersonalize.snp.params.countryCode,
    lang = window.kpmgPersonalize &amp;&amp; window.kpmgPersonalize.snp &amp;&amp; window.kpmgPersonalize.snp.params.languageCode;
  return {
    countryCode: country,
    languageCode: lang
  };
}
function setStorageForLastReadFlexAndArticleTemplates(obj) {
  var key = "/" + obj.locale.countryCode + "/" + obj.locale.languageCode,
    value = {
      "KPMG_Industry_ID_Loc": obj.articleMetaObject.KPMG_Industry_ID_Loc || "",
      "KPMG_Service_ID_Loc": obj.articleMetaObject.KPMG_Service_ID_Loc || "",
      "KPMG_Industry_ID": obj.articleMetaObject.KPMG_Industry_ID || "",
      "KPMG_Service_ID": obj.articleMetaObject.KPMG_Service_ID || "",
      "KPMG_Topic_ID": obj.articleMetaObject.KPMG_Topic_ID || "",
      "KPMG_URL": obj.articleMetaObject.KPMG_URL
    };
  if (obj.flexTemplate) {
    var lastReadFlexTemplates = JSON.parse(sessionStorage.lastReadFlexTemplates || "{}"),
      temp = 0;
    lastReadFlexTemplates[key] = lastReadFlexTemplates[key] || [];
    lastReadFlexTemplates[key].forEach(function (article) {
      if (article.KPMG_URL === value.KPMG_URL) {
        temp = temp + 1;
        return;
      }
    });
    if (temp === 0) {
      lastReadFlexTemplates[key].unshift(value);
    }
    if (lastReadFlexTemplates[key].length &gt; 4) {
      lastReadFlexTemplates[key].length = 4;
    }
    sessionStorage.lastReadFlexTemplates = JSON.stringify(lastReadFlexTemplates);
  }
  if (obj.articleTemplate) {
    var lastReadArticles = JSON.parse(localStorage.lastReadArticles || "{}"),
      flag = 0,
      shuffle = 0;
    lastReadArticles[key] = lastReadArticles[key] || [];
    lastReadArticles[key].forEach(function (article, i) {
      if (article.KPMG_URL === value.KPMG_URL) {
        flag++;
        if (i !== 0) {
          shuffle++;
          lastReadArticles[key].splice(i, 1);
        }
        return;
      }
    });
    if (flag === 0 || shuffle &gt; 0) {
      lastReadArticles[key].unshift(value);
    }
    if (lastReadArticles[key].length &gt; 4) {
      lastReadArticles[key].length = 4;
    }
    localStorage.lastReadArticles = JSON.stringify(lastReadArticles);
  }
}
function getNestedObjectValue(obj, key) {
  var args = key.split(".");
  for (var i = 0; i &lt; args.length; i++) {
    if (!obj || !obj.hasOwnProperty(args[i])) {
      return "N.A";
    }
    obj = obj[args[i]];
  }
  return obj;
}
function clearObjectProperties(val) {
  try {
    if (Array.isArray(val) &amp;&amp; val.length &gt; 0) {
      for (var i = 0; i &lt; val.length; i++) {
        if (val[i].currentObject.hasOwnProperty(val[i].removeProp)) {
          delete val[i].currentObject[val[i].removeProp];
        }
      }
    }
  } catch (err) {
    console.log("No datalayer value to clear: " + err);
  }
}
function getEngineName(allSites) {
  var engineName,
    engineCode = "all",
    searchUrl = "",
    environment = CommonUtils.CONSTANTS.CLIENTENVIRONMENT.trim().toLocaleLowerCase();
  if (!allSites) {
    engineCode = window.countryCode + "-" + window.langCode;
  }
  engineName = environment ? environment + "-" + engineCode : engineCode;
  searchUrl = "/esearch/" + engineName;
  return searchUrl;
}
function formatParentChildFacets(facetItemObj) {
  var queryParameters = [];
  Object.keys(facetItemObj).forEach(function (key) {
    var tempObj = {};
    tempObj[key] = [];
    if (Array.isArray(facetItemObj[key].child)) {
      facetItemObj[key].child.forEach(function (item) {
        if (facetItemObj[key].parent) {
          tempObj[key].push(facetItemObj[key].parent[0] + "/" + item);
        } else {
          tempObj[key].push(item);
        }
      });
    } else {
      tempObj[key] = tempObj[key].concat(facetItemObj[key].parent);
    }
    queryParameters.push(tempObj);
  });
  return queryParameters;
}
function formatUrl(url) {
  var emptyObj = {},
    facets = [],
    facetsAny = [],
    urlArray = url.split("&amp;"),
    pattX = /^x/ig,
    pattQ = /^q/ig,
    pattLang = /^language/ig,
    pattSort = /^sort=/ig,
    pattPaging = /^sp_c/ig,
    pattCurrtPage = /^page/ig,
    pattPersonalize = /^personalization=true/ig,
    isPersonalized = false,
    filterData = [],
    sort = [],
    lang = [],
    page = [],
    queryParameters = [],
    formatedUrl = {},
    facetItemObj = {};
  urlArray.forEach(function (item) {
    var keyName = item.split("=")[0],
      value = item.split("=")[1],
      tempObj = {},
      facetTitle;
    if (keyName &amp;&amp; value) {
      tempObj[keyName] = value;
      if (keyName === "q") {
        formatedUrl.keyword = formatedUrl.keyword ? value + formatedUrl.keyword : value;
      } else if (keyName === "SES") {
        formatedUrl.keyword = formatedUrl.keyword ? formatedUrl.keyword + " OR " + value : " OR " + value;
      } else if (item.match(pattX) || item.match(pattQ)) {
        emptyObj[keyName] = value;
        filterData.push(tempObj);
      } else if (item.match(pattLang)) {
        lang.push(item);
        formatedUrl.lang = lang;
      } else if (item.match(pattSort)) {
        sort.push(item);
        formatedUrl.sort = sort;
      } else if (item.match(pattPaging) || item.match(pattCurrtPage)) {
        page.push(item);
        formatedUrl.page = page;
      } else if (item.match(pattPersonalize)) {
        isPersonalized = true;
        formatedUrl.isPersonalized = isPersonalized;
      } else if (schemaParams.indexOf(keyName) &gt; -1) {
        facetItemObj[keyName] = facetItemObj[keyName] || {};
        facetItemObj[keyName].parent = value.indexOf("|") &gt; -1 ? value.split("|") : [value];
      } else {
        if (/(_pa$)/ig.test(keyName)) {
          facetTitle = keyName.replace(/_pa$/, "");
          facetItemObj[facetTitle] = facetItemObj[facetTitle] || {};
          facetItemObj[facetTitle].parent = value.indexOf("|") &gt; -1 ? value.split("|") : [value];
        } else if (/(_ch$)/ig.test(keyName)) {
          facetTitle = keyName.replace(/_ch$/, "");
          facetItemObj[facetTitle] = facetItemObj[facetTitle] || {};
          facetItemObj[facetTitle].child = value.indexOf("|") &gt; -1 ? value.split("|") : [value];
        }
      }
    }
  });
  queryParameters = queryParameters.concat(formatParentChildFacets(facetItemObj));
  filterData.forEach(function (value) {
    var xKey = Object.keys(value)[0];
    if (xKey.match(pattX)) {
      var num = xKey.split("x")[1];
      var xValue = emptyObj["x" + num].toLowerCase();
      var qValue = emptyObj["q" + num];
      var tempObj = {};
      if (qValue) {
        if (qValue.indexOf("|") &gt; 0) {
          var qArray = qValue.split("|");
          tempObj[xValue] = qArray;
          facetsAny.push(tempObj);
        } else {
          tempObj[xValue] = qValue;
          facets.push(tempObj);
        }
      }
    }
  });
  formatedUrl.facets = facets;
  formatedUrl.facetsAny = facetsAny;
  formatedUrl.queryParameters = queryParameters;
  return formatedUrl;
}
function formatQuery(queryObj, options) {
  var reqBody = {
    "query": "",
    "filters": {}
  };
  reqBody = plus/* default */.A.extend(true, reqBody, options);
  if (queryObj.keyword) {
    reqBody.query = queryObj.keyword.replace(/\+/g, " ");
  }
  if (Array.isArray(queryObj.facets) &amp;&amp; queryObj.facets.length) {
    reqBody.filters.all = queryObj.facets;
  }
  if (Array.isArray(queryObj.facetsAny) &amp;&amp; queryObj.facetsAny.length) {
    reqBody.filters.any = queryObj.facetsAny;
  }
  if (Array.isArray(queryObj.queryParameters) &amp;&amp; queryObj.queryParameters.length) {
    reqBody.filters.all = reqBody.filters.all || [];
    reqBody.filters.all = reqBody.filters.all.concat(queryObj.queryParameters);
  }
  if (Array.isArray(queryObj.lang) &amp;&amp; queryObj.lang.length) {
    var langValue = queryObj.lang[0];
    var langProp = langValue.split("=")[0].toLowerCase();
    var langVal = langValue.split("=")[1];
    var siteObj = {};
    reqBody.filters.all = reqBody.filters.all || [];
    siteObj[langProp] = langVal;
    reqBody.filters.all.push(siteObj);
  }
  if (Array.isArray(queryObj.sort) &amp;&amp; queryObj.sort.length) {
    var sortValue = queryObj.sort[0];
    var filterProp = sortValue.split("=")[1].toLowerCase();
    if (filterProp) {
      reqBody.sort = {};
      reqBody.sort[filterProp] = "desc";
    }
  }
  return reqBody;
}
function getRequestBody(url) {
  var formatedUrlObj = formatUrl(url);
  return buildQuery(formatedUrlObj);
}
function buildQuery(queryObj) {
  var options = {
    "filters": {}
  };
  if (window.appSearchConfigs &amp;&amp; window.appSearchConfigs.fieldsMapping) {
    if (queryObj.isPersonalized) {
      options.result_fields = window.appSearchConfigs.fieldsMapping.shorter[0];
    } else {
      options.result_fields = window.appSearchConfigs.fieldsMapping.broader[0];
    }
  }
  if (Array.isArray(queryObj.page) &amp;&amp; queryObj.page.length) {
    var currntPage,
      pageSize,
      pattCurrtPage = /^page/ig,
      currentPageIsValid;
    queryObj.page.forEach(function (value) {
      currentPageIsValid = value.match(pattCurrtPage) ? true : false;
      if (currentPageIsValid) {
        currntPage = value.split("=")[1];
      } else {
        pageSize = value.split("=")[1];
      }
    });
    options.page = {};
    options.page.size = pageSize ? parseInt(pageSize) : 1;
    options.page.current = currntPage ? parseInt(currntPage) : 1;
  }
  return formatQuery(queryObj, options);
}
function getRequestBodyForFacets(url, facets) {
  var formatedUrlObj = formatUrl(url);
  return buildQueryForFacets(formatedUrlObj, facets);
}
function buildQueryForFacets(queryObj, facets) {
  var options = {
    "facets": {},
    "page": {
      "size": 0,
      "current": 1
    },
    "filters": {}
  };
  if (Array.isArray(facets) &amp;&amp; facets.length) {
    defaultFacets = facets;
  }
  defaultFacets.forEach(function (key) {
    options.facets[key] = {
      "type": "value",
      "sort": {
        "value": "asc"
      },
      "size": 250
    };
  });
  return formatQuery(queryObj, options);
}
function getFormatedDate(fromValue, toValue) {
  var from = updateDateValue(fromValue),
    to = updateDateValue(toValue),
    updatedDates = [];
  function updateDateValue(value) {
    if (value === "*") {
      return moment_default()(new Date("1990-01-01")).format();
    } else if (value.indexOf("-") &gt; -1) {
      var splittedminusValue = value.split("-");
      return moment_default()().subtract(splittedminusValue[1], "days").format();
    } else if (value.indexOf("+") &gt; -1) {
      var splittedplusValue = value.split("+");
      return moment_default()().add(splittedplusValue[1], "days").format();
    } else {
      return moment_default()().format();
    }
  }
  updatedDates.push(from, to);
  return updatedDates;
}
function validateObj(obj) {
  return obj ? obj.raw : "";
}
function constructFacetHeirarchy(queryParams) {
  var facetItemObj = {},
    facetTitle = "";
  queryParams = queryParams || {};
  Object.keys(queryParams).forEach(function (keyName) {
    var value = queryParams[keyName];
    if (/(_pa$)/ig.test(keyName)) {
      facetTitle = keyName.replace(/_pa$/, "");
      facetItemObj[facetTitle] = facetItemObj[facetTitle] || {};
      facetItemObj[facetTitle].parent = value.indexOf("|") &gt; -1 ? value.split("|") : [value];
    } else if (/(_ch$)/ig.test(keyName)) {
      facetTitle = keyName.replace(/_ch$/, "");
      facetItemObj[facetTitle] = facetItemObj[facetTitle] || {};
      facetItemObj[facetTitle].child = value.indexOf("|") &gt; -1 ? value.split("|") : [value];
    } else if (schemaParams.indexOf(keyName) &gt; -1) {
      facetItemObj[keyName] = {};
      facetItemObj[keyName].parent = value.indexOf("|") &gt; -1 ? value.split("|") : [value];
    } else {
      facetItemObj[keyName] = value;
    }
  });
  Object.keys(facetItemObj).forEach(function (facetTitle) {
    var childFactesArray = [];
    if (Array.isArray(facetItemObj[facetTitle].parent) &amp;&amp; Array.isArray(facetItemObj[facetTitle].child)) {
      facetItemObj[facetTitle].child.forEach(function (item) {
        childFactesArray.push(facetItemObj[facetTitle].parent[0] + "/" + item);
      });
      facetItemObj[facetTitle].parent = childFactesArray;
      delete facetItemObj[facetTitle].child;
    }
  });
  return facetItemObj;
}
function formatFacets(response, facetKeys, queryParams) {
  var formatedFacets = {},
    formatedFacetsArray = [],
    facetItemObj = (0,esm_typeof/* default */.A)(queryParams) === "object" ? constructFacetHeirarchy(queryParams) : {};
  if (Array.isArray(facetKeys) &amp;&amp; facetKeys.length) {
    defaultFacets = facetKeys;
  }
  function handleSecondChild(parent, firstChild, secondChild, count) {
    if (parent in formatedFacets &amp;&amp; formatedFacets[parent].length &gt; 0) {
      formatedFacets[parent].forEach(function (dataItem) {
        if ("facet-name" in dataItem &amp;&amp; dataItem["facet-name"] === firstChild) {
          addChildObject(dataItem);
          addSecondChild(parent, dataItem, firstChild, secondChild, count);
        }
      });
    }
  }
  function addSecondChild(parent, dataItem, firstChild, secondChild, count) {
    var value = {
      "facet-name": secondChild,
      "facet-count": count,
      "facet-parent": dataItem["facet-name"]
    };
    if (facetItemObj[parent] &amp;&amp; facetItemObj[parent].parent &amp;&amp; facetItemObj[parent].parent.indexOf(firstChild + "/" + secondChild) &gt; -1) {
      value["facet-selected"] = true;
    }
    dataItem["facet-child"].push(value);
  }
  function addChildObject(dataItem) {
    if (!("facet-child" in dataItem)) {
      dataItem["facet-child"] = [];
    }
  }
  function handleFirstChild(parent, firstChild, count) {
    var flag = false;
    if (parent in formatedFacets) {
      if (formatedFacets[parent].length &gt; 0) {
        formatedFacets[parent].forEach(function (dataItem) {
          if ("facet-name" in dataItem &amp;&amp; dataItem["facet-name"] === firstChild) {
            flag = true;
          }
        });
        if (flag === false) {
          addFirstChild(parent, firstChild, count);
        }
      } else {
        addFirstChild(parent, firstChild, count);
      }
    }
  }
  function addFirstChild(parent, firstChild, count, selected) {
    var filterArray = [],
      value = {
        "facet-name": firstChild,
        "facet-count": count
      };
    if (facetItemObj[parent] &amp;&amp; Array.isArray(facetItemObj[parent].parent)) {
      filterArray = facetItemObj[parent].parent.filter(function (item) {
        if (item.indexOf(firstChild + "/") &gt; -1) {
          return true;
        }
      });
      if (facetItemObj[parent].parent.indexOf(firstChild) &gt; -1 || filterArray.length) {
        value["facet-selected"] = true;
      }
    }
    if (firstChild === "All") {
      if (selected === true) {
        value["facet-selected"] = true;
      }
      formatedFacets[parent].unshift(value);
    } else {
      formatedFacets[parent].push(value);
    }
  }
  function updateFacetCategory(item) {
    if (!(item in formatedFacets)) {
      formatedFacets[item] = [];
    }
  }
  function handleStructure(parent, thisFacets) {
    if (parent === "kpmg_tab_type") {
      tabs.forEach(function (item) {
        thisFacets.forEach(function (val) {
          if (val.value === item.value) {
            item.value = val.value;
            item.count = val.count;
          }
        });
      });
      thisFacets = tabs;
    }
    thisFacets.forEach(function (item) {
      var value = item.value;
      var count = item.count;
      if (value.indexOf("/") &gt; -1) {
        handleFirstChild(parent, value.split("/")[0], count);
        handleSecondChild(parent, value.split("/")[0], value.split("/")[1], count);
      } else {
        handleFirstChild(parent, value, count);
      }
    });
    if (facetItemObj[parent] &amp;&amp; Object.keys(facetItemObj[parent]).length &gt; 0) {
      addFirstChild(parent, "All", 0);
    } else {
      addFirstChild(parent, "All", 0, true);
    }
  }
  defaultFacets.forEach(function (item) {
    if ((Object.keys(response).length &amp;&amp; item) in response) {
      updateFacetCategory(item);
      var thisItem = response[item];
      var thisFacets = thisItem[0].data;
      handleStructure(item, thisFacets);
    }
  });
  formatedFacetsArray = Object.keys(formatedFacets).map(function (value) {
    var obj = {
      "facet-title": value,
      "facet-values": formatedFacets[value]
    };
    return obj;
  });
  return formatedFacetsArray;
}
function buildURLString(filtersObj) {
  var url = "",
    prependWith = "";
  Object.keys(filtersObj).forEach(function (key, index) {
    if (index) {
      prependWith = "&amp;";
    }
    if (filtersObj[key].parent) {
      url += prependWith + key + "=" + filtersObj[key].parent.join("|");
    } else {
      url += prependWith + key + "=" + filtersObj[key];
    }
  });
  return url;
}
function addPopupUrl(results) {
  var alteredData, popupUrl;
  alteredData = results.map(function (item) {
    popupUrl = "";
    if (item.kpmg_url.raw.indexOf(CommonUtils.CONSTANTS.HOSTNAME) &gt; -1) {
      popupUrl = item.kpmg_url.raw;
      item.popupUrl = popupUrl.split(CommonUtils.CONSTANTS.HOSTNAME)[1];
    }
    return item;
  });
  return alteredData;
}
function checkChildFacetisSelected(eachItem, selectedName, facetSelectedBoolean, facetsObj) {
  var parentfacetSelection = true;
  var filterArray = [];
  if (facetsObj &amp;&amp; Array.isArray(facetsObj.parent)) {
    filterArray = facetsObj.parent.filter(function (item) {
      if (item.indexOf("/") &gt; -1) {
        item = item.split("/")[0];
      }
      return item === eachItem["facet-name"];
    });
  }
  if ((eachItem["facet-selected"] === undefined || eachItem["facet-selected"] === false) &amp;&amp; facetSelectedBoolean === false) {
    parentfacetSelection = false;
  }
  eachItem["facet-child"].forEach(function (childItem) {
    if (parentfacetSelection === false) {
      CommonUtils.facetRetention(childItem, childItem["facet-name"], facetSelectedBoolean);
    } else {
      CommonUtils.facetRetention(childItem, selectedName, facetSelectedBoolean);
    }
    if (childItem["facet-selected"]) {
      CommonUtils.facetRetention(eachItem, childItem["facet-parent"], true);
    } else if (filterArray.length === 0) {
      CommonUtils.facetRetention(eachItem, childItem["facet-parent"], false);
    }
  });
}
function facetRetention(eachItem, selectedName, selectionBoolean, facetsObj) {
  if (eachItem["facet-name"] === selectedName) {
    eachItem["facet-selected"] = selectionBoolean;
  } else if (eachItem["facet-name"] === "All") {
    if (!facetsObj || facetsObj &amp;&amp; Array.isArray(facetsObj.parent) &amp;&amp; facetsObj.parent.length === 0) {
      eachItem["facet-selected"] = true;
    } else {
      delete eachItem["facet-selected"];
    }
  } else if (selectedName === "All") {
    delete eachItem["facet-selected"];
  }
}
function resultFieldsMapping(reqBody, resultfield) {
  if (reqBody !== undefined &amp;&amp; reqBody.constructor === Object) {
    reqBody.result_fields = CommonUtils.CONSTANTS.FIELDSMAP[resultfield] ? CommonUtils.CONSTANTS.FIELDSMAP[resultfield][0] : {};
    if (Object.keys(reqBody.result_fields).length === 0) {
      delete reqBody.result_fields;
    }
  }
  return reqBody;
}
function modifyRenditionPath(comp) {
  var compDom = (0,plus/* default */.A)(comp);
  if (compDom.find("picture").length &gt; 0 &amp;&amp; compDom.find("source").length &gt; 0) {
    compDom.find("source").each(function () {
      if ((0,plus/* default */.A)(this).attr("srcset").indexOf("/jcr:content/renditions/") &gt; -1 &amp;&amp; (0,plus/* default */.A)(this).attr("srcset").indexOf("/is/image") &gt; -1) {
        (0,plus/* default */.A)(this).attr("srcset", updateImagePath((0,plus/* default */.A)(this).attr("srcset")));
      }
    });
  }
  if (compDom.find("img").length &gt; 0) {
    compDom.find("img").each(function () {
      if ((0,plus/* default */.A)(this).attr("src").indexOf("/jcr:content/renditions/") &gt; -1 &amp;&amp; (0,plus/* default */.A)(this).attr("src").indexOf("/is/image") &gt; -1) {
        (0,plus/* default */.A)(this).attr("src", updateImagePath((0,plus/* default */.A)(this).attr("src")));
      }
      if ((0,plus/* default */.A)(this).get(0).hasAttribute("data-desktop") &amp;&amp; (0,plus/* default */.A)(this).attr("data-desktop").indexOf("/jcr:content/renditions/") &gt; -1 &amp;&amp; (0,plus/* default */.A)(this).attr("data-desktop").indexOf("/is/image") &gt; -1) {
        (0,plus/* default */.A)(this).attr("data-desktop", updateImagePath((0,plus/* default */.A)(this).attr("data-desktop")));
      }
      if ((0,plus/* default */.A)(this).get(0).hasAttribute("data-mobile") &amp;&amp; (0,plus/* default */.A)(this).attr("data-mobile").indexOf("/jcr:content/renditions/") &gt; -1 &amp;&amp; (0,plus/* default */.A)(this).attr("data-mobile").indexOf("/is/image") &gt; -1) {
        (0,plus/* default */.A)(this).attr("data-mobile", updateImagePath((0,plus/* default */.A)(this).attr("data-mobile")));
      }
    });
  }
  return compDom;
}
function updateImagePath(imagePath) {
  var regExpr = /(\.gif|\.jpg|\.png)/gi;
  var modifiedImgpath = imagePath.replace(/\/jcr:content\/renditions\//gi, ":").replace(regExpr, "");
  return modifiedImgpath;
}
function getLocationObjectFromCanonicalURL() {
  var locationObject = {},
    readFromPageCanonicalLink = (0,plus/* default */.A)("link[rel$='canonical']").length ? (0,plus/* default */.A)("link[rel$='canonical']").attr("href") : "",
    canonicalUrl = readFromPageCanonicalLink ? readFromPageCanonicalLink.split("/") : [];
  locationObject.pathname = canonicalUrl.length ? "/" + canonicalUrl.slice(3).join("/") : "";
  locationObject.origin = canonicalUrl.length ? canonicalUrl.slice(0, 3).join("/") : "";
  locationObject.href = canonicalUrl.length ? canonicalUrl.join("/") : "";
  locationObject.hostname = canonicalUrl.length ? canonicalUrl[2] : "";
  return locationObject;
}
function getSocialChannel() {
  var socialChannelsList = CONSTANTS.socialChannelsList;
  var socialChannels = [];
  if (CONSTANTS.socialChannels !== undefined) {
    socialChannels = socialChannelsList.filter(function (channel) {
      return CONSTANTS.socialChannels.indexOf(channel) !== -1;
    });
  }
  return socialChannels;
}
function postionSharePopup(shareComponent) {
  var scrollDown = false,
    shareElem = shareComponent._domElem ? shareComponent._domElem[0] : "";
  if (shareElem) {
    scrollDown = isScrolledIntoView(shareElem);
  }
  if (scrollDown) {
    shareComponent.find(".simpleShareUI").removeClass("top");
  } else {
    shareComponent.find(".simpleShareUI").addClass("top");
  }
}
function createSocialShare(shareTitle, shareUrl, createUrlShare) {
  var htmlString = "&lt;div aria-modal=\"true\" role=\"dialog\" aria-labelledby=\"share-title\" class=\"simpleShareUI\" aria-hidden=\"true\"&gt; &lt;div class=\"simpleShareUI-inner\"&gt; &lt;button class=\"icon-simpleShareUI-closeButton\"&gt; &lt;span class=\"sr-only\"&gt;close&lt;/span&gt; &lt;/button&gt; &lt;div class=\"simpleShareUI-caption\"&gt; &lt;div id=\"share-title\" class=\"simpleShareUI-caption-text\"&gt;" + CONSTANTS.shareWithFriendsTitle + "&lt;/div&gt; &lt;/div&gt; &lt;div class=\"share-bar-container\"&gt;";
  var socialChannels = getSocialChannel();
  socialChannels.forEach(addButtons);
  var urlShare = "&lt;button class=\"gig-simpleShareUI-button\" provider=\"urlshare\"&gt;" + "&lt;div class=\"gig-simpleShareUI-button-inner\" data-title=\"" + window.kpmgPersonalize.i18n.customMsgs.urllink + "\"&gt;" + "&lt;span class=\"icon-share\"&gt;&lt;/span&gt;" + "&lt;span style=\"\" class=\"gig-simpleShareUI-buttonText gig-simpleShareUI-custom\"&gt;" + window.kpmgPersonalize.i18n.customMsgs.urllink + " &lt;/span&gt;" + "&lt;/div&gt;" + "&lt;/button&gt;";
  function addButtons(channel) {
    var eachButton = "&lt;div class=\"button-container " + channel + "\"&gt;&lt;button data-sharer=\"" + channel + "\" data-title=\"" + shareTitle + "\" data-url=\"" + shareUrl + "\" class=\"social-share-button-override " + channel + "\"&gt;" + channel + "&lt;span class=\"sr-only\"&gt;Share " + shareTitle + "&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;";
    htmlString += eachButton;
  }
  if (createUrlShare) {
    htmlString += "&lt;/div&gt;" + urlShare + "&lt;/div&gt;&lt;/div&gt;";
  } else {
    htmlString += "&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;";
  }
  return (0,plus/* default */.A)(htmlString);
}
function customScrollTop() {
  var navbarHeight = (0,plus/* default */.A)(".navbar:visible").length ? (0,plus/* default */.A)(".navbar:visible").height() : 0,
    stickybarHeight = (0,plus/* default */.A)(".module-sticky-bar").length ? (0,plus/* default */.A)(".module-sticky-bar").height() : 0,
    blogsnavHeight = (0,plus/* default */.A)(".blogs-navbar-component").length ? (0,plus/* default */.A)(".blogs-navbar-component").outerHeight() : 0,
    horizontalstickynavHeight = (0,plus/* default */.A)(".module-horizontalstickyutilitybar").length ? (0,plus/* default */.A)(".module-horizontalstickyutilitybar").outerHeight() : 0;
  if ((0,plus/* default */.A)(".module-horizontalstickyutilitybar").length) {
    var mobileOffset;
    if (window.kpmg.isMobile) {
      mobileOffset = 18;
      if ((0,plus/* default */.A)(".module-horizontalstickyutilitybar").outerHeight() &lt; 45) {
        horizontalstickynavHeight += mobileOffset + 80;
      } else {
        horizontalstickynavHeight += mobileOffset - 20;
      }
    } else {
      mobileOffset = 0;
      if ((0,plus/* default */.A)(".module-horizontalstickyutilitybar").outerHeight() &lt; 45) {
        horizontalstickynavHeight += mobileOffset + 58;
      } else {
        horizontalstickynavHeight += mobileOffset;
      }
    }
  }
  var totalHeight = navbarHeight + stickybarHeight + blogsnavHeight + horizontalstickynavHeight;
  return totalHeight;
}
function locationRfpModal(redirectURL) {
  if (window.kpmgPersonalize.snp &amp;&amp; window.kpmgPersonalize.snp.params.countryCode &amp;&amp; window.kpmgPersonalize.snp.params.countryCode === "xx") {
    var plusKpmgModal = (0,plus/* default */.A)("#kpmgModal");
    if (plusKpmgModal.find(".modal-peoplecontactdialog") || plusKpmgModal.find(".modal-contactdialog")) {
      plusKpmgModal.find("[data-bs-dismiss=modal]").trigger("click");
      setTimeout(function () {
        loadLocationModal();
      }, 300);
    } else {
      loadLocationModal();
    }
  } else {
    window.location.href = encodeURI(redirectURL);
  }
}
function loadLocationModal() {
  var plusKpmgModal = (0,plus/* default */.A)("#kpmgModal"),
    plusKpmgModalInstance,
    remotepath = window.kpmgPersonalize.misc ? window.kpmgPersonalize.misc.RfpFormLocationSelector : "";
  window.kpmg.modalOpenerUrl = "/etc/partials/kpmgpublic/location-rfp-modal/location-rfp-modal.html";
  plusKpmgModal.addClass("rfplocationmodal");
  if (remotepath.length &gt; 0) {
    plusKpmgModalInstance = bootstrap5/* default */.A.Modal.getOrInitInstance(plusKpmgModal.get(0), {
      backdrop: "static",
      keyboard: false
    });
    plusKpmgModalInstance.remote(remotepath);
    plusKpmgModalInstance.hide();
  }
}
function getOffsetTop(ele) {
  var offset = 0;
  function offsetSum() {
    offset += ele.offsetTop;
    ele = ele.offsetParent;
    if (ele !== null) {
      offsetSum();
    }
  }
  offsetSum();
  return offset;
}
function getFirstElementBelowFold() {
  var objects = document.getElementsByClassName("component"),
    firstBelowFold;
  for (var i = 0; i &lt; objects.length; i++) {
    if (getOffsetTop(objects[i]) &gt; window.innerHeight) {
      firstBelowFold = objects[i];
      break;
    }
  }
  return firstBelowFold;
}
function initLazyVideo(lazyVideo) {
  if ("IntersectionObserver" in window) {
    var lazyVideoObserver;
    lazyVideoObserver = new IntersectionObserver(function (entries) {
      entries.forEach(function (video) {
        if (video.isIntersecting &amp;&amp; video.target.children) {
          var videoSource = video.target.children[0];
          if (typeof videoSource.tagName === "string" &amp;&amp; videoSource.tagName === "SOURCE") {
            videoSource.src = videoSource.dataset.src;
          }
          video.target.load();
          lazyVideoObserver.unobserve(video.target);
        }
      });
    });
    lazyVideoObserver.observe(lazyVideo);
  }
}
function recaptchaEnable() {
  var plainScriptElement = document.querySelector(".recaptchaenable"),
    jsScriptElement = document.createElement("script");
  if (plainScriptElement) {
    jsScriptElement.textContent = plainScriptElement.textContent;
    jsScriptElement.type = "text/javascript";
    plainScriptElement.parentNode.replaceChild(jsScriptElement, plainScriptElement);
  }
}
var CommonUtils$1 = CommonUtils;


/***/ }),

/***/ 1662:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) =&gt; {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   A: () =&gt; (/* binding */ ajaxManager)
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2284);
/* harmony import */ var _plus_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8081);


var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof self !== 'undefined' ? self : {};
function createCommonjsModule(fn, module) {
  return module = {
    exports: {}
  }, fn(module, module.exports), module.exports;
}
var ajaxManager = createCommonjsModule(function (module, exports) {
  (function (root, factory) {
    {
      module.exports = factory(root.CQService, _plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A);
    }
  })(commonjsGlobal, function (service, plus) {
    var options = {
      baseUrl: document.location.origin + '/remove.html/',
      // The URL to call on every request
      extension: '.export',
      // the extension to use on every request
      recordSize: 5,
      // the number of records to call on each request
      callbackParams: {} // an artibrary object for callback
    };
    //need to explicitly set $ due to jQuery.noConflict
    //$ = window.jQuery;

    function CQService(component, opts) {
      if (!component) {
        this.error('A component name is required for the CQService');
      }
      this.component = component;
      this.data = false;
      this.val = false;
      // set options
      this.params = plus.extend({}, options, opts);
    }

    /**
     * Checks if the type is truely an object type
     *
     * @private
     *
     * @method isObject
     * @param {Object} obj - The object to check
     * @return {Boolean} Returns true or false
     **/
    CQService.prototype.isObject = function (obj) {
      return Object.prototype.toString.call(obj).slice(8, -1) === "Object";
    };

    /**
     * Iterates over an object looking for a specific key.
     * It returns the value or false if the key isn't found
     *
     * @private
     *
     * @method iterate
     * @param {Object} obj - The object to iterate over
     * @param {String} key - The key for the value
     * @return {any} Returns the associate value for the key or false if nothing found
     **/
    CQService.prototype.iterate = function (obj, key) {
      if (this.isObject(obj)) {
        var keys = Object.getOwnPropertyNames(obj),
          len = keys.length;
        for (var i = 0; i &lt; len; i++) {
          if (keys[i] !== key) {
            this.iterate(obj[keys[i]], key);
          } else {
            this.val = obj[keys[i]];
            break;
          }
        }
        return this.val;
      }
    };

    /**
     * If data is already loaded, retrieves the value for the key
     *
     * @method getValueByKey
     * @param {String} key - The key for the value
     * @return {any} Returns the associate value for the key
     **/
    CQService.prototype.getValueByKey = function (key) {
      if (key &amp;&amp; this.data) {
        return this.iterate(this.data, key);
      }
    };

    /**
     * A generic error handler
     *
     * @private
     *
     * @method error
     * @param {String} msg - The message to display
     * @return {Null} Returns nothing
     **/
    CQService.prototype.error = function (msg) {
      //console.log('An error occured due to JSON response is blank', msg);
    };

    /**
     * Calls a service and returns the result. Optionally filters
     * the result and returns a specific key.
     *
     * @method fetch
     * @param {Function} callback - The callback when the service call succeeds
     * @param {String} key (Optional) - The key to filter the results by (pass null if not needed, but page is)
     * @param {Number} page (Optional) - The page to retrieve
     * @param {Number} records (Optional) - The record size to fetch
     * @return {any} Object of data or false if key doesnt' exist
     **/
    CQService.prototype.fetch = function (callback, key, page, records) {
      var timestamp = new Date().getTime();
      plus.ajax({
        dataType: "json",
        url: this.params.baseUrl + '.' + (records || this.params.recordSize) + this.params.extension + '/' + this.component + '/' + page + '.json?t=' + timestamp,
        success: plus.proxy(function (data) {
          this.data = data;
          if (key) {
            data = this.iterate(data, key);
          }
          callback(data, this.data, this.params.callbackParams);
        }, this),
        error: plus.proxy(function (bj, msg, err) {
          this.error(err.message);
        }, this)
      });
    };

    /**
     * Calls a service and returns the result. Optionally filters
     * the result and returns a specific key.
     *
     * @method searchFetch
     * @param {Function} callback - The callback when the service call succeeds
     * @param {String} paramUrl - The key to filter the results by (pass null if not needed, but page is)
     * @return {any} Object of data or false if key doesnt' exist
     **/
    CQService.prototype.searchFetch = function (callback, paramUrl, operation) {
      var ur = paramUrl;
      if (window.KPMG &amp;&amp; !KPMG.isAuthor) {
        plus.ajax({
          dataType: "json",
          url: this.params.baseUrl + paramUrl,
          success: plus.proxy(function (data) {
            this.data = data;
            this.params.callbackParams.url = ur.indexOf('?') &lt; 0 ? this.params.baseUrl.split('/search')[1] : ur;
            this.params.callbackParams.url = this.params.callbackParams.url.replace(/%252C/gi, ',');
            this.params.callbackParams.param = paramUrl;
            callback(data, this.params.callbackParams, operation);
          }, this),
          error: plus.proxy(function (bj, msg, err) {
            this.error(err.message);
          }, this)
        });
      }
    };

    /**
     * Calls a service and returns the result. Optionally filters
     * the result and returns a specific key.
     *
     * @method SOLRFetch
     * @param {Function} callback - The callback when the service call succeeds
     * @param {String} key (Optional) - The key to filter the results by (pass null if not needed, but page is)
     * @param {Number} page - The page to retrieve
     * @param {Number} records - The record size to fetch
     * @return {any} Object of data or false if key doesnt' exist
     **/
    CQService.prototype.SOLRFetch = function (callback, key, records, page) {
      if (window.KPMG &amp;&amp; !KPMG.isAuthor) {
        plus.ajax({
          dataType: "json",
          url: this.params.baseUrl + "&amp;rows=" + records + "&amp;start=" + page,
          success: plus.proxy(function (data) {
            this.data = data;
            if (key) {
              data = this.iterate(data, key);
            }
            callback(data, this.data, this.params.callbackParams);
          }, this),
          error: plus.proxy(function (bj, msg, err) {
            this.error(err.message);
          }, this)
        });
      }
    };
    /**
     * Elastic App Search
     * Ajax call
     * searchUrl - Engine url
     * searchbody - Request body
     */
    CQService.prototype.appSearch = function (searchUrl, searchbody) {
      return new Promise(function (resolve, reject) {
        plus.ajax({
          method: "POST",
          url: searchUrl,
          contentType: 'application/json',
          data: JSON.stringify(searchbody),
          success: function success(data) {
            resolve(data);
          },
          error: function error(_error) {
            _error.status = (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(searchbody) !== 'object' ? _error.status + " because request body is expecting an object, instead of " + (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(searchbody) : _error.status;
            reject(_error);
          }
        });
      });
    };

    /**
     * Ajax Request which is of type GET, accepts requestURL
     */

    CQService.prototype.ajaxGETRequest = function (requestURL) {
      return new Promise(function (resolve, reject) {
        plus.ajax({
          method: "GET",
          url: requestURL,
          success: function success(data) {
            resolve(data);
          },
          error: function error(_error2) {
            reject(_error2);
          }
        });
      });
    };
    return CQService;
  });
});


/***/ }),

/***/ 8764:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) =&gt; {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   A: () =&gt; (/* binding */ helpers)
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2284);
/* harmony import */ var _plus_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8081);


var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof self !== 'undefined' ? self : {};
function createCommonjsModule(fn, module) {
  return module = {
    exports: {}
  }, fn(module, module.exports), module.exports;
}
var helpers = createCommonjsModule(function (module, exports) {
  /* global s */
  /* _satellite */
  (function (root, factory) {
    {
      module.exports = factory(_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A);
    }
  })(commonjsGlobal, function (helpers, plus) {
    function Helpers() {}
    // Returns a function, that, as long as it continues to be invoked, will not
    // be triggered. The function will be called after it stops being called for
    // N milliseconds. If `immediate` is passed, trigger the function on the
    // leading edge, instead of the trailing.
    Helpers.prototype.debounce = function (func, wait, immediate) {
      var timeout;
      return function () {
        var context = this,
          args = arguments,
          later = function later() {
            timeout = null;
            if (!immediate) {
              func.apply(context, args);
            }
          },
          callNow = immediate &amp;&amp; !timeout;
        clearTimeout(timeout);
        timeout = setTimeout(later, wait);
        if (callNow) {
          func.apply(context, args);
        }
      };
    };
    /**
     * helper method for date format - please update in handlebars-helpers.js
     * 
     * @private
     * @method dateFormat
     * 
     * @param {String} date - Date Ex: Thu Feb 12 2015 17:38:02 GMT+0530 (India Standard Time)
     * @param {String} locale - locale Ex: en-us
     * @param {String} formatType  - return date format type
     * 
     * @return {String} Date as a string with provided format
     * 
     **/
    Helpers.prototype.dateFormat = function (date, i18nProperties, dateProperties) {
      if (!date &amp;&amp; !i18nProperties &amp;&amp; !dateProperties) {
        return date;
      }
      var dateFormat = {
        pad: function pad(val, len) {
          val = String(val);
          len = len || 2;
          while (val.length &lt; len) val = "0" + val;
          return val;
        },
        getDate: function getDate(dateType) {
          if (!this.date) {
            return null;
          }
          var date = this.date.getDate();
          switch (dateType) {
            case "dd":
              return this.pad(date);
            case "ddd":
              return Math.round((this.date.setHours(23) - new Date(this.date.getYear() + 1900, 0, 1, 0, 0, 0)) / 1000 / 60 / 60 / 24);
            default:
              return date;
          }
        },
        getMonth: function getMonth(monthType, monthCase) {
          if (!this.date) {
            return null;
          }
          var month = this.date.getMonth();
          switch (monthType) {
            case "mm":
              month = this.pad(month + 1);
              break;
            case "mmm":
              month = this.i18nLabels.shortMonths[month];
              break;
            case "mmmm":
              month = this.i18nLabels.longMonths[month];
              break;
            default:
              month = month + 1;
              break;
          }
          switch (monthCase) {
            case "lc":
              return month.toLowerCase();
            case "uc":
              return month.toUpperCase();
            default:
              return month;
          }
        },
        getYear: function getYear(yearType) {
          if (!this.date) {
            return null;
          }
          var year = this.date.getFullYear();
          switch (yearType) {
            case "yy":
              return String(year).slice(2);
            default:
              return year;
          }
        },
        getHourMinute: function getHourMinute(hourType) {
          if (!this.date) {
            return null;
          }
          var hour = this.date.getHours(),
            minute = this.date.getMinutes(),
            ampm = hour &gt;= 12 ? this.i18nLabels.timeMeridiems[1] : this.i18nLabels.timeMeridiems[0],
            showMeridiem = this.dateFormatProperties.showMeridiem,
            timeSeparator = this.dateFormatProperties.timeSeparator,
            meridiem;
          if (showMeridiem &amp;&amp; showMeridiem !== "undefined") {
            meridiem = ampm;
          } else {
            meridiem = "";
          }
          switch (hourType) {
            case "hh":
              return " " + this.pad(hour % 12 || 12) + timeSeparator + this.pad(minute) + " " + meridiem;
            default:
              return " " + this.pad(hour) + timeSeparator + this.pad(minute);
          }
        },
        getDateValue: function getDateValue(val, type) {
          switch (val) {
            case "day":
              return this.getDate(type.dayType);
            case "month":
              return this.getMonth(type.monthType, type.monthCase);
            case "year":
              return this.getYear(type.yearType);
            case "time":
              return this.getHourMinute(type.hourType);
            default:
              return "";
          }
        },
        getFormattedDate: function getFormattedDate() {
          if (!this.dateFormatProperties) {
            return this.date;
          }
          var dateField = "";
          for (var field in this.dateFormatProperties.fields) {
            for (var item in this.dateFormatProperties.fields[field]) {
              var itemVal = this.dateFormatProperties.fields[field][item],
                separatorVal;
              if (field &lt;= 2) {
                separatorVal = this.dateFormatProperties.separators[field][item];
              }
              dateField += this.getDateValue(itemVal, this.dateFormatProperties.transformations);
              if (itemVal !== "null") {
                if (item === "item4") {
                  separatorVal = " ";
                }
                dateField += separatorVal ? separatorVal : "";
              }
            }
          }
          return dateField;
        }
      };
      //converting "-" into " space" as IE does not support "-"" format to generate new date
      if (date.indexOf(":") === -1 &amp;&amp; date.indexOf(",") === -1 &amp;&amp; date.indexOf("-") !== -1) {
        date = date.replace(/-/g, " ");
      }
      dateFormat.date = new Date(date);
      dateFormat.i18nLabels = i18nProperties;
      dateFormat.dateFormatProperties = dateProperties;
      return dateFormat.getFormattedDate();
    };
    /**
     * helper method for time zone format - please update in handlebars-helpers.js
     * 
     **/

    Helpers.prototype.timeZoneFormat = function (timezone, i18nProperties, dateProperties) {
      if (!timezone &amp;&amp; !i18nProperties &amp;&amp; !dateProperties) {
        return timezone;
      }
      var timeZoneFormat = {
        pad: function pad(val, len) {
          val = String(val);
          len = len || 2;
          while (val.length &lt; len) val = "0" + val;
          return val;
        },
        getHourMinute: function getHourMinute(hourType) {
          if (!this.startTime &amp;&amp; !this.endTime) {
            return null;
          }
          var hour1 = this.startTime.split(':')[0],
            minute1 = this.startTime.split(':')[1],
            ampm1 = this.startTimeMerdiem === this.i18nLabels.timeMeridiems[1] ? this.i18nLabels.timeMeridiems[1] : this.i18nLabels.timeMeridiems[0],
            hour2 = this.endTime.split(':')[0],
            minute2 = this.endTime.split(':')[1],
            ampm2 = this.endTimeMerdiem === this.i18nLabels.timeMeridiems[1] ? this.i18nLabels.timeMeridiems[1] : this.i18nLabels.timeMeridiems[0],
            showMeridiem = this.dateFormatProperties.showMeridiem,
            timeSeparator = this.dateFormatProperties.timeSeparator,
            meridiem1,
            meridiem2,
            hour3,
            hour4;
          if (ampm1 === this.i18nLabels.timeMeridiems[1]) {
            hour3 = Number(hour1) + 12;
          } else {
            hour3 = hour1;
          }
          if (ampm2 === this.i18nLabels.timeMeridiems[1]) {
            hour4 = Number(hour2) + 12;
          } else {
            hour4 = hour2;
          }
          if (showMeridiem &amp;&amp; showMeridiem !== "undefined") {
            meridiem1 = ampm1;
            meridiem2 = ampm2;
          } else {
            meridiem1 = "";
            meridiem2 = "";
          }
          switch (hourType) {
            case "hh":
              if (showMeridiem) {
                return " " + this.pad(hour1) + timeSeparator + this.pad(minute1) + " " + meridiem1 + " - " + this.pad(hour2) + timeSeparator + this.pad(minute2) + " " + meridiem2;
              } else {
                return " " + this.pad(hour1) + timeSeparator + this.pad(minute1) + " - " + this.pad(hour2) + timeSeparator + this.pad(minute2);
              }
            default:
              return " " + this.pad(hour3) + timeSeparator + this.pad(minute1) + " - " + this.pad(hour4) + timeSeparator + this.pad(minute2);
          }
        }
      };
      timeZoneFormat.startTime = timezone.split(',')[0].split('-')[0].split(' ')[0];
      timeZoneFormat.endTime = timezone.split(',')[0].split('-')[1].trim().split(' ')[0];
      timeZoneFormat.startTimeMerdiem = timezone.split(',')[0].split('-')[0].split(' ')[1];
      timeZoneFormat.endTimeMerdiem = timezone.split(',')[0].split('-')[1].trim().split(' ')[1];
      timeZoneFormat.timezone = timezone.split(',')[1].trim();
      timeZoneFormat.i18nLabels = i18nProperties;
      timeZoneFormat.dateFormatProperties = dateProperties;
      return timeZoneFormat.getHourMinute(timeZoneFormat.dateFormatProperties.transformations.hourType) + ", " + timeZoneFormat.timezone;
    };

    /**
     * helper method for filter particular JSON object
     * 
     * @private
     * @method filterJSON
     * 
     * @param {object} json - json object
     * @param {String} key - json key
     * 
     * @return {json}
     * 
     **/
    Helpers.prototype.filterJSON = function (json, key) {
      if (!json) {
        return json;
      }
      var hits = [];
      plus.each(json, function (k, v) {
        if (k === key) {
          hits.push(v);
        }
        if (typeof v === "string") {
          return true;
        } else if (Array.isArray(v) || (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(v) === 'object' &amp;&amp; v !== null) {
          var r = Helpers.prototype.filterJSON.call(this, v, key);
          if (r.length &gt; 0) {
            hits = hits.concat(r);
          }
        }
      });
      return hits;
    };
    /**
     * helper method for xml to JSON object
     * 
     * @private
     * @method xmlToJson
     * 
     * @param {xml} xml - xml object
     * 
     * @return {json}
     * 
     **/
    Helpers.prototype.xmlToJson = function (xml) {
      var obj = {};
      if (xml.nodeType === 1) {
        if (xml.attributes.length &gt; 0) {
          obj.searchInputs = {};
          for (var j = 0; j &lt; xml.attributes.length; j++) {
            var attribute = xml.attributes.item(j);
            obj.searchInputs[attribute.nodeName] = attribute.value;
          }
        }
      } else if (xml.nodeType === 3) {
        obj = xml.nodeValue;
      }
      if (xml.hasChildNodes()) {
        for (var i = 0; i &lt; xml.childNodes.length; i++) {
          var item = xml.childNodes.item(i);
          var nodeName = item.nodeName;
          if (typeof obj[nodeName] === "undefined") {
            obj[nodeName] = Helpers.prototype.xmlToJson.call(this, item);
          } else {
            if (typeof obj[nodeName].push === "undefined") {
              var old = obj[nodeName];
              obj[nodeName] = [];
              obj[nodeName].push(old);
            }
            obj[nodeName].push(Helpers.prototype.xmlToJson.call(this, item));
          }
        }
      }
      return obj;
    };
    /**
     * Helper method for warping the tracking calls
     * to avoid breaking of the components/templates
     *
     * @private
     * @method triggerSatteliteTracking
     * 
     * @param {string} trackingName - trackingName string
     * 
     **/
    Helpers.prototype.triggerSatteliteTracking = function (trackingName, obj) {
      try {
        obj ? _satellite.track(trackingName, obj) : _satellite.track(trackingName);
      } catch (err) {
        //console.log('Tracking error : ', err);
      }
    };

    /**
     * Helper method for getting query values
     * 
     *
     * @string (url)
     * @method triggerSatteliteTracking
     * 
     * @param {string} getUrlParams - trackingName string
     * 
     **/
    Helpers.prototype.getUrlParams = function (queryString) {
      var keyArrays = {};
      try {
        var queryComponents = queryString.indexOf("?") &gt; -1 ? queryString.split("?") : "",
          q = queryComponents[1] ? queryComponents[1].split("&amp;") : "",
          keyArrays = [];
        for (var i = 0; i &lt; q.length; i++) {
          var s = q[i].split("=");
          keyArrays[s[0]] = decodeURI(s[1]);
        }
      } catch (err) {}
      return keyArrays;
    };
    Helpers.prototype.isOSXSafari = function () {
      if (navigator.userAgent.indexOf('Mac OS X') != -1 &amp;&amp; navigator.userAgent.indexOf('Safari') != -1 &amp;&amp; navigator.userAgent.indexOf('Chrome') == -1) {
        return true;
      }
    };

    /* Focus trap code adapted from: https://hiddedevries.nl/en/blog/2017-01-29-using-javascript-to-trap-focus-in-an-element */
    Helpers.prototype.trapFocus = function (element, namespace) {
      var focusableEls = plus(element).find('a, object, :input, iframe, [tabindex]').not('svg'),
        firstFocusableEl = focusableEls.first()[0],
        lastFocusableEl = focusableEls.last()[0],
        KEYCODE_TAB = 9;
      plus(element).on('keydown', function (e) {
        var isTabPressed = e.key === 'Tab' || e.keyCode === KEYCODE_TAB;
        if (!isTabPressed) {
          return;
        }
        if (e.shiftKey) {
          /* shift + tab */
          if (document.activeElement === firstFocusableEl) {
            lastFocusableEl.trigger('focus');
            e.preventDefault();
          }
        } else {
          /* tab */
          if (document.activeElement === lastFocusableEl) {
            firstFocusableEl.trigger('focus');
            e.preventDefault();
          }
        }
      });
    };
    Helpers.prototype.undoTrapFocus = function (element, namespace) {
      plus(element).off('keydown.' + namespace);
    };
    return new Helpers();
  });
});


/***/ }),

/***/ 8081:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) =&gt; {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   A: () =&gt; (/* binding */ plus$2)
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(388);
/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3954);
/* harmony import */ var _babel_runtime_helpers_get__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(991);
/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(5501);
/* harmony import */ var _babel_runtime_helpers_wrapNativeSuper__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(8614);
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3029);
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(2901);
/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4467);
/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5458);
/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2284);










function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
function _superPropGet(t, e, o, r) { var p = (0,_babel_runtime_helpers_get__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A)((0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(1 &amp; r ? t.prototype : t), e, o); return 2 &amp; r &amp;&amp; "function" == typeof p ? function (t) { return p.apply(o, t); } : p; }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r &amp;&amp; (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r &lt; arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol &amp;&amp; r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e &amp;&amp; r &amp;&amp; "number" == typeof r.length) { t &amp;&amp; (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n &gt;= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t &amp;&amp; r.constructor &amp;&amp; (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a &gt; r.length) &amp;&amp; (a = r.length); for (var e = 0, n = Array(a); e &lt; a; e++) n[e] = r[e]; return n; }
var libUtils = {
  options: {
    singleTag: /^&lt;([a-z][^\/\0&gt;:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?&gt;(?:&lt;\/\1&gt;|)$/i,
    winDoc: window.document,
    winObj: document.defaultView,
    isCamelCase: /[A-Z]+/g,
    regxClass: /\.+/,
    regxId: /\#+/,
    regxHasAlphabets: /[^\-0-9]+/g,
    regxAttributeSelector: /^\[.+=?.*\]$/,
    isColon: /\:/,
    regxHasDigits: /\d+/g
  },
  isNode: function isNode(o) {
    //Returns true if it is a DOM node
    return (typeof Node === "undefined" ? "undefined" : (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(Node)) === "object" ? o instanceof Node : o &amp;&amp; (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(o) === "object" &amp;&amp; typeof o.nodeType === "number" &amp;&amp; typeof o.nodeName === "string";
  },
  isElement: function isElement(o) {
    //Returns true if it is a DOM element
    return (typeof HTMLElement === "undefined" ? "undefined" : (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(HTMLElement)) === "object" ? o instanceof HTMLElement :
    //DOM2
    o &amp;&amp; (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(o) === "object" &amp;&amp; o !== null &amp;&amp; o.nodeType === 1 &amp;&amp; typeof o.nodeName === "string";
  },
  addEvent: function addEvent(_self, container, event, callback, onlyOnce) {
    _self.prevObj = container;
    var eventName = event &amp;&amp; event !== "template.loaded" &amp;&amp; event.indexOf(".bs.") === -1 ? event.split('.')[0] : event;
    container.forEach(function (dom) {
      if (!dom.namespace) {
        dom.namespace = {};
      }
      dom.addEventListener(eventName, executeThis, false);
      if (dom.namespace[event]) {
        dom.namespace[event].push(executeThis);
      } else {
        dom.namespace[event] = [executeThis];
      }
      //

      function executeThis(e) {
        var callFunction = true;
        if (onlyOnce) {
          var custAttr = 'custom' + eventName;
          if (dom[custAttr]) {
            dom[custAttr].eventLen = dom[custAttr].eventLen + 1;
          } else {
            dom[custAttr] = {};
            dom[custAttr].eventLen = 1;
            dom[custAttr].fun = callback;
          }
          if (dom[custAttr].eventLen &gt; 1) {
            delete dom[custAttr];
            callFunction = false;
            dom.removeEventListener(eventName, executeThis, false);
          }
        }
        if (callFunction) {
          callback.call(dom, e);
        }
      }
    });
  },
  handleMultiAddEvents: function handleMultiAddEvents(_self, events, domElem, callback, onlyOnce) {
    var _this = this;
    events.forEach(function (event) {
      if (event &amp;&amp; onlyOnce) {
        _this.addEvent(_self, domElem, event, callback, onlyOnce);
      } else if (event) {
        _this.addEvent(_self, domElem, event, callback);
      }
    });
  },
  addDelegateEvent: function addDelegateEvent(_self, container, selector, event, callback) {
    var data = arguments.length &gt; 5 &amp;&amp; arguments[5] !== undefined ? arguments[5] : false;
    var eventName = event &amp;&amp; event !== "template.loaded" ? event.split('.')[0] : event;
    // modify selector to include both the selected element and child elements of the selected element
    var matchSelector = [],
      realTarget,
      filter = '',
      searchRegExp = '',
      replaceWith = '';

    // support for :not operator
    if (selector.indexOf(':not') &gt; -1) {
      filter = selector.substring(selector.indexOf(':') + 1);
      selector = selector.split(':')[0];
      // https://stackoverflow.com/questions/17779744/regular-expression-to-get-a-string-between-parentheses-in-javascript/17780281
      var regExp = /\(([^)]+)\)/;
      filter = regExp.exec(filter)[1];
      if (filter &amp;&amp; filter.charAt(filter.length - 1) !== "\"" &amp;&amp; filter.charAt(filter.length - 1) !== "'") {
        filter = "\"".concat(filter.replace(/\"/g, "'"), "\"");
      }
      filter = JSON.parse(filter);
    }
    /**
     * input fields - selectors mentioned with :(colon)
     * will be replaced with respective selectors
     */
    if (this.options.isColon.test(selector)) {
      if (selector.indexOf(':button') &gt; -1) {
        searchRegExp = /\:button/gi;
        replaceWith = "button, input[type='button']";
        selector = selector.replace(searchRegExp, replaceWith);
      }
      if (selector.indexOf(':input') &gt; -1) {
        searchRegExp = /\:input/gi;
        replaceWith = "button, input, select, textarea";
        selector = selector.replace(searchRegExp, replaceWith);
      }
      if (selector.indexOf(':checkbox') &gt; -1) {
        searchRegExp = /\:checkbox/gi;
        replaceWith = "[type='checkbox']";
        selector = selector.replace(searchRegExp, replaceWith);
      }
    }
    var _iterator = _createForOfIteratorHelper(selector.split(",")),
      _step;
    try {
      for (_iterator.s(); !(_step = _iterator.n()).done;) {
        var s = _step.value;
        if (s &amp;&amp; s.indexOf(':') === -1) {
          matchSelector.push(s);
          matchSelector.push("".concat(s, " *")); // e.g. '#parent *' to match all children
        }
      }
    } catch (err) {
      _iterator.e(err);
    } finally {
      _iterator.f();
    }
    matchSelector = matchSelector.join(",");
    container.forEach(function (c) {
      if (!c.namespace) {
        c.namespace = {};
      }
      c.addEventListener(eventName, executeThis, true);
      if (c.namespace[event]) {
        c.namespace[event].push(executeThis);
      } else {
        c.namespace[event] = [executeThis];
      }
      // keep track of delegate events added to c
      if (!c.delegateSelectors) {
        c.delegateSelectors = [[selector, event, executeThis]];
      } else {
        c.delegateSelectors.push([selector, event, executeThis]);
      }
      function executeThis(e) {
        if (matchSelector.length &amp;&amp; e.target &amp;&amp; e.target.matches(matchSelector)) {
          // confirm if element is parent element or child element
          if (e.target.matches(selector)) {
            realTarget = e.target;
          } else {
            var tagName = e.target.tagName.toLowerCase();
            // if child element is anchor or button with attached event ignore
            if (['button', 'input'].indexOf(tagName) !== -1 || e.target.namespace &amp;&amp; e.target.namespace[event]) {
              return;
            }
            // find which parent the child element belongs to
            var parents = document.querySelectorAll(libUtils.escapeClassnameQueryCSS(selector));
            var _iterator2 = _createForOfIteratorHelper(parents),
              _step2;
            try {
              for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
                var p = _step2.value;
                if (p.contains(e.target)) {
                  realTarget = p;
                }
              }
              // confirm child element is not within a more specific delegation parent with a diff namespace
            } catch (err) {
              _iterator2.e(err);
            } finally {
              _iterator2.f();
            }
            var _iterator3 = _createForOfIteratorHelper(c.delegateSelectors.filter(function (obj) {
                return obj[0] !== selector;
              })),
              _step3;
            try {
              for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
                var se = _step3.value;
                var results = realTarget.querySelectorAll(libUtils.escapeClassnameQueryCSS(se[0]));
                if (results.length) {
                  var _iterator4 = _createForOfIteratorHelper(results),
                    _step4;
                  try {
                    for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
                      var r = _step4.value;
                      if (r.contains(e.target) &amp;&amp; se[1] !== event) {
                        return;
                      }
                    }
                  } catch (err) {
                    _iterator4.e(err);
                  } finally {
                    _iterator4.f();
                  }
                }
              }
            } catch (err) {
              _iterator3.e(err);
            } finally {
              _iterator3.f();
            }
          }
          // confirm realTarget isn't included in not filter
          if (filter &amp;&amp; e.target.matches(filter)) {
            return;
          }
          // modify event targets to point to element which the event has occured rather than container
          var TARGET_METHODS = ["currentTarget"];
          var eventCopy = new Proxy(e, {
            get: function get(target, prop) {
              if (TARGET_METHODS.indexOf(prop) !== -1) {
                return realTarget;
              } else if (data &amp;&amp; prop === "data") {
                return data;
              } else {
                var value = target[prop];
                return typeof value == 'function' ? value.bind(target) : value;
              }
            }
          });
          callback.call(realTarget, eventCopy);
        }
      }
    });
  },
  handleMultiAddDelegateEvents: function handleMultiAddDelegateEvents(_self, events, container, selector, callback, data) {
    var _this2 = this;
    events.forEach(function (event) {
      if (event) {
        _this2.addDelegateEvent(_self, container, selector, event, callback, data);
      }
    });
  },
  removeEvent: function removeEvent(container, event, callback) {
    var eventName = event &amp;&amp; event !== "template.loaded" &amp;&amp; event.indexOf(".bs.") === -1 ? event.split('.')[0] : event;
    container.forEach(function (dom) {
      if (dom.namespace &amp;&amp; dom.namespace[event]) {
        var _iterator5 = _createForOfIteratorHelper(dom.namespace[event]),
          _step5;
        try {
          for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
            var _callback = _step5.value;
            dom.removeEventListener(eventName, _callback, false);
            // account for delegate events registered also
            dom.removeEventListener(eventName, _callback, true);
          }
        } catch (err) {
          _iterator5.e(err);
        } finally {
          _iterator5.f();
        }
        delete dom.namespace[event];
      }
    });
  },
  handleMultiRemoveDelegateEvents: function handleMultiRemoveDelegateEvents(events, domElem, selector) {
    var container = domElem;
    if (events) {
      events.forEach(function (event) {
        if (event) {
          var callbacks,
            eventName = event &amp;&amp; event !== "template.loaded" &amp;&amp; event.indexOf(".bs.") === -1 ? event.split('.')[0] : event;
          container.forEach(function (dom) {
            if (dom.delegateSelectors) {
              callbacks = dom.delegateSelectors.filter(function (ds) {
                return ds[0] === selector &amp;&amp; ds[1] === eventName;
              });
              var _iterator6 = _createForOfIteratorHelper(callbacks),
                _step6;
              try {
                var _loop = function _loop() {
                  var callback = _step6.value;
                  dom.removeEventListener(eventName, callback, false);
                  // account for delegate events registered also
                  dom.removeEventListener(eventName, callback, true);
                  // remove from namespace as well
                  if (dom.namespace[event]) dom.namespace[event] = dom.namespace[event].filter(function (fn) {
                    return fn !== callback;
                  });
                };
                for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
                  _loop();
                }
              } catch (err) {
                _iterator6.e(err);
              } finally {
                _iterator6.f();
              }
            }
          });
        }
      });
    } else {
      //off with no arguments
      container.forEach(function (dom) {
        if (dom.parentNode) {
          var elClone = dom.cloneNode(true);
          dom.parentNode.replaceChild(elClone, dom);
        }
      });
    }
  },
  handleMultiRemoveEvents: function handleMultiRemoveEvents(events, domElem, callback) {
    var _this3 = this;
    var container = domElem;
    if (events) {
      events.forEach(function (event) {
        if (event) _this3.removeEvent(domElem, event, callback);
      });
    } else {
      //off with no arguments
      container.forEach(function (dom) {
        if (dom.parentNode) {
          var elClone = dom.cloneNode(true);
          dom.parentNode.replaceChild(elClone, dom);
        }
      });
    }
  },
  updateWithParentSelector: function updateWithParentSelector(el, selector) {
    var selectors = [],
      domElem = [],
      patt = /^\&gt;[ (\.|\#)a-zA-Z]+/,
      newSelector = "";
    selector.split(',').forEach(function (item) {
      item = item.trim();
      if (patt.test(item)) {
        newSelector = libUtils.escapeClassnameQueryCSS(":scope " + item);
        domElem.push.apply(domElem, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(el.querySelectorAll(newSelector)));
      }
    });
    selectors = selector.split(',').filter(function (item) {
      item = item.trim();
      return item &amp;&amp; !patt.test(item);
    });
    selector = selectors.join(',');
    var p = new plus$2(selector, el);
    domElem.push.apply(domElem, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(p._domElem));
    return domElem;
  },
  getChildNodes: function getChildNodes(container, selector) {
    var _this4 = this;
    var domElem = [],
      getChilds = [],
      uniqueDom = [],
      patt = /\&gt;[ (\.|\#)a-zA-Z]+/;
    var hasChildSelector = patt.test(selector);
    container.forEach(function (eachContainer) {
      if (hasChildSelector) {
        var _domElem;
        getChilds = _this4.updateWithParentSelector(eachContainer, selector);
        (_domElem = domElem).push.apply(_domElem, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(getChilds));
      } else {
        var _domElem2;
        var p = new plus$2(selector, eachContainer);
        (_domElem2 = domElem).push.apply(_domElem2, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(p._domElem));
      }
    });
    uniqueDom = this.uniqueDom(domElem);
    domElem = uniqueDom;
    return domElem;
  },
  propertyCheck: function propertyCheck(property) {
    if (this.options.isCamelCase.test(property)) {
      var customProperty = [];
      property.split('').forEach(function (itm, index) {
        var customChar = '';
        if (itm === itm.toUpperCase()) {
          customChar = "-".concat(itm.toLowerCase());
          customProperty.push(customChar);
        } else customProperty.push(itm);
        property = customProperty.join('');
      });
    }
    return property;
  },
  scrollToY: function scrollToY(y, duration, element, callback) {
    // cancel if already on target position
    var callBackNotDone = true;
    var htmlElem = document.getElementsByTagName("HTML")[0];
    if (element.nodeName === "BODY" &amp;&amp; htmlElem.scrollToY &amp;&amp; htmlElem.scrollToY.length &gt; 0) {
      return;
    }
    element.scrollToY = element.scrollToY || [];
    if (callback &amp;&amp; typeof callback === 'function') {
      element.scrollToY.push(callback);
    }
    if (element.scrollTop === y) {
      if (element.scrollToY.length &gt; 0) {
        var _callback2 = element.scrollToY.shift();
        if (_callback2 &amp;&amp; typeof _callback2 === 'function') {
          _callback2.call();
        }
      }
      return;
    }
    var cosParameter = (element.scrollTop - y) / 2;
    var scrollCount = 0,
      oldTimestamp = null;
    function step(newTimestamp) {
      if (oldTimestamp !== null) {
        // if duration is 0 scrollCount will be Infinity
        scrollCount += Math.PI * (newTimestamp - oldTimestamp) / duration;
        if (scrollCount &gt;= Math.PI) {
          var _callback3 = element.scrollToY.length &gt; 0 ? element.scrollToY.shift() : undefined;
          if (_callback3 &amp;&amp; typeof _callback3 === 'function' &amp;&amp; callBackNotDone) {
            callBackNotDone = false;
            _callback3.call();
          }
          return element.scrollTop = y;
        }
        element.scrollTop = cosParameter + y + cosParameter * Math.cos(scrollCount);
      }
      oldTimestamp = newTimestamp;
      setTimeout(function () {
        window.requestAnimationFrame(step);
      }, 100);
    }
    window.requestAnimationFrame(step);
  },
  scrollToX: function scrollToX(x, duration, element, callback) {
    element.scrollToX = element.scrollToX || [];
    if (callback &amp;&amp; typeof callback === 'function') {
      element.scrollToX.push(callback);
    }
    // cancel if already on target position
    if (element.scrollLeft === x) {
      if (element.scrollToX.length &gt; 0) {
        var _callback4 = element.scrollToX.shift();
        if (_callback4 &amp;&amp; typeof _callback4 === 'function') {
          _callback4.call();
        }
      }
      return;
    }
    var cosParameter = (element.scrollLeft - x) / 2;
    var scrollCount = 0,
      oldTimestamp = null;
    function step(newTimestamp) {
      if (oldTimestamp !== null) {
        // if duration is 0 scrollCount will be Infinity
        scrollCount += Math.PI * (newTimestamp - oldTimestamp) / duration;
        if (scrollCount &gt;= Math.PI) {
          var _callback5 = element.scrollToX.length &gt; 0 ? element.scrollToX.shift() : undefined;
          if (_callback5 &amp;&amp; typeof _callback5 === 'function') {
            _callback5.call();
          }
          return element.scrollLeft = x;
        }
        element.scrollLeft = cosParameter + x + cosParameter * Math.cos(scrollCount);
      }
      oldTimestamp = newTimestamp;
      setTimeout(function () {
        window.requestAnimationFrame(step);
      }, 100);
    }
    window.requestAnimationFrame(step);
  },
  setTransition: function setTransition(dom, styles, speed, easing, callback) {
    // pop customAnimateDelay to avoid rising towards infinity
    var _thisLibUtils = this;
    if (dom.customAnimateDelay) {
      dom.customAnimateDelay.shift();
      if (dom.customAnimateDelay.length === 0) delete dom.customAnimateDelay;
    }
    if (styles.slide &amp;&amp; dom.customSlide &amp;&amp; (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(dom.customSlide) === 'object') {
      var customSlide = _objectSpread({}, dom.customSlide);
      dom.style.transition = "";
      dom.style.transition = "all ".concat(speed, "ms ").concat(easing);
      setTimeout(function () {
        for (var property in customSlide) {
          var customProperty = _thisLibUtils.propertyCheck(property);
          dom.style[customProperty] = customSlide[property];
        }
      }, 50);
    } else {
      dom.style.transition = "all ".concat(speed, "ms ").concat(easing);
      for (var property in styles) {
        var customProperty = this.propertyCheck(property);
        if (/^[1-9]\d*(\.\d+)?$/.test(styles[property]) === true) {
          styles[property] = this.getUnits(styles[property], property);
        } else if (typeof styles[property] === 'string' &amp;&amp; !!styles[property].match(/(\+|\-)\=\d/gi)) {
          styles[property] = this.updateStyle(dom, styles[property], customProperty);
        } else if (typeof styles[property] === 'string' &amp;&amp; !!styles[property].match(/^toggle/gi)) {
          //this is for toggle some style
          styles[property] = this.toggleStyle(dom, customProperty);
        }
        if (property === 'scrollTop' || property === 'scrollLeft') {
          var scrollElem = void 0,
            duration = speed,
            desiredPoint = typeof styles[property] === 'string' ? parseInt(styles[property]) : styles[property];
          // Chrome, Firefox, IE and Opera places the overflow at the &lt;html&gt; level, unless else is specified.
          scrollElem = dom.nodeName === 'HTML' ? document.documentElement : dom;
          if (callback &amp;&amp; typeof callback === 'function') dom.transitionEnd = [];
          if (property === 'scrollTop') this.scrollToY(desiredPoint, duration, scrollElem, callback);else if (property === 'scrollLeft') this.scrollToX(desiredPoint, duration, scrollElem, callback);
        } else {
          dom.style[customProperty] = styles[property];
        }
      }
    }
  },
  setTransitionEnd: function setTransitionEnd(dom, callback) {
    var htmlElem = document.getElementsByTagName("HTML")[0];
    if (dom.nodeName === "BODY" &amp;&amp; htmlElem.transitionEnd &amp;&amp; htmlElem.transitionEnd.length &gt; 0) {
      return;
    }
    dom.transitionEnd = dom.transitionEnd || [];
    if (typeof callback === 'function') {
      dom.transitionEnd.push(callback);
    } else {
      dom.transitionEnd.push('no function');
    }
    dom.ontransitionend = function () {
      if (dom.customAnimateDelay) {
        dom.customAnimateDelay.shift();
        if (dom.customAnimateDelay.length === 0) delete dom.customAnimateDelay;
      }
      if (dom.customHide &amp;&amp; dom.customHide.length &gt; 0) {
        var toggleVal = dom.customHide[dom.customHide.length - 1];
        dom.customHide.shift();
        dom.style.display = toggleVal;
        clearDomStyles(dom);
      }
      if (dom.customSlide &amp;&amp; dom.slideDown) {
        delete dom.slideDown;
        delete dom.customSlide;
        dom.style.opacity = "";
        clearDomStyles(dom);
      } else if (dom.customSlide) {
        delete dom.customSlide;
        dom.style.opacity = "";
      }
      function clearDomStyles(dom) {
        dom.style.marginTop = "";
        dom.style.marginBottom = "";
        dom.style.paddingTop = "";
        dom.style.paddingBottom = "";
        dom.style.overflow = "";
        dom.style.height = "";
        dom.style.transition = "";
      }
      var transitionEndFun;
      if (dom.transitionEnd &amp;&amp; dom.transitionEnd.length &gt; 0) {
        transitionEndFun = dom.transitionEnd.shift();
        if (typeof transitionEndFun === 'function') transitionEndFun();
      }
    };
  },
  setTransitionStart: function setTransitionStart(dom, callback) {
    dom.transitionStart = dom.transitionStart || [];
    if (typeof callback === 'function') {
      dom.transitionStart.push(callback);
    } else {
      dom.transitionStart.push('no function');
    }
    if (dom.customShow &amp;&amp; dom.customShow.length &gt; 0) {
      var toggleVal = dom.customShow[dom.customShow.length - 1];
      dom.customShow.shift();
      dom.style.display = toggleVal;
    }
    dom.ontransitionstart = function () {
      var transitionStratFun;
      if (dom.transitionStart &amp;&amp; dom.transitionStart.length &gt; 0) {
        transitionStratFun = dom.transitionStart.shift();
        if (typeof transitionStratFun === 'function') transitionStratFun();
      }
    };
  },
  setTransitionCancel: function setTransitionCancel(dom, callback) {
    dom.transitionCancel = dom.transitionCancel || [];
    if (typeof callback === 'function') {
      dom.transitionCancel.push(callback);
    } else {
      dom.transitionCancel.push('no function');
    }
    dom.ontransitioncancel = function () {
      var transitionCancelFun;
      if (dom.transitionCancel &amp;&amp; dom.transitionCancel.length &gt; 0) {
        transitionCancelFun = dom.transitionCancel.shift();
        if (typeof transitionCancelFun === 'function') transitionCancelFun();
      }
    };
  },
  getDelayedTime: function getDelayedTime(winObj) {
    var delayTime = 0;
    if (winObj._domElem.delayTime) {
      delayTime = winObj._domElem.delayTime;
      this.resetDom(winObj);
      return delayTime;
    }
    return delayTime;
  },
  resetDom: function resetDom(winDom) {
    delete winDom._domElem.delayTime;
    container.forEach(function (dom) {
      if (dom.transitionCancel &amp;&amp; dom.transitionCancel.length === 0) delete dom.transitionCancel;
      if (dom.transitionStart &amp;&amp; dom.transitionStart.length === 0) delete dom.transitionStart;
      if (dom.transitionEnd &amp;&amp; dom.transitionEnd.length === 0) delete dom.transitionEnd;
      if (dom.customShow &amp;&amp; dom.customShow.length === 0) delete dom.customShow;
      if (dom.customHide &amp;&amp; dom.customHide.length === 0) delete dom.customHide;
      if (dom.customAnimateDelay &amp;&amp; dom.customAnimateDelay.length === 0) delete dom.customAnimateDelay;
    });
  },
  getStyle: function getStyle(el, styleProp) {
    var value,
      defaultView = el &amp;&amp; el.ownerDocument ? el.ownerDocument.defaultView : "";
    // W3C standard way:
    if (defaultView &amp;&amp; defaultView.getComputedStyle) {
      // sanitize property name to css notation (hypen separated words eg. font-Size)
      styleProp = styleProp.replace(/([A-Z])/g, "-$1").toLowerCase();
      return defaultView.getComputedStyle(el, null).getPropertyValue(styleProp);
    } else if (el &amp;&amp; el.currentStyle) {
      // IE
      // sanitize property name to camelCase
      styleProp = styleProp.replace(/\-(\w)/g, function (str, letter) {
        return letter.toUpperCase();
      });
      value = el.currentStyle[styleProp];
      // convert other units to pixels on IE
      if (/^\d+(em|pt|%|ex)?$/i.test(value)) {
        return function (value) {
          var oldLeft = el.style.left,
            oldRsLeft = el.runtimeStyle.left;
          el.runtimeStyle.left = el.currentStyle.left;
          el.style.left = value || 0;
          value = "".concat(el.style.pixelLeft, "px");
          el.style.left = oldLeft;
          el.runtimeStyle.left = oldRsLeft;
          return value;
        }(value);
      }
      return value;
    } else if (defaultView === null) {
      return el.style[styleProp]; // temp fix for reading styles of DOMParser elements not inside the window document
    }
  },
  getUnits: function getUnits(val, property) {
    if (property &amp;&amp; property.match(/font-weight|fontweight|opacity|z-index|tab-size|order|line-height|lineHeight|grid-row-start|flex-shrink|flex-grow|column-count/gi)) {
      return val;
    } else if (/^[1-9]\d*(\.\d+)?$/.test(val) === true) {
      val = "".concat(val, "px");
    }
    return val;
  },
  updateStyle: function updateStyle(dom, val, property) {
    var oldVal = this.getStyle(dom, property),
      newVal,
      diffVal = val.split('=')[1] ? val.split('=')[1] : 0;
    newVal = !!val.match(/^\+/) ? parseInt(oldVal) + parseInt(diffVal) : parseInt(oldVal) - parseInt(diffVal);
    newVal = this.getUnits(newVal, property);
    return newVal;
  },
  toggleStyle: function toggleStyle(dom, property) {
    var currentVal = this.getStyle(dom, property),
      newVal,
      setTheOldValue,
      toggleName = 'toggle' + property;
    setTheOldValue = dom[toggleName] ? dom[toggleName] : currentVal;
    dom[toggleName] = parseInt(currentVal);
    newVal = parseInt(currentVal) &gt; 0 ? 0 : setTheOldValue;
    newVal = this.getUnits(newVal, property);
    return newVal;
  },
  applyOffset: function applyOffset(dom, offsetVal) {
    var position = this.getStyle(dom, 'position'),
      domOffset = libUtils.getOffset(dom),
      domleft = domOffset.left,
      domMarginTop = domOffset.top;
    if (position === 'absolute') {
      dom.style['top'] = "".concat(offsetVal.top, " px");
      dom.style['left'] = "".concat(offsetVal.left, " px");
    } else {
      if (position !== 'relative') dom.style['position'] = 'relative';
      dom.style['top'] = "".concat(offsetVal.top - domMarginTop, " px");
      dom.style['left'] = "".concat(offsetVal.left - domleft, " px");
    }
  },
  offsetAlreadyAvailable: function offsetAlreadyAvailable(dom, offsetVal) {
    var offsetApplied = false;
    if (dom.custmOffSet) {
      if (dom.custmOffSet.left === offsetVal.left &amp;&amp; dom.custmOffSet.top === offsetVal.top) offsetApplied = true;
    } else {
      dom.custmOffSet = offsetVal;
    }
    if (!offsetApplied) {
      this.applyOffset(dom, offsetVal);
      dom.custmOffSet = offsetVal;
    }
  },
  getOffset: function getOffset(el) {
    var box = el.getBoundingClientRect();
    return {
      top: box.top + window.pageYOffset - document.documentElement.clientTop,
      left: box.left + window.pageXOffset - document.documentElement.clientLeft
    };
  },
  replaceWithHelper: function replaceWithHelper(dom, selector, self) {
    var content = selector;
    if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(selector) === 'object') {
      content = selector._domElem ? selector.get(0).outerHTML : selector.outerHTML;
    }
    dom.insertAdjacentHTML("afterend", content);
    libUtils.removeElement(dom, self);
  },
  wrapWith: function wrapWith(container, selectorContainer) {
    container.forEach(function (dom) {
      selectorContainer.innerHTML = dom.outerHTML;
      dom.outerHTML = selectorContainer.outerHTML;
    });
  },
  wrapAll: function wrapAll(container, wrapper, self) {
    if (container[0] &amp;&amp; wrapper) {
      wrapper.innerHTML = "";
      var domOuterHtml = [];
      container.forEach(function (dom) {
        domOuterHtml.push(dom.outerHTML);
      });
      wrapper.innerHTML = domOuterHtml.join("");
      container[0].insertAdjacentHTML("beforebegin", wrapper.outerHTML);
      container.forEach(function (dom) {
        libUtils.removeElement(dom, self);
      });
    }
  },
  wrapInner: function wrapInner(container, wrapper) {
    container.forEach(function (dom) {
      wrapper.innerHTML = dom.innerHTML;
      dom.innerHTML = wrapper.outerHTML;
    });
  },
  filterHelper: function filterHelper(param, selectedVal, container, itsClass, itsId, plusObjDomElem) {
    var _self = this;
    container.forEach(function (dom) {
      plusObjDomElem = _self.getSelectionList(itsId, itsClass, selectedVal, param, dom, plusObjDomElem);
    });
    return plusObjDomElem;
  },
  reverseFilterHelper: function reverseFilterHelper(param, selectedVal, container, itsClass, itsId, itsAttributeSelector) {
    var alternativeArray = [],
      libOptions = this.options;
    container.forEach(function (dom) {
      alternativeArray.push(dom);
      if (itsId &amp;&amp; selectedVal &amp;&amp; dom.id === selectedVal) {
        if (itsClass) {
          var classValues = param.split('.'),
            tempArray = [],
            hasClassName = false;
          classValues.forEach(function (className) {
            var getClassName = "";
            getClassName = className ? libOptions.regxId.test(className) ? className.split('#')[0] : className : "";
            if (getClassName) {
              tempArray.push(getClassName);
            }
          });
          tempArray.forEach(function (className, i) {
            if (i === 0 &amp;&amp; dom.classList.contains(className)) {
              hasClassName = true;
            } else if (dom.classList.contains(className) &amp;&amp; hasClassName) {
              hasClassName = true;
            } else {
              hasClassName = false;
            }
          });
          if (hasClassName) {
            alternativeArray.splice(alternativeArray.length - 1, 1);
          }
        } else {
          alternativeArray.splice(alternativeArray.length - 1, 1);
        }
      } else if (!itsId &amp;&amp; itsClass &amp;&amp; selectedVal.length) {
        var _hasClassName = false;
        selectedVal.forEach(function (className, i) {
          if (i === 0 &amp;&amp; dom.classList.contains(className)) {
            _hasClassName = true;
          } else if (dom.classList.contains(className) &amp;&amp; _hasClassName) {
            _hasClassName = true;
          } else {
            _hasClassName = false;
          }
        });
        if (_hasClassName) {
          alternativeArray.splice(alternativeArray.length - 1, 1);
        }
      } else if (!itsId &amp;&amp; !itsClass &amp;&amp; itsAttributeSelector &amp;&amp; selectedVal.length) {
        if (dom.matches(selectedVal)) {
          alternativeArray.splice(alternativeArray.length - 1, 1);
        }
      } else if (!itsId &amp;&amp; !itsClass &amp;&amp; !itsAttributeSelector &amp;&amp; dom.nodeName.toLowerCase() === param.trim().toLowerCase()) {
        alternativeArray.splice(alternativeArray.length - 1, 1);
      }
    });
    return alternativeArray;
  },
  hasChilds: function hasChilds(container, selector) {
    var domElem = [];
    selector = libUtils.escapeClassnameQueryCSS(selector);
    container.forEach(function (eachContainer) {
      if (eachContainer.querySelector(selector) !== null) {
        var eachSelector = eachContainer.querySelectorAll(selector);
        if (eachSelector.length &gt; 0) domElem.push(eachContainer);
      }
    });
    return domElem;
  },
  uniqueDom: function uniqueDom(domElement) {
    var uniqueDoms = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElement));
    return uniqueDoms;
  },
  nextAllHelper: function nextAllHelper(param, selectedVal, container, itsClass, itsId, plusObjDomElem) {
    var _self = this;
    container.forEach(function (dom) {
      var sibling = dom.nextElementSibling;
      while (sibling) {
        if (sibling.nodeType === 1) {
          plusObjDomElem = _self.getSelectionList(itsId, itsClass, selectedVal, param, sibling, plusObjDomElem);
        }
        sibling = sibling.nextElementSibling;
      }
    });
    return plusObjDomElem;
  },
  allParentsHelper: function allParentsHelper(param, selectedVal, container, itsClass, itsId, plusObjDomElem) {
    var _self = this;
    container.forEach(function (dom) {
      var parent = dom.parentElement;
      while (parent) {
        if (parent.nodeType === 1) {
          plusObjDomElem = _self.getSelectionList(itsId, itsClass, selectedVal, param, parent, plusObjDomElem);
        }
        parent = parent.parentElement;
      }
    });
    return plusObjDomElem;
  },
  prevAllHelper: function prevAllHelper(param, selectedVal, container, itsClass, itsId, plusObjDomElem) {
    var _self = this;
    container.forEach(function (dom) {
      var sibling = dom.previousElementSibling;
      while (sibling) {
        if (sibling.nodeType === 1) {
          plusObjDomElem = _self.getSelectionList(itsId, itsClass, selectedVal, param, sibling, plusObjDomElem);
        }
        sibling = sibling.previousElementSibling;
      }
    });
    return plusObjDomElem;
  },
  sibilingAllHelper: function sibilingAllHelper(param, selectedVal, container, itsClass, itsId, plusObjDomElem) {
    var _self = this;
    container.forEach(function (dom) {
      var sibling = dom.parentElement.firstElementChild;
      while (sibling) {
        if (sibling.nodeType === 1 &amp;&amp; sibling !== dom) {
          plusObjDomElem = _self.getSelectionList(itsId, itsClass, selectedVal, param, sibling, plusObjDomElem);
        }
        sibling = sibling.nextElementSibling;
      }
    });
    return plusObjDomElem;
  },
  iterateArray: function iterateArray(propValue, prop, query) {
    var aaryLen = propValue.length,
      arryCounter = 0;
    var _iterator7 = _createForOfIteratorHelper(propValue),
      _step7;
    try {
      for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
        var value = _step7.value;
        var iterationValue = value;
        if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(iterationValue) === 'object' &amp;&amp; iterationValue.constructor === Object) {
          query = "".concat(this.iterateObject(iterationValue, prop, query, arryCounter));
        } else if (Array.isArray(iterationValue)) {
          query = "".concat(this.iterateArray(iterationValue, prop, query));
        } else query = "".concat(query).concat(prop, "[]=").concat(encodeURIComponent(value));
        arryCounter++;
        if (arryCounter &lt; aaryLen) {
          query = "".concat(query, "&amp;");
        }
      }
    } catch (err) {
      _iterator7.e(err);
    } finally {
      _iterator7.f();
    }
    return query;
  },
  iterateObject: function iterateObject(propValue, prop, query, arryCounter) {
    var objPropLen = Object.keys(propValue).length,
      objPropCounter = 0;
    for (var value in propValue) {
      if (propValue.hasOwnProperty(value)) {
        var iterationValue = propValue[value];
        if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(iterationValue) === 'object' &amp;&amp; iterationValue.constructor === Object) {
          query = "".concat(this.iterateObject(iterationValue, prop, query));
        } else if (Array.isArray(iterationValue)) {
          query = "".concat(this.iterateArray(iterationValue, prop, query));
        } else {
          if (arryCounter &gt;= 0) {
            query = "".concat(query).concat(prop, "[").concat(arryCounter, "][").concat(value, "]=").concat(encodeURIComponent(iterationValue));
            arryCounter = -1;
          } else query = "".concat(query).concat(prop, "[").concat(value, "]=").concat(encodeURIComponent(iterationValue));
        }
        objPropCounter++;
        if (objPropCounter &lt; objPropLen) {
          query = "".concat(query, "&amp;");
        }
      }
    }
    return query;
  },
  getIdName: function getIdName(selector) {
    if (this.options.regxId.test(selector)) {
      var idValue = selector.split('#')[1];
      if (this.options.regxClass.test(idValue)) {
        idValue = idValue.split('.')[0];
      }
      selector = idValue;
    } else {
      selector = "";
    }
    return selector;
  },
  getClassName: function getClassName(selector) {
    if (this.options.regxClass.test(selector)) {
      var classValues = selector.split('.'),
        tempArray = [],
        skipFirstSplit = false;
      if (!/^\./.test(selector)) {
        //if selector has mutiple class in a string, and the first split value is not a class name
        skipFirstSplit = true;
      }
      classValues.forEach(function (className, i) {
        if (i === 0 &amp;&amp; !skipFirstSplit &amp;&amp; className) {
          tempArray.push(className);
        } else if (i &gt; 0 &amp;&amp; className) {
          tempArray.push(className);
        }
      });
      selector = tempArray;
    } else {
      selector = "";
    }
    return selector;
  },
  getSelectionList: function getSelectionList(itsId, itsClass, selectedVal, param, dom, plusObjDomArray) {
    var libOptions = this.options;
    if (itsId &amp;&amp; selectedVal &amp;&amp; dom.id === selectedVal) {
      if (itsClass) {
        var classValues = param.split('.'),
          tempArray = [],
          hasClassName = false;
        classValues.forEach(function (className) {
          var getClassName = "";
          getClassName = className ? libOptions.regxId.test(className) ? className.split('#')[0] : className : "";
          if (getClassName) {
            tempArray.push(getClassName);
          }
        });
        tempArray.forEach(function (className, i) {
          if (i === 0 &amp;&amp; dom.classList.contains(className)) {
            hasClassName = true;
          } else if (dom.classList.contains(className) &amp;&amp; hasClassName) {
            hasClassName = true;
          } else {
            hasClassName = false;
          }
        });
        if (hasClassName) {
          plusObjDomArray.push(dom);
        }
      } else {
        plusObjDomArray.push(dom);
      }
    } else if (!itsId &amp;&amp; itsClass &amp;&amp; selectedVal.length) {
      var _hasClassName2 = false;
      selectedVal.forEach(function (className, i) {
        if (i === 0 &amp;&amp; dom.classList.contains(className)) {
          _hasClassName2 = true;
        } else if (dom.classList.contains(className) &amp;&amp; _hasClassName2) {
          _hasClassName2 = true;
        } else {
          _hasClassName2 = false;
        }
      });
      if (_hasClassName2) {
        plusObjDomArray.push(dom);
      }
    } else if (!itsId &amp;&amp; !itsClass &amp;&amp; dom.nodeName.toLowerCase() === param.trim().toLowerCase()) {
      plusObjDomArray.push(dom);
    } else if (!itsId &amp;&amp; !itsClass &amp;&amp; libUtils.isSelectorValid(param)) {
      if (dom.matches(param)) {
        plusObjDomArray.push(dom);
      }
    } else {
      var isNotFilter = false;
      var includeDom = false;
      var reset = true;
      var filterArray = param.split("(").map(function (item) {
        return item.replace(/\)/g, "");
      }).map(function (item) {
        var itemArray = item.split(",");
        return itemArray.map(function (item_1) {
          if (itemArray.length &gt; 1) {
            return "|".concat(item_1.trim());
          } else {
            return item_1;
          }
        });
      }).flat().filter(Boolean).map(function (item) {
        if (item.indexOf(":") &gt; 0) {
          item = item.split(":").map(function (item_1, index) {
            if (index) {
              return ":".concat(item_1.trim());
            } else {
              return item_1;
            }
          });
        }
        return item;
      }).flat().filter(Boolean).map(function (item) {
        return item.split("[");
      }).flat().filter(Boolean).map(function (item) {
        if (item.includes("]")) {
          item = "[".concat(item);
        }
        return item;
      }).filter(function (item) {
        return item.trim();
      });
      if (filterArray.includes(':not')) {
        isNotFilter = true;
        filterArray = filterArray.filter(function (item) {
          return item !== ':not';
        });
      }
      var _iterator8 = _createForOfIteratorHelper(filterArray),
        _step8;
      try {
        for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
          var filter = _step8.value;
          if (filter === '|') {
            reset = false;
          } else {
            if (filter.includes('[') &amp;&amp; filter.includes(']')) {
              filter = filter.replace(/[\[\]\"\']/g, "");
              if (filter.includes('=')) {
                var attrArray = filter.split('=');
                if (isNotFilter) {
                  if (dom.hasAttribute(attrArray[0]) &amp;&amp; dom.getAttribute(attrArray[0]) === attrArray[1]) {
                    includeDom = false;
                    break;
                  } else {
                    includeDom = true;
                  }
                } else {
                  if (dom.hasAttribute(attrArray[0]) &amp;&amp; dom.getAttribute(attrArray[0]) === attrArray[1]) {
                    includeDom = true;
                  } else if (reset) {
                    includeDom = false;
                    break;
                  }
                }
              } else {
                if (isNotFilter) {
                  if (dom.hasAttribute(filter)) {
                    includeDom = false;
                    break;
                  } else {
                    includeDom = true;
                  }
                } else {
                  if (dom.hasAttribute(filter)) {
                    includeDom = true;
                  } else if (reset) {
                    includeDom = false;
                    break;
                  }
                }
              }
            } else if (filter.includes(':')) {
              if (isNotFilter) {
                if (filter.includes(':visible') &amp;&amp; dom.clientHeight &gt; 0) {
                  includeDom = false;
                  break;
                } else if (filter.includes(':hidden') &amp;&amp; dom.clientHeight === 0) {
                  includeDom = false;
                  break;
                } else if (filter.includes(':enabled') &amp;&amp; !dom.hasAttribute('disabled')) {
                  includeDom = false;
                  break;
                } else if (filter.includes(':disabled') &amp;&amp; dom.hasAttribute('disabled')) {
                  includeDom = false;
                  break;
                } else {
                  includeDom = true;
                }
              } else {
                if (filter.includes(':visible') &amp;&amp; dom.clientHeight &gt; 0) {
                  includeDom = true;
                } else if (filter.includes(':hidden') &amp;&amp; dom.clientHeight === 0) {
                  includeDom = true;
                } else if (filter.includes(':enabled') &amp;&amp; !dom.hasAttribute('disabled')) {
                  includeDom = true;
                } else if (filter.includes(':disabled') &amp;&amp; dom.hasAttribute('disabled')) {
                  includeDom = true;
                } else if (reset) {
                  includeDom = false;
                  break;
                }
              }
            } else {
              if (isNotFilter) {
                if (dom.tagName.toLowerCase() === filter.toLowerCase()) {
                  includeDom = false;
                  break;
                } else {
                  includeDom = true;
                }
              } else {
                if (dom.tagName.toLowerCase() === filter.toLowerCase()) {
                  includeDom = true;
                } else if (reset) {
                  includeDom = false;
                  break;
                }
              }
            }
            reset = true;
          }
        }
      } catch (err) {
        _iterator8.e(err);
      } finally {
        _iterator8.f();
      }
      if (includeDom) {
        plusObjDomArray.push(dom);
      }
    }
    return plusObjDomArray;
  },
  isSelectorValid: function isSelectorValid(selector) {
    var queryCheck = function queryCheck(s) {
      return document.createDocumentFragment().querySelector(s);
    };
    try {
      queryCheck(selector);
    } catch (_unused) {
      return false;
    }
    return true;
  },
  isItDataObject: function isItDataObject(obj) {
    if (obj &amp;&amp; typeof obj === 'string' &amp;&amp; (!!obj.match(/^{/g) || !!obj.match(/^\[/) || !!obj.match(/^true$|^false$/))) {
      if (!!obj.match(/^{\\/) || !!obj.match(/^\[\\/) || !!obj.match(/^\[/)) {
        obj = obj;
      } else {
        obj = JSON.parse(obj);
      }
    } else if (typeof obj === 'undefined') {
      obj = "";
    }
    return obj;
  },
  hyphenCheck: function hyphenCheck(dataName) {
    var dataNameArry = dataName.split('-');
    if (dataNameArry.length &gt; 1) {
      var temp = [],
        updatedName = '';
      dataNameArry.forEach(function (name, i) {
        updatedName = '';
        updatedName = i &gt; 0 ? name.charAt(0).toUpperCase() + name.substring(1) : name;
        temp.push(updatedName);
      });
      dataName = temp.join('');
    }
    return dataName;
  },
  escapeClassnameQueryCSS: function escapeClassnameQueryCSS(selector) {
    var escapeSingleQuery = function escapeSingleQuery(selector) {
      var newSelector = selector.split('.');
      // check whether className is located at 0th index or 1st index based on first char of selector
      var i = selector.charAt(0) === '.' ? 0 : 1;
      for (i; i &lt; newSelector.length; i++) {
        // if first char of classname is not alphabetic
        if (newSelector[i].length &amp;&amp; !newSelector[i].charAt(0).match(/[a-zA-Z]/)) {
          // escape non-alphabetic first char to its hexidecimal unicode equivalent
          newSelector[i] = "\\".concat(newSelector[i].charCodeAt(0).toString(16), " ").concat(newSelector[i].slice(1));
        }
      }
      newSelector = newSelector.join('.');
      // test if valid selector otherwise fallback to using CSS.escape or contains backslash
      if (!libUtils.isSelectorValid(newSelector)) {
        newSelector = "".concat(selector.charAt(0)).concat(CSS.escape(selector.replace(/\\/g, '').slice(1)));
      }
      return newSelector;
    };
    return selector.split(',').map(function (s) {
      return escapeSingleQuery(s);
    }).join(',');
  },
  resolveRemovedElementReferences: function resolveRemovedElementReferences(removedEl, addedEl, self) {
    var _iterator9 = _createForOfIteratorHelper(self.constructor._plusInstances),
      _step9;
    try {
      for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
        var plusObj = _step9.value;
        // skip plusObj of (self) to avoid chaining complications
        if (plusObj === self) {
          continue;
        }
        if (typeof plusObj._domElem.indexOf !== 'function') {
          plusObj._domElem = [].slice.call(plusObj._domElem); // convert to array
        }
        var removedElIdx = plusObj._domElem.indexOf(removedEl);
        if (removedElIdx !== -1) {
          if (addedEl) {
            plusObj._domElem[removedElIdx] = addedEl;
          } else {
            plusObj._domElem.splice(removedElIdx, 1);
            plusObj.length -= 1;
          }
        }
      }
    } catch (err) {
      _iterator9.e(err);
    } finally {
      _iterator9.f();
    }
  },
  removeElement: function removeElement(el, self) {
    el.remove();
    // libUtils.resolveRemovedElementReferences(el, false, self); // revised, not needed for now
  },
  insertElementAndRemoveOriginal: function insertElementAndRemoveOriginal(container, position, el, self) {
    var newDom = container.insertAdjacentHTML(position, el.outerHTML);
    el.remove();
    libUtils.resolveRemovedElementReferences(el, newDom, self);
  }
};
var Effects = /*#__PURE__*/function () {
  function Effects() {
    (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A)(this, Effects);
  }
  return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(Effects, [{
    key: "hide",
    value: function hide() {
      var _this5 = this;
      var container = this._domElem;
      this._domElem = [];
      container.forEach(function (dom) {
        delete dom.customShow; // fix flickering bug
        dom.customHide = [];
        dom.customHide.push('none');
        _this5._domElem.push(dom);
      });
      // if invoked without parameters, matched elements will be hidden immediately, with no animation.
      if (arguments.length === 0) this.css('display', 'none');else this.fadeOut.apply(this, arguments);
      return this;
    }
  }, {
    key: "show",
    value: function show() {
      var _this6 = this;
      var container = this._domElem;
      this._domElem = [];
      container.forEach(function (dom) {
        delete dom.customHide; // fix flickering bug
        dom.customShow = [];
        dom.customShow.push('block');
        _this6._domElem.push(dom);
      });
      if (arguments.length === 0) {
        container.forEach(function (dom) {
          if (dom.style.display === "none") {
            dom.style.display = "";
          }
          if (window.getComputedStyle(dom).display === 'none') {
            dom.style.display = "block";
          }
        });
      } else this.fadeIn.apply(this, arguments);
      return this;
    }
  }, {
    key: "toggle",
    value: function toggle() {
      var _this7 = this;
      var container = this._domElem;
      var isVisible = false;
      this._domElem = [];
      container.forEach(function (dom) {
        if (window.getComputedStyle(dom).display === 'none') {
          dom.customShow = [];
          dom.customShow.push('block');
        } else {
          isVisible = true;
          dom.customHide = [];
          dom.customHide.push('none');
        }
        _this7._domElem.push(dom);
      });
      if (isVisible) this.fadeOut.apply(this, arguments);else this.fadeIn.apply(this, arguments);
    }
  }, {
    key: "fadeIn",
    value: function fadeIn() {
      var _this8 = this;
      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key &lt; _len; _key++) {
        args[_key] = arguments[_key];
      }
      var container = this._domElem,
        style = {};
      this._domElem = [];
      container.forEach(function (dom) {
        dom.style.opacity = window.getComputedStyle(dom).opacity || 0;
        dom.style.display = window.getComputedStyle(dom).display || "block";
        _this8._domElem.push(dom);
      });
      style.opacity = 1;
      args.unshift(style);
      var delayTime = libUtils.getDelayedTime(this);
      if (delayTime &gt; 0) {
        setTimeout(function () {
          _this8.executeAnimate.apply(_this8, [_this8._domElem].concat(args));
        }, delayTime);
      } else this.executeAnimate.apply(this, [this._domElem].concat(args));
    }
  }, {
    key: "fadeOut",
    value: function fadeOut() {
      var _this9 = this;
      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 &lt; _len2; _key2++) {
        args[_key2] = arguments[_key2];
      }
      var container = this._domElem,
        style = {};
      this._domElem = [];
      container.forEach(function (dom) {
        dom.style.opacity = window.getComputedStyle(dom).opacity || 1;
        _this9._domElem.push(dom);
      });
      style.opacity = 0;
      args.unshift(style);
      var delayTime = libUtils.getDelayedTime(this);
      if (delayTime &gt; 0) {
        setTimeout(function () {
          _this9.executeAnimate.apply(_this9, [_this9._domElem].concat(args));
        }, delayTime);
      } else this.executeAnimate.apply(this, [this._domElem].concat(args));
    }
  }, {
    key: "fadeToggle",
    value: function fadeToggle() {
      var _this10 = this;
      for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 &lt; _len3; _key3++) {
        args[_key3] = arguments[_key3];
      }
      var container = this._domElem,
        style = {};
      var domOpacity;
      this._domElem = [];
      container.forEach(function (dom) {
        dom.style.opacity = window.getComputedStyle(dom).opacity || 1;
        domOpacity = dom.style.opacity ? dom.style.opacity : 1;
        _this10._domElem.push(dom);
      });
      if (domOpacity &lt; 1) style.opacity = 1;else style.opacity = 0;
      args.unshift(style);
      var delayTime = libUtils.getDelayedTime(this);
      if (delayTime &gt; 0) {
        setTimeout(function () {
          _this10.executeAnimate.apply(_this10, [_this10._domElem].concat(args));
        }, delayTime);
      } else this.executeAnimate.apply(this, [this._domElem].concat(args));
    }
  }, {
    key: "fadeTo",
    value: function fadeTo() {
      var _this11 = this;
      for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 &lt; _len4; _key4++) {
        args[_key4] = arguments[_key4];
      }
      var container = this._domElem,
        style = {};
      this._domElem = [];
      container.forEach(function (dom) {
        dom.style.opacity = window.getComputedStyle(dom).opacity || 0;
        _this11._domElem.push(dom);
      });
      if (args[1] &amp;&amp; !isNaN(parseFloat(args[1]))) {
        style.opacity = parseFloat(args[1]);
        args.splice(1, 1);
        args.unshift(style);
        var delayTime = libUtils.getDelayedTime(this);
        if (delayTime &gt; 0) {
          setTimeout(function () {
            _this11.executeAnimate.apply(_this11, [_this11._domElem].concat(args));
          }, delayTime);
        } else this.executeAnimate.apply(this, [this._domElem].concat(args));
      } else return false;
    }
  }, {
    key: "slideUp",
    value: function slideUp() {
      var _this12 = this;
      for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 &lt; _len5; _key5++) {
        args[_key5] = arguments[_key5];
      }
      var container = this._domElem,
        style = {};
      var targetDom = [],
        utility = libUtils;
      this.finish();
      container.forEach(function (dom) {
        delete dom.slideDown;
        delete dom.customShow;
        dom.customHide = [];
        dom.customHide.push('none');
        if (dom.clientHeight &gt; 0) {
          //customSlide object - these are the values - to slide to
          dom.customSlide = {};
          dom.customSlide['opacity'] = '0';
          dom.customSlide['height'] = '0px';
          dom.customSlide['margin-top'] = utility.getStyle(dom, 'margin-top') || '0px';
          dom.customSlide['margin-bottom'] = utility.getStyle(dom, 'margin-bottom') || '0px';
          dom.customSlide['padding-top'] = utility.getStyle(dom, 'padding-top') || '0px';
          dom.customSlide['padding-bottom'] = utility.getStyle(dom, 'padding-bottom') || '0px';

          /**Keep the originals slide values for toggle feature */
          if (!dom.customSlideOriginal) {
            dom.customSlideOriginal = {};
          }
          dom.customSlideOriginal['opacity'] = '1';
          dom.customSlideOriginal['height'] = utility.getStyle(dom, 'height') || '0px';
          dom.customSlideOriginal['margin-top'] = utility.getStyle(dom, 'margin-top') || '0px';
          dom.customSlideOriginal['margin-bottom'] = utility.getStyle(dom, 'margin-bottom') || '0px';
          dom.customSlideOriginal['padding-top'] = utility.getStyle(dom, 'padding-top') || '0px';
          dom.customSlideOriginal['padding-bottom'] = utility.getStyle(dom, 'padding-bottom') || '0px';
          //set the current dom with original values - to slide from
          dom.style['opacity'] = dom.customSlideOriginal['opacity'];
          dom.style['height'] = dom.customSlideOriginal['height'];
          dom.style['margin-top'] = dom.customSlideOriginal['margin-top'];
          dom.style['margin-bottom'] = dom.customSlideOriginal['margin-bottom'];
          dom.style['padding-top'] = dom.customSlideOriginal['padding-top'];
          dom.style['padding-bottom'] = dom.customSlideOriginal['padding-bottom'];
          //
          targetDom.push(dom);
        }
      });
      style.slide = true;
      args.unshift(style);
      var delayTime = libUtils.getDelayedTime(this);
      if (targetDom.length &gt; 0 &amp;&amp; delayTime &gt; 0) {
        setTimeout(function () {
          _this12.executeAnimate.apply(_this12, [container].concat(args));
        }, delayTime);
      } else if (targetDom.length &gt; 0) {
        setTimeout(function () {
          _this12.executeAnimate.apply(_this12, [container].concat(args));
        }, 50);
      }
      return this;
    }
  }, {
    key: "slideDown",
    value: function slideDown() {
      var _this13 = this;
      for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 &lt; _len6; _key6++) {
        args[_key6] = arguments[_key6];
      }
      var container = this._domElem,
        style = {};
      var targetDom = [],
        utility = libUtils;
      this.finish();
      container.forEach(function (dom) {
        delete dom.customHide; // fix for unintended hiding after show
        dom.slideDown = true;
        dom.customShow = [];
        dom.customShow.push('block');
        if (dom.clientHeight === 0) {
          dom.customSlide = {};
          if (dom.customSlideOriginal) {
            //these values are - to slide to
            dom.customSlide = _objectSpread({}, dom.customSlideOriginal);
          } else {
            //if originals are not available, create originals from css dom
            dom.customSlideOriginal = {};
            dom.customSlideOriginal['opacity'] = "1";
            dom.customSlideOriginal['height'] = utility.getStyle(dom, 'height') || 0;
            dom.customSlideOriginal['margin-top'] = utility.getStyle(dom, 'margin-top') || 0;
            dom.customSlideOriginal['margin-bottom'] = utility.getStyle(dom, 'margin-bottom') || 0;
            dom.customSlideOriginal['padding-top'] = utility.getStyle(dom, 'padding-top') || 0;
            dom.customSlideOriginal['padding-bottom'] = utility.getStyle(dom, 'padding-bottom') || 0;
            //then assign values - to slide to
            dom.customSlide = _objectSpread({}, dom.customSlideOriginal);
          }
          //set dom with values - to slide from
          dom.style['opacity'] = '0';
          dom.style['height'] = '0px';
          dom.style['margin-top'] = '0px';
          dom.style['margin-bottom'] = '0px';
          dom.style['padding-top'] = '0px';
          dom.style['padding-bottom'] = '0px';
          targetDom.push(dom);
        }
      });
      style.slide = true;
      args.unshift(style);
      var delayTime = libUtils.getDelayedTime(this);
      if (targetDom.length &gt; 0 &amp;&amp; delayTime &gt; 0) {
        setTimeout(function () {
          _this13.executeAnimate.apply(_this13, [container].concat(args));
        }, delayTime);
      } else if (targetDom.length &gt; 0) {
        setTimeout(function () {
          _this13.executeAnimate.apply(_this13, [container].concat(args));
        }, 50);
      }
      return this;
    }
  }, {
    key: "slideToggle",
    value: function slideToggle() {
      var container = this._domElem;
      var notVisible = false;
      container.forEach(function (dom) {
        if (dom.clientHeight === 0) notVisible = true;
      });
      if (notVisible) this.slideDown.apply(this, arguments);else this.slideUp.apply(this, arguments);
    }
  }, {
    key: "stop",
    value: function stop() {
      var container = this._domElem;
      container.forEach(function (dom) {
        if (window.getComputedStyle(dom).transition !== "") dom.style.transition = "";
      });
      return this;
    }
  }, {
    key: "finish",
    value: function finish() {
      var _this14 = this;
      var container = this._domElem;
      this._domElem = [];
      container.forEach(function (dom) {
        dom.style.transition = "";
        _this14._domElem.push(dom);
      });
      return this;
    }
  }, {
    key: "delay",
    value: function delay(speed) {
      if (typeof speed === 'string') {
        if (speed.toLowerCase() === 'slow') speed = 600;else if (speed.toLowerCase() === 'fast') speed = 200;
      } else if (speed === undefined) speed = 400;
      this._domElem.delayTime = speed;
      return this;
    }
  }, {
    key: "animate",
    value: function animate() {
      var delayTime = libUtils.getDelayedTime(this);
      for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 &lt; _len7; _key7++) {
        args[_key7] = arguments[_key7];
      }
      if (delayTime &gt; 0) setTimeout.apply(void 0, [this.executeAnimate, delayTime, this._domElem].concat(args));else this.executeAnimate.apply(this, [this._domElem].concat(args));
    }
  }, {
    key: "executeAnimate",
    value: function executeAnimate(domElem) {
      for (var _len8 = arguments.length, args = new Array(_len8 &gt; 1 ? _len8 - 1 : 0), _key8 = 1; _key8 &lt; _len8; _key8++) {
        args[_key8 - 1] = arguments[_key8];
      }
      var styles = args[0],
        options = {},
        speed = 400,
        easing = 'ease',
        callback,
        complete,
        start,
        failed;
      var container = domElem;
      //{styles},{options} - options have functions also.
      //TODO: need to add update options with functions :- step, progress, queue, specialEasing
      if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(args[1]) === 'object') {
        options = args[1];
        for (var option in options) {
          if (option === 'duration') {
            if (typeof options[option] === 'string') {
              if (options[option].toLowerCase() === 'slow') speed = 600;else if (options[option].toLowerCase() === 'fast') speed = 200;
            } else speed = options[option];
          } else if (option === 'easing') easing = options[option].toLowerCase().indexOf('swing') &gt; -1 ? 'ease' : options[option].toLowerCase();else if (option === 'complete' || option === 'done') complete = options[option];else if (option === 'start') start = options[option];else if (option === 'fail' || option === 'always') failed = options[option];
        }
        container.forEach(function (dom) {
          if (start) libUtils.setTransitionStart(dom, start);
          if (complete) libUtils.setTransitionEnd(dom, complete);
          if (failed) libUtils.setTransitionCancel(dom, failed);
          if (dom.customAnimateDelay) {
            dom.customAnimateDelay.push(speed);
            var delayTime = dom.customAnimateDelay.reduce(function (total, currentVal) {
              return total + currentVal;
            });
            setTimeout(function () {
              libUtils.setTransition(dom, styles, speed, easing);
            }, delayTime);
          } else {
            dom.customAnimateDelay = [];
            dom.customAnimateDelay.push(speed);
            libUtils.setTransition(dom, styles, speed, easing);
          }
        });
      } else {
        //{styles},speed,easing,callback

        args.forEach(function (arg) {
          if (arg &amp;&amp; (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(arg) === 'object') {
            styles = arg;
          } else if (arg &amp;&amp; typeof arg === 'string') {
            if (arg.toLowerCase() === 'slow') {
              speed = 600;
            } else if (arg.toLowerCase() === 'fast') {
              speed = 200;
            } else {
              easing = arg.toLowerCase().indexOf('swing') &gt; -1 ? 'ease' : arg.toLowerCase();
            }
          } else if (!isNaN(arg)) {
            speed = parseInt(arg);
          } else if (typeof arg === 'function') {
            callback = arg;
          }
        });
        container.forEach(function (dom) {
          if (dom.customShow &amp;&amp; dom.customShow.length &gt; 0) libUtils.setTransitionStart(dom);
          if (dom.customAnimateDelay) {
            dom.customAnimateDelay.push(speed);
            var delayTime = dom.customAnimateDelay.reduce(function (total, currentVal) {
              return total + currentVal;
            });
            setTimeout(function () {
              libUtils.setTransition(dom, styles, speed, easing, callback);
            }, delayTime);
          } else {
            dom.customAnimateDelay = [];
            dom.customAnimateDelay.push(speed);
            libUtils.setTransition(dom, styles, speed, easing, callback);
          }
          if (!styles.hasOwnProperty('scrollTop') &amp;&amp; !styles.hasOwnProperty('scrollLeft')) libUtils.setTransitionEnd(dom, callback);
        });
      }
    }
  }]);
}();
var Events = /*#__PURE__*/function () {
  function Events() {
    (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A)(this, Events);
  }
  return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(Events, [{
    key: "ready",
    value: function ready(callback) {
      if (document.readyState != "loading") callback();else document.addEventListener("DOMContentLoaded", callback);
    }
  }, {
    key: "click",
    value: function click(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "click", callback);else this.trigger("click");
      return this;
    }
  }, {
    key: "dblclick",
    value: function dblclick(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "dblclick", callback);else this.trigger("dblclick");
      return this;
    }
  }, {
    key: "mouseenter",
    value: function mouseenter(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "mouseenter", callback);else this.trigger("mouseenter");
      return this;
    }
  }, {
    key: "mouseleave",
    value: function mouseleave(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "mouseleave", callback);else this.trigger("mouseleave");
      return this;
    }
  }, {
    key: "mousedown",
    value: function mousedown(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "mousedown", callback);else this.trigger("mousedown");
      return this;
    }
  }, {
    key: "mouseup",
    value: function mouseup(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "mouseup", callback);else this.trigger("mouseup");
      return this;
    }
  }, {
    key: "mousemove",
    value: function mousemove(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "mousemove", callback);else this.trigger("mousemove");
      return this;
    }
  }, {
    key: "mouseover",
    value: function mouseover(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "mouseover", callback);else this.trigger("mouseover");
      return this;
    }
  }, {
    key: "mouseout",
    value: function mouseout(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "mouseout", callback);else this.trigger("mouseout");
      return this;
    }
  }, {
    key: "hover",
    value: function hover(callback1, callback2) {
      var _this15 = this;
      var container = this._domElem;
      container.forEach(function (dom) {
        _this15.init(dom);
        dom.addEventListener("mouseenter", callback1);
        if (callback2) dom.addEventListener("mouseleave", callback2);
      });
      return this;
    }
  }, {
    key: "focus",
    value: function focus(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "focus", callback);else {
        var _container = this._domElem;
        _container.forEach(function (dom) {
          dom.focus();
        });
      }
      return this;
    }
  }, {
    key: "focusin",
    value: function focusin(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "focusin", callback);else this.trigger("focusin");
      return this;
    }
  }, {
    key: "focusout",
    value: function focusout(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "focusout", callback);else this.trigger("focusout");
      return this;
    }
  }, {
    key: "blur",
    value: function blur(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "blur", callback);else this.trigger("blur");
      return this;
    }
  }, {
    key: "change",
    value: function change(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "change", callback);else this.trigger("change");
      return this;
    }
  }, {
    key: "keydown",
    value: function keydown(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "keydown", callback);else this.trigger("keydown");
      return this;
    }
  }, {
    key: "keypress",
    value: function keypress(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "keypress", callback);else this.trigger("keypress");
      return this;
    }
  }, {
    key: "keyup",
    value: function keyup(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "keyup", callback);else this.trigger("keyup");
      return this;
    }
  }, {
    key: "load",
    value: function load(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "load", callback);else this.trigger("load");
      return this;
    }
  }, {
    key: "resize",
    value: function resize(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "resize", callback);else this._domElem[0].dispatchEvent(new Event('resize'));
      return this;
    }
  }, {
    key: "scroll",
    value: function scroll(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "scroll", callback);else this.trigger("scroll");
      return this;
    }
  }, {
    key: "select",
    value: function select(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "select", callback);else this.trigger("select");
      return this;
    }
  }, {
    key: "submit",
    value: function submit(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "submit", callback);else this.trigger("submit");
      return this;
    }
  }, {
    key: "trigger",
    value: function trigger(eventName, data) {
      this._domElem.forEach(function (dom) {
        // accessibility fix for checkboxes and clicks where checkbox only checks when the native .click() method is called
        if (eventName === 'click' &amp;&amp; (dom.matches('[type="checkbox"]') || dom.tagName.toLowerCase() === "label")) {
          dom.click();
        }
        if (data) dom.dispatchEvent(new CustomEvent(eventName, {
          detail: data
        }));else dom.dispatchEvent(new Event(eventName, {
          bubbles: true
        }));
      });
      return this;
    }
  }, {
    key: "on",
    value: function on() {
      var _this16 = this;
      for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 &lt; _len9; _key9++) {
        args[_key9] = arguments[_key9];
      }
      var argsLen = args.length;
      var events, callback;
      //on function has 2 arguments; First arg has sngle or multiple events binded, and second arg has a function
      if (argsLen === 2) {
        events = args[0].split(' ');
        callback = args[1];
        if (typeof callback === 'function') {
          libUtils.handleMultiAddEvents(this, events, this._domElem, callback);
        } else return false;
        //on function has 3 arguments; (events, data/selector, function)
      } else if (argsLen === 3) {
        events = args[0].split(' ');
        callback = args[2];
        //if the second argument is a data object, attach the data to the event
        if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(args[1]) === 'object' &amp;&amp; typeof callback === 'function') {
          events.forEach(function (event) {
            var eventName = event &amp;&amp; event !== "template.loaded" &amp;&amp; event.indexOf(".bs.") === -1 ? event.split('.')[0] : event;
            if (eventName) {
              _this16._domElem.forEach(function (dom) {
                var executeThis = function executeThis(e) {
                  e.data = args[1];
                  _this16.init(dom);
                  callback.call(dom, e);
                };
                dom.addEventListener(eventName, executeThis);
                if (!dom.namespace) {
                  dom.namespace = {};
                }
                if (dom.namespace[event]) {
                  dom.namespace[event].push(executeThis);
                } else {
                  dom.namespace[event] = [executeThis];
                }
              });
            }
          });
          //if second argument is a selector string
        } else if (typeof args[1] === 'string' &amp;&amp; typeof callback === 'function') {
          var _container2 = this._domElem,
            selector = args[1];
          libUtils.handleMultiAddDelegateEvents(this, events, _container2, selector, callback);
        } else return false;
        //on function has 4 arguments; (events, selector, data, handler)
      } else if (argsLen === 4) {
        events = args[0].split(' ');
        callback = args[3];
        if (typeof args[1] === 'string' &amp;&amp; typeof callback === 'function') {
          var _container3 = this._domElem,
            _selector = args[1],
            data = args[2];
          libUtils.handleMultiAddDelegateEvents(this, events, _container3, _selector, callback, data);
        } else return false;
        //on function has only 1 argument; and the argument is a map of events
      } else if (argsLen === 1 &amp;&amp; (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(args[0]) === 'object') {
        var eventList = args[0];
        for (var event in eventList) {
          if (typeof eventList[event] === 'function') {
            libUtils.addEvent(this, this._domElem, event, eventList[event]);
          }
        }
      }
      return this;
    }
  }, {
    key: "off",
    value: function off() {
      for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 &lt; _len10; _key10++) {
        args[_key10] = arguments[_key10];
      }
      var argsLen = args.length,
        events,
        callback;
      events = args.length ? args[0].split(' ') : '';
      //off function with NO argument
      if (argsLen === 0) {
        libUtils.handleMultiRemoveEvents(null, this._domElem);
        //off function with one argument - only event
      } else if (argsLen === 1) {
        libUtils.handleMultiRemoveEvents(events, this._domElem);
        //off function with two arguments (event,selector)
      } else if (argsLen === 2 &amp;&amp; typeof args[1] === 'string') {
        var selector = args[1];
        events = args[0].split(' ');
        libUtils.handleMultiRemoveDelegateEvents(events, this._domElem, selector);
        //off function with two arguments (event,function)
      } else if (argsLen === 2 &amp;&amp; typeof args[1] === 'function') {
        callback = args[1];
        events = args[0].split(' ');
        libUtils.handleMultiRemoveEvents(events, this._domElem, callback);
        //off function with three arguments (event,selector,function)
      } else if (argsLen === 3 &amp;&amp; typeof args[1] === 'string' &amp;&amp; typeof args[2] === 'function') {
        var _container4 = this._domElem,
          _callback6 = args[2],
          _selector2 = args[1],
          _events = args[0].split(' ');
        this._domElem = libUtils.getChildNodes(_container4, _selector2);
        libUtils.handleMultiRemoveEvents(_events, this._domElem, _callback6);
      }
      return this;
    }
  }, {
    key: "one",
    value: function one() {
      var _this17 = this;
      for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 &lt; _len11; _key11++) {
        args[_key11] = arguments[_key11];
      }
      var argsLen = args.length;
      var events,
        callback,
        onlyOnce = true;
      //one function has 2 arguments; First arg has sngle or multiple events binded, and second arg has a function
      if (argsLen === 2) {
        events = args[0].split(' ');
        callback = args[1];
        if (typeof callback === 'function') {
          libUtils.handleMultiAddEvents(this, events, this._domElem, callback, onlyOnce);
        } else return false;
        //on function has 3 arguments; (events, data/selector, function)
      } else if (argsLen === 3) {
        events = args[0].split(' ');
        callback = args[2];
        //if the second argument is a data object, attach the data to the event
        if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(args[1]) === 'object' &amp;&amp; typeof callback === 'function') {
          events.forEach(function (event) {
            if (event) {
              _this17._domElem.forEach(function (dom) {
                dom.addEventListener(event, function (e) {
                  e.data = args[1];
                  var callFunction = true;
                  {
                    var custAttr = 'custom' + event;
                    if (dom[custAttr]) {
                      dom[custAttr].eventLen = dom[custAttr].eventLen + 1;
                    } else {
                      dom[custAttr] = {};
                      dom[custAttr].eventLen = 1;
                      dom[custAttr].fun = callback;
                    }
                    if (dom[custAttr].eventLen &gt; 1) {
                      callFunction = false;
                      dom.removeEventListener(event, callback);
                    }
                  }
                  if (callFunction) {
                    _this17.init(dom);
                    callback(e);
                  }
                });
              });
            }
          });
          //if second argument is a selector string
        } else if (typeof args[1] === 'string' &amp;&amp; typeof callback === 'function') {
          var _container5 = this._domElem,
            selector = args[1];
          this._domElem = libUtils.getChildNodes(_container5, selector);
          libUtils.handleMultiAddEvents(this, events, this._domElem, callback, onlyOnce);
        } else return false;
        //on function has only 1 argument; and the argument is a map of events
      }
    }
  }]);
}();
var Selectors = /*#__PURE__*/function () {
  function Selectors() {
    (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A)(this, Selectors);
  }

  //For internal use
  return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(Selectors, [{
    key: "init",
    value: function init(selector, context) {
      var _this18 = this;
      //declaration of init variables
      var regClass = /\./g,
        regId = /\#/g,
        isAttrSelector = /\=\"|\=\'+/g,
        isNotEqlSelector = /\!=+/g,
        isSnglQuote = /\'/g,
        isDblQuote = /\"/g,
        isColon = /\:/;
      var match,
        elem,
        domElem,
        domElemLength = 0;

      //Handle (""), (null), (undefined), (false)
      if (!selector) {
        return this;
      }
      if (selector === document.defaultView &amp;&amp; this._domElem[0] &amp;&amp; this._domElem[0].nodeType === 1) return this;else {
        this.prevObj = this._domElem || libUtils.options.winDoc;
        this._domElem = [];
      }
      if (context &amp;&amp; context.constructor &amp;&amp; context.constructor.name !== "Plus") {
        // take advantage of context handlers below where context is a plus object
        context = plus$2(context);
      }
      if (typeof selector === "string") {
        if (selector[0] === "&lt;" &amp;&amp; selector[selector.length - 1] === "&gt;" &amp;&amp; selector.length &gt;= 3) {
          match = [null, selector, null];
        }
        if (typeof context === "string") {
          context = "";
        }
        // string which is containing newline and carriage return character will be mostly html templates
        if (/\r|\n/.test(selector)) {
          var parser = new DOMParser();
          var doc4 = parser.parseFromString(selector, "text/html");
          var _iterator10 = _createForOfIteratorHelper(doc4.body.children),
            _step10;
          try {
            for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
              var item = _step10.value;
              item.isAhtmlString = true;
              this._domElem.push(item);
            }
          } catch (err) {
            _iterator10.e(err);
          } finally {
            _iterator10.f();
          }
          this.length = this._domElem.length;
          return this;
        }

        // Match html or make sure no context is specified for #id
        if (match &amp;&amp; (match[1] || !context)) {
          if (match[1]) {
            var _parser = new DOMParser();
            var htmlString = match[1];
            var doc3 = _parser.parseFromString(htmlString, "text/html");
            var _iterator11 = _createForOfIteratorHelper(doc3.body.children),
              _step11;
            try {
              for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
                var _item = _step11.value;
                _item.isAhtmlString = true;
                this._domElem.push(_item);
              }
            } catch (err) {
              _iterator11.e(err);
            } finally {
              _iterator11.f();
            }
            this.length = this._domElem.length;
            return this;
            // HANDLE: (#id)
          } else {
            elem = document.getElementById(match[2]);
            if (elem) {
              // Inject the element directly into the object
              this[0] = elem;
              this.length = 1;
            }
            return this;
          }
        } else if (isAttrSelector.test(selector) &amp;&amp; isNotEqlSelector.test(selector)) {
          //Attribute selector - not equal selector ex: "a[hreflang!='en']"
          var newSelector = libUtils.escapeClassnameQueryCSS(selector.split('!=')[0] + ']');
          var attrVal = selector.split('!=')[1].split(']')[0];
          attrVal = isSnglQuote.test(attrVal) ? attrVal.replace(isSnglQuote, "") : isDblQuote.test(attrVal) ? attrVal.replace(isDblQuote, "") : attrVal;
          attrVal = attrVal.trim();
          if (context &amp;&amp; context.length) {
            domElem = [];
            var _iterator12 = _createForOfIteratorHelper(context.domElem),
              _step12;
            try {
              for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {
                var _domElem3;
                var el = _step12.value;
                (_domElem3 = domElem).push.apply(_domElem3, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(el.querySelectorAll(newSelector)));
              }
            } catch (err) {
              _iterator12.e(err);
            } finally {
              _iterator12.f();
            }
            domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
          } else {
            domElem = document.querySelectorAll(newSelector);
          }
          domElem.forEach(function (dom) {
            if (dom.name !== attrVal) _this18._domElem.push(dom);
          });
          this.length = this._domElem.length;
          return this;
        } else if (isColon.test(selector)) {
          if (selector.indexOf('button') &gt; -1) {
            selector = "button, input[type='button']";
          } else if (selector.indexOf('input') &gt; -1) {
            selector = "button, input, select, textarea";
          } else if (selector.indexOf('checkbox') &gt; -1) {
            selector = "[type='checkbox']";
          } else if (selector.indexOf(':first-child') &gt; -1) {
            selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
            if (context &amp;&amp; context.length) {
              domElem = [];
              var _iterator13 = _createForOfIteratorHelper(context.domElem),
                _step13;
              try {
                for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {
                  var _domElem4;
                  var _el = _step13.value;
                  (_domElem4 = domElem).push.apply(_domElem4, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el.querySelectorAll(selector)));
                }
              } catch (err) {
                _iterator13.e(err);
              } finally {
                _iterator13.f();
              }
              domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
            } else {
              domElem = document.querySelectorAll(selector);
            }
            if (domElem.length === 0) {
              this.length = 0;
            } else {
              this._domElem.push(domElem[0]);
              this.length = this._domElem.length;
            }
            return this;
          } else if (selector.indexOf(':last-child') &gt; -1) {
            selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
            if (context &amp;&amp; context.length) {
              domElem = [];
              var _iterator14 = _createForOfIteratorHelper(context.domElem),
                _step14;
              try {
                for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {
                  var _domElem5;
                  var _el2 = _step14.value;
                  (_domElem5 = domElem).push.apply(_domElem5, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el2.querySelectorAll(selector)));
                }
              } catch (err) {
                _iterator14.e(err);
              } finally {
                _iterator14.f();
              }
              domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
            } else {
              domElem = document.querySelectorAll(selector);
            }
            domElemLength = domElem.length - 1;
            this._domElem.push(domElem[domElemLength]);
            this.length = this._domElem.length;
            return this;
          } else if (selector.indexOf(':nth-child') &gt; -1) {
            var _newSelector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]),
              selectorNum = selector.split(':')[1].split('(')[1].split(')')[0],
              incrementer = 0,
              startFrom = 0,
              nthChild = false,
              oddEvenFlg = false;
            if (/n\+/.test(selectorNum)) {
              incrementer = parseInt(selectorNum.split('n')[0]);
              startFrom = parseInt(selectorNum.split('+')[1]);
              nthChild = true;
            } else if (selectorNum === 'odd' || selectorNum === 'even') {
              oddEvenFlg = true;
            } else {
              selectorNum = parseInt(selectorNum) - 1;
            }
            if (context &amp;&amp; context.length) {
              domElem = [];
              var _iterator15 = _createForOfIteratorHelper(context.domElem),
                _step15;
              try {
                for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {
                  var _domElem6;
                  var _el3 = _step15.value;
                  (_domElem6 = domElem).push.apply(_domElem6, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el3.querySelectorAll(_newSelector)));
                }
              } catch (err) {
                _iterator15.e(err);
              } finally {
                _iterator15.f();
              }
              domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
            } else {
              domElem = document.querySelectorAll(_newSelector);
            }
            domElemLength = domElem.length;
            if (typeof selectorNum === 'number' &amp;&amp; selectorNum &lt; domElemLength) {
              this._domElem.push(domElem[selectorNum]);
            } else if (typeof selectorNum === 'string' &amp;&amp; nthChild) {
              //if it has :nth-child(an+b)
              var counter = 0,
                startInjection = false;
              domElem.forEach(function (dom, index) {
                if (index === startFrom - 1 &amp;&amp; startFrom !== 0) {
                  _this18._domElem.push(dom);
                  startInjection = true;
                } else if (startFrom === 0) {
                  startInjection = true;
                }
                if (startInjection) {
                  if (counter !== 0 &amp;&amp; counter % incrementer === 0) {
                    _this18._domElem.push(dom);
                  }
                  counter++;
                }
              });
            } else if (oddEvenFlg) {
              //if it has :nth-child(odd) or it has :nth-child(even)
              domElem.forEach(function (dom, index) {
                if (index % 2 !== 0 &amp;&amp; selectorNum === 'even') {
                  _this18._domElem.push(dom);
                } else if (index % 2 === 0 &amp;&amp; selectorNum === 'odd') {
                  _this18._domElem.push(dom);
                }
              });
            }
            this.length = this._domElem.length;
            return this;
          } else if (selector.indexOf(':visible') &gt; -1 || selector.indexOf(':hidden') &gt; -1) {
            var visibility = selector.indexOf(':visible') &gt; -1 ? 'visible' : 'hidden';
            selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
            if (context &amp;&amp; context.length) {
              domElem = [];
              var _iterator16 = _createForOfIteratorHelper(context.domElem),
                _step16;
              try {
                for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {
                  var _domElem7;
                  var _el4 = _step16.value;
                  (_domElem7 = domElem).push.apply(_domElem7, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el4.querySelectorAll(selector)));
                }
              } catch (err) {
                _iterator16.e(err);
              } finally {
                _iterator16.f();
              }
              domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
            } else {
              domElem = document.querySelectorAll(selector);
            }
            domElem.forEach(function (dom) {
              if (visibility === 'visible' &amp;&amp; dom.clientHeight &gt; 0) {
                _this18._domElem.push(dom);
              } else if (visibility === 'hidden' &amp;&amp; dom.clientHeight === 0) {
                _this18._domElem.push(dom);
              }
            });
            this.length = this._domElem.length;
            return this;
          } else if (selector.indexOf(':selected') &gt; -1) {
            selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
            if (!selector) selector = "option";
            if (context &amp;&amp; context.length) {
              domElem = [];
              var _iterator17 = _createForOfIteratorHelper(context.domElem),
                _step17;
              try {
                for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) {
                  var _domElem8;
                  var _el5 = _step17.value;
                  (_domElem8 = domElem).push.apply(_domElem8, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el5.querySelectorAll(selector)));
                }
              } catch (err) {
                _iterator17.e(err);
              } finally {
                _iterator17.f();
              }
              domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
            } else {
              domElem = document.querySelectorAll(selector);
            }
            domElem.forEach(function (dom) {
              if (dom.selected === true) {
                _this18._domElem.push(dom);
              }
            });
            this.length = plus$2._domElem.length;
            return this;
          } else if (selector.indexOf(':last') &gt; -1) {
            selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
            if (context &amp;&amp; context.length) {
              domElem = [];
              var _iterator18 = _createForOfIteratorHelper(context.domElem),
                _step18;
              try {
                for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) {
                  var _domElem9;
                  var _el6 = _step18.value;
                  (_domElem9 = domElem).push.apply(_domElem9, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el6.querySelectorAll(selector)));
                }
              } catch (err) {
                _iterator18.e(err);
              } finally {
                _iterator18.f();
              }
              domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
            } else {
              domElem = document.querySelectorAll(selector);
            }
            this._domElem.push(domElem[domElem.length - 1]);
            this.length = 1;
            return this;
          } else if (selector.indexOf(':not') &gt; -1) {
            var filter = selector.substring(selector.indexOf(':') + 1);
            selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
            // https://stackoverflow.com/questions/17779744/regular-expression-to-get-a-string-between-parentheses-in-javascript/17780281
            var regExp = /\(([^)]+)\)/;
            filter = regExp.exec(filter)[1];
            if (filter &amp;&amp; filter.charAt(filter.length - 1) !== "\"" &amp;&amp; filter.charAt(filter.length - 1) !== "'") {
              filter = "\"".concat(filter.replace(/\"/g, "'"), "\"");
            }
            filter = JSON.parse(filter);
            if (context &amp;&amp; context.length) {
              var _iterator19 = _createForOfIteratorHelper(context.domElem),
                _step19;
              try {
                for (_iterator19.s(); !(_step19 = _iterator19.n()).done;) {
                  var _this$_domElem;
                  var _el7 = _step19.value;
                  (_this$_domElem = this._domElem).push.apply(_this$_domElem, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el7.querySelectorAll(selector)));
                }
              } catch (err) {
                _iterator19.e(err);
              } finally {
                _iterator19.f();
              }
              this._domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(this._domElem)); // prevent duplicates
            } else {
              this._domElem = document.querySelectorAll(selector);
            }
            this.length = this._domElem.length;
            return this.not(filter);
          }
          if (context &amp;&amp; context.length) {
            domElem = [];
            var _iterator20 = _createForOfIteratorHelper(context.domElem),
              _step20;
            try {
              for (_iterator20.s(); !(_step20 = _iterator20.n()).done;) {
                var _domElem10;
                var _el8 = _step20.value;
                (_domElem10 = domElem).push.apply(_domElem10, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el8.querySelectorAll(libUtils.escapeClassnameQueryCSS(selector))));
              }
            } catch (err) {
              _iterator20.e(err);
            } finally {
              _iterator20.f();
            }
            domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
          } else {
            domElem = document.querySelectorAll(libUtils.escapeClassnameQueryCSS(selector));
          }
          domElem.forEach(function (dom) {
            return _this18._domElem.push(dom);
          });
          this.length = this._domElem.length;
          return this;
        } else {
          regClass.test(selector);
          regId.test(selector);
          if (context &amp;&amp; context.length) {
            domElem = [];
            var _iterator21 = _createForOfIteratorHelper(context.domElem),
              _step21;
            try {
              for (_iterator21.s(); !(_step21 = _iterator21.n()).done;) {
                var _el9 = _step21.value;
                //node like &lt;p&gt; or &lt;div&gt;. || A Document node.
                if (_el9.nodeType === 1 || _el9.nodeType === 9) {
                  var _domElem11;
                  (_domElem11 = domElem).push.apply(_domElem11, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el9.querySelectorAll(libUtils.escapeClassnameQueryCSS(selector))));
                }
              }
            } catch (err) {
              _iterator21.e(err);
            } finally {
              _iterator21.f();
            }
            domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
          } else {
            domElem = document.querySelectorAll(libUtils.escapeClassnameQueryCSS(selector));
          }
          domElem.forEach(function (dom) {
            return _this18._domElem.push(dom);
          });
          this.length = this._domElem.length;
          return this;
        }
      } else if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(selector) === 'object' &amp;&amp; selector === libUtils.options.winObj) {
        this[0] = selector;
        this._domElem.push(selector);
        this.length = 1;
        return this;
        //TODO: Need to assign the this._domElem with selector
      } else if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(selector) === 'object' &amp;&amp; selector.hasOwnProperty('_domElem')) {
        this._domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selector._domElem);
        this.length = this._domElem.length;
        return this;
      } else if (selector.nodeType) {
        if (selector.nodeType === 9) {
          this[0] = selector;
          this._domElem.push(selector);
          this.length = 1;
        } else {
          this._domElem.push(selector);
          this.length = this._domElem.length;
        }
        return this;

        // HANDLE: $(function)
        // Shortcut for document ready
      } else if (selector.constructor &amp;&amp; selector.constructor.name === "HTMLCollection") {
        var _iterator22 = _createForOfIteratorHelper(selector),
          _step22;
        try {
          for (_iterator22.s(); !(_step22 = _iterator22.n()).done;) {
            var _el10 = _step22.value;
            this._domElem.push(_el10);
          }
        } catch (err) {
          _iterator22.e(err);
        } finally {
          _iterator22.f();
        }
        this.length = selector.length;
        return this;
      } else if (typeof selector === "function") {
        return this.ready(selector);
      }
      //libUtils.resetDom(this);
      return this;
    }
  }, {
    key: "find",
    value: function find(selector) {
      // Create a new empty shell plus instance
      var plusObj = plus$2(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = libUtils.getChildNodes(container, selector);
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "next",
    value: function next(filter) {
      var plusObj = plus$2(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      var param = filter,
        itsId = false,
        itsClass = false,
        idValue = '',
        classArray = [],
        selectedVal = '';
      if (param) {
        itsId = libUtils.options.regxId.test(param);
        idValue = libUtils.getIdName(param);
        itsClass = libUtils.options.regxClass.test(param);
        classArray = libUtils.getClassName(param);
      }
      selectedVal = itsId ? idValue : itsClass ? classArray : "";
      container.forEach(function (dom) {
        var nextSiblingSelector = dom.nextElementSibling,
          selectedDom = '';
        if (param &amp;&amp; nextSiblingSelector) {
          plusObj._domElem = libUtils.getSelectionList(itsId, itsClass, selectedVal, param, nextSiblingSelector, plusObj._domElem);
        } else if (!param) {
          selectedDom = nextSiblingSelector;
        }
        if (selectedDom) {
          plusObj._domElem.push(selectedDom);
        }
      });
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "prev",
    value: function prev(filter) {
      var plusObj = plus$2(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      var param = filter,
        itsId = false,
        itsClass = false,
        idValue = '',
        classArray = [],
        selectedVal = '';
      if (param) {
        itsId = libUtils.options.regxId.test(param);
        idValue = libUtils.getIdName(param);
        itsClass = libUtils.options.regxClass.test(param);
        classArray = libUtils.getClassName(param);
      }
      selectedVal = itsId ? idValue : itsClass ? classArray : "";
      container.forEach(function (dom) {
        var previousSiblingSelector = dom.previousElementSibling,
          selectedDom = '';
        if (param &amp;&amp; previousSiblingSelector) {
          plusObj._domElem = libUtils.getSelectionList(itsId, itsClass, selectedVal, param, previousSiblingSelector, plusObj._domElem);
        } else if (!param) {
          selectedDom = previousSiblingSelector;
        }
        if (selectedDom) {
          plusObj._domElem.push(selectedDom);
        }
      });
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "parent",
    value: function parent(selector) {
      var plusObj = plus$2(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      var param = selector,
        itsId = false,
        itsClass = false,
        idValue = '',
        classArray = [],
        selectedVal = '';
      if (param) {
        itsId = libUtils.options.regxId.test(param);
        idValue = libUtils.getIdName(param);
        itsClass = libUtils.options.regxClass.test(param);
        classArray = libUtils.getClassName(param);
      }
      selectedVal = itsId ? idValue : itsClass ? classArray : "";
      container.forEach(function (dom) {
        var parent = dom.parentElement,
          selectedDom = '';
        if (param &amp;&amp; parent) {
          plusObj._domElem = libUtils.getSelectionList(itsId, itsClass, selectedVal, param, parent, plusObj._domElem);
        } else if (!param) {
          selectedDom = parent;
        }
        if (selectedDom) {
          plusObj._domElem.push(selectedDom);
        }
      });
      var uniqueDom = libUtils.uniqueDom(plusObj._domElem);
      plusObj._domElem = uniqueDom;
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "nextAll",
    value: function nextAll(selector) {
      var plusObj = plus$2(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      var selectedDom = [],
        args = [];
      if (container[0].parentNode) {
        if (typeof selector === 'string' &amp;&amp; selector !== "") {
          args = selector.split(',');
          var regxClass = libUtils.options.regxClass,
            regxId = libUtils.options.regxId,
            libUtility = libUtils;
          args.forEach(function (arg) {
            var param = arg.trim(),
              itsId = regxId.test(param),
              idValue = libUtility.getIdName(param),
              itsClass = regxClass.test(param),
              classArray = libUtility.getClassName(param),
              selectedVal = '';
            selectedVal = itsId ? idValue : itsClass ? classArray : "";
            selectedDom = libUtility.nextAllHelper(param, selectedVal, container, itsClass, itsId, plusObj._domElem);
            plusObj._domElem = [].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(plusObj._domElem), (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selectedDom));
          });
        } else if (!selector || selector === "") {
          container.forEach(function (dom) {
            var sibling = dom.nextElementSibling;
            while (sibling) {
              if (sibling.nodeType === 1) {
                selectedDom.push(sibling);
              }
              sibling = sibling.nextElementSibling;
            }
          });
          plusObj._domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selectedDom);
        }
        var uniqueDom = libUtils.uniqueDom(plusObj._domElem);
        plusObj._domElem = uniqueDom;
        plusObj.length = plusObj._domElem.length;
      }
      return plusObj;
    }
  }, {
    key: "parents",
    value: function parents(selector) {
      var plusObj = plus$2(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      var selectedDom = [],
        args = [];
      if (typeof selector === 'string' &amp;&amp; selector !== "") {
        args = selector.split(',');
        var regxClass = libUtils.options.regxClass,
          regxId = libUtils.options.regxId,
          libUtility = libUtils;
        args.forEach(function (arg) {
          var param = arg.trim(),
            itsId = regxId.test(param),
            idValue = libUtility.getIdName(param),
            itsClass = regxClass.test(param),
            classArray = libUtility.getClassName(param),
            selectedVal = '';
          selectedVal = itsId ? idValue : itsClass ? classArray : "";
          selectedDom = libUtility.allParentsHelper(param, selectedVal, container, itsClass, itsId, plusObj._domElem);
          plusObj._domElem = [].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(plusObj._domElem), (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selectedDom));
        });
      } else if (!selector || selector === "") {
        container.forEach(function (dom) {
          var parent = dom.parentElement;
          while (parent) {
            if (parent.nodeType === 1) {
              selectedDom.push(parent);
            }
            parent = parent.parentElement;
          }
        });
        plusObj._domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selectedDom);
      }
      var uniqueDom = libUtils.uniqueDom(plusObj._domElem);
      plusObj._domElem = uniqueDom;
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "prevAll",
    value: function prevAll(selector) {
      var plusObj = plus$2(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      var selectedDom = [],
        args = [];
      if (container[0].parentNode) {
        if (typeof selector === 'string' &amp;&amp; selector !== "") {
          args = selector.split(',');
          var libUtility = libUtils,
            regxClass = libUtility.options.regxClass,
            regxId = libUtility.options.regxId;
          args.forEach(function (arg) {
            var param = arg.trim(),
              itsId = regxId.test(param),
              idValue = libUtility.getIdName(param),
              itsClass = regxClass.test(param),
              classArray = libUtility.getClassName(param),
              selectedVal = '';
            selectedVal = itsId ? idValue : itsClass ? classArray : "";
            selectedDom = libUtility.prevAllHelper(param, selectedVal, container, itsClass, itsId, plusObj._domElem);
            plusObj._domElem = [].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(plusObj._domElem), (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selectedDom));
          });
        } else if (!selector || selector === "") {
          container.forEach(function (dom) {
            var sibling = dom.previousElementSibling;
            while (sibling) {
              if (sibling.nodeType === 1) {
                selectedDom.push(sibling);
              }
              sibling = sibling.previousElementSibling;
            }
          });
          plusObj._domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selectedDom);
        }
        var uniqueDom = libUtils.uniqueDom(plusObj._domElem);
        plusObj._domElem = uniqueDom;
        plusObj.length = plusObj._domElem.length;
      }
      return plusObj;
    }
  }, {
    key: "siblings",
    value: function siblings(selector) {
      var plusObj = plus$2(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      if (container.length === 0) {
        plusObj.length = 0;
        return plusObj;
      }
      var selectedDom = [],
        args = [];
      if (container[0].parentNode) {
        if (typeof selector === 'string' &amp;&amp; selector !== "") {
          args = selector.split(',');
          var regxClass = libUtils.options.regxClass,
            regxId = libUtils.options.regxId,
            libUtility = libUtils;
          args.forEach(function (arg) {
            var param = arg.trim(),
              itsId = regxId.test(param),
              idValue = libUtility.getIdName(param),
              itsClass = regxClass.test(param),
              classArray = libUtility.getClassName(param),
              selectedVal = '';
            selectedVal = itsId ? idValue : itsClass ? classArray : "";
            selectedDom = libUtility.sibilingAllHelper(param, selectedVal, container, itsClass, itsId, plusObj._domElem);
            plusObj._domElem = [].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(plusObj._domElem), (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selectedDom));
          });
        } else if (!selector || selector === "") {
          container.forEach(function (dom) {
            var sibling = dom.parentElement ? dom.parentElement.firstElementChild : null;
            while (sibling) {
              if (sibling.nodeType === 1 &amp;&amp; sibling !== dom) {
                selectedDom.push(sibling);
              }
              sibling = sibling.nextElementSibling;
            }
          });
          plusObj._domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selectedDom);
        }
        var uniqueDom = libUtils.uniqueDom(plusObj._domElem);
        plusObj._domElem = uniqueDom;
        plusObj.length = plusObj._domElem.length;
      }
      return plusObj;
    }
  }]);
}();
var Utils = /*#__PURE__*/function () {
  function Utils() {
    (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A)(this, Utils);
  }
  return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(Utils, [{
    key: "text",
    value: function text(val) {
      var container = this._domElem;
      var text = [];
      if (val || val === "") {
        container.forEach(function (dom) {
          dom.innerText = String(val);
        });
        return this;
      } else {
        container.forEach(function (dom) {
          text.push(dom.innerText);
        });
        return text.join(' ');
      }
    }
  }, {
    key: "addClass",
    value: function addClass(className) {
      var container = this._domElem;
      var classNames = className.split(' ');
      container.forEach(function (dom) {
        return classNames.forEach(function (c) {
          return dom.classList.add(c);
        });
      });
      return this;
    }
  }, {
    key: "removeClass",
    value: function removeClass(className) {
      var container = this._domElem;
      var classNames = className.split(' ');
      container.forEach(function (dom) {
        return classNames.forEach(function (c) {
          return dom.classList.remove(c);
        });
      });
      return this;
    }
  }, {
    key: "toggleClass",
    value: function toggleClass(className) {
      var container = this._domElem;
      var classNames = className.split(' ');
      container.forEach(function (dom) {
        return classNames.forEach(function (c) {
          return dom.classList.toggle(c);
        });
      });
      return this;
    }
  }, {
    key: "after",
    value: function after() {
      var _this19 = this;
      for (var _len12 = arguments.length, args = new Array(_len12), _key12 = 0; _key12 &lt; _len12; _key12++) {
        args[_key12] = arguments[_key12];
      }
      var container = this._domElem;
      args = args.reverse();
      // migrate node reference instead of destroying in cases where container.length is 1
      if (container.length === 1) {
        var dom = container[0];
        args.forEach(function (arg) {
          if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(arg) === 'object') {
            if (arg._domElem) {
              var _iterator23 = _createForOfIteratorHelper(arg._domElem),
                _step23;
              try {
                for (_iterator23.s(); !(_step23 = _iterator23.n()).done;) {
                  var el = _step23.value;
                  dom.after(el);
                }
              } catch (err) {
                _iterator23.e(err);
              } finally {
                _iterator23.f();
              }
            } else if (arg.nodeType === Node.TEXT_NODE) {
              dom.insertAdjacentHTML("afterend", arg.textContent);
            } else if (arg.length) {
              // recursively open arg
              var _iterator24 = _createForOfIteratorHelper(arg),
                _step24;
              try {
                for (_iterator24.s(); !(_step24 = _iterator24.n()).done;) {
                  var ar = _step24.value;
                  _this19.after(ar);
                }
              } catch (err) {
                _iterator24.e(err);
              } finally {
                _iterator24.f();
              }
            } else {
              dom.after(arg);
            }
          } else if (typeof arg === 'function') {
            dom.insertAdjacentHTML("afterend", arg(index));
          } else {
            dom.insertAdjacentHTML("afterend", arg);
          }
        });
      } else {
        container.forEach(function (dom, index) {
          args.forEach(function (arg) {
            if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(arg) === 'object') {
              if (arg._domElem) {
                var _iterator25 = _createForOfIteratorHelper(arg._domElem),
                  _step25;
                try {
                  for (_iterator25.s(); !(_step25 = _iterator25.n()).done;) {
                    var el = _step25.value;
                    libUtils.insertElementAndRemoveOriginal(dom, "afterend", el, _this19);
                  }
                } catch (err) {
                  _iterator25.e(err);
                } finally {
                  _iterator25.f();
                }
              } else if (arg.nodeType === Node.TEXT_NODE) {
                dom.insertAdjacentHTML("afterend", arg.textContent);
              } else if (arg.length) {
                // recursively open arg
                var _iterator26 = _createForOfIteratorHelper(arg),
                  _step26;
                try {
                  for (_iterator26.s(); !(_step26 = _iterator26.n()).done;) {
                    var ar = _step26.value;
                    _this19.after(ar);
                  }
                } catch (err) {
                  _iterator26.e(err);
                } finally {
                  _iterator26.f();
                }
              } else {
                libUtils.insertElementAndRemoveOriginal(dom, "afterend", arg, _this19);
              }
            } else if (typeof arg === 'function') {
              dom.insertAdjacentHTML("afterend", arg(index));
            } else {
              dom.insertAdjacentHTML("afterend", arg);
            }
          });
        });
      }
      return this;
    }
  }, {
    key: "before",
    value: function before() {
      var _this20 = this;
      for (var _len13 = arguments.length, args = new Array(_len13), _key13 = 0; _key13 &lt; _len13; _key13++) {
        args[_key13] = arguments[_key13];
      }
      var container = this._domElem;
      // migrate node reference instead of destroying in cases where container.length is 1
      if (container.length === 1) {
        var dom = container[0];
        args.forEach(function (arg) {
          if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(arg) === 'object') {
            if (arg._domElem) {
              var _iterator27 = _createForOfIteratorHelper(arg._domElem),
                _step27;
              try {
                for (_iterator27.s(); !(_step27 = _iterator27.n()).done;) {
                  var el = _step27.value;
                  dom.before(el);
                }
              } catch (err) {
                _iterator27.e(err);
              } finally {
                _iterator27.f();
              }
            } else if (arg.nodeType === Node.TEXT_NODE) {
              dom.insertAdjacentHTML("beforebegin", arg.textContent);
            } else if (arg.length) {
              // recursively open arg
              var _iterator28 = _createForOfIteratorHelper(arg),
                _step28;
              try {
                for (_iterator28.s(); !(_step28 = _iterator28.n()).done;) {
                  var ar = _step28.value;
                  _this20.before(ar);
                }
              } catch (err) {
                _iterator28.e(err);
              } finally {
                _iterator28.f();
              }
            } else {
              dom.before(arg);
            }
          } else if (typeof arg === 'function') {
            dom.insertAdjacentHTML("beforebegin", arg(index));
          } else {
            dom.insertAdjacentHTML("beforebegin", arg);
          }
        });
      } else {
        container.forEach(function (dom, index) {
          args.forEach(function (arg) {
            if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(arg) === 'object') {
              if (arg._domElem) {
                var _iterator29 = _createForOfIteratorHelper(arg._domElem),
                  _step29;
                try {
                  for (_iterator29.s(); !(_step29 = _iterator29.n()).done;) {
                    var el = _step29.value;
                    libUtils.insertElementAndRemoveOriginal(dom, "beforebegin", el, _this20);
                  }
                } catch (err) {
                  _iterator29.e(err);
                } finally {
                  _iterator29.f();
                }
              } else if (arg.nodeType === Node.TEXT_NODE) {
                dom.insertAdjacentHTML("beforebegin", arg.textContent);
              } else if (arg.length) {
                // recursively open arg
                var _iterator30 = _createForOfIteratorHelper(arg),
                  _step30;
                try {
                  for (_iterator30.s(); !(_step30 = _iterator30.n()).done;) {
                    var ar = _step30.value;
                    _this20.before(ar);
                  }
                } catch (err) {
                  _iterator30.e(err);
                } finally {
                  _iterator30.f();
                }
              } else {
                libUtils.insertElementAndRemoveOriginal(dom, "beforebegin", arg, _this20);
              }
            } else if (typeof arg === 'function') {
              dom.insertAdjacentHTML("beforebegin", arg(index));
            } else {
              dom.insertAdjacentHTML("beforebegin", arg);
            }
          });
        });
      }
      return this;
    }
  }, {
    key: "append",
    value: function append() {
      var _this21 = this;
      for (var _len14 = arguments.length, args = new Array(_len14), _key14 = 0; _key14 &lt; _len14; _key14++) {
        args[_key14] = arguments[_key14];
      }
      var container = this._domElem;
      // migrate node reference instead of destroying in cases where container.length is 1
      if (container.length === 1) {
        var dom = container[0];
        args.forEach(function (arg) {
          if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(arg) === 'object') {
            if (arg._domElem) {
              var _iterator31 = _createForOfIteratorHelper(arg._domElem),
                _step31;
              try {
                for (_iterator31.s(); !(_step31 = _iterator31.n()).done;) {
                  var el = _step31.value;
                  dom.append(el);
                }
              } catch (err) {
                _iterator31.e(err);
              } finally {
                _iterator31.f();
              }
            } else if (arg.nodeType === Node.TEXT_NODE) {
              dom.insertAdjacentHTML("beforeend", arg.textContent);
            } else if (arg.length) {
              // recursively open arg
              var _iterator32 = _createForOfIteratorHelper(arg),
                _step32;
              try {
                for (_iterator32.s(); !(_step32 = _iterator32.n()).done;) {
                  var ar = _step32.value;
                  _this21.append(ar);
                }
              } catch (err) {
                _iterator32.e(err);
              } finally {
                _iterator32.f();
              }
            } else {
              dom.append(arg);
            }
          } else if (typeof arg === 'function') dom.insertAdjacentHTML("beforeend", arg(index, dom.innerHTML));else dom.insertAdjacentHTML("beforeend", arg);
        });
      } else {
        container.forEach(function (dom, index) {
          args.forEach(function (arg) {
            if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(arg) === 'object') {
              if (arg._domElem) {
                var _iterator33 = _createForOfIteratorHelper(arg._domElem),
                  _step33;
                try {
                  for (_iterator33.s(); !(_step33 = _iterator33.n()).done;) {
                    var el = _step33.value;
                    libUtils.insertElementAndRemoveOriginal(dom, "beforeend", el, _this21);
                  }
                } catch (err) {
                  _iterator33.e(err);
                } finally {
                  _iterator33.f();
                }
              } else if (arg.nodeType === Node.TEXT_NODE) {
                dom.insertAdjacentHTML("beforeend", arg.textContent);
              } else if (arg.length) {
                // recursively open arg
                var _iterator34 = _createForOfIteratorHelper(arg),
                  _step34;
                try {
                  for (_iterator34.s(); !(_step34 = _iterator34.n()).done;) {
                    var ar = _step34.value;
                    _this21.append(ar);
                  }
                } catch (err) {
                  _iterator34.e(err);
                } finally {
                  _iterator34.f();
                }
              } else {
                libUtils.insertElementAndRemoveOriginal(dom, "beforeend", arg, _this21);
              }
            } else if (typeof arg === 'function') dom.insertAdjacentHTML("beforeend", arg(index, dom.innerHTML));else dom.insertAdjacentHTML("beforeend", arg);
          });
        });
      }
      return this;
    }
  }, {
    key: "prepend",
    value: function prepend() {
      var _this22 = this;
      for (var _len15 = arguments.length, args = new Array(_len15), _key15 = 0; _key15 &lt; _len15; _key15++) {
        args[_key15] = arguments[_key15];
      }
      var container = this._domElem;
      args = args.reverse();
      // migrate node reference instead of destroying in cases where container.length is 1
      if (container.length === 1) {
        var dom = container[0];
        args.forEach(function (arg) {
          if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(arg) === 'object') {
            if (arg._domElem) {
              var _iterator35 = _createForOfIteratorHelper(arg._domElem),
                _step35;
              try {
                for (_iterator35.s(); !(_step35 = _iterator35.n()).done;) {
                  var el = _step35.value;
                  dom.prepend(el);
                }
              } catch (err) {
                _iterator35.e(err);
              } finally {
                _iterator35.f();
              }
            } else if (arg.nodeType === Node.TEXT_NODE) {
              dom.insertAdjacentHTML("afterbegin", arg.textContent);
            } else if (arg.length) {
              // recursively open arg
              var _iterator36 = _createForOfIteratorHelper(arg),
                _step36;
              try {
                for (_iterator36.s(); !(_step36 = _iterator36.n()).done;) {
                  var ar = _step36.value;
                  _this22.prepend(ar);
                }
              } catch (err) {
                _iterator36.e(err);
              } finally {
                _iterator36.f();
              }
            } else {
              dom.prepend(arg);
            }
          } else if (typeof arg === 'function') dom.insertAdjacentHTML("afterbegin", arg(index, dom.innerHTML));else dom.insertAdjacentHTML("afterbegin", arg);
        });
      } else {
        container.forEach(function (dom, index) {
          args.forEach(function (arg) {
            if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(arg) === 'object') {
              if (arg._domElem) {
                var _iterator37 = _createForOfIteratorHelper(arg._domElem),
                  _step37;
                try {
                  for (_iterator37.s(); !(_step37 = _iterator37.n()).done;) {
                    var el = _step37.value;
                    libUtils.insertElementAndRemoveOriginal(dom, "afterbegin", el, _this22);
                  }
                } catch (err) {
                  _iterator37.e(err);
                } finally {
                  _iterator37.f();
                }
              } else if (arg.nodeType === Node.TEXT_NODE) {
                dom.insertAdjacentHTML("afterbegin", arg.textContent);
              } else if (arg.length) {
                // recursively open arg
                var _iterator38 = _createForOfIteratorHelper(arg),
                  _step38;
                try {
                  for (_iterator38.s(); !(_step38 = _iterator38.n()).done;) {
                    var ar = _step38.value;
                    _this22.prepend(ar);
                  }
                } catch (err) {
                  _iterator38.e(err);
                } finally {
                  _iterator38.f();
                }
              } else {
                libUtils.insertElementAndRemoveOriginal(dom, "afterbegin", arg, _this22);
              }
            } else if (typeof arg === 'function') dom.insertAdjacentHTML("afterbegin", arg(index, dom.innerHTML));else dom.insertAdjacentHTML("afterbegin", arg);
          });
        });
      }
      return this;
    }
  }, {
    key: "appendTo",
    value: function appendTo(selector) {
      var _this23 = this;
      var args = this.insertTo(selector),
        argLength,
        container;
      if (args.length) {
        this.append.apply(this, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(args));
        argLength = args.length;
      } else {
        this.append(args);
        argLength = 1;
      }

      // return appropriate this to chain + retrieve references to newly added elements
      container = this._domElem;
      this._domElem = [];
      container.forEach(function (dom) {
        for (var idx = 1; idx &lt;= argLength; idx++) {
          if (dom.children.length - idx &gt;= 0) {
            _this23._domElem.push(dom.children[dom.children.length - idx]);
          }
        }
      });
      this.length = this._domElem.length;
      return this;
    }
  }, {
    key: "prependTo",
    value: function prependTo(selector) {
      var _this24 = this;
      var args = this.insertTo(selector),
        argLength,
        container;
      if (args.length) {
        this.prepend.apply(this, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(args));
        argLength = args.length;
      } else {
        this.prepend(args);
        argLength = 1;
      }

      // return appropriate this to chain + retrieve references to newly added elements
      container = this._domElem;
      this._domElem = [];
      container.forEach(function (dom) {
        for (var idx = 0; idx &lt; argLength; idx++) {
          if (idx &lt; dom.children.length) {
            _this24._domElem.push(dom.children[idx]);
          }
        }
      });
      this.length = this._domElem.length;
      return this;
    }
  }, {
    key: "insertTo",
    value: function insertTo(selector) {
      var _this25 = this;
      var container = this._domElem;
      var skipthis = false,
        tobeInserted = [];
      container.forEach(function (dom) {
        if (!dom.isAhtmlString) {
          tobeInserted.push(dom);
          libUtils.removeElement(dom, _this25);
        } else delete dom.isAhtmlString;
      });
      if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(selector) === 'object' &amp;&amp; selector._domElem) {
        skipthis = true;
        this._domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selector._domElem);
        this.prevObj = selector.prevObj ? (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selector.prevObj) : [];
        this.length = selector.length;
      }
      if (!skipthis) this.init(selector);
      if (tobeInserted.length) return tobeInserted;else return container[0];
    }
  }, {
    key: "attr",
    value: function attr() {
      for (var _len16 = arguments.length, args = new Array(_len16), _key16 = 0; _key16 &lt; _len16; _key16++) {
        args[_key16] = arguments[_key16];
      }
      var container = this._domElem;
      if (args.length === 1 &amp;&amp; typeof args[0] === 'string') {
        //get attribute value
        var val = container.length ? container[0].getAttribute(args[0]) : "";
        return val;
      } else if (args.length === 1 &amp;&amp; (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(args[0]) === 'object') {
        //set attribute using object
        container.forEach(function (dom) {
          for (var property in args[0]) {
            dom.setAttribute(property, args[0][property]);
          }
        });
      } else if (args.length === 2) {
        //set attribute to all
        container.forEach(function (dom, index) {
          //if args[0] is string and args[1] is function
          if (typeof args[0] === 'string' &amp;&amp; typeof args[1] === 'function') {
            var attrVal = dom.getAttribute(args[0]);
            if (attrVal) {
              var newAttrVal;
              if (isNaN(parseInt(attrVal))) newAttrVal = args[1](index, attrVal);else newAttrVal = args[1](index, parseInt(attrVal));
              dom.setAttribute(args[0], newAttrVal);
            }
            //if args[0] is string and second is value
          } else if (typeof args[0] === 'string') {
            dom.setAttribute(args[0], args[1]);
          }
        });
      }
      return this;
    }
  }, {
    key: "clone",
    value: function clone() {
      var plusObj = plus(),
        container = this._domElem;
      plusObj._domElem = [];
      //TODO: eventhandlers cant be copied in javascript
      container.forEach(function (dom) {
        plusObj._domElem.push(dom.cloneNode(true));
      });
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "css",
    value: function css() {
      for (var _len17 = arguments.length, args = new Array(_len17), _key17 = 0; _key17 &lt; _len17; _key17++) {
        args[_key17] = arguments[_key17];
      }
      var container = this._domElem;
      if (args.length === 1 &amp;&amp; typeof args[0] === 'string') {
        //get style
        return container.length ? libUtils.getStyle(container[0], args[0]) : "";
      } else if (args.length === 1 &amp;&amp; (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(args[0]) === 'object') {
        //update css to the all dom elements
        container.forEach(function (dom) {
          var counter = 0,
            css = '',
            newStyleVal = '';
          for (var property in args[0]) {
            counter++;
            newStyleVal = '';
            if (!/^[1-9]\d*(\.\d+)?$/.test(args[0][property])) {
              css = "".concat(css).concat(property, ":").concat(args[0][property]);
            } else {
              newStyleVal = parseInt(args[0][property]);
              newStyleVal = libUtils.getUnits(newStyleVal, property);
              css = "".concat(css).concat(property, ":").concat(newStyleVal);
            }
            if (counter &lt; Object.keys(args[0]).length) css = "".concat(css, ";");
          }
          dom.style.cssText = dom.style.cssText + css;
        });
      } else if (args.length === 2) {
        //set attribute to all
        container.forEach(function (dom, index) {
          //if args[0] is string and args[1] is function
          if (typeof args[0] === 'string' &amp;&amp; typeof args[1] === 'function') {
            var attrVal = libUtils.getStyle(dom, args[0]),
              newStyleVal = '';
            if (attrVal) {
              if (!/^[1-9]\d*(\.\d+)?$/.test(attrVal)) {
                newStyleVal = args[1](index, attrVal);
                dom.style[args[0]] = newStyleVal;
              } else {
                newStyleVal = args[1](index, parseInt(attrVal));
                dom.style[args[0]] = libUtils.getUnits(newStyleVal, args[0]);
              }
            }
            //if args[0] is string and second is value
          } else if (typeof args[0] === 'string') {
            var _newStyleVal = '';
            if (!/^[1-9]\d*(\.\d+)?$/.test(args[1])) {
              dom.style[args[0]] = args[1];
            } else if (args[1] === '') {
              dom.style.removeProperty(args[0]);
            } else {
              _newStyleVal = parseInt(args[1]);
              _newStyleVal = libUtils.getUnits(_newStyleVal, args[0]);
              dom.style[args[0]] = _newStyleVal;
            }
          }
        });
      }
      return this;
    }
  }, {
    key: "empty",
    value: function empty() {
      var container = this._domElem;
      container.forEach(function (dom) {
        dom.innerHTML = "";
      });
      return this;
    }
  }, {
    key: "hasClass",
    value: function hasClass(classname) {
      var container = this._domElem;
      var hasClass = false;
      container.forEach(function (dom) {
        if (dom.classList.contains(classname)) hasClass = true;
      });
      return hasClass;
    }
  }, {
    key: "height",
    value: function height(param) {
      var container = this._domElem;
      var body = document.body,
        html = document.documentElement,
        maxHeight = 0;
      if (param) {
        container.forEach(function (dom, index) {
          if (typeof param === 'function') {
            var currentHeight = libUtils.getStyle(dom, 'height');
            dom.style.height = libUtils.getUnits(param(index, parseInt(currentHeight)));
          } else dom.style.height = libUtils.getUnits(param);
        });
        return this;
      } else {
        if (container[0] === document.defaultView) {
          maxHeight = Math.max(html.clientHeight, html.offsetHeight);
          return maxHeight;
        } else if (container.length &amp;&amp; container[0].nodeType === 9) {
          maxHeight = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);
          return maxHeight;
        } else {
          var heightStyle = container.length ? libUtils.getStyle(container[0], 'height') : 0;
          if (container.length &amp;&amp; libUtils.getStyle(container[0], 'display') === 'none') {
            container[0].style.display = '';
            heightStyle = libUtils.getStyle(container[0], 'height');
            container[0].style.display = 'none';
          }
          return container.length ? parseInt(heightStyle !== 'auto' &amp;&amp; heightStyle !== '' ? heightStyle : 0) : 0;
        }
      }
    }
  }, {
    key: "html",
    value: function html(content) {
      var container = this._domElem;
      if (content !== undefined &amp;&amp; content !== null) {
        container.forEach(function (dom, index) {
          if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(content) === "object" &amp;&amp; content._domElem) {
            dom.innerHTML = content._domElem.length ? content._domElem.map(function (dom) {
              return dom.outerHTML;
            }).join("") : "";
          } else if (typeof content === 'function') {
            var currentHtml = dom.innerHTML;
            dom.innerHTML = content.call(dom, index, currentHtml);
          } else if (Array.isArray(content)) {
            dom.innerHTML = content.join("");
          } else dom.innerHTML = content;
        });
        return this;
      } else return container.length ? container[0].innerHTML : "";
    }
  }, {
    key: "innerHeight",
    value: function innerHeight() {
      var container = this._domElem;
      var body = document.body,
        html = document.documentElement,
        maxHeight = 0;
      if (container[0] === document.defaultView) {
        maxHeight = Math.max(html.clientHeight, html.offsetHeight);
        return maxHeight;
      } else if (container.length &amp;&amp; container[0].nodeType === 9) {
        maxHeight = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);
        return maxHeight;
      } else {
        return container.length ? container[0].clientHeight : 0;
      }
    }
  }, {
    key: "innerWidth",
    value: function innerWidth() {
      var container = this._domElem;
      var body = document.body,
        html = document.documentElement,
        maxWidth = 0,
        winInnerWidth = 0;
      if (container[0] === document.defaultView) {
        winInnerWidth = Math.max(html.offsetWidth, html.clientWidth);
        return winInnerWidth;
      } else if (container.length &amp;&amp; container[0].nodeType === 9) {
        maxWidth = Math.max(body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth);
        return maxWidth;
      } else {
        return container.length ? container[0].clientWidth : 0;
      }
    }
  }, {
    key: "insertAfter",
    value: function insertAfter(selector) {
      if (selector) {
        var args = this.insertTo(selector);
        if (args.length) this.after.apply(this, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(args));else this.after(args);
        this._domElem = this.prevObj;
        this.length = this._domElem.length;
        return this;
      }
      return this;
    }
  }, {
    key: "insertBefore",
    value: function insertBefore(selector) {
      if (selector) {
        var args = this.insertTo(selector);
        if (args.length) this.before.apply(this, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(args));else this.before(args);
        this._domElem = this.prevObj;
        this.length = this._domElem.length;
        return this;
      }
      return this;
    }
  }, {
    key: "offset",
    value: function offset(offsetVal) {
      var container = this._domElem;
      if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(offsetVal) === 'object') {
        container.forEach(function (dom) {
          libUtils.offsetAlreadyAvailable(dom, offsetVal);
        });
      } else if (typeof offsetVal === 'function') {
        container.forEach(function (dom, index) {
          var tempOffsetObj = libUtils.getOffset(dom);
          var newOffset = offsetVal(index, tempOffsetObj);
          libUtils.offsetAlreadyAvailable(dom, newOffset);
        });
      } else {
        return container.length ? libUtils.getOffset(container[0]) : undefined;
      }
      return this;
    }
  }, {
    key: "outerHeight",
    value: function outerHeight(plusMargin) {
      var container = this._domElem;
      var body = document.body,
        html = document.documentElement,
        maxHeight = 0;
      if (plusMargin) {
        var marginTop = container.length ? libUtils.getStyle(container[0], 'margin-top') : "",
          marginBottom = container.length ? libUtils.getStyle(container[0], 'margin-bottom') : "",
          offsetHeight = container.length ? container[0].offsetHeight : 0;
        return parseInt(marginTop) + parseInt(marginBottom) + offsetHeight;
      } else {
        if (container[0] === document.defaultView) {
          return container[0].innerHeight;
        } else if (container.length &amp;&amp; container[0].nodeType === 9) {
          maxHeight = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);
          return maxHeight;
        } else {
          return container.length ? container[0].offsetHeight : 0;
        }
      }
    }
  }, {
    key: "outerWidth",
    value: function outerWidth(plusMargin) {
      var container = this._domElem;
      var body = document.body,
        html = document.documentElement,
        maxWidth = 0;
      if (plusMargin) {
        var marginLeft = container.length ? libUtils.getStyle(container[0], 'margin-left') : "",
          marginRight = container.length ? libUtils.getStyle(container[0], 'margin-right') : "",
          offSetWidth = container.length ? container[0].offsetWidth : 0;
        return parseInt(marginLeft) + parseInt(marginRight) + offSetWidth;
      } else {
        if (container[0] === document.defaultView) {
          return container[0].innerWidth;
        } else if (container.length &amp;&amp; container[0].nodeType === 9) {
          maxWidth = Math.max(body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth);
          return maxWidth;
        } else {
          return container.length ? container[0].offsetWidth : 0;
        }
      }
    }
  }, {
    key: "position",
    value: function position() {
      var container = this._domElem;
      var leftVal = container.length ? container[0].offsetLeft : 0,
        topVal = container.length ? container[0].offsetTop : 0;
      return {
        left: leftVal,
        top: topVal
      };
    }
  }, {
    key: "prop",
    value: function prop() {
      for (var _len18 = arguments.length, args = new Array(_len18), _key18 = 0; _key18 &lt; _len18; _key18++) {
        args[_key18] = arguments[_key18];
      }
      var container = this._domElem;
      if (args.length === 1 &amp;&amp; typeof args[0] === 'string') {
        var _prop = args[0];
        return container[0] ? container[0][_prop] : "";
      } else if (args.length === 1 &amp;&amp; (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(args[0]) === 'object') {
        //set prop using object
        container.forEach(function (dom) {
          for (var property in args[0]) {
            dom[property] = args[0][property];
          }
        });
      } else if (args.length === 2) {
        //set prop to all
        container.forEach(function (dom, index) {
          //if args[0] is string and args[1] is function
          if (typeof args[0] === 'string' &amp;&amp; typeof args[1] === 'function') {
            var propVal = dom.args[0];
            if (propVal) {
              var newPropVal = args[1](index, propVal);
              dom[args[0]] = newPropVal;
            }
            //if args[0] is string and second is value
          } else if (typeof args[0] === 'string') {
            dom[args[0]] = args[1];
          }
        });
      }
      return this;
    }
  }, {
    key: "remove",
    value: function remove(selector) {
      var _this26 = this;
      var container = this._domElem;
      if (typeof selector === 'string') {
        var htmlSelectors = selector.split(',');
        htmlSelectors.forEach(function (selector) {
          var param = selector.trim(),
            libOptions = libUtils.options,
            itsId = libOptions.regxId.test(param),
            idValue = libUtils.getIdName(param),
            itsClass = libOptions.regxClass.test(param),
            classArray = libUtils.getClassName(param),
            selectedVal = '';
          selectedVal = itsId ? idValue : itsClass ? classArray : "";
          container.forEach(function (dom) {
            if (itsId &amp;&amp; selectedVal &amp;&amp; dom.id === selectedVal) {
              if (itsClass) {
                var iDsclassArray = param.split('.'),
                  tempArray = [],
                  hasClassName = false;
                iDsclassArray.forEach(function (thisClass) {
                  if (thisClass) {
                    if (libOptions.regxId.test(thisClass)) {
                      thisClass = thisClass.split('#')[0];
                    }
                    tempArray.push(thisClass);
                  }
                });
                tempArray.forEach(function (thisClass, i) {
                  if (i === 0 &amp;&amp; dom.classList.contains(thisClass)) {
                    hasClassName = true;
                  } else if (dom.classList.contains(thisClass) &amp;&amp; hasClassName) {
                    hasClassName = true;
                  } else {
                    hasClassName = false;
                  }
                });
                if (hasClassName) {
                  libUtils.removeElement(dom, _this26);
                }
              } else {
                libUtils.removeElement(dom, _this26);
              }
            } else if (!itsId &amp;&amp; itsClass &amp;&amp; selectedVal.length) {
              var _hasClassName3 = false;
              selectedVal.forEach(function (className, i) {
                if (i === 0 &amp;&amp; dom.classList.contains(className)) {
                  _hasClassName3 = true;
                } else if (dom.classList.contains(className) &amp;&amp; _hasClassName3) {
                  _hasClassName3 = true;
                } else {
                  _hasClassName3 = false;
                }
              });
              if (_hasClassName3) {
                libUtils.removeElement(dom, _this26);
              }
            } else if (!itsId &amp;&amp; !itsClass &amp;&amp; dom.nodeName.toLowerCase() === param.trim().toLowerCase()) {
              libUtils.removeElement(dom, _this26);
            }
          });
        });
      } else {
        container.forEach(function (dom) {
          libUtils.removeElement(dom, _this26);
        });
      }
      return this;
    }
  }, {
    key: "removeAttr",
    value: function removeAttr(name) {
      var container = this._domElem;
      var attributes = name ? name.split(" ") : [];
      if (attributes.length) {
        attributes.forEach(function (attrName) {
          container.forEach(function (dom) {
            dom.removeAttribute(attrName);
          });
        });
      }
      return this;
    }
  }, {
    key: "replaceAll",
    value: function replaceAll(selector) {
      var _this27 = this;
      var container = this._domElem;
      if (selector) {
        this.init(selector);
        if (container[0] &amp;&amp; container[0].isAhtmlString) {
          var selectorContainer = this._domElem,
            newItem = container[0];
          selectorContainer.forEach(function (dom) {
            dom.insertAdjacentHTML("beforebegin", newItem.outerHTML);
            libUtils.removeElement(dom, _this27);
          });
        }
      }
      return this;
    }
  }, {
    key: "replaceWith",
    value: function replaceWith(selector) {
      var _this28 = this;
      var container = this._domElem;
      var content;
      if (typeof selector === 'function') {
        container.forEach(function (dom, index) {
          var funReturns = selector(index);
          if (typeof funReturns === 'string' &amp;&amp; funReturns[0] === "&lt;" &amp;&amp; funReturns[funReturns.length - 1] === "&gt;" &amp;&amp; funReturns.length &gt;= 3) {
            var doc4 = new DOMParser().parseFromString(funReturns, "text/xml");
            content = doc4.firstChild;
          } else {
            content = funReturns;
          }
          libUtils.replaceWithHelper(dom, content, _this28);
        });
      } else {
        container.forEach(function (dom) {
          libUtils.replaceWithHelper(dom, selector, _this28);
        });
      }
      return this;
    }
  }, {
    key: "scrollLeft",
    value: function scrollLeft(val) {
      var container = this._domElem;
      var htmlDoc = document.getElementsByTagName('html')[0];
      if (val || val === 0) {
        var scrollLeftVal = parseInt(val);
        container.forEach(function (dom) {
          if (dom === document.defaultView) {
            htmlDoc.scrollLeft = scrollLeftVal;
          } else {
            dom.scrollLeft = scrollLeftVal;
          }
        });
      } else {
        if (container[0] === document.defaultView) {
          return container[0] ? htmlDoc.scrollLeft : 0;
        } else {
          return container.length ? container[0].scrollLeft : 0;
        }
      }
      return this;
    }
  }, {
    key: "scrollTop",
    value: function scrollTop(val) {
      var container = this._domElem;
      var htmlDoc = document.getElementsByTagName('html')[0];
      if (val || val === 0) {
        var scrollTopVal = parseInt(val);
        container.forEach(function (dom) {
          if (dom === document.defaultView) {
            htmlDoc.scrollTop = scrollTopVal;
          } else {
            dom.scrollTop = scrollTopVal;
          }
        });
      } else {
        if (container[0] === document.defaultView) {
          return container[0] ? htmlDoc.scrollTop : 0;
        } else if (container[0].nodeType === 9) {
          return container[0] ? document.scrollingElement.scrollTop : 0;
        } else {
          return container.length ? container[0].scrollTop : 0;
        }
      }
      return this;
    }
  }, {
    key: "unwrap",
    value: function unwrap() {
      var container = this._domElem;
      container.forEach(function (dom) {
        if (dom.parentElement.nodeName !== "BODY") dom.parentElement.outerHTML = dom.parentElement.innerHTML;
      });
      return this;
    }
  }, {
    key: "wrap",
    value: function wrap(wrappingElement) {
      var _this29 = this;
      var container = this._domElem;
      if (wrappingElement) {
        if (typeof wrappingElement === 'function') {
          container.forEach(function (dom, i) {
            var functionReturn = wrappingElement(i);
            _this29.init(functionReturn);
            var selectorContainer = _this29._domElem[0];
            selectorContainer.innerHTML = dom.outerHTML;
            dom.outerHTML = selectorContainer.outerHTML;
          });
        } else if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(wrappingElement) === 'object') {
          var selectorContainer = wrappingElement;
          libUtils.wrapWith(container, selectorContainer);
        } else {
          this.init(wrappingElement);
          var _selectorContainer = this._domElem[0];
          libUtils.wrapWith(container, _selectorContainer);
        }
      }
      return this;
    }
  }, {
    key: "wrapAll",
    value: function wrapAll(wrappingElement) {
      var container = this._domElem;
      if (wrappingElement) {
        if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(wrappingElement) === 'object') {
          var wrapper = wrappingElement;
          libUtils.wrapAll(container, wrapper, this);
        } else {
          this.init(wrappingElement);
          var _wrapper = this._domElem[0];
          libUtils.wrapAll(container, _wrapper, this);
        }
      }
      return this;
    }
  }, {
    key: "wrapInner",
    value: function wrapInner(wrappingElement) {
      var container = this._domElem;
      if (wrappingElement) {
        if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(wrappingElement) === 'object') {
          var wrapper = wrappingElement;
          libUtils.wrapInner(container, wrapper);
        } else {
          this.init(wrappingElement);
          var _wrapper2 = this._domElem[0];
          libUtils.wrapInner(container, _wrapper2);
        }
      }
      return this;
    }
  }, {
    key: "val",
    value: function val(setVal) {
      var container = this._domElem;
      if (setVal !== undefined &amp;&amp; typeof setVal === 'string') {
        container.forEach(function (dom) {
          dom.value = setVal;
        });
        return this;
      } else {
        return container.length ? container[0].value : "";
      }
    }
  }, {
    key: "width",
    value: function width(param) {
      var container = this._domElem;
      var body = document.body,
        html = document.documentElement,
        maxWidth = 0,
        winWidth = 0;
      if (param) {
        container.forEach(function (dom, index) {
          if (typeof param === 'function') {
            var currentWidth = libUtils.getStyle(dom, 'width');
            dom.style.width = libUtils.getUnits(param(index, parseInt(currentWidth)));
          } else dom.style.width = libUtils.getUnits(param);
        });
        return this;
      } else {
        if (container[0] === document.defaultView) {
          winWidth = Math.max(html.offsetWidth, html.clientWidth);
          return winWidth;
        } else if (container.length &amp;&amp; container[0].nodeType === 9) {
          maxWidth = Math.max(body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth);
          return maxWidth;
        } else {
          var widthStyle = container.length ? libUtils.getStyle(container[0], 'width') : 0;
          if (container.length &amp;&amp; libUtils.getStyle(container[0], 'display') === 'none') {
            container[0].style.display = '';
            widthStyle = libUtils.getStyle(container[0], 'width');
            container[0].style.display = 'none'; // toggle back to none after calc
          }
          return container.length ? parseInt(widthStyle !== 'auto' &amp;&amp; widthStyle !== '' ? widthStyle : 0) : 0;
        }
      }
    }
  }, {
    key: "detach",
    value: function detach() {
      var container = this._domElem;
      var detachedElem = container.length ? container[0] : "";
      if (detachedElem) {
        detachedElem.detachingElement = true;
        detachedElem.parentElement.removeChild(detachedElem);
      }
      return detachedElem;
    }
  }, {
    key: "children",
    value: function children(filter) {
      var plusObj = plus(),
        container = this._domElem;
      plusObj._domElem = [];
      if (filter &amp;&amp; filter !== "") {
        var _param = filter,
          itsId = libUtils.options.regxId.test(_param),
          idValue = libUtils.getIdName(_param),
          itsClass = libUtils.options.regxClass.test(_param),
          classArray = libUtils.getClassName(_param),
          selectedVal = '';
        selectedVal = itsId ? idValue : itsClass ? classArray : "";
        container.forEach(function (dom) {
          var _iterator39 = _createForOfIteratorHelper(dom.children),
            _step39;
          try {
            for (_iterator39.s(); !(_step39 = _iterator39.n()).done;) {
              var child = _step39.value;
              plusObj._domElem = libUtils.getSelectionList(itsId, itsClass, selectedVal, _param, child, plusObj._domElem);
            }
          } catch (err) {
            _iterator39.e(err);
          } finally {
            _iterator39.f();
          }
        });
      } else {
        container.forEach(function (dom) {
          var _iterator40 = _createForOfIteratorHelper(dom.children),
            _step40;
          try {
            for (_iterator40.s(); !(_step40 = _iterator40.n()).done;) {
              var child = _step40.value;
              plusObj._domElem.push(child);
            }
          } catch (err) {
            _iterator40.e(err);
          } finally {
            _iterator40.f();
          }
        });
      }
      plusObj.prevObj = container;
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "closest",
    value: function closest(filter) {
      // Create a new empty shell plus instance
      var plusObj = plus();
      var container = this._domElem;
      plusObj.prevObj = this._domElem;
      if (filter) {
        plusObj._domElem = [];
        container.forEach(function (dom) {
          if (dom.closest(filter)) plusObj._domElem.push(dom.closest(filter));
        });
      }
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "each",
    value: function each(method) {
      var plusObj = plus(),
        container = this._domElem;
      container.forEach(function (dom, i) {
        plusObj.init(dom);
        method.call(dom, i, dom);
        plusObj._domElem = [];
      });
    }
  }, {
    key: "eq",
    value: function eq(index) {
      var plusObj = plus(),
        container = this._domElem;
      plusObj._domElem = [];
      if (index !== undefined) {
        index = String(index).trim();
        if (!libUtils.options.regxHasAlphabets.test(index)) {
          index = parseInt(index);
          if (index &lt; 0) index = container.length + index;
          container.forEach(function (dom, i) {
            if (i === index) plusObj._domElem.push(dom);
          });
        }
      }
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "filter",
    value: function filter(criteria) {
      var plusObj = plus(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      if (criteria) {
        var selectedDom = [],
          args = [];
        if (typeof criteria === 'string') {
          if (/[\[(].+,.+[\])]/g.test(criteria)) {
            args = [criteria];
          } else {
            args = criteria.split(',');
          }
          var regxClass = libUtils.options.regxClass,
            regxId = libUtils.options.regxId,
            libUtility = libUtils;
          args.forEach(function (arg) {
            var param = arg.trim(),
              itsId = regxId.test(param),
              idValue = libUtility.getIdName(param),
              itsClass = regxClass.test(param),
              classArray = libUtility.getClassName(param),
              selectedVal = '';
            selectedVal = itsId ? idValue : itsClass ? classArray : "";
            selectedDom = libUtility.filterHelper(param, selectedVal, container, itsClass, itsId, plusObj._domElem);
            plusObj._domElem = [].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(plusObj._domElem), (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selectedDom));
          });
        } else if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(criteria) === 'object') {
          container.forEach(function (dom) {
            if (dom.isSameNode(criteria)) plusObj._domElem.push(dom);
          });
        } else if (typeof criteria === 'function') {
          container.forEach(function (dom, i) {
            plusObj.init(dom);
            var valid = criteria.call(dom, i, dom);
            if (valid) selectedDom.push(dom);
          });
          plusObj._domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selectedDom);
        }
        var uniqueDom = libUtils.uniqueDom(plusObj._domElem);
        plusObj._domElem = uniqueDom;
        plusObj.length = plusObj._domElem.length;
      }
      return plusObj;
    }
  }, {
    key: "first",
    value: function first() {
      var plusObj = plus(),
        container = this._domElem;
      plusObj._domElem = [];
      if (container.length) plusObj._domElem.push(container[0]);
      plusObj.length = 1;
      return plusObj;
    }
  }, {
    key: "has",
    value: function has(elemt) {
      var plusObj = plus(),
        container = this._domElem;
      var itsId = false,
        itsClass = false,
        selectedVal = "",
        classList = "";
      plusObj._domElem = [];
      if (elemt) {
        if (typeof elemt === 'string') {
          itsId = libUtils.options.regxId.test(elemt);
          itsClass = libUtils.options.regxClass.test(elemt);
          selectedVal = '';
          selectedVal = itsId ? elemt.split('#')[1] : itsClass ? elemt.split('.')[1] : "";
        } else if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(elemt) === 'object') {
          classList = elemt.classList ? elemt.classList.value : "";
          classList = classList ? "." + classList.trim().split(" ").join(",.") : "";
          selectedVal = elemt.id ? elemt.id : classList;
          selectedVal = selectedVal ? selectedVal : elemt.nodeName;
        }
        if (selectedVal !== "") {
          var parents = libUtils.hasChilds(container, selectedVal);
          plusObj._domElem = parents.length ? (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(parents) : container;
        } else {
          plusObj._domElem = container;
        }
      }
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "is",
    value: function is(selector) {
      var _this30 = this;
      var container = this._domElem;
      var foundElem = false;
      if (typeof selector === 'string') {
        var _param2 = selector,
          itsClass = libUtils.options.regxClass.test(_param2),
          itsId = libUtils.options.regxId.test(_param2),
          itsColon = libUtils.options.isColon.test(_param2),
          selectedVal = '',
          colonValue = '';
        selectedVal = itsClass ? _param2.split('.')[1] : _param2.split('#')[1];
        colonValue = _param2.split(':')[1];
        if (itsColon) {
          if (colonValue === 'first-child' &amp;&amp; container.length &amp;&amp; container[0].parentElement.children[0] === container[0]) {
            foundElem = true;
          } else if (colonValue === 'last-child' &amp;&amp; container.length &amp;&amp; container[0].parentElement.children[container[0].parentElement.children.length - 1] === container[0]) {
            foundElem = true;
          } else if (selectedVal &amp;&amp; (colonValue === 'visible' || colonValue === 'hidden')) {
            //if selector has class or id with colon visible or hidden
            var selectedValNew = selectedVal.split(':')[0];
            container.forEach(function (dom) {
              if (itsId &amp;&amp; colonValue === 'visible' &amp;&amp; dom.clientHeight &gt; 0 &amp;&amp; dom.id === selectedValNew) {
                foundElem = true;
              } else if (itsId &amp;&amp; colonValue === 'hidden' &amp;&amp; dom.clientHeight === 0 &amp;&amp; dom.id === selectedValNew) {
                foundElem = true;
              } else if (itsClass &amp;&amp; colonValue === 'visible' &amp;&amp; dom.clientHeight &gt; 0 &amp;&amp; dom.classList.contains(selectedValNew)) {
                foundElem = true;
              } else if (itsClass &amp;&amp; colonValue === 'hidden' &amp;&amp; dom.clientHeight === 0 &amp;&amp; dom.classList.contains(selectedValNew)) {
                foundElem = true;
              }
            });
          } else if (colonValue === 'visible' || colonValue === 'hidden') {
            container.forEach(function (dom) {
              if (colonValue === 'visible' &amp;&amp; dom.clientHeight &gt; 0) {
                foundElem = true;
              } else if (colonValue === 'hidden' &amp;&amp; dom.clientHeight === 0) {
                foundElem = true;
              }
            });
          } else if (selectedVal &amp;&amp; colonValue === 'checked') {
            var _selectedValNew = selectedVal.split(':')[0];
            container.forEach(function (dom) {
              if (itsId &amp;&amp; dom['checked'] &amp;&amp; dom.id === _selectedValNew) {
                foundElem = true;
              } else if (itsClass &amp;&amp; dom['checked'] &amp;&amp; dom.classList.contains(_selectedValNew)) {
                foundElem = true;
              }
            });
          } else if (colonValue === 'checked') {
            foundElem = container.some(function (c, i) {
              return _this30.eq(i).prop('checked');
            });
          }
          return foundElem;
        }
        container.forEach(function (dom) {
          if (itsId &amp;&amp; selectedVal &amp;&amp; dom.id === selectedVal) {
            foundElem = true;
          } else if (itsClass &amp;&amp; selectedVal &amp;&amp; (dom.classList.contains(selectedVal) || dom.matches(selector))) {
            foundElem = true;
          } else if (dom.nodeName.toLowerCase() === _param2.trim().toLowerCase()) {
            foundElem = true;
          }
        });
        return foundElem;
      } else if (typeof selector === 'function') {
        container.forEach(function (dom, i) {
          _this30.init(dom);
          if (selector.call(dom, i, dom)) foundElem = true;
        });
        return foundElem;
      } else if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(selector) === 'object') {
        container.forEach(function (dom) {
          if (selector._domElem) {
            selector._domElem.forEach(function (el) {
              if (dom.isSameNode(el)) {
                foundElem = true;
              }
            });
          } else if (dom.isSameNode(selector)) {
            foundElem = true;
          }
        });
        return foundElem;
      } else return false;
    }
  }, {
    key: "last",
    value: function last() {
      var plusObj = plus(),
        container = this._domElem;
      plusObj._domElem = [];
      var last = container.length - 1;
      if (container.length) plusObj._domElem.push(container[last]);
      plusObj.length = 1;
      return plusObj;
    }
  }, {
    key: "not",
    value: function not(criteria) {
      var _this31 = this;
      var plusObj = plus(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      if (criteria) {
        var selectedDom = [],
          args = [];
        if (typeof criteria === 'string') {
          args = criteria.split(',');
          var libUtility = libUtils,
            regxClass = libUtils.options.regxClass,
            regxId = libUtils.options.regxId,
            regxAttributeSelector = libUtils.options.regxAttributeSelector;
          args.forEach(function (arg) {
            var param = arg.trim(),
              itsId = regxId.test(param),
              idValue = libUtility.getIdName(param),
              itsClass = regxClass.test(param),
              classArray = libUtility.getClassName(param),
              itsAttributeSelector = regxAttributeSelector.test(param),
              selectedVal = '';
            selectedVal = itsId ? idValue : itsClass ? classArray : itsAttributeSelector ? param : "";
            selectedDom = libUtility.reverseFilterHelper(param, selectedVal, container, itsClass, itsId, itsAttributeSelector);
            plusObj._domElem = [].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(plusObj._domElem), (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selectedDom));
          });
        } else if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(criteria) === 'object') {
          container.forEach(function (dom) {
            if (!Array.isArray(criteria)) {
              criteria = [criteria];
            }
            if (!criteria.some(function (el) {
              return dom.isSameNode(el);
            })) plusObj._domElem.push(dom);
          });
        } else if (typeof criteria === 'function') {
          container.forEach(function (dom, i) {
            _this31.init(dom);
            var valid = criteria(i);
            if (!valid) selectedDom.push(dom);
          });
          plusObj._domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selectedDom);
        }
        var uniqueDom = libUtils.uniqueDom(plusObj._domElem);
        plusObj._domElem = uniqueDom;
        plusObj.length = plusObj._domElem.length;
      }
      return plusObj;
    }
  }, {
    key: "slice",
    value: function slice(start, stop) {
      var plusObj = plus(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      if (start &amp;&amp; start !== "") {
        start = String(start).trim();
        if (!libUtils.options.regxHasAlphabets.test(start)) {
          start = parseInt(start);
          if (start &lt; 0) start = container.length + start;
          if (stop &amp;&amp; stop !== "" &amp;&amp; !libUtils.options.regxHasAlphabets.test(start)) {
            stop = parseInt(stop);
            if (stop &lt; 0) stop = container.length + stop;
          }
          container.forEach(function (dom, i) {
            if (stop &amp;&amp; stop !== "") {
              if (i &gt;= start &amp;&amp; i &lt; stop) plusObj._domElem.push(dom);
            } else {
              if (i &gt;= start) plusObj._domElem.push(dom);
            }
          });
        }
      }
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "contents",
    value: function contents() {
      var plusObj = plus(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      container.forEach(function (dom) {
        if (dom.nodeName === 'IFRAME') plusObj._domElem = [].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(plusObj._domElem), [dom.contentDocument]);else plusObj._domElem = [].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(plusObj._domElem), (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(dom.childNodes));
      });
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "end",
    value: function end() {
      var plusObj = plus();
      var previousState = this.prevObj;
      // check if prevObj is formatted correctly (an array)
      if (previousState !== undefined &amp;&amp; !Array.isArray(previousState)) {
        console.warn("plus end() format warning: prevObj is not an array ".concat(this.prevObj));
        previousState = [previousState];
      }
      plusObj.prevObj = [libUtils.options.winDoc];
      plusObj._domElem = previousState;
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "data",
    value: function data() {
      var container = this._domElem;
      if (arguments.length === 1) {
        //get a value
        if ((arguments.length &lt;= 0 ? undefined : arguments[0]) &amp;&amp; typeof (arguments.length &lt;= 0 ? undefined : arguments[0]) === 'string') {
          var dataName = libUtils.hyphenCheck(arguments.length &lt;= 0 ? undefined : arguments[0]),
            dataValue = container.length ? libUtils.isItDataObject(container[0].dataset[dataName]) : "";
          return dataValue;
          //set mutiple value
        } else if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(arguments.length &lt;= 0 ? undefined : arguments[0]) === 'object') {
          var dataObj = arguments.length &lt;= 0 ? undefined : arguments[0];
          container.forEach(function (dom) {
            for (var _dataName in dataObj) {
              var withOutHyphen = libUtils.hyphenCheck(_dataName),
                _dataValue = dataObj[_dataName];
              _dataValue = (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(_dataValue) === 'object' ? JSON.stringify(_dataValue) : _dataValue;
              dom.dataset[withOutHyphen] = _dataValue;
            }
          });
          return this;
        }
      } else if (arguments.length === 2) {
        var _dataName2 = arguments.length &lt;= 0 ? undefined : arguments[0],
          _dataValue2 = arguments.length &lt;= 1 ? undefined : arguments[1];
        _dataValue2 = (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(_dataValue2) === 'object' &amp;&amp; !(_dataValue2 instanceof HTMLElement) ? JSON.stringify(_dataValue2) : _dataValue2;
        //set a single value
        container.forEach(function (dom) {
          _dataName2 = libUtils.hyphenCheck(_dataName2);
          dom.dataset[_dataName2] = _dataValue2;
        });
        return this;
      } else {
        // get all value as object
        var _data2 = container.length ? container[0].dataset : "",
          tempObj = {};
        if (_data2) {
          for (var property in _data2) {
            if (_data2.hasOwnProperty(property)) {
              var _dataValue3 = _data2[property];
              tempObj[property] = libUtils.isItDataObject(_dataValue3);
            }
          }
        }
        return tempObj;
      }
    }
  }, {
    key: "removeData",
    value: function removeData(name) {
      var container = this._domElem;
      name = name ? String(name).trim() : name;
      container.forEach(function (dom) {
        var dataObj = dom.dataset;
        for (var dataName in dataObj) {
          if (dataObj.hasOwnProperty(dataName)) {
            if (name &amp;&amp; dataName === name) delete dom.dataset[dataName];
            if (name === undefined) delete dom.dataset[dataName];
          }
        }
      });
      return this;
    }
  }, {
    key: "get",
    value: function get(num) {
      var container = this._domElem;
      var selectedDom = [];
      if (num !== undefined &amp;&amp; num !== "" &amp;&amp; !libUtils.options.regxHasAlphabets.test(num)) {
        num = parseInt(num);
        container.forEach(function (dom, i) {
          if (i === num) selectedDom.push(dom);
        });
        return selectedDom[0];
      } else if (num !== "") {
        return this._domElem;
      } else {
        return undefined;
      }
    }
  }, {
    key: "map",
    value: function map(callback) {
      var plusObj = plus(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      var domVal = '',
        tempArray = [];
      container.forEach(function (dom) {
        plusObj.init(dom);
        domVal = callback();
        if (domVal !== null &amp;&amp; domVal !== undefined) {
          tempArray.push(domVal);
        }
      });
      plusObj._domElem = [].concat(tempArray);
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "index",
    value: function index(selector) {
      var index = -1;
      var container = this._domElem;
      if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(selector) === 'object') {
        // selector is either plus object or dom element
        if (selector.constructor &amp;&amp; selector.constructor.name === "Plus") {
          selector = selector._domElem[0];
        }
        container.forEach(function (dom, i) {
          if (dom.isSameNode &amp;&amp; dom.isSameNode(selector)) index = i;
        });
      } else if (container.length &amp;&amp; container[0] !== null) {
        var parent = container[0].parentElement;
        var counter = 0;
        var _iterator41 = _createForOfIteratorHelper(parent.children),
          _step41;
        try {
          for (_iterator41.s(); !(_step41 = _iterator41.n()).done;) {
            var child = _step41.value;
            if (container[0].isSameNode(child)) index = counter;
            counter++;
          }
        } catch (err) {
          _iterator41.e(err);
        } finally {
          _iterator41.f();
        }
      }
      return index;
    }
  }, {
    key: "toArray",
    value: function toArray() {
      var container = this._domElem;
      var tempArray = [];
      container.forEach(function (dom) {
        tempArray.push(dom);
      });
      return tempArray;
    }
  }, {
    key: "serializeArray",
    value: function serializeArray() {
      var VALID_FORM_TYPES = ["text", "password", "textarea", "select-one", "email", "checkbox", "hidden", "tel"];
      var container = this._domElem;
      var tempArray = [];
      container.forEach(function (dom) {
        var formElements = dom.elements;
        if (formElements.length) {
          var _iterator42 = _createForOfIteratorHelper(formElements),
            _step42;
          try {
            for (_iterator42.s(); !(_step42 = _iterator42.n()).done;) {
              var eachElement = _step42.value;
              var tempObj = {};
              if (VALID_FORM_TYPES.indexOf(eachElement.type) !== -1 &amp;&amp; eachElement.name !== "") {
                tempObj.name = eachElement.name;
                tempObj.value = eachElement.value;
                tempArray.push(tempObj);
              }
            }
          } catch (err) {
            _iterator42.e(err);
          } finally {
            _iterator42.f();
          }
        }
      });
      return tempArray;
    }
  }]);
}();
function extend() {
  var target = arguments[0] || {},
    deep = false,
    i = 1;
  if (typeof target === "boolean") {
    deep = target;
    target = arguments[1] || {};
    i++;
  }
  if (deep) {
    for (; i &lt; arguments.length; i++) {
      var obj = arguments[i];
      if (!obj) {
        continue;
      }
      for (var key in obj) {
        if (obj.hasOwnProperty(key)) {
          if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(obj[key]) === 'object') {
            if (obj[key] instanceof Array == true) {
              target[key] = obj[key].slice(0);
            } else {
              target[key] = extend(target[key], obj[key]);
            }
          } else {
            target[key] = obj[key];
          }
        }
      }
    }
  } else {
    for (; i &lt; arguments.length; i++) {
      if (!arguments[i]) continue;
      for (var key in arguments[i]) {
        if (arguments[i].hasOwnProperty(key)) target[key] = arguments[i][key];
      }
    }
  }
  return target;
}
function map(set, callback) {
  var filteredArray = [];
  if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(set) === 'object' &amp;&amp; set.constructor === Object) {
    for (var prop in set) {
      if (set.hasOwnProperty(prop)) {
        filteredArray.push(callback(set[prop], prop));
      }
    }
  } else {
    var newarray = set.map(callback);
    var i = 0;
    for (i = 0; i &lt; newarray.length; i++) {
      var value = newarray[i];
      if (value !== null &amp;&amp; value !== "") {
        if (value &amp;&amp; (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(value) === 'object' &amp;&amp; Array.isArray(value)) {
          filteredArray = [].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(filteredArray), (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(newarray[i]));
        } else filteredArray.push(newarray[i]);
      }
    }
  }
  return filteredArray;
}
function param(requestObject) {
  var query = '';
  if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(requestObject) === 'object' &amp;&amp; requestObject.constructor === Object) {
    var objLength = Object.keys(requestObject).length,
      counter = 0;
    for (var prop in requestObject) {
      if (requestObject.hasOwnProperty(prop)) {
        var propValue = requestObject[prop];
        if (Array.isArray(propValue)) {
          query = "".concat(libUtils.iterateArray(propValue, prop, query));
        } else if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(propValue) === 'object' &amp;&amp; propValue.constructor === Object) {
          query = "".concat(libUtils.iterateObject(propValue, prop, query));
        } else {
          query = "".concat(query).concat(prop, "=").concat(encodeURIComponent(propValue));
        }
        counter++;
        if (counter &lt; objLength) {
          query = "".concat(query, "&amp;");
        }
      }
    }
  }
  return query;
}
function proxy(callback, context) {
  return callback.bind(context);
}
var PlusPromise = /*#__PURE__*/function (_Promise) {
  function PlusPromise(executor) {
    var _this32;
    (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A)(this, PlusPromise);
    _this32 = _callSuper(this, PlusPromise, [executor]);
    _this32.always = _this32.always.bind(_this32);
    _this32.done = _this32.done.bind(_this32);
    _this32.fail = _this32.fail.bind(_this32);
    return _this32;
  }
  (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A)(PlusPromise, _Promise);
  return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(PlusPromise, [{
    key: "then",
    value: function then(onFulfilled, onRejected) {
      // higher order function that spreads the args array to the callback
      var spreadArgs = function spreadArgs(callback, isResolve) {
        return typeof callback === 'function' ? function (args) {
          if (isResolve) {
            if (Array.isArray(args)) {
              return Promise.resolve(callback.apply(void 0, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(args)));
            } else {
              return Promise.resolve(callback(args));
            }
          } else {
            if (Array.isArray(args)) {
              return Promise.reject(callback.apply(void 0, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(args)));
            } else {
              return Promise.reject(callback(args));
            }
          }
        } : function () {};
      };
      return _superPropGet(PlusPromise, "then", this, 3)([spreadArgs(onFulfilled, true), spreadArgs(onRejected, false)]);
    }
  }, {
    key: "always",
    value: function always() {
      for (var _len19 = arguments.length, callbacks = new Array(_len19), _key19 = 0; _key19 &lt; _len19; _key19++) {
        callbacks[_key19] = arguments[_key19];
      }
      for (var _i = 0, _callbacks = callbacks; _i &lt; _callbacks.length; _i++) {
        var c = _callbacks[_i];
        this.then(c, c);
      }
      return this;
    }
  }, {
    key: "done",
    value: function done(onFulfilled) {
      this.then(onFulfilled);
      return this;
    }
  }, {
    key: "fail",
    value: function fail(onRejected) {
      this.then(undefined, onRejected);
      return this;
    }
  }]);
}(/*#__PURE__*/(0,_babel_runtime_helpers_wrapNativeSuper__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A)(Promise));
function Deferred(beforeStart) {
  var resolveCallback, rejectCallback;
  var p = new PlusPromise(function (resolve, reject) {
    resolveCallback = resolve;
    rejectCallback = reject;
  });

  // catch failed promises so console error not thrown
  p["catch"](function () {});

  // keep track of state for state() method
  p._state = 'pending';

  // reveal references to external p + extend resolve/reject to accept multiple params
  p.resolve = function () {
    p._state = 'resolved';
    for (var _len20 = arguments.length, args = new Array(_len20), _key20 = 0; _key20 &lt; _len20; _key20++) {
      args[_key20] = arguments[_key20];
    }
    resolveCallback(args);
    return p;
  };
  p.reject = function () {
    p._state = 'rejected';
    for (var _len21 = arguments.length, args = new Array(_len21), _key21 = 0; _key21 &lt; _len21; _key21++) {
      args[_key21] = arguments[_key21];
    }
    rejectCallback(args);
    return p;
  };
  // additional methods of deferred
  p.resolveWith = function (context) {
    p._state = 'resolved';
    for (var _len22 = arguments.length, args = new Array(_len22 &gt; 1 ? _len22 - 1 : 0), _key22 = 1; _key22 &lt; _len22; _key22++) {
      args[_key22 - 1] = arguments[_key22];
    }
    resolveCallback.call(context, args);
    return p;
  };
  p.rejectWith = function (context) {
    p._state = 'rejected';
    for (var _len23 = arguments.length, args = new Array(_len23 &gt; 1 ? _len23 - 1 : 0), _key23 = 1; _key23 &lt; _len23; _key23++) {
      args[_key23 - 1] = arguments[_key23];
    }
    rejectCallback.call(context, args);
    return p;
  };
  p.state = function () {
    return p._state;
  };
  // promise but with only methods that don't modify the state
  p.promise = function () {
    var ALLOWED_METHODS = ['always', 'catch', 'done', 'fail', 'promise', 'state', 'then'];
    return new Proxy(p, {
      get: function get(target, prop) {
        if (ALLOWED_METHODS.indexOf(prop) !== -1) {
          var value = target[prop];
          return typeof value == 'function' ? value.bind(target) : value;
        }
      }
    });
  };
  if (typeof beforeStart === 'function') beforeStart.call(p, p);
  return p;
}
function when() {
  for (var _len24 = arguments.length, deferreds = new Array(_len24), _key24 = 0; _key24 &lt; _len24; _key24++) {
    deferreds[_key24] = arguments[_key24];
  }
  if (arguments.length === 0) {
    return PlusPromise.resolve();
  } else if (arguments.length === 1) {
    if (deferreds[0] instanceof PlusPromise) {
      return deferreds[0];
    } else {
      return PlusPromise.resolve(deferreds[0]);
    }
  }

  // handling of resolve/reject outputs if not one
  var normalizeOutput = function normalizeOutput(args) {
    if (args.length === 1) {
      return args[0];
    } else if (args.length &gt; 1) {
      return [args];
    }
  };

  // transform deferreds promise returns to return only one output which es6 Promise expects
  deferreds = deferreds.map(function (d) {
    if (d instanceof PlusPromise) {
      return new Promise(function (resolve, reject) {
        d.then(function () {
          for (var _len25 = arguments.length, args = new Array(_len25), _key25 = 0; _key25 &lt; _len25; _key25++) {
            args[_key25] = arguments[_key25];
          }
          return resolve(normalizeOutput(args));
        });
        d["catch"](function () {
          for (var _len26 = arguments.length, args = new Array(_len26), _key26 = 0; _key26 &lt; _len26; _key26++) {
            args[_key26] = arguments[_key26];
          }
          return reject(normalizeOutput(args));
        });
      });
    } else if (!d instanceof Promise) {
      return Promise.resolve(d);
    } else {
      return d;
    }
  });
  var p = PlusPromise.all(deferreds);
  p["catch"](function () {});
  return p;
}
/**https://j11y.io/jquery/#v=2.1.3&amp;fn=jQuery.each
 * Modified a bit to allow plus object
 */
function each(obj, callback, args) {
  var value,
    i = 0,
    length = obj.length,
    isArray = Array.isArray(obj);
  if (args) {
    if (isArray) {
      for (; i &lt; length; i++) {
        value = callback.apply(obj[i], args);
        if (value === false) {
          break;
        }
      }
    } else {
      if ('_domElem' in obj) {
        //if its a plus object
        var htmlCollection = obj._domElem;
        for (var j = 0; j &lt; htmlCollection.length; j++) {
          value = callback.apply(htmlCollection[j], args);
          if (value === false) {
            break;
          }
        }
      } else {
        for (i in obj) {
          value = callback.apply(obj[i], args);
          if (value === false) {
            break;
          }
        }
      }
    }

    // A special, fast, case for the most common use of each
  } else {
    if (isArray) {
      for (; i &lt; length; i++) {
        value = callback.call(obj[i], i, obj[i]);
        if (value === false) {
          break;
        }
      }
    } else {
      if ('_domElem' in obj) {
        //if its a plus object
        var _htmlCollection = obj._domElem;
        for (var _j = 0; _j &lt; _htmlCollection.length; _j++) {
          value = callback.call(_htmlCollection[_j], _j, _htmlCollection[_j]);
          if (value === false) {
            break;
          }
        }
      } else {
        for (i in obj) {
          value = callback.call(obj[i], i, obj[i]);
          if (value === false) {
            break;
          }
        }
      }
    }
  }
  return obj;
}
function merge(first, second) {
  if (Array.isArray(first) &amp;&amp; Array.isArray(second)) {
    second.forEach(function (item) {
      return first.push(item);
    });
    return first;
  } else if (!Array.isArray(first) || !Array.isArray(second)) {
    return first;
  }
}
function parseHTML(str) {
  var tmp = document.implementation.createHTMLDocument();
  tmp.body.innerHTML = str;
  return tmp.body.children;
}

// https://j11y.io/jquery/#v=2.1.3&amp;fn=jQuery.grep
function grep(elems, callback, invert) {
  var callbackInverse,
    matches = [],
    i = 0,
    length = elems.length,
    callbackExpect = !invert;

  // Go through the array, only saving the items
  // that pass the validator function
  for (; i &lt; length; i++) {
    callbackInverse = !callback(elems[i], i);
    if (callbackInverse !== callbackExpect) {
      matches.push(elems[i]);
    }
  }
  return matches;
}
function inArray(elem, arr) {
  var i = arguments.length &gt; 2 &amp;&amp; arguments[2] !== undefined ? arguments[2] : 0;
  return arr == null ? -1 : arr.slice(i).indexOf(elem);
}
function isEmptyObject(obj) {
  var name;
  for (name in obj) {
    return false;
  }
  return true;
}
function _data(elem, name) {
  var events,
    names = elem.namespace;
  /**
   * This _data function is strictly fetches event names, added through plus library
   */
  if (name === 'events' &amp;&amp; names) {
    events = {};
    for (var prop in names) {
      //assign epmty array - can add more data to it in future respective to the element
      events[prop] = [];
    }
  }
  return events;
}
function noop() {}
var utilsObj = /*#__PURE__*/Object.freeze({
  __proto__: null,
  'default': Utils,
  extend: extend,
  map: map,
  param: param,
  proxy: proxy,
  Deferred: Deferred,
  when: when,
  each: each,
  merge: merge,
  parseHTML: parseHTML,
  grep: grep,
  inArray: inArray,
  isEmptyObject: isEmptyObject,
  _data: _data,
  noop: noop
});
var Ajax = /*#__PURE__*/(0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(function Ajax() {
  (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A)(this, Ajax);
});
function ajax(url) {
  var options = arguments.length &gt; 1 &amp;&amp; arguments[1] !== undefined ? arguments[1] : {};
  if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(url) === "object") {
    options = url;
    url = undefined;
  }
  url = options.url || "";
  options.accepts = {
    "*": "*/".concat("*"),
    "text": "text/plain, */*; q=0.01",
    "html": "text/html, */*; q=0.01",
    "xml": "application/xml, text/xml, */*; q=0.01",
    "json": "application/json, text/javascript, */*; q=0.01",
    "script": "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01"
  };
  options.processData = typeof options.processData !== "undefined" ? options.processData : true;
  options.setRequestHeader = function (name, value) {
    requestObj.headers[name] = value;
  };
  var requestObj = {};
  requestObj.headers = requestObj.headers || {};
  requestObj.method = options.type || options.method || "GET";
  if (requestObj.method.toUpperCase() === "GET") {
    if (options.data &amp;&amp; typeof options.data === "string") {
      url = url.endsWith('?') ? url.concat(options.data) : url.concat('?', options.data);
    }
  } else {
    requestObj.body = options.data || '';
  }
  if (options.data &amp;&amp; typeof options.data !== "string" &amp;&amp; options.processData) {
    // handle case where options.data is not in object format, but an array of [... {name: X, value: Y}] (forms)
    var newData = {};
    if (Array.isArray(options.data)) {
      var _iterator43 = _createForOfIteratorHelper(options.data),
        _step43;
      try {
        for (_iterator43.s(); !(_step43 = _iterator43.n()).done;) {
          var entry = _step43.value;
          newData[entry.name] = entry.value;
        }
      } catch (err) {
        _iterator43.e(err);
      } finally {
        _iterator43.f();
      }
    } else {
      newData = options.data;
    }
    if (requestObj.method.toUpperCase() === "GET") {
      url = url.endsWith('?') ? url.concat(param(newData)) : url.concat('?', param(newData));
    } else {
      requestObj.body = param(newData);
    }

    // if method is of "POST", set contentType to application/x-www-form-urlencoded for server to expect encoded body string
    if (requestObj.method.toUpperCase() === "POST") options.contentType = "application/x-www-form-urlencoded";
  }
  if (options.data &amp;&amp; options.processData &amp;&amp; (options.contentType || "").indexOf("application/x-www-form-urlencoded") === 0) {
    requestObj.body = requestObj.body.replace("%20", "+");
  }
  if (requestObj.body === '') {
    delete requestObj.body;
  }
  for (var i in options.headers) {
    requestObj.headers[i] = options.headers[i];
  }
  requestObj.headers["Content-Type"] = "application/json;charset=utf-8";
  if (options.contentType !== undefined) {
    requestObj.headers['Content-Type'] = options.contentType;
  }
  if (options.contentType === false) {
    delete requestObj.headers['Content-Type'];
  }
  if (options.dataType &amp;&amp; options.accepts[options.dataType]) {
    requestObj.headers["Accept"] = options.accepts[options.dataType] ? options.accepts[options.dataType] : options.accepts["*"];
  }
  if (typeof options.beforeSend === "function") {
    options.beforeSend(options);
  }
  if (options.cache === false) {
    var timestamp = "".concat(/\?/.test(url) ? "&amp;" : "?", "_=").concat(new Date().getTime());
    url = url.concat(timestamp);
  }
  var controller = new AbortController();
  var signal = controller.signal;
  requestObj['signal'] = signal;
  var xhr = fetch(url, requestObj);
  var doneCallback, failCallback, alwaysCallback, onFulfilled, onRejected;
  var xhrClone = new Promise(function (resolve, reject) {
    onFulfilled = resolve;
    onRejected = reject;
  });
  xhr.getResponseHeader = function (header) {
    return xhr.responseCache.headers.get(header);
  };
  var success = function success(xhr, callback, response) {
    callback(response, "success", xhr);
  };
  var fail = function fail(xhr, callback, error) {
    callback(xhr, "error", error);
  };
  xhr.then(function (response) {
    xhr.responseCache = response;
    if (response.errors &amp;&amp; response.errors.length) {
      throw new Error(response.errors);
    } else {
      if (options.dataType === "text") {
        return response.text();
      } else if (options.dataType === "html" || options.dataType === "script" || options.dataType === "custom") {
        return response.blob();
      } else {
        return response.json();
      }
    }
  }).then(function (response) {
    if (options.dataType === "script") {
      var src = window.URL.createObjectURL(response);
      var script = document.createElement("script");
      script.src = src;
      document.body.appendChild(script);
    }
    if (typeof options.success === "function") {
      success(xhr, options.success, response);
    }
    if (typeof doneCallback === "function") {
      success(xhr, doneCallback, response);
    }
    if (typeof alwaysCallback === "function") {
      success(xhr, alwaysCallback, response);
    }
    onFulfilled(response);
  })["catch"](function (error) {
    if (typeof options.error === "function") {
      fail(xhr, options.error, error);
    }
    if (typeof failCallback === "function") {
      fail(xhr, failCallback, error);
    }
    if (typeof alwaysCallback === "function") {
      fail(xhr, alwaysCallback, error);
    }
    onRejected(error);
  });
  xhrClone.done = function (callback) {
    doneCallback = callback;
    return xhrClone;
  };
  xhrClone.fail = function (callback) {
    failCallback = callback;
    return xhrClone;
  };
  xhrClone.always = function (callback) {
    alwaysCallback = callback;
    return xhrClone;
  };
  xhrClone.abort = function () {
    controller.abort();
  };
  return xhrClone;
}
function get(url, data, callback, type, contentType) {
  if (typeof data === "function") {
    type = type || callback;
    contentType = contentType || type;
    callback = data;
    data = undefined;
  }
  return ajax({
    url: url,
    data: data,
    dataType: type,
    contentType: contentType,
    type: "get",
    success: callback
  });
}
function getJSON(url, data, callback) {
  return get(url, data, callback, "json");
}
function getScript(url, callback) {
  return get(url, undefined, callback, "script", "application/javascript");
}
var ajaxObj = /*#__PURE__*/Object.freeze({
  __proto__: null,
  'default': Ajax,
  ajax: ajax,
  get: get,
  getJSON: getJSON,
  getScript: getScript
});
var EXPIRE_TIME = 10000;
var Plus = /*#__PURE__*/function (_Classes) {
  function Plus() {
    var _this33;
    (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A)(this, Plus);
    _this33 = _callSuper(this, Plus);
    _this33._domElem = [];
    if (!_this33.constructor._plusInstances) {
      _this33.constructor._plusInstances = [_this33];
    } else {
      _this33.constructor._plusInstances.push(_this33);
    }
    // set reference to expire after EXPIRE_TIME to avoid memory hazards
    setTimeout(function () {
      _this33.constructor._plusInstances.splice(_this33.constructor._plusInstances.indexOf(_this33), 1);
    }, EXPIRE_TIME);
    return _this33;
  }
  (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A)(Plus, _Classes);
  return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(Plus, [{
    key: "domElem",
    get: function get() {
      return this._domElem;
    },
    set: function set(domElem) {
      this._domElem = this._domElem.push(domElem);
    }
  }]);
}(Classes([Events, Selectors, Utils, Effects, Ajax]));
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)(Plus, "_plusInstances", void 0);
function Classes(bases) {
  var Bases = /*#__PURE__*/(0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(function Bases() {
    var _this34 = this;
    (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A)(this, Bases);
    bases.forEach(function (base) {
      return Object.assign(_this34, new base());
    });
  });
  bases.forEach(function (base) {
    Object.getOwnPropertyNames(base.prototype).filter(function (prop) {
      return prop != 'constructor';
    }).forEach(function (prop) {
      return Bases.prototype[prop] = base.prototype[prop];
    });
  });
  return Bases;
}
(function (Plus) {
  var attachEvent = document.attachEvent,
    stylesCreated = false,
    triggerCount = 1;
  var plus_resize = Object.getPrototypeOf(Plus.prototype).resize;
  Object.setPrototypeOf(Plus.prototype, Object.assign(Object.getPrototypeOf(Plus.prototype), {
    resize: function resize(callback) {
      var _self = this;
      return this.each(function (idx, el) {
        if (el === window) {
          _self.init(el);
          plus_resize.call(_self, callback);
        } else addResizeListener(el, callback);
      });
    },
    removeResize: function removeResize(callback) {
      return this.each(function (idx, el) {
        removeResizeListener(el, callback);
      });
    }
  }));
  if (!attachEvent) {
    var requestFrame = function () {
      var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function (fn) {
        return window.setTimeout(fn, 20);
      };
      return function (fn) {
        return raf(fn);
      };
    }();
    var cancelFrame = function () {
      var cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout;
      return function (id) {
        return cancel(id);
      };
    }();

    /* Detect CSS Animations support to detect element display/re-attach */
    var animation = false,
      keyframeprefix = '',
      animationstartevent = 'animationstart',
      domPrefixes = 'Webkit Moz O ms'.split(' '),
      startEvents = 'webkitAnimationStart animationstart oAnimationStart MSAnimationStart'.split(' '),
      pfx = '';
    {
      var elm = document.createElement('fakeelement');
      if (elm.style.animationName !== undefined) {
        animation = true;
      }
      if (animation === false) {
        for (var i = 0; i &lt; domPrefixes.length; i++) {
          if (elm.style[domPrefixes[i] + 'AnimationName'] !== undefined) {
            pfx = domPrefixes[i];
            keyframeprefix = '-' + pfx.toLowerCase() + '-';
            animationstartevent = startEvents[i];
            animation = true;
            break;
          }
        }
      }
    }
    var animationName = 'resizeanim';
    var animationKeyframes = '@' + keyframeprefix + 'keyframes ' + animationName + ' { from { opacity: 0; } to { opacity: 0; } } ';
    var animationStyle = keyframeprefix + 'animation: 1ms ' + animationName + '; ';
  }
  function resetTriggers(element) {
    var triggers = element.__resizeTriggers__,
      expand = triggers.firstElementChild,
      contract = triggers.lastElementChild,
      expandChild = expand.firstElementChild;
    contract.scrollLeft = contract.scrollWidth;
    contract.scrollTop = contract.scrollHeight;
    expandChild.style.width = expand.offsetWidth + 1 + 'px';
    expandChild.style.height = expand.offsetHeight + 1 + 'px';
    expand.scrollLeft = expand.scrollWidth;
    expand.scrollTop = expand.scrollHeight;
  }
  function checkTriggers(element) {
    if (!element.__resizeLast__.height) {
      triggerCount = 1;
    }
    return element.offsetWidth != element.__resizeLast__.width || element.offsetHeight != element.__resizeLast__.height;
  }
  function scrollListener(e) {
    var element = this;
    resetTriggers(this);
    if (this.__resizeRAF__) cancelFrame(this.__resizeRAF__);
    this.__resizeRAF__ = requestFrame(function () {
      if (checkTriggers(element) &amp;&amp; triggerCount &lt;= 3) {
        triggerCount++;
        element.__resizeLast__.width = element.offsetWidth;
        element.__resizeLast__.height = element.offsetHeight;
        element.__resizeListeners__.forEach(function (fn) {
          fn.call(element, e);
        });
      }
    });
  }
  function createStyles() {
    if (!stylesCreated) {
      //opacity:0 works around a chrome bug https://code.google.com/p/chromium/issues/detail?id=286360
      var css = (animationKeyframes ? animationKeyframes : '') + '.resize-triggers { ' + (animationStyle ? animationStyle : '') + 'visibility: hidden; opacity: 0; } ' + '.resize-triggers, .resize-triggers &gt; div, .contract-trigger:before { content: \" \"; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; } .resize-triggers &gt; div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',
        head = document.head || document.getElementsByTagName('head')[0],
        style = document.createElement('style');
      style.type = 'text/css';
      if (style.styleSheet) {
        style.styleSheet.cssText = css;
      } else {
        style.appendChild(document.createTextNode(css));
      }
      head.appendChild(style);
      stylesCreated = true;
    }
  }
  window.addResizeListener = function (element, fn) {
    if (attachEvent) {
      element.attachEvent('onresize', fn);
      fn();
    } else {
      if (!element.__resizeTriggers__) {
        if (getComputedStyle(element).position == 'static') element.style.position = 'relative';
        createStyles();
        element.__resizeLast__ = {};
        element.__resizeListeners__ = [];
        (element.__resizeTriggers__ = document.createElement('div')).className = 'resize-triggers';
        element.__resizeTriggers__.innerHTML = '&lt;div class="expand-trigger"&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;' + '&lt;div class="contract-trigger"&gt;&lt;/div&gt;';
        element.appendChild(element.__resizeTriggers__);
        resetTriggers(element);
        element.addEventListener('scroll', scrollListener, true);

        /* Listen for a css animation to detect element display/re-attach */
        animationstartevent &amp;&amp; element.__resizeTriggers__.addEventListener(animationstartevent, function (e) {
          if (e.animationName == animationName) resetTriggers(element);
        });
      }
      element.__resizeListeners__.push(fn);
    }
  };
  window.removeResizeListener = function (element, fn) {
    if (attachEvent) element.detachEvent('onresize', fn);else {
      element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1);
      if (!element.__resizeListeners__.length) {
        element.removeEventListener('scroll', scrollListener);
        element.__resizeTriggers__ = !element.removeChild(element.__resizeTriggers__);
      }
    }
  };
})(Plus);

/**
 * jQuery Unveil
 * A very lightweight jQuery plugin to lazy load images
 * http://luis-almeida.github.com/unveil
 *
 * Licensed under the MIT license.
 * Copyright 2013 LuÃ­s Almeida
 * https://github.com/luis-almeida
 * modifed to use the plus library
 */

(function (Plus) {
  Object.setPrototypeOf(Plus.prototype, Object.assign(Object.getPrototypeOf(Plus.prototype), {
    unveil: function unveil(threshold, callback) {
      var mobile = window.kpmg.isMobile,
        attrib = mobile ? "data-mobile" : "data-desktop",
        images = this,
        _self = this,
        container = this._domElem,
        loaded;
      this.one("unveil", function () {
        var el = this;
        var source = el.getAttribute(attrib);
        source = source || el.getAttribute("data-desktop");
        if (source) {
          el.setAttribute("src", source);
          if (typeof callback === "function") {
            _self.init(el);
            _self.trigger('unveil.loaded');
            callback.call(el);
            // reset self once operation complete
            _self._domElem = container;
          }
        }
      });
      function unveil() {
        /*!
        * Determine if an element is in the viewport
        * (c) 2017 Chris Ferdinandi, MIT License, https://gomakethings.com
        * @param  {Node}    elem The element
        * @return {Boolean}      Returns true if element is in the viewport
        */
        var isInViewport = function isInViewport(elem) {
          var distance = elem.getBoundingClientRect();
          return distance.top &gt;= 0 &amp;&amp; distance.left &gt;= 0 &amp;&amp; distance.bottom - 100 &lt;= (window.innerHeight || document.documentElement.clientHeight) &amp;&amp; distance.right &lt;= (window.innerWidth || document.documentElement.clientWidth);
        };
        var inview = images.filter(function () {
          return isInViewport(this);
        });
        loaded = inview.trigger("unveil")._domElem;
        // reset self once operation complete
        _self._domElem = container;
        images = images.not(loaded);
      }
      document.addEventListener("click", unveil);
      document.addEventListener("mousedown", unveil);
      document.addEventListener("keydown", unveil);
      document.addEventListener("load", unveil);
      document.addEventListener('touchmove', unveil, false);
      window.addEventListener("scroll", unveil);
      window.addEventListener("resize", unveil);
      window.addEventListener("lookup", unveil);
      unveil();
      return this;
    }
  }));
})(Plus);
function getCookieMgrObj(utilsObj) {
  var cookie, removeCookie, config;
  var pluses = /\+/g;
  function encode(s) {
    return config.raw ? s : encodeURIComponent(s);
  }
  function decode(s) {
    return config.raw ? s : decodeURIComponent(s);
  }
  function stringifyCookieValue(value) {
    return encode(config.json ? JSON.stringify(value) : String(value));
  }
  function parseCookieValue(s) {
    if (s.indexOf('"') === 0) {
      // This is a quoted cookie as according to RFC2068, unescape...
      s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
    }
    try {
      // Replace server-side written pluses with spaces.
      // If we can't decode the cookie, ignore it, it's unusable.
      // If we can't parse the cookie, ignore it, it's unusable.
      s = decodeURIComponent(s.replace(pluses, ' '));
      return config.json ? JSON.parse(s) : s;
    } catch (e) {}
  }
  function isFunction(func) {
    return typeof func === "function";
  }
  function read(s, converter) {
    var value = config.raw ? s : parseCookieValue(s);
    return isFunction(converter) ? converter(value) : value;
  }
  config = cookie = function cookie(key, value, options) {
    // Write
    if (value !== undefined &amp;&amp; !isFunction(value)) {
      options = utilsObj.extend({}, config.defaults, options);
      if (typeof options.expires === 'number') {
        var days = options.expires,
          t = options.expires = new Date();
        t.setTime(+t + days * 864e+5);
      }
      return document.cookie = [encode(key), '=', stringifyCookieValue(value), options.expires ? '; expires=' + options.expires.toUTCString() : '',
      // use expires attribute, max-age is not supported by IE
      options.path ? '; path=' + options.path : '', options.domain ? '; domain=' + options.domain : '', options.secure ? '; secure' : ''].join('');
    }
    // Read
    var result = key ? undefined : {};
    // To prevent the for loop in the first place assign an empty array
    // in case there are no cookies at all. Also prevents odd result when
    // calling $.cookie().
    var cookies = document.cookie ? document.cookie.split('; ') : [];
    for (var i = 0, l = cookies.length; i &lt; l; i++) {
      var parts = cookies[i].split('=');
      var name = decode(parts.shift());
      var cookie = parts.join('=');
      if (key &amp;&amp; key === name) {
        // If second argument (value) is a function it's a converter...
        result = read(cookie, value);
        break;
      }
      // Prevent storing a cookie that we couldn't decode.
      if (!key &amp;&amp; (cookie = read(cookie)) !== undefined) {
        result[name] = cookie;
      }
    }
    return result;
  };
  config.defaults = {};
  removeCookie = function removeCookie(key, options) {
    if (cookie(key) === undefined) {
      return false;
    }
    // Must not alter options, thus extending a fresh object...
    cookie(key, '', utilsObj.extend({}, options, {
      expires: -1
    }));
    return !cookie(key);
  };

  // cookieMgr object
  return {
    cookie: cookie,
    removeCookie: removeCookie
  };
}
var _initialize = function initialize(selector, context) {
  //declaration of init variables
  var regClass = /\./g,
    regId = /\#/g,
    isAttrSelector = /\=\"|\=\'+/g,
    isNotEqlSelector = /\!=+/g,
    isSnglQuote = /\'/g,
    isDblQuote = /\"/g,
    isColon = /\:/;
  var match,
    elem,
    domElem,
    domElemLength = 0;
  var plus = new Plus();

  //Handle (""), (null), (undefined), (false)
  if (!selector) {
    return plus;
  }
  if (selector === document.defaultView &amp;&amp; plus._domElem[0] &amp;&amp; plus._domElem[0].nodeType === 1) return plus;else {
    plus.prevObj = plus._domElem || libUtils.options.winDoc;
    plus._domElem = [];
  }
  if (selector instanceof Plus &amp;&amp; !context) {
    // if it's already a plus instance and no context, clone it's props and return
    plus._domElem = selector._domElem;
    plus.length = selector.length;
    return plus;
  }
  if (context &amp;&amp; !(context instanceof Plus)) {
    // take advantage of context handlers below where context is a plus object
    context = _initialize(context);
  }
  if (typeof selector === "string") {
    if (selector[0] === "&lt;" &amp;&amp; selector[selector.length - 1] === "&gt;" &amp;&amp; selector.length &gt;= 3) {
      match = [null, selector, null];
    }
    if (typeof context === "string") {
      context = "";
    }
    // string which is containing newline and carriage return character will be mostly html templates
    if (/\r|\n/.test(selector)) {
      var parser = new DOMParser();
      var doc4 = parser.parseFromString(selector, "text/html");
      var _iterator44 = _createForOfIteratorHelper(doc4.body.children),
        _step44;
      try {
        for (_iterator44.s(); !(_step44 = _iterator44.n()).done;) {
          var item = _step44.value;
          item.isAhtmlString = true;
          plus._domElem.push(item);
        }
      } catch (err) {
        _iterator44.e(err);
      } finally {
        _iterator44.f();
      }
      plus.length = plus._domElem.length;
      return plus;
    }

    // Match html or make sure no context is specified for #id
    if (match &amp;&amp; (match[1] || !context)) {
      if (match[1]) {
        var _parser2 = new DOMParser();
        var htmlString = match[1];
        var doc3 = _parser2.parseFromString(htmlString, "text/html");
        var _iterator45 = _createForOfIteratorHelper(doc3.body.children),
          _step45;
        try {
          for (_iterator45.s(); !(_step45 = _iterator45.n()).done;) {
            var _item2 = _step45.value;
            _item2.isAhtmlString = true;
            plus._domElem.push(_item2);
          }
        } catch (err) {
          _iterator45.e(err);
        } finally {
          _iterator45.f();
        }
        plus.length = plus._domElem.length;
        return plus;
        // HANDLE: (#id)
      } else {
        elem = document.getElementById(match[2]);
        if (elem) {
          // Inject the element directly into the object
          plus[0] = elem;
          plus.length = 1;
        }
        return plus;
      }
    } else if (isAttrSelector.test(selector) &amp;&amp; isNotEqlSelector.test(selector)) {
      //Attribute selector - not equal selector ex: "a[hreflang!='en']"
      var newSelector = libUtils.escapeClassnameQueryCSS(selector.split('!=')[0] + ']');
      var attrVal = selector.split('!=')[1].split(']')[0];
      attrVal = isSnglQuote.test(attrVal) ? attrVal.replace(isSnglQuote, "") : isDblQuote.test(attrVal) ? attrVal.replace(isDblQuote, "") : attrVal;
      attrVal = attrVal.trim();
      if (context &amp;&amp; context.length) {
        domElem = [];
        var _iterator46 = _createForOfIteratorHelper(context.domElem),
          _step46;
        try {
          for (_iterator46.s(); !(_step46 = _iterator46.n()).done;) {
            var _domElem12;
            var el = _step46.value;
            (_domElem12 = domElem).push.apply(_domElem12, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(el.querySelectorAll(newSelector)));
          }
        } catch (err) {
          _iterator46.e(err);
        } finally {
          _iterator46.f();
        }
        domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
      } else {
        domElem = document.querySelectorAll(newSelector);
      }
      domElem.forEach(function (dom) {
        if (dom.name !== attrVal) plus._domElem.push(dom);
      });
      plus.length = plus._domElem.length;
      return plus;
    } else if (isColon.test(selector)) {
      if (selector.indexOf('button') &gt; -1) {
        selector = "button, input[type='button']";
      } else if (selector.indexOf('input') &gt; -1) {
        selector = "button, input, select, textarea";
      } else if (selector.indexOf('checkbox') &gt; -1) {
        selector = "[type='checkbox']";
      } else if (selector.indexOf(':first-child') &gt; -1) {
        selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
        if (context &amp;&amp; context.length) {
          domElem = [];
          var _iterator47 = _createForOfIteratorHelper(context.domElem),
            _step47;
          try {
            for (_iterator47.s(); !(_step47 = _iterator47.n()).done;) {
              var _domElem13;
              var _el11 = _step47.value;
              (_domElem13 = domElem).push.apply(_domElem13, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el11.querySelectorAll(selector)));
            }
          } catch (err) {
            _iterator47.e(err);
          } finally {
            _iterator47.f();
          }
          domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
        } else {
          domElem = document.querySelectorAll(selector);
        }
        if (domElem.length === 0) {
          plus.length = 0;
        } else {
          plus._domElem.push(domElem[0]);
          plus.length = plus._domElem.length;
        }
        return plus;
      } else if (selector.indexOf(':last-child') &gt; -1) {
        selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
        if (context &amp;&amp; context.length) {
          domElem = [];
          var _iterator48 = _createForOfIteratorHelper(context.domElem),
            _step48;
          try {
            for (_iterator48.s(); !(_step48 = _iterator48.n()).done;) {
              var _domElem14;
              var _el12 = _step48.value;
              (_domElem14 = domElem).push.apply(_domElem14, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el12.querySelectorAll(selector)));
            }
          } catch (err) {
            _iterator48.e(err);
          } finally {
            _iterator48.f();
          }
          domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
        } else {
          domElem = document.querySelectorAll(selector);
        }
        domElemLength = domElem.length - 1;
        plus._domElem.push(domElem[domElemLength]);
        plus.length = plus._domElem.length;
        return plus;
      } else if (selector.indexOf(':nth-child') &gt; -1) {
        var _newSelector2 = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]),
          selectorNum = selector.split(':')[1].split('(')[1].split(')')[0],
          incrementer = 0,
          startFrom = 0,
          nthChild = false,
          oddEvenFlg = false;
        if (/n\+/.test(selectorNum)) {
          incrementer = parseInt(selectorNum.split('n')[0]);
          startFrom = parseInt(selectorNum.split('+')[1]);
          nthChild = true;
        } else if (selectorNum === 'odd' || selectorNum === 'even') {
          oddEvenFlg = true;
        } else {
          selectorNum = parseInt(selectorNum) - 1;
        }
        if (context &amp;&amp; context.length) {
          domElem = [];
          var _iterator49 = _createForOfIteratorHelper(context.domElem),
            _step49;
          try {
            for (_iterator49.s(); !(_step49 = _iterator49.n()).done;) {
              var _domElem15;
              var _el13 = _step49.value;
              (_domElem15 = domElem).push.apply(_domElem15, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el13.querySelectorAll(_newSelector2)));
            }
          } catch (err) {
            _iterator49.e(err);
          } finally {
            _iterator49.f();
          }
          domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
        } else {
          domElem = document.querySelectorAll(_newSelector2);
        }
        domElemLength = domElem.length;
        if (typeof selectorNum === 'number' &amp;&amp; selectorNum &lt; domElemLength) {
          plus._domElem.push(domElem[selectorNum]);
        } else if (nthChild) {
          //if it has :nth-child(an+b)
          var counter = 0,
            startInjection = false;
          domElem.forEach(function (dom, index) {
            if (index === startFrom - 1 &amp;&amp; startFrom !== 0) {
              plus._domElem.push(dom);
              startInjection = true;
            } else if (startFrom === 0) {
              startInjection = true;
            }
            if (startInjection) {
              if (counter !== 0 &amp;&amp; counter % incrementer === 0) {
                plus._domElem.push(dom);
              }
              counter++;
            }
          });
        } else if (oddEvenFlg) {
          //if it has :nth-child(odd) or it has :nth-child(even)
          domElem.forEach(function (dom, index) {
            if (index % 2 !== 0 &amp;&amp; selectorNum === 'even') {
              plus._domElem.push(dom);
            } else if (index % 2 === 0 &amp;&amp; selectorNum === 'odd') {
              plus._domElem.push(dom);
            }
          });
        }
        plus.length = plus._domElem.length;
        return plus;
      } else if (selector.indexOf(':visible') &gt; -1 || selector.indexOf(':hidden') &gt; -1) {
        var visibility = selector.indexOf(':visible') &gt; -1 ? 'visible' : 'hidden';
        selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
        if (context &amp;&amp; context.length) {
          domElem = [];
          var _iterator50 = _createForOfIteratorHelper(context.domElem),
            _step50;
          try {
            for (_iterator50.s(); !(_step50 = _iterator50.n()).done;) {
              var _domElem16;
              var _el14 = _step50.value;
              (_domElem16 = domElem).push.apply(_domElem16, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el14.querySelectorAll(selector)));
            }
          } catch (err) {
            _iterator50.e(err);
          } finally {
            _iterator50.f();
          }
          domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
        } else {
          domElem = document.querySelectorAll(selector);
        }
        domElem.forEach(function (dom) {
          if (visibility === 'visible' &amp;&amp; dom.clientHeight &gt; 0) {
            plus._domElem.push(dom);
          } else if (visibility === 'hidden' &amp;&amp; dom.clientHeight === 0) {
            plus._domElem.push(dom);
          }
        });
        plus.length = plus._domElem.length;
        return plus;
      } else if (selector.indexOf(':selected') &gt; -1) {
        selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
        if (!selector) selector = "option";
        if (context &amp;&amp; context.length) {
          domElem = [];
          var _iterator51 = _createForOfIteratorHelper(context.domElem),
            _step51;
          try {
            for (_iterator51.s(); !(_step51 = _iterator51.n()).done;) {
              var _domElem17;
              var _el15 = _step51.value;
              (_domElem17 = domElem).push.apply(_domElem17, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el15.querySelectorAll(selector)));
            }
          } catch (err) {
            _iterator51.e(err);
          } finally {
            _iterator51.f();
          }
          domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
        } else {
          domElem = document.querySelectorAll(selector);
        }
        domElem.forEach(function (dom) {
          if (dom.selected === true) {
            plus._domElem.push(dom);
          }
        });
        plus.length = plus._domElem.length;
        return plus;
      } else if (selector.indexOf(':last') &gt; -1) {
        selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
        if (context &amp;&amp; context.length) {
          domElem = [];
          var _iterator52 = _createForOfIteratorHelper(context.domElem),
            _step52;
          try {
            for (_iterator52.s(); !(_step52 = _iterator52.n()).done;) {
              var _domElem18;
              var _el16 = _step52.value;
              (_domElem18 = domElem).push.apply(_domElem18, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el16.querySelectorAll(selector)));
            }
          } catch (err) {
            _iterator52.e(err);
          } finally {
            _iterator52.f();
          }
          domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
        } else {
          domElem = document.querySelectorAll(selector);
        }
        plus._domElem.push(domElem[domElem.length - 1]);
        plus.length = 1;
        return plus;
      } else if (selector.indexOf(':not') &gt; -1) {
        var filter = selector.substring(selector.indexOf(':') + 1);
        selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
        // https://stackoverflow.com/questions/17779744/regular-expression-to-get-a-string-between-parentheses-in-javascript/17780281
        var regExp = /\(([^)]+)\)/;
        filter = regExp.exec(filter)[1];
        if (filter &amp;&amp; filter.charAt(filter.length - 1) !== "\"" &amp;&amp; filter.charAt(filter.length - 1) !== "'") {
          filter = "\"".concat(filter.replace(/\"/g, "'"), "\"");
        }
        filter = JSON.parse(filter);
        if (context &amp;&amp; context.length) {
          var _iterator53 = _createForOfIteratorHelper(context.domElem),
            _step53;
          try {
            for (_iterator53.s(); !(_step53 = _iterator53.n()).done;) {
              var _plus$_domElem;
              var _el17 = _step53.value;
              (_plus$_domElem = plus._domElem).push.apply(_plus$_domElem, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el17.querySelectorAll(selector)));
            }
          } catch (err) {
            _iterator53.e(err);
          } finally {
            _iterator53.f();
          }
          plus._domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(plus._domElem)); // prevent duplicates
        } else {
          plus._domElem = document.querySelectorAll(selector);
        }
        plus.length = plus._domElem.length;
        return plus.not(filter);
      }
      if (context &amp;&amp; context.length) {
        domElem = [];
        var _iterator54 = _createForOfIteratorHelper(context.domElem),
          _step54;
        try {
          for (_iterator54.s(); !(_step54 = _iterator54.n()).done;) {
            var _domElem19;
            var _el18 = _step54.value;
            (_domElem19 = domElem).push.apply(_domElem19, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el18.querySelectorAll(libUtils.escapeClassnameQueryCSS(selector))));
          }
        } catch (err) {
          _iterator54.e(err);
        } finally {
          _iterator54.f();
        }
        domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
      } else {
        domElem = document.querySelectorAll(libUtils.escapeClassnameQueryCSS(selector));
      }
      domElem.forEach(function (dom) {
        return plus._domElem.push(dom);
      });
      plus.length = plus._domElem.length;
      return plus;
    } else {
      regClass.test(selector);
      regId.test(selector);
      if (context &amp;&amp; context.length) {
        domElem = [];
        var _iterator55 = _createForOfIteratorHelper(context.domElem),
          _step55;
        try {
          for (_iterator55.s(); !(_step55 = _iterator55.n()).done;) {
            var _el19 = _step55.value;
            //node like &lt;p&gt; or &lt;div&gt;. || A Document node.
            if (_el19.nodeType === 1 || _el19.nodeType === 9) {
              var _domElem20;
              (_domElem20 = domElem).push.apply(_domElem20, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el19.querySelectorAll(libUtils.escapeClassnameQueryCSS(selector))));
            }
          }
        } catch (err) {
          _iterator55.e(err);
        } finally {
          _iterator55.f();
        }
        domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
      } else {
        domElem = document.querySelectorAll(libUtils.escapeClassnameQueryCSS(selector));
      }
      domElem.forEach(function (dom) {
        return plus._domElem.push(dom);
      });
      plus.length = plus._domElem.length;
      return plus;
    }
  } else if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(selector) === 'object' &amp;&amp; selector === libUtils.options.winObj) {
    plus[0] = selector;
    plus._domElem.push(selector);
    plus.length = 1;
    return plus;
    //TODO: Need to assign the plus._domElem with selector
  } else if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(selector) === 'object' &amp;&amp; selector.hasOwnProperty('_domElem')) {
    plus._domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selector._domElem);
    plus.length = plus._domElem.length;
    return plus;
  } else if (selector.nodeType) {
    if (selector.nodeType === 9) {
      plus[0] = selector;
      plus._domElem.push(selector);
      plus.length = 1;
    } else {
      plus._domElem.push(selector);
      plus.length = plus._domElem.length;
    }
    return plus;

    // HANDLE: $(function)
    // Shortcut for document ready
  } else if (selector.constructor &amp;&amp; selector.constructor.name === "HTMLCollection") {
    var _iterator56 = _createForOfIteratorHelper(selector),
      _step56;
    try {
      for (_iterator56.s(); !(_step56 = _iterator56.n()).done;) {
        var _el20 = _step56.value;
        plus._domElem.push(_el20);
      }
    } catch (err) {
      _iterator56.e(err);
    } finally {
      _iterator56.f();
    }
    plus.length = selector.length;
    return plus;
  } else if (typeof selector === "function") {
    return plus.ready(selector);
  }
  //libUtils.resetDom(plus);
  return plus;
};
var cookieMgrObj = getCookieMgrObj(utilsObj);
var libraryObj;
libraryObj = Object.assign(_initialize, ajaxObj);
libraryObj = Object.assign(_initialize, utilsObj);
libraryObj = Object.assign(_initialize, cookieMgrObj);
var plus$1 = window.plus = libraryObj;
if (typeof define === "function" &amp;&amp; __webpack_require__.amdO) {
  define("plus", [], function () {
    return plus$1;
  });
}
var plus$2 = plus$1;


/***/ }),

/***/ 4980:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) =&gt; {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   A: () =&gt; (/* binding */ tracking)
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2284);
/* harmony import */ var _plus_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8081);


var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof self !== 'undefined' ? self : {};
function createCommonjsModule(fn, module) {
  return module = {
    exports: {}
  }, fn(module, module.exports), module.exports;
}
var tracking = createCommonjsModule(function (module, exports) {
  /* global s */
  (function (root, factory) {
    {
      module.exports = factory(root.Tracking, _plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A);
    }
  })(commonjsGlobal, function (trk, plus) {
    //$ = window.jQuery;

    var lastClick = '',
      trckName = '',
      kpmgStr = "KPMG",
      memberFirm = window.kpmgPersonalize &amp;&amp; window.kpmgPersonalize.snp.params.countryCode &amp;&amp; window.kpmgPersonalize.snp.params.countryCode.toUpperCase() || '',
      regex = /(&lt;([^&gt;]+)&gt;)/ig,
      // strips html tags from string
      $currentClick;
    if (memberFirm === "XX") {
      memberFirm = "GLOBAL";
    }
    var Tracking = function Tracking(context, location) {
      if (!location || typeof location === 'undefined') {
        throw "Location is required for tracking.js";
      }
      this.$context = plus(context);
      this.location = location;
      this.reactClassList = this.$context.parents('.react-component').length ? this.$context.parents('[class^="wrapper-"]').attr('class') : '';

      // Delegate click event on anchor tag inside the component.
      this.$context.data({
        linkLocation: location
      }).off('click.tracking', 'a').off('click.tracking', '.trackable').on('click.tracking', 'a', plus.proxy(this.handleClick, this)).on('click.tracking', '.trackable', '', plus.proxy(this.handleClick, this));
    };

    /**
     * tracking method for warping the tracking calls
     * to avoid breaking of the components/templates
     *
     * @public
     * @method satelliteTracking
     *
     * @param {Object} tracking - tracking object which gets updated into digital data and DTM picks it
     * @param {string} trackingName - trackingName string based on which DTM picks information.
     *
     **/
    Tracking.prototype.satelliteTracking = function (tracking, trackingName, track) {
      try {
        trckName = trackingName;
        if (typeof track === 'undefined') {
          track = true;
        }
        // check if second parameter exists , if not then make the first paramter value as the second value. kind of function overloading.
        if (!trackingName) {
          var trackingName = tracking;
        }
        // if tracking exist and digitaldata exists then populate digitalData and fire satellite.
        if (tracking &amp;&amp; (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(tracking) === 'object' &amp;&amp; digitalData &amp;&amp; (typeof digitalData === "undefined" ? "undefined" : (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(digitalData)) === 'object') {
          for (var key in tracking) {
            if (tracking.hasOwnProperty(key)) {
              digitalData[key] = tracking[key];
            }
          }
        }
        //track by default is true, False if extra parameters to be passed.
        // call DTM tracking method which will pick the digitalData information.
        if (track) {
          _satellite.track(trackingName);
        }
        trckName = '';
      } catch (err) {}
    };

    /**
     * tracking internal clicks for components
     * @param  {Event} evt Click event object
     */
    Tracking.prototype.handleClick = function (evt) {
      try {
        var $this = $currentClick = plus(evt.currentTarget),
          isSatelliteTrack = false;
        if (this.$context.hasClass('[class^="module-touch-promotional"]')) {
          this.reactClassList = '';
        }
        if ($this.closest('[class^="module-"]').hasClass('component-trackable') || $this.closest('[class^="wrapper-"]').hasClass('component-trackable')) {
          isSatelliteTrack = true;
        }
        if (!$this.data('stoptrack') &amp;&amp; lastClick !== $this &amp;&amp; $this.attr('href') !== '#' &amp;&amp; $this.attr('href') !== 'javascript:void(0);' &amp;&amp; !$this.data('bs-target')) {
          var tagretLink = $this.data('linkLocation') || this.$context.data('linkLocation'),
            trackname = $this.data('trackname') || trckName || 'componentLink',
            linkLoc = '',
            HTMLtext = $this.find('h1,h2,h3,h4,.title,label').html() || $this.parent().find('a').attr('title') || $this.parent().find('a').text() || $this.html().toLowerCase(),
            name = this.reactClassList ? this.reactClassList : this.$context.attr('class'),
            componentName = this.reactClassList ? name.substring(8, name.indexOf(' ')) : name.substring(7, name.indexOf(' ')),
            childInnerTextCheck = $this.find('h1, h2, h3, h4, h5, h6, p, div, span, label')[0] &amp;&amp; $this.find('h1, h2, h3, h4, h5, h6, p, div, span, label')[0].innerText,
            linkText = $this.attr("title") || $this.attr("data-title") || childInnerTextCheck || evt.currentTarget.innerText || evt.currentTarget.value || $this.data('value'),
            linkDom;
          //for campaign-ctas and navbar-nav-component :: reference KPMGS-27188 and KPMGS-26616
          if ($this.parents('.campaign-ctas').length || $this.parents('.navbar-nav-component').length) {
            HTMLtext = $this.html().toLowerCase();
          }
          HTMLtext = HTMLtext.replace(regex, "").replace(/(  |\r\n\t|\n|\r\t)/gm, "");
          if (window.kpmgPersonalize.isBlog) {
            if ($this.parent(".module-touch-promotional").length &gt; 0 &amp;&amp; $this.attr("title").length &gt; 0) {
              linkText = $this.attr("title");
              HTMLtext = $this.attr("title");
            } else {
              linkDom = $this.find('h1,h2,h3,h4,.title,label')[0];
              linkText = linkDom ? linkDom.innerText : linkText;
            }
          }

          //Call _satellite.track method only when closest module has class "component-trackable" - KPMGS-11303
          if (isSatelliteTrack) {
            this.track(trackname, linkText, true);
          }
          if (typeof tagretLink !== 'undefined') {
            linkLoc = tagretLink.toLowerCase();
          }
          if (plus(".navigation-logo").is($this) || $this.is('a.logo-image-component')) {
            linkLoc = "navigation";
            HTMLtext = "home";
          } else if ($this.parents('.nav-grouping').length &gt; 0 || $this.parents('.desktop-navbar-component').length &gt; 0 || $this.parents('.mobile-navbar-component').length &gt; 0) {
            linkLoc = "navigation";
          }
          // if its footer component
          if (componentName === "footer" || componentName === "FooterV2" || componentName === "touchpopularposts" || componentName === "touchpopulartags") {
            linkLoc = "footer";
          }
          if (componentName === "touch-post-stats") {
            linkLoc = "tags";
          }
          if (componentName === "touch-topic-list-header" || componentName === "touch-author-list-header") {
            if ($this.hasClass('view-topics-spotlight') || $this.hasClass('view-author-spotlight')) {
              HTMLtext = $this.html().toLowerCase();
              HTMLtext = HTMLtext.replace(regex, "").replace(/(  |\r\n\t|\n|\r\t)/gm, "");
            }
          }
          // no tracking for socialChannels component
          if (componentName === "socialchannels") {
            return false;
          }
          if (componentName === "bodytext" &amp;&amp; $this.parent().find('a').length &gt; 1) {
            HTMLtext = $this.attr('title') || $this.html().toLowerCase();
          }
          if (componentName === "dynamicpromotional") {
            HTMLtext = linkText;
          }
          lastClick = $this;
        }
      } catch (err) {
        console.log(err);
      }
    };
    Tracking.prototype.track = function (trackname, linkText, handleClick, linkName) {
      try {
        // private functions
        // We may want to fire satelliteTracking on an element inside a parent-component.  In such cases we can follow the following HTML structure.  A working example of this can be seen for Carousel-slides and Articles inside of latest-thinking-component
        /* EXAMPLE
          &lt;section class="module-somecomponent"&gt;
              &lt;div&gt;
                &lt;!--
                  set nested-element-tracking class on the link that will be tracked
                  set nested h1 with the Title with display:none;
                --&gt;
                &lt;a class="nested-element-tracking"&gt;
                  &lt;h1 class="d-none"&gt;Title&lt;/h1&gt;
                &lt;/a&gt;
              &lt;/div&gt;
          &lt;/section&gt;
        */
        var setArticleTitleForNestedElementInComponentElement = function setArticleTitleForNestedElementInComponentElement() {
          var isNestedElementTrackable;
          //
          isNestedElementTrackable = $currentClick &amp;&amp; $currentClick.hasClass('nested-element-tracking');
          //
          if (isNestedElementTrackable) {
            articleTitle = articleNameVal = $currentClick.find('h1').text().trim();
          }
        };
        if (this.$context.hasClass('[class^="module-touch-promotional"]')) {
          this.reactClassList = '';
        }
        var name = this.reactClassList ? this.reactClassList : this.$context.attr('class'),
          isPersonalized = this.$context.attr('personalize') === 'true',
          isArticleVal = this.$context.closest('[data-article]').attr('data-article') || 'false',
          componentName = this.reactClassList ? name.substring(8, name.indexOf(' ')) : name.substring(7, name.indexOf(' ')),
          articleTitle = window.kpmgPersonalize.isBlog &amp;&amp; handleClick ? $currentClick.find('h1,h2,h3,h4,.title,label')[0] : this.$context.find('h1,h2,h3,h4,.title,label')[0],
          articleTitle = articleTitle ? articleTitle.innerText : componentName,
          sortType = window.kpmgPersonalize.snp.params &amp;&amp; window.kpmgPersonalize.snp.params.sortType ? window.kpmgPersonalize.snp.params.sortType.split('=')[1] : 'default',
          dpos = 'D' + (this.$context.closest('[data-desktop-cell]').data('desktop-cell') || 0),
          mpos = 'M' + (this.$context.closest('[data-mobile-cell]').data('mobile-cell') || 0),
          linkURL = this.$context.attr('href') || '',
          articleNameVal = articleTitle,
          tracking = {},
          topic = '';
        setArticleTitleForNestedElementInComponentElement();
        if (componentName === "touch-post-stats") {
          articleTitle += linkText.trim();
          articleNameVal = articleTitle;
        }
        if (componentName === "touch-blogshare" || componentName === "touch-featuredauthors" || componentName === "touch-blog-author-list" || componentName === "touch-blog-topic-list") {
          articleTitle = linkText.trim();
          articleNameVal = articleTitle;
        }
        if (componentName === "dynamicpromotional") {
          articleNameVal = this.$context.find('a').attr('data-title');
          articleTitle = articleNameVal;
          linkURL = this.$context.find('a').attr('href');
        }
        if (componentName === "touchpopularposts" || componentName === "touchrecentposts" || componentName === "touchsupportingcontent" || componentName === "dynamic-accordion" &amp;&amp; window.kpmgPersonalize.isBlog) {
          articleNameVal = linkText.trim();
          articleTitle = linkText.trim();
        }
        if (componentName === "promotionale" || componentName === "promotionala" || componentName === "promotionalb" || componentName === "promotionalc" || componentName === "promotionald") {
          linkName = linkText.trim();
        }
        tracking = {
          component: {
            isArticle: isArticleVal,
            componentDetail: componentName + '|' + dpos + '-' + mpos + '|' + articleTitle,
            componentRanking: sortType,
            ArticleType: digitalData &amp;&amp; digitalData.page.pageInfo &amp;&amp; digitalData.page.pageInfo.industryPath ? digitalData.page.pageInfo.industryPath : ''
          },
          link: {
            LinkName: linkText,
            FindingMethod: componentName,
            internalLink: linkName || 'link',
            internalLinkcategory: componentName,
            internalLinkURL: linkURL
          },
          article: {
            ArticleName: articleNameVal
          }
        };
        if (handleClick) {
          window.digitalData.page.article.articleDetails = articleNameVal.concat(' | ', kpmgStr, ' | ', memberFirm);
        }
        if (window.kpmgPersonalize.isBlog) {
          if (handleClick &amp;&amp; $currentClick) {
            topic = $currentClick.attr('data-topic') || '';
          }
          if (tracking.component.ArticleType) {
            tracking.component.ArticleType = ('Blog | ' + tracking.component.ArticleType).trim();
          } else {
            tracking.component.ArticleType = ('Blog | ' + topic).trim();
          }
          tracking.article.ArticleName = ('Blog | ' + tracking.article.ArticleName).trim();
          if (!handleClick) {
            delete tracking.component.ArticleType;
            delete tracking.article.ArticleName;
            delete window.digitalData.page.article.articleDetails;
          }
        }
        this.satelliteTracking(tracking, trackname);
      } catch (err) {
        console.log("Error:" + err);
      }
    };
    return Tracking;
  });
});


/***/ }),

/***/ 4109:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) =&gt; {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   A: () =&gt; (/* binding */ Utilities$1)
/* harmony export */ });
/* global calanderProperties */
var Utilities;
function validateReadTimeCount(val) {
  var readTimeLabel = window.kpmgPersonalize.i18n.customMsgs.minReadTime;
  val = parseInt(val);
  if (val &gt; 1) {
    readTimeLabel = window.kpmgPersonalize.i18n.customMsgs.minsReadTime;
  }
  return readTimeLabel.replace(/READ_TIME/, val);
}
function formatDate(date, formatType) {
  //expecting format as =&gt; 2021-11-09T11:28:13+00:00
  if (!date &amp;&amp; !calanderProperties) {
    return date;
  }
  var year = date.split('-')[0];
  var month = date.split('-')[1];
  var day = date.split('-')[2].split('T')[0];
  var formatReq = formatType ? formatType : 'dd mmmm yyyy';
  var convertedDate;
  convertedDate = date;
  switch (formatReq) {
    case 'mmmm dd, yyyy':
      convertedDate = calanderProperties.longMonths[month - 1] + ' ' + day + ', ' + year;
      break;
    case 'mmmm dd':
      convertedDate = calanderProperties.longMonths[month - 1] + ' ' + day;
      break;
    case 'mmm dd':
      convertedDate = calanderProperties.longMonths[month - 1] + ' ' + day;
      break;
    case 'dd mmmm yyyy':
      convertedDate = day + ' ' + calanderProperties.longMonths[month - 1] + ' ' + year;
      break;
    default:
      convertedDate = day + '/' + month + '/' + year;
      break;
  }
  return convertedDate;
}
Utilities = {
  formatDate: formatDate,
  validateReadTimeCount: validateReadTimeCount
};
var Utilities$1 = Utilities;


/***/ }),

/***/ 4329:
/***/ ((__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) =&gt; {

"use strict";

// NAMESPACE OBJECT: ./source/etc/clientlibs/kpmgpublic/global/js/plus/utils.js
var utils_namespaceObject = {};
__webpack_require__.r(utils_namespaceObject);
__webpack_require__.d(utils_namespaceObject, {
  Deferred: () =&gt; (Deferred),
  _data: () =&gt; (_data),
  "default": () =&gt; (Utils),
  each: () =&gt; (each),
  extend: () =&gt; (extend),
  grep: () =&gt; (grep),
  inArray: () =&gt; (inArray),
  isEmptyObject: () =&gt; (isEmptyObject),
  map: () =&gt; (map),
  merge: () =&gt; (merge),
  noop: () =&gt; (noop),
  param: () =&gt; (param),
  parseHTML: () =&gt; (parseHTML),
  proxy: () =&gt; (proxy),
  when: () =&gt; (when)
});

// NAMESPACE OBJECT: ./source/etc/clientlibs/kpmgpublic/global/js/plus/ajax.js
var ajax_namespaceObject = {};
__webpack_require__.r(ajax_namespaceObject);
__webpack_require__.d(ajax_namespaceObject, {
  ajax: () =&gt; (ajax),
  "default": () =&gt; (Ajax),
  get: () =&gt; (ajax_get),
  getJSON: () =&gt; (getJSON),
  getScript: () =&gt; (getScript)
});

// EXTERNAL MODULE: ./node_modules/react-dom/index.js
var react_dom = __webpack_require__(961);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 3 modules
var slicedToArray = __webpack_require__(296);
// EXTERNAL MODULE: ./node_modules/styled-components/dist/styled-components.browser.esm.js + 4 modules
var styled_components_browser_esm = __webpack_require__(2568);
// EXTERNAL MODULE: ./node_modules/react-bootstrap/esm/Accordion.js + 39 modules
var Accordion = __webpack_require__(5923);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 3 modules
var toConsumableArray = __webpack_require__(5458);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(6540);
// EXTERNAL MODULE: ./src/dependencies/modules/cqservice.js
var cqservice = __webpack_require__(1662);
// EXTERNAL MODULE: ./src/dependencies/modules/common-utils.js + 1 modules
var common_utils = __webpack_require__(8262);
// EXTERNAL MODULE: ./src/components/atoms/button/index.tsx
var atoms_button = __webpack_require__(3122);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js
var esm_typeof = __webpack_require__(2284);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
var classCallCheck = __webpack_require__(3029);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
var createClass = __webpack_require__(2901);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js + 1 modules
var possibleConstructorReturn = __webpack_require__(388);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
var getPrototypeOf = __webpack_require__(3954);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js
var inherits = __webpack_require__(5501);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
var defineProperty = __webpack_require__(4467);
;// CONCATENATED MODULE: ./source/etc/clientlibs/kpmgpublic/global/js/plus/libUtils.js




function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r &amp;&amp; (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r &lt; arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0,defineProperty/* default */.A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol &amp;&amp; r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e &amp;&amp; r &amp;&amp; "number" == typeof r.length) { t &amp;&amp; (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n &gt;= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t &amp;&amp; r.constructor &amp;&amp; (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a &gt; r.length) &amp;&amp; (a = r.length); for (var e = 0, n = Array(a); e &lt; a; e++) n[e] = r[e]; return n; }

var libUtils = {
  options: {
    singleTag: /^&lt;([a-z][^\/\0&gt;:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?&gt;(?:&lt;\/\1&gt;|)$/i,
    winDoc: window.document,
    winObj: document.defaultView,
    isCamelCase: /[A-Z]+/g,
    regxClass: /\.+/,
    regxId: /\#+/,
    regxHasAlphabets: /[^\-0-9]+/g,
    regxAttributeSelector: /^\[.+=?.*\]$/,
    isColon: /\:/,
    regxHasDigits: /\d+/g
  },
  isNode: function isNode(o) {
    //Returns true if it is a DOM node
    return (typeof Node === "undefined" ? "undefined" : (0,esm_typeof/* default */.A)(Node)) === "object" ? o instanceof Node : o &amp;&amp; (0,esm_typeof/* default */.A)(o) === "object" &amp;&amp; typeof o.nodeType === "number" &amp;&amp; typeof o.nodeName === "string";
  },
  isElement: function isElement(o) {
    //Returns true if it is a DOM element
    return (typeof HTMLElement === "undefined" ? "undefined" : (0,esm_typeof/* default */.A)(HTMLElement)) === "object" ? o instanceof HTMLElement :
    //DOM2
    o &amp;&amp; (0,esm_typeof/* default */.A)(o) === "object" &amp;&amp; o !== null &amp;&amp; o.nodeType === 1 &amp;&amp; typeof o.nodeName === "string";
  },
  addEvent: function addEvent(_self, container, event, callback, onlyOnce) {
    _self.prevObj = container;
    var eventName = event &amp;&amp; event !== "template.loaded" &amp;&amp; event.indexOf(".bs.") === -1 ? event.split('.')[0] : event;
    container.forEach(function (dom) {
      if (!dom.namespace) {
        dom.namespace = {};
      }
      dom.addEventListener(eventName, executeThis, false);
      if (dom.namespace[event]) {
        dom.namespace[event].push(executeThis);
      } else {
        dom.namespace[event] = [executeThis];
      }
      //

      function executeThis(e) {
        var callFunction = true;
        if (onlyOnce) {
          var custAttr = 'custom' + eventName;
          if (dom[custAttr]) {
            dom[custAttr].eventLen = dom[custAttr].eventLen + 1;
          } else {
            dom[custAttr] = {};
            dom[custAttr].eventLen = 1;
            dom[custAttr].fun = callback;
          }
          if (dom[custAttr].eventLen &gt; 1) {
            delete dom[custAttr];
            callFunction = false;
            dom.removeEventListener(eventName, executeThis, false);
          }
        }
        if (callFunction) {
          callback.call(dom, e);
        }
      }
    });
  },
  handleMultiAddEvents: function handleMultiAddEvents(_self, events, domElem, callback, onlyOnce) {
    var _this = this;
    events.forEach(function (event) {
      if (event &amp;&amp; onlyOnce) {
        _this.addEvent(_self, domElem, event, callback, onlyOnce);
      } else if (event) {
        _this.addEvent(_self, domElem, event, callback);
      }
    });
  },
  addDelegateEvent: function addDelegateEvent(_self, container, selector, event, callback) {
    var data = arguments.length &gt; 5 &amp;&amp; arguments[5] !== undefined ? arguments[5] : false;
    var eventName = event &amp;&amp; event !== "template.loaded" ? event.split('.')[0] : event;
    // modify selector to include both the selected element and child elements of the selected element
    var matchSelector = [],
      realTarget,
      filter = '',
      searchRegExp = '',
      replaceWith = '';

    // support for :not operator
    if (selector.indexOf(':not') &gt; -1) {
      filter = selector.substring(selector.indexOf(':') + 1);
      selector = selector.split(':')[0];
      // https://stackoverflow.com/questions/17779744/regular-expression-to-get-a-string-between-parentheses-in-javascript/17780281
      var regExp = /\(([^)]+)\)/;
      filter = regExp.exec(filter)[1];
      if (filter &amp;&amp; filter.charAt(filter.length - 1) !== "\"" &amp;&amp; filter.charAt(filter.length - 1) !== "'") {
        filter = "\"".concat(filter.replace(/\"/g, "'"), "\"");
      }
      filter = JSON.parse(filter);
    }
    /**
     * input fields - selectors mentioned with :(colon)
     * will be replaced with respective selectors
     */
    if (this.options.isColon.test(selector)) {
      if (selector.indexOf(':button') &gt; -1) {
        searchRegExp = /\:button/gi;
        replaceWith = "button, input[type='button']";
        selector = selector.replace(searchRegExp, replaceWith);
      }
      if (selector.indexOf(':input') &gt; -1) {
        searchRegExp = /\:input/gi;
        replaceWith = "button, input, select, textarea";
        selector = selector.replace(searchRegExp, replaceWith);
      }
      if (selector.indexOf(':checkbox') &gt; -1) {
        searchRegExp = /\:checkbox/gi;
        replaceWith = "[type='checkbox']";
        selector = selector.replace(searchRegExp, replaceWith);
      }
    }
    var _iterator = _createForOfIteratorHelper(selector.split(",")),
      _step;
    try {
      for (_iterator.s(); !(_step = _iterator.n()).done;) {
        var s = _step.value;
        if (s &amp;&amp; s.indexOf(':') === -1) {
          matchSelector.push(s);
          matchSelector.push("".concat(s, " *")); // e.g. '#parent *' to match all children
        }
      }
    } catch (err) {
      _iterator.e(err);
    } finally {
      _iterator.f();
    }
    matchSelector = matchSelector.join(",");
    container.forEach(function (c) {
      if (!c.namespace) {
        c.namespace = {};
      }
      c.addEventListener(eventName, executeThis, true);
      if (c.namespace[event]) {
        c.namespace[event].push(executeThis);
      } else {
        c.namespace[event] = [executeThis];
      }
      // keep track of delegate events added to c
      if (!c.delegateSelectors) {
        c.delegateSelectors = [[selector, event, executeThis]];
      } else {
        c.delegateSelectors.push([selector, event, executeThis]);
      }
      function executeThis(e) {
        if (matchSelector.length &amp;&amp; e.target &amp;&amp; e.target.matches(matchSelector)) {
          // confirm if element is parent element or child element
          if (e.target.matches(selector)) {
            realTarget = e.target;
          } else {
            var tagName = e.target.tagName.toLowerCase();
            // if child element is anchor or button with attached event ignore
            if (['button', 'input'].indexOf(tagName) !== -1 || e.target.namespace &amp;&amp; e.target.namespace[event]) {
              return;
            }
            // find which parent the child element belongs to
            var parents = document.querySelectorAll(libUtils.escapeClassnameQueryCSS(selector));
            var _iterator2 = _createForOfIteratorHelper(parents),
              _step2;
            try {
              for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
                var p = _step2.value;
                if (p.contains(e.target)) {
                  realTarget = p;
                }
              }
              // confirm child element is not within a more specific delegation parent with a diff namespace
            } catch (err) {
              _iterator2.e(err);
            } finally {
              _iterator2.f();
            }
            var _iterator3 = _createForOfIteratorHelper(c.delegateSelectors.filter(function (obj) {
                return obj[0] !== selector;
              })),
              _step3;
            try {
              for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
                var se = _step3.value;
                var results = realTarget.querySelectorAll(libUtils.escapeClassnameQueryCSS(se[0]));
                if (results.length) {
                  var _iterator4 = _createForOfIteratorHelper(results),
                    _step4;
                  try {
                    for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
                      var r = _step4.value;
                      if (r.contains(e.target) &amp;&amp; se[1] !== event) {
                        return;
                      }
                    }
                  } catch (err) {
                    _iterator4.e(err);
                  } finally {
                    _iterator4.f();
                  }
                }
              }
            } catch (err) {
              _iterator3.e(err);
            } finally {
              _iterator3.f();
            }
          }
          // confirm realTarget isn't included in not filter
          if (filter &amp;&amp; e.target.matches(filter)) {
            return;
          }
          // modify event targets to point to element which the event has occured rather than container
          var TARGET_METHODS = ["currentTarget"];
          var eventCopy = new Proxy(e, {
            get: function get(target, prop) {
              if (TARGET_METHODS.indexOf(prop) !== -1) {
                return realTarget;
              } else if (data &amp;&amp; prop === "data") {
                return data;
              } else {
                var value = target[prop];
                return typeof value == 'function' ? value.bind(target) : value;
              }
            }
          });
          callback.call(realTarget, eventCopy);
        }
      }
    });
  },
  handleMultiAddDelegateEvents: function handleMultiAddDelegateEvents(_self, events, container, selector, callback, data) {
    var _this2 = this;
    events.forEach(function (event) {
      if (event) {
        _this2.addDelegateEvent(_self, container, selector, event, callback, data);
      }
    });
  },
  removeEvent: function removeEvent(container, event, callback) {
    var eventName = event &amp;&amp; event !== "template.loaded" &amp;&amp; event.indexOf(".bs.") === -1 ? event.split('.')[0] : event;
    container.forEach(function (dom) {
      if (dom.namespace &amp;&amp; dom.namespace[event]) {
        var _iterator5 = _createForOfIteratorHelper(dom.namespace[event]),
          _step5;
        try {
          for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
            var _callback = _step5.value;
            dom.removeEventListener(eventName, _callback, false);
            // account for delegate events registered also
            dom.removeEventListener(eventName, _callback, true);
          }
        } catch (err) {
          _iterator5.e(err);
        } finally {
          _iterator5.f();
        }
        delete dom.namespace[event];
      }
    });
  },
  handleMultiRemoveDelegateEvents: function handleMultiRemoveDelegateEvents(events, domElem, selector) {
    var container = domElem;
    if (events) {
      events.forEach(function (event) {
        if (event) {
          var callbacks,
            eventName = event &amp;&amp; event !== "template.loaded" &amp;&amp; event.indexOf(".bs.") === -1 ? event.split('.')[0] : event;
          container.forEach(function (dom) {
            if (dom.delegateSelectors) {
              callbacks = dom.delegateSelectors.filter(function (ds) {
                return ds[0] === selector &amp;&amp; ds[1] === eventName;
              });
              var _iterator6 = _createForOfIteratorHelper(callbacks),
                _step6;
              try {
                var _loop = function _loop() {
                  var callback = _step6.value;
                  dom.removeEventListener(eventName, callback, false);
                  // account for delegate events registered also
                  dom.removeEventListener(eventName, callback, true);
                  // remove from namespace as well
                  if (dom.namespace[event]) dom.namespace[event] = dom.namespace[event].filter(function (fn) {
                    return fn !== callback;
                  });
                };
                for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
                  _loop();
                }
              } catch (err) {
                _iterator6.e(err);
              } finally {
                _iterator6.f();
              }
            }
          });
        }
        ;
      });
    } else {
      //off with no arguments
      container.forEach(function (dom) {
        if (dom.parentNode) {
          var elClone = dom.cloneNode(true);
          dom.parentNode.replaceChild(elClone, dom);
        }
      });
    }
  },
  handleMultiRemoveEvents: function handleMultiRemoveEvents(events, domElem, callback) {
    var _this3 = this;
    var container = domElem;
    if (events) {
      events.forEach(function (event) {
        if (event) _this3.removeEvent(domElem, event, callback);
      });
    } else {
      //off with no arguments
      container.forEach(function (dom) {
        if (dom.parentNode) {
          var elClone = dom.cloneNode(true);
          dom.parentNode.replaceChild(elClone, dom);
        }
      });
    }
  },
  updateWithParentSelector: function updateWithParentSelector(el, selector) {
    var selectors = [],
      domElem = [],
      patt = /^\&gt;[ (\.|\#)a-zA-Z]+/,
      newSelector = "";
    selector.split(',').forEach(function (item) {
      item = item.trim();
      if (patt.test(item)) {
        newSelector = libUtils.escapeClassnameQueryCSS(":scope " + item);
        domElem.push.apply(domElem, (0,toConsumableArray/* default */.A)(el.querySelectorAll(newSelector)));
      }
    });
    selectors = selector.split(',').filter(function (item) {
      item = item.trim();
      return item &amp;&amp; !patt.test(item);
    });
    selector = selectors.join(',');
    var p = new library(selector, el);
    domElem.push.apply(domElem, (0,toConsumableArray/* default */.A)(p._domElem));
    return domElem;
  },
  getChildNodes: function getChildNodes(container, selector) {
    var _this4 = this,
      _uniqueDom,
      _uniqueDom2;
    var domElem = [],
      getChilds = [],
      uniqueDom = [],
      patt = /\&gt;[ (\.|\#)a-zA-Z]+/;
    var hasChildSelector = patt.test(selector);
    container.forEach(function (eachContainer) {
      if (hasChildSelector) {
        var _domElem;
        getChilds = _this4.updateWithParentSelector(eachContainer, selector);
        (_domElem = domElem).push.apply(_domElem, (0,toConsumableArray/* default */.A)(getChilds));
      } else {
        var _domElem2;
        var p = new library(selector, eachContainer);
        (_domElem2 = domElem).push.apply(_domElem2, (0,toConsumableArray/* default */.A)(p._domElem));
      }
    });
    uniqueDom = this.uniqueDom(domElem);
    domElem = (_uniqueDom = uniqueDom, _uniqueDom2 = (0,slicedToArray/* default */.A)(_uniqueDom, 0), _uniqueDom);
    return domElem;
  },
  propertyCheck: function propertyCheck(property) {
    if (this.options.isCamelCase.test(property)) {
      var customProperty = [];
      property.split('').forEach(function (itm, index) {
        var customChar = '';
        if (itm === itm.toUpperCase()) {
          customChar = "-".concat(itm.toLowerCase());
          customProperty.push(customChar);
        } else customProperty.push(itm);
        property = customProperty.join('');
      });
    }
    return property;
  },
  scrollToY: function scrollToY(y, duration, element, callback) {
    // cancel if already on target position
    var callBackNotDone = true;
    var htmlElem = document.getElementsByTagName("HTML")[0];
    if (element.nodeName === "BODY" &amp;&amp; htmlElem.scrollToY &amp;&amp; htmlElem.scrollToY.length &gt; 0) {
      return;
    }
    element.scrollToY = element.scrollToY || [];
    if (callback &amp;&amp; typeof callback === 'function') {
      element.scrollToY.push(callback);
    }
    if (element.scrollTop === y) {
      if (element.scrollToY.length &gt; 0) {
        var _callback2 = element.scrollToY.shift();
        if (_callback2 &amp;&amp; typeof _callback2 === 'function') {
          _callback2.call();
        }
      }
      return;
    }
    var cosParameter = (element.scrollTop - y) / 2;
    var scrollCount = 0,
      oldTimestamp = null;
    function step(newTimestamp) {
      if (oldTimestamp !== null) {
        // if duration is 0 scrollCount will be Infinity
        scrollCount += Math.PI * (newTimestamp - oldTimestamp) / duration;
        if (scrollCount &gt;= Math.PI) {
          var _callback3 = element.scrollToY.length &gt; 0 ? element.scrollToY.shift() : undefined;
          if (_callback3 &amp;&amp; typeof _callback3 === 'function' &amp;&amp; callBackNotDone) {
            callBackNotDone = false;
            _callback3.call();
          }
          return element.scrollTop = y;
        }
        element.scrollTop = cosParameter + y + cosParameter * Math.cos(scrollCount);
      }
      oldTimestamp = newTimestamp;
      setTimeout(function () {
        window.requestAnimationFrame(step);
      }, 100);
    }
    window.requestAnimationFrame(step);
  },
  scrollToX: function scrollToX(x, duration, element, callback) {
    element.scrollToX = element.scrollToX || [];
    if (callback &amp;&amp; typeof callback === 'function') {
      element.scrollToX.push(callback);
    }
    // cancel if already on target position
    if (element.scrollLeft === x) {
      if (element.scrollToX.length &gt; 0) {
        var _callback4 = element.scrollToX.shift();
        if (_callback4 &amp;&amp; typeof _callback4 === 'function') {
          _callback4.call();
        }
      }
      return;
    }
    var cosParameter = (element.scrollLeft - x) / 2;
    var scrollCount = 0,
      oldTimestamp = null;
    function step(newTimestamp) {
      if (oldTimestamp !== null) {
        // if duration is 0 scrollCount will be Infinity
        scrollCount += Math.PI * (newTimestamp - oldTimestamp) / duration;
        if (scrollCount &gt;= Math.PI) {
          var _callback5 = element.scrollToX.length &gt; 0 ? element.scrollToX.shift() : undefined;
          if (_callback5 &amp;&amp; typeof _callback5 === 'function') {
            _callback5.call();
          }
          return element.scrollLeft = x;
        }
        element.scrollLeft = cosParameter + x + cosParameter * Math.cos(scrollCount);
      }
      oldTimestamp = newTimestamp;
      setTimeout(function () {
        window.requestAnimationFrame(step);
      }, 100);
    }
    window.requestAnimationFrame(step);
  },
  setTransition: function setTransition(dom, styles, speed, easing, callback) {
    // pop customAnimateDelay to avoid rising towards infinity
    var _thisLibUtils = this;
    if (dom.customAnimateDelay) {
      dom.customAnimateDelay.shift();
      if (dom.customAnimateDelay.length === 0) delete dom.customAnimateDelay;
    }
    if (styles.slide &amp;&amp; dom.customSlide &amp;&amp; (0,esm_typeof/* default */.A)(dom.customSlide) === 'object') {
      var customSlide = _objectSpread({}, dom.customSlide);
      dom.style.transition = "";
      dom.style.transition = "all ".concat(speed, "ms ").concat(easing);
      setTimeout(function () {
        for (var property in customSlide) {
          var customProperty = _thisLibUtils.propertyCheck(property);
          dom.style[customProperty] = customSlide[property];
        }
      }, 50);
    } else {
      dom.style.transition = "all ".concat(speed, "ms ").concat(easing);
      for (var property in styles) {
        var customProperty = this.propertyCheck(property);
        if (/^[1-9]\d*(\.\d+)?$/.test(styles[property]) === true) {
          styles[property] = this.getUnits(styles[property], property);
        } else if (typeof styles[property] === 'string' &amp;&amp; !!styles[property].match(/(\+|\-)\=\d/gi)) {
          styles[property] = this.updateStyle(dom, styles[property], customProperty);
        } else if (typeof styles[property] === 'string' &amp;&amp; !!styles[property].match(/^toggle/gi)) {
          //this is for toggle some style
          styles[property] = this.toggleStyle(dom, customProperty);
        }
        if (property === 'scrollTop' || property === 'scrollLeft') {
          var scrollElem = void 0,
            duration = speed,
            desiredPoint = typeof styles[property] === 'string' ? parseInt(styles[property]) : styles[property];
          // Chrome, Firefox, IE and Opera places the overflow at the &lt;html&gt; level, unless else is specified.
          scrollElem = dom.nodeName === 'HTML' ? document.documentElement : dom;
          if (callback &amp;&amp; typeof callback === 'function') dom.transitionEnd = [];
          if (property === 'scrollTop') this.scrollToY(desiredPoint, duration, scrollElem, callback);else if (property === 'scrollLeft') this.scrollToX(desiredPoint, duration, scrollElem, callback);
        } else {
          dom.style[customProperty] = styles[property];
        }
      }
    }
  },
  setTransitionEnd: function setTransitionEnd(dom, callback) {
    var htmlElem = document.getElementsByTagName("HTML")[0];
    if (dom.nodeName === "BODY" &amp;&amp; htmlElem.transitionEnd &amp;&amp; htmlElem.transitionEnd.length &gt; 0) {
      return;
    }
    dom.transitionEnd = dom.transitionEnd || [];
    if (typeof callback === 'function') {
      dom.transitionEnd.push(callback);
    } else {
      dom.transitionEnd.push('no function');
    }
    dom.ontransitionend = function () {
      if (dom.customAnimateDelay) {
        dom.customAnimateDelay.shift();
        if (dom.customAnimateDelay.length === 0) delete dom.customAnimateDelay;
      }
      if (dom.customHide &amp;&amp; dom.customHide.length &gt; 0) {
        var toggleVal = dom.customHide[dom.customHide.length - 1];
        dom.customHide.shift();
        dom.style.display = toggleVal;
        clearDomStyles(dom);
      }
      if (dom.customSlide &amp;&amp; dom.slideDown) {
        delete dom.slideDown;
        delete dom.customSlide;
        dom.style.opacity = "";
        clearDomStyles(dom);
      } else if (dom.customSlide) {
        delete dom.customSlide;
        dom.style.opacity = "";
      }
      function clearDomStyles(dom) {
        dom.style.marginTop = "";
        dom.style.marginBottom = "";
        dom.style.paddingTop = "";
        dom.style.paddingBottom = "";
        dom.style.overflow = "";
        dom.style.height = "";
        dom.style.transition = "";
      }
      var transitionEndFun;
      if (dom.transitionEnd &amp;&amp; dom.transitionEnd.length &gt; 0) {
        transitionEndFun = dom.transitionEnd.shift();
        if (typeof transitionEndFun === 'function') transitionEndFun();
      }
    };
  },
  setTransitionStart: function setTransitionStart(dom, callback) {
    dom.transitionStart = dom.transitionStart || [];
    if (typeof callback === 'function') {
      dom.transitionStart.push(callback);
    } else {
      dom.transitionStart.push('no function');
    }
    if (dom.customShow &amp;&amp; dom.customShow.length &gt; 0) {
      var toggleVal = dom.customShow[dom.customShow.length - 1];
      dom.customShow.shift();
      dom.style.display = toggleVal;
    }
    dom.ontransitionstart = function () {
      var transitionStratFun;
      if (dom.transitionStart &amp;&amp; dom.transitionStart.length &gt; 0) {
        transitionStratFun = dom.transitionStart.shift();
        if (typeof transitionStratFun === 'function') transitionStratFun();
      }
    };
  },
  setTransitionCancel: function setTransitionCancel(dom, callback) {
    dom.transitionCancel = dom.transitionCancel || [];
    if (typeof callback === 'function') {
      dom.transitionCancel.push(callback);
    } else {
      dom.transitionCancel.push('no function');
    }
    dom.ontransitioncancel = function () {
      var transitionCancelFun;
      if (dom.transitionCancel &amp;&amp; dom.transitionCancel.length &gt; 0) {
        transitionCancelFun = dom.transitionCancel.shift();
        if (typeof transitionCancelFun === 'function') transitionCancelFun();
      }
    };
  },
  getDelayedTime: function getDelayedTime(winObj) {
    var delayTime = 0;
    if (winObj._domElem.delayTime) {
      delayTime = winObj._domElem.delayTime;
      this.resetDom(winObj);
      return delayTime;
    }
    return delayTime;
  },
  resetDom: function resetDom(winDom) {
    delete winDom._domElem.delayTime;
    container.forEach(function (dom) {
      if (dom.transitionCancel &amp;&amp; dom.transitionCancel.length === 0) delete dom.transitionCancel;
      if (dom.transitionStart &amp;&amp; dom.transitionStart.length === 0) delete dom.transitionStart;
      if (dom.transitionEnd &amp;&amp; dom.transitionEnd.length === 0) delete dom.transitionEnd;
      if (dom.customShow &amp;&amp; dom.customShow.length === 0) delete dom.customShow;
      if (dom.customHide &amp;&amp; dom.customHide.length === 0) delete dom.customHide;
      if (dom.customAnimateDelay &amp;&amp; dom.customAnimateDelay.length === 0) delete dom.customAnimateDelay;
    });
  },
  getStyle: function getStyle(el, styleProp) {
    var value,
      defaultView = el &amp;&amp; el.ownerDocument ? el.ownerDocument.defaultView : "";
    // W3C standard way:
    if (defaultView &amp;&amp; defaultView.getComputedStyle) {
      // sanitize property name to css notation (hypen separated words eg. font-Size)
      styleProp = styleProp.replace(/([A-Z])/g, "-$1").toLowerCase();
      return defaultView.getComputedStyle(el, null).getPropertyValue(styleProp);
    } else if (el &amp;&amp; el.currentStyle) {
      // IE
      // sanitize property name to camelCase
      styleProp = styleProp.replace(/\-(\w)/g, function (str, letter) {
        return letter.toUpperCase();
      });
      value = el.currentStyle[styleProp];
      // convert other units to pixels on IE
      if (/^\d+(em|pt|%|ex)?$/i.test(value)) {
        return function (value) {
          var oldLeft = el.style.left,
            oldRsLeft = el.runtimeStyle.left;
          el.runtimeStyle.left = el.currentStyle.left;
          el.style.left = value || 0;
          value = "".concat(el.style.pixelLeft, "px");
          el.style.left = oldLeft;
          el.runtimeStyle.left = oldRsLeft;
          return value;
        }(value);
      }
      return value;
    } else if (defaultView === null) {
      return el.style[styleProp]; // temp fix for reading styles of DOMParser elements not inside the window document
    }
  },
  getUnits: function getUnits(val, property) {
    if (property &amp;&amp; property.match(/font-weight|fontweight|opacity|z-index|tab-size|order|line-height|lineHeight|grid-row-start|flex-shrink|flex-grow|column-count/gi)) {
      return val;
    } else if (/^[1-9]\d*(\.\d+)?$/.test(val) === true) {
      val = "".concat(val, "px");
    }
    return val;
  },
  updateStyle: function updateStyle(dom, val, property) {
    var oldVal = this.getStyle(dom, property),
      newVal,
      diffVal = val.split('=')[1] ? val.split('=')[1] : 0;
    newVal = !!val.match(/^\+/) ? parseInt(oldVal) + parseInt(diffVal) : parseInt(oldVal) - parseInt(diffVal);
    newVal = this.getUnits(newVal, property);
    return newVal;
  },
  toggleStyle: function toggleStyle(dom, property) {
    var currentVal = this.getStyle(dom, property),
      newVal,
      setTheOldValue,
      toggleName = 'toggle' + property;
    setTheOldValue = dom[toggleName] ? dom[toggleName] : currentVal;
    dom[toggleName] = parseInt(currentVal);
    newVal = parseInt(currentVal) &gt; 0 ? 0 : setTheOldValue;
    newVal = this.getUnits(newVal, property);
    return newVal;
  },
  applyOffset: function applyOffset(dom, offsetVal) {
    var position = this.getStyle(dom, 'position'),
      domOffset = libUtils.getOffset(dom),
      domleft = domOffset.left,
      domMarginTop = domOffset.top;
    if (position === 'absolute') {
      dom.style['top'] = "".concat(offsetVal.top, " px");
      dom.style['left'] = "".concat(offsetVal.left, " px");
    } else {
      if (position !== 'relative') dom.style['position'] = 'relative';
      dom.style['top'] = "".concat(offsetVal.top - domMarginTop, " px");
      dom.style['left'] = "".concat(offsetVal.left - domleft, " px");
    }
  },
  offsetAlreadyAvailable: function offsetAlreadyAvailable(dom, offsetVal) {
    var offsetApplied = false;
    if (dom.custmOffSet) {
      if (dom.custmOffSet.left === offsetVal.left &amp;&amp; dom.custmOffSet.top === offsetVal.top) offsetApplied = true;
    } else {
      dom.custmOffSet = offsetVal;
    }
    if (!offsetApplied) {
      this.applyOffset(dom, offsetVal);
      dom.custmOffSet = offsetVal;
    }
  },
  getOffset: function getOffset(el) {
    var box = el.getBoundingClientRect();
    return {
      top: box.top + window.pageYOffset - document.documentElement.clientTop,
      left: box.left + window.pageXOffset - document.documentElement.clientLeft
    };
  },
  replaceWithHelper: function replaceWithHelper(dom, selector, self) {
    var content = selector;
    if ((0,esm_typeof/* default */.A)(selector) === 'object') {
      content = selector._domElem ? selector.get(0).outerHTML : selector.outerHTML;
    }
    dom.insertAdjacentHTML("afterend", content);
    libUtils.removeElement(dom, self);
  },
  wrapWith: function wrapWith(container, selectorContainer) {
    container.forEach(function (dom) {
      selectorContainer.innerHTML = dom.outerHTML;
      dom.outerHTML = selectorContainer.outerHTML;
    });
  },
  wrapAll: function wrapAll(container, wrapper, self) {
    if (container[0] &amp;&amp; wrapper) {
      wrapper.innerHTML = "";
      var domOuterHtml = [];
      container.forEach(function (dom) {
        domOuterHtml.push(dom.outerHTML);
      });
      wrapper.innerHTML = domOuterHtml.join("");
      container[0].insertAdjacentHTML("beforebegin", wrapper.outerHTML);
      container.forEach(function (dom) {
        libUtils.removeElement(dom, self);
      });
    }
  },
  wrapInner: function wrapInner(container, wrapper) {
    container.forEach(function (dom) {
      wrapper.innerHTML = dom.innerHTML;
      dom.innerHTML = wrapper.outerHTML;
    });
  },
  filterHelper: function filterHelper(param, selectedVal, container, itsClass, itsId, plusObjDomElem) {
    var _self = this;
    container.forEach(function (dom) {
      plusObjDomElem = _self.getSelectionList(itsId, itsClass, selectedVal, param, dom, plusObjDomElem);
    });
    return plusObjDomElem;
  },
  reverseFilterHelper: function reverseFilterHelper(param, selectedVal, container, itsClass, itsId, itsAttributeSelector) {
    var alternativeArray = [],
      libOptions = this.options;
    container.forEach(function (dom) {
      alternativeArray.push(dom);
      if (itsId &amp;&amp; selectedVal &amp;&amp; dom.id === selectedVal) {
        if (itsClass) {
          var classValues = param.split('.'),
            tempArray = [],
            hasClassName = false;
          classValues.forEach(function (className) {
            var getClassName = "";
            getClassName = className ? libOptions.regxId.test(className) ? className.split('#')[0] : className : "";
            if (getClassName) {
              tempArray.push(getClassName);
            }
          });
          tempArray.forEach(function (className, i) {
            if (i === 0 &amp;&amp; dom.classList.contains(className)) {
              hasClassName = true;
            } else if (dom.classList.contains(className) &amp;&amp; hasClassName) {
              hasClassName = true;
            } else {
              hasClassName = false;
            }
          });
          if (hasClassName) {
            alternativeArray.splice(alternativeArray.length - 1, 1);
          }
        } else {
          alternativeArray.splice(alternativeArray.length - 1, 1);
        }
      } else if (!itsId &amp;&amp; itsClass &amp;&amp; selectedVal.length) {
        var _hasClassName = false;
        selectedVal.forEach(function (className, i) {
          if (i === 0 &amp;&amp; dom.classList.contains(className)) {
            _hasClassName = true;
          } else if (dom.classList.contains(className) &amp;&amp; _hasClassName) {
            _hasClassName = true;
          } else {
            _hasClassName = false;
          }
        });
        if (_hasClassName) {
          alternativeArray.splice(alternativeArray.length - 1, 1);
        }
      } else if (!itsId &amp;&amp; !itsClass &amp;&amp; itsAttributeSelector &amp;&amp; selectedVal.length) {
        if (dom.matches(selectedVal)) {
          alternativeArray.splice(alternativeArray.length - 1, 1);
        }
      } else if (!itsId &amp;&amp; !itsClass &amp;&amp; !itsAttributeSelector &amp;&amp; dom.nodeName.toLowerCase() === param.trim().toLowerCase()) {
        alternativeArray.splice(alternativeArray.length - 1, 1);
      }
    });
    return alternativeArray;
  },
  hasChilds: function hasChilds(container, selector) {
    var domElem = [];
    selector = libUtils.escapeClassnameQueryCSS(selector);
    container.forEach(function (eachContainer) {
      if (eachContainer.querySelector(selector) !== null) {
        var eachSelector = eachContainer.querySelectorAll(selector);
        if (eachSelector.length &gt; 0) domElem.push(eachContainer);
      }
    });
    return domElem;
  },
  uniqueDom: function uniqueDom(domElement) {
    var uniqueDoms = (0,toConsumableArray/* default */.A)(new Set(domElement));
    return uniqueDoms;
  },
  nextAllHelper: function nextAllHelper(param, selectedVal, container, itsClass, itsId, plusObjDomElem) {
    var _self = this;
    container.forEach(function (dom) {
      var sibling = dom.nextElementSibling;
      while (sibling) {
        if (sibling.nodeType === 1) {
          plusObjDomElem = _self.getSelectionList(itsId, itsClass, selectedVal, param, sibling, plusObjDomElem);
        }
        sibling = sibling.nextElementSibling;
      }
    });
    return plusObjDomElem;
  },
  allParentsHelper: function allParentsHelper(param, selectedVal, container, itsClass, itsId, plusObjDomElem) {
    var _self = this;
    container.forEach(function (dom) {
      var parent = dom.parentElement;
      while (parent) {
        if (parent.nodeType === 1) {
          plusObjDomElem = _self.getSelectionList(itsId, itsClass, selectedVal, param, parent, plusObjDomElem);
        }
        parent = parent.parentElement;
      }
    });
    return plusObjDomElem;
  },
  prevAllHelper: function prevAllHelper(param, selectedVal, container, itsClass, itsId, plusObjDomElem) {
    var _self = this;
    container.forEach(function (dom) {
      var sibling = dom.previousElementSibling;
      while (sibling) {
        if (sibling.nodeType === 1) {
          plusObjDomElem = _self.getSelectionList(itsId, itsClass, selectedVal, param, sibling, plusObjDomElem);
        }
        sibling = sibling.previousElementSibling;
      }
    });
    return plusObjDomElem;
  },
  sibilingAllHelper: function sibilingAllHelper(param, selectedVal, container, itsClass, itsId, plusObjDomElem) {
    var _self = this;
    container.forEach(function (dom) {
      var sibling = dom.parentElement.firstElementChild;
      while (sibling) {
        if (sibling.nodeType === 1 &amp;&amp; sibling !== dom) {
          plusObjDomElem = _self.getSelectionList(itsId, itsClass, selectedVal, param, sibling, plusObjDomElem);
        }
        sibling = sibling.nextElementSibling;
      }
    });
    return plusObjDomElem;
  },
  iterateArray: function iterateArray(propValue, prop, query) {
    var aaryLen = propValue.length,
      arryCounter = 0;
    var _iterator7 = _createForOfIteratorHelper(propValue),
      _step7;
    try {
      for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
        var value = _step7.value;
        var iterationValue = value;
        if ((0,esm_typeof/* default */.A)(iterationValue) === 'object' &amp;&amp; iterationValue.constructor === Object) {
          query = "".concat(this.iterateObject(iterationValue, prop, query, arryCounter));
        } else if (Array.isArray(iterationValue)) {
          query = "".concat(this.iterateArray(iterationValue, prop, query));
        } else query = "".concat(query).concat(prop, "[]=").concat(encodeURIComponent(value));
        arryCounter++;
        if (arryCounter &lt; aaryLen) {
          query = "".concat(query, "&amp;");
        }
      }
    } catch (err) {
      _iterator7.e(err);
    } finally {
      _iterator7.f();
    }
    return query;
  },
  iterateObject: function iterateObject(propValue, prop, query, arryCounter) {
    var objPropLen = Object.keys(propValue).length,
      objPropCounter = 0;
    for (var value in propValue) {
      if (propValue.hasOwnProperty(value)) {
        var iterationValue = propValue[value];
        if ((0,esm_typeof/* default */.A)(iterationValue) === 'object' &amp;&amp; iterationValue.constructor === Object) {
          query = "".concat(this.iterateObject(iterationValue, prop, query));
        } else if (Array.isArray(iterationValue)) {
          query = "".concat(this.iterateArray(iterationValue, prop, query));
        } else {
          if (arryCounter &gt;= 0) {
            query = "".concat(query).concat(prop, "[").concat(arryCounter, "][").concat(value, "]=").concat(encodeURIComponent(iterationValue));
            arryCounter = -1;
          } else query = "".concat(query).concat(prop, "[").concat(value, "]=").concat(encodeURIComponent(iterationValue));
        }
        objPropCounter++;
        if (objPropCounter &lt; objPropLen) {
          query = "".concat(query, "&amp;");
        }
      }
    }
    return query;
  },
  getIdName: function getIdName(selector) {
    if (this.options.regxId.test(selector)) {
      var idValue = selector.split('#')[1];
      if (this.options.regxClass.test(idValue)) {
        idValue = idValue.split('.')[0];
      }
      selector = idValue;
    } else {
      selector = "";
    }
    return selector;
  },
  getClassName: function getClassName(selector) {
    if (this.options.regxClass.test(selector)) {
      var classValues = selector.split('.'),
        tempArray = [],
        skipFirstSplit = false;
      if (!/^\./.test(selector)) {
        //if selector has mutiple class in a string, and the first split value is not a class name
        skipFirstSplit = true;
      }
      classValues.forEach(function (className, i) {
        if (i === 0 &amp;&amp; !skipFirstSplit &amp;&amp; className) {
          tempArray.push(className);
        } else if (i &gt; 0 &amp;&amp; className) {
          tempArray.push(className);
        }
      });
      selector = tempArray;
    } else {
      selector = "";
    }
    return selector;
  },
  getSelectionList: function getSelectionList(itsId, itsClass, selectedVal, param, dom, plusObjDomArray) {
    var libOptions = this.options;
    if (itsId &amp;&amp; selectedVal &amp;&amp; dom.id === selectedVal) {
      if (itsClass) {
        var classValues = param.split('.'),
          tempArray = [],
          hasClassName = false;
        classValues.forEach(function (className) {
          var getClassName = "";
          getClassName = className ? libOptions.regxId.test(className) ? className.split('#')[0] : className : "";
          if (getClassName) {
            tempArray.push(getClassName);
          }
        });
        tempArray.forEach(function (className, i) {
          if (i === 0 &amp;&amp; dom.classList.contains(className)) {
            hasClassName = true;
          } else if (dom.classList.contains(className) &amp;&amp; hasClassName) {
            hasClassName = true;
          } else {
            hasClassName = false;
          }
        });
        if (hasClassName) {
          plusObjDomArray.push(dom);
        }
      } else {
        plusObjDomArray.push(dom);
      }
    } else if (!itsId &amp;&amp; itsClass &amp;&amp; selectedVal.length) {
      var _hasClassName2 = false;
      selectedVal.forEach(function (className, i) {
        if (i === 0 &amp;&amp; dom.classList.contains(className)) {
          _hasClassName2 = true;
        } else if (dom.classList.contains(className) &amp;&amp; _hasClassName2) {
          _hasClassName2 = true;
        } else {
          _hasClassName2 = false;
        }
      });
      if (_hasClassName2) {
        plusObjDomArray.push(dom);
      }
    } else if (!itsId &amp;&amp; !itsClass &amp;&amp; dom.nodeName.toLowerCase() === param.trim().toLowerCase()) {
      plusObjDomArray.push(dom);
    } else if (!itsId &amp;&amp; !itsClass &amp;&amp; libUtils.isSelectorValid(param)) {
      if (dom.matches(param)) {
        plusObjDomArray.push(dom);
      }
    } else {
      var isNotFilter = false;
      var includeDom = false;
      var reset = true;
      var filterArray = param.split("(").map(function (item) {
        return item.replace(/\)/g, "");
      }).map(function (item) {
        var itemArray = item.split(",");
        return itemArray.map(function (item_1) {
          if (itemArray.length &gt; 1) {
            return "|".concat(item_1.trim());
          } else {
            return item_1;
          }
        });
      }).flat().filter(Boolean).map(function (item) {
        if (item.indexOf(":") &gt; 0) {
          item = item.split(":").map(function (item_1, index) {
            if (index) {
              return ":".concat(item_1.trim());
            } else {
              return item_1;
            }
          });
        }
        return item;
      }).flat().filter(Boolean).map(function (item) {
        return item.split("[");
      }).flat().filter(Boolean).map(function (item) {
        if (item.includes("]")) {
          item = "[".concat(item);
        }
        return item;
      }).filter(function (item) {
        return item.trim();
      });
      if (filterArray.includes(':not')) {
        isNotFilter = true;
        filterArray = filterArray.filter(function (item) {
          return item !== ':not';
        });
      }
      var _iterator8 = _createForOfIteratorHelper(filterArray),
        _step8;
      try {
        for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
          var filter = _step8.value;
          if (filter === '|') {
            reset = false;
          } else {
            if (filter.includes('[') &amp;&amp; filter.includes(']')) {
              filter = filter.replace(/[\[\]\"\']/g, "");
              if (filter.includes('=')) {
                var attrArray = filter.split('=');
                if (isNotFilter) {
                  if (dom.hasAttribute(attrArray[0]) &amp;&amp; dom.getAttribute(attrArray[0]) === attrArray[1]) {
                    includeDom = false;
                    break;
                  } else {
                    includeDom = true;
                  }
                } else {
                  if (dom.hasAttribute(attrArray[0]) &amp;&amp; dom.getAttribute(attrArray[0]) === attrArray[1]) {
                    includeDom = true;
                  } else if (reset) {
                    includeDom = false;
                    break;
                  }
                }
              } else {
                if (isNotFilter) {
                  if (dom.hasAttribute(filter)) {
                    includeDom = false;
                    break;
                  } else {
                    includeDom = true;
                  }
                } else {
                  if (dom.hasAttribute(filter)) {
                    includeDom = true;
                  } else if (reset) {
                    includeDom = false;
                    break;
                  }
                }
              }
            } else if (filter.includes(':')) {
              if (isNotFilter) {
                if (filter.includes(':visible') &amp;&amp; dom.clientHeight &gt; 0) {
                  includeDom = false;
                  break;
                } else if (filter.includes(':hidden') &amp;&amp; dom.clientHeight === 0) {
                  includeDom = false;
                  break;
                } else if (filter.includes(':enabled') &amp;&amp; !dom.hasAttribute('disabled')) {
                  includeDom = false;
                  break;
                } else if (filter.includes(':disabled') &amp;&amp; dom.hasAttribute('disabled')) {
                  includeDom = false;
                  break;
                } else {
                  includeDom = true;
                }
              } else {
                if (filter.includes(':visible') &amp;&amp; dom.clientHeight &gt; 0) {
                  includeDom = true;
                } else if (filter.includes(':hidden') &amp;&amp; dom.clientHeight === 0) {
                  includeDom = true;
                } else if (filter.includes(':enabled') &amp;&amp; !dom.hasAttribute('disabled')) {
                  includeDom = true;
                } else if (filter.includes(':disabled') &amp;&amp; dom.hasAttribute('disabled')) {
                  includeDom = true;
                } else if (reset) {
                  includeDom = false;
                  break;
                }
              }
            } else {
              if (isNotFilter) {
                if (dom.tagName.toLowerCase() === filter.toLowerCase()) {
                  includeDom = false;
                  break;
                } else {
                  includeDom = true;
                }
              } else {
                if (dom.tagName.toLowerCase() === filter.toLowerCase()) {
                  includeDom = true;
                } else if (reset) {
                  includeDom = false;
                  break;
                }
              }
            }
            reset = true;
          }
        }
      } catch (err) {
        _iterator8.e(err);
      } finally {
        _iterator8.f();
      }
      if (includeDom) {
        plusObjDomArray.push(dom);
      }
    }
    return plusObjDomArray;
  },
  isSelectorValid: function isSelectorValid(selector) {
    var queryCheck = function queryCheck(s) {
      return document.createDocumentFragment().querySelector(s);
    };
    try {
      queryCheck(selector);
    } catch (_unused) {
      return false;
    }
    return true;
  },
  isItDataObject: function isItDataObject(obj) {
    if (obj &amp;&amp; typeof obj === 'string' &amp;&amp; (!!obj.match(/^{/g) || !!obj.match(/^\[/) || !!obj.match(/^true$|^false$/))) {
      if (!!obj.match(/^{\\/) || !!obj.match(/^\[\\/) || !!obj.match(/^\[/)) {
        obj = obj;
      } else {
        obj = JSON.parse(obj);
      }
    } else if (typeof obj === 'undefined') {
      obj = "";
    }
    return obj;
  },
  hyphenCheck: function hyphenCheck(dataName) {
    var dataNameArry = dataName.split('-');
    if (dataNameArry.length &gt; 1) {
      var temp = [],
        updatedName = '';
      dataNameArry.forEach(function (name, i) {
        updatedName = '';
        updatedName = i &gt; 0 ? name.charAt(0).toUpperCase() + name.substring(1) : name;
        temp.push(updatedName);
      });
      dataName = temp.join('');
    }
    return dataName;
  },
  escapeClassnameQueryCSS: function escapeClassnameQueryCSS(selector) {
    var escapeSingleQuery = function escapeSingleQuery(selector) {
      var newSelector = selector.split('.');
      // check whether className is located at 0th index or 1st index based on first char of selector
      var i = selector.charAt(0) === '.' ? 0 : 1;
      for (i; i &lt; newSelector.length; i++) {
        // if first char of classname is not alphabetic
        if (newSelector[i].length &amp;&amp; !newSelector[i].charAt(0).match(/[a-zA-Z]/)) {
          // escape non-alphabetic first char to its hexidecimal unicode equivalent
          newSelector[i] = "\\".concat(newSelector[i].charCodeAt(0).toString(16), " ").concat(newSelector[i].slice(1));
        }
      }
      newSelector = newSelector.join('.');
      // test if valid selector otherwise fallback to using CSS.escape or contains backslash
      if (!libUtils.isSelectorValid(newSelector)) {
        newSelector = "".concat(selector.charAt(0)).concat(CSS.escape(selector.replace(/\\/g, '').slice(1)));
      }
      return newSelector;
    };
    return selector.split(',').map(function (s) {
      return escapeSingleQuery(s);
    }).join(',');
  },
  resolveRemovedElementReferences: function resolveRemovedElementReferences(removedEl, addedEl, self) {
    var _iterator9 = _createForOfIteratorHelper(self.constructor._plusInstances),
      _step9;
    try {
      for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
        var plusObj = _step9.value;
        // skip plusObj of (self) to avoid chaining complications
        if (plusObj === self) {
          continue;
        }
        if (typeof plusObj._domElem.indexOf !== 'function') {
          plusObj._domElem = [].slice.call(plusObj._domElem); // convert to array
        }
        var removedElIdx = plusObj._domElem.indexOf(removedEl);
        if (removedElIdx !== -1) {
          if (addedEl) {
            plusObj._domElem[removedElIdx] = addedEl;
          } else {
            plusObj._domElem.splice(removedElIdx, 1);
            plusObj.length -= 1;
          }
        }
      }
    } catch (err) {
      _iterator9.e(err);
    } finally {
      _iterator9.f();
    }
  },
  removeElement: function removeElement(el, self) {
    el.remove();
    // libUtils.resolveRemovedElementReferences(el, false, self); // revised, not needed for now
  },
  insertElementAndRemoveOriginal: function insertElementAndRemoveOriginal(container, position, el, self) {
    var newDom = container.insertAdjacentHTML(position, el.outerHTML);
    el.remove();
    libUtils.resolveRemovedElementReferences(el, newDom, self);
  }
};

;// CONCATENATED MODULE: ./source/etc/clientlibs/kpmgpublic/global/js/plus/effects.js




function effects_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r &amp;&amp; (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function effects_objectSpread(e) { for (var r = 1; r &lt; arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? effects_ownKeys(Object(t), !0).forEach(function (r) { (0,defineProperty/* default */.A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : effects_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }

var Effects = /*#__PURE__*/function () {
  function Effects() {
    (0,classCallCheck/* default */.A)(this, Effects);
  }
  return (0,createClass/* default */.A)(Effects, [{
    key: "hide",
    value: function hide() {
      var _this = this;
      var container = this._domElem;
      this._domElem = [];
      container.forEach(function (dom) {
        delete dom.customShow; // fix flickering bug
        dom.customHide = [];
        dom.customHide.push('none');
        _this._domElem.push(dom);
      });
      // if invoked without parameters, matched elements will be hidden immediately, with no animation.
      if (arguments.length === 0) this.css('display', 'none');else this.fadeOut.apply(this, arguments);
      return this;
    }
  }, {
    key: "show",
    value: function show() {
      var _this2 = this;
      var container = this._domElem;
      this._domElem = [];
      container.forEach(function (dom) {
        delete dom.customHide; // fix flickering bug
        dom.customShow = [];
        dom.customShow.push('block');
        _this2._domElem.push(dom);
      });
      if (arguments.length === 0) {
        container.forEach(function (dom) {
          if (dom.style.display === "none") {
            dom.style.display = "";
          }
          if (window.getComputedStyle(dom).display === 'none') {
            dom.style.display = "block";
          }
        });
      } else this.fadeIn.apply(this, arguments);
      return this;
    }
  }, {
    key: "toggle",
    value: function toggle() {
      var _this3 = this;
      var container = this._domElem;
      var isVisible = false;
      this._domElem = [];
      container.forEach(function (dom) {
        if (window.getComputedStyle(dom).display === 'none') {
          dom.customShow = [];
          dom.customShow.push('block');
        } else {
          isVisible = true;
          dom.customHide = [];
          dom.customHide.push('none');
        }
        _this3._domElem.push(dom);
      });
      if (isVisible) this.fadeOut.apply(this, arguments);else this.fadeIn.apply(this, arguments);
    }
  }, {
    key: "fadeIn",
    value: function fadeIn() {
      var _this4 = this;
      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key &lt; _len; _key++) {
        args[_key] = arguments[_key];
      }
      var container = this._domElem,
        style = {};
      this._domElem = [];
      container.forEach(function (dom) {
        dom.style.opacity = window.getComputedStyle(dom).opacity || 0;
        dom.style.display = window.getComputedStyle(dom).display || "block";
        _this4._domElem.push(dom);
      });
      style.opacity = 1;
      args.unshift(style);
      var delayTime = libUtils.getDelayedTime(this);
      if (delayTime &gt; 0) {
        setTimeout(function () {
          _this4.executeAnimate.apply(_this4, [_this4._domElem].concat(args));
        }, delayTime);
      } else this.executeAnimate.apply(this, [this._domElem].concat(args));
    }
  }, {
    key: "fadeOut",
    value: function fadeOut() {
      var _this5 = this;
      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 &lt; _len2; _key2++) {
        args[_key2] = arguments[_key2];
      }
      var container = this._domElem,
        style = {};
      this._domElem = [];
      container.forEach(function (dom) {
        dom.style.opacity = window.getComputedStyle(dom).opacity || 1;
        _this5._domElem.push(dom);
      });
      style.opacity = 0;
      args.unshift(style);
      var delayTime = libUtils.getDelayedTime(this);
      if (delayTime &gt; 0) {
        setTimeout(function () {
          _this5.executeAnimate.apply(_this5, [_this5._domElem].concat(args));
        }, delayTime);
      } else this.executeAnimate.apply(this, [this._domElem].concat(args));
    }
  }, {
    key: "fadeToggle",
    value: function fadeToggle() {
      var _this6 = this;
      for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 &lt; _len3; _key3++) {
        args[_key3] = arguments[_key3];
      }
      var container = this._domElem,
        style = {};
      var domOpacity;
      this._domElem = [];
      container.forEach(function (dom) {
        dom.style.opacity = window.getComputedStyle(dom).opacity || 1;
        domOpacity = dom.style.opacity ? dom.style.opacity : 1;
        _this6._domElem.push(dom);
      });
      if (domOpacity &lt; 1) style.opacity = 1;else style.opacity = 0;
      args.unshift(style);
      var delayTime = libUtils.getDelayedTime(this);
      if (delayTime &gt; 0) {
        setTimeout(function () {
          _this6.executeAnimate.apply(_this6, [_this6._domElem].concat(args));
        }, delayTime);
      } else this.executeAnimate.apply(this, [this._domElem].concat(args));
    }
  }, {
    key: "fadeTo",
    value: function fadeTo() {
      var _this7 = this;
      for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 &lt; _len4; _key4++) {
        args[_key4] = arguments[_key4];
      }
      var container = this._domElem,
        style = {};
      this._domElem = [];
      container.forEach(function (dom) {
        dom.style.opacity = window.getComputedStyle(dom).opacity || 0;
        _this7._domElem.push(dom);
      });
      if (args[1] &amp;&amp; !isNaN(parseFloat(args[1]))) {
        style.opacity = parseFloat(args[1]);
        args.splice(1, 1);
        args.unshift(style);
        var delayTime = libUtils.getDelayedTime(this);
        if (delayTime &gt; 0) {
          setTimeout(function () {
            _this7.executeAnimate.apply(_this7, [_this7._domElem].concat(args));
          }, delayTime);
        } else this.executeAnimate.apply(this, [this._domElem].concat(args));
      } else return false;
    }
  }, {
    key: "slideUp",
    value: function slideUp() {
      var _this8 = this;
      for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 &lt; _len5; _key5++) {
        args[_key5] = arguments[_key5];
      }
      var container = this._domElem,
        style = {};
      var targetDom = [],
        utility = libUtils;
      this.finish();
      container.forEach(function (dom) {
        delete dom.slideDown;
        delete dom.customShow;
        dom.customHide = [];
        dom.customHide.push('none');
        if (dom.clientHeight &gt; 0) {
          //customSlide object - these are the values - to slide to
          dom.customSlide = {};
          dom.customSlide['opacity'] = '0';
          dom.customSlide['height'] = '0px';
          dom.customSlide['margin-top'] = utility.getStyle(dom, 'margin-top') || '0px';
          dom.customSlide['margin-bottom'] = utility.getStyle(dom, 'margin-bottom') || '0px';
          dom.customSlide['padding-top'] = utility.getStyle(dom, 'padding-top') || '0px';
          dom.customSlide['padding-bottom'] = utility.getStyle(dom, 'padding-bottom') || '0px';

          /**Keep the originals slide values for toggle feature */
          if (!dom.customSlideOriginal) {
            dom.customSlideOriginal = {};
          }
          dom.customSlideOriginal['opacity'] = '1';
          dom.customSlideOriginal['height'] = utility.getStyle(dom, 'height') || '0px';
          dom.customSlideOriginal['margin-top'] = utility.getStyle(dom, 'margin-top') || '0px';
          dom.customSlideOriginal['margin-bottom'] = utility.getStyle(dom, 'margin-bottom') || '0px';
          dom.customSlideOriginal['padding-top'] = utility.getStyle(dom, 'padding-top') || '0px';
          dom.customSlideOriginal['padding-bottom'] = utility.getStyle(dom, 'padding-bottom') || '0px';
          //set the current dom with original values - to slide from
          dom.style['opacity'] = dom.customSlideOriginal['opacity'];
          dom.style['height'] = dom.customSlideOriginal['height'];
          dom.style['margin-top'] = dom.customSlideOriginal['margin-top'];
          dom.style['margin-bottom'] = dom.customSlideOriginal['margin-bottom'];
          dom.style['padding-top'] = dom.customSlideOriginal['padding-top'];
          dom.style['padding-bottom'] = dom.customSlideOriginal['padding-bottom'];
          //
          targetDom.push(dom);
        }
      });
      style.slide = true;
      args.unshift(style);
      var delayTime = libUtils.getDelayedTime(this);
      if (targetDom.length &gt; 0 &amp;&amp; delayTime &gt; 0) {
        setTimeout(function () {
          _this8.executeAnimate.apply(_this8, [container].concat(args));
        }, delayTime);
      } else if (targetDom.length &gt; 0) {
        setTimeout(function () {
          _this8.executeAnimate.apply(_this8, [container].concat(args));
        }, 50);
      }
      return this;
    }
  }, {
    key: "slideDown",
    value: function slideDown() {
      var _this9 = this;
      for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 &lt; _len6; _key6++) {
        args[_key6] = arguments[_key6];
      }
      var container = this._domElem,
        style = {};
      var targetDom = [],
        utility = libUtils;
      this.finish();
      container.forEach(function (dom) {
        delete dom.customHide; // fix for unintended hiding after show
        dom.slideDown = true;
        dom.customShow = [];
        dom.customShow.push('block');
        if (dom.clientHeight === 0) {
          dom.customSlide = {};
          if (dom.customSlideOriginal) {
            //these values are - to slide to
            dom.customSlide = effects_objectSpread({}, dom.customSlideOriginal);
          } else {
            //if originals are not available, create originals from css dom
            dom.customSlideOriginal = {};
            dom.customSlideOriginal['opacity'] = "1";
            dom.customSlideOriginal['height'] = utility.getStyle(dom, 'height') || 0;
            dom.customSlideOriginal['margin-top'] = utility.getStyle(dom, 'margin-top') || 0;
            dom.customSlideOriginal['margin-bottom'] = utility.getStyle(dom, 'margin-bottom') || 0;
            dom.customSlideOriginal['padding-top'] = utility.getStyle(dom, 'padding-top') || 0;
            dom.customSlideOriginal['padding-bottom'] = utility.getStyle(dom, 'padding-bottom') || 0;
            //then assign values - to slide to
            dom.customSlide = effects_objectSpread({}, dom.customSlideOriginal);
          }
          //set dom with values - to slide from
          dom.style['opacity'] = '0';
          dom.style['height'] = '0px';
          dom.style['margin-top'] = '0px';
          dom.style['margin-bottom'] = '0px';
          dom.style['padding-top'] = '0px';
          dom.style['padding-bottom'] = '0px';
          targetDom.push(dom);
        }
      });
      style.slide = true;
      args.unshift(style);
      var delayTime = libUtils.getDelayedTime(this);
      if (targetDom.length &gt; 0 &amp;&amp; delayTime &gt; 0) {
        setTimeout(function () {
          _this9.executeAnimate.apply(_this9, [container].concat(args));
        }, delayTime);
      } else if (targetDom.length &gt; 0) {
        setTimeout(function () {
          _this9.executeAnimate.apply(_this9, [container].concat(args));
        }, 50);
      }
      return this;
    }
  }, {
    key: "slideToggle",
    value: function slideToggle() {
      var container = this._domElem;
      var notVisible = false;
      container.forEach(function (dom) {
        if (dom.clientHeight === 0) notVisible = true;
      });
      if (notVisible) this.slideDown.apply(this, arguments);else this.slideUp.apply(this, arguments);
    }
  }, {
    key: "stop",
    value: function stop() {
      var container = this._domElem;
      container.forEach(function (dom) {
        if (window.getComputedStyle(dom).transition !== "") dom.style.transition = "";
      });
      return this;
    }
  }, {
    key: "finish",
    value: function finish() {
      var _this10 = this;
      var container = this._domElem;
      this._domElem = [];
      container.forEach(function (dom) {
        dom.style.transition = "";
        _this10._domElem.push(dom);
      });
      return this;
    }
  }, {
    key: "delay",
    value: function delay(speed) {
      if (typeof speed === 'string') {
        if (speed.toLowerCase() === 'slow') speed = 600;else if (speed.toLowerCase() === 'fast') speed = 200;
      } else if (speed === undefined) speed = 400;
      this._domElem.delayTime = speed;
      return this;
    }
  }, {
    key: "animate",
    value: function animate() {
      var delayTime = libUtils.getDelayedTime(this);
      for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 &lt; _len7; _key7++) {
        args[_key7] = arguments[_key7];
      }
      if (delayTime &gt; 0) setTimeout.apply(void 0, [this.executeAnimate, delayTime, this._domElem].concat(args));else this.executeAnimate.apply(this, [this._domElem].concat(args));
    }
  }, {
    key: "executeAnimate",
    value: function executeAnimate(domElem) {
      for (var _len8 = arguments.length, args = new Array(_len8 &gt; 1 ? _len8 - 1 : 0), _key8 = 1; _key8 &lt; _len8; _key8++) {
        args[_key8 - 1] = arguments[_key8];
      }
      var styles = args[0],
        options = {},
        speed = 400,
        easing = 'ease',
        callback,
        complete,
        start,
        failed;
      var container = domElem;
      //{styles},{options} - options have functions also.
      //TODO: need to add update options with functions :- step, progress, queue, specialEasing
      if ((0,esm_typeof/* default */.A)(args[1]) === 'object') {
        options = args[1];
        for (var option in options) {
          if (option === 'duration') {
            if (typeof options[option] === 'string') {
              if (options[option].toLowerCase() === 'slow') speed = 600;else if (options[option].toLowerCase() === 'fast') speed = 200;
            } else speed = options[option];
          } else if (option === 'easing') easing = options[option].toLowerCase().indexOf('swing') &gt; -1 ? 'ease' : options[option].toLowerCase();else if (option === 'complete' || option === 'done') complete = options[option];else if (option === 'start') start = options[option];else if (option === 'fail' || option === 'always') failed = options[option];
        }
        container.forEach(function (dom) {
          if (start) libUtils.setTransitionStart(dom, start);
          if (complete) libUtils.setTransitionEnd(dom, complete);
          if (failed) libUtils.setTransitionCancel(dom, failed);
          if (dom.customAnimateDelay) {
            dom.customAnimateDelay.push(speed);
            var delayTime = dom.customAnimateDelay.reduce(function (total, currentVal) {
              return total + currentVal;
            });
            setTimeout(function () {
              libUtils.setTransition(dom, styles, speed, easing);
            }, delayTime);
          } else {
            dom.customAnimateDelay = [];
            dom.customAnimateDelay.push(speed);
            libUtils.setTransition(dom, styles, speed, easing);
          }
        });
      } else {
        //{styles},speed,easing,callback

        args.forEach(function (arg) {
          if (arg &amp;&amp; (0,esm_typeof/* default */.A)(arg) === 'object') {
            styles = arg;
          } else if (arg &amp;&amp; typeof arg === 'string') {
            if (arg.toLowerCase() === 'slow') {
              speed = 600;
            } else if (arg.toLowerCase() === 'fast') {
              speed = 200;
            } else {
              easing = arg.toLowerCase().indexOf('swing') &gt; -1 ? 'ease' : arg.toLowerCase();
            }
          } else if (!isNaN(arg)) {
            speed = parseInt(arg);
          } else if (typeof arg === 'function') {
            callback = arg;
          }
        });
        container.forEach(function (dom) {
          if (dom.customShow &amp;&amp; dom.customShow.length &gt; 0) libUtils.setTransitionStart(dom);
          if (dom.customAnimateDelay) {
            dom.customAnimateDelay.push(speed);
            var delayTime = dom.customAnimateDelay.reduce(function (total, currentVal) {
              return total + currentVal;
            });
            setTimeout(function () {
              libUtils.setTransition(dom, styles, speed, easing, callback);
            }, delayTime);
          } else {
            dom.customAnimateDelay = [];
            dom.customAnimateDelay.push(speed);
            libUtils.setTransition(dom, styles, speed, easing, callback);
          }
          if (!styles.hasOwnProperty('scrollTop') &amp;&amp; !styles.hasOwnProperty('scrollLeft')) libUtils.setTransitionEnd(dom, callback);
        });
      }
    }
  }]);
}();

;// CONCATENATED MODULE: ./source/etc/clientlibs/kpmgpublic/global/js/plus/events.js





var Events = /*#__PURE__*/function () {
  function Events() {
    (0,classCallCheck/* default */.A)(this, Events);
  }
  return (0,createClass/* default */.A)(Events, [{
    key: "ready",
    value: function ready(callback) {
      if (document.readyState != "loading") callback();else document.addEventListener("DOMContentLoaded", callback);
    }
  }, {
    key: "click",
    value: function click(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "click", callback);else this.trigger("click");
      return this;
    }
  }, {
    key: "dblclick",
    value: function dblclick(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "dblclick", callback);else this.trigger("dblclick");
      return this;
    }
  }, {
    key: "mouseenter",
    value: function mouseenter(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "mouseenter", callback);else this.trigger("mouseenter");
      return this;
    }
  }, {
    key: "mouseleave",
    value: function mouseleave(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "mouseleave", callback);else this.trigger("mouseleave");
      return this;
    }
  }, {
    key: "mousedown",
    value: function mousedown(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "mousedown", callback);else this.trigger("mousedown");
      return this;
    }
  }, {
    key: "mouseup",
    value: function mouseup(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "mouseup", callback);else this.trigger("mouseup");
      return this;
    }
  }, {
    key: "mousemove",
    value: function mousemove(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "mousemove", callback);else this.trigger("mousemove");
      return this;
    }
  }, {
    key: "mouseover",
    value: function mouseover(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "mouseover", callback);else this.trigger("mouseover");
      return this;
    }
  }, {
    key: "mouseout",
    value: function mouseout(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "mouseout", callback);else this.trigger("mouseout");
      return this;
    }
  }, {
    key: "hover",
    value: function hover(callback1, callback2) {
      var _this = this;
      var container = this._domElem;
      container.forEach(function (dom) {
        _this.init(dom);
        dom.addEventListener("mouseenter", callback1);
        if (callback2) dom.addEventListener("mouseleave", callback2);
      });
      return this;
    }
  }, {
    key: "focus",
    value: function focus(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "focus", callback);else {
        var container = this._domElem;
        container.forEach(function (dom) {
          dom.focus();
        });
      }
      return this;
    }
  }, {
    key: "focusin",
    value: function focusin(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "focusin", callback);else this.trigger("focusin");
      return this;
    }
  }, {
    key: "focusout",
    value: function focusout(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "focusout", callback);else this.trigger("focusout");
      return this;
    }
  }, {
    key: "blur",
    value: function blur(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "blur", callback);else this.trigger("blur");
      return this;
    }
  }, {
    key: "change",
    value: function change(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "change", callback);else this.trigger("change");
      return this;
    }
  }, {
    key: "keydown",
    value: function keydown(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "keydown", callback);else this.trigger("keydown");
      return this;
    }
  }, {
    key: "keypress",
    value: function keypress(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "keypress", callback);else this.trigger("keypress");
      return this;
    }
  }, {
    key: "keyup",
    value: function keyup(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "keyup", callback);else this.trigger("keyup");
      return this;
    }
  }, {
    key: "load",
    value: function load(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "load", callback);else this.trigger("load");
      return this;
    }
  }, {
    key: "resize",
    value: function resize(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "resize", callback);else this._domElem[0].dispatchEvent(new Event('resize'));
      return this;
    }
  }, {
    key: "scroll",
    value: function scroll(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "scroll", callback);else this.trigger("scroll");
      return this;
    }
  }, {
    key: "select",
    value: function select(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "select", callback);else this.trigger("select");
      return this;
    }
  }, {
    key: "submit",
    value: function submit(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "submit", callback);else this.trigger("submit");
      return this;
    }
  }, {
    key: "trigger",
    value: function trigger(eventName, data) {
      this._domElem.forEach(function (dom) {
        // accessibility fix for checkboxes and clicks where checkbox only checks when the native .click() method is called
        if (eventName === 'click' &amp;&amp; (dom.matches('[type="checkbox"]') || dom.tagName.toLowerCase() === "label")) {
          dom.click();
        }
        if (data) dom.dispatchEvent(new CustomEvent(eventName, {
          detail: data
        }));else dom.dispatchEvent(new Event(eventName, {
          bubbles: true
        }));
      });
      return this;
    }
  }, {
    key: "on",
    value: function on() {
      var _this2 = this;
      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key &lt; _len; _key++) {
        args[_key] = arguments[_key];
      }
      var argsLen = args.length;
      var events, callback;
      //on function has 2 arguments; First arg has sngle or multiple events binded, and second arg has a function
      if (argsLen === 2) {
        events = args[0].split(' ');
        callback = args[1];
        if (typeof callback === 'function') {
          libUtils.handleMultiAddEvents(this, events, this._domElem, callback);
        } else return false;
        //on function has 3 arguments; (events, data/selector, function)
      } else if (argsLen === 3) {
        events = args[0].split(' ');
        callback = args[2];
        //if the second argument is a data object, attach the data to the event
        if ((0,esm_typeof/* default */.A)(args[1]) === 'object' &amp;&amp; typeof callback === 'function') {
          events.forEach(function (event) {
            var eventName = event &amp;&amp; event !== "template.loaded" &amp;&amp; event.indexOf(".bs.") === -1 ? event.split('.')[0] : event;
            if (eventName) {
              _this2._domElem.forEach(function (dom) {
                var executeThis = function executeThis(e) {
                  e.data = args[1];
                  _this2.init(dom);
                  callback.call(dom, e);
                };
                dom.addEventListener(eventName, executeThis);
                if (!dom.namespace) {
                  dom.namespace = {};
                }
                if (dom.namespace[event]) {
                  dom.namespace[event].push(executeThis);
                } else {
                  dom.namespace[event] = [executeThis];
                }
              });
            }
          });
          //if second argument is a selector string
        } else if (typeof args[1] === 'string' &amp;&amp; typeof callback === 'function') {
          var container = this._domElem,
            selector = args[1];
          libUtils.handleMultiAddDelegateEvents(this, events, container, selector, callback);
        } else return false;
        //on function has 4 arguments; (events, selector, data, handler)
      } else if (argsLen === 4) {
        events = args[0].split(' ');
        callback = args[3];
        if (typeof args[1] === 'string' &amp;&amp; typeof callback === 'function') {
          var _container = this._domElem,
            _selector = args[1],
            data = args[2];
          libUtils.handleMultiAddDelegateEvents(this, events, _container, _selector, callback, data);
        } else return false;
        //on function has only 1 argument; and the argument is a map of events
      } else if (argsLen === 1 &amp;&amp; (0,esm_typeof/* default */.A)(args[0]) === 'object') {
        var eventList = args[0];
        for (var event in eventList) {
          if (typeof eventList[event] === 'function') {
            libUtils.addEvent(this, this._domElem, event, eventList[event]);
          }
        }
      }
      return this;
    }
  }, {
    key: "off",
    value: function off() {
      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 &lt; _len2; _key2++) {
        args[_key2] = arguments[_key2];
      }
      var argsLen = args.length,
        events,
        callback;
      events = args.length ? args[0].split(' ') : '';
      //off function with NO argument
      if (argsLen === 0) {
        libUtils.handleMultiRemoveEvents(null, this._domElem);
        //off function with one argument - only event
      } else if (argsLen === 1) {
        libUtils.handleMultiRemoveEvents(events, this._domElem);
        //off function with two arguments (event,selector)
      } else if (argsLen === 2 &amp;&amp; typeof args[1] === 'string') {
        var selector = args[1];
        events = args[0].split(' ');
        libUtils.handleMultiRemoveDelegateEvents(events, this._domElem, selector);
        //off function with two arguments (event,function)
      } else if (argsLen === 2 &amp;&amp; typeof args[1] === 'function') {
        callback = args[1];
        events = args[0].split(' ');
        libUtils.handleMultiRemoveEvents(events, this._domElem, callback);
        //off function with three arguments (event,selector,function)
      } else if (argsLen === 3 &amp;&amp; typeof args[1] === 'string' &amp;&amp; typeof args[2] === 'function') {
        var _libUtils$getChildNod, _libUtils$getChildNod2;
        var container = this._domElem,
          _callback = args[2],
          _selector2 = args[1],
          _events = args[0].split(' ');
        this._domElem = (_libUtils$getChildNod = libUtils.getChildNodes(container, _selector2), _libUtils$getChildNod2 = (0,slicedToArray/* default */.A)(_libUtils$getChildNod, 0), _libUtils$getChildNod);
        libUtils.handleMultiRemoveEvents(_events, this._domElem, _callback);
      }
      return this;
    }
  }, {
    key: "one",
    value: function one() {
      var _this3 = this;
      for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 &lt; _len3; _key3++) {
        args[_key3] = arguments[_key3];
      }
      var argsLen = args.length;
      var events,
        callback,
        onlyOnce = true;
      //one function has 2 arguments; First arg has sngle or multiple events binded, and second arg has a function
      if (argsLen === 2) {
        events = args[0].split(' ');
        callback = args[1];
        if (typeof callback === 'function') {
          libUtils.handleMultiAddEvents(this, events, this._domElem, callback, onlyOnce);
        } else return false;
        //on function has 3 arguments; (events, data/selector, function)
      } else if (argsLen === 3) {
        events = args[0].split(' ');
        callback = args[2];
        //if the second argument is a data object, attach the data to the event
        if ((0,esm_typeof/* default */.A)(args[1]) === 'object' &amp;&amp; typeof callback === 'function') {
          events.forEach(function (event) {
            if (event) {
              _this3._domElem.forEach(function (dom) {
                dom.addEventListener(event, function (e) {
                  e.data = args[1];
                  var callFunction = true;
                  if (onlyOnce) {
                    var custAttr = 'custom' + event;
                    if (dom[custAttr]) {
                      dom[custAttr].eventLen = dom[custAttr].eventLen + 1;
                    } else {
                      dom[custAttr] = {};
                      dom[custAttr].eventLen = 1;
                      dom[custAttr].fun = callback;
                    }
                    if (dom[custAttr].eventLen &gt; 1) {
                      callFunction = false;
                      dom.removeEventListener(event, callback);
                    }
                  }
                  if (callFunction) {
                    _this3.init(dom);
                    callback(e);
                  }
                });
              });
            }
          });
          //if second argument is a selector string
        } else if (typeof args[1] === 'string' &amp;&amp; typeof callback === 'function') {
          var _libUtils$getChildNod3, _libUtils$getChildNod4;
          var container = this._domElem,
            selector = args[1];
          this._domElem = (_libUtils$getChildNod3 = libUtils.getChildNodes(container, selector), _libUtils$getChildNod4 = (0,slicedToArray/* default */.A)(_libUtils$getChildNod3, 0), _libUtils$getChildNod3);
          libUtils.handleMultiAddEvents(this, events, this._domElem, callback, onlyOnce);
        } else return false;
        //on function has only 1 argument; and the argument is a map of events
      }
    }
  }]);
}();

;// CONCATENATED MODULE: ./source/etc/clientlibs/kpmgpublic/global/js/plus/selectors.js





function selectors_createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol &amp;&amp; r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = selectors_unsupportedIterableToArray(r)) || e &amp;&amp; r &amp;&amp; "number" == typeof r.length) { t &amp;&amp; (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n &gt;= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
function selectors_unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return selectors_arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t &amp;&amp; r.constructor &amp;&amp; (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? selectors_arrayLikeToArray(r, a) : void 0; } }
function selectors_arrayLikeToArray(r, a) { (null == a || a &gt; r.length) &amp;&amp; (a = r.length); for (var e = 0, n = Array(a); e &lt; a; e++) n[e] = r[e]; return n; }


var Selectors = /*#__PURE__*/function () {
  function Selectors() {
    (0,classCallCheck/* default */.A)(this, Selectors);
  }

  //For internal use
  return (0,createClass/* default */.A)(Selectors, [{
    key: "init",
    value: function init(selector, context) {
      var _this = this;
      //declaration of init variables
      var regClass = /\./g,
        regId = /\#/g,
        isAttrSelector = /\=\"|\=\'+/g,
        isNotEqlSelector = /\!=+/g,
        isSnglQuote = /\'/g,
        isDblQuote = /\"/g,
        isColon = /\:/;
      var match,
        elem,
        domElem,
        domElemLength = 0,
        itsClass = false,
        itsId = false,
        itsHtmlTag = false;

      //Handle (""), (null), (undefined), (false)
      if (!selector) {
        return this;
      }
      if (selector === document.defaultView &amp;&amp; this._domElem[0] &amp;&amp; this._domElem[0].nodeType === 1) return this;else {
        this.prevObj = this._domElem || libUtils.options.winDoc;
        this._domElem = [];
      }
      if (context &amp;&amp; context.constructor &amp;&amp; context.constructor.name !== "Plus") {
        // take advantage of context handlers below where context is a plus object
        context = library(context);
      }
      if (typeof selector === "string") {
        if (selector[0] === "&lt;" &amp;&amp; selector[selector.length - 1] === "&gt;" &amp;&amp; selector.length &gt;= 3) {
          match = [null, selector, null];
        }
        if (typeof context === "string") {
          context = "";
        }
        // string which is containing newline and carriage return character will be mostly html templates
        if (/\r|\n/.test(selector)) {
          var parser = new DOMParser();
          var doc4 = parser.parseFromString(selector, "text/html");
          var _iterator = selectors_createForOfIteratorHelper(doc4.body.children),
            _step;
          try {
            for (_iterator.s(); !(_step = _iterator.n()).done;) {
              var item = _step.value;
              item.isAhtmlString = true;
              this._domElem.push(item);
            }
          } catch (err) {
            _iterator.e(err);
          } finally {
            _iterator.f();
          }
          this.length = this._domElem.length;
          return this;
        }

        // Match html or make sure no context is specified for #id
        if (match &amp;&amp; (match[1] || !context)) {
          if (match[1]) {
            var _parser = new DOMParser();
            var htmlString = match[1];
            var doc3 = _parser.parseFromString(htmlString, "text/html");
            var _iterator2 = selectors_createForOfIteratorHelper(doc3.body.children),
              _step2;
            try {
              for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
                var _item = _step2.value;
                _item.isAhtmlString = true;
                this._domElem.push(_item);
              }
            } catch (err) {
              _iterator2.e(err);
            } finally {
              _iterator2.f();
            }
            this.length = this._domElem.length;
            return this;
            // HANDLE: (#id)
          } else {
            elem = document.getElementById(match[2]);
            if (elem) {
              // Inject the element directly into the object
              this[0] = elem;
              this.length = 1;
            }
            return this;
          }
        } else if (isAttrSelector.test(selector) &amp;&amp; isNotEqlSelector.test(selector)) {
          //Attribute selector - not equal selector ex: "a[hreflang!='en']"
          var newSelector = libUtils.escapeClassnameQueryCSS(selector.split('!=')[0] + ']');
          var attrVal = selector.split('!=')[1].split(']')[0];
          attrVal = isSnglQuote.test(attrVal) ? attrVal.replace(isSnglQuote, "") : isDblQuote.test(attrVal) ? attrVal.replace(isDblQuote, "") : attrVal;
          attrVal = attrVal.trim();
          if (context &amp;&amp; context.length) {
            domElem = [];
            var _iterator3 = selectors_createForOfIteratorHelper(context.domElem),
              _step3;
            try {
              for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
                var _domElem;
                var el = _step3.value;
                (_domElem = domElem).push.apply(_domElem, (0,toConsumableArray/* default */.A)(el.querySelectorAll(newSelector)));
              }
            } catch (err) {
              _iterator3.e(err);
            } finally {
              _iterator3.f();
            }
            domElem = (0,toConsumableArray/* default */.A)(new Set(domElem)); // prevent duplicates
          } else {
            domElem = document.querySelectorAll(newSelector);
          }
          domElem.forEach(function (dom) {
            if (dom.name !== attrVal) _this._domElem.push(dom);
          });
          this.length = this._domElem.length;
          return this;
        } else if (isColon.test(selector)) {
          if (selector.indexOf('button') &gt; -1) {
            selector = "button, input[type='button']";
          } else if (selector.indexOf('input') &gt; -1) {
            selector = "button, input, select, textarea";
          } else if (selector.indexOf('checkbox') &gt; -1) {
            selector = "[type='checkbox']";
          } else if (selector.indexOf(':first-child') &gt; -1) {
            selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
            if (context &amp;&amp; context.length) {
              domElem = [];
              var _iterator4 = selectors_createForOfIteratorHelper(context.domElem),
                _step4;
              try {
                for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
                  var _domElem2;
                  var _el = _step4.value;
                  (_domElem2 = domElem).push.apply(_domElem2, (0,toConsumableArray/* default */.A)(_el.querySelectorAll(selector)));
                }
              } catch (err) {
                _iterator4.e(err);
              } finally {
                _iterator4.f();
              }
              domElem = (0,toConsumableArray/* default */.A)(new Set(domElem)); // prevent duplicates
            } else {
              domElem = document.querySelectorAll(selector);
            }
            if (domElem.length === 0) {
              this.length = 0;
            } else {
              this._domElem.push(domElem[0]);
              this.length = this._domElem.length;
            }
            return this;
          } else if (selector.indexOf(':last-child') &gt; -1) {
            selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
            if (context &amp;&amp; context.length) {
              domElem = [];
              var _iterator5 = selectors_createForOfIteratorHelper(context.domElem),
                _step5;
              try {
                for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
                  var _domElem3;
                  var _el2 = _step5.value;
                  (_domElem3 = domElem).push.apply(_domElem3, (0,toConsumableArray/* default */.A)(_el2.querySelectorAll(selector)));
                }
              } catch (err) {
                _iterator5.e(err);
              } finally {
                _iterator5.f();
              }
              domElem = (0,toConsumableArray/* default */.A)(new Set(domElem)); // prevent duplicates
            } else {
              domElem = document.querySelectorAll(selector);
            }
            domElemLength = domElem.length - 1;
            this._domElem.push(domElem[domElemLength]);
            this.length = this._domElem.length;
            return this;
          } else if (selector.indexOf(':nth-child') &gt; -1) {
            var _newSelector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]),
              selectorNum = selector.split(':')[1].split('(')[1].split(')')[0],
              incrementer = 0,
              startFrom = 0,
              nthChild = false,
              oddEvenFlg = false;
            if (/n\+/.test(selectorNum)) {
              incrementer = parseInt(selectorNum.split('n')[0]);
              startFrom = parseInt(selectorNum.split('+')[1]);
              nthChild = true;
            } else if (selectorNum === 'odd' || selectorNum === 'even') {
              oddEvenFlg = true;
            } else {
              selectorNum = parseInt(selectorNum) - 1;
            }
            if (context &amp;&amp; context.length) {
              domElem = [];
              var _iterator6 = selectors_createForOfIteratorHelper(context.domElem),
                _step6;
              try {
                for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
                  var _domElem4;
                  var _el3 = _step6.value;
                  (_domElem4 = domElem).push.apply(_domElem4, (0,toConsumableArray/* default */.A)(_el3.querySelectorAll(_newSelector)));
                }
              } catch (err) {
                _iterator6.e(err);
              } finally {
                _iterator6.f();
              }
              domElem = (0,toConsumableArray/* default */.A)(new Set(domElem)); // prevent duplicates
            } else {
              domElem = document.querySelectorAll(_newSelector);
            }
            domElemLength = domElem.length;
            if (typeof selectorNum === 'number' &amp;&amp; selectorNum &lt; domElemLength) {
              this._domElem.push(domElem[selectorNum]);
            } else if (typeof selectorNum === 'string' &amp;&amp; nthChild) {
              //if it has :nth-child(an+b)
              var counter = 0,
                startInjection = false;
              domElem.forEach(function (dom, index) {
                if (index === startFrom - 1 &amp;&amp; startFrom !== 0) {
                  _this._domElem.push(dom);
                  startInjection = true;
                } else if (startFrom === 0) {
                  startInjection = true;
                }
                if (startInjection) {
                  if (counter !== 0 &amp;&amp; counter % incrementer === 0) {
                    _this._domElem.push(dom);
                  }
                  counter++;
                }
              });
            } else if (oddEvenFlg) {
              //if it has :nth-child(odd) or it has :nth-child(even)
              domElem.forEach(function (dom, index) {
                if (index % 2 !== 0 &amp;&amp; selectorNum === 'even') {
                  _this._domElem.push(dom);
                } else if (index % 2 === 0 &amp;&amp; selectorNum === 'odd') {
                  _this._domElem.push(dom);
                }
              });
            }
            this.length = this._domElem.length;
            return this;
          } else if (selector.indexOf(':visible') &gt; -1 || selector.indexOf(':hidden') &gt; -1) {
            var visibility = selector.indexOf(':visible') &gt; -1 ? 'visible' : 'hidden';
            selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
            if (context &amp;&amp; context.length) {
              domElem = [];
              var _iterator7 = selectors_createForOfIteratorHelper(context.domElem),
                _step7;
              try {
                for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
                  var _domElem5;
                  var _el4 = _step7.value;
                  (_domElem5 = domElem).push.apply(_domElem5, (0,toConsumableArray/* default */.A)(_el4.querySelectorAll(selector)));
                }
              } catch (err) {
                _iterator7.e(err);
              } finally {
                _iterator7.f();
              }
              domElem = (0,toConsumableArray/* default */.A)(new Set(domElem)); // prevent duplicates
            } else {
              domElem = document.querySelectorAll(selector);
            }
            domElem.forEach(function (dom) {
              if (visibility === 'visible' &amp;&amp; dom.clientHeight &gt; 0) {
                _this._domElem.push(dom);
              } else if (visibility === 'hidden' &amp;&amp; dom.clientHeight === 0) {
                _this._domElem.push(dom);
              }
            });
            this.length = this._domElem.length;
            return this;
          } else if (selector.indexOf(':selected') &gt; -1) {
            selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
            if (!selector) selector = "option";
            if (context &amp;&amp; context.length) {
              domElem = [];
              var _iterator8 = selectors_createForOfIteratorHelper(context.domElem),
                _step8;
              try {
                for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
                  var _domElem6;
                  var _el5 = _step8.value;
                  (_domElem6 = domElem).push.apply(_domElem6, (0,toConsumableArray/* default */.A)(_el5.querySelectorAll(selector)));
                }
              } catch (err) {
                _iterator8.e(err);
              } finally {
                _iterator8.f();
              }
              domElem = (0,toConsumableArray/* default */.A)(new Set(domElem)); // prevent duplicates
            } else {
              domElem = document.querySelectorAll(selector);
            }
            domElem.forEach(function (dom) {
              if (dom.selected === true) {
                _this._domElem.push(dom);
              }
            });
            this.length = library._domElem.length;
            return this;
          } else if (selector.indexOf(':last') &gt; -1) {
            selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
            if (context &amp;&amp; context.length) {
              domElem = [];
              var _iterator9 = selectors_createForOfIteratorHelper(context.domElem),
                _step9;
              try {
                for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
                  var _domElem7;
                  var _el6 = _step9.value;
                  (_domElem7 = domElem).push.apply(_domElem7, (0,toConsumableArray/* default */.A)(_el6.querySelectorAll(selector)));
                }
              } catch (err) {
                _iterator9.e(err);
              } finally {
                _iterator9.f();
              }
              domElem = (0,toConsumableArray/* default */.A)(new Set(domElem)); // prevent duplicates
            } else {
              domElem = document.querySelectorAll(selector);
            }
            this._domElem.push(domElem[domElem.length - 1]);
            this.length = 1;
            return this;
          } else if (selector.indexOf(':not') &gt; -1) {
            var filter = selector.substring(selector.indexOf(':') + 1);
            selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
            // https://stackoverflow.com/questions/17779744/regular-expression-to-get-a-string-between-parentheses-in-javascript/17780281
            var regExp = /\(([^)]+)\)/;
            filter = regExp.exec(filter)[1];
            if (filter &amp;&amp; filter.charAt(filter.length - 1) !== "\"" &amp;&amp; filter.charAt(filter.length - 1) !== "'") {
              filter = "\"".concat(filter.replace(/\"/g, "'"), "\"");
            }
            filter = JSON.parse(filter);
            if (context &amp;&amp; context.length) {
              var _iterator10 = selectors_createForOfIteratorHelper(context.domElem),
                _step10;
              try {
                for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
                  var _this$_domElem;
                  var _el7 = _step10.value;
                  (_this$_domElem = this._domElem).push.apply(_this$_domElem, (0,toConsumableArray/* default */.A)(_el7.querySelectorAll(selector)));
                }
              } catch (err) {
                _iterator10.e(err);
              } finally {
                _iterator10.f();
              }
              this._domElem = (0,toConsumableArray/* default */.A)(new Set(this._domElem)); // prevent duplicates
            } else {
              this._domElem = document.querySelectorAll(selector);
            }
            this.length = this._domElem.length;
            return this.not(filter);
          }
          if (context &amp;&amp; context.length) {
            domElem = [];
            var _iterator11 = selectors_createForOfIteratorHelper(context.domElem),
              _step11;
            try {
              for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
                var _domElem8;
                var _el8 = _step11.value;
                (_domElem8 = domElem).push.apply(_domElem8, (0,toConsumableArray/* default */.A)(_el8.querySelectorAll(libUtils.escapeClassnameQueryCSS(selector))));
              }
            } catch (err) {
              _iterator11.e(err);
            } finally {
              _iterator11.f();
            }
            domElem = (0,toConsumableArray/* default */.A)(new Set(domElem)); // prevent duplicates
          } else {
            domElem = document.querySelectorAll(libUtils.escapeClassnameQueryCSS(selector));
          }
          domElem.forEach(function (dom) {
            return _this._domElem.push(dom);
          });
          this.length = this._domElem.length;
          return this;
        } else {
          itsClass = regClass.test(selector);
          itsId = regId.test(selector);
          if (!itsClass &amp;&amp; !itsId) itsHtmlTag = true;
          if (context &amp;&amp; context.length) {
            domElem = [];
            var _iterator12 = selectors_createForOfIteratorHelper(context.domElem),
              _step12;
            try {
              for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {
                var _el9 = _step12.value;
                //node like &lt;p&gt; or &lt;div&gt;. || A Document node.
                if (_el9.nodeType === 1 || _el9.nodeType === 9) {
                  var _domElem9;
                  (_domElem9 = domElem).push.apply(_domElem9, (0,toConsumableArray/* default */.A)(_el9.querySelectorAll(libUtils.escapeClassnameQueryCSS(selector))));
                }
              }
            } catch (err) {
              _iterator12.e(err);
            } finally {
              _iterator12.f();
            }
            domElem = (0,toConsumableArray/* default */.A)(new Set(domElem)); // prevent duplicates
          } else {
            domElem = document.querySelectorAll(libUtils.escapeClassnameQueryCSS(selector));
          }
          domElem.forEach(function (dom) {
            return _this._domElem.push(dom);
          });
          this.length = this._domElem.length;
          return this;
        }
      } else if ((0,esm_typeof/* default */.A)(selector) === 'object' &amp;&amp; selector === libUtils.options.winObj) {
        this[0] = selector;
        this._domElem.push(selector);
        this.length = 1;
        return this;
        //TODO: Need to assign the this._domElem with selector
      } else if ((0,esm_typeof/* default */.A)(selector) === 'object' &amp;&amp; selector.hasOwnProperty('_domElem')) {
        this._domElem = (0,toConsumableArray/* default */.A)(selector._domElem);
        this.length = this._domElem.length;
        return this;
      } else if (selector.nodeType) {
        if (selector.nodeType === 9) {
          this[0] = selector;
          this._domElem.push(selector);
          this.length = 1;
        } else {
          this._domElem.push(selector);
          this.length = this._domElem.length;
        }
        return this;

        // HANDLE: $(function)
        // Shortcut for document ready
      } else if (selector.constructor &amp;&amp; selector.constructor.name === "HTMLCollection") {
        var _iterator13 = selectors_createForOfIteratorHelper(selector),
          _step13;
        try {
          for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {
            var _el10 = _step13.value;
            this._domElem.push(_el10);
          }
        } catch (err) {
          _iterator13.e(err);
        } finally {
          _iterator13.f();
        }
        this.length = selector.length;
        return this;
      } else if (typeof selector === "function") {
        return this.ready(selector);
      }
      //libUtils.resetDom(this);
      return this;
    }
  }, {
    key: "find",
    value: function find(selector) {
      var _libUtils$getChildNod, _libUtils$getChildNod2;
      // Create a new empty shell plus instance
      var plusObj = library(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = (_libUtils$getChildNod = libUtils.getChildNodes(container, selector), _libUtils$getChildNod2 = (0,slicedToArray/* default */.A)(_libUtils$getChildNod, 0), _libUtils$getChildNod);
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "next",
    value: function next(filter) {
      var plusObj = library(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      var param = filter,
        itsId = false,
        itsClass = false,
        idValue = '',
        classArray = [],
        selectedVal = '';
      if (param) {
        itsId = libUtils.options.regxId.test(param);
        idValue = libUtils.getIdName(param);
        itsClass = libUtils.options.regxClass.test(param);
        classArray = libUtils.getClassName(param);
      }
      selectedVal = itsId ? idValue : itsClass ? classArray : "";
      container.forEach(function (dom) {
        var nextSiblingSelector = dom.nextElementSibling,
          selectedDom = '';
        if (param &amp;&amp; nextSiblingSelector) {
          plusObj._domElem = libUtils.getSelectionList(itsId, itsClass, selectedVal, param, nextSiblingSelector, plusObj._domElem);
        } else if (!param) {
          selectedDom = nextSiblingSelector;
        }
        if (selectedDom) {
          plusObj._domElem.push(selectedDom);
        }
      });
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "prev",
    value: function prev(filter) {
      var plusObj = library(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      var param = filter,
        itsId = false,
        itsClass = false,
        idValue = '',
        classArray = [],
        selectedVal = '';
      if (param) {
        itsId = libUtils.options.regxId.test(param);
        idValue = libUtils.getIdName(param);
        itsClass = libUtils.options.regxClass.test(param);
        classArray = libUtils.getClassName(param);
      }
      selectedVal = itsId ? idValue : itsClass ? classArray : "";
      container.forEach(function (dom) {
        var previousSiblingSelector = dom.previousElementSibling,
          selectedDom = '';
        if (param &amp;&amp; previousSiblingSelector) {
          plusObj._domElem = libUtils.getSelectionList(itsId, itsClass, selectedVal, param, previousSiblingSelector, plusObj._domElem);
        } else if (!param) {
          selectedDom = previousSiblingSelector;
        }
        if (selectedDom) {
          plusObj._domElem.push(selectedDom);
        }
      });
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "parent",
    value: function parent(selector) {
      var _uniqueDom, _uniqueDom2;
      var plusObj = library(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      var param = selector,
        itsId = false,
        itsClass = false,
        idValue = '',
        classArray = [],
        selectedVal = '';
      if (param) {
        itsId = libUtils.options.regxId.test(param);
        idValue = libUtils.getIdName(param);
        itsClass = libUtils.options.regxClass.test(param);
        classArray = libUtils.getClassName(param);
      }
      selectedVal = itsId ? idValue : itsClass ? classArray : "";
      container.forEach(function (dom) {
        var parent = dom.parentElement,
          selectedDom = '';
        if (param &amp;&amp; parent) {
          plusObj._domElem = libUtils.getSelectionList(itsId, itsClass, selectedVal, param, parent, plusObj._domElem);
        } else if (!param) {
          selectedDom = parent;
        }
        if (selectedDom) {
          plusObj._domElem.push(selectedDom);
        }
      });
      var uniqueDom = libUtils.uniqueDom(plusObj._domElem);
      plusObj._domElem = (_uniqueDom = uniqueDom, _uniqueDom2 = (0,slicedToArray/* default */.A)(_uniqueDom, 0), _uniqueDom);
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "nextAll",
    value: function nextAll(selector) {
      var plusObj = library(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      var selectedDom = [],
        args = [];
      if (container[0].parentNode) {
        var _uniqueDom3, _uniqueDom4;
        if (typeof selector === 'string' &amp;&amp; selector !== "") {
          args = selector.split(',');
          var regxClass = libUtils.options.regxClass,
            regxId = libUtils.options.regxId,
            libUtility = libUtils;
          args.forEach(function (arg) {
            var _libUtility$nextAllHe, _libUtility$nextAllHe2;
            var param = arg.trim(),
              itsId = regxId.test(param),
              idValue = libUtility.getIdName(param),
              itsClass = regxClass.test(param),
              classArray = libUtility.getClassName(param),
              selectedVal = '';
            selectedVal = itsId ? idValue : itsClass ? classArray : "";
            selectedDom = (_libUtility$nextAllHe = libUtility.nextAllHelper(param, selectedVal, container, itsClass, itsId, plusObj._domElem), _libUtility$nextAllHe2 = (0,slicedToArray/* default */.A)(_libUtility$nextAllHe, 0), _libUtility$nextAllHe);
            plusObj._domElem = [].concat((0,toConsumableArray/* default */.A)(plusObj._domElem), (0,toConsumableArray/* default */.A)(selectedDom));
          });
        } else if (!selector || selector === "") {
          container.forEach(function (dom) {
            var sibling = dom.nextElementSibling;
            while (sibling) {
              if (sibling.nodeType === 1) {
                selectedDom.push(sibling);
              }
              sibling = sibling.nextElementSibling;
            }
          });
          plusObj._domElem = (0,toConsumableArray/* default */.A)(selectedDom);
        }
        var uniqueDom = libUtils.uniqueDom(plusObj._domElem);
        plusObj._domElem = (_uniqueDom3 = uniqueDom, _uniqueDom4 = (0,slicedToArray/* default */.A)(_uniqueDom3, 0), _uniqueDom3);
        plusObj.length = plusObj._domElem.length;
      }
      return plusObj;
    }
  }, {
    key: "parents",
    value: function parents(selector) {
      var _uniqueDom5, _uniqueDom6;
      var plusObj = library(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      var selectedDom = [],
        args = [];
      if (typeof selector === 'string' &amp;&amp; selector !== "") {
        args = selector.split(',');
        var regxClass = libUtils.options.regxClass,
          regxId = libUtils.options.regxId,
          libUtility = libUtils;
        args.forEach(function (arg) {
          var _libUtility$allParent, _libUtility$allParent2;
          var param = arg.trim(),
            itsId = regxId.test(param),
            idValue = libUtility.getIdName(param),
            itsClass = regxClass.test(param),
            classArray = libUtility.getClassName(param),
            selectedVal = '';
          selectedVal = itsId ? idValue : itsClass ? classArray : "";
          selectedDom = (_libUtility$allParent = libUtility.allParentsHelper(param, selectedVal, container, itsClass, itsId, plusObj._domElem), _libUtility$allParent2 = (0,slicedToArray/* default */.A)(_libUtility$allParent, 0), _libUtility$allParent);
          plusObj._domElem = [].concat((0,toConsumableArray/* default */.A)(plusObj._domElem), (0,toConsumableArray/* default */.A)(selectedDom));
        });
      } else if (!selector || selector === "") {
        container.forEach(function (dom) {
          var parent = dom.parentElement;
          while (parent) {
            if (parent.nodeType === 1) {
              selectedDom.push(parent);
            }
            parent = parent.parentElement;
          }
        });
        plusObj._domElem = (0,toConsumableArray/* default */.A)(selectedDom);
      }
      var uniqueDom = libUtils.uniqueDom(plusObj._domElem);
      plusObj._domElem = (_uniqueDom5 = uniqueDom, _uniqueDom6 = (0,slicedToArray/* default */.A)(_uniqueDom5, 0), _uniqueDom5);
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "prevAll",
    value: function prevAll(selector) {
      var plusObj = library(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      var selectedDom = [],
        args = [];
      if (container[0].parentNode) {
        var _uniqueDom7, _uniqueDom8;
        if (typeof selector === 'string' &amp;&amp; selector !== "") {
          args = selector.split(',');
          var libUtility = libUtils,
            regxClass = libUtility.options.regxClass,
            regxId = libUtility.options.regxId;
          args.forEach(function (arg) {
            var _libUtility$prevAllHe, _libUtility$prevAllHe2;
            var param = arg.trim(),
              itsId = regxId.test(param),
              idValue = libUtility.getIdName(param),
              itsClass = regxClass.test(param),
              classArray = libUtility.getClassName(param),
              selectedVal = '';
            selectedVal = itsId ? idValue : itsClass ? classArray : "";
            selectedDom = (_libUtility$prevAllHe = libUtility.prevAllHelper(param, selectedVal, container, itsClass, itsId, plusObj._domElem), _libUtility$prevAllHe2 = (0,slicedToArray/* default */.A)(_libUtility$prevAllHe, 0), _libUtility$prevAllHe);
            plusObj._domElem = [].concat((0,toConsumableArray/* default */.A)(plusObj._domElem), (0,toConsumableArray/* default */.A)(selectedDom));
          });
        } else if (!selector || selector === "") {
          container.forEach(function (dom) {
            var sibling = dom.previousElementSibling;
            while (sibling) {
              if (sibling.nodeType === 1) {
                selectedDom.push(sibling);
              }
              sibling = sibling.previousElementSibling;
            }
          });
          plusObj._domElem = (0,toConsumableArray/* default */.A)(selectedDom);
        }
        var uniqueDom = libUtils.uniqueDom(plusObj._domElem);
        plusObj._domElem = (_uniqueDom7 = uniqueDom, _uniqueDom8 = (0,slicedToArray/* default */.A)(_uniqueDom7, 0), _uniqueDom7);
        plusObj.length = plusObj._domElem.length;
      }
      return plusObj;
    }
  }, {
    key: "siblings",
    value: function siblings(selector) {
      var plusObj = library(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      if (container.length === 0) {
        plusObj.length = 0;
        return plusObj;
      }
      var selectedDom = [],
        args = [];
      if (container[0].parentNode) {
        var _uniqueDom9, _uniqueDom10;
        if (typeof selector === 'string' &amp;&amp; selector !== "") {
          args = selector.split(',');
          var regxClass = libUtils.options.regxClass,
            regxId = libUtils.options.regxId,
            libUtility = libUtils;
          args.forEach(function (arg) {
            var _libUtility$sibilingA, _libUtility$sibilingA2;
            var param = arg.trim(),
              itsId = regxId.test(param),
              idValue = libUtility.getIdName(param),
              itsClass = regxClass.test(param),
              classArray = libUtility.getClassName(param),
              selectedVal = '';
            selectedVal = itsId ? idValue : itsClass ? classArray : "";
            selectedDom = (_libUtility$sibilingA = libUtility.sibilingAllHelper(param, selectedVal, container, itsClass, itsId, plusObj._domElem), _libUtility$sibilingA2 = (0,slicedToArray/* default */.A)(_libUtility$sibilingA, 0), _libUtility$sibilingA);
            plusObj._domElem = [].concat((0,toConsumableArray/* default */.A)(plusObj._domElem), (0,toConsumableArray/* default */.A)(selectedDom));
          });
        } else if (!selector || selector === "") {
          container.forEach(function (dom) {
            var sibling = dom.parentElement ? dom.parentElement.firstElementChild : null;
            while (sibling) {
              if (sibling.nodeType === 1 &amp;&amp; sibling !== dom) {
                selectedDom.push(sibling);
              }
              sibling = sibling.nextElementSibling;
            }
          });
          plusObj._domElem = (0,toConsumableArray/* default */.A)(selectedDom);
        }
        var uniqueDom = libUtils.uniqueDom(plusObj._domElem);
        plusObj._domElem = (_uniqueDom9 = uniqueDom, _uniqueDom10 = (0,slicedToArray/* default */.A)(_uniqueDom9, 0), _uniqueDom9);
        plusObj.length = plusObj._domElem.length;
      }
      return plusObj;
    }
  }]);
}();

// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/get.js + 1 modules
var get = __webpack_require__(991);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js + 3 modules
var wrapNativeSuper = __webpack_require__(8614);
;// CONCATENATED MODULE: ./source/etc/clientlibs/kpmgpublic/global/js/plus/utils.js










function _callSuper(t, o, e) { return o = (0,getPrototypeOf/* default */.A)(o), (0,possibleConstructorReturn/* default */.A)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,getPrototypeOf/* default */.A)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
function _superPropGet(t, e, o, r) { var p = (0,get/* default */.A)((0,getPrototypeOf/* default */.A)(1 &amp; r ? t.prototype : t), e, o); return 2 &amp; r &amp;&amp; "function" == typeof p ? function (t) { return p.apply(o, t); } : p; }
function utils_createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol &amp;&amp; r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = utils_unsupportedIterableToArray(r)) || e &amp;&amp; r &amp;&amp; "number" == typeof r.length) { t &amp;&amp; (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n &gt;= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
function utils_unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return utils_arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t &amp;&amp; r.constructor &amp;&amp; (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? utils_arrayLikeToArray(r, a) : void 0; } }
function utils_arrayLikeToArray(r, a) { (null == a || a &gt; r.length) &amp;&amp; (a = r.length); for (var e = 0, n = Array(a); e &lt; a; e++) n[e] = r[e]; return n; }

var Utils = /*#__PURE__*/function () {
  function Utils() {
    (0,classCallCheck/* default */.A)(this, Utils);
  }
  return (0,createClass/* default */.A)(Utils, [{
    key: "text",
    value: function text(val) {
      var container = this._domElem;
      var text = [];
      if (val || val === "") {
        container.forEach(function (dom) {
          dom.innerText = String(val);
        });
        return this;
      } else {
        container.forEach(function (dom) {
          text.push(dom.innerText);
        });
        return text.join(' ');
      }
    }
  }, {
    key: "addClass",
    value: function addClass(className) {
      var container = this._domElem;
      var classNames = className.split(' ');
      container.forEach(function (dom) {
        return classNames.forEach(function (c) {
          return dom.classList.add(c);
        });
      });
      return this;
    }
  }, {
    key: "removeClass",
    value: function removeClass(className) {
      var container = this._domElem;
      var classNames = className.split(' ');
      container.forEach(function (dom) {
        return classNames.forEach(function (c) {
          return dom.classList.remove(c);
        });
      });
      return this;
    }
  }, {
    key: "toggleClass",
    value: function toggleClass(className) {
      var container = this._domElem;
      var classNames = className.split(' ');
      container.forEach(function (dom) {
        return classNames.forEach(function (c) {
          return dom.classList.toggle(c);
        });
      });
      return this;
    }
  }, {
    key: "after",
    value: function after() {
      var _this = this;
      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key &lt; _len; _key++) {
        args[_key] = arguments[_key];
      }
      var container = this._domElem;
      args = args.reverse();
      // migrate node reference instead of destroying in cases where container.length is 1
      if (container.length === 1) {
        var dom = container[0];
        args.forEach(function (arg) {
          if ((0,esm_typeof/* default */.A)(arg) === 'object') {
            if (arg._domElem) {
              var _iterator = utils_createForOfIteratorHelper(arg._domElem),
                _step;
              try {
                for (_iterator.s(); !(_step = _iterator.n()).done;) {
                  var el = _step.value;
                  dom.after(el);
                }
              } catch (err) {
                _iterator.e(err);
              } finally {
                _iterator.f();
              }
            } else if (arg.nodeType === Node.TEXT_NODE) {
              dom.insertAdjacentHTML("afterend", arg.textContent);
            } else if (arg.length) {
              // recursively open arg
              var _iterator2 = utils_createForOfIteratorHelper(arg),
                _step2;
              try {
                for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
                  var ar = _step2.value;
                  _this.after(ar);
                }
              } catch (err) {
                _iterator2.e(err);
              } finally {
                _iterator2.f();
              }
            } else {
              dom.after(arg);
            }
          } else if (typeof arg === 'function') {
            dom.insertAdjacentHTML("afterend", arg(index));
          } else {
            dom.insertAdjacentHTML("afterend", arg);
          }
        });
      } else {
        container.forEach(function (dom, index) {
          args.forEach(function (arg) {
            if ((0,esm_typeof/* default */.A)(arg) === 'object') {
              if (arg._domElem) {
                var _iterator3 = utils_createForOfIteratorHelper(arg._domElem),
                  _step3;
                try {
                  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
                    var el = _step3.value;
                    libUtils.insertElementAndRemoveOriginal(dom, "afterend", el, _this);
                  }
                } catch (err) {
                  _iterator3.e(err);
                } finally {
                  _iterator3.f();
                }
              } else if (arg.nodeType === Node.TEXT_NODE) {
                dom.insertAdjacentHTML("afterend", arg.textContent);
              } else if (arg.length) {
                // recursively open arg
                var _iterator4 = utils_createForOfIteratorHelper(arg),
                  _step4;
                try {
                  for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
                    var ar = _step4.value;
                    _this.after(ar);
                  }
                } catch (err) {
                  _iterator4.e(err);
                } finally {
                  _iterator4.f();
                }
              } else {
                libUtils.insertElementAndRemoveOriginal(dom, "afterend", arg, _this);
              }
            } else if (typeof arg === 'function') {
              dom.insertAdjacentHTML("afterend", arg(index));
            } else {
              dom.insertAdjacentHTML("afterend", arg);
            }
          });
        });
      }
      return this;
    }
  }, {
    key: "before",
    value: function before() {
      var _this2 = this;
      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 &lt; _len2; _key2++) {
        args[_key2] = arguments[_key2];
      }
      var container = this._domElem;
      // migrate node reference instead of destroying in cases where container.length is 1
      if (container.length === 1) {
        var dom = container[0];
        args.forEach(function (arg) {
          if ((0,esm_typeof/* default */.A)(arg) === 'object') {
            if (arg._domElem) {
              var _iterator5 = utils_createForOfIteratorHelper(arg._domElem),
                _step5;
              try {
                for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
                  var el = _step5.value;
                  dom.before(el);
                }
              } catch (err) {
                _iterator5.e(err);
              } finally {
                _iterator5.f();
              }
            } else if (arg.nodeType === Node.TEXT_NODE) {
              dom.insertAdjacentHTML("beforebegin", arg.textContent);
            } else if (arg.length) {
              // recursively open arg
              var _iterator6 = utils_createForOfIteratorHelper(arg),
                _step6;
              try {
                for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
                  var ar = _step6.value;
                  _this2.before(ar);
                }
              } catch (err) {
                _iterator6.e(err);
              } finally {
                _iterator6.f();
              }
            } else {
              dom.before(arg);
            }
          } else if (typeof arg === 'function') {
            dom.insertAdjacentHTML("beforebegin", arg(index));
          } else {
            dom.insertAdjacentHTML("beforebegin", arg);
          }
        });
      } else {
        container.forEach(function (dom, index) {
          args.forEach(function (arg) {
            if ((0,esm_typeof/* default */.A)(arg) === 'object') {
              if (arg._domElem) {
                var _iterator7 = utils_createForOfIteratorHelper(arg._domElem),
                  _step7;
                try {
                  for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
                    var el = _step7.value;
                    libUtils.insertElementAndRemoveOriginal(dom, "beforebegin", el, _this2);
                  }
                } catch (err) {
                  _iterator7.e(err);
                } finally {
                  _iterator7.f();
                }
              } else if (arg.nodeType === Node.TEXT_NODE) {
                dom.insertAdjacentHTML("beforebegin", arg.textContent);
              } else if (arg.length) {
                // recursively open arg
                var _iterator8 = utils_createForOfIteratorHelper(arg),
                  _step8;
                try {
                  for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
                    var ar = _step8.value;
                    _this2.before(ar);
                  }
                } catch (err) {
                  _iterator8.e(err);
                } finally {
                  _iterator8.f();
                }
              } else {
                libUtils.insertElementAndRemoveOriginal(dom, "beforebegin", arg, _this2);
              }
            } else if (typeof arg === 'function') {
              dom.insertAdjacentHTML("beforebegin", arg(index));
            } else {
              dom.insertAdjacentHTML("beforebegin", arg);
            }
          });
        });
      }
      return this;
    }
  }, {
    key: "append",
    value: function append() {
      var _this3 = this;
      for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 &lt; _len3; _key3++) {
        args[_key3] = arguments[_key3];
      }
      var container = this._domElem;
      // migrate node reference instead of destroying in cases where container.length is 1
      if (container.length === 1) {
        var dom = container[0];
        args.forEach(function (arg) {
          if ((0,esm_typeof/* default */.A)(arg) === 'object') {
            if (arg._domElem) {
              var _iterator9 = utils_createForOfIteratorHelper(arg._domElem),
                _step9;
              try {
                for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
                  var el = _step9.value;
                  dom.append(el);
                }
              } catch (err) {
                _iterator9.e(err);
              } finally {
                _iterator9.f();
              }
            } else if (arg.nodeType === Node.TEXT_NODE) {
              dom.insertAdjacentHTML("beforeend", arg.textContent);
            } else if (arg.length) {
              // recursively open arg
              var _iterator10 = utils_createForOfIteratorHelper(arg),
                _step10;
              try {
                for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
                  var ar = _step10.value;
                  _this3.append(ar);
                }
              } catch (err) {
                _iterator10.e(err);
              } finally {
                _iterator10.f();
              }
            } else {
              dom.append(arg);
            }
          } else if (typeof arg === 'function') dom.insertAdjacentHTML("beforeend", arg(index, dom.innerHTML));else dom.insertAdjacentHTML("beforeend", arg);
        });
      } else {
        container.forEach(function (dom, index) {
          args.forEach(function (arg) {
            if ((0,esm_typeof/* default */.A)(arg) === 'object') {
              if (arg._domElem) {
                var _iterator11 = utils_createForOfIteratorHelper(arg._domElem),
                  _step11;
                try {
                  for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
                    var el = _step11.value;
                    libUtils.insertElementAndRemoveOriginal(dom, "beforeend", el, _this3);
                  }
                } catch (err) {
                  _iterator11.e(err);
                } finally {
                  _iterator11.f();
                }
              } else if (arg.nodeType === Node.TEXT_NODE) {
                dom.insertAdjacentHTML("beforeend", arg.textContent);
              } else if (arg.length) {
                // recursively open arg
                var _iterator12 = utils_createForOfIteratorHelper(arg),
                  _step12;
                try {
                  for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {
                    var ar = _step12.value;
                    _this3.append(ar);
                  }
                } catch (err) {
                  _iterator12.e(err);
                } finally {
                  _iterator12.f();
                }
              } else {
                libUtils.insertElementAndRemoveOriginal(dom, "beforeend", arg, _this3);
              }
            } else if (typeof arg === 'function') dom.insertAdjacentHTML("beforeend", arg(index, dom.innerHTML));else dom.insertAdjacentHTML("beforeend", arg);
          });
        });
      }
      return this;
    }
  }, {
    key: "prepend",
    value: function prepend() {
      var _this4 = this;
      for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 &lt; _len4; _key4++) {
        args[_key4] = arguments[_key4];
      }
      var container = this._domElem;
      args = args.reverse();
      // migrate node reference instead of destroying in cases where container.length is 1
      if (container.length === 1) {
        var dom = container[0];
        args.forEach(function (arg) {
          if ((0,esm_typeof/* default */.A)(arg) === 'object') {
            if (arg._domElem) {
              var _iterator13 = utils_createForOfIteratorHelper(arg._domElem),
                _step13;
              try {
                for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {
                  var el = _step13.value;
                  dom.prepend(el);
                }
              } catch (err) {
                _iterator13.e(err);
              } finally {
                _iterator13.f();
              }
            } else if (arg.nodeType === Node.TEXT_NODE) {
              dom.insertAdjacentHTML("afterbegin", arg.textContent);
            } else if (arg.length) {
              // recursively open arg
              var _iterator14 = utils_createForOfIteratorHelper(arg),
                _step14;
              try {
                for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {
                  var ar = _step14.value;
                  _this4.prepend(ar);
                }
              } catch (err) {
                _iterator14.e(err);
              } finally {
                _iterator14.f();
              }
            } else {
              dom.prepend(arg);
            }
          } else if (typeof arg === 'function') dom.insertAdjacentHTML("afterbegin", arg(index, dom.innerHTML));else dom.insertAdjacentHTML("afterbegin", arg);
        });
      } else {
        container.forEach(function (dom, index) {
          args.forEach(function (arg) {
            if ((0,esm_typeof/* default */.A)(arg) === 'object') {
              if (arg._domElem) {
                var _iterator15 = utils_createForOfIteratorHelper(arg._domElem),
                  _step15;
                try {
                  for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {
                    var el = _step15.value;
                    libUtils.insertElementAndRemoveOriginal(dom, "afterbegin", el, _this4);
                  }
                } catch (err) {
                  _iterator15.e(err);
                } finally {
                  _iterator15.f();
                }
              } else if (arg.nodeType === Node.TEXT_NODE) {
                dom.insertAdjacentHTML("afterbegin", arg.textContent);
              } else if (arg.length) {
                // recursively open arg
                var _iterator16 = utils_createForOfIteratorHelper(arg),
                  _step16;
                try {
                  for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {
                    var ar = _step16.value;
                    _this4.prepend(ar);
                  }
                } catch (err) {
                  _iterator16.e(err);
                } finally {
                  _iterator16.f();
                }
              } else {
                libUtils.insertElementAndRemoveOriginal(dom, "afterbegin", arg, _this4);
              }
            } else if (typeof arg === 'function') dom.insertAdjacentHTML("afterbegin", arg(index, dom.innerHTML));else dom.insertAdjacentHTML("afterbegin", arg);
          });
        });
      }
      return this;
    }
  }, {
    key: "appendTo",
    value: function appendTo(selector) {
      var _this5 = this;
      var args = this.insertTo(selector),
        argLength,
        container;
      if (args.length) {
        this.append.apply(this, (0,toConsumableArray/* default */.A)(args));
        argLength = args.length;
      } else {
        this.append(args);
        argLength = 1;
      }

      // return appropriate this to chain + retrieve references to newly added elements
      container = this._domElem;
      this._domElem = [];
      container.forEach(function (dom) {
        for (var idx = 1; idx &lt;= argLength; idx++) {
          if (dom.children.length - idx &gt;= 0) {
            _this5._domElem.push(dom.children[dom.children.length - idx]);
          }
        }
      });
      this.length = this._domElem.length;
      return this;
    }
  }, {
    key: "prependTo",
    value: function prependTo(selector) {
      var _this6 = this;
      var args = this.insertTo(selector),
        argLength,
        container;
      if (args.length) {
        this.prepend.apply(this, (0,toConsumableArray/* default */.A)(args));
        argLength = args.length;
      } else {
        this.prepend(args);
        argLength = 1;
      }

      // return appropriate this to chain + retrieve references to newly added elements
      container = this._domElem;
      this._domElem = [];
      container.forEach(function (dom) {
        for (var idx = 0; idx &lt; argLength; idx++) {
          if (idx &lt; dom.children.length) {
            _this6._domElem.push(dom.children[idx]);
          }
        }
      });
      this.length = this._domElem.length;
      return this;
    }
  }, {
    key: "insertTo",
    value: function insertTo(selector) {
      var _this7 = this;
      var container = this._domElem;
      var skipthis = false,
        tobeInserted = [];
      container.forEach(function (dom) {
        if (!dom.isAhtmlString) {
          tobeInserted.push(dom);
          libUtils.removeElement(dom, _this7);
        } else delete dom.isAhtmlString;
      });
      if ((0,esm_typeof/* default */.A)(selector) === 'object' &amp;&amp; selector._domElem) {
        var _ref, _ref2, _ref3;
        skipthis = true;
        this._domElem = (_ref = (0,toConsumableArray/* default */.A)(selector._domElem), _ref);
        this.prevObj = (_ref2 = selector.prevObj ? (0,toConsumableArray/* default */.A)(selector.prevObj) : [], _ref3 = (0,slicedToArray/* default */.A)(_ref2, 0), _ref2);
        this.length = selector.length;
      }
      if (!skipthis) this.init(selector);
      if (tobeInserted.length) return tobeInserted;else return container[0];
    }
  }, {
    key: "attr",
    value: function attr() {
      for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 &lt; _len5; _key5++) {
        args[_key5] = arguments[_key5];
      }
      var container = this._domElem;
      if (args.length === 1 &amp;&amp; typeof args[0] === 'string') {
        //get attribute value
        var val = container.length ? container[0].getAttribute(args[0]) : "";
        return val;
      } else if (args.length === 1 &amp;&amp; (0,esm_typeof/* default */.A)(args[0]) === 'object') {
        //set attribute using object
        container.forEach(function (dom) {
          for (var property in args[0]) {
            dom.setAttribute(property, args[0][property]);
          }
        });
      } else if (args.length === 2) {
        //set attribute to all
        container.forEach(function (dom, index) {
          //if args[0] is string and args[1] is function
          if (typeof args[0] === 'string' &amp;&amp; typeof args[1] === 'function') {
            var attrVal = dom.getAttribute(args[0]);
            if (attrVal) {
              var newAttrVal;
              if (isNaN(parseInt(attrVal))) newAttrVal = args[1](index, attrVal);else newAttrVal = args[1](index, parseInt(attrVal));
              dom.setAttribute(args[0], newAttrVal);
            }
            //if args[0] is string and second is value
          } else if (typeof args[0] === 'string') {
            dom.setAttribute(args[0], args[1]);
          }
        });
      }
      return this;
    }
  }, {
    key: "clone",
    value: function clone() {
      var plusObj = plus(),
        container = this._domElem;
      plusObj._domElem = [];
      //TODO: eventhandlers cant be copied in javascript
      container.forEach(function (dom) {
        plusObj._domElem.push(dom.cloneNode(true));
      });
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "css",
    value: function css() {
      for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 &lt; _len6; _key6++) {
        args[_key6] = arguments[_key6];
      }
      var container = this._domElem;
      if (args.length === 1 &amp;&amp; typeof args[0] === 'string') {
        //get style
        return container.length ? libUtils.getStyle(container[0], args[0]) : "";
      } else if (args.length === 1 &amp;&amp; (0,esm_typeof/* default */.A)(args[0]) === 'object') {
        //update css to the all dom elements
        container.forEach(function (dom) {
          var counter = 0,
            css = '',
            newStyleVal = '';
          for (var property in args[0]) {
            counter++;
            newStyleVal = '';
            if (!/^[1-9]\d*(\.\d+)?$/.test(args[0][property])) {
              css = "".concat(css).concat(property, ":").concat(args[0][property]);
            } else {
              newStyleVal = parseInt(args[0][property]);
              newStyleVal = libUtils.getUnits(newStyleVal, property);
              css = "".concat(css).concat(property, ":").concat(newStyleVal);
            }
            if (counter &lt; Object.keys(args[0]).length) css = "".concat(css, ";");
          }
          dom.style.cssText = dom.style.cssText + css;
        });
      } else if (args.length === 2) {
        //set attribute to all
        container.forEach(function (dom, index) {
          //if args[0] is string and args[1] is function
          if (typeof args[0] === 'string' &amp;&amp; typeof args[1] === 'function') {
            var attrVal = libUtils.getStyle(dom, args[0]),
              newStyleVal = '';
            if (attrVal) {
              if (!/^[1-9]\d*(\.\d+)?$/.test(attrVal)) {
                newStyleVal = args[1](index, attrVal);
                dom.style[args[0]] = newStyleVal;
              } else {
                newStyleVal = args[1](index, parseInt(attrVal));
                dom.style[args[0]] = libUtils.getUnits(newStyleVal, args[0]);
              }
            }
            //if args[0] is string and second is value
          } else if (typeof args[0] === 'string') {
            var _newStyleVal = '';
            if (!/^[1-9]\d*(\.\d+)?$/.test(args[1])) {
              dom.style[args[0]] = args[1];
            } else if (args[1] === '') {
              dom.style.removeProperty(args[0]);
            } else {
              _newStyleVal = parseInt(args[1]);
              _newStyleVal = libUtils.getUnits(_newStyleVal, args[0]);
              dom.style[args[0]] = _newStyleVal;
            }
          }
        });
      }
      return this;
    }
  }, {
    key: "empty",
    value: function empty() {
      var container = this._domElem;
      container.forEach(function (dom) {
        dom.innerHTML = "";
      });
      return this;
    }
  }, {
    key: "hasClass",
    value: function hasClass(classname) {
      var container = this._domElem;
      var hasClass = false;
      container.forEach(function (dom) {
        if (dom.classList.contains(classname)) hasClass = true;
      });
      return hasClass;
    }
  }, {
    key: "height",
    value: function height(param) {
      var container = this._domElem;
      var body = document.body,
        html = document.documentElement,
        maxHeight = 0;
      if (param) {
        container.forEach(function (dom, index) {
          if (typeof param === 'function') {
            var currentHeight = libUtils.getStyle(dom, 'height');
            dom.style.height = libUtils.getUnits(param(index, parseInt(currentHeight)));
          } else dom.style.height = libUtils.getUnits(param);
        });
        return this;
      } else {
        if (container[0] === document.defaultView) {
          maxHeight = Math.max(html.clientHeight, html.offsetHeight);
          return maxHeight;
        } else if (container.length &amp;&amp; container[0].nodeType === 9) {
          maxHeight = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);
          return maxHeight;
        } else {
          var heightStyle = container.length ? libUtils.getStyle(container[0], 'height') : 0;
          if (container.length &amp;&amp; libUtils.getStyle(container[0], 'display') === 'none') {
            container[0].style.display = '';
            heightStyle = libUtils.getStyle(container[0], 'height');
            container[0].style.display = 'none';
          }
          return container.length ? parseInt(heightStyle !== 'auto' &amp;&amp; heightStyle !== '' ? heightStyle : 0) : 0;
        }
      }
    }
  }, {
    key: "html",
    value: function html(content) {
      var container = this._domElem;
      if (content !== undefined &amp;&amp; content !== null) {
        container.forEach(function (dom, index) {
          if ((0,esm_typeof/* default */.A)(content) === "object" &amp;&amp; content._domElem) {
            dom.innerHTML = content._domElem.length ? content._domElem.map(function (dom) {
              return dom.outerHTML;
            }).join("") : "";
          } else if (typeof content === 'function') {
            var currentHtml = dom.innerHTML;
            dom.innerHTML = content.call(dom, index, currentHtml);
          } else if (Array.isArray(content)) {
            dom.innerHTML = content.join("");
          } else dom.innerHTML = content;
        });
        return this;
      } else return container.length ? container[0].innerHTML : "";
    }
  }, {
    key: "innerHeight",
    value: function innerHeight() {
      var container = this._domElem;
      var body = document.body,
        html = document.documentElement,
        maxHeight = 0;
      if (container[0] === document.defaultView) {
        maxHeight = Math.max(html.clientHeight, html.offsetHeight);
        return maxHeight;
      } else if (container.length &amp;&amp; container[0].nodeType === 9) {
        maxHeight = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);
        return maxHeight;
      } else {
        return container.length ? container[0].clientHeight : 0;
      }
    }
  }, {
    key: "innerWidth",
    value: function innerWidth() {
      var container = this._domElem;
      var body = document.body,
        html = document.documentElement,
        maxWidth = 0,
        winInnerWidth = 0;
      if (container[0] === document.defaultView) {
        winInnerWidth = Math.max(html.offsetWidth, html.clientWidth);
        return winInnerWidth;
      } else if (container.length &amp;&amp; container[0].nodeType === 9) {
        maxWidth = Math.max(body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth);
        return maxWidth;
      } else {
        return container.length ? container[0].clientWidth : 0;
      }
    }
  }, {
    key: "insertAfter",
    value: function insertAfter(selector) {
      if (selector) {
        var args = this.insertTo(selector);
        if (args.length) this.after.apply(this, (0,toConsumableArray/* default */.A)(args));else this.after(args);
        this._domElem = this.prevObj;
        this.length = this._domElem.length;
        return this;
      }
      return this;
    }
  }, {
    key: "insertBefore",
    value: function insertBefore(selector) {
      if (selector) {
        var args = this.insertTo(selector);
        if (args.length) this.before.apply(this, (0,toConsumableArray/* default */.A)(args));else this.before(args);
        this._domElem = this.prevObj;
        this.length = this._domElem.length;
        return this;
      }
      return this;
    }
  }, {
    key: "offset",
    value: function offset(offsetVal) {
      var container = this._domElem;
      if ((0,esm_typeof/* default */.A)(offsetVal) === 'object') {
        container.forEach(function (dom) {
          libUtils.offsetAlreadyAvailable(dom, offsetVal);
        });
      } else if (typeof offsetVal === 'function') {
        container.forEach(function (dom, index) {
          var tempOffsetObj = libUtils.getOffset(dom);
          var newOffset = offsetVal(index, tempOffsetObj);
          libUtils.offsetAlreadyAvailable(dom, newOffset);
        });
      } else {
        return container.length ? libUtils.getOffset(container[0]) : undefined;
      }
      return this;
    }
  }, {
    key: "outerHeight",
    value: function outerHeight(plusMargin) {
      var container = this._domElem;
      var body = document.body,
        html = document.documentElement,
        maxHeight = 0;
      if (plusMargin) {
        var marginTop = container.length ? libUtils.getStyle(container[0], 'margin-top') : "",
          marginBottom = container.length ? libUtils.getStyle(container[0], 'margin-bottom') : "",
          offsetHeight = container.length ? container[0].offsetHeight : 0;
        return parseInt(marginTop) + parseInt(marginBottom) + offsetHeight;
      } else {
        if (container[0] === document.defaultView) {
          return container[0].innerHeight;
        } else if (container.length &amp;&amp; container[0].nodeType === 9) {
          maxHeight = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);
          return maxHeight;
        } else {
          return container.length ? container[0].offsetHeight : 0;
        }
      }
    }
  }, {
    key: "outerWidth",
    value: function outerWidth(plusMargin) {
      var container = this._domElem;
      var body = document.body,
        html = document.documentElement,
        maxWidth = 0;
      if (plusMargin) {
        var marginLeft = container.length ? libUtils.getStyle(container[0], 'margin-left') : "",
          marginRight = container.length ? libUtils.getStyle(container[0], 'margin-right') : "",
          offSetWidth = container.length ? container[0].offsetWidth : 0;
        return parseInt(marginLeft) + parseInt(marginRight) + offSetWidth;
      } else {
        if (container[0] === document.defaultView) {
          return container[0].innerWidth;
        } else if (container.length &amp;&amp; container[0].nodeType === 9) {
          maxWidth = Math.max(body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth);
          return maxWidth;
        } else {
          return container.length ? container[0].offsetWidth : 0;
        }
      }
    }
  }, {
    key: "position",
    value: function position() {
      var container = this._domElem;
      var leftVal = container.length ? container[0].offsetLeft : 0,
        topVal = container.length ? container[0].offsetTop : 0;
      return {
        left: leftVal,
        top: topVal
      };
    }
  }, {
    key: "prop",
    value: function prop() {
      for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 &lt; _len7; _key7++) {
        args[_key7] = arguments[_key7];
      }
      var container = this._domElem;
      if (args.length === 1 &amp;&amp; typeof args[0] === 'string') {
        var _prop = args[0];
        return container[0] ? container[0][_prop] : "";
      } else if (args.length === 1 &amp;&amp; (0,esm_typeof/* default */.A)(args[0]) === 'object') {
        //set prop using object
        container.forEach(function (dom) {
          for (var property in args[0]) {
            dom[property] = args[0][property];
          }
        });
      } else if (args.length === 2) {
        //set prop to all
        container.forEach(function (dom, index) {
          //if args[0] is string and args[1] is function
          if (typeof args[0] === 'string' &amp;&amp; typeof args[1] === 'function') {
            var propVal = dom.args[0];
            if (propVal) {
              var newPropVal = args[1](index, propVal);
              dom[args[0]] = newPropVal;
            }
            //if args[0] is string and second is value
          } else if (typeof args[0] === 'string') {
            dom[args[0]] = args[1];
          }
        });
      }
      return this;
    }
  }, {
    key: "remove",
    value: function remove(selector) {
      var _this8 = this;
      var container = this._domElem;
      if (typeof selector === 'string') {
        var htmlSelectors = selector.split(',');
        htmlSelectors.forEach(function (selector) {
          var param = selector.trim(),
            libOptions = libUtils.options,
            itsId = libOptions.regxId.test(param),
            idValue = libUtils.getIdName(param),
            itsClass = libOptions.regxClass.test(param),
            classArray = libUtils.getClassName(param),
            selectedVal = '';
          selectedVal = itsId ? idValue : itsClass ? classArray : "";
          container.forEach(function (dom) {
            if (itsId &amp;&amp; selectedVal &amp;&amp; dom.id === selectedVal) {
              if (itsClass) {
                var iDsclassArray = param.split('.'),
                  tempArray = [],
                  hasClassName = false;
                iDsclassArray.forEach(function (thisClass) {
                  if (thisClass) {
                    if (libOptions.regxId.test(thisClass)) {
                      thisClass = thisClass.split('#')[0];
                    }
                    tempArray.push(thisClass);
                  }
                });
                tempArray.forEach(function (thisClass, i) {
                  if (i === 0 &amp;&amp; dom.classList.contains(thisClass)) {
                    hasClassName = true;
                  } else if (dom.classList.contains(thisClass) &amp;&amp; hasClassName) {
                    hasClassName = true;
                  } else {
                    hasClassName = false;
                  }
                });
                if (hasClassName) {
                  libUtils.removeElement(dom, _this8);
                }
              } else {
                libUtils.removeElement(dom, _this8);
              }
            } else if (!itsId &amp;&amp; itsClass &amp;&amp; selectedVal.length) {
              var _hasClassName = false;
              selectedVal.forEach(function (className, i) {
                if (i === 0 &amp;&amp; dom.classList.contains(className)) {
                  _hasClassName = true;
                } else if (dom.classList.contains(className) &amp;&amp; _hasClassName) {
                  _hasClassName = true;
                } else {
                  _hasClassName = false;
                }
              });
              if (_hasClassName) {
                libUtils.removeElement(dom, _this8);
              }
            } else if (!itsId &amp;&amp; !itsClass &amp;&amp; dom.nodeName.toLowerCase() === param.trim().toLowerCase()) {
              libUtils.removeElement(dom, _this8);
            }
          });
        });
      } else {
        container.forEach(function (dom) {
          libUtils.removeElement(dom, _this8);
        });
      }
      return this;
    }
  }, {
    key: "removeAttr",
    value: function removeAttr(name) {
      var container = this._domElem;
      var attributes = name ? name.split(" ") : [];
      if (attributes.length) {
        attributes.forEach(function (attrName) {
          container.forEach(function (dom) {
            dom.removeAttribute(attrName);
          });
        });
      }
      return this;
    }
  }, {
    key: "replaceAll",
    value: function replaceAll(selector) {
      var _this9 = this;
      var container = this._domElem;
      if (selector) {
        this.init(selector);
        if (container[0] &amp;&amp; container[0].isAhtmlString) {
          var selectorContainer = this._domElem,
            newItem = container[0];
          selectorContainer.forEach(function (dom) {
            dom.insertAdjacentHTML("beforebegin", newItem.outerHTML);
            libUtils.removeElement(dom, _this9);
          });
        }
      }
      return this;
    }
  }, {
    key: "replaceWith",
    value: function replaceWith(selector) {
      var _this10 = this;
      var container = this._domElem;
      var content;
      if (typeof selector === 'function') {
        container.forEach(function (dom, index) {
          var funReturns = selector(index);
          if (typeof funReturns === 'string' &amp;&amp; funReturns[0] === "&lt;" &amp;&amp; funReturns[funReturns.length - 1] === "&gt;" &amp;&amp; funReturns.length &gt;= 3) {
            var doc4 = new DOMParser().parseFromString(funReturns, "text/xml");
            content = doc4.firstChild;
          } else {
            content = funReturns;
          }
          libUtils.replaceWithHelper(dom, content, _this10);
        });
      } else {
        container.forEach(function (dom) {
          libUtils.replaceWithHelper(dom, selector, _this10);
        });
      }
      return this;
    }
  }, {
    key: "scrollLeft",
    value: function scrollLeft(val) {
      var container = this._domElem;
      var htmlDoc = document.getElementsByTagName('html')[0];
      if (val || val === 0) {
        var scrollLeftVal = parseInt(val);
        container.forEach(function (dom) {
          if (dom === document.defaultView) {
            htmlDoc.scrollLeft = scrollLeftVal;
          } else {
            dom.scrollLeft = scrollLeftVal;
          }
        });
      } else {
        if (container[0] === document.defaultView) {
          return container[0] ? htmlDoc.scrollLeft : 0;
        } else {
          return container.length ? container[0].scrollLeft : 0;
        }
      }
      return this;
    }
  }, {
    key: "scrollTop",
    value: function scrollTop(val) {
      var container = this._domElem;
      var htmlDoc = document.getElementsByTagName('html')[0];
      if (val || val === 0) {
        var scrollTopVal = parseInt(val);
        container.forEach(function (dom) {
          if (dom === document.defaultView) {
            htmlDoc.scrollTop = scrollTopVal;
          } else {
            dom.scrollTop = scrollTopVal;
          }
        });
      } else {
        if (container[0] === document.defaultView) {
          return container[0] ? htmlDoc.scrollTop : 0;
        } else if (container[0].nodeType === 9) {
          return container[0] ? document.scrollingElement.scrollTop : 0;
        } else {
          return container.length ? container[0].scrollTop : 0;
        }
      }
      return this;
    }
  }, {
    key: "unwrap",
    value: function unwrap() {
      var container = this._domElem;
      container.forEach(function (dom) {
        if (dom.parentElement.nodeName !== "BODY") dom.parentElement.outerHTML = dom.parentElement.innerHTML;
      });
      return this;
    }
  }, {
    key: "wrap",
    value: function wrap(wrappingElement) {
      var _this11 = this;
      var container = this._domElem;
      if (wrappingElement) {
        if (typeof wrappingElement === 'function') {
          container.forEach(function (dom, i) {
            var functionReturn = wrappingElement(i);
            _this11.init(functionReturn);
            var selectorContainer = _this11._domElem[0];
            selectorContainer.innerHTML = dom.outerHTML;
            dom.outerHTML = selectorContainer.outerHTML;
          });
        } else if ((0,esm_typeof/* default */.A)(wrappingElement) === 'object') {
          var selectorContainer = wrappingElement;
          libUtils.wrapWith(container, selectorContainer);
        } else {
          this.init(wrappingElement);
          var _selectorContainer = this._domElem[0];
          libUtils.wrapWith(container, _selectorContainer);
        }
      }
      return this;
    }
  }, {
    key: "wrapAll",
    value: function wrapAll(wrappingElement) {
      var container = this._domElem;
      if (wrappingElement) {
        if ((0,esm_typeof/* default */.A)(wrappingElement) === 'object') {
          var wrapper = wrappingElement;
          libUtils.wrapAll(container, wrapper, this);
        } else {
          this.init(wrappingElement);
          var _wrapper = this._domElem[0];
          libUtils.wrapAll(container, _wrapper, this);
        }
      }
      return this;
    }
  }, {
    key: "wrapInner",
    value: function wrapInner(wrappingElement) {
      var container = this._domElem;
      if (wrappingElement) {
        if ((0,esm_typeof/* default */.A)(wrappingElement) === 'object') {
          var wrapper = wrappingElement;
          libUtils.wrapInner(container, wrapper);
        } else {
          this.init(wrappingElement);
          var _wrapper2 = this._domElem[0];
          libUtils.wrapInner(container, _wrapper2);
        }
      }
      return this;
    }
  }, {
    key: "val",
    value: function val(setVal) {
      var container = this._domElem;
      if (setVal !== undefined &amp;&amp; typeof setVal === 'string') {
        container.forEach(function (dom) {
          dom.value = setVal;
        });
        return this;
      } else {
        return container.length ? container[0].value : "";
      }
    }
  }, {
    key: "width",
    value: function width(param) {
      var container = this._domElem;
      var body = document.body,
        html = document.documentElement,
        maxWidth = 0,
        winWidth = 0;
      if (param) {
        container.forEach(function (dom, index) {
          if (typeof param === 'function') {
            var currentWidth = libUtils.getStyle(dom, 'width');
            dom.style.width = libUtils.getUnits(param(index, parseInt(currentWidth)));
          } else dom.style.width = libUtils.getUnits(param);
        });
        return this;
      } else {
        if (container[0] === document.defaultView) {
          winWidth = Math.max(html.offsetWidth, html.clientWidth);
          return winWidth;
        } else if (container.length &amp;&amp; container[0].nodeType === 9) {
          maxWidth = Math.max(body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth);
          return maxWidth;
        } else {
          var widthStyle = container.length ? libUtils.getStyle(container[0], 'width') : 0;
          if (container.length &amp;&amp; libUtils.getStyle(container[0], 'display') === 'none') {
            container[0].style.display = '';
            widthStyle = libUtils.getStyle(container[0], 'width');
            container[0].style.display = 'none'; // toggle back to none after calc
          }
          return container.length ? parseInt(widthStyle !== 'auto' &amp;&amp; widthStyle !== '' ? widthStyle : 0) : 0;
        }
      }
    }
  }, {
    key: "detach",
    value: function detach() {
      var container = this._domElem;
      var detachedElem = container.length ? container[0] : "";
      if (detachedElem) {
        detachedElem.detachingElement = true;
        detachedElem.parentElement.removeChild(detachedElem);
      }
      return detachedElem;
    }
  }, {
    key: "children",
    value: function children(filter) {
      var plusObj = plus(),
        container = this._domElem;
      plusObj._domElem = [];
      if (filter &amp;&amp; filter !== "") {
        var _param = filter,
          itsId = libUtils.options.regxId.test(_param),
          idValue = libUtils.getIdName(_param),
          itsClass = libUtils.options.regxClass.test(_param),
          classArray = libUtils.getClassName(_param),
          selectedVal = '';
        selectedVal = itsId ? idValue : itsClass ? classArray : "";
        container.forEach(function (dom) {
          var _iterator17 = utils_createForOfIteratorHelper(dom.children),
            _step17;
          try {
            for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) {
              var child = _step17.value;
              plusObj._domElem = libUtils.getSelectionList(itsId, itsClass, selectedVal, _param, child, plusObj._domElem);
            }
          } catch (err) {
            _iterator17.e(err);
          } finally {
            _iterator17.f();
          }
        });
      } else {
        container.forEach(function (dom) {
          var _iterator18 = utils_createForOfIteratorHelper(dom.children),
            _step18;
          try {
            for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) {
              var child = _step18.value;
              plusObj._domElem.push(child);
            }
          } catch (err) {
            _iterator18.e(err);
          } finally {
            _iterator18.f();
          }
        });
      }
      plusObj.prevObj = container;
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "closest",
    value: function closest(filter) {
      // Create a new empty shell plus instance
      var plusObj = plus();
      var container = this._domElem;
      plusObj.prevObj = this._domElem;
      if (filter) {
        plusObj._domElem = [];
        container.forEach(function (dom) {
          if (dom.closest(filter)) plusObj._domElem.push(dom.closest(filter));
        });
      }
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "each",
    value: function each(method) {
      var plusObj = plus(),
        container = this._domElem;
      container.forEach(function (dom, i) {
        plusObj.init(dom);
        method.call(dom, i, dom);
        plusObj._domElem = [];
      });
    }
  }, {
    key: "eq",
    value: function eq(index) {
      var plusObj = plus(),
        container = this._domElem;
      plusObj._domElem = [];
      if (index !== undefined) {
        index = String(index).trim();
        if (!libUtils.options.regxHasAlphabets.test(index)) {
          index = parseInt(index);
          if (index &lt; 0) index = container.length + index;
          container.forEach(function (dom, i) {
            if (i === index) plusObj._domElem.push(dom);
          });
        }
      }
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "filter",
    value: function filter(criteria) {
      var plusObj = plus(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      if (criteria) {
        var _uniqueDom, _uniqueDom2;
        var selectedDom = [],
          args = [];
        if (typeof criteria === 'string') {
          if (/[\[(].+,.+[\])]/g.test(criteria)) {
            args = [criteria];
          } else {
            args = criteria.split(',');
          }
          var regxClass = libUtils.options.regxClass,
            regxId = libUtils.options.regxId,
            libUtility = libUtils;
          args.forEach(function (arg) {
            var _libUtility$filterHel, _libUtility$filterHel2;
            var param = arg.trim(),
              itsId = regxId.test(param),
              idValue = libUtility.getIdName(param),
              itsClass = regxClass.test(param),
              classArray = libUtility.getClassName(param),
              selectedVal = '';
            selectedVal = itsId ? idValue : itsClass ? classArray : "";
            selectedDom = (_libUtility$filterHel = libUtility.filterHelper(param, selectedVal, container, itsClass, itsId, plusObj._domElem), _libUtility$filterHel2 = (0,slicedToArray/* default */.A)(_libUtility$filterHel, 0), _libUtility$filterHel);
            plusObj._domElem = [].concat((0,toConsumableArray/* default */.A)(plusObj._domElem), (0,toConsumableArray/* default */.A)(selectedDom));
          });
        } else if ((0,esm_typeof/* default */.A)(criteria) === 'object') {
          container.forEach(function (dom) {
            if (dom.isSameNode(criteria)) plusObj._domElem.push(dom);
          });
        } else if (typeof criteria === 'function') {
          container.forEach(function (dom, i) {
            plusObj.init(dom);
            var valid = criteria.call(dom, i, dom);
            if (valid) selectedDom.push(dom);
          });
          plusObj._domElem = (0,toConsumableArray/* default */.A)(selectedDom);
        }
        var uniqueDom = libUtils.uniqueDom(plusObj._domElem);
        plusObj._domElem = (_uniqueDom = uniqueDom, _uniqueDom2 = (0,slicedToArray/* default */.A)(_uniqueDom, 0), _uniqueDom);
        plusObj.length = plusObj._domElem.length;
      }
      return plusObj;
    }
  }, {
    key: "first",
    value: function first() {
      var plusObj = plus(),
        container = this._domElem;
      plusObj._domElem = [];
      if (container.length) plusObj._domElem.push(container[0]);
      plusObj.length = 1;
      return plusObj;
    }
  }, {
    key: "has",
    value: function has(elemt) {
      var plusObj = plus(),
        container = this._domElem;
      var itsId = false,
        itsClass = false,
        selectedVal = "",
        classList = "";
      plusObj._domElem = [];
      if (elemt) {
        if (typeof elemt === 'string') {
          itsId = libUtils.options.regxId.test(elemt);
          itsClass = libUtils.options.regxClass.test(elemt);
          selectedVal = '';
          selectedVal = itsId ? elemt.split('#')[1] : itsClass ? elemt.split('.')[1] : "";
        } else if ((0,esm_typeof/* default */.A)(elemt) === 'object') {
          classList = elemt.classList ? elemt.classList.value : "";
          classList = classList ? "." + classList.trim().split(" ").join(",.") : "";
          selectedVal = elemt.id ? elemt.id : classList;
          selectedVal = selectedVal ? selectedVal : elemt.nodeName;
        }
        if (selectedVal !== "") {
          var parents = libUtils.hasChilds(container, selectedVal);
          plusObj._domElem = parents.length ? (0,toConsumableArray/* default */.A)(parents) : container;
        } else {
          plusObj._domElem = container;
        }
      }
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "is",
    value: function is(selector) {
      var _this12 = this;
      var container = this._domElem;
      var foundElem = false;
      if (typeof selector === 'string') {
        var _param2 = selector,
          itsClass = libUtils.options.regxClass.test(_param2),
          itsId = libUtils.options.regxId.test(_param2),
          itsColon = libUtils.options.isColon.test(_param2),
          selectedVal = '',
          colonValue = '';
        selectedVal = itsClass ? _param2.split('.')[1] : _param2.split('#')[1];
        colonValue = _param2.split(':')[1];
        if (itsColon) {
          if (colonValue === 'first-child' &amp;&amp; container.length &amp;&amp; container[0].parentElement.children[0] === container[0]) {
            foundElem = true;
          } else if (colonValue === 'last-child' &amp;&amp; container.length &amp;&amp; container[0].parentElement.children[container[0].parentElement.children.length - 1] === container[0]) {
            foundElem = true;
          } else if (selectedVal &amp;&amp; (colonValue === 'visible' || colonValue === 'hidden')) {
            //if selector has class or id with colon visible or hidden
            var selectedValNew = selectedVal.split(':')[0];
            container.forEach(function (dom) {
              if (itsId &amp;&amp; colonValue === 'visible' &amp;&amp; dom.clientHeight &gt; 0 &amp;&amp; dom.id === selectedValNew) {
                foundElem = true;
              } else if (itsId &amp;&amp; colonValue === 'hidden' &amp;&amp; dom.clientHeight === 0 &amp;&amp; dom.id === selectedValNew) {
                foundElem = true;
              } else if (itsClass &amp;&amp; colonValue === 'visible' &amp;&amp; dom.clientHeight &gt; 0 &amp;&amp; dom.classList.contains(selectedValNew)) {
                foundElem = true;
              } else if (itsClass &amp;&amp; colonValue === 'hidden' &amp;&amp; dom.clientHeight === 0 &amp;&amp; dom.classList.contains(selectedValNew)) {
                foundElem = true;
              }
            });
          } else if (colonValue === 'visible' || colonValue === 'hidden') {
            container.forEach(function (dom) {
              if (colonValue === 'visible' &amp;&amp; dom.clientHeight &gt; 0) {
                foundElem = true;
              } else if (colonValue === 'hidden' &amp;&amp; dom.clientHeight === 0) {
                foundElem = true;
              }
            });
          } else if (selectedVal &amp;&amp; colonValue === 'checked') {
            var _selectedValNew = selectedVal.split(':')[0];
            container.forEach(function (dom) {
              if (itsId &amp;&amp; dom['checked'] &amp;&amp; dom.id === _selectedValNew) {
                foundElem = true;
              } else if (itsClass &amp;&amp; dom['checked'] &amp;&amp; dom.classList.contains(_selectedValNew)) {
                foundElem = true;
              }
            });
          } else if (colonValue === 'checked') {
            foundElem = container.some(function (c, i) {
              return _this12.eq(i).prop('checked');
            });
          }
          return foundElem;
        }
        container.forEach(function (dom) {
          if (itsId &amp;&amp; selectedVal &amp;&amp; dom.id === selectedVal) {
            foundElem = true;
          } else if (itsClass &amp;&amp; selectedVal &amp;&amp; (dom.classList.contains(selectedVal) || dom.matches(selector))) {
            foundElem = true;
          } else if (dom.nodeName.toLowerCase() === _param2.trim().toLowerCase()) {
            foundElem = true;
          }
        });
        return foundElem;
      } else if (typeof selector === 'function') {
        container.forEach(function (dom, i) {
          _this12.init(dom);
          if (selector.call(dom, i, dom)) foundElem = true;
        });
        return foundElem;
      } else if ((0,esm_typeof/* default */.A)(selector) === 'object') {
        container.forEach(function (dom) {
          if (selector._domElem) {
            selector._domElem.forEach(function (el) {
              if (dom.isSameNode(el)) {
                foundElem = true;
              }
            });
          } else if (dom.isSameNode(selector)) {
            foundElem = true;
          }
        });
        return foundElem;
      } else return false;
    }
  }, {
    key: "last",
    value: function last() {
      var plusObj = plus(),
        container = this._domElem;
      plusObj._domElem = [];
      var last = container.length - 1;
      if (container.length) plusObj._domElem.push(container[last]);
      plusObj.length = 1;
      return plusObj;
    }
  }, {
    key: "not",
    value: function not(criteria) {
      var _this13 = this;
      var plusObj = plus(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      if (criteria) {
        var _uniqueDom3, _uniqueDom4;
        var selectedDom = [],
          args = [];
        if (typeof criteria === 'string') {
          args = criteria.split(',');
          var libUtility = libUtils,
            regxClass = libUtils.options.regxClass,
            regxId = libUtils.options.regxId,
            regxAttributeSelector = libUtils.options.regxAttributeSelector;
          args.forEach(function (arg) {
            var _libUtility$reverseFi, _libUtility$reverseFi2;
            var param = arg.trim(),
              itsId = regxId.test(param),
              idValue = libUtility.getIdName(param),
              itsClass = regxClass.test(param),
              classArray = libUtility.getClassName(param),
              itsAttributeSelector = regxAttributeSelector.test(param),
              selectedVal = '';
            selectedVal = itsId ? idValue : itsClass ? classArray : itsAttributeSelector ? param : "";
            selectedDom = (_libUtility$reverseFi = libUtility.reverseFilterHelper(param, selectedVal, container, itsClass, itsId, itsAttributeSelector), _libUtility$reverseFi2 = (0,slicedToArray/* default */.A)(_libUtility$reverseFi, 0), _libUtility$reverseFi);
            plusObj._domElem = [].concat((0,toConsumableArray/* default */.A)(plusObj._domElem), (0,toConsumableArray/* default */.A)(selectedDom));
          });
        } else if ((0,esm_typeof/* default */.A)(criteria) === 'object') {
          container.forEach(function (dom) {
            if (!Array.isArray(criteria)) {
              criteria = [criteria];
            }
            if (!criteria.some(function (el) {
              return dom.isSameNode(el);
            })) plusObj._domElem.push(dom);
          });
        } else if (typeof criteria === 'function') {
          container.forEach(function (dom, i) {
            _this13.init(dom);
            var valid = criteria(i);
            if (!valid) selectedDom.push(dom);
          });
          plusObj._domElem = (0,toConsumableArray/* default */.A)(selectedDom);
        }
        var uniqueDom = libUtils.uniqueDom(plusObj._domElem);
        plusObj._domElem = (_uniqueDom3 = uniqueDom, _uniqueDom4 = (0,slicedToArray/* default */.A)(_uniqueDom3, 0), _uniqueDom3);
        plusObj.length = plusObj._domElem.length;
      }
      return plusObj;
    }
  }, {
    key: "slice",
    value: function slice(start, stop) {
      var plusObj = plus(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      if (start &amp;&amp; start !== "") {
        start = String(start).trim();
        if (!libUtils.options.regxHasAlphabets.test(start)) {
          start = parseInt(start);
          if (start &lt; 0) start = container.length + start;
          if (stop &amp;&amp; stop !== "" &amp;&amp; !libUtils.options.regxHasAlphabets.test(start)) {
            stop = parseInt(stop);
            if (stop &lt; 0) stop = container.length + stop;
          }
          container.forEach(function (dom, i) {
            if (stop &amp;&amp; stop !== "") {
              if (i &gt;= start &amp;&amp; i &lt; stop) plusObj._domElem.push(dom);
            } else {
              if (i &gt;= start) plusObj._domElem.push(dom);
            }
          });
        }
      }
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "contents",
    value: function contents() {
      var plusObj = plus(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      container.forEach(function (dom) {
        if (dom.nodeName === 'IFRAME') plusObj._domElem = [].concat((0,toConsumableArray/* default */.A)(plusObj._domElem), [dom.contentDocument]);else plusObj._domElem = [].concat((0,toConsumableArray/* default */.A)(plusObj._domElem), (0,toConsumableArray/* default */.A)(dom.childNodes));
      });
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "end",
    value: function end() {
      var _previousState, _previousState2;
      var plusObj = plus();
      var previousState = this.prevObj;
      // check if prevObj is formatted correctly (an array)
      if (previousState !== undefined &amp;&amp; !Array.isArray(previousState)) {
        console.warn("plus end() format warning: prevObj is not an array ".concat(this.prevObj));
        previousState = [previousState];
      }
      plusObj.prevObj = [libUtils.options.winDoc];
      plusObj._domElem = (_previousState = previousState, _previousState2 = (0,slicedToArray/* default */.A)(_previousState, 0), _previousState);
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "data",
    value: function data() {
      var container = this._domElem;
      if (arguments.length === 1) {
        //get a value
        if ((arguments.length &lt;= 0 ? undefined : arguments[0]) &amp;&amp; typeof (arguments.length &lt;= 0 ? undefined : arguments[0]) === 'string') {
          var dataName = libUtils.hyphenCheck(arguments.length &lt;= 0 ? undefined : arguments[0]),
            dataValue = container.length ? libUtils.isItDataObject(container[0].dataset[dataName]) : "";
          return dataValue;
          //set mutiple value
        } else if ((0,esm_typeof/* default */.A)(arguments.length &lt;= 0 ? undefined : arguments[0]) === 'object') {
          var dataObj = arguments.length &lt;= 0 ? undefined : arguments[0];
          container.forEach(function (dom) {
            for (var _dataName in dataObj) {
              var withOutHyphen = libUtils.hyphenCheck(_dataName),
                _dataValue = dataObj[_dataName];
              _dataValue = (0,esm_typeof/* default */.A)(_dataValue) === 'object' ? JSON.stringify(_dataValue) : _dataValue;
              dom.dataset[withOutHyphen] = _dataValue;
            }
          });
          return this;
        }
      } else if (arguments.length === 2) {
        var _dataName2 = arguments.length &lt;= 0 ? undefined : arguments[0],
          _dataValue2 = arguments.length &lt;= 1 ? undefined : arguments[1];
        _dataValue2 = (0,esm_typeof/* default */.A)(_dataValue2) === 'object' &amp;&amp; !(_dataValue2 instanceof HTMLElement) ? JSON.stringify(_dataValue2) : _dataValue2;
        //set a single value
        container.forEach(function (dom) {
          _dataName2 = libUtils.hyphenCheck(_dataName2);
          dom.dataset[_dataName2] = _dataValue2;
        });
        return this;
      } else {
        // get all value as object
        var _data2 = container.length ? container[0].dataset : "",
          tempObj = {};
        if (_data2) {
          for (var property in _data2) {
            if (_data2.hasOwnProperty(property)) {
              var _dataValue3 = _data2[property];
              tempObj[property] = libUtils.isItDataObject(_dataValue3);
            }
          }
        }
        return tempObj;
      }
    }
  }, {
    key: "removeData",
    value: function removeData(name) {
      var container = this._domElem;
      name = name ? String(name).trim() : name;
      container.forEach(function (dom) {
        var dataObj = dom.dataset;
        for (var dataName in dataObj) {
          if (dataObj.hasOwnProperty(dataName)) {
            if (name &amp;&amp; dataName === name) delete dom.dataset[dataName];
            if (name === undefined) delete dom.dataset[dataName];
          }
        }
      });
      return this;
    }
  }, {
    key: "get",
    value: function get(num) {
      var container = this._domElem;
      var selectedDom = [];
      if (num !== undefined &amp;&amp; num !== "" &amp;&amp; !libUtils.options.regxHasAlphabets.test(num)) {
        num = parseInt(num);
        container.forEach(function (dom, i) {
          if (i === num) selectedDom.push(dom);
        });
        return selectedDom[0];
      } else if (num !== "") {
        return this._domElem;
      } else {
        return undefined;
      }
    }
  }, {
    key: "map",
    value: function map(callback) {
      var _ref4;
      var plusObj = plus(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      var domVal = '',
        tempArray = [];
      container.forEach(function (dom) {
        plusObj.init(dom);
        domVal = callback();
        if (domVal !== null &amp;&amp; domVal !== undefined) {
          tempArray.push(domVal);
        }
      });
      plusObj._domElem = (_ref4 = [].concat(tempArray), _ref4);
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "index",
    value: function index(selector) {
      var index = -1;
      var container = this._domElem;
      if ((0,esm_typeof/* default */.A)(selector) === 'object') {
        // selector is either plus object or dom element
        if (selector.constructor &amp;&amp; selector.constructor.name === "Plus") {
          selector = selector._domElem[0];
        }
        container.forEach(function (dom, i) {
          if (dom.isSameNode &amp;&amp; dom.isSameNode(selector)) index = i;
        });
      } else if (container.length &amp;&amp; container[0] !== null) {
        var parent = container[0].parentElement;
        var counter = 0;
        var _iterator19 = utils_createForOfIteratorHelper(parent.children),
          _step19;
        try {
          for (_iterator19.s(); !(_step19 = _iterator19.n()).done;) {
            var child = _step19.value;
            if (container[0].isSameNode(child)) index = counter;
            counter++;
          }
        } catch (err) {
          _iterator19.e(err);
        } finally {
          _iterator19.f();
        }
      }
      return index;
    }
  }, {
    key: "toArray",
    value: function toArray() {
      var container = this._domElem;
      var tempArray = [];
      container.forEach(function (dom) {
        tempArray.push(dom);
      });
      return tempArray;
    }
  }, {
    key: "serializeArray",
    value: function serializeArray() {
      var VALID_FORM_TYPES = ["text", "password", "textarea", "select-one", "email", "checkbox", "hidden", "tel"];
      var container = this._domElem;
      var tempArray = [];
      container.forEach(function (dom) {
        var formElements = dom.elements;
        if (formElements.length) {
          var _iterator20 = utils_createForOfIteratorHelper(formElements),
            _step20;
          try {
            for (_iterator20.s(); !(_step20 = _iterator20.n()).done;) {
              var eachElement = _step20.value;
              var tempObj = {};
              if (VALID_FORM_TYPES.indexOf(eachElement.type) !== -1 &amp;&amp; eachElement.name !== "") {
                tempObj.name = eachElement.name;
                tempObj.value = eachElement.value;
                tempArray.push(tempObj);
              }
            }
          } catch (err) {
            _iterator20.e(err);
          } finally {
            _iterator20.f();
          }
        }
      });
      return tempArray;
    }
  }]);
}();

function extend() {
  var target = arguments[0] || {},
    deep = false,
    i = 1;
  if (typeof target === "boolean") {
    deep = target;
    target = arguments[1] || {};
    i++;
  }
  if (deep) {
    for (; i &lt; arguments.length; i++) {
      var obj = arguments[i];
      if (!obj) {
        continue;
      }
      for (var key in obj) {
        if (obj.hasOwnProperty(key)) {
          if ((0,esm_typeof/* default */.A)(obj[key]) === 'object') {
            if (obj[key] instanceof Array == true) {
              target[key] = obj[key].slice(0);
            } else {
              target[key] = extend(target[key], obj[key]);
            }
          } else {
            target[key] = obj[key];
          }
        }
      }
    }
  } else {
    for (; i &lt; arguments.length; i++) {
      if (!arguments[i]) continue;
      for (var key in arguments[i]) {
        if (arguments[i].hasOwnProperty(key)) target[key] = arguments[i][key];
      }
    }
  }
  return target;
}
function map(set, callback) {
  var filteredArray = [];
  if ((0,esm_typeof/* default */.A)(set) === 'object' &amp;&amp; set.constructor === Object) {
    for (var prop in set) {
      if (set.hasOwnProperty(prop)) {
        filteredArray.push(callback(set[prop], prop));
      }
    }
  } else {
    var newarray = set.map(callback);
    var i = 0;
    for (i = 0; i &lt; newarray.length; i++) {
      var value = newarray[i];
      if (value !== null &amp;&amp; value !== "") {
        if (value &amp;&amp; (0,esm_typeof/* default */.A)(value) === 'object' &amp;&amp; Array.isArray(value)) {
          filteredArray = [].concat((0,toConsumableArray/* default */.A)(filteredArray), (0,toConsumableArray/* default */.A)(newarray[i]));
        } else filteredArray.push(newarray[i]);
      }
    }
  }
  return filteredArray;
}
function param(requestObject) {
  var query = '';
  if ((0,esm_typeof/* default */.A)(requestObject) === 'object' &amp;&amp; requestObject.constructor === Object) {
    var objLength = Object.keys(requestObject).length,
      counter = 0;
    for (var prop in requestObject) {
      if (requestObject.hasOwnProperty(prop)) {
        var propValue = requestObject[prop];
        if (Array.isArray(propValue)) {
          query = "".concat(libUtils.iterateArray(propValue, prop, query));
        } else if ((0,esm_typeof/* default */.A)(propValue) === 'object' &amp;&amp; propValue.constructor === Object) {
          query = "".concat(libUtils.iterateObject(propValue, prop, query));
        } else {
          query = "".concat(query).concat(prop, "=").concat(encodeURIComponent(propValue));
        }
        counter++;
        if (counter &lt; objLength) {
          query = "".concat(query, "&amp;");
        }
      }
    }
  }
  return query;
}
function proxy(callback, context) {
  return callback.bind(context);
}
var PlusPromise = /*#__PURE__*/function (_Promise) {
  function PlusPromise(executor) {
    var _this14;
    (0,classCallCheck/* default */.A)(this, PlusPromise);
    _this14 = _callSuper(this, PlusPromise, [executor]);
    _this14.always = _this14.always.bind(_this14);
    _this14.done = _this14.done.bind(_this14);
    _this14.fail = _this14.fail.bind(_this14);
    return _this14;
  }
  (0,inherits/* default */.A)(PlusPromise, _Promise);
  return (0,createClass/* default */.A)(PlusPromise, [{
    key: "then",
    value: function then(onFulfilled, onRejected) {
      // higher order function that spreads the args array to the callback
      var spreadArgs = function spreadArgs(callback, isResolve) {
        return typeof callback === 'function' ? function (args) {
          if (isResolve) {
            if (Array.isArray(args)) {
              return Promise.resolve(callback.apply(void 0, (0,toConsumableArray/* default */.A)(args)));
            } else {
              return Promise.resolve(callback(args));
            }
          } else {
            if (Array.isArray(args)) {
              return Promise.reject(callback.apply(void 0, (0,toConsumableArray/* default */.A)(args)));
            } else {
              return Promise.reject(callback(args));
            }
          }
        } : function () {};
      };
      return _superPropGet(PlusPromise, "then", this, 3)([spreadArgs(onFulfilled, true), spreadArgs(onRejected, false)]);
    }
  }, {
    key: "always",
    value: function always() {
      for (var _len8 = arguments.length, callbacks = new Array(_len8), _key8 = 0; _key8 &lt; _len8; _key8++) {
        callbacks[_key8] = arguments[_key8];
      }
      for (var _i = 0, _callbacks = callbacks; _i &lt; _callbacks.length; _i++) {
        var c = _callbacks[_i];
        this.then(c, c);
      }
      return this;
    }
  }, {
    key: "done",
    value: function done(onFulfilled) {
      this.then(onFulfilled);
      return this;
    }
  }, {
    key: "fail",
    value: function fail(onRejected) {
      this.then(undefined, onRejected);
      return this;
    }
  }]);
}(/*#__PURE__*/(0,wrapNativeSuper/* default */.A)(Promise));
function Deferred(beforeStart) {
  var resolveCallback, rejectCallback;
  var p = new PlusPromise(function (resolve, reject) {
    resolveCallback = resolve;
    rejectCallback = reject;
  });

  // catch failed promises so console error not thrown
  p["catch"](function () {});

  // keep track of state for state() method
  p._state = 'pending';

  // reveal references to external p + extend resolve/reject to accept multiple params
  p.resolve = function () {
    p._state = 'resolved';
    for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 &lt; _len9; _key9++) {
      args[_key9] = arguments[_key9];
    }
    resolveCallback(args);
    return p;
  };
  p.reject = function () {
    p._state = 'rejected';
    for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 &lt; _len10; _key10++) {
      args[_key10] = arguments[_key10];
    }
    rejectCallback(args);
    return p;
  };
  // additional methods of deferred
  p.resolveWith = function (context) {
    p._state = 'resolved';
    for (var _len11 = arguments.length, args = new Array(_len11 &gt; 1 ? _len11 - 1 : 0), _key11 = 1; _key11 &lt; _len11; _key11++) {
      args[_key11 - 1] = arguments[_key11];
    }
    resolveCallback.call(context, args);
    return p;
  };
  p.rejectWith = function (context) {
    p._state = 'rejected';
    for (var _len12 = arguments.length, args = new Array(_len12 &gt; 1 ? _len12 - 1 : 0), _key12 = 1; _key12 &lt; _len12; _key12++) {
      args[_key12 - 1] = arguments[_key12];
    }
    rejectCallback.call(context, args);
    return p;
  };
  p.state = function () {
    return p._state;
  };
  // promise but with only methods that don't modify the state
  p.promise = function () {
    var ALLOWED_METHODS = ['always', 'catch', 'done', 'fail', 'promise', 'state', 'then'];
    return new Proxy(p, {
      get: function get(target, prop) {
        if (ALLOWED_METHODS.indexOf(prop) !== -1) {
          var value = target[prop];
          return typeof value == 'function' ? value.bind(target) : value;
        }
      }
    });
  };
  if (typeof beforeStart === 'function') beforeStart.call(p, p);
  return p;
}
function when() {
  for (var _len13 = arguments.length, deferreds = new Array(_len13), _key13 = 0; _key13 &lt; _len13; _key13++) {
    deferreds[_key13] = arguments[_key13];
  }
  if (arguments.length === 0) {
    return PlusPromise.resolve();
  } else if (arguments.length === 1) {
    if (deferreds[0] instanceof PlusPromise) {
      return deferreds[0];
    } else {
      return PlusPromise.resolve(deferreds[0]);
    }
  }

  // handling of resolve/reject outputs if not one
  var normalizeOutput = function normalizeOutput(args) {
    if (args.length === 1) {
      return args[0];
    } else if (args.length &gt; 1) {
      return [args];
    }
  };

  // transform deferreds promise returns to return only one output which es6 Promise expects
  deferreds = deferreds.map(function (d) {
    if (d instanceof PlusPromise) {
      return new Promise(function (resolve, reject) {
        d.then(function () {
          for (var _len14 = arguments.length, args = new Array(_len14), _key14 = 0; _key14 &lt; _len14; _key14++) {
            args[_key14] = arguments[_key14];
          }
          return resolve(normalizeOutput(args));
        });
        d["catch"](function () {
          for (var _len15 = arguments.length, args = new Array(_len15), _key15 = 0; _key15 &lt; _len15; _key15++) {
            args[_key15] = arguments[_key15];
          }
          return reject(normalizeOutput(args));
        });
      });
    } else if (!d instanceof Promise) {
      return Promise.resolve(d);
    } else {
      return d;
    }
  });
  var p = PlusPromise.all(deferreds);
  p["catch"](function () {});
  return p;
}
/**https://j11y.io/jquery/#v=2.1.3&amp;fn=jQuery.each
 * Modified a bit to allow plus object
 */
function each(obj, callback, args) {
  var value,
    i = 0,
    length = obj.length,
    isArray = Array.isArray(obj);
  if (args) {
    if (isArray) {
      for (; i &lt; length; i++) {
        value = callback.apply(obj[i], args);
        if (value === false) {
          break;
        }
      }
    } else {
      if ('_domElem' in obj) {
        //if its a plus object
        var htmlCollection = obj._domElem;
        for (var j = 0; j &lt; htmlCollection.length; j++) {
          value = callback.apply(htmlCollection[j], args);
          if (value === false) {
            break;
          }
        }
      } else {
        for (i in obj) {
          value = callback.apply(obj[i], args);
          if (value === false) {
            break;
          }
        }
      }
    }

    // A special, fast, case for the most common use of each
  } else {
    if (isArray) {
      for (; i &lt; length; i++) {
        value = callback.call(obj[i], i, obj[i]);
        if (value === false) {
          break;
        }
      }
    } else {
      if ('_domElem' in obj) {
        //if its a plus object
        var _htmlCollection = obj._domElem;
        for (var _j = 0; _j &lt; _htmlCollection.length; _j++) {
          value = callback.call(_htmlCollection[_j], _j, _htmlCollection[_j]);
          if (value === false) {
            break;
          }
        }
      } else {
        for (i in obj) {
          value = callback.call(obj[i], i, obj[i]);
          if (value === false) {
            break;
          }
        }
      }
    }
  }
  return obj;
}
function merge(first, second) {
  if (Array.isArray(first) &amp;&amp; Array.isArray(second)) {
    second.forEach(function (item) {
      return first.push(item);
    });
    return first;
  } else if (!Array.isArray(first) || !Array.isArray(second)) {
    return first;
  }
}
function parseHTML(str) {
  var tmp = document.implementation.createHTMLDocument();
  tmp.body.innerHTML = str;
  return tmp.body.children;
}

// https://j11y.io/jquery/#v=2.1.3&amp;fn=jQuery.grep
function grep(elems, callback, invert) {
  var callbackInverse,
    matches = [],
    i = 0,
    length = elems.length,
    callbackExpect = !invert;

  // Go through the array, only saving the items
  // that pass the validator function
  for (; i &lt; length; i++) {
    callbackInverse = !callback(elems[i], i);
    if (callbackInverse !== callbackExpect) {
      matches.push(elems[i]);
    }
  }
  return matches;
}
function inArray(elem, arr) {
  var i = arguments.length &gt; 2 &amp;&amp; arguments[2] !== undefined ? arguments[2] : 0;
  return arr == null ? -1 : arr.slice(i).indexOf(elem);
}
function isEmptyObject(obj) {
  var name;
  for (name in obj) {
    return false;
  }
  return true;
}
function _data(elem, name) {
  var events,
    names = elem.namespace;
  /**
   * This _data function is strictly fetches event names, added through plus library
   */
  if (name === 'events' &amp;&amp; names) {
    events = {};
    for (var prop in names) {
      //assign epmty array - can add more data to it in future respective to the element
      events[prop] = [];
    }
  }
  return events;
}
function noop() {}
;
;// CONCATENATED MODULE: ./source/etc/clientlibs/kpmgpublic/global/js/plus/ajax.js



function ajax_createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol &amp;&amp; r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = ajax_unsupportedIterableToArray(r)) || e &amp;&amp; r &amp;&amp; "number" == typeof r.length) { t &amp;&amp; (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n &gt;= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
function ajax_unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return ajax_arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t &amp;&amp; r.constructor &amp;&amp; (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? ajax_arrayLikeToArray(r, a) : void 0; } }
function ajax_arrayLikeToArray(r, a) { (null == a || a &gt; r.length) &amp;&amp; (a = r.length); for (var e = 0, n = Array(a); e &lt; a; e++) n[e] = r[e]; return n; }

var Ajax = /*#__PURE__*/(0,createClass/* default */.A)(function Ajax() {
  (0,classCallCheck/* default */.A)(this, Ajax);
});

function ajax(url) {
  var options = arguments.length &gt; 1 &amp;&amp; arguments[1] !== undefined ? arguments[1] : {};
  if ((0,esm_typeof/* default */.A)(url) === "object") {
    options = url;
    url = undefined;
  }
  url = options.url || "";
  options.accepts = {
    "*": "*/".concat("*"),
    "text": "text/plain, */*; q=0.01",
    "html": "text/html, */*; q=0.01",
    "xml": "application/xml, text/xml, */*; q=0.01",
    "json": "application/json, text/javascript, */*; q=0.01",
    "script": "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01"
  };
  options.processData = typeof options.processData !== "undefined" ? options.processData : true;
  options.setRequestHeader = function (name, value) {
    requestObj.headers[name] = value;
  };
  var requestObj = {};
  requestObj.headers = requestObj.headers || {};
  requestObj.method = options.type || options.method || "GET";
  if (requestObj.method.toUpperCase() === "GET") {
    if (options.data &amp;&amp; typeof options.data === "string") {
      url = url.endsWith('?') ? url.concat(options.data) : url.concat('?', options.data);
    }
  } else {
    requestObj.body = options.data || '';
  }
  if (options.data &amp;&amp; typeof options.data !== "string" &amp;&amp; options.processData) {
    // handle case where options.data is not in object format, but an array of [... {name: X, value: Y}] (forms)
    var newData = {};
    if (Array.isArray(options.data)) {
      var _iterator = ajax_createForOfIteratorHelper(options.data),
        _step;
      try {
        for (_iterator.s(); !(_step = _iterator.n()).done;) {
          var entry = _step.value;
          newData[entry.name] = entry.value;
        }
      } catch (err) {
        _iterator.e(err);
      } finally {
        _iterator.f();
      }
    } else {
      newData = options.data;
    }
    if (requestObj.method.toUpperCase() === "GET") {
      url = url.endsWith('?') ? url.concat(param(newData)) : url.concat('?', param(newData));
    } else {
      requestObj.body = param(newData);
    }

    // if method is of "POST", set contentType to application/x-www-form-urlencoded for server to expect encoded body string
    if (requestObj.method.toUpperCase() === "POST") options.contentType = "application/x-www-form-urlencoded";
  }
  if (options.data &amp;&amp; options.processData &amp;&amp; (options.contentType || "").indexOf("application/x-www-form-urlencoded") === 0) {
    requestObj.body = requestObj.body.replace("%20", "+");
  }
  if (requestObj.body === '') {
    delete requestObj.body;
  }
  for (var i in options.headers) {
    requestObj.headers[i] = options.headers[i];
  }
  requestObj.headers["Content-Type"] = "application/json;charset=utf-8";
  if (options.contentType !== undefined) {
    requestObj.headers['Content-Type'] = options.contentType;
  }
  if (options.contentType === false) {
    delete requestObj.headers['Content-Type'];
  }
  if (options.dataType &amp;&amp; options.accepts[options.dataType]) {
    requestObj.headers["Accept"] = options.accepts[options.dataType] ? options.accepts[options.dataType] : options.accepts["*"];
  }
  if (typeof options.beforeSend === "function") {
    options.beforeSend(options);
  }
  if (options.cache === false) {
    var timestamp = "".concat(/\?/.test(url) ? "&amp;" : "?", "_=").concat(new Date().getTime());
    url = url.concat(timestamp);
  }
  var controller = new AbortController();
  var signal = controller.signal;
  requestObj['signal'] = signal;
  var xhr = fetch(url, requestObj);
  var doneCallback, failCallback, alwaysCallback, onFulfilled, onRejected;
  var xhrClone = new Promise(function (resolve, reject) {
    onFulfilled = resolve;
    onRejected = reject;
  });
  xhr.getResponseHeader = function (header) {
    return xhr.responseCache.headers.get(header);
  };
  var success = function success(xhr, callback, response) {
    callback(response, "success", xhr);
  };
  var fail = function fail(xhr, callback, error) {
    callback(xhr, "error", error);
  };
  xhr.then(function (response) {
    xhr.responseCache = response;
    if (response.errors &amp;&amp; response.errors.length) {
      throw new Error(response.errors);
    } else {
      if (options.dataType === "text") {
        return response.text();
      } else if (options.dataType === "html" || options.dataType === "script" || options.dataType === "custom") {
        return response.blob();
      } else {
        return response.json();
      }
    }
  }).then(function (response) {
    if (options.dataType === "script") {
      var src = window.URL.createObjectURL(response);
      var script = document.createElement("script");
      script.src = src;
      document.body.appendChild(script);
    }
    if (typeof options.success === "function") {
      success(xhr, options.success, response);
    }
    if (typeof doneCallback === "function") {
      success(xhr, doneCallback, response);
    }
    if (typeof alwaysCallback === "function") {
      success(xhr, alwaysCallback, response);
    }
    onFulfilled(response);
  })["catch"](function (error) {
    if (typeof options.error === "function") {
      fail(xhr, options.error, error);
    }
    if (typeof failCallback === "function") {
      fail(xhr, failCallback, error);
    }
    if (typeof alwaysCallback === "function") {
      fail(xhr, alwaysCallback, error);
    }
    onRejected(error);
  });
  xhrClone.done = function (callback) {
    doneCallback = callback;
    return xhrClone;
  };
  xhrClone.fail = function (callback) {
    failCallback = callback;
    return xhrClone;
  };
  xhrClone.always = function (callback) {
    alwaysCallback = callback;
    return xhrClone;
  };
  xhrClone.abort = function () {
    controller.abort();
  };
  return xhrClone;
}
function ajax_get(url, data, callback, type, contentType) {
  if (typeof data === "function") {
    type = type || callback;
    contentType = contentType || type;
    callback = data;
    data = undefined;
  }
  return ajax({
    url: url,
    data: data,
    dataType: type,
    contentType: contentType,
    type: "get",
    success: callback
  });
}
function getJSON(url, data, callback) {
  return ajax_get(url, data, callback, "json");
}
function getScript(url, callback) {
  return ajax_get(url, undefined, callback, "script", "application/javascript");
}
;// CONCATENATED MODULE: ./source/etc/clientlibs/kpmgpublic/global/js/plus/init.js






function init_callSuper(t, o, e) { return o = (0,getPrototypeOf/* default */.A)(o), (0,possibleConstructorReturn/* default */.A)(t, init_isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,getPrototypeOf/* default */.A)(t).constructor) : o.apply(t, e)); }
function init_isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (init_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }





var EXPIRE_TIME = 10000;
var Plus = /*#__PURE__*/function (_Classes) {
  function Plus() {
    var _this;
    (0,classCallCheck/* default */.A)(this, Plus);
    _this = init_callSuper(this, Plus);
    _this._domElem = [];
    if (!_this.constructor._plusInstances) {
      _this.constructor._plusInstances = [_this];
    } else {
      _this.constructor._plusInstances.push(_this);
    }
    // set reference to expire after EXPIRE_TIME to avoid memory hazards
    setTimeout(function () {
      _this.constructor._plusInstances.splice(_this.constructor._plusInstances.indexOf(_this), 1);
    }, EXPIRE_TIME);
    return _this;
  }
  (0,inherits/* default */.A)(Plus, _Classes);
  return (0,createClass/* default */.A)(Plus, [{
    key: "domElem",
    get: function get() {
      return this._domElem;
    },
    set: function set(domElem) {
      this._domElem = this._domElem.push(domElem);
    }
  }]);
}(Classes([Events, Selectors, Utils, Effects, Ajax]));
(0,defineProperty/* default */.A)(Plus, "_plusInstances", void 0);

function Classes(bases) {
  var Bases = /*#__PURE__*/(0,createClass/* default */.A)(function Bases() {
    var _this2 = this;
    (0,classCallCheck/* default */.A)(this, Bases);
    bases.forEach(function (base) {
      return Object.assign(_this2, new base());
    });
  });
  bases.forEach(function (base) {
    Object.getOwnPropertyNames(base.prototype).filter(function (prop) {
      return prop != 'constructor';
    }).forEach(function (prop) {
      return Bases.prototype[prop] = base.prototype[prop];
    });
  });
  return Bases;
}
;// CONCATENATED MODULE: ./source/etc/clientlibs/kpmgpublic/global/js/plus/plugins/native.detectresize.min.js

(function (Plus) {
  var attachEvent = document.attachEvent,
    stylesCreated = false,
    triggerCount = 1;
  var plus_resize = Object.getPrototypeOf(Plus.prototype).resize;
  Object.setPrototypeOf(Plus.prototype, Object.assign(Object.getPrototypeOf(Plus.prototype), {
    resize: function resize(callback) {
      var _self = this;
      return this.each(function (idx, el) {
        if (el === window) {
          _self.init(el);
          plus_resize.call(_self, callback);
        } else addResizeListener(el, callback);
      });
    },
    removeResize: function removeResize(callback) {
      return this.each(function (idx, el) {
        removeResizeListener(el, callback);
      });
    }
  }));
  if (!attachEvent) {
    var requestFrame = function () {
      var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function (fn) {
        return window.setTimeout(fn, 20);
      };
      return function (fn) {
        return raf(fn);
      };
    }();
    var cancelFrame = function () {
      var cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout;
      return function (id) {
        return cancel(id);
      };
    }();

    /* Detect CSS Animations support to detect element display/re-attach */
    var animation = false,
      animationstring = 'animation',
      keyframeprefix = '',
      animationstartevent = 'animationstart',
      domPrefixes = 'Webkit Moz O ms'.split(' '),
      startEvents = 'webkitAnimationStart animationstart oAnimationStart MSAnimationStart'.split(' '),
      pfx = '';
    {
      var elm = document.createElement('fakeelement');
      if (elm.style.animationName !== undefined) {
        animation = true;
      }
      if (animation === false) {
        for (var i = 0; i &lt; domPrefixes.length; i++) {
          if (elm.style[domPrefixes[i] + 'AnimationName'] !== undefined) {
            pfx = domPrefixes[i];
            animationstring = pfx + 'Animation';
            keyframeprefix = '-' + pfx.toLowerCase() + '-';
            animationstartevent = startEvents[i];
            animation = true;
            break;
          }
        }
      }
    }
    var animationName = 'resizeanim';
    var animationKeyframes = '@' + keyframeprefix + 'keyframes ' + animationName + ' { from { opacity: 0; } to { opacity: 0; } } ';
    var animationStyle = keyframeprefix + 'animation: 1ms ' + animationName + '; ';
  }
  function resetTriggers(element) {
    var triggers = element.__resizeTriggers__,
      expand = triggers.firstElementChild,
      contract = triggers.lastElementChild,
      expandChild = expand.firstElementChild;
    contract.scrollLeft = contract.scrollWidth;
    contract.scrollTop = contract.scrollHeight;
    expandChild.style.width = expand.offsetWidth + 1 + 'px';
    expandChild.style.height = expand.offsetHeight + 1 + 'px';
    expand.scrollLeft = expand.scrollWidth;
    expand.scrollTop = expand.scrollHeight;
  }
  ;
  function checkTriggers(element) {
    if (!element.__resizeLast__.height) {
      triggerCount = 1;
    }
    return element.offsetWidth != element.__resizeLast__.width || element.offsetHeight != element.__resizeLast__.height;
  }
  function scrollListener(e) {
    var element = this;
    resetTriggers(this);
    if (this.__resizeRAF__) cancelFrame(this.__resizeRAF__);
    this.__resizeRAF__ = requestFrame(function () {
      if (checkTriggers(element) &amp;&amp; triggerCount &lt;= 3) {
        triggerCount++;
        element.__resizeLast__.width = element.offsetWidth;
        element.__resizeLast__.height = element.offsetHeight;
        element.__resizeListeners__.forEach(function (fn) {
          fn.call(element, e);
        });
      }
    });
  }
  ;
  function createStyles() {
    if (!stylesCreated) {
      //opacity:0 works around a chrome bug https://code.google.com/p/chromium/issues/detail?id=286360
      var css = (animationKeyframes ? animationKeyframes : '') + '.resize-triggers { ' + (animationStyle ? animationStyle : '') + 'visibility: hidden; opacity: 0; } ' + '.resize-triggers, .resize-triggers &gt; div, .contract-trigger:before { content: \" \"; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; } .resize-triggers &gt; div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',
        head = document.head || document.getElementsByTagName('head')[0],
        style = document.createElement('style');
      style.type = 'text/css';
      if (style.styleSheet) {
        style.styleSheet.cssText = css;
      } else {
        style.appendChild(document.createTextNode(css));
      }
      head.appendChild(style);
      stylesCreated = true;
    }
  }
  window.addResizeListener = function (element, fn) {
    if (attachEvent) {
      element.attachEvent('onresize', fn);
      fn();
    } else {
      if (!element.__resizeTriggers__) {
        if (getComputedStyle(element).position == 'static') element.style.position = 'relative';
        createStyles();
        element.__resizeLast__ = {};
        element.__resizeListeners__ = [];
        (element.__resizeTriggers__ = document.createElement('div')).className = 'resize-triggers';
        element.__resizeTriggers__.innerHTML = '&lt;div class="expand-trigger"&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;' + '&lt;div class="contract-trigger"&gt;&lt;/div&gt;';
        element.appendChild(element.__resizeTriggers__);
        resetTriggers(element);
        element.addEventListener('scroll', scrollListener, true);

        /* Listen for a css animation to detect element display/re-attach */
        animationstartevent &amp;&amp; element.__resizeTriggers__.addEventListener(animationstartevent, function (e) {
          if (e.animationName == animationName) resetTriggers(element);
        });
      }
      element.__resizeListeners__.push(fn);
    }
  };
  window.removeResizeListener = function (element, fn) {
    if (attachEvent) element.detachEvent('onresize', fn);else {
      element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1);
      if (!element.__resizeListeners__.length) {
        element.removeEventListener('scroll', scrollListener);
        element.__resizeTriggers__ = !element.removeChild(element.__resizeTriggers__);
      }
    }
  };
})(Plus);
;// CONCATENATED MODULE: ./source/etc/clientlibs/kpmgpublic/global/js/plus/plugins/native.kpmg-unveil.js
/**
 * jQuery Unveil
 * A very lightweight jQuery plugin to lazy load images
 * http://luis-almeida.github.com/unveil
 *
 * Licensed under the MIT license.
 * Copyright 2013 LuÃ­s Almeida
 * https://github.com/luis-almeida
 * modifed to use the plus library
 */

(function (Plus) {
  Object.setPrototypeOf(Plus.prototype, Object.assign(Object.getPrototypeOf(Plus.prototype), {
    unveil: function unveil(threshold, callback) {
      var th = threshold || 0,
        mobile = window.kpmg.isMobile,
        attrib = mobile ? "data-mobile" : "data-desktop",
        images = this,
        _self = this,
        container = this._domElem,
        loaded;
      this.one("unveil", function () {
        var el = this;
        var source = el.getAttribute(attrib);
        source = source || el.getAttribute("data-desktop");
        if (source) {
          el.setAttribute("src", source);
          if (typeof callback === "function") {
            _self.init(el);
            _self.trigger('unveil.loaded');
            callback.call(el);
            // reset self once operation complete
            _self._domElem = container;
          }
        }
      });
      function unveil() {
        /*!
        * Determine if an element is in the viewport
        * (c) 2017 Chris Ferdinandi, MIT License, https://gomakethings.com
        * @param  {Node}    elem The element
        * @return {Boolean}      Returns true if element is in the viewport
        */
        var isInViewport = function isInViewport(elem) {
          var distance = elem.getBoundingClientRect();
          return distance.top &gt;= 0 &amp;&amp; distance.left &gt;= 0 &amp;&amp; distance.bottom - 100 &lt;= (window.innerHeight || document.documentElement.clientHeight) &amp;&amp; distance.right &lt;= (window.innerWidth || document.documentElement.clientWidth);
        };
        var inview = images.filter(function () {
          return isInViewport(this);
        });
        loaded = inview.trigger("unveil")._domElem;
        // reset self once operation complete
        _self._domElem = container;
        images = images.not(loaded);
      }
      document.addEventListener("click", unveil);
      document.addEventListener("mousedown", unveil);
      document.addEventListener("keydown", unveil);
      document.addEventListener("load", unveil);
      document.addEventListener('touchmove', unveil, false);
      window.addEventListener("scroll", unveil);
      window.addEventListener("resize", unveil);
      window.addEventListener("lookup", unveil);
      unveil();
      return this;
    }
  }));
})(Plus);
;// CONCATENATED MODULE: ./source/etc/clientlibs/kpmgpublic/global/js/plus/plugins/native.cookie.js
/* harmony default export */ function native_cookie(utilsObj) {
  var cookie, removeCookie, config;
  var pluses = /\+/g;
  function encode(s) {
    return config.raw ? s : encodeURIComponent(s);
  }
  function decode(s) {
    return config.raw ? s : decodeURIComponent(s);
  }
  function stringifyCookieValue(value) {
    return encode(config.json ? JSON.stringify(value) : String(value));
  }
  function parseCookieValue(s) {
    if (s.indexOf('"') === 0) {
      // This is a quoted cookie as according to RFC2068, unescape...
      s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
    }
    try {
      // Replace server-side written pluses with spaces.
      // If we can't decode the cookie, ignore it, it's unusable.
      // If we can't parse the cookie, ignore it, it's unusable.
      s = decodeURIComponent(s.replace(pluses, ' '));
      return config.json ? JSON.parse(s) : s;
    } catch (e) {}
  }
  function isFunction(func) {
    return typeof func === "function";
  }
  function read(s, converter) {
    var value = config.raw ? s : parseCookieValue(s);
    return isFunction(converter) ? converter(value) : value;
  }
  config = cookie = function cookie(key, value, options) {
    // Write
    if (value !== undefined &amp;&amp; !isFunction(value)) {
      options = utilsObj.extend({}, config.defaults, options);
      if (typeof options.expires === 'number') {
        var days = options.expires,
          t = options.expires = new Date();
        t.setTime(+t + days * 864e+5);
      }
      return document.cookie = [encode(key), '=', stringifyCookieValue(value), options.expires ? '; expires=' + options.expires.toUTCString() : '',
      // use expires attribute, max-age is not supported by IE
      options.path ? '; path=' + options.path : '', options.domain ? '; domain=' + options.domain : '', options.secure ? '; secure' : ''].join('');
    }
    // Read
    var result = key ? undefined : {};
    // To prevent the for loop in the first place assign an empty array
    // in case there are no cookies at all. Also prevents odd result when
    // calling $.cookie().
    var cookies = document.cookie ? document.cookie.split('; ') : [];
    for (var i = 0, l = cookies.length; i &lt; l; i++) {
      var parts = cookies[i].split('=');
      var name = decode(parts.shift());
      var cookie = parts.join('=');
      if (key &amp;&amp; key === name) {
        // If second argument (value) is a function it's a converter...
        result = read(cookie, value);
        break;
      }
      // Prevent storing a cookie that we couldn't decode.
      if (!key &amp;&amp; (cookie = read(cookie)) !== undefined) {
        result[name] = cookie;
      }
    }
    return result;
  };
  config.defaults = {};
  removeCookie = function removeCookie(key, options) {
    if (cookie(key) === undefined) {
      return false;
    }
    // Must not alter options, thus extending a fresh object...
    cookie(key, '', utilsObj.extend({}, options, {
      expires: -1
    }));
    return !cookie(key);
  };

  // cookieMgr object
  return {
    cookie: cookie,
    removeCookie: removeCookie
  };
}
;
;// CONCATENATED MODULE: ./source/etc/clientlibs/kpmgpublic/global/js/plus/library.js


function library_createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol &amp;&amp; r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = library_unsupportedIterableToArray(r)) || e &amp;&amp; r &amp;&amp; "number" == typeof r.length) { t &amp;&amp; (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n &gt;= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
function library_unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return library_arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t &amp;&amp; r.constructor &amp;&amp; (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? library_arrayLikeToArray(r, a) : void 0; } }
function library_arrayLikeToArray(r, a) { (null == a || a &gt; r.length) &amp;&amp; (a = r.length); for (var e = 0, n = Array(a); e &lt; a; e++) n[e] = r[e]; return n; }







var _initialize = function initialize(selector, context) {
  //declaration of init variables
  var regClass = /\./g,
    regId = /\#/g,
    isAttrSelector = /\=\"|\=\'+/g,
    isNotEqlSelector = /\!=+/g,
    isSnglQuote = /\'/g,
    isDblQuote = /\"/g,
    isColon = /\:/;
  var match,
    elem,
    domElem,
    domElemLength = 0,
    itsClass = false,
    itsId = false,
    itsHtmlTag = false;
  var plus = new Plus();

  //Handle (""), (null), (undefined), (false)
  if (!selector) {
    return plus;
  }
  if (selector === document.defaultView &amp;&amp; plus._domElem[0] &amp;&amp; plus._domElem[0].nodeType === 1) return plus;else {
    plus.prevObj = plus._domElem || libUtils.options.winDoc;
    plus._domElem = [];
  }
  if (selector instanceof Plus &amp;&amp; !context) {
    // if it's already a plus instance and no context, clone it's props and return
    plus._domElem = selector._domElem;
    plus.length = selector.length;
    return plus;
  }
  if (context &amp;&amp; !(context instanceof Plus)) {
    // take advantage of context handlers below where context is a plus object
    context = _initialize(context);
  }
  if (typeof selector === "string") {
    if (selector[0] === "&lt;" &amp;&amp; selector[selector.length - 1] === "&gt;" &amp;&amp; selector.length &gt;= 3) {
      match = [null, selector, null];
    }
    if (typeof context === "string") {
      context = "";
    }
    // string which is containing newline and carriage return character will be mostly html templates
    if (/\r|\n/.test(selector)) {
      var parser = new DOMParser();
      var doc4 = parser.parseFromString(selector, "text/html");
      var _iterator = library_createForOfIteratorHelper(doc4.body.children),
        _step;
      try {
        for (_iterator.s(); !(_step = _iterator.n()).done;) {
          var item = _step.value;
          item.isAhtmlString = true;
          plus._domElem.push(item);
        }
      } catch (err) {
        _iterator.e(err);
      } finally {
        _iterator.f();
      }
      plus.length = plus._domElem.length;
      return plus;
    }

    // Match html or make sure no context is specified for #id
    if (match &amp;&amp; (match[1] || !context)) {
      if (match[1]) {
        var _parser = new DOMParser();
        var htmlString = match[1];
        var doc3 = _parser.parseFromString(htmlString, "text/html");
        var _iterator2 = library_createForOfIteratorHelper(doc3.body.children),
          _step2;
        try {
          for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
            var _item = _step2.value;
            _item.isAhtmlString = true;
            plus._domElem.push(_item);
          }
        } catch (err) {
          _iterator2.e(err);
        } finally {
          _iterator2.f();
        }
        plus.length = plus._domElem.length;
        return plus;
        // HANDLE: (#id)
      } else {
        elem = document.getElementById(match[2]);
        if (elem) {
          // Inject the element directly into the object
          plus[0] = elem;
          plus.length = 1;
        }
        return plus;
      }
    } else if (isAttrSelector.test(selector) &amp;&amp; isNotEqlSelector.test(selector)) {
      //Attribute selector - not equal selector ex: "a[hreflang!='en']"
      var newSelector = libUtils.escapeClassnameQueryCSS(selector.split('!=')[0] + ']');
      var attrVal = selector.split('!=')[1].split(']')[0];
      attrVal = isSnglQuote.test(attrVal) ? attrVal.replace(isSnglQuote, "") : isDblQuote.test(attrVal) ? attrVal.replace(isDblQuote, "") : attrVal;
      attrVal = attrVal.trim();
      if (context &amp;&amp; context.length) {
        domElem = [];
        var _iterator3 = library_createForOfIteratorHelper(context.domElem),
          _step3;
        try {
          for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
            var _domElem;
            var el = _step3.value;
            (_domElem = domElem).push.apply(_domElem, (0,toConsumableArray/* default */.A)(el.querySelectorAll(newSelector)));
          }
        } catch (err) {
          _iterator3.e(err);
        } finally {
          _iterator3.f();
        }
        domElem = (0,toConsumableArray/* default */.A)(new Set(domElem)); // prevent duplicates
      } else {
        domElem = document.querySelectorAll(newSelector);
      }
      domElem.forEach(function (dom) {
        if (dom.name !== attrVal) plus._domElem.push(dom);
      });
      plus.length = plus._domElem.length;
      return plus;
    } else if (isColon.test(selector)) {
      if (selector.indexOf('button') &gt; -1) {
        selector = "button, input[type='button']";
      } else if (selector.indexOf('input') &gt; -1) {
        selector = "button, input, select, textarea";
      } else if (selector.indexOf('checkbox') &gt; -1) {
        selector = "[type='checkbox']";
      } else if (selector.indexOf(':first-child') &gt; -1) {
        selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
        if (context &amp;&amp; context.length) {
          domElem = [];
          var _iterator4 = library_createForOfIteratorHelper(context.domElem),
            _step4;
          try {
            for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
              var _domElem2;
              var _el = _step4.value;
              (_domElem2 = domElem).push.apply(_domElem2, (0,toConsumableArray/* default */.A)(_el.querySelectorAll(selector)));
            }
          } catch (err) {
            _iterator4.e(err);
          } finally {
            _iterator4.f();
          }
          domElem = (0,toConsumableArray/* default */.A)(new Set(domElem)); // prevent duplicates
        } else {
          domElem = document.querySelectorAll(selector);
        }
        if (domElem.length === 0) {
          plus.length = 0;
        } else {
          plus._domElem.push(domElem[0]);
          plus.length = plus._domElem.length;
        }
        return plus;
      } else if (selector.indexOf(':last-child') &gt; -1) {
        selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
        if (context &amp;&amp; context.length) {
          domElem = [];
          var _iterator5 = library_createForOfIteratorHelper(context.domElem),
            _step5;
          try {
            for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
              var _domElem3;
              var _el2 = _step5.value;
              (_domElem3 = domElem).push.apply(_domElem3, (0,toConsumableArray/* default */.A)(_el2.querySelectorAll(selector)));
            }
          } catch (err) {
            _iterator5.e(err);
          } finally {
            _iterator5.f();
          }
          domElem = (0,toConsumableArray/* default */.A)(new Set(domElem)); // prevent duplicates
        } else {
          domElem = document.querySelectorAll(selector);
        }
        domElemLength = domElem.length - 1;
        plus._domElem.push(domElem[domElemLength]);
        plus.length = plus._domElem.length;
        return plus;
      } else if (selector.indexOf(':nth-child') &gt; -1) {
        var _newSelector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]),
          selectorNum = selector.split(':')[1].split('(')[1].split(')')[0],
          incrementer = 0,
          startFrom = 0,
          nthChild = false,
          oddEvenFlg = false;
        if (/n\+/.test(selectorNum)) {
          incrementer = parseInt(selectorNum.split('n')[0]);
          startFrom = parseInt(selectorNum.split('+')[1]);
          nthChild = true;
        } else if (selectorNum === 'odd' || selectorNum === 'even') {
          oddEvenFlg = true;
        } else {
          selectorNum = parseInt(selectorNum) - 1;
        }
        if (context &amp;&amp; context.length) {
          domElem = [];
          var _iterator6 = library_createForOfIteratorHelper(context.domElem),
            _step6;
          try {
            for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
              var _domElem4;
              var _el3 = _step6.value;
              (_domElem4 = domElem).push.apply(_domElem4, (0,toConsumableArray/* default */.A)(_el3.querySelectorAll(_newSelector)));
            }
          } catch (err) {
            _iterator6.e(err);
          } finally {
            _iterator6.f();
          }
          domElem = (0,toConsumableArray/* default */.A)(new Set(domElem)); // prevent duplicates
        } else {
          domElem = document.querySelectorAll(_newSelector);
        }
        domElemLength = domElem.length;
        if (typeof selectorNum === 'number' &amp;&amp; selectorNum &lt; domElemLength) {
          plus._domElem.push(domElem[selectorNum]);
        } else if (nthChild) {
          //if it has :nth-child(an+b)
          var counter = 0,
            startInjection = false;
          domElem.forEach(function (dom, index) {
            if (index === startFrom - 1 &amp;&amp; startFrom !== 0) {
              plus._domElem.push(dom);
              startInjection = true;
            } else if (startFrom === 0) {
              startInjection = true;
            }
            if (startInjection) {
              if (counter !== 0 &amp;&amp; counter % incrementer === 0) {
                plus._domElem.push(dom);
              }
              counter++;
            }
          });
        } else if (oddEvenFlg) {
          //if it has :nth-child(odd) or it has :nth-child(even)
          domElem.forEach(function (dom, index) {
            if (index % 2 !== 0 &amp;&amp; selectorNum === 'even') {
              plus._domElem.push(dom);
            } else if (index % 2 === 0 &amp;&amp; selectorNum === 'odd') {
              plus._domElem.push(dom);
            }
          });
        }
        plus.length = plus._domElem.length;
        return plus;
      } else if (selector.indexOf(':visible') &gt; -1 || selector.indexOf(':hidden') &gt; -1) {
        var visibility = selector.indexOf(':visible') &gt; -1 ? 'visible' : 'hidden';
        selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
        if (context &amp;&amp; context.length) {
          domElem = [];
          var _iterator7 = library_createForOfIteratorHelper(context.domElem),
            _step7;
          try {
            for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
              var _domElem5;
              var _el4 = _step7.value;
              (_domElem5 = domElem).push.apply(_domElem5, (0,toConsumableArray/* default */.A)(_el4.querySelectorAll(selector)));
            }
          } catch (err) {
            _iterator7.e(err);
          } finally {
            _iterator7.f();
          }
          domElem = (0,toConsumableArray/* default */.A)(new Set(domElem)); // prevent duplicates
        } else {
          domElem = document.querySelectorAll(selector);
        }
        domElem.forEach(function (dom) {
          if (visibility === 'visible' &amp;&amp; dom.clientHeight &gt; 0) {
            plus._domElem.push(dom);
          } else if (visibility === 'hidden' &amp;&amp; dom.clientHeight === 0) {
            plus._domElem.push(dom);
          }
        });
        plus.length = plus._domElem.length;
        return plus;
      } else if (selector.indexOf(':selected') &gt; -1) {
        selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
        if (!selector) selector = "option";
        if (context &amp;&amp; context.length) {
          domElem = [];
          var _iterator8 = library_createForOfIteratorHelper(context.domElem),
            _step8;
          try {
            for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
              var _domElem6;
              var _el5 = _step8.value;
              (_domElem6 = domElem).push.apply(_domElem6, (0,toConsumableArray/* default */.A)(_el5.querySelectorAll(selector)));
            }
          } catch (err) {
            _iterator8.e(err);
          } finally {
            _iterator8.f();
          }
          domElem = (0,toConsumableArray/* default */.A)(new Set(domElem)); // prevent duplicates
        } else {
          domElem = document.querySelectorAll(selector);
        }
        domElem.forEach(function (dom) {
          if (dom.selected === true) {
            plus._domElem.push(dom);
          }
        });
        plus.length = plus._domElem.length;
        return plus;
      } else if (selector.indexOf(':last') &gt; -1) {
        selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
        if (context &amp;&amp; context.length) {
          domElem = [];
          var _iterator9 = library_createForOfIteratorHelper(context.domElem),
            _step9;
          try {
            for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
              var _domElem7;
              var _el6 = _step9.value;
              (_domElem7 = domElem).push.apply(_domElem7, (0,toConsumableArray/* default */.A)(_el6.querySelectorAll(selector)));
            }
          } catch (err) {
            _iterator9.e(err);
          } finally {
            _iterator9.f();
          }
          domElem = (0,toConsumableArray/* default */.A)(new Set(domElem)); // prevent duplicates
        } else {
          domElem = document.querySelectorAll(selector);
        }
        plus._domElem.push(domElem[domElem.length - 1]);
        plus.length = 1;
        return plus;
      } else if (selector.indexOf(':not') &gt; -1) {
        var filter = selector.substring(selector.indexOf(':') + 1);
        selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
        // https://stackoverflow.com/questions/17779744/regular-expression-to-get-a-string-between-parentheses-in-javascript/17780281
        var regExp = /\(([^)]+)\)/;
        filter = regExp.exec(filter)[1];
        if (filter &amp;&amp; filter.charAt(filter.length - 1) !== "\"" &amp;&amp; filter.charAt(filter.length - 1) !== "'") {
          filter = "\"".concat(filter.replace(/\"/g, "'"), "\"");
        }
        filter = JSON.parse(filter);
        if (context &amp;&amp; context.length) {
          var _iterator10 = library_createForOfIteratorHelper(context.domElem),
            _step10;
          try {
            for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
              var _plus$_domElem;
              var _el7 = _step10.value;
              (_plus$_domElem = plus._domElem).push.apply(_plus$_domElem, (0,toConsumableArray/* default */.A)(_el7.querySelectorAll(selector)));
            }
          } catch (err) {
            _iterator10.e(err);
          } finally {
            _iterator10.f();
          }
          plus._domElem = (0,toConsumableArray/* default */.A)(new Set(plus._domElem)); // prevent duplicates
        } else {
          plus._domElem = document.querySelectorAll(selector);
        }
        plus.length = plus._domElem.length;
        return plus.not(filter);
      }
      if (context &amp;&amp; context.length) {
        domElem = [];
        var _iterator11 = library_createForOfIteratorHelper(context.domElem),
          _step11;
        try {
          for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
            var _domElem8;
            var _el8 = _step11.value;
            (_domElem8 = domElem).push.apply(_domElem8, (0,toConsumableArray/* default */.A)(_el8.querySelectorAll(libUtils.escapeClassnameQueryCSS(selector))));
          }
        } catch (err) {
          _iterator11.e(err);
        } finally {
          _iterator11.f();
        }
        domElem = (0,toConsumableArray/* default */.A)(new Set(domElem)); // prevent duplicates
      } else {
        domElem = document.querySelectorAll(libUtils.escapeClassnameQueryCSS(selector));
      }
      domElem.forEach(function (dom) {
        return plus._domElem.push(dom);
      });
      plus.length = plus._domElem.length;
      return plus;
    } else {
      itsClass = regClass.test(selector);
      itsId = regId.test(selector);
      if (!itsClass &amp;&amp; !itsId) itsHtmlTag = true;
      if (context &amp;&amp; context.length) {
        domElem = [];
        var _iterator12 = library_createForOfIteratorHelper(context.domElem),
          _step12;
        try {
          for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {
            var _el9 = _step12.value;
            //node like &lt;p&gt; or &lt;div&gt;. || A Document node.
            if (_el9.nodeType === 1 || _el9.nodeType === 9) {
              var _domElem9;
              (_domElem9 = domElem).push.apply(_domElem9, (0,toConsumableArray/* default */.A)(_el9.querySelectorAll(libUtils.escapeClassnameQueryCSS(selector))));
            }
          }
        } catch (err) {
          _iterator12.e(err);
        } finally {
          _iterator12.f();
        }
        domElem = (0,toConsumableArray/* default */.A)(new Set(domElem)); // prevent duplicates
      } else {
        domElem = document.querySelectorAll(libUtils.escapeClassnameQueryCSS(selector));
      }
      domElem.forEach(function (dom) {
        return plus._domElem.push(dom);
      });
      plus.length = plus._domElem.length;
      return plus;
    }
  } else if ((0,esm_typeof/* default */.A)(selector) === 'object' &amp;&amp; selector === libUtils.options.winObj) {
    plus[0] = selector;
    plus._domElem.push(selector);
    plus.length = 1;
    return plus;
    //TODO: Need to assign the plus._domElem with selector
  } else if ((0,esm_typeof/* default */.A)(selector) === 'object' &amp;&amp; selector.hasOwnProperty('_domElem')) {
    plus._domElem = (0,toConsumableArray/* default */.A)(selector._domElem);
    plus.length = plus._domElem.length;
    return plus;
  } else if (selector.nodeType) {
    if (selector.nodeType === 9) {
      plus[0] = selector;
      plus._domElem.push(selector);
      plus.length = 1;
    } else {
      plus._domElem.push(selector);
      plus.length = plus._domElem.length;
    }
    return plus;

    // HANDLE: $(function)
    // Shortcut for document ready
  } else if (selector.constructor &amp;&amp; selector.constructor.name === "HTMLCollection") {
    var _iterator13 = library_createForOfIteratorHelper(selector),
      _step13;
    try {
      for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {
        var _el10 = _step13.value;
        plus._domElem.push(_el10);
      }
    } catch (err) {
      _iterator13.e(err);
    } finally {
      _iterator13.f();
    }
    plus.length = selector.length;
    return plus;
  } else if (typeof selector === "function") {
    return plus.ready(selector);
  }
  //libUtils.resetDom(plus);
  return plus;
};
var cookieMgrObj = native_cookie(utils_namespaceObject);
var libraryObj;
libraryObj = Object.assign(_initialize, ajax_namespaceObject);
libraryObj = Object.assign(_initialize, utils_namespaceObject);
libraryObj = Object.assign(_initialize, cookieMgrObj);
var library_plus = window.plus = libraryObj;
if (typeof define === "function" &amp;&amp; __webpack_require__.amdO) {
  define("plus", [], function () {
    return library_plus;
  });
}
/* harmony default export */ const library = (library_plus);
// EXTERNAL MODULE: ./src/components/atoms/image/image.tsx
var image_image = __webpack_require__(9726);
// EXTERNAL MODULE: ./src/dependencies/utils/utility.js
var utility = __webpack_require__(4109);
// EXTERNAL MODULE: ./src/dependencies/modules/plus.js
var modules_plus = __webpack_require__(8081);
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(4848);
;// CONCATENATED MODULE: ./src/kpmg-components/contacttabsaccordion/templates/publicationlist.tsx






var Container = styled_components_browser_esm/* default */.Ay.div(["padding:10px;width:100%;position:relative;&amp;:hover:before{content:'';position:absolute;top:0px;left:0px;right:0px;bottom:0px;border:1px #cccccc solid;}.link-item{display:flex;text-decoration:none !important;&amp;:focus{box-shadow:0 0 3px #666666 !important;outline:1px solid rgba(102,102,102,0.5) !important;}&amp;:focus .publicationtext-title{text-decoration:underline;}}.publicationtext{width:65%;padding:0px 0px 0px 10px;overflow:hidden;h5,.publicationtext-title{font-family:'Open Sans',Arial,Helvetica,sans-serif;font-size:2rem !important;line-height:1.3 !important;font-weight:600 !important;color:#00338d;word-wrap:break-word !important;word-break:normal !important;margin:8px 0 !important;width:97%;&amp;:hover{text-decoration:underline;}&amp;:lang(zh-CN){font-family:'Noto Sans SC','\u5FAE\u8F6F\u96C5\u9ED1\u4F53','Microsoft YaHei New','\u5FAE\u8F6F\u96C5\u9ED1','Microsoft Yahei','\u51AC\u9752\u9ED1\u4F53','Hiragino Sans GB','\u9ED1\u4F53','SimHei','\u534E\u6587\u7EC6\u9ED1','STXihei',Arial,Helvetica Neue,Helvetica,sans-serif !important;font-weight:500 !important;}&amp;:lang(zh-TW){font-family:'Noto Sans TC','\u5FAE\u8F6F\u96C5\u9ED1\u4F53','Microsoft YaHei New','\u5FAE\u8F6F\u96C5\u9ED1','Microsoft Yahei','\u51AC\u9752\u9ED1\u4F53','Hiragino Sans GB','\u9ED1\u4F53','SimHei','\u534E\u6587\u7EC6\u9ED1','STXihei',Arial,Helvetica Neue,Helvetica,sans-serif !important;font-weight:500 !important;}&amp;:lang(ko){font-family:'Noto Sans KR','\uB9D1\uC740 \uACE0\uB515','Malgun Gothic',Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:500 !important;}&amp;:lang(ja){font-family:'Noto Sans JP','\u30E1\u30A4\u30EA\u30AA','Meiryo','\u30D2\u30E9\u30AE\u30CE\u89D2\u30B4 Pro','Hiragino Kaku Gothic Pro',Arial,Helvetica Neue,Helvetica,sans-serif !important;font-weight:500 !important;}}.date-readtime-wrap{display:flex;p.publication-date,p.readtime{width:auto;font-family:'Open Sans',Arial,Helvetica,sans-serif;font-size:1.6rem;line-height:1.3;font-weight:400;color:#333333;&amp;:lang(zh-CN){font-family:'Noto Sans SC','\u5FAE\u8F6F\u96C5\u9ED1\u4F53','Microsoft YaHei New','\u5FAE\u8F6F\u96C5\u9ED1','Microsoft Yahei','\u51AC\u9752\u9ED1\u4F53','Hiragino Sans GB','\u9ED1\u4F53','SimHei','\u534E\u6587\u7EC6\u9ED1','STXihei',Arial,Helvetica Neue,Helvetica,sans-serif !important;}&amp;:lang(zh-TW){font-family:'Noto Sans TC','\u5FAE\u8F6F\u96C5\u9ED1\u4F53','Microsoft YaHei New','\u5FAE\u8F6F\u96C5\u9ED1','Microsoft Yahei','\u51AC\u9752\u9ED1\u4F53','Hiragino Sans GB','\u9ED1\u4F53','SimHei','\u534E\u6587\u7EC6\u9ED1','STXihei',Arial,Helvetica Neue,Helvetica,sans-serif !important;}&amp;:lang(ko){font-family:'Noto Sans KR','\uB9D1\uC740 \uACE0\uB515','Malgun Gothic',Arial,Helvetica Neue,Helvetica,sans-serif;}&amp;:lang(ja){font-family:'Noto Sans JP','\u30E1\u30A4\u30EA\u30AA','Meiryo','\u30D2\u30E9\u30AE\u30CE\u89D2\u30B4 Pro','Hiragino Kaku Gothic Pro',Arial,Helvetica Neue,Helvetica,sans-serif !important;}}}.readtime{font-family:'Open Sans',Arial,Helvetica,sans-serif;font-size:1.6rem;line-height:1.3;font-weight:400;color:#333333;&amp;:lang(zh-CN){font-family:'Noto Sans SC','\u5FAE\u8F6F\u96C5\u9ED1\u4F53','Microsoft YaHei New','\u5FAE\u8F6F\u96C5\u9ED1','Microsoft Yahei','\u51AC\u9752\u9ED1\u4F53','Hiragino Sans GB','\u9ED1\u4F53','SimHei','\u534E\u6587\u7EC6\u9ED1','STXihei',Arial,Helvetica Neue,Helvetica,sans-serif !important;}&amp;:lang(zh-TW){font-family:'Noto Sans TC','\u5FAE\u8F6F\u96C5\u9ED1\u4F53','Microsoft YaHei New','\u5FAE\u8F6F\u96C5\u9ED1','Microsoft Yahei','\u51AC\u9752\u9ED1\u4F53','Hiragino Sans GB','\u9ED1\u4F53','SimHei','\u534E\u6587\u7EC6\u9ED1','STXihei',Arial,Helvetica Neue,Helvetica,sans-serif !important;}&amp;:lang(ko){font-family:'Noto Sans KR','\uB9D1\uC740 \uACE0\uB515','Malgun Gothic',Arial,Helvetica Neue,Helvetica,sans-serif;}&amp;:lang(ja){font-family:'Noto Sans JP','\u30E1\u30A4\u30EA\u30AA','Meiryo','\u30D2\u30E9\u30AE\u30CE\u89D2\u30B4 Pro','Hiragino Kaku Gothic Pro',Arial,Helvetica Neue,Helvetica,sans-serif !important;}&amp;.date-active{position:relative;margin-left:30px;&amp;:before{position:absolute;top:0;left:-19px;content:'\\007c';}}}}@media screen and (max-width:640px){padding:10px 0px;.link-item{display:block;}.publicationtext{width:100%;padding:0px 10px !important;}}"]);
var PublicationImage = styled_components_browser_esm/* default */.Ay.div(["width:237px;padding:0px;img{padding-bottom:0;max-width:237px;}@media screen and (max-width:640px){width:100%;img{max-width:100%;width:100%;}}"]);
var PublicationText = styled_components_browser_esm/* default */.Ay.div(["display:block;position:relative;"]);
var Paragraph = styled_components_browser_esm/* default */.Ay.p(["font-family:'Open Sans',Arial,Helvetica,sans-serif;font-size:1.6rem;line-height:1.3;font-weight:400;color:#333333;margin:7px 0 !important;width:100%;float:left;&amp;:lang(zh-CN){font-family:'Noto Sans SC','\u5FAE\u8F6F\u96C5\u9ED1\u4F53','Microsoft YaHei New','\u5FAE\u8F6F\u96C5\u9ED1','Microsoft Yahei','\u51AC\u9752\u9ED1\u4F53','Hiragino Sans GB','\u9ED1\u4F53','SimHei','\u534E\u6587\u7EC6\u9ED1','STXihei',Arial,Helvetica Neue,Helvetica,sans-serif !important;}&amp;:lang(zh-TW){font-family:'Noto Sans TC','\u5FAE\u8F6F\u96C5\u9ED1\u4F53','Microsoft YaHei New','\u5FAE\u8F6F\u96C5\u9ED1','Microsoft Yahei','\u51AC\u9752\u9ED1\u4F53','Hiragino Sans GB','\u9ED1\u4F53','SimHei','\u534E\u6587\u7EC6\u9ED1','STXihei',Arial,Helvetica Neue,Helvetica,sans-serif !important;}&amp;:lang(ko){font-family:'Noto Sans KR','\uB9D1\uC740 \uACE0\uB515','Malgun Gothic',Arial,Helvetica Neue,Helvetica,sans-serif;}&amp;:lang(ja){font-family:'Noto Sans JP','\u30E1\u30A4\u30EA\u30AA','Meiryo','\u30D2\u30E9\u30AE\u30CE\u89D2\u30B4 Pro','Hiragino Kaku Gothic Pro',Arial,Helvetica Neue,Helvetica,sans-serif !important;}"]);
var PublicationList = function PublicationList(props) {
  var _props$list$kpmg_arti, _props$list$kpmg_arti2, _props$list$kpmg_arti3, _props$list$kpmg_arti4, _props$list$kpmg_arti5, _props$list$kpmg_shor;
  var assetDomainVal = props.list.assetDomainName,
    imageUrl = props.list.kpmg_image ? props.list.kpmg_image.raw : '',
    imageAlt = props.list.kpmg_image_alt ? props.list.kpmg_image_alt.raw : '',
    nonDecAltText = props.list.kpmg_non_decorative_alt_text ? props.list.kpmg_non_decorative_alt_text.raw : '',
    isRenditionOptimized = props.list.kpmg_is_rendition_optimized ? props.list.kpmg_is_rendition_optimized.raw : '';
  (0,react.useEffect)(function () {
    if (props.className == 'focusOutline') {
      (0,modules_plus/* default */.A)('.publication-list a').eq(props.index).focus();
    }
  }, []);
  var gridImage = function gridImage(isRenditionOptimized, assetDomainName, imagePath, alt, nonDecAltText, loadingSrc) {
    var renditionPath = isRenditionOptimized === 'true' ? ":cq5dam.web.510.340" : ":cq5dam.web.512.341";
    return /*#__PURE__*/(0,jsx_runtime.jsx)(image_image/* default */.A, {
      src: loadingSrc,
      alt: nonDecAltText === 'false' ? "" : alt,
      className: "img-responsive lazy ".concat(nonDecAltText === 'false' ? 'decorative-img' : ''),
      dataDesktop: "".concat(assetDomainName).concat(imagePath).concat(renditionPath),
      dataMobile: "".concat(assetDomainName).concat(imagePath).concat(renditionPath)
    });
  };
  return /*#__PURE__*/(0,jsx_runtime.jsx)(Container, {
    className: "",
    children: /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
      href: props.list.kpmg_url.raw,
      "data-title": props.list.kpmg_title.raw,
      className: "link-item",
      children: [/*#__PURE__*/(0,jsx_runtime.jsx)(PublicationImage, {
        children: gridImage(isRenditionOptimized, assetDomainVal, imageUrl, imageAlt, nonDecAltText, "data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' viewBox%3D'0 0 512 341'%2F%3E")
      }), /*#__PURE__*/(0,jsx_runtime.jsxs)(PublicationText, {
        className: "publicationtext",
        children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
          className: "publicationtext-title",
          children: props.list.kpmg_title.raw
        }), ((_props$list$kpmg_arti = props.list.kpmg_article_date_time) === null || _props$list$kpmg_arti === void 0 ? void 0 : _props$list$kpmg_arti.raw) &amp;&amp; /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
          className: "date-readtime-wrap",
          children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
            className: "publication-date",
            children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
              className: "sr-only",
              children: window.kpmgPersonalize.i18n.customMsgs.articleposteddate
            }), utility/* default */.A.formatDate(props.list.kpmg_article_date_time.raw)]
          }), ((_props$list$kpmg_arti2 = props.list.kpmg_article_readtime) === null || _props$list$kpmg_arti2 === void 0 ? void 0 : _props$list$kpmg_arti2.raw) &amp;&amp; /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
            className: "readtime date-active",
            children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
              children: utility/* default */.A.validateReadTimeCount(props.list.kpmg_article_readtime.raw)
            })
          })]
        }), !((_props$list$kpmg_arti3 = props.list.kpmg_article_date_time) !== null &amp;&amp; _props$list$kpmg_arti3 !== void 0 &amp;&amp; _props$list$kpmg_arti3.raw) &amp;&amp; ((_props$list$kpmg_arti4 = props.list.kpmg_article_readtime) === null || _props$list$kpmg_arti4 === void 0 ? void 0 : _props$list$kpmg_arti4.raw) &amp;&amp; /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
          className: "readtime",
          children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
            children: utility/* default */.A.validateReadTimeCount((_props$list$kpmg_arti5 = props.list.kpmg_article_readtime) === null || _props$list$kpmg_arti5 === void 0 ? void 0 : _props$list$kpmg_arti5.raw)
          })
        }), /*#__PURE__*/(0,jsx_runtime.jsx)(Paragraph, {
          children: (_props$list$kpmg_shor = props.list.kpmg_short_desc) === null || _props$list$kpmg_shor === void 0 ? void 0 : _props$list$kpmg_shor.raw
        })]
      })]
    })
  });
};
/* harmony default export */ const publicationlist = (PublicationList);
;// CONCATENATED MODULE: ./src/kpmg-components/contacttabsaccordion/templates/publications.tsx










var PublicationWrapper = styled_components_browser_esm/* default */.Ay.div([".btn-wrapper-publications{margin:20px 0 8px 0;text-align:center;padding:1px 0;clear:both;}"]);
var Publications = function Publications(_ref) {
  var maxResult = _ref.maxResult,
    publicationsBasepath = _ref.publicationsBasepath,
    loadmore = _ref.loadmore,
    affiliatedto = _ref.affiliatedto,
    setActiveStatus = _ref.setActiveStatus,
    setCounter = _ref.setCounter,
    publicationTitle = _ref.publicationTitle;
  var elem = (0,react.useRef)(null);
  var currentPage = (0,react.useRef)(0),
    totalPages = (0,react.useRef)(0);
  var _useState = (0,react.useState)([]),
    _useState2 = (0,slicedToArray/* default */.A)(_useState, 2),
    publicationsData = _useState2[0],
    setPublicationsData = _useState2[1];
  var contactTabsEngineName = common_utils/* default */.A.getEngineName();
  function handleServicePublicationInit(data) {
    if (data) {
      if (data.meta.page.total_results) {
        if (setActiveStatus !== undefined) {
          setActiveStatus('0');
        }
        if (data.meta.page.total_results &gt; 9) {
          library('.btn-wrapper-publications', elem.current).show();
        }
      } else {
        if (affiliatedto !== undefined &amp;&amp; affiliatedto === 'true') {
          if (setActiveStatus !== undefined) {
            setActiveStatus('1');
          }
        } else {
          if (setActiveStatus !== undefined) {
            setActiveStatus('2');
          }
        }
      }
      var totalRecords = parseInt(data.meta.page.total_results);
      currentPage.current = parseInt(data.meta.page.current) || 1;
      var recordSize = 9;
      var totPages = 0;
      if (totalRecords &gt; parseInt(maxResult)) {
        totPages = parseInt(maxResult) / recordSize;
      } else {
        totPages = Math.floor(totalRecords / recordSize) + (totalRecords % recordSize === 0 ? 0 : 1);
      }
      totalPages.current = totPages;
      if (totalRecords &lt;= recordSize) {
        library('.btn-wrapper-publications', elem.current).hide();
      }
      if (data.results.length &gt; 0) {
        handleServiceResultForPublication(data);
      }
    }
  }
  function handleServiceResultForPublication(incomingData) {
    var data = incomingData.results;
    data.map(function (val) {
      if (window.kpmgAssetDomain !== undefined) {
        val.assetDomainName = window.kpmgAssetDomain;
      }
      return val;
    });
    if (window.calanderProperties &amp;&amp; window.dateFormatProperties) {
      window.dateFormatProperties.fields.concat([{
        item4: ''
      }]);
    }
    setPublicationsData([].concat((0,toConsumableArray/* default */.A)(publicationsData), (0,toConsumableArray/* default */.A)(data)));
    setTimeout(function () {
      var publicationList = library('.publication-list', elem.current);
      library('img.lazy', publicationList).unveil();
    }, 150);
  }
  function publicationsAppSearch(cb, pubUrl, pageNo, sizeVal) {
    var contactTabsService = new cqservice/* default */.A('contact-publications');
    var contactTabsReqBody = pubUrl ? JSON.parse(pubUrl) : '';
    if (contactTabsReqBody !== '') {
      contactTabsReqBody.page = {};
      contactTabsReqBody.page.current = pageNo === 0 ? 1 : pageNo;
      contactTabsReqBody.page.size = sizeVal;
      contactTabsReqBody = common_utils/* default */.A.resultFieldsMapping(contactTabsReqBody, 'contacttabs');
    }
    if (!window.kpmgPersonalize.misc.isAuthor) {
      contactTabsService.appSearch(contactTabsEngineName, contactTabsReqBody).then(function (data) {
        cb(data);
      })["catch"](function (error) {
        console.log('Error Code:' + error.status + ', failed during esearch in Publications tab');
      });
    }
  }
  var handleLoadMoreClick = function handleLoadMoreClick() {
    if (currentPage.current &lt; totalPages.current) {
      currentPage.current = currentPage.current + 1;
      if (currentPage.current === totalPages.current) {
        library('.btn-wrapper-publications', elem.current).hide();
      }
    }
    var pageNum = currentPage.current,
      sizeValue = 9;
    publicationsAppSearch(handleServiceResultForPublication, publicationsBasepath, pageNum, sizeValue);
    if (setCounter !== undefined) {
      setCounter(function (prev) {
        return prev + 1;
      });
    }
  };
  (0,react.useEffect)(function () {
    var pageNo = currentPage.current,
      sizeVal = 9;
    publicationsAppSearch(handleServicePublicationInit, publicationsBasepath, pageNo, sizeVal);
  }, []);
  var loadPublications = publicationsData.map(function (list, i) {
    var name = '';
    if (currentPage.current &gt; 1 &amp;&amp; i == currentPage.current * 9 - 9) {
      name = 'focusOutline';
    }
    return /*#__PURE__*/(0,jsx_runtime.jsx)(publicationlist, {
      className: name,
      list: list,
      index: i
    }, i);
  });
  return /*#__PURE__*/(0,jsx_runtime.jsxs)(PublicationWrapper, {
    ref: elem,
    children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
      className: "publication-list",
      children: loadPublications.length &gt; 0 ? loadPublications : ''
    }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
      className: "btn-wrapper-publications",
      children: /*#__PURE__*/(0,jsx_runtime.jsxs)(atoms_button/* default */.A, {
        title: loadmore,
        id: "publicationLoadmore",
        className: "loadmore-btn",
        onClick: handleLoadMoreClick,
        children: [loadmore, /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
          className: "sr-only",
          children: publicationTitle
        })]
      })
    })]
  });
};
/* harmony default export */ const publications = (Publications);
// EXTERNAL MODULE: ./src/dependencies/modules/helpers.js
var helpers = __webpack_require__(8764);
;// CONCATENATED MODULE: ./src/kpmg-components/contacttabsaccordion/templates/affiliatedlist.tsx






var affiliatedlist_Container = styled_components_browser_esm/* default */.Ay.div(["padding:10px;width:100%;position:relative;&amp;:hover:before{content:'';position:absolute;top:0px;left:0px;right:0px;bottom:0px;border:1px #cccccc solid;}.link-item{display:flex;text-decoration:none !important;&amp;:focus{box-shadow:0 0 3px #666666 !important;outline:1px solid rgba(102,102,102,0.5) !important;}&amp;:focus .affiliatedtext-title{text-decoration:underline;}}.affiliatedtext{width:65%;padding:0 0 0 10px;overflow:hidden;h5,.affiliatedtext-title{font-family:'Open Sans',Arial,Helvetica,sans-serif;font-size:2rem !important;line-height:1.3 !important;font-weight:600 !important;color:#00338d;word-wrap:break-word !important;word-break:normal !important;margin:8px 0;width:97%;&amp;:hover{text-decoration:underline;}&amp;:lang(zh-CN){font-family:'Noto Sans SC','\u5FAE\u8F6F\u96C5\u9ED1\u4F53','Microsoft YaHei New','\u5FAE\u8F6F\u96C5\u9ED1','Microsoft Yahei','\u51AC\u9752\u9ED1\u4F53','Hiragino Sans GB','\u9ED1\u4F53','SimHei','\u534E\u6587\u7EC6\u9ED1','STXihei',Arial,Helvetica Neue,Helvetica,sans-serif !important;font-weight:500 !important;}&amp;:lang(zh-TW){font-family:'Noto Sans TC','\u5FAE\u8F6F\u96C5\u9ED1\u4F53','Microsoft YaHei New','\u5FAE\u8F6F\u96C5\u9ED1','Microsoft Yahei','\u51AC\u9752\u9ED1\u4F53','Hiragino Sans GB','\u9ED1\u4F53','SimHei','\u534E\u6587\u7EC6\u9ED1','STXihei',Arial,Helvetica Neue,Helvetica,sans-serif !important;font-weight:500 !important;}&amp;:lang(ko){font-family:'Noto Sans KR','\uB9D1\uC740 \uACE0\uB515','Malgun Gothic',Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:500 !important;}&amp;:lang(ja){font-family:'Noto Sans JP','\u30E1\u30A4\u30EA\u30AA','Meiryo','\u30D2\u30E9\u30AE\u30CE\u89D2\u30B4 Pro','Hiragino Kaku Gothic Pro',Arial,Helvetica Neue,Helvetica,sans-serif !important;font-weight:500 !important;}}.date-readtime-wrap{display:flex;p.publication-date,p.readtime{width:auto;font-family:'Open Sans',Arial,Helvetica,sans-serif;font-size:1.6rem;line-height:1.3;font-weight:400;color:#333333;&amp;:lang(zh-CN){font-family:'Noto Sans SC','\u5FAE\u8F6F\u96C5\u9ED1\u4F53','Microsoft YaHei New','\u5FAE\u8F6F\u96C5\u9ED1','Microsoft Yahei','\u51AC\u9752\u9ED1\u4F53','Hiragino Sans GB','\u9ED1\u4F53','SimHei','\u534E\u6587\u7EC6\u9ED1','STXihei',Arial,Helvetica Neue,Helvetica,sans-serif !important;}&amp;:lang(zh-TW){font-family:'Noto Sans TC','\u5FAE\u8F6F\u96C5\u9ED1\u4F53','Microsoft YaHei New','\u5FAE\u8F6F\u96C5\u9ED1','Microsoft Yahei','\u51AC\u9752\u9ED1\u4F53','Hiragino Sans GB','\u9ED1\u4F53','SimHei','\u534E\u6587\u7EC6\u9ED1','STXihei',Arial,Helvetica Neue,Helvetica,sans-serif !important;}&amp;:lang(ko){font-family:'Noto Sans KR','\uB9D1\uC740 \uACE0\uB515','Malgun Gothic',Arial,Helvetica Neue,Helvetica,sans-serif;}&amp;:lang(ja){font-family:'Noto Sans JP','\u30E1\u30A4\u30EA\u30AA','Meiryo','\u30D2\u30E9\u30AE\u30CE\u89D2\u30B4 Pro','Hiragino Kaku Gothic Pro',Arial,Helvetica Neue,Helvetica,sans-serif !important;}}}.readtime{font-family:'Open Sans',Arial,Helvetica,sans-serif;font-size:1.6rem;line-height:1.3;font-weight:400;color:#333333;&amp;:lang(zh-CN){font-family:'Noto Sans SC','\u5FAE\u8F6F\u96C5\u9ED1\u4F53','Microsoft YaHei New','\u5FAE\u8F6F\u96C5\u9ED1','Microsoft Yahei','\u51AC\u9752\u9ED1\u4F53','Hiragino Sans GB','\u9ED1\u4F53','SimHei','\u534E\u6587\u7EC6\u9ED1','STXihei',Arial,Helvetica Neue,Helvetica,sans-serif !important;}&amp;:lang(zh-TW){font-family:'Noto Sans TC','\u5FAE\u8F6F\u96C5\u9ED1\u4F53','Microsoft YaHei New','\u5FAE\u8F6F\u96C5\u9ED1','Microsoft Yahei','\u51AC\u9752\u9ED1\u4F53','Hiragino Sans GB','\u9ED1\u4F53','SimHei','\u534E\u6587\u7EC6\u9ED1','STXihei',Arial,Helvetica Neue,Helvetica,sans-serif !important;}&amp;:lang(ko){font-family:'Noto Sans KR','\uB9D1\uC740 \uACE0\uB515','Malgun Gothic',Arial,Helvetica Neue,Helvetica,sans-serif;}&amp;:lang(ja){font-family:'Noto Sans JP','\u30E1\u30A4\u30EA\u30AA','Meiryo','\u30D2\u30E9\u30AE\u30CE\u89D2\u30B4 Pro','Hiragino Kaku Gothic Pro',Arial,Helvetica Neue,Helvetica,sans-serif !important;}&amp;.date-active{position:relative;margin-left:30px;&amp;:before{position:absolute;top:0;left:-19px;content:'\\007c';}}&amp;:lang(zh-CN){font-family:'Noto Sans SC','\u5FAE\u8F6F\u96C5\u9ED1\u4F53','Microsoft YaHei New','\u5FAE\u8F6F\u96C5\u9ED1','Microsoft Yahei','\u51AC\u9752\u9ED1\u4F53','Hiragino Sans GB','\u9ED1\u4F53','SimHei','\u534E\u6587\u7EC6\u9ED1','STXihei',Arial,Helvetica Neue,Helvetica,sans-serif !important;}&amp;:lang(zh-TW){font-family:'Noto Sans TC','\u5FAE\u8F6F\u96C5\u9ED1\u4F53','Microsoft YaHei New','\u5FAE\u8F6F\u96C5\u9ED1','Microsoft Yahei','\u51AC\u9752\u9ED1\u4F53','Hiragino Sans GB','\u9ED1\u4F53','SimHei','\u534E\u6587\u7EC6\u9ED1','STXihei',Arial,Helvetica Neue,Helvetica,sans-serif !important;}&amp;:lang(ko){font-family:'Noto Sans KR','\uB9D1\uC740 \uACE0\uB515','Malgun Gothic',Arial,Helvetica Neue,Helvetica,sans-serif;}&amp;:lang(ja){font-family:'Noto Sans JP','\u30E1\u30A4\u30EA\u30AA','Meiryo','\u30D2\u30E9\u30AE\u30CE\u89D2\u30B4 Pro','Hiragino Kaku Gothic Pro',Arial,Helvetica Neue,Helvetica,sans-serif !important;}}}@media screen and (max-width:640px){padding:10px 0px;.link-item{display:block;}.affiliatedtext{width:100%;padding:0px 10px !important;}}"]);
var AffiliatedImage = styled_components_browser_esm/* default */.Ay.div(["width:237px;padding:0px;img{padding-bottom:0;max-width:237px;}@media screen and (max-width:640px){width:100%;img{max-width:100%;width:100%;}}"]);
var AffiliatedText = styled_components_browser_esm/* default */.Ay.div(["display:block;position:relative;"]);
var affiliatedlist_Paragraph = styled_components_browser_esm/* default */.Ay.p(["font-family:'Open Sans',Arial,Helvetica,sans-serif;font-size:1.6rem;line-height:1.3;font-weight:400;color:#333333;margin:7px 0;width:100%;float:left;&amp;:lang(zh-CN){font-family:'Noto Sans SC','\u5FAE\u8F6F\u96C5\u9ED1\u4F53','Microsoft YaHei New','\u5FAE\u8F6F\u96C5\u9ED1','Microsoft Yahei','\u51AC\u9752\u9ED1\u4F53','Hiragino Sans GB','\u9ED1\u4F53','SimHei','\u534E\u6587\u7EC6\u9ED1','STXihei',Arial,Helvetica Neue,Helvetica,sans-serif !important;}&amp;:lang(zh-TW){font-family:'Noto Sans TC','\u5FAE\u8F6F\u96C5\u9ED1\u4F53','Microsoft YaHei New','\u5FAE\u8F6F\u96C5\u9ED1','Microsoft Yahei','\u51AC\u9752\u9ED1\u4F53','Hiragino Sans GB','\u9ED1\u4F53','SimHei','\u534E\u6587\u7EC6\u9ED1','STXihei',Arial,Helvetica Neue,Helvetica,sans-serif !important;}&amp;:lang(ko){font-family:'Noto Sans KR','\uB9D1\uC740 \uACE0\uB515','Malgun Gothic',Arial,Helvetica Neue,Helvetica,sans-serif;}&amp;:lang(ja){font-family:'Noto Sans JP','\u30E1\u30A4\u30EA\u30AA','Meiryo','\u30D2\u30E9\u30AE\u30CE\u89D2\u30B4 Pro','Hiragino Kaku Gothic Pro',Arial,Helvetica Neue,Helvetica,sans-serif !important;}"]);
var AffiliatedList = function AffiliatedList(props) {
  (0,react.useEffect)(function () {
    if (props.className == 'focusOutline') {
      (0,modules_plus/* default */.A)('.affiliated-list a').eq(props.index).focus();
    }
  }, []);
  var gridImage = function gridImage(isRenditionOptimized, assetDomainName, imagePath, alt, loadingSrc) {
    var renditionPath = isRenditionOptimized === true ? ":cq5dam.web.510.340" : ":cq5dam.web.512.341";
    return /*#__PURE__*/(0,jsx_runtime.jsx)(image_image/* default */.A, {
      src: loadingSrc,
      alt: alt,
      className: "img-responsive lazy ".concat(alt ? '' : 'decorative-img'),
      dataDesktop: "".concat(assetDomainName).concat(imagePath).concat(renditionPath),
      dataMobile: "".concat(assetDomainName).concat(imagePath).concat(renditionPath)
    });
  };
  return /*#__PURE__*/(0,jsx_runtime.jsx)(affiliatedlist_Container, {
    className: "",
    children: /*#__PURE__*/(0,jsx_runtime.jsxs)("a", {
      href: props.list.url,
      "data-title": props.list.jcrTitle,
      className: "link-item",
      children: [/*#__PURE__*/(0,jsx_runtime.jsx)(AffiliatedImage, {
        children: gridImage(props.list.isRenditionOptimized, props.list.assetDomainName, props.list.imageFileReference, props.list.imageAltText, "data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' viewBox%3D'0 0 512 341'%2F%3E")
      }), /*#__PURE__*/(0,jsx_runtime.jsxs)(AffiliatedText, {
        className: "affiliatedtext",
        children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
          className: "affiliatedtext-title",
          children: props.list.jcrTitle
        }), props.list.publishDate &amp;&amp; /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
          className: "date-readtime-wrap",
          children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
            className: "publication-date",
            children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
              className: "sr-only",
              children: window.kpmgPersonalize.i18n.customMsgs.articleposteddate
            }), props.list.publishDate]
          }), props.list.readTime &amp;&amp; /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
            className: "readtime date-active",
            children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
              children: utility/* default */.A.validateReadTimeCount(props.list.readTime)
            })
          })]
        }), !props.list.publishDate &amp;&amp; props.list.readTime &amp;&amp; /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
          className: "readtime",
          children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
            children: utility/* default */.A.validateReadTimeCount(props.list.readTime)
          })
        }), /*#__PURE__*/(0,jsx_runtime.jsx)(affiliatedlist_Paragraph, {
          children: props.list.jcrShortDescription
        })]
      })]
    })
  });
};
/* harmony default export */ const affiliatedlist = (AffiliatedList);
;// CONCATENATED MODULE: ./src/kpmg-components/contacttabsaccordion/templates/affiliatedto.tsx










var AffiliatedWrapper = styled_components_browser_esm/* default */.Ay.div([".btn-wrapper-affiliated{margin:20px 0 8px 0;text-align:center;padding:1px 0;clear:both;}"]);
var AffiliatedTo = function AffiliatedTo(_ref) {
  var connectionsBasepath = _ref.connectionsBasepath,
    loadmore = _ref.loadmore,
    setCounter = _ref.setCounter,
    affiliatedtoTitle = _ref.affiliatedtoTitle;
  var elem = (0,react.useRef)(null);
  var _useState = (0,react.useState)([]),
    _useState2 = (0,slicedToArray/* default */.A)(_useState, 2),
    affiliatedData = _useState2[0],
    setAffiliatedData = _useState2[1];
  var arrayForHoldingPosts = (0,react.useRef)({});
  function handleServiceAffiliatedTo(data) {
    arrayForHoldingPosts.current = data;
    if (data) {
      if (data.affiliatedList.length) {
        if (data.affiliatedList.length &gt; 9) {
          library('.btn-wrapper-affiliated', elem.current).show();
        }
      }
      var totalRecords = data.affiliatedList.length;
      if (totalRecords &lt;= 9) {
        library('.btn-wrapper-affiliated', elem.current).hide();
      }
      if (data.affiliatedList.length) {
        handleServiceResultForAff(data.affiliatedList.splice(0, 9));
      }
    }
  }
  var handleLoadMoreClick = function handleLoadMoreClick() {
    var data = arrayForHoldingPosts.current;
    if (data.affiliatedList.length) {
      handleServiceResultForAff(data.affiliatedList.splice(0, 9));
      if (data.affiliatedList.length === 0) {
        library('.btn-wrapper-affiliated', elem.current).remove();
      }
    }
    if (setCounter !== undefined) {
      setCounter(function (prev) {
        return prev + 1;
      });
    }
  };
  function handleServiceResultForAff(data) {
    var resultData = data;
    resultData.map(function (val) {
      if (window.kpmgAssetDomain !== undefined) {
        val.assetDomainName = window.kpmgAssetDomain;
      }
      if (val.publishDate) {
        if (window.calanderProperties &amp;&amp; window.dateFormatProperties) {
          window.dateFormatProperties.fields.concat([{
            item4: ''
          }]);
          val.publishDate = helpers/* default */.A.dateFormat(val.publishDate, window.calanderProperties, window.dateFormatProperties);
        }
      }
      return val;
    });
    setAffiliatedData([].concat((0,toConsumableArray/* default */.A)(affiliatedData), (0,toConsumableArray/* default */.A)(resultData)));
    setTimeout(function () {
      var publicationList = library('.affiliated-list', elem.current);
      library('img.lazy', publicationList).unveil();
    }, 150);
  }
  (0,react.useEffect)(function () {
    var pageNo = 0,
      sizeVal = 9,
      ajaxService = new cqservice/* default */.A('contact-tabs', {});
    ajaxService.params.baseUrl = connectionsBasepath;
    ajaxService.fetch(handleServiceAffiliatedTo, '', pageNo, sizeVal);
  }, []);
  var loadAffiliated = affiliatedData.map(function (list, i) {
    var name = '';
    if (i == 9) {
      name = 'focusOutline';
    }
    return /*#__PURE__*/(0,jsx_runtime.jsx)(affiliatedlist, {
      className: name,
      list: list,
      index: i
    }, i);
  });
  return /*#__PURE__*/(0,jsx_runtime.jsxs)(AffiliatedWrapper, {
    ref: elem,
    children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
      className: "affiliated-list",
      children: loadAffiliated.length &gt; 0 ? loadAffiliated : ''
    }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
      className: "btn-wrapper-affiliated",
      children: /*#__PURE__*/(0,jsx_runtime.jsxs)(atoms_button/* default */.A, {
        title: loadmore,
        id: "affiliatedLoadmore",
        className: "loadmore-btn",
        onClick: handleLoadMoreClick,
        children: [loadmore, /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
          className: "sr-only",
          children: affiliatedtoTitle
        })]
      })
    })]
  });
};
/* harmony default export */ const templates_affiliatedto = (AffiliatedTo);
;// CONCATENATED MODULE: ./src/kpmg-components/contacttabsaccordion/templates/connectionslist.tsx




var connectionslist_Container = styled_components_browser_esm/* default */.Ay.div(["margin:0px !important;position:relative;padding:10px;width:33.33%;&amp;:hover:before{content:'';position:absolute;top:0px;left:0px;right:0px;bottom:0px;border:1px #cccccc solid;}@media only screen and (max-width:640px){width:100%;border-bottom:1px solid #b5b4b4;padding:10px 0px !important;margin:0px;}"]);
var LinkItem = styled_components_browser_esm/* default */.Ay.a(["display:inline-block;margin:1px;position:relative;text-decoration:none !important;&amp;:focus{box-shadow:0 0 3px #666666 !important;outline:1px solid rgba(102,102,102,0.5) !important;}&amp;:focus .connection-name{text-decoration:underline;}.connection-name{font-family:'Open Sans',Arial,Helvetica,sans-serif;font-size:2rem;line-height:1.3;font-weight:600;color:#00338d;word-wrap:break-word !important;word-break:normal !important;margin:8px 0;width:97%;&amp;:hover{text-decoration:underline;}&amp;:lang(zh-CN){font-family:'Noto Sans SC','\u5FAE\u8F6F\u96C5\u9ED1\u4F53','Microsoft YaHei New','\u5FAE\u8F6F\u96C5\u9ED1','Microsoft Yahei','\u51AC\u9752\u9ED1\u4F53','Hiragino Sans GB','\u9ED1\u4F53','SimHei','\u534E\u6587\u7EC6\u9ED1','STXihei',Arial,Helvetica Neue,Helvetica,sans-serif !important;font-weight:500 !important;}&amp;:lang(zh-TW){font-family:'Noto Sans TC','\u5FAE\u8F6F\u96C5\u9ED1\u4F53','Microsoft YaHei New','\u5FAE\u8F6F\u96C5\u9ED1','Microsoft Yahei','\u51AC\u9752\u9ED1\u4F53','Hiragino Sans GB','\u9ED1\u4F53','SimHei','\u534E\u6587\u7EC6\u9ED1','STXihei',Arial,Helvetica Neue,Helvetica,sans-serif !important;font-weight:500 !important;}&amp;:lang(ko){font-family:'Noto Sans KR','\uB9D1\uC740 \uACE0\uB515','Malgun Gothic',Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:500 !important;}&amp;:lang(ja){font-family:'Noto Sans JP','\u30E1\u30A4\u30EA\u30AA','Meiryo','\u30D2\u30E9\u30AE\u30CE\u89D2\u30B4 Pro','Hiragino Kaku Gothic Pro',Arial,Helvetica Neue,Helvetica,sans-serif !important;font-weight:500 !important;}}"]);
var connectionslist_Paragraph = styled_components_browser_esm/* default */.Ay.p(["font-family:'Open Sans',Arial,Helvetica,sans-serif;font-size:1.6rem;line-height:1.3;font-weight:400;color:#333333;margin:7px 0;width:100%;float:left;&amp;:lang(zh-CN){font-family:'Noto Sans SC','\u5FAE\u8F6F\u96C5\u9ED1\u4F53','Microsoft YaHei New','\u5FAE\u8F6F\u96C5\u9ED1','Microsoft Yahei','\u51AC\u9752\u9ED1\u4F53','Hiragino Sans GB','\u9ED1\u4F53','SimHei','\u534E\u6587\u7EC6\u9ED1','STXihei',Arial,Helvetica Neue,Helvetica,sans-serif !important;}&amp;:lang(zh-TW){font-family:'Noto Sans TC','\u5FAE\u8F6F\u96C5\u9ED1\u4F53','Microsoft YaHei New','\u5FAE\u8F6F\u96C5\u9ED1','Microsoft Yahei','\u51AC\u9752\u9ED1\u4F53','Hiragino Sans GB','\u9ED1\u4F53','SimHei','\u534E\u6587\u7EC6\u9ED1','STXihei',Arial,Helvetica Neue,Helvetica,sans-serif !important;}&amp;:lang(ko){font-family:'Noto Sans KR','\uB9D1\uC740 \uACE0\uB515','Malgun Gothic',Arial,Helvetica Neue,Helvetica,sans-serif;}&amp;:lang(ja){font-family:'Noto Sans JP','\u30E1\u30A4\u30EA\u30AA','Meiryo','\u30D2\u30E9\u30AE\u30CE\u89D2\u30B4 Pro','Hiragino Kaku Gothic Pro',Arial,Helvetica Neue,Helvetica,sans-serif !important;}"]);
var ConnectionsList = function ConnectionsList(props) {
  (0,react.useEffect)(function () {
    if (props.className == 'focusOutline') {
      (0,modules_plus/* default */.A)('.connection a').eq(props.index).focus();
    }
  }, []);
  return /*#__PURE__*/(0,jsx_runtime.jsx)(connectionslist_Container, {
    className: "connection",
    children: /*#__PURE__*/(0,jsx_runtime.jsxs)(LinkItem, {
      href: props.list.pagePath,
      "data-title": props.list.jobTitle,
      children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("p", {
        className: "connection-name",
        children: [props.list.salutation + ' ' + props.list.firstName + ' ' + props.list.middleInitial + ' ' + props.list.lastName + ' ' + props.list.suffix, /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
          className: "sr-only",
          children: props.profileLabel
        })]
      }), /*#__PURE__*/(0,jsx_runtime.jsx)(connectionslist_Paragraph, {
        children: props.list.jobTitle
      }), /*#__PURE__*/(0,jsx_runtime.jsx)(connectionslist_Paragraph, {
        children: props.list.description
      })]
    })
  });
};
/* harmony default export */ const connectionslist = (ConnectionsList);
;// CONCATENATED MODULE: ./src/kpmg-components/contacttabsaccordion/templates/connections.tsx









var ConnectionsWrapper = styled_components_browser_esm/* default */.Ay.div([".btn-wrapper-connections{margin:20px 0 8px 0;text-align:center;padding:1px 0;clear:both;}"]);
var ConsList = styled_components_browser_esm/* default */.Ay.div(["display:flex;flex-wrap:wrap;@media only screen and (max-width:640px){.connection:last-child{border-bottom:0px;}}"]);
var ajaxService = new cqservice/* default */.A('contact-tabs', {});
var Connections = function Connections(_ref) {
  var connectionsBasepath = _ref.connectionsBasepath,
    loadmore = _ref.loadmore,
    setCounter = _ref.setCounter,
    profileLabel = _ref.profileLabel,
    connectionsTitle = _ref.connectionsTitle;
  var elem = (0,react.useRef)(null);
  var currentPage = (0,react.useRef)(0);
  var totalPages = (0,react.useRef)(0);
  var _useState = (0,react.useState)([]),
    _useState2 = (0,slicedToArray/* default */.A)(_useState, 2),
    connectionsData = _useState2[0],
    setConnectionsData = _useState2[1];
  function handleServiceConnectionInit(data) {
    if (data) {
      if (data.totalRecords &amp;&amp; data.totalRecords &gt; 9) {
        library('.btn-wrapper-connections', elem.current).show();
      } else {
        library('.btn-wrapper-connections', elem.current).hide();
      }
      var totalRecords = parseInt(data.totalRecords);
      currentPage.current = parseInt(data.currentPage) || 1;
      var recordSize = 9;
      var totPages = Math.floor(totalRecords / recordSize) + (totalRecords % recordSize === 0 ? 0 : 1);
      totalPages.current = totPages;
      if (data.results[0]) {
        handleServiceResultForCon(data);
      } else {
        library(elem.current).parents('.connectionitem').hide();
      }
    }
  }
  function handleServiceResultForCon(data) {
    setConnectionsData([].concat((0,toConsumableArray/* default */.A)(connectionsData), (0,toConsumableArray/* default */.A)(data.results)));
  }
  var handleLoadMoreClick = function handleLoadMoreClick() {
    if (currentPage.current &lt; totalPages.current) {
      currentPage.current = currentPage.current + 1;
      if (currentPage.current === totalPages.current) {
        library('.btn-wrapper-connections', elem.current).hide();
      }
    }
    ajaxService.params.baseUrl = connectionsBasepath;
    ajaxService.fetch(handleServiceResultForCon, '', currentPage.current, 9);
    if (setCounter !== undefined) {
      setCounter(function (prev) {
        return prev + 1;
      });
    }
  };
  (0,react.useEffect)(function () {
    var pageNo = 1,
      sizeVal = 9;
    ajaxService.params.baseUrl = connectionsBasepath;
    ajaxService.fetch(handleServiceConnectionInit, '', pageNo, sizeVal);
  }, []);
  var loadConnections = connectionsData.map(function (list, i) {
    var name = '';
    if (currentPage.current &gt; 1 &amp;&amp; i == currentPage.current * 9 - 9) {
      name = 'focusOutline';
    }
    return /*#__PURE__*/(0,jsx_runtime.jsx)(connectionslist, {
      className: name,
      profileLabel: profileLabel,
      list: list,
      index: i
    }, i);
  });
  return /*#__PURE__*/(0,jsx_runtime.jsxs)(ConnectionsWrapper, {
    ref: elem,
    children: [/*#__PURE__*/(0,jsx_runtime.jsx)(ConsList, {
      className: "connections-list",
      children: loadConnections.length &gt; 0 ? loadConnections : ''
    }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
      className: "btn-wrapper-connections",
      children: /*#__PURE__*/(0,jsx_runtime.jsxs)(atoms_button/* default */.A, {
        title: loadmore,
        id: "connectionsLoadmore",
        className: "loadmore-btn",
        onClick: handleLoadMoreClick,
        children: [loadmore, /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
          className: "sr-only",
          children: connectionsTitle
        })]
      })
    })]
  });
};
/* harmony default export */ const connections = (Connections);
;// CONCATENATED MODULE: ./src/kpmg-components/contacttabsaccordion/contacttabsaccordion.tsx












var ContactTabsContainer = styled_components_browser_esm/* default */.Ay.div(["display:block;margin:0px auto;padding:10px 0;.accordion-item{border:none;border-bottom:1px solid #b5b4b4 !important;border-radius:0px;.accordion-header{padding:4px 20px;}.accordion-button:not(.collapsed){font-weight:600;}.accordion-button:focus{box-shadow:0 0 3px #666666 !important;outline:1px solid rgba(102,102,102,0.5) !important;}.accordion-button{text-decoration:none;font-family:'Open Sans',Arial,Helvetica,sans-serif;font-size:1.8rem;font-weight:600;color:#333333 !important;line-height:1.3;text-align:left;position:static;background:none !important;border:none;padding:10px 0px;max-width:1360px;margin:0px auto;position:relative;&amp;.collapsed{font-weight:400 !important;}&amp;:after{position:absolute;content:'\\e98e';font-size:1.8rem;color:#005eb8;right:6px;top:10px;font-family:'icomoon';z-index:6;background:none !important;transition:none;transform:none;@media only screen and (min-width:640px) and (max-width:1100px){right:0px;}}&amp;.collapsed{&amp;:after{content:'\\e98d';}}&amp;:lang(zh-CN){font-family:'Noto Sans SC','\u5FAE\u8F6F\u96C5\u9ED1\u4F53','Microsoft YaHei New','\u5FAE\u8F6F\u96C5\u9ED1','Microsoft Yahei','\u51AC\u9752\u9ED1\u4F53','Hiragino Sans GB','\u9ED1\u4F53','SimHei','\u534E\u6587\u7EC6\u9ED1','STXihei',Arial,Helvetica Neue,Helvetica,sans-serif !important;font-weight:500 !important;}&amp;:lang(zh-TW){font-family:'Noto Sans TC','\u5FAE\u8F6F\u96C5\u9ED1\u4F53','Microsoft YaHei New','\u5FAE\u8F6F\u96C5\u9ED1','Microsoft Yahei','\u51AC\u9752\u9ED1\u4F53','Hiragino Sans GB','\u9ED1\u4F53','SimHei','\u534E\u6587\u7EC6\u9ED1','STXihei',Arial,Helvetica Neue,Helvetica,sans-serif !important;font-weight:500 !important;}&amp;:lang(ko){font-family:'Noto Sans KR','\uB9D1\uC740 \uACE0\uB515','Malgun Gothic',Arial,Helvetica Neue,Helvetica,sans-serif;font-weight:500 !important;}&amp;:lang(ja){font-family:'Noto Sans JP','\u30E1\u30A4\u30EA\u30AA','Meiryo','\u30D2\u30E9\u30AE\u30CE\u89D2\u30B4 Pro','Hiragino Kaku Gothic Pro',Arial,Helvetica Neue,Helvetica,sans-serif !important;font-weight:500 !important;}}.accordion-body{max-width:1380px;margin:0px auto;}@media only screen and (max-width:1100px){.accordion-header{padding:4px 30px;}.accordion-body{padding:0px 30px;}}@media only screen and (max-width:640px){.accordion-header{padding:5px 10px;}.accordion-body{padding:10px;}}}"]);
var PublicationsContainer = styled_components_browser_esm/* default */.Ay.div(["display:block;"]);
var AffiliatedContainer = styled_components_browser_esm/* default */.Ay.div(["display:block;"]);
var ConnectionsContainer = styled_components_browser_esm/* default */.Ay.div(["display:flex;flex-wrap:wrap;margin:0px 0 10px 0;"]);
var WebSpinner = styled_components_browser_esm/* default */.Ay.div(["height:200px;img.desktop-only{height:200px;}img.mobile-only{height:200px;}"]);
var ContactTabsAccordion = function ContactTabsAccordion(_ref) {
  var publicationTitle = _ref.publicationTitle,
    maxResult = _ref.maxResult,
    publicationsBasepath = _ref.publicationsBasepath,
    loadmore = _ref.loadmore,
    affiliatedto = _ref.affiliatedto,
    affiliatedtoTitle = _ref.affiliatedtoTitle,
    connectionsTitle = _ref.connectionsTitle,
    connectionsBasepath = _ref.connectionsBasepath,
    profileLabel = _ref.profileLabel;
  var _useState = (0,react.useState)('3'),
    _useState2 = (0,slicedToArray/* default */.A)(_useState, 2),
    activeStatus = _useState2[0],
    setActiveStatus = _useState2[1];
  var _useState3 = (0,react.useState)(0),
    _useState4 = (0,slicedToArray/* default */.A)(_useState3, 2),
    counter = _useState4[0],
    setCounter = _useState4[1];
  var check = (0,react.useRef)(false);
  var elem = (0,react.useRef)(null);
  var isauthor = window.kpmgPersonalize.misc &amp;&amp; window.kpmgPersonalize.misc.isAuthor;
  var imageValues = {
    desktopSrc: "data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' viewBox%3D'0 0 1082 547'%2F%3E",
    mobileSrc: "data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' viewBox%3D'0 0 640 580'%2F%3E",
    alt: 'Loading...'
  };
  (0,react.useEffect)(function () {
    (0,modules_plus/* default */.A)((0,modules_plus/* default */.A)('.accordion-button', elem.current).get(activeStatus)).trigger('click');
    (0,modules_plus/* default */.A)('.accordion-button', elem.current).off('click').on('click', function (e) {
      if (check.current) {
        setTimeout(function () {
          var calculatedTotalHeight = common_utils/* default */.A.customScrollTop();
          (0,modules_plus/* default */.A)('html, body').animate({
            scrollTop: (0,modules_plus/* default */.A)(e.target).offset().top - calculatedTotalHeight
          }, 1000);
        }, 500);
        window.digitalData.component = window.digitalData.component || {};
        window.digitalData.component.componentDetail = (0,modules_plus/* default */.A)(e.target).text();
        if ((0,modules_plus/* default */.A)(e.target).hasClass('collapsed')) {
          helpers/* default */.A.triggerSatteliteTracking('AccordionExpand');
        } else {
          helpers/* default */.A.triggerSatteliteTracking('AccordionCollapse');
        }
      }
      check.current = true;
    });
    helpers/* default */.A.triggerSatteliteTracking('ContactTabsAccordion');
  }, [activeStatus]);
  (0,react.useEffect)(function () {
    if (counter &gt; 0) {
      window.digitalData.page = window.digitalData.page || {};
      window.digitalData.page.article = window.digitalData.page.article || {};
      window.digitalData.page.article.loadSection = counter;
    }
  }, [counter]);
  (0,react.useEffect)(function () {
    if (window.kpmgPersonalize &amp;&amp; window.kpmgPersonalize.misc &amp;&amp; window.kpmgPersonalize.misc.isAuthor) {
      setActiveStatus('4');
    }
  }, [setActiveStatus]);
  var loadSpinnerImage = function loadSpinnerImage(data) {
    return /*#__PURE__*/(0,jsx_runtime.jsx)(image_image/* default */.A, {
      src: window.innerWidth &gt; 640 ? data.desktopSrc : data.mobileSrc,
      alt: data.alt,
      width: window.innerWidth &gt; 640 ? '1082' : '640',
      className: "img-responsive ".concat(window.innerWidth &gt; 640 ? 'desktop-only' : 'mobile-only')
    });
  };
  return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
    children: [/*#__PURE__*/(0,jsx_runtime.jsx)(WebSpinner, {
      className: "web-spinner".concat(isauthor === true || activeStatus !== '3' ? ' visually-hidden' : ''),
      children: loadSpinnerImage(imageValues)
    }), /*#__PURE__*/(0,jsx_runtime.jsx)(ContactTabsContainer, {
      "data-testid": "contacttabsaccordion",
      style: activeStatus !== '3' ? {
        display: 'block'
      } : {
        display: 'none'
      },
      ref: elem,
      children: /*#__PURE__*/(0,jsx_runtime.jsxs)(Accordion/* default */.A, {
        flush: true,
        children: [/*#__PURE__*/(0,jsx_runtime.jsxs)(Accordion/* default */.A.Item, {
          eventKey: "0",
          style: activeStatus === '0' ? {
            display: 'block'
          } : {
            display: 'none'
          },
          children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
            className: "accordion-header",
            children: /*#__PURE__*/(0,jsx_runtime.jsx)(Accordion/* default */.A.Button, {
              children: publicationTitle
            })
          }), /*#__PURE__*/(0,jsx_runtime.jsx)(Accordion/* default */.A.Body, {
            children: /*#__PURE__*/(0,jsx_runtime.jsx)(PublicationsContainer, {
              children: /*#__PURE__*/(0,jsx_runtime.jsx)(publications, {
                maxResult: maxResult,
                publicationsBasepath: publicationsBasepath,
                loadmore: loadmore,
                setActiveStatus: setActiveStatus,
                affiliatedto: affiliatedto,
                setCounter: setCounter,
                publicationTitle: publicationTitle
              })
            })
          })]
        }), /*#__PURE__*/(0,jsx_runtime.jsxs)(Accordion/* default */.A.Item, {
          eventKey: "1",
          style: affiliatedto ? {
            display: 'block'
          } : {
            display: 'none'
          },
          children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
            className: "accordion-header",
            children: /*#__PURE__*/(0,jsx_runtime.jsx)(Accordion/* default */.A.Button, {
              children: affiliatedtoTitle
            })
          }), /*#__PURE__*/(0,jsx_runtime.jsx)(Accordion/* default */.A.Body, {
            children: /*#__PURE__*/(0,jsx_runtime.jsx)(AffiliatedContainer, {
              children: /*#__PURE__*/(0,jsx_runtime.jsx)(templates_affiliatedto, {
                connectionsBasepath: connectionsBasepath,
                loadmore: loadmore,
                setCounter: setCounter,
                affiliatedtoTitle: affiliatedtoTitle
              })
            })
          })]
        }), /*#__PURE__*/(0,jsx_runtime.jsxs)(Accordion/* default */.A.Item, {
          eventKey: "2",
          className: "connectionitem",
          children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
            className: "accordion-header",
            children: /*#__PURE__*/(0,jsx_runtime.jsx)(Accordion/* default */.A.Button, {
              children: connectionsTitle
            })
          }), /*#__PURE__*/(0,jsx_runtime.jsx)(Accordion/* default */.A.Body, {
            children: /*#__PURE__*/(0,jsx_runtime.jsx)(ConnectionsContainer, {
              children: /*#__PURE__*/(0,jsx_runtime.jsx)(connections, {
                connectionsBasepath: connectionsBasepath,
                loadmore: loadmore,
                setCounter: setCounter,
                profileLabel: profileLabel,
                connectionsTitle: connectionsTitle
              })
            })
          })]
        })]
      })
    })]
  });
};
/* harmony default export */ const contacttabsaccordion = (ContactTabsAccordion);
;// CONCATENATED MODULE: ./src/kpmg-components/contacttabsaccordion/contacttabsaccordion.index.tsx



var contactTabsAccordionElements = document.querySelectorAll('.wrapper-contacttabsaccordion');
contactTabsAccordionElements.forEach(function (contactTabsAccordionElement) {
  var id = "contacttabsaccordion-".concat(Math.floor(Math.random() * 100000));
  contactTabsAccordionElement.setAttribute('id', id);
  var contactTabsAccordionProps = contactTabsAccordionElement &amp;&amp; contactTabsAccordionElement instanceof HTMLElement ? contactTabsAccordionElement.dataset : {};
  react_dom.render(/*#__PURE__*/(0,jsx_runtime.jsx)(contacttabsaccordion, {
    publicationTitle: contactTabsAccordionProps.publicationsTitle,
    maxResult: contactTabsAccordionProps.maxResult || '',
    publicationsBasepath: contactTabsAccordionProps.publicationsBasepath || '',
    loadmore: contactTabsAccordionProps.loadmore || '',
    affiliatedto: contactTabsAccordionProps.affiliatedto,
    affiliatedtoTitle: contactTabsAccordionProps.affiliatedtoTitle,
    connectionsTitle: contactTabsAccordionProps.connectionsTitle,
    connectionsBasepath: contactTabsAccordionProps.connectionsBasepath || '',
    profileLabel: contactTabsAccordionProps.profileLabel || ''
  }), document.getElementById(id));
});

/***/ }),

/***/ 5358:
/***/ ((module, __unused_webpack_exports, __webpack_require__) =&gt; {

var map = {
	"./af": 5177,
	"./af.js": 5177,
	"./ar": 1509,
	"./ar-dz": 1488,
	"./ar-dz.js": 1488,
	"./ar-kw": 8676,
	"./ar-kw.js": 8676,
	"./ar-ly": 2353,
	"./ar-ly.js": 2353,
	"./ar-ma": 4496,
	"./ar-ma.js": 4496,
	"./ar-ps": 6947,
	"./ar-ps.js": 6947,
	"./ar-sa": 2682,
	"./ar-sa.js": 2682,
	"./ar-tn": 9756,
	"./ar-tn.js": 9756,
	"./ar.js": 1509,
	"./az": 5533,
	"./az.js": 5533,
	"./be": 8959,
	"./be.js": 8959,
	"./bg": 7777,
	"./bg.js": 7777,
	"./bm": 4903,
	"./bm.js": 4903,
	"./bn": 1290,
	"./bn-bd": 7357,
	"./bn-bd.js": 7357,
	"./bn.js": 1290,
	"./bo": 1545,
	"./bo.js": 1545,
	"./br": 1470,
	"./br.js": 1470,
	"./bs": 4429,
	"./bs.js": 4429,
	"./ca": 7306,
	"./ca.js": 7306,
	"./cs": 6464,
	"./cs.js": 6464,
	"./cv": 3635,
	"./cv.js": 3635,
	"./cy": 4226,
	"./cy.js": 4226,
	"./da": 3601,
	"./da.js": 3601,
	"./de": 7853,
	"./de-at": 6111,
	"./de-at.js": 6111,
	"./de-ch": 4697,
	"./de-ch.js": 4697,
	"./de.js": 7853,
	"./dv": 708,
	"./dv.js": 708,
	"./el": 4691,
	"./el.js": 4691,
	"./en-au": 3872,
	"./en-au.js": 3872,
	"./en-ca": 8298,
	"./en-ca.js": 8298,
	"./en-gb": 6195,
	"./en-gb.js": 6195,
	"./en-ie": 6584,
	"./en-ie.js": 6584,
	"./en-il": 5543,
	"./en-il.js": 5543,
	"./en-in": 9033,
	"./en-in.js": 9033,
	"./en-nz": 9402,
	"./en-nz.js": 9402,
	"./en-sg": 3004,
	"./en-sg.js": 3004,
	"./eo": 2934,
	"./eo.js": 2934,
	"./es": 7650,
	"./es-do": 838,
	"./es-do.js": 838,
	"./es-mx": 7730,
	"./es-mx.js": 7730,
	"./es-us": 6575,
	"./es-us.js": 6575,
	"./es.js": 7650,
	"./et": 3035,
	"./et.js": 3035,
	"./eu": 3508,
	"./eu.js": 3508,
	"./fa": 119,
	"./fa.js": 119,
	"./fi": 527,
	"./fi.js": 527,
	"./fil": 5995,
	"./fil.js": 5995,
	"./fo": 2477,
	"./fo.js": 2477,
	"./fr": 5498,
	"./fr-ca": 6435,
	"./fr-ca.js": 6435,
	"./fr-ch": 7892,
	"./fr-ch.js": 7892,
	"./fr.js": 5498,
	"./fy": 7071,
	"./fy.js": 7071,
	"./ga": 1734,
	"./ga.js": 1734,
	"./gd": 217,
	"./gd.js": 217,
	"./gl": 7329,
	"./gl.js": 7329,
	"./gom-deva": 2124,
	"./gom-deva.js": 2124,
	"./gom-latn": 3383,
	"./gom-latn.js": 3383,
	"./gu": 5050,
	"./gu.js": 5050,
	"./he": 1713,
	"./he.js": 1713,
	"./hi": 3861,
	"./hi.js": 3861,
	"./hr": 6308,
	"./hr.js": 6308,
	"./hu": 609,
	"./hu.js": 609,
	"./hy-am": 7160,
	"./hy-am.js": 7160,
	"./id": 4063,
	"./id.js": 4063,
	"./is": 9374,
	"./is.js": 9374,
	"./it": 8383,
	"./it-ch": 1827,
	"./it-ch.js": 1827,
	"./it.js": 8383,
	"./ja": 3827,
	"./ja.js": 3827,
	"./jv": 9722,
	"./jv.js": 9722,
	"./ka": 1794,
	"./ka.js": 1794,
	"./kk": 7088,
	"./kk.js": 7088,
	"./km": 6870,
	"./km.js": 6870,
	"./kn": 4451,
	"./kn.js": 4451,
	"./ko": 3164,
	"./ko.js": 3164,
	"./ku": 8174,
	"./ku-kmr": 6181,
	"./ku-kmr.js": 6181,
	"./ku.js": 8174,
	"./ky": 8474,
	"./ky.js": 8474,
	"./lb": 9680,
	"./lb.js": 9680,
	"./lo": 5867,
	"./lo.js": 5867,
	"./lt": 5766,
	"./lt.js": 5766,
	"./lv": 9532,
	"./lv.js": 9532,
	"./me": 8076,
	"./me.js": 8076,
	"./mi": 1848,
	"./mi.js": 1848,
	"./mk": 306,
	"./mk.js": 306,
	"./ml": 3739,
	"./ml.js": 3739,
	"./mn": 9053,
	"./mn.js": 9053,
	"./mr": 6169,
	"./mr.js": 6169,
	"./ms": 3386,
	"./ms-my": 2297,
	"./ms-my.js": 2297,
	"./ms.js": 3386,
	"./mt": 7075,
	"./mt.js": 7075,
	"./my": 2264,
	"./my.js": 2264,
	"./nb": 2274,
	"./nb.js": 2274,
	"./ne": 8235,
	"./ne.js": 8235,
	"./nl": 2572,
	"./nl-be": 3784,
	"./nl-be.js": 3784,
	"./nl.js": 2572,
	"./nn": 4566,
	"./nn.js": 4566,
	"./oc-lnc": 9330,
	"./oc-lnc.js": 9330,
	"./pa-in": 9849,
	"./pa-in.js": 9849,
	"./pl": 4418,
	"./pl.js": 4418,
	"./pt": 9834,
	"./pt-br": 8303,
	"./pt-br.js": 8303,
	"./pt.js": 9834,
	"./ro": 4457,
	"./ro.js": 4457,
	"./ru": 2271,
	"./ru.js": 2271,
	"./sd": 1221,
	"./sd.js": 1221,
	"./se": 3478,
	"./se.js": 3478,
	"./si": 7538,
	"./si.js": 7538,
	"./sk": 5784,
	"./sk.js": 5784,
	"./sl": 6637,
	"./sl.js": 6637,
	"./sq": 6794,
	"./sq.js": 6794,
	"./sr": 5719,
	"./sr-cyrl": 3322,
	"./sr-cyrl.js": 3322,
	"./sr.js": 5719,
	"./ss": 6000,
	"./ss.js": 6000,
	"./sv": 1011,
	"./sv.js": 1011,
	"./sw": 748,
	"./sw.js": 748,
	"./ta": 1025,
	"./ta.js": 1025,
	"./te": 1885,
	"./te.js": 1885,
	"./tet": 8861,
	"./tet.js": 8861,
	"./tg": 6571,
	"./tg.js": 6571,
	"./th": 5802,
	"./th.js": 5802,
	"./tk": 9527,
	"./tk.js": 9527,
	"./tl-ph": 9231,
	"./tl-ph.js": 9231,
	"./tlh": 1052,
	"./tlh.js": 1052,
	"./tr": 5096,
	"./tr.js": 5096,
	"./tzl": 9846,
	"./tzl.js": 9846,
	"./tzm": 1765,
	"./tzm-latn": 7711,
	"./tzm-latn.js": 7711,
	"./tzm.js": 1765,
	"./ug-cn": 8414,
	"./ug-cn.js": 8414,
	"./uk": 6618,
	"./uk.js": 6618,
	"./ur": 158,
	"./ur.js": 158,
	"./uz": 7609,
	"./uz-latn": 2475,
	"./uz-latn.js": 2475,
	"./uz.js": 7609,
	"./vi": 1135,
	"./vi.js": 1135,
	"./x-pseudo": 4051,
	"./x-pseudo.js": 4051,
	"./yo": 2218,
	"./yo.js": 2218,
	"./zh-cn": 2648,
	"./zh-cn.js": 2648,
	"./zh-hk": 1632,
	"./zh-hk.js": 1632,
	"./zh-mo": 1541,
	"./zh-mo.js": 1541,
	"./zh-tw": 304,
	"./zh-tw.js": 304
};


function webpackContext(req) {
	var id = webpackContextResolve(req);
	return __webpack_require__(id);
}
function webpackContextResolve(req) {
	if(!__webpack_require__.o(map, req)) {
		var e = new Error("Cannot find module '" + req + "'");
		e.code = 'MODULE_NOT_FOUND';
		throw e;
	}
	return map[req];
}
webpackContext.keys = function webpackContextKeys() {
	return Object.keys(map);
};
webpackContext.resolve = webpackContextResolve;
module.exports = webpackContext;
webpackContext.id = 5358;

/***/ })

},
/******/ __webpack_require__ =&gt; { // webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =&gt; (__webpack_require__(__webpack_require__.s = moduleId))
/******/ __webpack_require__.O(0, [502], () =&gt; (__webpack_exec__(4329)));
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ }
]);</pre></body></html>