breakpointCalc_837e2b746d2adb0e3ce5.js

🧩 Syntax:
/*! For license information please see breakpointCalc_837e2b746d2adb0e3ce5.js.LICENSE.txt */
(
  () => {
    var e = {
      256: () => {
        var e;
        e = function () {
          var e = document.getElementById('inputMenuToggle'),
          t = document.querySelectorAll('.menu-line'),
          n = document.querySelector('.changelog-info-wrapper');
          e.addEventListener(
            'focus',
            (
              function () {
                for (var e = 0; e < t.length; e++) t[e].classList.add('focus')
              }
            )
          ),
          e.addEventListener(
            'blur',
            (
              function () {
                for (var e = 0; e < t.length; e++) t[e].classList.remove('focus')
              }
            )
          ),
          document.querySelector('.changelog-toggle').addEventListener('click', (function () {
            n.hidden = !n.hidden
          }))
        },
        (
          document.attachEvent ? 'complete' === document.readyState : 'loading' !== document.readyState
        ) ? e() : document.addEventListener('DOMContentLoaded', e)
      },
      529: e => {
        var t;
        window,
        t = function () {
          return function () {
            'use strict';
            var e = {
              282: function (e, t, n) {
                Object.defineProperty(t, '__esModule', {
                  value: !0
                }),
                t.clearChoices = t.activateChoices = t.filterChoices = t.addChoice = void 0;
                var i = n(883);
                t.addChoice = function (e) {
                  var t = e.value,
                  n = e.label,
                  r = e.id,
                  o = e.groupId,
                  s = e.disabled,
                  a = e.elementId,
                  c = e.customProperties,
                  l = e.placeholder,
                  u = e.keyCode;
                  return {
                    type: i.ACTION_TYPES.ADD_CHOICE,
                    value: t,
                    label: n,
                    id: r,
                    groupId: o,
                    disabled: s,
                    elementId: a,
                    customProperties: c,
                    placeholder: l,
                    keyCode: u
                  }
                },
                t.filterChoices = function (e) {
                  return {
                    type: i.ACTION_TYPES.FILTER_CHOICES,
                    results: e
                  }
                },
                t.activateChoices = function (e) {
                  return void 0 === e &&
                  (e = !0),
                  {
                    type: i.ACTION_TYPES.ACTIVATE_CHOICES,
                    active: e
                  }
                },
                t.clearChoices = function () {
                  return {
                    type: i.ACTION_TYPES.CLEAR_CHOICES
                  }
                }
              },
              783: function (e, t, n) {
                Object.defineProperty(t, '__esModule', {
                  value: !0
                }),
                t.addGroup = void 0;
                var i = n(883);
                t.addGroup = function (e) {
                  var t = e.value,
                  n = e.id,
                  r = e.active,
                  o = e.disabled;
                  return {
                    type: i.ACTION_TYPES.ADD_GROUP,
                    value: t,
                    id: n,
                    active: r,
                    disabled: o
                  }
                }
              },
              464: function (e, t, n) {
                Object.defineProperty(t, '__esModule', {
                  value: !0
                }),
                t.highlightItem = t.removeItem = t.addItem = void 0;
                var i = n(883);
                t.addItem = function (e) {
                  var t = e.value,
                  n = e.label,
                  r = e.id,
                  o = e.choiceId,
                  s = e.groupId,
                  a = e.customProperties,
                  c = e.placeholder,
                  l = e.keyCode;
                  return {
                    type: i.ACTION_TYPES.ADD_ITEM,
                    value: t,
                    label: n,
                    id: r,
                    choiceId: o,
                    groupId: s,
                    customProperties: a,
                    placeholder: c,
                    keyCode: l
                  }
                },
                t.removeItem = function (e, t) {
                  return {
                    type: i.ACTION_TYPES.REMOVE_ITEM,
                    id: e,
                    choiceId: t
                  }
                },
                t.highlightItem = function (e, t) {
                  return {
                    type: i.ACTION_TYPES.HIGHLIGHT_ITEM,
                    id: e,
                    highlighted: t
                  }
                }
              },
              137: function (e, t, n) {
                Object.defineProperty(t, '__esModule', {
                  value: !0
                }),
                t.setIsLoading = t.resetTo = t.clearAll = void 0;
                var i = n(883);
                t.clearAll = function () {
                  return {
                    type: i.ACTION_TYPES.CLEAR_ALL
                  }
                },
                t.resetTo = function (e) {
                  return {
                    type: i.ACTION_TYPES.RESET_TO,
                    state: e
                  }
                },
                t.setIsLoading = function (e) {
                  return {
                    type: i.ACTION_TYPES.SET_IS_LOADING,
                    isLoading: e
                  }
                }
              },
              373: function (e, t, n) {
                var i = this &&
                this.__spreadArray ||
                function (e, t, n) {
                  if (n || 2 === arguments.length) for (var i, r = 0, o = t.length; r < o; r++) !i &&
                  r in t ||
                  (i || (i = Array.prototype.slice.call(t, 0, r)), i[r] = t[r]);
                  return e.concat(i || Array.prototype.slice.call(t))
                },
                r = this &&
                this.__importDefault ||
                function (e) {
                  return e &&
                  e.__esModule ? e : {
                  default:
                    e
                  }
                };
                Object.defineProperty(t, '__esModule', {
                  value: !0
                });
                var o = r(n(996)),
                s = r(n(221)),
                a = n(282),
                c = n(783),
                l = n(464),
                u = n(137),
                h = n(520),
                d = n(883),
                p = n(789),
                f = n(799),
                m = n(655),
                v = r(n(744)),
                g = r(n(686)),
                _ = '-ms-scroll-limit' in document.documentElement.style &&
                '-ms-ime-align' in document.documentElement.style,
                y = {},
                b = function () {
                  function e(t, n) {
                    var r = this;
                    void 0 === t &&
                    (t = '[data-choice]'),
                    void 0 === n &&
                    (n = {}),
                    void 0 === n.allowHTML &&
                    console.warn(
                      'Deprecation warning: allowHTML will default to false in a future release. To render HTML in Choices, you will need to set it to true. Setting allowHTML will suppress this message.'
                    ),
                    this.config = o.default.all(
                      [p.DEFAULT_CONFIG,
                      e.defaults.options,
                      n],
                      {
                        arrayMerge: function (e, t) {
                          return i([], t, !0)
                        }
                      }
                    );
                    var s = (0, f.diff) (this.config, p.DEFAULT_CONFIG);
                    s.length &&
                    console.warn('Unknown config option(s) passed', s.join(', '));
                    var a = 'string' == typeof t ? document.querySelector(t) : t;
                    if (!(a instanceof HTMLInputElement || a instanceof HTMLSelectElement)) throw TypeError(
                      'Expected one of the following types text|select-one|select-multiple'
                    );
                    if (
                      this._isTextElement = a.type === d.TEXT_TYPE,
                      this._isSelectOneElement = a.type === d.SELECT_ONE_TYPE,
                      this._isSelectMultipleElement = a.type === d.SELECT_MULTIPLE_TYPE,
                      this._isSelectElement = this._isSelectOneElement ||
                      this._isSelectMultipleElement,
                      this.config.searchEnabled = this._isSelectMultipleElement ||
                      this.config.searchEnabled,
                      [
                        'auto',
                        'always'
                      ].includes(''.concat(this.config.renderSelectedChoices)) ||
                      (this.config.renderSelectedChoices = 'auto'),
                      n.addItemFilter &&
                      'function' != typeof n.addItemFilter
                    ) {
                      var c = n.addItemFilter instanceof RegExp ? n.addItemFilter : new RegExp(n.addItemFilter);
                      this.config.addItemFilter = c.test.bind(c)
                    }
                    if (
                      this._isTextElement ? this.passedElement = new h.WrappedInput({
                        element: a,
                        classNames: this.config.classNames,
                        delimiter: this.config.delimiter
                      }) : this.passedElement = new h.WrappedSelect({
                        element: a,
                        classNames: this.config.classNames,
                        template: function (e) {
                          return r._templates.option(e)
                        }
                      }),
                      this.initialised = !1,
                      this._store = new v.default,
                      this._initialState = m.defaultState,
                      this._currentState = m.defaultState,
                      this._prevState = m.defaultState,
                      this._currentValue = '',
                      this._canSearch = !!this.config.searchEnabled,
                      this._isScrollingOnIe = !1,
                      this._highlightPosition = 0,
                      this._wasTap = !0,
                      this._placeholderValue = this._generatePlaceholderValue(),
                      this._baseId = (0, f.generateId) (this.passedElement.element, 'choices-'),
                      this._direction = this.passedElement.dir,
                      !this._direction
                    ) {
                      var l = window.getComputedStyle(this.passedElement.element).direction;
                      l !== window.getComputedStyle(document.documentElement).direction &&
                      (this._direction = l)
                    }
                    if (
                      this._idNames = {
                        itemChoice: 'item-choice'
                      },
                      this._isSelectElement &&
                      (
                        this._presetGroups = this.passedElement.optionGroups,
                        this._presetOptions = this.passedElement.options
                      ),
                      this._presetChoices = this.config.choices,
                      this._presetItems = this.config.items,
                      this.passedElement.value &&
                      this._isTextElement
                    ) {
                      var u = this.passedElement.value.split(this.config.delimiter);
                      this._presetItems = this._presetItems.concat(u)
                    }
                    if (
                      this.passedElement.options &&
                      this.passedElement.options.forEach(
                        (
                          function (e) {
                            r._presetChoices.push({
                              value: e.value,
                              label: e.innerHTML,
                              selected: !!e.selected,
                              disabled: e.disabled ||
                              e.parentNode.disabled,
                              placeholder: '' === e.value ||
                              e.hasAttribute('placeholder'),
                              customProperties: e.dataset['custom-properties']
                            })
                          }
                        )
                      ),
                      this._render = this._render.bind(this),
                      this._onFocus = this._onFocus.bind(this),
                      this._onBlur = this._onBlur.bind(this),
                      this._onKeyUp = this._onKeyUp.bind(this),
                      this._onKeyDown = this._onKeyDown.bind(this),
                      this._onClick = this._onClick.bind(this),
                      this._onTouchMove = this._onTouchMove.bind(this),
                      this._onTouchEnd = this._onTouchEnd.bind(this),
                      this._onMouseDown = this._onMouseDown.bind(this),
                      this._onMouseOver = this._onMouseOver.bind(this),
                      this._onFormReset = this._onFormReset.bind(this),
                      this._onSelectKey = this._onSelectKey.bind(this),
                      this._onEnterKey = this._onEnterKey.bind(this),
                      this._onEscapeKey = this._onEscapeKey.bind(this),
                      this._onDirectionKey = this._onDirectionKey.bind(this),
                      this._onDeleteKey = this._onDeleteKey.bind(this),
                      this.passedElement.isActive
                    ) return this.config.silent ||
                    console.warn(
                      'Trying to initialise Choices on element already initialised',
                      {
                        element: t
                      }
                    ),
                    void (this.initialised = !0);
                    this.init()
                  }
                  return Object.defineProperty(
                    e,
                    'defaults',
                    {
                      get: function () {
                        return Object.preventExtensions({
                          get options() {
                            return y
                          },
                          get templates() {
                            return g.default
                          }
                        })
                      },
                      enumerable: !1,
                      configurable: !0
                    }
                  ),
                  e.prototype.init = function () {
                    if (!this.initialised) {
                      this._createTemplates(),
                      this._createElements(),
                      this._createStructure(),
                      this._store.subscribe(this._render),
                      this._render(),
                      this._addEventListeners(),
                      (
                        !this.config.addItems ||
                        this.passedElement.element.hasAttribute('disabled')
                      ) &&
                      this.disable(),
                      this.initialised = !0;
                      var e = this.config.callbackOnInit;
                      e &&
                      'function' == typeof e &&
                      e.call(this)
                    }
                  },
                  e.prototype.destroy = function () {
                    this.initialised &&
                    (
                      this._removeEventListeners(),
                      this.passedElement.reveal(),
                      this.containerOuter.unwrap(this.passedElement.element),
                      this.clearStore(),
                      this._isSelectElement &&
                      (this.passedElement.options = this._presetOptions),
                      this._templates = g.default,
                      this.initialised = !1
                    )
                  },
                  e.prototype.enable = function () {
                    return this.passedElement.isDisabled &&
                    this.passedElement.enable(),
                    this.containerOuter.isDisabled &&
                    (
                      this._addEventListeners(),
                      this.input.enable(),
                      this.containerOuter.enable()
                    ),
                    this
                  },
                  e.prototype.disable = function () {
                    return this.passedElement.isDisabled ||
                    this.passedElement.disable(),
                    this.containerOuter.isDisabled ||
                    (
                      this._removeEventListeners(),
                      this.input.disable(),
                      this.containerOuter.disable()
                    ),
                    this
                  },
                  e.prototype.highlightItem = function (e, t) {
                    if (void 0 === t && (t = !0), !e || !e.id) return this;
                    var n = e.id,
                    i = e.groupId,
                    r = void 0 === i ? - 1 : i,
                    o = e.value,
                    s = void 0 === o ? '' : o,
                    a = e.label,
                    c = void 0 === a ? '' : a,
                    u = r >= 0 ? this._store.getGroupById(r) : null;
                    return this._store.dispatch((0, l.highlightItem) (n, !0)),
                    t &&
                    this.passedElement.triggerEvent(
                      d.EVENTS.highlightItem,
                      {
                        id: n,
                        value: s,
                        label: c,
                        groupValue: u &&
                        u.value ? u.value : null
                      }
                    ),
                    this
                  },
                  e.prototype.unhighlightItem = function (e) {
                    if (!e || !e.id) return this;
                    var t = e.id,
                    n = e.groupId,
                    i = void 0 === n ? - 1 : n,
                    r = e.value,
                    o = void 0 === r ? '' : r,
                    s = e.label,
                    a = void 0 === s ? '' : s,
                    c = i >= 0 ? this._store.getGroupById(i) : null;
                    return this._store.dispatch((0, l.highlightItem) (t, !1)),
                    this.passedElement.triggerEvent(
                      d.EVENTS.highlightItem,
                      {
                        id: t,
                        value: o,
                        label: a,
                        groupValue: c &&
                        c.value ? c.value : null
                      }
                    ),
                    this
                  },
                  e.prototype.highlightAll = function () {
                    var e = this;
                    return this._store.items.forEach((function (t) {
                      return e.highlightItem(t)
                    })),
                    this
                  },
                  e.prototype.unhighlightAll = function () {
                    var e = this;
                    return this._store.items.forEach((function (t) {
                      return e.unhighlightItem(t)
                    })),
                    this
                  },
                  e.prototype.removeActiveItemsByValue = function (e) {
                    var t = this;
                    return this._store.activeItems.filter((function (t) {
                      return t.value === e
                    })).forEach((function (e) {
                      return t._removeItem(e)
                    })),
                    this
                  },
                  e.prototype.removeActiveItems = function (e) {
                    var t = this;
                    return this._store.activeItems.filter((function (t) {
                      return t.id !== e
                    })).forEach((function (e) {
                      return t._removeItem(e)
                    })),
                    this
                  },
                  e.prototype.removeHighlightedItems = function (e) {
                    var t = this;
                    return void 0 === e &&
                    (e = !1),
                    this._store.highlightedActiveItems.forEach((function (n) {
                      t._removeItem(n),
                      e &&
                      t._triggerChange(n.value)
                    })),
                    this
                  },
                  e.prototype.showDropdown = function (e) {
                    var t = this;
                    return this.dropdown.isActive ||
                    requestAnimationFrame(
                      (
                        function () {
                          t.dropdown.show(),
                          t.containerOuter.open(t.dropdown.distanceFromTopWindow),
                          !e &&
                          t._canSearch &&
                          t.input.focus(),
                          t.passedElement.triggerEvent(d.EVENTS.showDropdown, {
                          })
                        }
                      )
                    ),
                    this
                  },
                  e.prototype.hideDropdown = function (e) {
                    var t = this;
                    return this.dropdown.isActive ? (
                      requestAnimationFrame(
                        (
                          function () {
                            t.dropdown.hide(),
                            t.containerOuter.close(),
                            !e &&
                            t._canSearch &&
                            (t.input.removeActiveDescendant(), t.input.blur()),
                            t.passedElement.triggerEvent(d.EVENTS.hideDropdown, {
                            })
                          }
                        )
                      ),
                      this
                    ) : this
                  },
                  e.prototype.getValue = function (e) {
                    void 0 === e &&
                    (e = !1);
                    var t = this._store.activeItems.reduce((function (t, n) {
                      var i = e ? n.value : n;
                      return t.push(i),
                      t
                    }), []);
                    return this._isSelectOneElement ? t[0] : t
                  },
                  e.prototype.setValue = function (e) {
                    var t = this;
                    return this.initialised ? (e.forEach((function (e) {
                      return t._setChoiceOrItem(e)
                    })), this) : this
                  },
                  e.prototype.setChoiceByValue = function (e) {
                    var t = this;
                    return !this.initialised ||
                    this._isTextElement ||
                    (Array.isArray(e) ? e : [
                      e
                    ]).forEach((function (e) {
                      return t._findAndSelectChoiceByValue(e)
                    })),
                    this
                  },
                  e.prototype.setChoices = function (e, t, n, i) {
                    var r = this;
                    if (
                      void 0 === e &&
                      (e = []),
                      void 0 === t &&
                      (t = 'value'),
                      void 0 === n &&
                      (n = 'label'),
                      void 0 === i &&
                      (i = !1),
                      !this.initialised
                    ) throw new ReferenceError(
                      'setChoices was called on a non-initialized instance of Choices'
                    );
                    if (!this._isSelectElement) throw new TypeError('setChoices can\'t be used with INPUT based Choices');
                    if ('string' != typeof t || !t) throw new TypeError(
                      'value parameter must be a name of \'value\' field in passed objects'
                    );
                    if (i && this.clearChoices(), 'function' == typeof e) {
                      var o = e(this);
                      if ('function' == typeof Promise && o instanceof Promise) return new Promise((function (e) {
                        return requestAnimationFrame(e)
                      })).then((function () {
                        return r._handleLoadingState(!0)
                      })).then((function () {
                        return o
                      })).then((function (e) {
                        return r.setChoices(e, t, n, i)
                      })).catch((function (e) {
                        r.config.silent ||
                        console.error(e)
                      })).then((function () {
                        return r._handleLoadingState(!1)
                      })).then((function () {
                        return r
                      }));
                      if (!Array.isArray(o)) throw new TypeError(
                        '.setChoices first argument function must return either array of choices or Promise, got: '.concat(typeof o)
                      );
                      return this.setChoices(o, t, n, !1)
                    }
                    if (!Array.isArray(e)) throw new TypeError(
                      '.setChoices must be called either with array of choices with a function resulting into Promise of array of choices'
                    );
                    return this.containerOuter.removeLoadingState(),
                    this._startLoading(),
                    e.forEach(
                      (
                        function (e) {
                          if (e.choices) r._addGroup({
                            id: e.id ? parseInt(''.concat(e.id), 10) : null,
                            group: e,
                            valueKey: t,
                            labelKey: n
                          });
                           else {
                            var i = e;
                            r._addChoice({
                              value: i[t],
                              label: i[n],
                              isSelected: !!i.selected,
                              isDisabled: !!i.disabled,
                              placeholder: !!i.placeholder,
                              customProperties: i.customProperties
                            })
                          }
                        }
                      )
                    ),
                    this._stopLoading(),
                    this
                  },
                  e.prototype.clearChoices = function () {
                    return this._store.dispatch((0, a.clearChoices) ()),
                    this
                  },
                  e.prototype.clearStore = function () {
                    return this._store.dispatch((0, u.clearAll) ()),
                    this
                  },
                  e.prototype.clearInput = function () {
                    var e = !this._isSelectOneElement;
                    return this.input.clear(e),
                    !this._isTextElement &&
                    this._canSearch &&
                    (
                      this._isSearching = !1,
                      this._store.dispatch((0, a.activateChoices) (!0))
                    ),
                    this
                  },
                  e.prototype._render = function () {
                    if (!this._store.isLoading()) {
                      this._currentState = this._store.state;
                      var e = this._currentState.choices !== this._prevState.choices ||
                      this._currentState.groups !== this._prevState.groups ||
                      this._currentState.items !== this._prevState.items,
                      t = this._isSelectElement,
                      n = this._currentState.items !== this._prevState.items;
                      e &&
                      (
                        t &&
                        this._renderChoices(),
                        n &&
                        this._renderItems(),
                        this._prevState = this._currentState
                      )
                    }
                  },
                  e.prototype._renderChoices = function () {
                    var e = this,
                    t = this._store,
                    n = t.activeGroups,
                    i = t.activeChoices,
                    r = document.createDocumentFragment();
                    if (
                      this.choiceList.clear(),
                      this.config.resetScrollPosition &&
                      requestAnimationFrame((function () {
                        return e.choiceList.scrollToTop()
                      })),
                      n.length >= 1 &&
                      !this._isSearching
                    ) {
                      var o = i.filter((function (e) {
                        return !0 === e.placeholder &&
                        - 1 === e.groupId
                      }));
                      o.length >= 1 &&
                      (r = this._createChoicesFragment(o, r)),
                      r = this._createGroupsFragment(n, i, r)
                    } else i.length >= 1 &&
                    (r = this._createChoicesFragment(i, r));
                    if (r.childNodes && r.childNodes.length > 0) {
                      var s = this._store.activeItems,
                      a = this._canAddItem(s, this.input.value);
                      if (a.response) this.choiceList.append(r),
                      this._highlightChoice();
                       else {
                        var c = this._getTemplate('notice', a.notice);
                        this.choiceList.append(c)
                      }
                    } else {
                      var l = void 0;
                      c = void 0,
                      this._isSearching ? (
                        c = 'function' == typeof this.config.noResultsText ? this.config.noResultsText() : this.config.noResultsText,
                        l = this._getTemplate('notice', c, 'no-results')
                      ) : (
                        c = 'function' == typeof this.config.noChoicesText ? this.config.noChoicesText() : this.config.noChoicesText,
                        l = this._getTemplate('notice', c, 'no-choices')
                      ),
                      this.choiceList.append(l)
                    }
                  },
                  e.prototype._renderItems = function () {
                    var e = this._store.activeItems ||
                    [];
                    this.itemList.clear();
                    var t = this._createItemsFragment(e);
                    t.childNodes &&
                    this.itemList.append(t)
                  },
                  e.prototype._createGroupsFragment = function (e, t, n) {
                    var i = this;
                    return void 0 === n &&
                    (n = document.createDocumentFragment()),
                    this.config.shouldSort &&
                    e.sort(this.config.sorter),
                    e.forEach(
                      (
                        function (e) {
                          var r = function (e) {
                            return t.filter(
                              (
                                function (t) {
                                  return i._isSelectOneElement ? t.groupId === e.id : t.groupId === e.id &&
                                  ('always' === i.config.renderSelectedChoices || !t.selected)
                                }
                              )
                            )
                          }(e);
                          if (r.length >= 1) {
                            var o = i._getTemplate('choiceGroup', e);
                            n.appendChild(o),
                            i._createChoicesFragment(r, n, !0)
                          }
                        }
                      )
                    ),
                    n
                  },
                  e.prototype._createChoicesFragment = function (e, t, n) {
                    var r = this;
                    void 0 === t &&
                    (t = document.createDocumentFragment()),
                    void 0 === n &&
                    (n = !1);
                    var o = this.config,
                    s = o.renderSelectedChoices,
                    a = o.searchResultLimit,
                    c = o.renderChoiceLimit,
                    l = this._isSearching ? f.sortByScore : this.config.sorter,
                    u = function (e) {
                      if ('auto' !== s || r._isSelectOneElement || !e.selected) {
                        var n = r._getTemplate('choice', e, r.config.itemSelectText);
                        t.appendChild(n)
                      }
                    },
                    h = e;
                    'auto' !== s ||
                    this._isSelectOneElement ||
                    (h = e.filter((function (e) {
                      return !e.selected
                    })));
                    var d = h.reduce(
                      (
                        function (e, t) {
                          return t.placeholder ? e.placeholderChoices.push(t) : e.normalChoices.push(t),
                          e
                        }
                      ),
                      {
                        placeholderChoices: [],
                        normalChoices: []
                      }
                    ),
                    p = d.placeholderChoices,
                    m = d.normalChoices;
                    (this.config.shouldSort || this._isSearching) &&
                    m.sort(l);
                    var v = h.length,
                    g = this._isSelectOneElement ? i(i([], p, !0), m, !0) : m;
                    this._isSearching ? v = a : c &&
                    c > 0 &&
                    !n &&
                    (v = c);
                    for (var _ = 0; _ < v; _ += 1) g[_] &&
                    u(g[_]);
                    return t
                  },
                  e.prototype._createItemsFragment = function (e, t) {
                    var n = this;
                    void 0 === t &&
                    (t = document.createDocumentFragment());
                    var i = this.config,
                    r = i.shouldSortItems,
                    o = i.sorter,
                    s = i.removeItemButton;
                    return r &&
                    !this._isSelectOneElement &&
                    e.sort(o),
                    this._isTextElement ? this.passedElement.value = e.map((function (e) {
                      return e.value
                    })).join(this.config.delimiter) : this.passedElement.options = e,
                    e.forEach(
                      (
                        function (e) {
                          var i = n._getTemplate('item', e, s);
                          t.appendChild(i)
                        }
                      )
                    ),
                    t
                  },
                  e.prototype._triggerChange = function (e) {
                    null != e &&
                    this.passedElement.triggerEvent(d.EVENTS.change, {
                      value: e
                    })
                  },
                  e.prototype._selectPlaceholderChoice = function (e) {
                    this._addItem({
                      value: e.value,
                      label: e.label,
                      choiceId: e.id,
                      groupId: e.groupId,
                      placeholder: e.placeholder
                    }),
                    this._triggerChange(e.value)
                  },
                  e.prototype._handleButtonAction = function (e, t) {
                    if (e && t && this.config.removeItems && this.config.removeItemButton) {
                      var n = t.parentNode &&
                      t.parentNode.dataset.id,
                      i = n &&
                      e.find((function (e) {
                        return e.id === parseInt(n, 10)
                      }));
                      i &&
                      (
                        this._removeItem(i),
                        this._triggerChange(i.value),
                        this._isSelectOneElement &&
                        this._store.placeholderChoice &&
                        this._selectPlaceholderChoice(this._store.placeholderChoice)
                      )
                    }
                  },
                  e.prototype._handleItemAction = function (e, t, n) {
                    var i = this;
                    if (
                      void 0 === n &&
                      (n = !1),
                      e &&
                      t &&
                      this.config.removeItems &&
                      !this._isSelectOneElement
                    ) {
                      var r = t.dataset.id;
                      e.forEach(
                        (
                          function (e) {
                            e.id !== parseInt(''.concat(r), 10) ||
                            e.highlighted ? !n &&
                            e.highlighted &&
                            i.unhighlightItem(e) : i.highlightItem(e)
                          }
                        )
                      ),
                      this.input.focus()
                    }
                  },
                  e.prototype._handleChoiceAction = function (e, t) {
                    if (e && t) {
                      var n = t.dataset.id,
                      i = n &&
                      this._store.getChoiceById(n);
                      if (i) {
                        var r = e[0] &&
                        e[0].keyCode ? e[0].keyCode : void 0,
                        o = this.dropdown.isActive;
                        i.keyCode = r,
                        this.passedElement.triggerEvent(d.EVENTS.choice, {
                          choice: i
                        }),
                        i.selected ||
                        i.disabled ||
                        this._canAddItem(e, i.value).response &&
                        (
                          this._addItem({
                            value: i.value,
                            label: i.label,
                            choiceId: i.id,
                            groupId: i.groupId,
                            customProperties: i.customProperties,
                            placeholder: i.placeholder,
                            keyCode: i.keyCode
                          }),
                          this._triggerChange(i.value)
                        ),
                        this.clearInput(),
                        o &&
                        this._isSelectOneElement &&
                        (this.hideDropdown(!0), this.containerOuter.focus())
                      }
                    }
                  },
                  e.prototype._handleBackspace = function (e) {
                    if (this.config.removeItems && e) {
                      var t = e[e.length - 1],
                      n = e.some((function (e) {
                        return e.highlighted
                      }));
                      this.config.editItems &&
                      !n &&
                      t ? (
                        this.input.value = t.value,
                        this.input.setWidth(),
                        this._removeItem(t),
                        this._triggerChange(t.value)
                      ) : (n || this.highlightItem(t, !1), this.removeHighlightedItems(!0))
                    }
                  },
                  e.prototype._startLoading = function () {
                    this._store.dispatch((0, u.setIsLoading) (!0))
                  },
                  e.prototype._stopLoading = function () {
                    this._store.dispatch((0, u.setIsLoading) (!1))
                  },
                  e.prototype._handleLoadingState = function (e) {
                    void 0 === e &&
                    (e = !0);
                    var t = this.itemList.getChild('.'.concat(this.config.classNames.placeholder));
                    e ? (
                      this.disable(),
                      this.containerOuter.addLoadingState(),
                      this._isSelectOneElement ? t ? t.innerHTML = this.config.loadingText : (t = this._getTemplate('placeholder', this.config.loadingText)) &&
                      this.itemList.append(t) : this.input.placeholder = this.config.loadingText
                    ) : (
                      this.enable(),
                      this.containerOuter.removeLoadingState(),
                      this._isSelectOneElement ? t &&
                      (t.innerHTML = this._placeholderValue || '') : this.input.placeholder = this._placeholderValue ||
                      ''
                    )
                  },
                  e.prototype._handleSearch = function (e) {
                    if (this.input.isFocussed) {
                      var t = this._store.choices,
                      n = this.config,
                      i = n.searchFloor,
                      r = n.searchChoices,
                      o = t.some((function (e) {
                        return !e.active
                      }));
                      if (null != e && e.length >= i) {
                        var s = r ? this._searchChoices(e) : 0;
                        this.passedElement.triggerEvent(d.EVENTS.search, {
                          value: e,
                          resultCount: s
                        })
                      } else o &&
                      (
                        this._isSearching = !1,
                        this._store.dispatch((0, a.activateChoices) (!0))
                      )
                    }
                  },
                  e.prototype._canAddItem = function (e, t) {
                    var n = !0,
                    i = 'function' == typeof this.config.addItemText ? this.config.addItemText(t) : this.config.addItemText;
                    if (!this._isSelectOneElement) {
                      var r = (0, f.existsInArray) (e, t);
                      this.config.maxItemCount > 0 &&
                      this.config.maxItemCount <= e.length &&
                      (
                        n = !1,
                        i = 'function' == typeof this.config.maxItemText ? this.config.maxItemText(this.config.maxItemCount) : this.config.maxItemText
                      ),
                      !this.config.duplicateItemsAllowed &&
                      r &&
                      n &&
                      (
                        n = !1,
                        i = 'function' == typeof this.config.uniqueItemText ? this.config.uniqueItemText(t) : this.config.uniqueItemText
                      ),
                      this._isTextElement &&
                      this.config.addItems &&
                      n &&
                      'function' == typeof this.config.addItemFilter &&
                      !this.config.addItemFilter(t) &&
                      (
                        n = !1,
                        i = 'function' == typeof this.config.customAddItemText ? this.config.customAddItemText(t) : this.config.customAddItemText
                      )
                    }
                    return {
                      response: n,
                      notice: i
                    }
                  },
                  e.prototype._searchChoices = function (e) {
                    var t = 'string' == typeof e ? e.trim() : e,
                    n = 'string' == typeof this._currentValue ? this._currentValue.trim() : this._currentValue;
                    if (t.length < 1 && t === ''.concat(n, ' ')) return 0;
                    var r = this._store.searchableChoices,
                    o = t,
                    c = Object.assign(
                      this.config.fuseOptions,
                      {
                        keys: i([], this.config.searchFields, !0),
                        includeMatches: !0
                      }
                    ),
                    l = new s.default(r, c).search(o);
                    return this._currentValue = t,
                    this._highlightPosition = 0,
                    this._isSearching = !0,
                    this._store.dispatch((0, a.filterChoices) (l)),
                    l.length
                  },
                  e.prototype._addEventListeners = function () {
                    var e = document.documentElement;
                    e.addEventListener('touchend', this._onTouchEnd, !0),
                    this.containerOuter.element.addEventListener('keydown', this._onKeyDown, !0),
                    this.containerOuter.element.addEventListener('mousedown', this._onMouseDown, !0),
                    e.addEventListener('click', this._onClick, {
                      passive: !0
                    }),
                    e.addEventListener('touchmove', this._onTouchMove, {
                      passive: !0
                    }),
                    this.dropdown.element.addEventListener('mouseover', this._onMouseOver, {
                      passive: !0
                    }),
                    this._isSelectOneElement &&
                    (
                      this.containerOuter.element.addEventListener('focus', this._onFocus, {
                        passive: !0
                      }),
                      this.containerOuter.element.addEventListener('blur', this._onBlur, {
                        passive: !0
                      })
                    ),
                    this.input.element.addEventListener('keyup', this._onKeyUp, {
                      passive: !0
                    }),
                    this.input.element.addEventListener('focus', this._onFocus, {
                      passive: !0
                    }),
                    this.input.element.addEventListener('blur', this._onBlur, {
                      passive: !0
                    }),
                    this.input.element.form &&
                    this.input.element.form.addEventListener('reset', this._onFormReset, {
                      passive: !0
                    }),
                    this.input.addEventListeners()
                  },
                  e.prototype._removeEventListeners = function () {
                    var e = document.documentElement;
                    e.removeEventListener('touchend', this._onTouchEnd, !0),
                    this.containerOuter.element.removeEventListener('keydown', this._onKeyDown, !0),
                    this.containerOuter.element.removeEventListener('mousedown', this._onMouseDown, !0),
                    e.removeEventListener('click', this._onClick),
                    e.removeEventListener('touchmove', this._onTouchMove),
                    this.dropdown.element.removeEventListener('mouseover', this._onMouseOver),
                    this._isSelectOneElement &&
                    (
                      this.containerOuter.element.removeEventListener('focus', this._onFocus),
                      this.containerOuter.element.removeEventListener('blur', this._onBlur)
                    ),
                    this.input.element.removeEventListener('keyup', this._onKeyUp),
                    this.input.element.removeEventListener('focus', this._onFocus),
                    this.input.element.removeEventListener('blur', this._onBlur),
                    this.input.element.form &&
                    this.input.element.form.removeEventListener('reset', this._onFormReset),
                    this.input.removeEventListeners()
                  },
                  e.prototype._onKeyDown = function (e) {
                    var t = e.keyCode,
                    n = this._store.activeItems,
                    i = this.input.isFocussed,
                    r = this.dropdown.isActive,
                    o = this.itemList.hasChildren(),
                    s = String.fromCharCode(t),
                    a = /[a-zA-Z0-9-_ ]/.test(s),
                    c = d.KEY_CODES.BACK_KEY,
                    l = d.KEY_CODES.DELETE_KEY,
                    u = d.KEY_CODES.ENTER_KEY,
                    h = d.KEY_CODES.A_KEY,
                    p = d.KEY_CODES.ESC_KEY,
                    f = d.KEY_CODES.UP_KEY,
                    m = d.KEY_CODES.DOWN_KEY,
                    v = d.KEY_CODES.PAGE_UP_KEY,
                    g = d.KEY_CODES.PAGE_DOWN_KEY;
                    switch (
                        this._isTextElement ||
                        r ||
                        !a ||
                        (
                          this.showDropdown(),
                          this.input.isFocussed ||
                          (this.input.value += s.toLowerCase())
                        ),
                        t
                      ) {
                      case h:
                        return this._onSelectKey(e, o);
                      case u:
                        return this._onEnterKey(e, n, r);
                      case p:
                        return this._onEscapeKey(r);
                      case f:
                      case v:
                      case m:
                      case g:
                        return this._onDirectionKey(e, r);
                      case l:
                      case c:
                        return this._onDeleteKey(e, n, i)
                    }
                  },
                  e.prototype._onKeyUp = function (e) {
                    var t = e.target,
                    n = e.keyCode,
                    i = this.input.value,
                    r = this._store.activeItems,
                    o = this._canAddItem(r, i),
                    s = d.KEY_CODES.BACK_KEY,
                    c = d.KEY_CODES.DELETE_KEY;
                    if (this._isTextElement) if (o.notice && i) {
                      var l = this._getTemplate('notice', o.notice);
                      this.dropdown.element.innerHTML = l.outerHTML,
                      this.showDropdown(!0)
                    } else this.hideDropdown(!0);
                     else {
                      var u = (n === s || n === c) &&
                      t &&
                      !t.value,
                      h = !this._isTextElement &&
                      this._isSearching,
                      p = this._canSearch &&
                      o.response;
                      u &&
                      h ? (
                        this._isSearching = !1,
                        this._store.dispatch((0, a.activateChoices) (!0))
                      ) : p &&
                      this._handleSearch(this.input.rawValue)
                    }
                    this._canSearch = this.config.searchEnabled
                  },
                  e.prototype._onSelectKey = function (e, t) {
                    var n = e.ctrlKey,
                    i = e.metaKey;
                    (n || i) &&
                    t &&
                    (
                      this._canSearch = !1,
                      this.config.removeItems &&
                      !this.input.value &&
                      this.input.element === document.activeElement &&
                      this.highlightAll()
                    )
                  },
                  e.prototype._onEnterKey = function (e, t, n) {
                    var i = e.target,
                    r = d.KEY_CODES.ENTER_KEY,
                    o = i &&
                    i.hasAttribute('data-button');
                    if (this._isTextElement && i && i.value) {
                      var s = this.input.value;
                      this._canAddItem(t, s).response &&
                      (
                        this.hideDropdown(!0),
                        this._addItem({
                          value: s
                        }),
                        this._triggerChange(s),
                        this.clearInput()
                      )
                    }
                    if (o && (this._handleButtonAction(t, i), e.preventDefault()), n) {
                      var a = this.dropdown.getChild('.'.concat(this.config.classNames.highlightedState));
                      a &&
                      (t[0] && (t[0].keyCode = r), this._handleChoiceAction(t, a)),
                      e.preventDefault()
                    } else this._isSelectOneElement &&
                    (this.showDropdown(), e.preventDefault())
                  },
                  e.prototype._onEscapeKey = function (e) {
                    e &&
                    (this.hideDropdown(!0), this.containerOuter.focus())
                  },
                  e.prototype._onDirectionKey = function (e, t) {
                    var n = e.keyCode,
                    i = e.metaKey,
                    r = d.KEY_CODES.DOWN_KEY,
                    o = d.KEY_CODES.PAGE_UP_KEY,
                    s = d.KEY_CODES.PAGE_DOWN_KEY;
                    if (t || this._isSelectOneElement) {
                      this.showDropdown(),
                      this._canSearch = !1;
                      var a = n === r ||
                      n === s ? 1 : - 1,
                      c = '[data-choice-selectable]',
                      l = void 0;
                      if (i || n === s || n === o) l = a > 0 ? this.dropdown.element.querySelector(''.concat(c, ':last-of-type')) : this.dropdown.element.querySelector(c);
                       else {
                        var u = this.dropdown.element.querySelector('.'.concat(this.config.classNames.highlightedState));
                        l = u ? (0, f.getAdjacentEl) (u, c, a) : this.dropdown.element.querySelector(c)
                      }
                      l &&
                      (
                        (0, f.isScrolledIntoView) (l, this.choiceList.element, a) ||
                        this.choiceList.scrollToChildElement(l, a),
                        this._highlightChoice(l)
                      ),
                      e.preventDefault()
                    }
                  },
                  e.prototype._onDeleteKey = function (e, t, n) {
                    var i = e.target;
                    this._isSelectOneElement ||
                    i.value ||
                    !n ||
                    (this._handleBackspace(t), e.preventDefault())
                  },
                  e.prototype._onTouchMove = function () {
                    this._wasTap &&
                    (this._wasTap = !1)
                  },
                  e.prototype._onTouchEnd = function (e) {
                    var t = (e || e.touches[0]).target;
                    this._wasTap &&
                    this.containerOuter.element.contains(t) &&
                    (
                      (
                        t === this.containerOuter.element ||
                        t === this.containerInner.element
                      ) &&
                      (
                        this._isTextElement ? this.input.focus() : this._isSelectMultipleElement &&
                        this.showDropdown()
                      ),
                      e.stopPropagation()
                    ),
                    this._wasTap = !0
                  },
                  e.prototype._onMouseDown = function (e) {
                    var t = e.target;
                    if (t instanceof HTMLElement) {
                      if (_ && this.choiceList.element.contains(t)) {
                        var n = this.choiceList.element.firstElementChild,
                        i = 'ltr' === this._direction ? e.offsetX >= n.offsetWidth : e.offsetX < n.offsetLeft;
                        this._isScrollingOnIe = i
                      }
                      if (t !== this.input.element) {
                        var r = t.closest('[data-button],[data-item],[data-choice]');
                        if (r instanceof HTMLElement) {
                          var o = e.shiftKey,
                          s = this._store.activeItems,
                          a = r.dataset;
                          'button' in a ? this._handleButtonAction(s, r) : 'item' in a ? this._handleItemAction(s, r, o) : 'choice' in a &&
                          this._handleChoiceAction(s, r)
                        }
                        e.preventDefault()
                      }
                    }
                  },
                  e.prototype._onMouseOver = function (e) {
                    var t = e.target;
                    t instanceof HTMLElement &&
                    'choice' in t.dataset &&
                    this._highlightChoice(t)
                  },
                  e.prototype._onClick = function (e) {
                    var t = e.target;
                    this.containerOuter.element.contains(t) ? this.dropdown.isActive ||
                    this.containerOuter.isDisabled ? this._isSelectOneElement &&
                    t !== this.input.element &&
                    !this.dropdown.element.contains(t) &&
                    this.hideDropdown() : this._isTextElement ? document.activeElement !== this.input.element &&
                    this.input.focus() : (this.showDropdown(), this.containerOuter.focus()) : (
                      this._store.highlightedActiveItems.length > 0 &&
                      this.unhighlightAll(),
                      this.containerOuter.removeFocusState(),
                      this.hideDropdown(!0)
                    )
                  },
                  e.prototype._onFocus = function (e) {
                    var t,
                    n = this,
                    i = e.target;
                    i &&
                    this.containerOuter.element.contains(i) &&
                    (
                      (t = {}) [d.TEXT_TYPE] = function () {
                        i === n.input.element &&
                        n.containerOuter.addFocusState()
                      },
                      t[d.SELECT_ONE_TYPE] = function () {
                        n.containerOuter.addFocusState(),
                        i === n.input.element &&
                        n.showDropdown(!0)
                      },
                      t[d.SELECT_MULTIPLE_TYPE] = function () {
                        i === n.input.element &&
                        (n.showDropdown(!0), n.containerOuter.addFocusState())
                      },
                      t
                    ) [this.passedElement.element.type]()
                  },
                  e.prototype._onBlur = function (e) {
                    var t,
                    n = this,
                    i = e.target;
                    if (
                      i &&
                      this.containerOuter.element.contains(i) &&
                      !this._isScrollingOnIe
                    ) {
                      var r = this._store.activeItems.some((function (e) {
                        return e.highlighted
                      }));
                      (
                        (t = {}) [d.TEXT_TYPE] = function () {
                          i === n.input.element &&
                          (
                            n.containerOuter.removeFocusState(),
                            r &&
                            n.unhighlightAll(),
                            n.hideDropdown(!0)
                          )
                        },
                        t[d.SELECT_ONE_TYPE] = function () {
                          n.containerOuter.removeFocusState(),
                          (
                            i === n.input.element ||
                            i === n.containerOuter.element &&
                            !n._canSearch
                          ) &&
                          n.hideDropdown(!0)
                        },
                        t[d.SELECT_MULTIPLE_TYPE] = function () {
                          i === n.input.element &&
                          (
                            n.containerOuter.removeFocusState(),
                            n.hideDropdown(!0),
                            r &&
                            n.unhighlightAll()
                          )
                        },
                        t
                      ) [this.passedElement.element.type]()
                    } else this._isScrollingOnIe = !1,
                    this.input.element.focus()
                  },
                  e.prototype._onFormReset = function () {
                    this._store.dispatch((0, u.resetTo) (this._initialState))
                  },
                  e.prototype._highlightChoice = function (e) {
                    var t = this;
                    void 0 === e &&
                    (e = null);
                    var n = Array.from(
                      this.dropdown.element.querySelectorAll('[data-choice-selectable]')
                    );
                    if (n.length) {
                      var i = e;
                      Array.from(
                        this.dropdown.element.querySelectorAll('.'.concat(this.config.classNames.highlightedState))
                      ).forEach(
                        (
                          function (e) {
                            e.classList.remove(t.config.classNames.highlightedState),
                            e.setAttribute('aria-selected', 'false')
                          }
                        )
                      ),
                      i ? this._highlightPosition = n.indexOf(i) : (
                        i = n.length > this._highlightPosition ? n[this._highlightPosition] : n[n.length - 1]
                      ) ||
                      (i = n[0]),
                      i.classList.add(this.config.classNames.highlightedState),
                      i.setAttribute('aria-selected', 'true'),
                      this.passedElement.triggerEvent(d.EVENTS.highlightChoice, {
                        el: i
                      }),
                      this.dropdown.isActive &&
                      (
                        this.input.setActiveDescendant(i.id),
                        this.containerOuter.setActiveDescendant(i.id)
                      )
                    }
                  },
                  e.prototype._addItem = function (e) {
                    var t = e.value,
                    n = e.label,
                    i = void 0 === n ? null : n,
                    r = e.choiceId,
                    o = void 0 === r ? - 1 : r,
                    s = e.groupId,
                    a = void 0 === s ? - 1 : s,
                    c = e.customProperties,
                    u = void 0 === c ? {
                    }
                     : c,
                    h = e.placeholder,
                    p = void 0 !== h &&
                    h,
                    f = e.keyCode,
                    m = void 0 === f ? - 1 : f,
                    v = 'string' == typeof t ? t.trim() : t,
                    g = this._store.items,
                    _ = i ||
                    v,
                    y = o ||
                    - 1,
                    b = a >= 0 ? this._store.getGroupById(a) : null,
                    E = g ? g.length + 1 : 1;
                    this.config.prependValue &&
                    (v = this.config.prependValue + v.toString()),
                    this.config.appendValue &&
                    (v += this.config.appendValue.toString()),
                    this._store.dispatch(
                      (0, l.addItem) ({
                        value: v,
                        label: _,
                        id: E,
                        choiceId: y,
                        groupId: a,
                        customProperties: u,
                        placeholder: p,
                        keyCode: m
                      })
                    ),
                    this._isSelectOneElement &&
                    this.removeActiveItems(E),
                    this.passedElement.triggerEvent(
                      d.EVENTS.addItem,
                      {
                        id: E,
                        value: v,
                        label: _,
                        customProperties: u,
                        groupValue: b &&
                        b.value ? b.value : null,
                        keyCode: m
                      }
                    )
                  },
                  e.prototype._removeItem = function (e) {
                    var t = e.id,
                    n = e.value,
                    i = e.label,
                    r = e.customProperties,
                    o = e.choiceId,
                    s = e.groupId,
                    a = s &&
                    s >= 0 ? this._store.getGroupById(s) : null;
                    t &&
                    o &&
                    (
                      this._store.dispatch((0, l.removeItem) (t, o)),
                      this.passedElement.triggerEvent(
                        d.EVENTS.removeItem,
                        {
                          id: t,
                          value: n,
                          label: i,
                          customProperties: r,
                          groupValue: a &&
                          a.value ? a.value : null
                        }
                      )
                    )
                  },
                  e.prototype._addChoice = function (e) {
                    var t = e.value,
                    n = e.label,
                    i = void 0 === n ? null : n,
                    r = e.isSelected,
                    o = void 0 !== r &&
                    r,
                    s = e.isDisabled,
                    c = void 0 !== s &&
                    s,
                    l = e.groupId,
                    u = void 0 === l ? - 1 : l,
                    h = e.customProperties,
                    d = void 0 === h ? {
                    }
                     : h,
                    p = e.placeholder,
                    f = void 0 !== p &&
                    p,
                    m = e.keyCode,
                    v = void 0 === m ? - 1 : m;
                    if (null != t) {
                      var g = this._store.choices,
                      _ = i ||
                      t,
                      y = g ? g.length + 1 : 1,
                      b = ''.concat(this._baseId, '-').concat(this._idNames.itemChoice, '-').concat(y);
                      this._store.dispatch(
                        (0, a.addChoice) ({
                          id: y,
                          groupId: u,
                          elementId: b,
                          value: t,
                          label: _,
                          disabled: c,
                          customProperties: d,
                          placeholder: f,
                          keyCode: v
                        })
                      ),
                      o &&
                      this._addItem({
                        value: t,
                        label: _,
                        choiceId: y,
                        customProperties: d,
                        placeholder: f,
                        keyCode: v
                      })
                    }
                  },
                  e.prototype._addGroup = function (e) {
                    var t = this,
                    n = e.group,
                    i = e.id,
                    r = e.valueKey,
                    o = void 0 === r ? 'value' : r,
                    s = e.labelKey,
                    a = void 0 === s ? 'label' : s,
                    l = (0, f.isType) ('Object', n) ? n.choices : Array.from(n.getElementsByTagName('OPTION')),
                    u = i ||
                    Math.floor((new Date).valueOf() * Math.random()),
                    h = !!n.disabled &&
                    n.disabled;
                    l ? (
                      this._store.dispatch((0, c.addGroup) ({
                        value: n.label,
                        id: u,
                        active: !0,
                        disabled: h
                      })),
                      l.forEach(
                        (
                          function (e) {
                            var n = e.disabled ||
                            e.parentNode &&
                            e.parentNode.disabled;
                            t._addChoice({
                              value: e[o],
                              label: (0, f.isType) ('Object', e) ? e[a] : e.innerHTML,
                              isSelected: e.selected,
                              isDisabled: n,
                              groupId: u,
                              customProperties: e.customProperties,
                              placeholder: e.placeholder
                            })
                          }
                        )
                      )
                    ) : this._store.dispatch(
                      (0, c.addGroup) ({
                        value: n.label,
                        id: n.id,
                        active: !1,
                        disabled: n.disabled
                      })
                    )
                  },
                  e.prototype._getTemplate = function (e) {
                    for (var t, n = [], r = 1; r < arguments.length; r++) n[r - 1] = arguments[r];
                    return (t = this._templates[e]).call.apply(t, i([this,
                    this.config], n, !1))
                  },
                  e.prototype._createTemplates = function () {
                    var e = this.config.callbackOnCreateTemplates,
                    t = {};
                    e &&
                    'function' == typeof e &&
                    (t = e.call(this, f.strToEl)),
                    this._templates = (0, o.default) (g.default, t)
                  },
                  e.prototype._createElements = function () {
                    this.containerOuter = new h.Container({
                      element: this._getTemplate(
                        'containerOuter',
                        this._direction,
                        this._isSelectElement,
                        this._isSelectOneElement,
                        this.config.searchEnabled,
                        this.passedElement.element.type,
                        this.config.labelId
                      ),
                      classNames: this.config.classNames,
                      type: this.passedElement.element.type,
                      position: this.config.position
                    }),
                    this.containerInner = new h.Container({
                      element: this._getTemplate('containerInner'),
                      classNames: this.config.classNames,
                      type: this.passedElement.element.type,
                      position: this.config.position
                    }),
                    this.input = new h.Input({
                      element: this._getTemplate('input', this._placeholderValue),
                      classNames: this.config.classNames,
                      type: this.passedElement.element.type,
                      preventPaste: !this.config.paste
                    }),
                    this.choiceList = new h.List({
                      element: this._getTemplate('choiceList', this._isSelectOneElement)
                    }),
                    this.itemList = new h.List({
                      element: this._getTemplate('itemList', this._isSelectOneElement)
                    }),
                    this.dropdown = new h.Dropdown({
                      element: this._getTemplate('dropdown'),
                      classNames: this.config.classNames,
                      type: this.passedElement.element.type
                    })
                  },
                  e.prototype._createStructure = function () {
                    this.passedElement.conceal(),
                    this.containerInner.wrap(this.passedElement.element),
                    this.containerOuter.wrap(this.containerInner.element),
                    this._isSelectOneElement ? this.input.placeholder = this.config.searchPlaceholderValue ||
                    '' : this._placeholderValue &&
                    (
                      this.input.placeholder = this._placeholderValue,
                      this.input.setWidth()
                    ),
                    this.containerOuter.element.appendChild(this.containerInner.element),
                    this.containerOuter.element.appendChild(this.dropdown.element),
                    this.containerInner.element.appendChild(this.itemList.element),
                    this._isTextElement ||
                    this.dropdown.element.appendChild(this.choiceList.element),
                    this._isSelectOneElement ? this.config.searchEnabled &&
                    this.dropdown.element.insertBefore(this.input.element, this.dropdown.element.firstChild) : this.containerInner.element.appendChild(this.input.element),
                    this._isSelectElement &&
                    (
                      this._highlightPosition = 0,
                      this._isSearching = !1,
                      this._startLoading(),
                      this._presetGroups.length ? this._addPredefinedGroups(this._presetGroups) : this._addPredefinedChoices(this._presetChoices),
                      this._stopLoading()
                    ),
                    this._isTextElement &&
                    this._addPredefinedItems(this._presetItems)
                  },
                  e.prototype._addPredefinedGroups = function (e) {
                    var t = this,
                    n = this.passedElement.placeholderOption;
                    n &&
                    n.parentNode &&
                    'SELECT' === n.parentNode.tagName &&
                    this._addChoice({
                      value: n.value,
                      label: n.innerHTML,
                      isSelected: n.selected,
                      isDisabled: n.disabled,
                      placeholder: !0
                    }),
                    e.forEach((function (e) {
                      return t._addGroup({
                        group: e,
                        id: e.id ||
                        null
                      })
                    }))
                  },
                  e.prototype._addPredefinedChoices = function (e) {
                    var t = this;
                    this.config.shouldSort &&
                    e.sort(this.config.sorter);
                    var n = e.some((function (e) {
                      return e.selected
                    })),
                    i = e.findIndex((function (e) {
                      return void 0 === e.disabled ||
                      !e.disabled
                    }));
                    e.forEach(
                      (
                        function (e, r) {
                          var o = e.value,
                          s = void 0 === o ? '' : o,
                          a = e.label,
                          c = e.customProperties,
                          l = e.placeholder;
                          if (t._isSelectElement) if (e.choices) t._addGroup({
                            group: e,
                            id: e.id ||
                            null
                          });
                           else {
                            var u = !(!t._isSelectOneElement || n || r !== i) ||
                            e.selected,
                            h = e.disabled;
                            t._addChoice({
                              value: s,
                              label: a,
                              isSelected: !!u,
                              isDisabled: !!h,
                              placeholder: !!l,
                              customProperties: c
                            })
                          } else t._addChoice({
                            value: s,
                            label: a,
                            isSelected: !!e.selected,
                            isDisabled: !!e.disabled,
                            placeholder: !!e.placeholder,
                            customProperties: c
                          })
                        }
                      )
                    )
                  },
                  e.prototype._addPredefinedItems = function (e) {
                    var t = this;
                    e.forEach(
                      (
                        function (e) {
                          'object' == typeof e &&
                          e.value &&
                          t._addItem({
                            value: e.value,
                            label: e.label,
                            choiceId: e.id,
                            customProperties: e.customProperties,
                            placeholder: e.placeholder
                          }),
                          'string' == typeof e &&
                          t._addItem({
                            value: e
                          })
                        }
                      )
                    )
                  },
                  e.prototype._setChoiceOrItem = function (e) {
                    var t = this;
                    ({
                      object: function () {
                        e.value &&
                        (
                          t._isTextElement ? t._addItem({
                            value: e.value,
                            label: e.label,
                            choiceId: e.id,
                            customProperties: e.customProperties,
                            placeholder: e.placeholder
                          }) : t._addChoice({
                            value: e.value,
                            label: e.label,
                            isSelected: !0,
                            isDisabled: !1,
                            customProperties: e.customProperties,
                            placeholder: e.placeholder
                          })
                        )
                      },
                      string: function () {
                        t._isTextElement ? t._addItem({
                          value: e
                        }) : t._addChoice({
                          value: e,
                          label: e,
                          isSelected: !0,
                          isDisabled: !1
                        })
                      }
                    }) [(0, f.getType) (e).toLowerCase()]()
                  },
                  e.prototype._findAndSelectChoiceByValue = function (e) {
                    var t = this,
                    n = this._store.choices.find((function (n) {
                      return t.config.valueComparer(n.value, e)
                    }));
                    n &&
                    !n.selected &&
                    this._addItem({
                      value: n.value,
                      label: n.label,
                      choiceId: n.id,
                      groupId: n.groupId,
                      customProperties: n.customProperties,
                      placeholder: n.placeholder,
                      keyCode: n.keyCode
                    })
                  },
                  e.prototype._generatePlaceholderValue = function () {
                    if (this._isSelectElement && this.passedElement.placeholderOption) {
                      var e = this.passedElement.placeholderOption;
                      return e ? e.text : null
                    }
                    var t = this.config,
                    n = t.placeholder,
                    i = t.placeholderValue,
                    r = this.passedElement.element.dataset;
                    if (n) {
                      if (i) return i;
                      if (r.placeholder) return r.placeholder
                    }
                    return null
                  },
                  e
                }();
                t.default = b
              },
              613: function (e, t, n) {
                Object.defineProperty(t, '__esModule', {
                  value: !0
                });
                var i = n(799),
                r = n(883),
                o = function () {
                  function e(e) {
                    var t = e.element,
                    n = e.type,
                    i = e.classNames,
                    r = e.position;
                    this.element = t,
                    this.classNames = i,
                    this.type = n,
                    this.position = r,
                    this.isOpen = !1,
                    this.isFlipped = !1,
                    this.isFocussed = !1,
                    this.isDisabled = !1,
                    this.isLoading = !1,
                    this._onFocus = this._onFocus.bind(this),
                    this._onBlur = this._onBlur.bind(this)
                  }
                  return e.prototype.addEventListeners = function () {
                    this.element.addEventListener('focus', this._onFocus),
                    this.element.addEventListener('blur', this._onBlur)
                  },
                  e.prototype.removeEventListeners = function () {
                    this.element.removeEventListener('focus', this._onFocus),
                    this.element.removeEventListener('blur', this._onBlur)
                  },
                  e.prototype.shouldFlip = function (e) {
                    if ('number' != typeof e) return !1;
                    var t = !1;
                    return 'auto' === this.position ? t = !window.matchMedia('(min-height: '.concat(e + 1, 'px)')).matches : 'top' === this.position &&
                    (t = !0),
                    t
                  },
                  e.prototype.setActiveDescendant = function (e) {
                    this.element.setAttribute('aria-activedescendant', e)
                  },
                  e.prototype.removeActiveDescendant = function () {
                    this.element.removeAttribute('aria-activedescendant')
                  },
                  e.prototype.open = function (e) {
                    this.element.classList.add(this.classNames.openState),
                    this.element.setAttribute('aria-expanded', 'true'),
                    this.isOpen = !0,
                    this.shouldFlip(e) &&
                    (
                      this.element.classList.add(this.classNames.flippedState),
                      this.isFlipped = !0
                    )
                  },
                  e.prototype.close = function () {
                    this.element.classList.remove(this.classNames.openState),
                    this.element.setAttribute('aria-expanded', 'false'),
                    this.removeActiveDescendant(),
                    this.isOpen = !1,
                    this.isFlipped &&
                    (
                      this.element.classList.remove(this.classNames.flippedState),
                      this.isFlipped = !1
                    )
                  },
                  e.prototype.focus = function () {
                    this.isFocussed ||
                    this.element.focus()
                  },
                  e.prototype.addFocusState = function () {
                    this.element.classList.add(this.classNames.focusState)
                  },
                  e.prototype.removeFocusState = function () {
                    this.element.classList.remove(this.classNames.focusState)
                  },
                  e.prototype.enable = function () {
                    this.element.classList.remove(this.classNames.disabledState),
                    this.element.removeAttribute('aria-disabled'),
                    this.type === r.SELECT_ONE_TYPE &&
                    this.element.setAttribute('tabindex', '0'),
                    this.isDisabled = !1
                  },
                  e.prototype.disable = function () {
                    this.element.classList.add(this.classNames.disabledState),
                    this.element.setAttribute('aria-disabled', 'true'),
                    this.type === r.SELECT_ONE_TYPE &&
                    this.element.setAttribute('tabindex', '-1'),
                    this.isDisabled = !0
                  },
                  e.prototype.wrap = function (e) {
                    (0, i.wrap) (e, this.element)
                  },
                  e.prototype.unwrap = function (e) {
                    this.element.parentNode &&
                    (
                      this.element.parentNode.insertBefore(e, this.element),
                      this.element.parentNode.removeChild(this.element)
                    )
                  },
                  e.prototype.addLoadingState = function () {
                    this.element.classList.add(this.classNames.loadingState),
                    this.element.setAttribute('aria-busy', 'true'),
                    this.isLoading = !0
                  },
                  e.prototype.removeLoadingState = function () {
                    this.element.classList.remove(this.classNames.loadingState),
                    this.element.removeAttribute('aria-busy'),
                    this.isLoading = !1
                  },
                  e.prototype._onFocus = function () {
                    this.isFocussed = !0
                  },
                  e.prototype._onBlur = function () {
                    this.isFocussed = !1
                  },
                  e
                }();
                t.default = o
              },
              217: function (e, t) {
                Object.defineProperty(t, '__esModule', {
                  value: !0
                });
                var n = function () {
                  function e(e) {
                    var t = e.element,
                    n = e.type,
                    i = e.classNames;
                    this.element = t,
                    this.classNames = i,
                    this.type = n,
                    this.isActive = !1
                  }
                  return Object.defineProperty(
                    e.prototype,
                    'distanceFromTopWindow',
                    {
                      get: function () {
                        return this.element.getBoundingClientRect().bottom
                      },
                      enumerable: !1,
                      configurable: !0
                    }
                  ),
                  e.prototype.getChild = function (e) {
                    return this.element.querySelector(e)
                  },
                  e.prototype.show = function () {
                    return this.element.classList.add(this.classNames.activeState),
                    this.element.setAttribute('aria-expanded', 'true'),
                    this.isActive = !0,
                    this
                  },
                  e.prototype.hide = function () {
                    return this.element.classList.remove(this.classNames.activeState),
                    this.element.setAttribute('aria-expanded', 'false'),
                    this.isActive = !1,
                    this
                  },
                  e
                }();
                t.default = n
              },
              520: function (e, t, n) {
                var i = this &&
                this.__importDefault ||
                function (e) {
                  return e &&
                  e.__esModule ? e : {
                  default:
                    e
                  }
                };
                Object.defineProperty(t, '__esModule', {
                  value: !0
                }),
                t.WrappedSelect = t.WrappedInput = t.List = t.Input = t.Container = t.Dropdown = void 0;
                var r = i(n(217));
                t.Dropdown = r.default;
                var o = i(n(613));
                t.Container = o.default;
                var s = i(n(11));
                t.Input = s.default;
                var a = i(n(624));
                t.List = a.default;
                var c = i(n(541));
                t.WrappedInput = c.default;
                var l = i(n(982));
                t.WrappedSelect = l.default
              },
              11: function (e, t, n) {
                Object.defineProperty(t, '__esModule', {
                  value: !0
                });
                var i = n(799),
                r = n(883),
                o = function () {
                  function e(e) {
                    var t = e.element,
                    n = e.type,
                    i = e.classNames,
                    r = e.preventPaste;
                    this.element = t,
                    this.type = n,
                    this.classNames = i,
                    this.preventPaste = r,
                    this.isFocussed = this.element.isEqualNode(document.activeElement),
                    this.isDisabled = t.disabled,
                    this._onPaste = this._onPaste.bind(this),
                    this._onInput = this._onInput.bind(this),
                    this._onFocus = this._onFocus.bind(this),
                    this._onBlur = this._onBlur.bind(this)
                  }
                  return Object.defineProperty(
                    e.prototype,
                    'placeholder',
                    {
                      set: function (e) {
                        this.element.placeholder = e
                      },
                      enumerable: !1,
                      configurable: !0
                    }
                  ),
                  Object.defineProperty(
                    e.prototype,
                    'value',
                    {
                      get: function () {
                        return (0, i.sanitise) (this.element.value)
                      },
                      set: function (e) {
                        this.element.value = e
                      },
                      enumerable: !1,
                      configurable: !0
                    }
                  ),
                  Object.defineProperty(
                    e.prototype,
                    'rawValue',
                    {
                      get: function () {
                        return this.element.value
                      },
                      enumerable: !1,
                      configurable: !0
                    }
                  ),
                  e.prototype.addEventListeners = function () {
                    this.element.addEventListener('paste', this._onPaste),
                    this.element.addEventListener('input', this._onInput, {
                      passive: !0
                    }),
                    this.element.addEventListener('focus', this._onFocus, {
                      passive: !0
                    }),
                    this.element.addEventListener('blur', this._onBlur, {
                      passive: !0
                    })
                  },
                  e.prototype.removeEventListeners = function () {
                    this.element.removeEventListener('input', this._onInput),
                    this.element.removeEventListener('paste', this._onPaste),
                    this.element.removeEventListener('focus', this._onFocus),
                    this.element.removeEventListener('blur', this._onBlur)
                  },
                  e.prototype.enable = function () {
                    this.element.removeAttribute('disabled'),
                    this.isDisabled = !1
                  },
                  e.prototype.disable = function () {
                    this.element.setAttribute('disabled', ''),
                    this.isDisabled = !0
                  },
                  e.prototype.focus = function () {
                    this.isFocussed ||
                    this.element.focus()
                  },
                  e.prototype.blur = function () {
                    this.isFocussed &&
                    this.element.blur()
                  },
                  e.prototype.clear = function (e) {
                    return void 0 === e &&
                    (e = !0),
                    this.element.value &&
                    (this.element.value = ''),
                    e &&
                    this.setWidth(),
                    this
                  },
                  e.prototype.setWidth = function () {
                    var e = this.element,
                    t = e.style,
                    n = e.value,
                    i = e.placeholder;
                    t.minWidth = ''.concat(i.length + 1, 'ch'),
                    t.width = ''.concat(n.length + 1, 'ch')
                  },
                  e.prototype.setActiveDescendant = function (e) {
                    this.element.setAttribute('aria-activedescendant', e)
                  },
                  e.prototype.removeActiveDescendant = function () {
                    this.element.removeAttribute('aria-activedescendant')
                  },
                  e.prototype._onInput = function () {
                    this.type !== r.SELECT_ONE_TYPE &&
                    this.setWidth()
                  },
                  e.prototype._onPaste = function (e) {
                    this.preventPaste &&
                    e.preventDefault()
                  },
                  e.prototype._onFocus = function () {
                    this.isFocussed = !0
                  },
                  e.prototype._onBlur = function () {
                    this.isFocussed = !1
                  },
                  e
                }();
                t.default = o
              },
              624: function (e, t, n) {
                Object.defineProperty(t, '__esModule', {
                  value: !0
                });
                var i = n(883),
                r = function () {
                  function e(e) {
                    var t = e.element;
                    this.element = t,
                    this.scrollPos = this.element.scrollTop,
                    this.height = this.element.offsetHeight
                  }
                  return e.prototype.clear = function () {
                    this.element.innerHTML = ''
                  },
                  e.prototype.append = function (e) {
                    this.element.appendChild(e)
                  },
                  e.prototype.getChild = function (e) {
                    return this.element.querySelector(e)
                  },
                  e.prototype.hasChildren = function () {
                    return this.element.hasChildNodes()
                  },
                  e.prototype.scrollToTop = function () {
                    this.element.scrollTop = 0
                  },
                  e.prototype.scrollToChildElement = function (e, t) {
                    var n = this;
                    if (e) {
                      var i = this.element.offsetHeight,
                      r = this.element.scrollTop + i,
                      o = e.offsetHeight,
                      s = e.offsetTop + o,
                      a = t > 0 ? this.element.scrollTop + s - r : e.offsetTop;
                      requestAnimationFrame((function () {
                        n._animateScroll(a, t)
                      }))
                    }
                  },
                  e.prototype._scrollDown = function (e, t, n) {
                    var i = (n - e) / t,
                    r = i > 1 ? i : 1;
                    this.element.scrollTop = e + r
                  },
                  e.prototype._scrollUp = function (e, t, n) {
                    var i = (e - n) / t,
                    r = i > 1 ? i : 1;
                    this.element.scrollTop = e - r
                  },
                  e.prototype._animateScroll = function (e, t) {
                    var n = this,
                    r = i.SCROLLING_SPEED,
                    o = this.element.scrollTop,
                    s = !1;
                    t > 0 ? (this._scrollDown(o, r, e), o < e && (s = !0)) : (this._scrollUp(o, r, e), o > e && (s = !0)),
                    s &&
                    requestAnimationFrame((function () {
                      n._animateScroll(e, t)
                    }))
                  },
                  e
                }();
                t.default = r
              },
              730: function (e, t, n) {
                Object.defineProperty(t, '__esModule', {
                  value: !0
                });
                var i = n(799),
                r = function () {
                  function e(e) {
                    var t = e.element,
                    n = e.classNames;
                    if (
                      this.element = t,
                      this.classNames = n,
                      !(t instanceof HTMLInputElement || t instanceof HTMLSelectElement)
                    ) throw new TypeError('Invalid element passed');
                    this.isDisabled = !1
                  }
                  return Object.defineProperty(
                    e.prototype,
                    'isActive',
                    {
                      get: function () {
                        return 'active' === this.element.dataset.choice
                      },
                      enumerable: !1,
                      configurable: !0
                    }
                  ),
                  Object.defineProperty(
                    e.prototype,
                    'dir',
                    {
                      get: function () {
                        return this.element.dir
                      },
                      enumerable: !1,
                      configurable: !0
                    }
                  ),
                  Object.defineProperty(
                    e.prototype,
                    'value',
                    {
                      get: function () {
                        return this.element.value
                      },
                      set: function (e) {
                        this.element.value = e
                      },
                      enumerable: !1,
                      configurable: !0
                    }
                  ),
                  e.prototype.conceal = function () {
                    this.element.classList.add(this.classNames.input),
                    this.element.hidden = !0,
                    this.element.tabIndex = - 1;
                    var e = this.element.getAttribute('style');
                    e &&
                    this.element.setAttribute('data-choice-orig-style', e),
                    this.element.setAttribute('data-choice', 'active')
                  },
                  e.prototype.reveal = function () {
                    this.element.classList.remove(this.classNames.input),
                    this.element.hidden = !1,
                    this.element.removeAttribute('tabindex');
                    var e = this.element.getAttribute('data-choice-orig-style');
                    e ? (
                      this.element.removeAttribute('data-choice-orig-style'),
                      this.element.setAttribute('style', e)
                    ) : this.element.removeAttribute('style'),
                    this.element.removeAttribute('data-choice'),
                    this.element.value = this.element.value
                  },
                  e.prototype.enable = function () {
                    this.element.removeAttribute('disabled'),
                    this.element.disabled = !1,
                    this.isDisabled = !1
                  },
                  e.prototype.disable = function () {
                    this.element.setAttribute('disabled', ''),
                    this.element.disabled = !0,
                    this.isDisabled = !0
                  },
                  e.prototype.triggerEvent = function (e, t) {
                    (0, i.dispatchEvent) (this.element, e, t)
                  },
                  e
                }();
                t.default = r
              },
              541: function (e, t, n) {
                var i,
                r = this &&
                this.__extends ||
                (
                  i = function (e, t) {
                    return i = Object.setPrototypeOf ||
                    {
                      __proto__: []
                    }
                    instanceof Array &&
                    function (e, t) {
                      e.__proto__ = t
                    }
                    ||
                    function (e, t) {
                      for (var n in t) Object.prototype.hasOwnProperty.call(t, n) &&
                      (e[n] = t[n])
                    },
                    i(e, t)
                  },
                  function (e, t) {
                    if ('function' != typeof t && null !== t) throw new TypeError(
                      'Class extends value ' + String(t) + ' is not a constructor or null'
                    );
                    function n() {
                      this.constructor = e
                    }
                    i(e, t),
                    e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n)
                  }
                ),
                o = this &&
                this.__importDefault ||
                function (e) {
                  return e &&
                  e.__esModule ? e : {
                  default:
                    e
                  }
                };
                Object.defineProperty(t, '__esModule', {
                  value: !0
                });
                var s = function (e) {
                  function t(t) {
                    var n = t.element,
                    i = t.classNames,
                    r = t.delimiter,
                    o = e.call(this, {
                      element: n,
                      classNames: i
                    }) ||
                    this;
                    return o.delimiter = r,
                    o
                  }
                  return r(t, e),
                  Object.defineProperty(
                    t.prototype,
                    'value',
                    {
                      get: function () {
                        return this.element.value
                      },
                      set: function (e) {
                        this.element.setAttribute('value', e),
                        this.element.value = e
                      },
                      enumerable: !1,
                      configurable: !0
                    }
                  ),
                  t
                }(o(n(730)).default);
                t.default = s
              },
              982: function (e, t, n) {
                var i,
                r = this &&
                this.__extends ||
                (
                  i = function (e, t) {
                    return i = Object.setPrototypeOf ||
                    {
                      __proto__: []
                    }
                    instanceof Array &&
                    function (e, t) {
                      e.__proto__ = t
                    }
                    ||
                    function (e, t) {
                      for (var n in t) Object.prototype.hasOwnProperty.call(t, n) &&
                      (e[n] = t[n])
                    },
                    i(e, t)
                  },
                  function (e, t) {
                    if ('function' != typeof t && null !== t) throw new TypeError(
                      'Class extends value ' + String(t) + ' is not a constructor or null'
                    );
                    function n() {
                      this.constructor = e
                    }
                    i(e, t),
                    e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n)
                  }
                ),
                o = this &&
                this.__importDefault ||
                function (e) {
                  return e &&
                  e.__esModule ? e : {
                  default:
                    e
                  }
                };
                Object.defineProperty(t, '__esModule', {
                  value: !0
                });
                var s = function (e) {
                  function t(t) {
                    var n = t.element,
                    i = t.classNames,
                    r = t.template,
                    o = e.call(this, {
                      element: n,
                      classNames: i
                    }) ||
                    this;
                    return o.template = r,
                    o
                  }
                  return r(t, e),
                  Object.defineProperty(
                    t.prototype,
                    'placeholderOption',
                    {
                      get: function () {
                        return this.element.querySelector('option[value=""]') ||
                        this.element.querySelector('option[placeholder]')
                      },
                      enumerable: !1,
                      configurable: !0
                    }
                  ),
                  Object.defineProperty(
                    t.prototype,
                    'optionGroups',
                    {
                      get: function () {
                        return Array.from(this.element.getElementsByTagName('OPTGROUP'))
                      },
                      enumerable: !1,
                      configurable: !0
                    }
                  ),
                  Object.defineProperty(
                    t.prototype,
                    'options',
                    {
                      get: function () {
                        return Array.from(this.element.options)
                      },
                      set: function (e) {
                        var t = this,
                        n = document.createDocumentFragment();
                        e.forEach(
                          (
                            function (e) {
                              return i = e,
                              r = t.template(i),
                              void n.appendChild(r);
                              var i,
                              r
                            }
                          )
                        ),
                        this.appendDocFragment(n)
                      },
                      enumerable: !1,
                      configurable: !0
                    }
                  ),
                  t.prototype.appendDocFragment = function (e) {
                    this.element.innerHTML = '',
                    this.element.appendChild(e)
                  },
                  t
                }(o(n(730)).default);
                t.default = s
              },
              883: function (e, t) {
                Object.defineProperty(t, '__esModule', {
                  value: !0
                }),
                t.SCROLLING_SPEED = t.SELECT_MULTIPLE_TYPE = t.SELECT_ONE_TYPE = t.TEXT_TYPE = t.KEY_CODES = t.ACTION_TYPES = t.EVENTS = void 0,
                t.EVENTS = {
                  showDropdown: 'showDropdown',
                  hideDropdown: 'hideDropdown',
                  change: 'change',
                  choice: 'choice',
                  search: 'search',
                  addItem: 'addItem',
                  removeItem: 'removeItem',
                  highlightItem: 'highlightItem',
                  highlightChoice: 'highlightChoice',
                  unhighlightItem: 'unhighlightItem'
                },
                t.ACTION_TYPES = {
                  ADD_CHOICE: 'ADD_CHOICE',
                  FILTER_CHOICES: 'FILTER_CHOICES',
                  ACTIVATE_CHOICES: 'ACTIVATE_CHOICES',
                  CLEAR_CHOICES: 'CLEAR_CHOICES',
                  ADD_GROUP: 'ADD_GROUP',
                  ADD_ITEM: 'ADD_ITEM',
                  REMOVE_ITEM: 'REMOVE_ITEM',
                  HIGHLIGHT_ITEM: 'HIGHLIGHT_ITEM',
                  CLEAR_ALL: 'CLEAR_ALL',
                  RESET_TO: 'RESET_TO',
                  SET_IS_LOADING: 'SET_IS_LOADING'
                },
                t.KEY_CODES = {
                  BACK_KEY: 46,
                  DELETE_KEY: 8,
                  ENTER_KEY: 13,
                  A_KEY: 65,
                  ESC_KEY: 27,
                  UP_KEY: 38,
                  DOWN_KEY: 40,
                  PAGE_UP_KEY: 33,
                  PAGE_DOWN_KEY: 34
                },
                t.TEXT_TYPE = 'text',
                t.SELECT_ONE_TYPE = 'select-one',
                t.SELECT_MULTIPLE_TYPE = 'select-multiple',
                t.SCROLLING_SPEED = 4
              },
              789: function (e, t, n) {
                Object.defineProperty(t, '__esModule', {
                  value: !0
                }),
                t.DEFAULT_CONFIG = t.DEFAULT_CLASSNAMES = void 0;
                var i = n(799);
                t.DEFAULT_CLASSNAMES = {
                  containerOuter: 'choices',
                  containerInner: 'choices__inner',
                  input: 'choices__input',
                  inputCloned: 'choices__input--cloned',
                  list: 'choices__list',
                  listItems: 'choices__list--multiple',
                  listSingle: 'choices__list--single',
                  listDropdown: 'choices__list--dropdown',
                  item: 'choices__item',
                  itemSelectable: 'choices__item--selectable',
                  itemDisabled: 'choices__item--disabled',
                  itemChoice: 'choices__item--choice',
                  placeholder: 'choices__placeholder',
                  group: 'choices__group',
                  groupHeading: 'choices__heading',
                  button: 'choices__button',
                  activeState: 'is-active',
                  focusState: 'is-focused',
                  openState: 'is-open',
                  disabledState: 'is-disabled',
                  highlightedState: 'is-highlighted',
                  selectedState: 'is-selected',
                  flippedState: 'is-flipped',
                  loadingState: 'is-loading',
                  noResults: 'has-no-results',
                  noChoices: 'has-no-choices'
                },
                t.DEFAULT_CONFIG = {
                  items: [],
                  choices: [],
                  silent: !1,
                  renderChoiceLimit: - 1,
                  maxItemCount: - 1,
                  addItems: !0,
                  addItemFilter: null,
                  removeItems: !0,
                  removeItemButton: !1,
                  editItems: !1,
                  allowHTML: !0,
                  duplicateItemsAllowed: !0,
                  delimiter: ',',
                  paste: !0,
                  searchEnabled: !0,
                  searchChoices: !0,
                  searchFloor: 1,
                  searchResultLimit: 4,
                  searchFields: [
                    'label',
                    'value'
                  ],
                  position: 'auto',
                  resetScrollPosition: !0,
                  shouldSort: !0,
                  shouldSortItems: !1,
                  sorter: i.sortByAlpha,
                  placeholder: !0,
                  placeholderValue: null,
                  searchPlaceholderValue: null,
                  prependValue: null,
                  appendValue: null,
                  renderSelectedChoices: 'auto',
                  loadingText: 'Loading...',
                  noResultsText: 'No results found',
                  noChoicesText: 'No choices to choose from',
                  itemSelectText: 'Press to select',
                  uniqueItemText: 'Only unique values can be added',
                  customAddItemText: 'Only values matching specific conditions can be added',
                  addItemText: function (e) {
                    return 'Press Enter to add <b>"'.concat((0, i.sanitise) (e), '"</b>')
                  },
                  maxItemText: function (e) {
                    return 'Only '.concat(e, ' values can be added')
                  },
                  valueComparer: function (e, t) {
                    return e === t
                  },
                  fuseOptions: {
                    includeScore: !0
                  },
                  labelId: '',
                  callbackOnInit: null,
                  callbackOnCreateTemplates: null,
                  classNames: t.DEFAULT_CLASSNAMES
                }
              },
              18: function (e, t) {
                Object.defineProperty(t, '__esModule', {
                  value: !0
                })
              },
              978: function (e, t) {
                Object.defineProperty(t, '__esModule', {
                  value: !0
                })
              },
              948: function (e, t) {
                Object.defineProperty(t, '__esModule', {
                  value: !0
                })
              },
              359: function (e, t) {
                Object.defineProperty(t, '__esModule', {
                  value: !0
                })
              },
              285: function (e, t) {
                Object.defineProperty(t, '__esModule', {
                  value: !0
                })
              },
              533: function (e, t) {
                Object.defineProperty(t, '__esModule', {
                  value: !0
                })
              },
              187: function (e, t, n) {
                var i = this &&
                this.__createBinding ||
                (
                  Object.create ? function (e, t, n, i) {
                    void 0 === i &&
                    (i = n),
                    Object.defineProperty(e, i, {
                      enumerable: !0,
                      get: function () {
                        return t[n]
                      }
                    })
                  }
                   : function (e, t, n, i) {
                    void 0 === i &&
                    (i = n),
                    e[i] = t[n]
                  }
                ),
                r = this &&
                this.__exportStar ||
                function (e, t) {
                  for (var n in e) 'default' === n ||
                  Object.prototype.hasOwnProperty.call(t, n) ||
                  i(t, e, n)
                };
                Object.defineProperty(t, '__esModule', {
                  value: !0
                }),
                r(n(18), t),
                r(n(978), t),
                r(n(948), t),
                r(n(359), t),
                r(n(285), t),
                r(n(533), t),
                r(n(287), t),
                r(n(132), t),
                r(n(837), t),
                r(n(598), t),
                r(n(369), t),
                r(n(37), t),
                r(n(47), t),
                r(n(923), t),
                r(n(876), t)
              },
              287: function (e, t) {
                Object.defineProperty(t, '__esModule', {
                  value: !0
                })
              },
              132: function (e, t) {
                Object.defineProperty(t, '__esModule', {
                  value: !0
                })
              },
              837: function (e, t) {
                Object.defineProperty(t, '__esModule', {
                  value: !0
                })
              },
              598: function (e, t) {
                Object.defineProperty(t, '__esModule', {
                  value: !0
                })
              },
              37: function (e, t) {
                Object.defineProperty(t, '__esModule', {
                  value: !0
                })
              },
              369: function (e, t) {
                Object.defineProperty(t, '__esModule', {
                  value: !0
                })
              },
              47: function (e, t) {
                Object.defineProperty(t, '__esModule', {
                  value: !0
                })
              },
              923: function (e, t) {
                Object.defineProperty(t, '__esModule', {
                  value: !0
                })
              },
              876: function (e, t) {
                Object.defineProperty(t, '__esModule', {
                  value: !0
                })
              },
              799: function (e, t) {
                var n;
                Object.defineProperty(t, '__esModule', {
                  value: !0
                }),
                t.diff = t.cloneObject = t.existsInArray = t.dispatchEvent = t.sortByScore = t.sortByAlpha = t.strToEl = t.sanitise = t.isScrolledIntoView = t.getAdjacentEl = t.wrap = t.isType = t.getType = t.generateId = t.generateChars = t.getRandomNumber = void 0,
                t.getRandomNumber = function (e, t) {
                  return Math.floor(Math.random() * (t - e) + e)
                },
                t.generateChars = function (e) {
                  return Array.from({
                    length: e
                  }, (function () {
                    return (0, t.getRandomNumber) (0, 36).toString(36)
                  })).join('')
                },
                t.generateId = function (e, n) {
                  var i = e.id ||
                  e.name &&
                  ''.concat(e.name, '-').concat((0, t.generateChars) (2)) ||
                  (0, t.generateChars) (4);
                  return i = i.replace(/(:|\.|\[|\]|,)/g, ''),
                  ''.concat(n, '-').concat(i)
                },
                t.getType = function (e) {
                  return Object.prototype.toString.call(e).slice(8, - 1)
                },
                t.isType = function (e, n) {
                  return null != n &&
                  (0, t.getType) (n) === e
                },
                t.wrap = function (e, t) {
                  return void 0 === t &&
                  (t = document.createElement('div')),
                  e.parentNode &&
                  (
                    e.nextSibling ? e.parentNode.insertBefore(t, e.nextSibling) : e.parentNode.appendChild(t)
                  ),
                  t.appendChild(e)
                },
                t.getAdjacentEl = function (e, t, n) {
                  void 0 === n &&
                  (n = 1);
                  for (
                    var i = ''.concat(n > 0 ? 'next' : 'previous', 'ElementSibling'),
                    r = e[i];
                    r;
                  ) {
                    if (r.matches(t)) return r;
                    r = r[i]
                  }
                  return r
                },
                t.isScrolledIntoView = function (e, t, n) {
                  return void 0 === n &&
                  (n = 1),
                  !!e &&
                  (
                    n > 0 ? t.scrollTop + t.offsetHeight >= e.offsetTop + e.offsetHeight : e.offsetTop >= t.scrollTop
                  )
                },
                t.sanitise = function (e) {
                  return 'string' != typeof e ? e : e.replace(/&/g, '&amp;').replace(/>/g, '&gt;').replace(/</g, '&lt;').replace(/"/g, '&quot;')
                },
                t.strToEl = (
                  n = document.createElement('div'),
                  function (e) {
                    var t = e.trim();
                    n.innerHTML = t;
                    for (var i = n.children[0]; n.firstChild; ) n.removeChild(n.firstChild);
                    return i
                  }
                ),
                t.sortByAlpha = function (e, t) {
                  var n = e.value,
                  i = e.label,
                  r = void 0 === i ? n : i,
                  o = t.value,
                  s = t.label,
                  a = void 0 === s ? o : s;
                  return r.localeCompare(a, [], {
                    sensitivity: 'base',
                    ignorePunctuation: !0,
                    numeric: !0
                  })
                },
                t.sortByScore = function (e, t) {
                  var n = e.score,
                  i = void 0 === n ? 0 : n,
                  r = t.score;
                  return i - (void 0 === r ? 0 : r)
                },
                t.dispatchEvent = function (e, t, n) {
                  void 0 === n &&
                  (n = null);
                  var i = new CustomEvent(t, {
                    detail: n,
                    bubbles: !0,
                    cancelable: !0
                  });
                  return e.dispatchEvent(i)
                },
                t.existsInArray = function (e, t, n) {
                  return void 0 === n &&
                  (n = 'value'),
                  e.some(
                    (
                      function (e) {
                        return 'string' == typeof t ? e[n] === t.trim() : e[n] === t
                      }
                    )
                  )
                },
                t.cloneObject = function (e) {
                  return JSON.parse(JSON.stringify(e))
                },
                t.diff = function (e, t) {
                  var n = Object.keys(e).sort(),
                  i = Object.keys(t).sort();
                  return n.filter((function (e) {
                    return i.indexOf(e) < 0
                  }))
                }
              },
              273: function (e, t) {
                var n = this &&
                this.__spreadArray ||
                function (e, t, n) {
                  if (n || 2 === arguments.length) for (var i, r = 0, o = t.length; r < o; r++) !i &&
                  r in t ||
                  (i || (i = Array.prototype.slice.call(t, 0, r)), i[r] = t[r]);
                  return e.concat(i || Array.prototype.slice.call(t))
                };
                Object.defineProperty(t, '__esModule', {
                  value: !0
                }),
                t.defaultState = void 0,
                t.defaultState = [],
                t.default = function (e, i) {
                  switch (void 0 === e && (e = t.defaultState), void 0 === i && (i = {}), i.type) {
                    case 'ADD_CHOICE':
                      var r = i,
                      o = {
                        id: r.id,
                        elementId: r.elementId,
                        groupId: r.groupId,
                        value: r.value,
                        label: r.label ||
                        r.value,
                        disabled: r.disabled ||
                        !1,
                        selected: !1,
                        active: !0,
                        score: 9999,
                        customProperties: r.customProperties,
                        placeholder: r.placeholder ||
                        !1
                      };
                      return n(n([], e, !0), [
                        o
                      ], !1);
                    case 'ADD_ITEM':
                      var s = i;
                      return s.choiceId > - 1 ? e.map(
                        (
                          function (e) {
                            var t = e;
                            return t.id === parseInt(''.concat(s.choiceId), 10) &&
                            (t.selected = !0),
                            t
                          }
                        )
                      ) : e;
                    case 'REMOVE_ITEM':
                      var a = i;
                      return a.choiceId &&
                      a.choiceId > - 1 ? e.map(
                        (
                          function (e) {
                            var t = e;
                            return t.id === parseInt(''.concat(a.choiceId), 10) &&
                            (t.selected = !1),
                            t
                          }
                        )
                      ) : e;
                    case 'FILTER_CHOICES':
                      var c = i;
                      return e.map(
                        (
                          function (e) {
                            var t = e;
                            return t.active = c.results.some(
                              (
                                function (e) {
                                  var n = e.item,
                                  i = e.score;
                                  return n.id === t.id &&
                                  (t.score = i, !0)
                                }
                              )
                            ),
                            t
                          }
                        )
                      );
                    case 'ACTIVATE_CHOICES':
                      var l = i;
                      return e.map((function (e) {
                        var t = e;
                        return t.active = l.active,
                        t
                      }));
                    case 'CLEAR_CHOICES':
                      return t.defaultState;
                    default:
                      return e
                  }
                }
              },
              871: function (e, t) {
                var n = this &&
                this.__spreadArray ||
                function (e, t, n) {
                  if (n || 2 === arguments.length) for (var i, r = 0, o = t.length; r < o; r++) !i &&
                  r in t ||
                  (i || (i = Array.prototype.slice.call(t, 0, r)), i[r] = t[r]);
                  return e.concat(i || Array.prototype.slice.call(t))
                };
                Object.defineProperty(t, '__esModule', {
                  value: !0
                }),
                t.defaultState = void 0,
                t.defaultState = [],
                t.default = function (e, i) {
                  switch (void 0 === e && (e = t.defaultState), void 0 === i && (i = {}), i.type) {
                    case 'ADD_GROUP':
                      var r = i;
                      return n(
                        n([], e, !0),
                        [
                          {
                            id: r.id,
                            value: r.value,
                            active: r.active,
                            disabled: r.disabled
                          }
                        ],
                        !1
                      );
                    case 'CLEAR_CHOICES':
                      return [];
                    default:
                      return e
                  }
                }
              },
              655: function (e, t, n) {
                var i = this &&
                this.__importDefault ||
                function (e) {
                  return e &&
                  e.__esModule ? e : {
                  default:
                    e
                  }
                };
                Object.defineProperty(t, '__esModule', {
                  value: !0
                }),
                t.defaultState = void 0;
                var r = n(857),
                o = i(n(52)),
                s = i(n(871)),
                a = i(n(273)),
                c = i(n(502)),
                l = n(799);
                t.defaultState = {
                  groups: [],
                  items: [],
                  choices: [],
                  loading: !1
                };
                var u = (0, r.combineReducers) ({
                  items: o.default,
                  groups: s.default,
                  choices: a.default,
                  loading: c.default
                });
                t.default = function (e, n) {
                  var i = e;
                  if ('CLEAR_ALL' === n.type) i = t.defaultState;
                   else if ('RESET_TO' === n.type) return (0, l.cloneObject) (n.state);
                  return u(i, n)
                }
              },
              52: function (e, t) {
                var n = this &&
                this.__spreadArray ||
                function (e, t, n) {
                  if (n || 2 === arguments.length) for (var i, r = 0, o = t.length; r < o; r++) !i &&
                  r in t ||
                  (i || (i = Array.prototype.slice.call(t, 0, r)), i[r] = t[r]);
                  return e.concat(i || Array.prototype.slice.call(t))
                };
                Object.defineProperty(t, '__esModule', {
                  value: !0
                }),
                t.defaultState = void 0,
                t.defaultState = [],
                t.default = function (e, i) {
                  switch (void 0 === e && (e = t.defaultState), void 0 === i && (i = {}), i.type) {
                    case 'ADD_ITEM':
                      var r = i;
                      return n(
                        n([], e, !0),
                        [
                          {
                            id: r.id,
                            choiceId: r.choiceId,
                            groupId: r.groupId,
                            value: r.value,
                            label: r.label,
                            active: !0,
                            highlighted: !1,
                            customProperties: r.customProperties,
                            placeholder: r.placeholder ||
                            !1,
                            keyCode: null
                          }
                        ],
                        !1
                      ).map((function (e) {
                        var t = e;
                        return t.highlighted = !1,
                        t
                      }));
                    case 'REMOVE_ITEM':
                      return e.map((function (e) {
                        var t = e;
                        return t.id === i.id &&
                        (t.active = !1),
                        t
                      }));
                    case 'HIGHLIGHT_ITEM':
                      var o = i;
                      return e.map(
                        (
                          function (e) {
                            var t = e;
                            return t.id === o.id &&
                            (t.highlighted = o.highlighted),
                            t
                          }
                        )
                      );
                    default:
                      return e
                  }
                }
              },
              502: function (e, t) {
                Object.defineProperty(t, '__esModule', {
                  value: !0
                }),
                t.defaultState = void 0,
                t.defaultState = !1,
                t.default = function (e, n) {
                  return void 0 === e &&
                  (e = t.defaultState),
                  void 0 === n &&
                  (n = {}),
                  'SET_IS_LOADING' === n.type ? n.isLoading : e
                }
              },
              744: function (e, t, n) {
                var i = this &&
                this.__spreadArray ||
                function (e, t, n) {
                  if (n || 2 === arguments.length) for (var i, r = 0, o = t.length; r < o; r++) !i &&
                  r in t ||
                  (i || (i = Array.prototype.slice.call(t, 0, r)), i[r] = t[r]);
                  return e.concat(i || Array.prototype.slice.call(t))
                },
                r = this &&
                this.__importDefault ||
                function (e) {
                  return e &&
                  e.__esModule ? e : {
                  default:
                    e
                  }
                };
                Object.defineProperty(t, '__esModule', {
                  value: !0
                });
                var o = n(857),
                s = r(n(655)),
                a = function () {
                  function e() {
                    this._store = (0, o.createStore) (
                      s.default,
                      window.__REDUX_DEVTOOLS_EXTENSION__ &&
                      window.__REDUX_DEVTOOLS_EXTENSION__()
                    )
                  }
                  return e.prototype.subscribe = function (e) {
                    this._store.subscribe(e)
                  },
                  e.prototype.dispatch = function (e) {
                    this._store.dispatch(e)
                  },
                  Object.defineProperty(
                    e.prototype,
                    'state',
                    {
                      get: function () {
                        return this._store.getState()
                      },
                      enumerable: !1,
                      configurable: !0
                    }
                  ),
                  Object.defineProperty(
                    e.prototype,
                    'items',
                    {
                      get: function () {
                        return this.state.items
                      },
                      enumerable: !1,
                      configurable: !0
                    }
                  ),
                  Object.defineProperty(
                    e.prototype,
                    'activeItems',
                    {
                      get: function () {
                        return this.items.filter((function (e) {
                          return !0 === e.active
                        }))
                      },
                      enumerable: !1,
                      configurable: !0
                    }
                  ),
                  Object.defineProperty(
                    e.prototype,
                    'highlightedActiveItems',
                    {
                      get: function () {
                        return this.items.filter((function (e) {
                          return e.active &&
                          e.highlighted
                        }))
                      },
                      enumerable: !1,
                      configurable: !0
                    }
                  ),
                  Object.defineProperty(
                    e.prototype,
                    'choices',
                    {
                      get: function () {
                        return this.state.choices
                      },
                      enumerable: !1,
                      configurable: !0
                    }
                  ),
                  Object.defineProperty(
                    e.prototype,
                    'activeChoices',
                    {
                      get: function () {
                        return this.choices.filter((function (e) {
                          return !0 === e.active
                        }))
                      },
                      enumerable: !1,
                      configurable: !0
                    }
                  ),
                  Object.defineProperty(
                    e.prototype,
                    'selectableChoices',
                    {
                      get: function () {
                        return this.choices.filter((function (e) {
                          return !0 !== e.disabled
                        }))
                      },
                      enumerable: !1,
                      configurable: !0
                    }
                  ),
                  Object.defineProperty(
                    e.prototype,
                    'searchableChoices',
                    {
                      get: function () {
                        return this.selectableChoices.filter((function (e) {
                          return !0 !== e.placeholder
                        }))
                      },
                      enumerable: !1,
                      configurable: !0
                    }
                  ),
                  Object.defineProperty(
                    e.prototype,
                    'placeholderChoice',
                    {
                      get: function () {
                        return i([], this.choices, !0).reverse().find((function (e) {
                          return !0 === e.placeholder
                        }))
                      },
                      enumerable: !1,
                      configurable: !0
                    }
                  ),
                  Object.defineProperty(
                    e.prototype,
                    'groups',
                    {
                      get: function () {
                        return this.state.groups
                      },
                      enumerable: !1,
                      configurable: !0
                    }
                  ),
                  Object.defineProperty(
                    e.prototype,
                    'activeGroups',
                    {
                      get: function () {
                        var e = this.groups,
                        t = this.choices;
                        return e.filter(
                          (
                            function (e) {
                              var n = !0 === e.active &&
                              !1 === e.disabled,
                              i = t.some((function (e) {
                                return !0 === e.active &&
                                !1 === e.disabled
                              }));
                              return n &&
                              i
                            }
                          ),
                          []
                        )
                      },
                      enumerable: !1,
                      configurable: !0
                    }
                  ),
                  e.prototype.isLoading = function () {
                    return this.state.loading
                  },
                  e.prototype.getChoiceById = function (e) {
                    return this.activeChoices.find((function (t) {
                      return t.id === parseInt(e, 10)
                    }))
                  },
                  e.prototype.getGroupById = function (e) {
                    return this.groups.find((function (t) {
                      return t.id === e
                    }))
                  },
                  e
                }();
                t.default = a
              },
              686: function (e, t) {
                Object.defineProperty(t, '__esModule', {
                  value: !0
                });
                var n = {
                  containerOuter: function (e, t, n, i, r, o, s) {
                    var a = e.classNames.containerOuter,
                    c = Object.assign(document.createElement('div'), {
                      className: a
                    });
                    return c.dataset.type = o,
                    t &&
                    (c.dir = t),
                    i &&
                    (c.tabIndex = 0),
                    n &&
                    (
                      c.setAttribute('role', r ? 'combobox' : 'listbox'),
                      r &&
                      c.setAttribute('aria-autocomplete', 'list')
                    ),
                    c.setAttribute('aria-haspopup', 'true'),
                    c.setAttribute('aria-expanded', 'false'),
                    s &&
                    c.setAttribute('aria-labeledby', s),
                    c
                  },
                  containerInner: function (e) {
                    var t = e.classNames.containerInner;
                    return Object.assign(document.createElement('div'), {
                      className: t
                    })
                  },
                  itemList: function (e, t) {
                    var n = e.classNames,
                    i = n.list,
                    r = n.listSingle,
                    o = n.listItems;
                    return Object.assign(
                      document.createElement('div'),
                      {
                        className: ''.concat(i, ' ').concat(t ? r : o)
                      }
                    )
                  },
                  placeholder: function (e, t) {
                    var n,
                    i = e.allowHTML,
                    r = e.classNames.placeholder;
                    return Object.assign(
                      document.createElement('div'),
                      ((n = {
                        className: r
                      }) [i ? 'innerHTML' : 'innerText'] = t, n)
                    )
                  },
                  item: function (e, t, n) {
                    var i,
                    r,
                    o = e.allowHTML,
                    s = e.classNames,
                    a = s.item,
                    c = s.button,
                    l = s.highlightedState,
                    u = s.itemSelectable,
                    h = s.placeholder,
                    d = t.id,
                    p = t.value,
                    f = t.label,
                    m = t.customProperties,
                    v = t.active,
                    g = t.disabled,
                    _ = t.highlighted,
                    y = t.placeholder,
                    b = Object.assign(
                      document.createElement('div'),
                      ((i = {
                        className: a
                      }) [o ? 'innerHTML' : 'innerText'] = f, i)
                    );
                    if (
                      Object.assign(b.dataset, {
                        item: '',
                        id: d,
                        value: p,
                        customProperties: m
                      }),
                      v &&
                      b.setAttribute('aria-selected', 'true'),
                      g &&
                      b.setAttribute('aria-disabled', 'true'),
                      y &&
                      b.classList.add(h),
                      b.classList.add(_ ? l : u),
                      n
                    ) {
                      g &&
                      b.classList.remove(u),
                      b.dataset.deletable = '';
                      var E = 'Remove item',
                      S = Object.assign(
                        document.createElement('button'),
                        (
                          (r = {
                            type: 'button',
                            className: c
                          }) [o ? 'innerHTML' : 'innerText'] = E,
                          r
                        )
                      );
                      S.setAttribute('aria-label', ''.concat(E, ': \'').concat(p, '\'')),
                      S.dataset.button = '',
                      b.appendChild(S)
                    }
                    return b
                  },
                  choiceList: function (e, t) {
                    var n = e.classNames.list,
                    i = Object.assign(document.createElement('div'), {
                      className: n
                    });
                    return t ||
                    i.setAttribute('aria-multiselectable', 'true'),
                    i.setAttribute('role', 'listbox'),
                    i
                  },
                  choiceGroup: function (e, t) {
                    var n,
                    i = e.allowHTML,
                    r = e.classNames,
                    o = r.group,
                    s = r.groupHeading,
                    a = r.itemDisabled,
                    c = t.id,
                    l = t.value,
                    u = t.disabled,
                    h = Object.assign(
                      document.createElement('div'),
                      {
                        className: ''.concat(o, ' ').concat(u ? a : '')
                      }
                    );
                    return h.setAttribute('role', 'group'),
                    Object.assign(h.dataset, {
                      group: '',
                      id: c,
                      value: l
                    }),
                    u &&
                    h.setAttribute('aria-disabled', 'true'),
                    h.appendChild(
                      Object.assign(
                        document.createElement('div'),
                        ((n = {
                          className: s
                        }) [i ? 'innerHTML' : 'innerText'] = l, n)
                      )
                    ),
                    h
                  },
                  choice: function (e, t, n) {
                    var i,
                    r = e.allowHTML,
                    o = e.classNames,
                    s = o.item,
                    a = o.itemChoice,
                    c = o.itemSelectable,
                    l = o.selectedState,
                    u = o.itemDisabled,
                    h = o.placeholder,
                    d = t.id,
                    p = t.value,
                    f = t.label,
                    m = t.groupId,
                    v = t.elementId,
                    g = t.disabled,
                    _ = t.selected,
                    y = t.placeholder,
                    b = Object.assign(
                      document.createElement('div'),
                      (
                        (i = {
                          id: v
                        }) [r ? 'innerHTML' : 'innerText'] = f,
                        i.className = ''.concat(s, ' ').concat(a),
                        i
                      )
                    );
                    return _ &&
                    b.classList.add(l),
                    y &&
                    b.classList.add(h),
                    b.setAttribute('role', m && m > 0 ? 'treeitem' : 'option'),
                    Object.assign(b.dataset, {
                      choice: '',
                      id: d,
                      value: p,
                      selectText: n
                    }),
                    g ? (
                      b.classList.add(u),
                      b.dataset.choiceDisabled = '',
                      b.setAttribute('aria-disabled', 'true')
                    ) : (b.classList.add(c), b.dataset.choiceSelectable = ''),
                    b
                  },
                  input: function (e, t) {
                    var n = e.classNames,
                    i = n.input,
                    r = n.inputCloned,
                    o = Object.assign(
                      document.createElement('input'),
                      {
                        type: 'search',
                        name: 'search_terms',
                        className: ''.concat(i, ' ').concat(r),
                        autocomplete: 'off',
                        autocapitalize: 'off',
                        spellcheck: !1
                      }
                    );
                    return o.setAttribute('role', 'textbox'),
                    o.setAttribute('aria-autocomplete', 'list'),
                    o.setAttribute('aria-label', t),
                    o
                  },
                  dropdown: function (e) {
                    var t = e.classNames,
                    n = t.list,
                    i = t.listDropdown,
                    r = document.createElement('div');
                    return r.classList.add(n, i),
                    r.setAttribute('aria-expanded', 'false'),
                    r
                  },
                  notice: function (e, t, n) {
                    var i,
                    r = e.allowHTML,
                    o = e.classNames,
                    s = o.item,
                    a = o.itemChoice,
                    c = o.noResults,
                    l = o.noChoices;
                    void 0 === n &&
                    (n = '');
                    var u = [
                      s,
                      a
                    ];
                    return 'no-choices' === n ? u.push(l) : 'no-results' === n &&
                    u.push(c),
                    Object.assign(
                      document.createElement('div'),
                      (
                        (i = {}) [r ? 'innerHTML' : 'innerText'] = t,
                        i.className = u.join(' '),
                        i
                      )
                    )
                  },
                  option: function (e) {
                    var t = e.label,
                    n = e.value,
                    i = e.customProperties,
                    r = e.active,
                    o = e.disabled,
                    s = new Option(t, n, !1, r);
                    return i &&
                    (s.dataset.customProperties = ''.concat(i)),
                    s.disabled = !!o,
                    s
                  }
                };
                t.default = n
              },
              996: function (e) {
                var t = function (e) {
                  return function (e) {
                    return !!e &&
                    'object' == typeof e
                  }(e) &&
                  !function (e) {
                    var t = Object.prototype.toString.call(e);
                    return '[object RegExp]' === t ||
                    '[object Date]' === t ||
                    function (e) {
                      return e.$$typeof === n
                    }(e)
                  }(e)
                },
                n = 'function' == typeof Symbol &&
                Symbol.for ? Symbol.for('react.element') : 60103;
                function i(e, t) {
                  return !1 !== t.clone &&
                  t.isMergeableObject(e) ? a((n = e, Array.isArray(n) ? [] : {
                  }), e, t) : e;
                  var n
                }
                function r(e, t, n) {
                  return e.concat(t).map((function (e) {
                    return i(e, n)
                  }))
                }
                function o(e) {
                  return Object.keys(e).concat(
                    function (e) {
                      return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(e).filter((function (t) {
                        return e.propertyIsEnumerable(t)
                      })) : []
                    }(e)
                  )
                }
                function s(e, t) {
                  try {
                    return t in e
                  } catch (e) {
                    return !1
                  }
                }
                function a(e, n, c) {
                  (c = c || {
                  }).arrayMerge = c.arrayMerge ||
                  r,
                  c.isMergeableObject = c.isMergeableObject ||
                  t,
                  c.cloneUnlessOtherwiseSpecified = i;
                  var l = Array.isArray(n);
                  return l === Array.isArray(e) ? l ? c.arrayMerge(e, n, c) : function (e, t, n) {
                    var r = {};
                    return n.isMergeableObject(e) &&
                    o(e).forEach((function (t) {
                      r[t] = i(e[t], n)
                    })),
                    o(t).forEach(
                      (
                        function (o) {
                          (
                            function (e, t) {
                              return s(e, t) &&
                              !(
                                Object.hasOwnProperty.call(e, t) &&
                                Object.propertyIsEnumerable.call(e, t)
                              )
                            }
                          ) (e, o) ||
                          (
                            s(e, o) &&
                            n.isMergeableObject(t[o]) ? r[o] = function (e, t) {
                              if (!t.customMerge) return a;
                              var n = t.customMerge(e);
                              return 'function' == typeof n ? n : a
                            }(o, n) (e[o], t[o], n) : r[o] = i(t[o], n)
                          )
                        }
                      )
                    ),
                    r
                  }(e, n, c) : i(n, c)
                }
                a.all = function (e, t) {
                  if (!Array.isArray(e)) throw new Error('first argument should be an array');
                  return e.reduce((function (e, n) {
                    return a(e, n, t)
                  }), {
                  })
                };
                var c = a;
                e.exports = c
              },
              221: function (e, t, n) {
                function i(e) {
                  return Array.isArray ? Array.isArray(e) : '[object Array]' === l(e)
                }
                function r(e) {
                  return 'string' == typeof e
                }
                function o(e) {
                  return 'number' == typeof e
                }
                function s(e) {
                  return 'object' == typeof e
                }
                function a(e) {
                  return null != e
                }
                function c(e) {
                  return !e.trim().length
                }
                function l(e) {
                  return null == e ? void 0 === e ? '[object Undefined]' : '[object Null]' : Object.prototype.toString.call(e)
                }
                n.r(t),
                n.d(t, {
                default:
                  function () {
                    return K
                  }
                });
                const u = Object.prototype.hasOwnProperty;
                class h {
                  constructor(e) {
                    this._keys = [],
                    this._keyMap = {};
                    let t = 0;
                    e.forEach(
                      (
                        e => {
                          let n = d(e);
                          t += n.weight,
                          this._keys.push(n),
                          this._keyMap[n.id] = n,
                          t += n.weight
                        }
                      )
                    ),
                    this._keys.forEach((e => {
                      e.weight /= t
                    }))
                  }
                  get(e) {
                    return this._keyMap[e]
                  }
                  keys() {
                    return this._keys
                  }
                  toJSON() {
                    return JSON.stringify(this._keys)
                  }
                }
                function d(e) {
                  let t = null,
                  n = null,
                  o = null,
                  s = 1;
                  if (r(e) || i(e)) o = e,
                  t = p(e),
                  n = f(e);
                   else {
                    if (!u.call(e, 'name')) throw new Error('Missing name property in key');
                    const i = e.name;
                    if (o = i, u.call(e, 'weight') && (s = e.weight, s <= 0)) throw new Error(
                      (
                        e => `Property 'weight' in key '${ e }' must be a positive integer`
                      ) (i)
                    );
                    t = p(i),
                    n = f(i)
                  }
                  return {
                    path: t,
                    id: n,
                    weight: s,
                    src: o
                  }
                }
                function p(e) {
                  return i(e) ? e : e.split('.')
                }
                function f(e) {
                  return i(e) ? e.join('.') : e
                }
                var m = {
                  isCaseSensitive: !1,
                  includeScore: !1,
                  keys: [],
                  shouldSort: !0,
                  sortFn: (e, t) => e.score === t.score ? e.idx < t.idx ? - 1 : 1 : e.score < t.score ? - 1 : 1,
                  includeMatches: !1,
                  findAllMatches: !1,
                  minMatchCharLength: 1,
                  location: 0,
                  threshold: 0.6,
                  distance: 100,
                  useExtendedSearch: !1,
                  getFn: function (e, t) {
                    let n = [],
                    c = !1;
                    const u = (e, t, h) => {
                      if (a(e)) if (t[h]) {
                        const d = e[t[h]];
                        if (!a(d)) return;
                        if (
                          h === t.length - 1 &&
                          (
                            r(d) ||
                            o(d) ||
                            function (e) {
                              return !0 === e ||
                              !1 === e ||
                              function (e) {
                                return s(e) &&
                                null !== e
                              }(e) &&
                              '[object Boolean]' == l(e)
                            }(d)
                          )
                        ) n.push(
                          function (e) {
                            return null == e ? '' : function (e) {
                              if ('string' == typeof e) return e;
                              let t = e + '';
                              return '0' == t &&
                              1 / e == - 1 / 0 ? '-0' : t
                            }(e)
                          }(d)
                        );
                         else if (i(d)) {
                          c = !0;
                          for (let e = 0, n = d.length; e < n; e += 1) u(d[e], t, h + 1)
                        } else t.length &&
                        u(d, t, h + 1)
                      } else n.push(e)
                    };
                    return u(e, r(t) ? t.split('.') : t, 0),
                    c ? n : n[0]
                  },
                  ignoreLocation: !1,
                  ignoreFieldNorm: !1,
                  fieldNormWeight: 1
                };
                const v = /[^ ]+/g;
                class g {
                  constructor({
                    getFn: e = m.getFn,
                    fieldNormWeight: t = m.fieldNormWeight
                  }
                  = {}) {
                    this.norm = function (e = 1, t = 3) {
                      const n = new Map,
                      i = Math.pow(10, t);
                      return {
                        get(t) {
                          const r = t.match(v).length;
                          if (n.has(r)) return n.get(r);
                          const o = 1 / Math.pow(r, 0.5 * e),
                          s = parseFloat(Math.round(o * i) / i);
                          return n.set(r, s),
                          s
                        },
                        clear() {
                          n.clear()
                        }
                      }
                    }(t, 3),
                    this.getFn = e,
                    this.isCreated = !1,
                    this.setIndexRecords()
                  }
                  setSources(e = []) {
                    this.docs = e
                  }
                  setIndexRecords(e = []) {
                    this.records = e
                  }
                  setKeys(e = []) {
                    this.keys = e,
                    this._keysMap = {},
                    e.forEach(((e, t) => {
                      this._keysMap[e.id] = t
                    }))
                  }
                  create() {
                    !this.isCreated &&
                    this.docs.length &&
                    (
                      this.isCreated = !0,
                      r(this.docs[0]) ? this.docs.forEach(((e, t) => {
                        this._addString(e, t)
                      })) : this.docs.forEach(((e, t) => {
                        this._addObject(e, t)
                      })),
                      this.norm.clear()
                    )
                  }
                  add(e) {
                    const t = this.size();
                    r(e) ? this._addString(e, t) : this._addObject(e, t)
                  }
                  removeAt(e) {
                    this.records.splice(e, 1);
                    for (let t = e, n = this.size(); t < n; t += 1) this.records[t].i -= 1
                  }
                  getValueForItemAtKeyId(e, t) {
                    return e[this._keysMap[t]]
                  }
                  size() {
                    return this.records.length
                  }
                  _addString(e, t) {
                    if (!a(e) || c(e)) return;
                    let n = {
                      v: e,
                      i: t,
                      n: this.norm.get(e)
                    };
                    this.records.push(n)
                  }
                  _addObject(e, t) {
                    let n = {
                      i: t,
                      $: {
                      }
                    };
                    this.keys.forEach(
                      (
                        (t, o) => {
                          let s = this.getFn(e, t.path);
                          if (a(s)) if (i(s)) {
                            let e = [];
                            const t = [
                              {
                                nestedArrIndex: - 1,
                                value: s
                              }
                            ];
                            for (; t.length; ) {
                              const {
                                nestedArrIndex: n,
                                value: o
                              }
                              = t.pop();
                              if (a(o)) if (r(o) && !c(o)) {
                                let t = {
                                  v: o,
                                  i: n,
                                  n: this.norm.get(o)
                                };
                                e.push(t)
                              } else i(o) &&
                              o.forEach(((e, n) => {
                                t.push({
                                  nestedArrIndex: n,
                                  value: e
                                })
                              }))
                            }
                            n.$[o] = e
                          } else if (!c(s)) {
                            let e = {
                              v: s,
                              n: this.norm.get(s)
                            };
                            n.$[o] = e
                          }
                        }
                      )
                    ),
                    this.records.push(n)
                  }
                  toJSON() {
                    return {
                      keys: this.keys,
                      records: this.records
                    }
                  }
                }
                function _(e, t, {
                  getFn: n = m.getFn,
                  fieldNormWeight: i = m.fieldNormWeight
                }
                = {}) {
                  const r = new g({
                    getFn: n,
                    fieldNormWeight: i
                  });
                  return r.setKeys(e.map(d)),
                  r.setSources(t),
                  r.create(),
                  r
                }
                function y(
                  e,
                  {
                    errors: t = 0,
                    currentLocation: n = 0,
                    expectedLocation: i = 0,
                    distance: r = m.distance,
                    ignoreLocation: o = m.ignoreLocation
                  }
                  = {}
                ) {
                  const s = t / e.length;
                  if (o) return s;
                  const a = Math.abs(i - n);
                  return r ? s + a / r : a ? 1 : s
                }
                const b = 32;
                function E(e) {
                  let t = {};
                  for (let n = 0, i = e.length; n < i; n += 1) {
                    const r = e.charAt(n);
                    t[r] = (t[r] || 0) | 1 << i - n - 1
                  }
                  return t
                }
                class S {
                  constructor(
                    e,
                    {
                      location: t = m.location,
                      threshold: n = m.threshold,
                      distance: i = m.distance,
                      includeMatches: r = m.includeMatches,
                      findAllMatches: o = m.findAllMatches,
                      minMatchCharLength: s = m.minMatchCharLength,
                      isCaseSensitive: a = m.isCaseSensitive,
                      ignoreLocation: c = m.ignoreLocation
                    }
                    = {}
                  ) {
                    if (
                      this.options = {
                        location: t,
                        threshold: n,
                        distance: i,
                        includeMatches: r,
                        findAllMatches: o,
                        minMatchCharLength: s,
                        isCaseSensitive: a,
                        ignoreLocation: c
                      },
                      this.pattern = a ? e : e.toLowerCase(),
                      this.chunks = [],
                      !this.pattern.length
                    ) return;
                    const l = (e, t) => {
                      this.chunks.push({
                        pattern: e,
                        alphabet: E(e),
                        startIndex: t
                      })
                    },
                    u = this.pattern.length;
                    if (u > b) {
                      let e = 0;
                      const t = u % b,
                      n = u - t;
                      for (; e < n; ) l(this.pattern.substr(e, b), e),
                      e += b;
                      if (t) {
                        const e = u - b;
                        l(this.pattern.substr(e), e)
                      }
                    } else l(this.pattern, 0)
                  }
                  searchIn(e) {
                    const {
                      isCaseSensitive: t,
                      includeMatches: n
                    }
                    = this.options;
                    if (t || (e = e.toLowerCase()), this.pattern === e) {
                      let t = {
                        isMatch: !0,
                        score: 0
                      };
                      return n &&
                      (t.indices = [
                        [0,
                        e.length - 1]
                      ]),
                      t
                    }
                    const {
                      location: i,
                      distance: r,
                      threshold: o,
                      findAllMatches: s,
                      minMatchCharLength: a,
                      ignoreLocation: c
                    }
                    = this.options;
                    let l = [],
                    u = 0,
                    h = !1;
                    this.chunks.forEach(
                      (
                        ({
                          pattern: t,
                          alphabet: d,
                          startIndex: p
                        }) => {
                          const {
                            isMatch: f,
                            score: v,
                            indices: g
                          }
                          = function (
                            e,
                            t,
                            n,
                            {
                              location: i = m.location,
                              distance: r = m.distance,
                              threshold: o = m.threshold,
                              findAllMatches: s = m.findAllMatches,
                              minMatchCharLength: a = m.minMatchCharLength,
                              includeMatches: c = m.includeMatches,
                              ignoreLocation: l = m.ignoreLocation
                            }
                            = {}
                          ) {
                            if (t.length > b) throw new Error('Pattern length exceeds max of 32.');
                            const u = t.length,
                            h = e.length,
                            d = Math.max(0, Math.min(i, h));
                            let p = o,
                            f = d;
                            const v = a > 1 ||
                            c,
                            g = v ? Array(h) : [];
                            let _;
                            for (; (_ = e.indexOf(t, f)) > - 1; ) {
                              let e = y(
                                t,
                                {
                                  currentLocation: _,
                                  expectedLocation: d,
                                  distance: r,
                                  ignoreLocation: l
                                }
                              );
                              if (p = Math.min(e, p), f = _ + u, v) {
                                let e = 0;
                                for (; e < u; ) g[_ + e] = 1,
                                e += 1
                              }
                            }
                            f = - 1;
                            let E = [],
                            S = 1,
                            I = u + h;
                            const O = 1 << u - 1;
                            for (let i = 0; i < u; i += 1) {
                              let o = 0,
                              a = I;
                              for (; o < a; ) y(
                                t,
                                {
                                  errors: i,
                                  currentLocation: d + a,
                                  expectedLocation: d,
                                  distance: r,
                                  ignoreLocation: l
                                }
                              ) <= p ? o = a : I = a,
                              a = Math.floor((I - o) / 2 + o);
                              I = a;
                              let c = Math.max(1, d - a + 1),
                              m = s ? h : Math.min(d + a, h) + u,
                              _ = Array(m + 2);
                              _[m + 1] = (1 << i) - 1;
                              for (let o = m; o >= c; o -= 1) {
                                let s = o - 1,
                                a = n[e.charAt(s)];
                                if (
                                  v &&
                                  (g[s] = + !!a),
                                  _[o] = (_[o + 1] << 1 | 1) & a,
                                  i &&
                                  (_[o] |= (E[o + 1] | E[o]) << 1 | 1 | E[o + 1]),
                                  _[o] & O &&
                                  (
                                    S = y(
                                      t,
                                      {
                                        errors: i,
                                        currentLocation: s,
                                        expectedLocation: d,
                                        distance: r,
                                        ignoreLocation: l
                                      }
                                    ),
                                    S <= p
                                  )
                                ) {
                                  if (p = S, f = s, f <= d) break;
                                  c = Math.max(1, 2 * d - f)
                                }
                              }
                              if (
                                y(
                                  t,
                                  {
                                    errors: i + 1,
                                    currentLocation: d,
                                    expectedLocation: d,
                                    distance: r,
                                    ignoreLocation: l
                                  }
                                ) > p
                              ) break;
                              E = _
                            }
                            const T = {
                              isMatch: f >= 0,
                              score: Math.max(0.001, S)
                            };
                            if (v) {
                              const e = function (e = [], t = m.minMatchCharLength) {
                                let n = [],
                                i = - 1,
                                r = - 1,
                                o = 0;
                                for (let s = e.length; o < s; o += 1) {
                                  let s = e[o];
                                  s &&
                                  - 1 === i ? i = o : s ||
                                  - 1 === i ||
                                  (r = o - 1, r - i + 1 >= t && n.push([i,
                                  r]), i = - 1)
                                }
                                return e[o - 1] &&
                                o - i >= t &&
                                n.push([i,
                                o - 1]),
                                n
                              }(g, a);
                              e.length ? c &&
                              (T.indices = e) : T.isMatch = !1
                            }
                            return T
                          }(
                            e,
                            t,
                            d,
                            {
                              location: i + p,
                              distance: r,
                              threshold: o,
                              findAllMatches: s,
                              minMatchCharLength: a,
                              includeMatches: n,
                              ignoreLocation: c
                            }
                          );
                          f &&
                          (h = !0),
                          u += v,
                          f &&
                          g &&
                          (l = [
                            ...l,
                            ...g
                          ])
                        }
                      )
                    );
                    let d = {
                      isMatch: h,
                      score: h ? u / this.chunks.length : 1
                    };
                    return h &&
                    n &&
                    (d.indices = l),
                    d
                  }
                }
                class I {
                  constructor(e) {
                    this.pattern = e
                  }
                  static isMultiMatch(e) {
                    return O(e, this.multiRegex)
                  }
                  static isSingleMatch(e) {
                    return O(e, this.singleRegex)
                  }
                  search() {
                  }
                }
                function O(e, t) {
                  const n = e.match(t);
                  return n ? n[1] : null
                }
                class T extends I {
                  constructor(
                    e,
                    {
                      location: t = m.location,
                      threshold: n = m.threshold,
                      distance: i = m.distance,
                      includeMatches: r = m.includeMatches,
                      findAllMatches: o = m.findAllMatches,
                      minMatchCharLength: s = m.minMatchCharLength,
                      isCaseSensitive: a = m.isCaseSensitive,
                      ignoreLocation: c = m.ignoreLocation
                    }
                    = {}
                  ) {
                    super (e),
                    this._bitapSearch = new S(
                      e,
                      {
                        location: t,
                        threshold: n,
                        distance: i,
                        includeMatches: r,
                        findAllMatches: o,
                        minMatchCharLength: s,
                        isCaseSensitive: a,
                        ignoreLocation: c
                      }
                    )
                  }
                  static get type() {
                    return 'fuzzy'
                  }
                  static get multiRegex() {
                    return /^"(.*)"$/
                  }
                  static get singleRegex() {
                    return /^(.*)$/
                  }
                  search(e) {
                    return this._bitapSearch.searchIn(e)
                  }
                }
                class C extends I {
                  constructor(e) {
                    super (e)
                  }
                  static get type() {
                    return 'include'
                  }
                  static get multiRegex() {
                    return /^'"(.*)"$/
                  }
                  static get singleRegex() {
                    return /^'(.*)$/
                  }
                  search(e) {
                    let t,
                    n = 0;
                    const i = [],
                    r = this.pattern.length;
                    for (; (t = e.indexOf(this.pattern, n)) > - 1; ) n = t + r,
                    i.push([t,
                    n - 1]);
                    const o = !!i.length;
                    return {
                      isMatch: o,
                      score: o ? 0 : 1,
                      indices: i
                    }
                  }
                }
                const L = [
                  class extends I {
                    constructor(e) {
                      super (e)
                    }
                    static get type() {
                      return 'exact'
                    }
                    static get multiRegex() {
                      return /^="(.*)"$/
                    }
                    static get singleRegex() {
                      return /^=(.*)$/
                    }
                    search(e) {
                      const t = e === this.pattern;
                      return {
                        isMatch: t,
                        score: t ? 0 : 1,
                        indices: [
                          0,
                          this.pattern.length - 1
                        ]
                      }
                    }
                  },
                  C,
                  class extends I {
                    constructor(e) {
                      super (e)
                    }
                    static get type() {
                      return 'prefix-exact'
                    }
                    static get multiRegex() {
                      return /^\^"(.*)"$/
                    }
                    static get singleRegex() {
                      return /^\^(.*)$/
                    }
                    search(e) {
                      const t = e.startsWith(this.pattern);
                      return {
                        isMatch: t,
                        score: t ? 0 : 1,
                        indices: [
                          0,
                          this.pattern.length - 1
                        ]
                      }
                    }
                  },
                  class extends I {
                    constructor(e) {
                      super (e)
                    }
                    static get type() {
                      return 'inverse-prefix-exact'
                    }
                    static get multiRegex() {
                      return /^!\^"(.*)"$/
                    }
                    static get singleRegex() {
                      return /^!\^(.*)$/
                    }
                    search(e) {
                      const t = !e.startsWith(this.pattern);
                      return {
                        isMatch: t,
                        score: t ? 0 : 1,
                        indices: [
                          0,
                          e.length - 1
                        ]
                      }
                    }
                  },
                  class extends I {
                    constructor(e) {
                      super (e)
                    }
                    static get type() {
                      return 'inverse-suffix-exact'
                    }
                    static get multiRegex() {
                      return /^!"(.*)"\$$/
                    }
                    static get singleRegex() {
                      return /^!(.*)\$$/
                    }
                    search(e) {
                      const t = !e.endsWith(this.pattern);
                      return {
                        isMatch: t,
                        score: t ? 0 : 1,
                        indices: [
                          0,
                          e.length - 1
                        ]
                      }
                    }
                  },
                  class extends I {
                    constructor(e) {
                      super (e)
                    }
                    static get type() {
                      return 'suffix-exact'
                    }
                    static get multiRegex() {
                      return /^"(.*)"\$$/
                    }
                    static get singleRegex() {
                      return /^(.*)\$$/
                    }
                    search(e) {
                      const t = e.endsWith(this.pattern);
                      return {
                        isMatch: t,
                        score: t ? 0 : 1,
                        indices: [
                          e.length - this.pattern.length,
                          e.length - 1
                        ]
                      }
                    }
                  },
                  class extends I {
                    constructor(e) {
                      super (e)
                    }
                    static get type() {
                      return 'inverse-exact'
                    }
                    static get multiRegex() {
                      return /^!"(.*)"$/
                    }
                    static get singleRegex() {
                      return /^!(.*)$/
                    }
                    search(e) {
                      const t = - 1 === e.indexOf(this.pattern);
                      return {
                        isMatch: t,
                        score: t ? 0 : 1,
                        indices: [
                          0,
                          e.length - 1
                        ]
                      }
                    }
                  },
                  T
                ],
                w = L.length,
                A = / +(?=([^\"]*\"[^\"]*\")*[^\"]*$)/,
                M = new Set([T.type,
                C.type]);
                const P = [];
                function x(e, t) {
                  for (let n = 0, i = P.length; n < i; n += 1) {
                    let i = P[n];
                    if (i.condition(e, t)) return new i(e, t)
                  }
                  return new S(e, t)
                }
                const N = '$and',
                D = e => !(!e.$and && !e.$or),
                j = e => ({
                  [
                    N
                  ]: Object.keys(e).map((t => ({
                    [
                      t
                    ]: e[t]
                  })))
                });
                function k(e, t, {
                  auto: n = !0
                }
                = {}) {
                  const o = e => {
                    let a = Object.keys(e);
                    const c = (e => !!e.$path) (e);
                    if (!c && a.length > 1 && !D(e)) return o(j(e));
                    if ((e => !i(e) && s(e) && !D(e)) (e)) {
                      const i = c ? e.$path : a[0],
                      o = c ? e.$val : e[i];
                      if (!r(o)) throw new Error((e => `Invalid value for key ${ e }`) (i));
                      const s = {
                        keyId: f(i),
                        pattern: o
                      };
                      return n &&
                      (s.searcher = x(o, t)),
                      s
                    }
                    let l = {
                      children: [],
                      operator: a[0]
                    };
                    return a.forEach(
                      (
                        t => {
                          const n = e[t];
                          i(n) &&
                          n.forEach((e => {
                            l.children.push(o(e))
                          }))
                        }
                      )
                    ),
                    l
                  };
                  return D(e) ||
                  (e = j(e)),
                  o(e)
                }
                function F(e, t) {
                  const n = e.matches;
                  t.matches = [],
                  a(n) &&
                  n.forEach(
                    (
                      e => {
                        if (!a(e.indices) || !e.indices.length) return;
                        const {
                          indices: n,
                          value: i
                        }
                        = e;
                        let r = {
                          indices: n,
                          value: i
                        };
                        e.key &&
                        (r.key = e.key.src),
                        e.idx > - 1 &&
                        (r.refIndex = e.idx),
                        t.matches.push(r)
                      }
                    )
                  )
                }
                function R(e, t) {
                  t.score = e.score
                }
                class K {
                  constructor(e, t = {}, n) {
                    this.options = {
                      ...m,
                      ...t
                    },
                    this.options.useExtendedSearch,
                    this._keyStore = new h(this.options.keys),
                    this.setCollection(e, n)
                  }
                  setCollection(e, t) {
                    if (this._docs = e, t && !(t instanceof g)) throw new Error('Incorrect \'index\' type');
                    this._myIndex = t ||
                    _(
                      this.options.keys,
                      this._docs,
                      {
                        getFn: this.options.getFn,
                        fieldNormWeight: this.options.fieldNormWeight
                      }
                    )
                  }
                  add(e) {
                    a(e) &&
                    (this._docs.push(e), this._myIndex.add(e))
                  }
                  remove(e = (() => !1)) {
                    const t = [];
                    for (let n = 0, i = this._docs.length; n < i; n += 1) {
                      const r = this._docs[n];
                      e(r, n) &&
                      (this.removeAt(n), n -= 1, i -= 1, t.push(r))
                    }
                    return t
                  }
                  removeAt(e) {
                    this._docs.splice(e, 1),
                    this._myIndex.removeAt(e)
                  }
                  getIndex() {
                    return this._myIndex
                  }
                  search(e, {
                    limit: t = - 1
                  }
                  = {}) {
                    const {
                      includeMatches: n,
                      includeScore: i,
                      shouldSort: s,
                      sortFn: a,
                      ignoreFieldNorm: c
                    }
                    = this.options;
                    let l = r(e) ? r(this._docs[0]) ? this._searchStringList(e) : this._searchObjectList(e) : this._searchLogical(e);
                    return function (e, {
                      ignoreFieldNorm: t = m.ignoreFieldNorm
                    }) {
                      e.forEach(
                        (
                          e => {
                            let n = 1;
                            e.matches.forEach(
                              (
                                ({
                                  key: e,
                                  norm: i,
                                  score: r
                                }) => {
                                  const o = e ? e.weight : null;
                                  n *= Math.pow(0 === r && o ? Number.EPSILON : r, (o || 1) * (t ? 1 : i))
                                }
                              )
                            ),
                            e.score = n
                          }
                        )
                      )
                    }(l, {
                      ignoreFieldNorm: c
                    }),
                    s &&
                    l.sort(a),
                    o(t) &&
                    t > - 1 &&
                    (l = l.slice(0, t)),
                    function (
                      e,
                      t,
                      {
                        includeMatches: n = m.includeMatches,
                        includeScore: i = m.includeScore
                      }
                      = {}
                    ) {
                      const r = [];
                      return n &&
                      r.push(F),
                      i &&
                      r.push(R),
                      e.map(
                        (
                          e => {
                            const {
                              idx: n
                            }
                            = e,
                            i = {
                              item: t[n],
                              refIndex: n
                            };
                            return r.length &&
                            r.forEach((t => {
                              t(e, i)
                            })),
                            i
                          }
                        )
                      )
                    }(l, this._docs, {
                      includeMatches: n,
                      includeScore: i
                    })
                  }
                  _searchStringList(e) {
                    const t = x(e, this.options),
                    {
                      records: n
                    }
                    = this._myIndex,
                    i = [];
                    return n.forEach(
                      (
                        ({
                          v: e,
                          i: n,
                          n: r
                        }) => {
                          if (!a(e)) return;
                          const {
                            isMatch: o,
                            score: s,
                            indices: c
                          }
                          = t.searchIn(e);
                          o &&
                          i.push({
                            item: e,
                            idx: n,
                            matches: [
                              {
                                score: s,
                                value: e,
                                norm: r,
                                indices: c
                              }
                            ]
                          })
                        }
                      )
                    ),
                    i
                  }
                  _searchLogical(e) {
                    const t = k(e, this.options),
                    n = (e, t, i) => {
                      if (!e.children) {
                        const {
                          keyId: n,
                          searcher: r
                        }
                        = e,
                        o = this._findMatches({
                          key: this._keyStore.get(n),
                          value: this._myIndex.getValueForItemAtKeyId(t, n),
                          searcher: r
                        });
                        return o &&
                        o.length ? [
                          {
                            idx: i,
                            item: t,
                            matches: o
                          }
                        ] : []
                      }
                      const r = [];
                      for (let o = 0, s = e.children.length; o < s; o += 1) {
                        const s = e.children[o],
                        a = n(s, t, i);
                        if (a.length) r.push(...a);
                         else if (e.operator === N) return []
                      }
                      return r
                    },
                    i = this._myIndex.records,
                    r = {},
                    o = [];
                    return i.forEach(
                      (
                        ({
                          $: e,
                          i
                        }) => {
                          if (a(e)) {
                            let s = n(t, e, i);
                            s.length &&
                            (
                              r[i] ||
                              (r[i] = {
                                idx: i,
                                item: e,
                                matches: []
                              }, o.push(r[i])),
                              s.forEach((({
                                matches: e
                              }) => {
                                r[i].matches.push(...e)
                              }))
                            )
                          }
                        }
                      )
                    ),
                    o
                  }
                  _searchObjectList(e) {
                    const t = x(e, this.options),
                    {
                      keys: n,
                      records: i
                    }
                    = this._myIndex,
                    r = [];
                    return i.forEach(
                      (
                        ({
                          $: e,
                          i
                        }) => {
                          if (!a(e)) return;
                          let o = [];
                          n.forEach(
                            (
                              (n, i) => {
                                o.push(...this._findMatches({
                                  key: n,
                                  value: e[i],
                                  searcher: t
                                }))
                              }
                            )
                          ),
                          o.length &&
                          r.push({
                            idx: i,
                            item: e,
                            matches: o
                          })
                        }
                      )
                    ),
                    r
                  }
                  _findMatches({
                    key: e,
                    value: t,
                    searcher: n
                  }) {
                    if (!a(t)) return [];
                    let r = [];
                    if (i(t)) t.forEach(
                      (
                        ({
                          v: t,
                          i,
                          n: o
                        }) => {
                          if (!a(t)) return;
                          const {
                            isMatch: s,
                            score: c,
                            indices: l
                          }
                          = n.searchIn(t);
                          s &&
                          r.push({
                            score: c,
                            key: e,
                            value: t,
                            idx: i,
                            norm: o,
                            indices: l
                          })
                        }
                      )
                    );
                     else {
                      const {
                        v: i,
                        n: o
                      }
                      = t,
                      {
                        isMatch: s,
                        score: a,
                        indices: c
                      }
                      = n.searchIn(i);
                      s &&
                      r.push({
                        score: a,
                        key: e,
                        value: i,
                        norm: o,
                        indices: c
                      })
                    }
                    return r
                  }
                }
                K.version = '6.5.3',
                K.createIndex = _,
                K.parseIndex = function (e, {
                  getFn: t = m.getFn,
                  fieldNormWeight: n = m.fieldNormWeight
                }
                = {}) {
                  const {
                    keys: i,
                    records: r
                  }
                  = e,
                  o = new g({
                    getFn: t,
                    fieldNormWeight: n
                  });
                  return o.setKeys(i),
                  o.setIndexRecords(r),
                  o
                },
                K.config = m,
                K.parseQuery = k,
                function (...e) {
                  P.push(...e)
                }(
                  class {
                    constructor(
                      e,
                      {
                        isCaseSensitive: t = m.isCaseSensitive,
                        includeMatches: n = m.includeMatches,
                        minMatchCharLength: i = m.minMatchCharLength,
                        ignoreLocation: r = m.ignoreLocation,
                        findAllMatches: o = m.findAllMatches,
                        location: s = m.location,
                        threshold: a = m.threshold,
                        distance: c = m.distance
                      }
                      = {}
                    ) {
                      this.query = null,
                      this.options = {
                        isCaseSensitive: t,
                        includeMatches: n,
                        minMatchCharLength: i,
                        findAllMatches: o,
                        ignoreLocation: r,
                        location: s,
                        threshold: a,
                        distance: c
                      },
                      this.pattern = t ? e : e.toLowerCase(),
                      this.query = function (e, t = {}) {
                        return e.split('|').map(
                          (
                            e => {
                              let n = e.trim().split(A).filter((e => e && !!e.trim())),
                              i = [];
                              for (let e = 0, r = n.length; e < r; e += 1) {
                                const r = n[e];
                                let o = !1,
                                s = - 1;
                                for (; !o && ++s < w; ) {
                                  const e = L[s];
                                  let n = e.isMultiMatch(r);
                                  n &&
                                  (i.push(new e(n, t)), o = !0)
                                }
                                if (!o) for (s = - 1; ++s < w; ) {
                                  const e = L[s];
                                  let n = e.isSingleMatch(r);
                                  if (n) {
                                    i.push(new e(n, t));
                                    break
                                  }
                                }
                              }
                              return i
                            }
                          )
                        )
                      }(this.pattern, this.options)
                    }
                    static condition(e, t) {
                      return t.useExtendedSearch
                    }
                    searchIn(e) {
                      const t = this.query;
                      if (!t) return {
                        isMatch: !1,
                        score: 1
                      };
                      const {
                        includeMatches: n,
                        isCaseSensitive: i
                      }
                      = this.options;
                      e = i ? e : e.toLowerCase();
                      let r = 0,
                      o = [],
                      s = 0;
                      for (let i = 0, a = t.length; i < a; i += 1) {
                        const a = t[i];
                        o.length = 0,
                        r = 0;
                        for (let t = 0, i = a.length; t < i; t += 1) {
                          const i = a[t],
                          {
                            isMatch: c,
                            indices: l,
                            score: u
                          }
                          = i.search(e);
                          if (!c) {
                            s = 0,
                            r = 0,
                            o.length = 0;
                            break
                          }
                          if (r += 1, s += u, n) {
                            const e = i.constructor.type;
                            M.has(e) ? o = [
                              ...o,
                              ...l
                            ] : o.push(l)
                          }
                        }
                        if (r) {
                          let e = {
                            isMatch: !0,
                            score: s / r
                          };
                          return n &&
                          (e.indices = o),
                          e
                        }
                      }
                      return {
                        isMatch: !1,
                        score: 1
                      }
                    }
                  }
                )
              },
              857: function (e, t, n) {
                function i(e, t, n) {
                  return t in e ? Object.defineProperty(e, t, {
                    value: n,
                    enumerable: !0,
                    configurable: !0,
                    writable: !0
                  }) : e[t] = n,
                  e
                }
                function r(e, t) {
                  var n = Object.keys(e);
                  if (Object.getOwnPropertySymbols) {
                    var i = Object.getOwnPropertySymbols(e);
                    t &&
                    (
                      i = i.filter(
                        (
                          function (t) {
                            return Object.getOwnPropertyDescriptor(e, t).enumerable
                          }
                        )
                      )
                    ),
                    n.push.apply(n, i)
                  }
                  return n
                }
                function o(e) {
                  for (var t = 1; t < arguments.length; t++) {
                    var n = null != arguments[t] ? arguments[t] : {
                    };
                    t % 2 ? r(Object(n), !0).forEach((function (t) {
                      i(e, t, n[t])
                    })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : r(Object(n)).forEach(
                      (
                        function (t) {
                          Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
                        }
                      )
                    )
                  }
                  return e
                }
                function s(e) {
                  return 'Minified Redux error #' + e + '; visit https://redux.js.org/Errors?code=' + e + ' for the full message or use the non-minified dev environment for full errors. '
                }
                n.r(t),
                n.d(
                  t,
                  {
                    __DO_NOT_USE__ActionTypes: function () {
                      return l
                    },
                    applyMiddleware: function () {
                      return v
                    },
                    bindActionCreators: function () {
                      return f
                    },
                    combineReducers: function () {
                      return d
                    },
                    compose: function () {
                      return m
                    },
                    createStore: function () {
                      return h
                    }
                  }
                );
                var a = 'function' == typeof Symbol &&
                Symbol.observable ||
                '@@observable',
                c = function () {
                  return Math.random().toString(36).substring(7).split('').join('.')
                },
                l = {
                  INIT: '@@redux/INIT' + c(),
                  REPLACE: '@@redux/REPLACE' + c(),
                  PROBE_UNKNOWN_ACTION: function () {
                    return '@@redux/PROBE_UNKNOWN_ACTION' + c()
                  }
                };
                function u(e) {
                  if ('object' != typeof e || null === e) return !1;
                  for (var t = e; null !== Object.getPrototypeOf(t); ) t = Object.getPrototypeOf(t);
                  return Object.getPrototypeOf(e) === t
                }
                function h(e, t, n) {
                  var i;
                  if (
                    'function' == typeof t &&
                    'function' == typeof n ||
                    'function' == typeof n &&
                    'function' == typeof arguments[3]
                  ) throw new Error(s(0));
                  if ('function' == typeof t && void 0 === n && (n = t, t = void 0), void 0 !== n) {
                    if ('function' != typeof n) throw new Error(s(1));
                    return n(h) (e, t)
                  }
                  if ('function' != typeof e) throw new Error(s(2));
                  var r = e,
                  o = t,
                  c = [],
                  d = c,
                  p = !1;
                  function f() {
                    d === c &&
                    (d = c.slice())
                  }
                  function m() {
                    if (p) throw new Error(s(3));
                    return o
                  }
                  function v(e) {
                    if ('function' != typeof e) throw new Error(s(4));
                    if (p) throw new Error(s(5));
                    var t = !0;
                    return f(),
                    d.push(e),
                    function () {
                      if (t) {
                        if (p) throw new Error(s(6));
                        t = !1,
                        f();
                        var n = d.indexOf(e);
                        d.splice(n, 1),
                        c = null
                      }
                    }
                  }
                  function g(e) {
                    if (!u(e)) throw new Error(s(7));
                    if (void 0 === e.type) throw new Error(s(8));
                    if (p) throw new Error(s(9));
                    try {
                      p = !0,
                      o = r(o, e)
                    } finally {
                      p = !1
                    }
                    for (var t = c = d, n = 0; n < t.length; n++) (0, t[n]) ();
                    return e
                  }
                  function _(e) {
                    if ('function' != typeof e) throw new Error(s(10));
                    r = e,
                    g({
                      type: l.REPLACE
                    })
                  }
                  function y() {
                    var e,
                    t = v;
                    return (
                      e = {
                        subscribe: function (e) {
                          if ('object' != typeof e || null === e) throw new Error(s(11));
                          function n() {
                            e.next &&
                            e.next(m())
                          }
                          return n(),
                          {
                            unsubscribe: t(n)
                          }
                        }
                      }
                    ) [a] = function () {
                      return this
                    },
                    e
                  }
                  return g({
                    type: l.INIT
                  }),
                  (i = {
                    dispatch: g,
                    subscribe: v,
                    getState: m,
                    replaceReducer: _
                  }) [a] = y,
                  i
                }
                function d(e) {
                  for (var t = Object.keys(e), n = {}, i = 0; i < t.length; i++) {
                    var r = t[i];
                    'function' == typeof e[r] &&
                    (n[r] = e[r])
                  }
                  var o,
                  a = Object.keys(n);
                  try {
                    !function (e) {
                      Object.keys(e).forEach(
                        (
                          function (t) {
                            var n = e[t];
                            if (void 0 === n(void 0, {
                              type: l.INIT
                            })) throw new Error(s(12));
                            if (void 0 === n(void 0, {
                              type: l.PROBE_UNKNOWN_ACTION()
                            })) throw new Error(s(13))
                          }
                        )
                      )
                    }(n)
                  } catch (e) {
                    o = e
                  }
                  return function (e, t) {
                    if (void 0 === e && (e = {}), o) throw o;
                    for (var i = !1, r = {}, c = 0; c < a.length; c++) {
                      var l = a[c],
                      u = n[l],
                      h = e[l],
                      d = u(h, t);
                      if (void 0 === d) throw t &&
                      t.type,
                      new Error(s(14));
                      r[l] = d,
                      i = i ||
                      d !== h
                    }
                    return (i = i || a.length !== Object.keys(e).length) ? r : e
                  }
                }
                function p(e, t) {
                  return function () {
                    return t(e.apply(this, arguments))
                  }
                }
                function f(e, t) {
                  if ('function' == typeof e) return p(e, t);
                  if ('object' != typeof e || null === e) throw new Error(s(16));
                  var n = {};
                  for (var i in e) {
                    var r = e[i];
                    'function' == typeof r &&
                    (n[i] = p(r, t))
                  }
                  return n
                }
                function m() {
                  for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n];
                  return 0 === t.length ? function (e) {
                    return e
                  }
                   : 1 === t.length ? t[0] : t.reduce(
                    (
                      function (e, t) {
                        return function () {
                          return e(t.apply(void 0, arguments))
                        }
                      }
                    )
                  )
                }
                function v() {
                  for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n];
                  return function (e) {
                    return function () {
                      var n = e.apply(void 0, arguments),
                      i = function () {
                        throw new Error(s(15))
                      },
                      r = {
                        getState: n.getState,
                        dispatch: function () {
                          return i.apply(void 0, arguments)
                        }
                      },
                      a = t.map((function (e) {
                        return e(r)
                      }));
                      return i = m.apply(void 0, a) (n.dispatch),
                      o(o({
                      }, n), {
                      }, {
                        dispatch: i
                      })
                    }
                  }
                }
              }
            },
            t = {};
            function n(i) {
              var r = t[i];
              if (void 0 !== r) return r.exports;
              var o = t[i] = {
                exports: {
                }
              };
              return e[i].call(o.exports, o, o.exports, n),
              o.exports
            }
            n.n = function (e) {
              var t = e &&
              e.__esModule ? function () {
                return e.default
              }
               : function () {
                return e
              };
              return n.d(t, {
                a: t
              }),
              t
            },
            n.d = function (e, t) {
              for (var i in t) n.o(t, i) &&
              !n.o(e, i) &&
              Object.defineProperty(e, i, {
                enumerable: !0,
                get: t[i]
              })
            },
            n.o = function (e, t) {
              return Object.prototype.hasOwnProperty.call(e, t)
            },
            n.r = function (e) {
              'undefined' != typeof Symbol &&
              Symbol.toStringTag &&
              Object.defineProperty(e, Symbol.toStringTag, {
                value: 'Module'
              }),
              Object.defineProperty(e, '__esModule', {
                value: !0
              })
            };
            var i,
            r,
            o = {};
            return i = n(373),
            r = n.n(i),
            n(187),
            n(883),
            n(789),
            n(686),
            o.default = r(),
            o.default
          }()
        },
        e.exports = t()
      }
    },
    t = {};
    function n(i) {
      var r = t[i];
      if (void 0 !== r) return r.exports;
      var o = t[i] = {
        exports: {
        }
      };
      return e[i](o, o.exports, n),
      o.exports
    }
    n.n = e => {
      var t = e &&
      e.__esModule ? () => e.default : () => e;
      return n.d(t, {
        a: t
      }),
      t
    },
    n.d = (e, t) => {
      for (var i in t) n.o(t, i) &&
      !n.o(e, i) &&
      Object.defineProperty(e, i, {
        enumerable: !0,
        get: t[i]
      })
    },
    n.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t),
    (
      () => {
        'use strict';
        function e(e, t) {
          var n = Object.keys(e);
          if (Object.getOwnPropertySymbols) {
            var i = Object.getOwnPropertySymbols(e);
            t &&
            (
              i = i.filter(
                (
                  function (t) {
                    return Object.getOwnPropertyDescriptor(e, t).enumerable
                  }
                )
              )
            ),
            n.push.apply(n, i)
          }
          return n
        }
        function t(e, t, n) {
          return t in e ? Object.defineProperty(e, t, {
            value: n,
            enumerable: !0,
            configurable: !0,
            writable: !0
          }) : e[t] = n,
          e
        }
        n(256);
        var i,
        r,
        o,
        s = '/breakpoint-calc/',
        a = {
          searchPlaceholderValue: 'Type 3 or more characters',
          searchFloor: 3,
          searchResultLimit: 10,
          itemSelectText: '',
          loadingText: '',
          shouldSort: !1
        },
        c = (
          i = function (e, t) {
            var n = t.target.value;
            n.length > 2 &&
            l(e, n)
          },
          500,
          function () {
            for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n];
            clearTimeout(r),
            r = setTimeout((function () {
              r = null,
              i.apply(void 0, t)
            }), 500)
          }
        ),
        l = function (e, t) {
          var n = new XMLHttpRequest;
          n.open(
            'GET',
            ''.concat(window.pgoAPIURLs['simple-pokemon-list'], '?pokemon-slug=').concat(t),
            !0
          ),
          n.onload = function () {
            if (n.status >= 200 && n.status < 400) {
              var t = JSON.parse(n.responseText);
              e.setChoices(t.results, 'value', 'label', !0)
            } else u()
          },
          n.onerror = function () {
            u()
          },
          n.send()
        },
        u = function () {
          var e = document.querySelector('.results');
          e.hidden = !1,
          e.classList.add('error-text'),
          e.innerHTML = ':( something broke, let me know if refreshing the page does not help.'
        },
        h = function (n) {
          var i = function (n) {
            for (var i = 1; i < arguments.length; i++) {
              var r = null != arguments[i] ? arguments[i] : {
              };
              i % 2 ? e(Object(r), !0).forEach((function (e) {
                t(n, e, r[e])
              })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(n, Object.getOwnPropertyDescriptors(r)) : e(Object(r)).forEach(
                (
                  function (e) {
                    Object.defineProperty(n, e, Object.getOwnPropertyDescriptor(r, e))
                  }
                )
              )
            }
            return n
          }({
          }, n);
          return delete i.status,
          delete i.staleTab,
          '?'.concat(
            Object.keys(i).map(
              (
                function (e) {
                  return ''.concat(e, '=').concat(encodeURIComponent(i[e]))
                }
              )
            ).join('&')
          )
        },
        d = function (e, t) {
          window.history.pushState({
          }, null, t + e)
        },
        p = function (e, t) {
          var n = new XMLHttpRequest;
          n.open(
            'GET',
            ''.concat(window.pgoAPIURLs['simple-pokemon-list']).concat(t, '/'),
            !0
          ),
          n.onload = function () {
            if (n.status >= 200 && n.status < 400) {
              var t = JSON.parse(n.responseText);
              e.setChoices(
                [{
                  value: t.value,
                  label: t.label,
                  selected: !0
                }
                ],
                'value',
                'label',
                !0
              )
            } else u()
          },
          n.onerror = function () {
            u()
          },
          n.send()
        },
        f = function (e, t, n, i) {
          var r = arguments.length > 4 &&
          void 0 !== arguments[4] ? arguments[4] : 'attacker',
          o = e.move;
          return new Option(
            'attacker' === r ? ''.concat(o.name, ' ').concat(e.legacy ? '*' : '', ' (').concat(o.power, ')') : o.name,
            o.id,
            !1,
            m(t, o, n, i)
          )
        },
        m = function (e, t, n, i) {
          return e > 0 &&
          e === t.id &&
          (i[n] = t.id, !0)
        },
        v = n(529),
        g = n.n(v);
        function _(e, t) {
          return function (e) {
            if (Array.isArray(e)) return e
          }(e) ||
          function (e, t) {
            var n = null == e ? null : 'undefined' != typeof Symbol &&
            e[Symbol.iterator] ||
            e['@@iterator'];
            if (null != n) {
              var i,
              r,
              o = [],
              s = !0,
              a = !1;
              try {
                for (
                  n = n.call(e);
                  !(s = (i = n.next()).done) &&
                  (o.push(i.value), !t || o.length !== t);
                  s = !0
                );
              } catch (e) {
                a = !0,
                r = e
              } finally {
                try {
                  s ||
                  null == n.return ||
                  n.return()
                } finally {
                  if (a) throw r
                }
              }
              return o
            }
          }(e, t) ||
          function (e, t) {
            if (e) {
              if ('string' == typeof e) return y(e, t);
              var n = Object.prototype.toString.call(e).slice(8, - 1);
              return 'Object' === n &&
              e.constructor &&
              (n = e.constructor.name),
              'Map' === n ||
              'Set' === n ? Array.from(e) : 'Arguments' === n ||
              /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? y(e, t) : void 0
            }
          }(e, t) ||
          function () {
            throw new TypeError(
              'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.'
            )
          }()
        }
        function y(e, t) {
          (null == t || t > e.length) &&
          (t = e.length);
          for (var n = 0, i = new Array(t); n < t; n++) i[n] = e[n];
          return i
        }
        o = function () {
          var e = 'submitting',
          t = 'ready',
          n = 'breakpoints',
          i = 'counters',
          r = new (g()) ('#select-attacker', a),
          o = document.getElementById('input-attacker-level'),
          l = document.getElementById('select-quick-move'),
          m = document.getElementById('select-cinematic-move'),
          v = document.getElementById('select-attacker-atk-iv'),
          y = new (g()) ('#select-defender', a),
          b = document.getElementById('select-defender-quick-move'),
          E = document.getElementById('select-defender-cinematic-move'),
          S = document.getElementById('select-weather-condition'),
          I = document.getElementById('select-friendship-boost'),
          O = document.getElementById('select-defender-tier'),
          T = document.querySelector('.results'),
          C = document.getElementById('toggle-cinematic-breakpoints'),
          L = document.getElementById('top-counter-sort-toggle'),
          w = document.getElementById('breakpoints'),
          A = document.getElementById('top-counters'),
          M = document.getElementById('breakpoints-table'),
          P = document.getElementById('top-counters-detail-table'),
          x = document.querySelector('.output-wrapper'),
          N = document.getElementById('faq-legend-content'),
          D = document.getElementById('faq-legend'),
          j = {
            attacker: r.value,
            attacker_level: o.value,
            attacker_quick_move: l.value,
            attacker_cinematic_move: m.value,
            attacker_atk_iv: v.value,
            weather_condition: S.value,
            friendship_boost: I.value,
            defender: y.value,
            defender_quick_move: b.value,
            defender_cinematic_move: E.value,
            defender_cpm: O.value,
            top_counter_order: 'rnk',
            tab: n,
            status: t,
            staleTab: !1
          };
          r.input.element.addEventListener('input', c.bind(null, r)),
          y.input.element.addEventListener('input', c.bind(null, y)),
          r.passedElement.element.addEventListener(
            'change',
            (
              function (e) {
                J('attacker'),
                H(e.currentTarget.value, 'attacker'),
                j.attacker = e.currentTarget.value,
                j.staleTab = !0,
                Y()
              }
            )
          ),
          o.addEventListener(
            'change',
            (
              function (e) {
                z(e.currentTarget, 'attacker_level'),
                j.staleTab = !0,
                Y().then((function () {
                  return o.focus()
                }))
              }
            )
          ),
          l.addEventListener(
            'change',
            (
              function (e) {
                j.attacker_quick_move = e.currentTarget.value,
                j.staleTab = !0,
                Y().then((function () {
                  return l.focus()
                }))
              }
            )
          ),
          m.addEventListener(
            'change',
            (
              function (e) {
                j.attacker_cinematic_move = e.currentTarget.value,
                j.staleTab = !0,
                Y().then((function () {
                  return m.focus()
                }))
              }
            )
          ),
          v.addEventListener(
            'change',
            (
              function (e) {
                j.attacker_atk_iv = e.currentTarget.value,
                j.staleTab = !0,
                Y().then((function () {
                  return v.focus()
                }))
              }
            )
          ),
          S.addEventListener(
            'change',
            (
              function (e) {
                j.weather_condition = e.currentTarget.value,
                j.staleTab = !0,
                Y().then((function () {
                  return S.focus()
                }))
              }
            )
          ),
          I.addEventListener(
            'change',
            (
              function (e) {
                j.friendship_boost = e.currentTarget.value,
                j.staleTab = !0,
                Y().then((function () {
                  return I.focus()
                }))
              }
            )
          ),
          y.passedElement.element.addEventListener(
            'change',
            (
              function (e) {
                J('defender'),
                H(e.currentTarget.value, 'defender'),
                j.defender = e.currentTarget.value,
                j.staleTab = !0,
                Y()
              }
            )
          ),
          b.addEventListener(
            'change',
            (
              function (e) {
                j.defender_quick_move = e.currentTarget.value,
                j.staleTab = !0,
                Y().then((function () {
                  return b.focus()
                }))
              }
            )
          ),
          E.addEventListener(
            'change',
            (
              function (e) {
                j.defender_cinematic_move = e.currentTarget.value,
                j.staleTab = !0,
                Y().then((function () {
                  return E.focus()
                }))
              }
            )
          ),
          O.addEventListener(
            'change',
            (
              function (e) {
                j.defender_cpm = e.currentTarget.value,
                J('defender'),
                H(j.defender, 'defender'),
                j.staleTab = !0,
                Y().then((function () {
                  return O.focus()
                }))
              }
            )
          ),
          C.addEventListener('click', (function (e) {
            j.staleTab = !0,
            X()
          })),
          L.addEventListener(
            'click',
            (
              function (e) {
                j.staleTab = !0,
                L.disabled ||
                (G(j.top_counter_order), Y())
              }
            )
          ),
          w.addEventListener('click', (function (e) {
            j.tab = n,
            R(j.tab),
            K(n)
          })),
          A.addEventListener(
            'click',
            (
              function (e) {
                j.tab = i,
                R(j.tab),
                K(i),
                j.staleTab &&
                (j.staleTab = !1, Y())
              }
            )
          ),
          D.addEventListener('click', (function (e) {
            N.hidden = !N.hidden
          }));
          var k,
          F,
          R = function (e) {
            e === n ? (
              M.hidden = !1,
              P.hidden = !0,
              w.classList.add('selected-tab'),
              A.classList.remove('selected-tab'),
              d(h(j), s)
            ) : e === i &&
            (
              M.hidden = !0,
              P.hidden = !1,
              A.classList.add('selected-tab'),
              w.classList.remove('selected-tab'),
              d(h(j), s)
            )
          },
          K = function (e) {
            e === i ? (r.disable(), l.disabled = !0, m.disabled = !0, x.hidden = !0) : (r.enable(), l.disabled = !1, m.disabled = !1, x.hidden = !1)
          },
          H = function (e, t) {
            if (e.length > 0) {
              var n = new XMLHttpRequest,
              i = 'defender' === t &&
              '0' !== O.value.slice( - 1);
              n.open(
                'GET',
                ''.concat(window.pgoAPIURLs['move-list'], '?pokemon-slug=').concat(e, '&exclude-legacy=').concat(i),
                !0
              ),
              n.onload = function () {
                if (n.status >= 200 && n.status < 400) {
                  var e = JSON.parse(n.responseText);
                  V(e, t)
                } else u()
              },
              n.onerror = function () {
                u()
              },
              n.send()
            } else u(),
            l.disabled = !0,
            m.disabled = !0,
            b.disabled = !0,
            E.disabled = !0,
            J('attacker'),
            J('defender')
          },
          B = function () {
            var t = j.status === e,
            n = 'breakpoints' === j.tab;
            t ? (r.disable(), y.disable()) : (n && r.enable(), y.enable()),
            o.disabled = t,
            v.disabled = t,
            b.disabled = t,
            E.disabled = t,
            S.disabled = t,
            I.disabled = t,
            O.disabled = t,
            C.disabled = t,
            L.disabled = t,
            w.disabled = t,
            A.disabled = t,
            l.disabled = t ||
            l.value < 0 ||
            !n,
            m.disabled = t ||
            m.value < 0 ||
            !n
          },
          Y = function () {
            if (j.status !== e) {
              for (var n in j) if (void 0 === j[n] || '-1' === j[n].toString()) return new Promise((function () {
                return !1
              }));
              return new Promise(
                (
                  function (n) {
                    if (j.status !== e) {
                      j.status = e,
                      B();
                      var r = new XMLHttpRequest,
                      o = h(j),
                      a = window.pgoAPIURLs['breakpoint-calc'] + o;
                      r.open('GET', a, !0),
                      r.onload = function () {
                        if (r.status >= 500) u();
                         else {
                          var e = JSON.parse(r.responseText);
                          r.status >= 200 &&
                          r.status < 400 ? (
                            x.innerHTML = e.attack_iv_assessment,
                            U(e),
                            $(e.top_counters),
                            d(o, s)
                          ) : u(),
                          j.status = t,
                          j.tab === i &&
                          (j.staleTab = !1, K(i)),
                          B(),
                          n()
                        }
                      },
                      r.onerror = function () {
                        u(),
                        n()
                      },
                      r.send()
                    }
                  }
                )
              )
            }
          },
          V = function (e, t) {
            var n = 'attacker' === t ? l : b,
            i = 'attacker' === t ? m : E,
            r = t + '_quick_move',
            o = t + '_cinematic_move',
            s = parseInt(j[r]),
            a = parseInt(j[o]);
            e.results.forEach(
              (
                function (e, c) {
                  'QK' === e.move.category ? (n.disabled = !1, n.options.add(f(e, s, r, j, t))) : (i.disabled = !1, i.options.add(f(e, a, o, j, t)))
                }
              )
            ),
            j[r] = n.value,
            j[o] = i.value,
            Y()
          },
          G = function (e) {
            j.top_counter_order = 'rnk' === e ? 'dps' : 'rnk',
            L.innerHTML = j.top_counter_order.toUpperCase()
          },
          q = function (e) {
            R(e.tab),
            p(r, e.attacker),
            p(y, e.defender),
            o.value = e.attacker_level,
            v.value = e.attacker_atk_iv,
            S.value = e.weather_condition,
            I.value = e.friendship_boost,
            O.value = e.defender_cpm,
            H(e.attacker, 'attacker'),
            H(e.defender, 'defender'),
            (j = e).staleTab = !0,
            j.status = t,
            j.top_counter_order = e.top_counter_order,
            G('dps' === e.top_counter_order ? 'rnk' : 'dps'),
            Y()
          };
          !j.attacker ||
          j.attacker_quick_move &&
          j.attacker_cinematic_move ? Object.keys(window.initialData).length > 0 &&
          q(window.initialData) : q(
            (
              k = location.search,
              F = {},
              k.substr(1).split('&').forEach((function (e) {
                F[e.split('=') [0]] = e.split('=') [1]
              })),
              F
            )
          );
          var U = function (e) {
            T.hidden = !1,
            e.breakpoint_details.length < 2 ? C.enabled = !1 : C.enabled = !0,
            W(e.breakpoint_details)
          },
          W = function (e) {
            var t = document.getElementById('breakpoint-details-table-body');
            t.innerHTML = '';
            for (var n = 0; n < e.length; n++) {
              for (var i = document.createElement('tr'), r = 0; r < e[n].length; r++) {
                var o = document.createElement('td');
                o.innerHTML = e[n][r],
                i.appendChild(o)
              }
              t.appendChild(i)
            }
          },
          $ = function (e) {
            document.getElementById('top-counters-table-attacker-stats').innerHTML = 'L'.concat(j.attacker_level, ' ').concat(j.attacker_atk_iv, 'ATK');
            var t,
            n,
            i,
            r = document.getElementById('top-counters-table-body');
            r.innerHTML = '';
            for (var o = 0, s = Object.entries(e); o < s.length; o++) for (
              var a = _(s[o], 2),
              c = a[0],
              l = a[1],
              u = function (e) {
                t = document.createElement('tr'),
                n = document.createElement('td'),
                (i = document.createElement('a')).href = ''.concat(l[0]),
                n.innerHTML = l[0],
                t.appendChild(n);
                for (var o = 0; o < l[1][e].length - 1; o++) (n = document.createElement('td')).innerHTML = l[1][e][o],
                o < l[1][e].length - 1 &&
                t.appendChild(n);
                var s = c.toLowerCase();
                if (e > 0) s = 'toggle_' + s + ' top-counter-subrow',
                t.hidden = !0,
                n.classList.add('top-counter-subrow-td');
                 else {
                  var a = document.createElement('span');
                  a.setAttribute('class', 'top-counter-arrow'),
                  (i = document.createElement('a')).onclick = function () {
                    for (
                      var e = document.getElementsByClassName('toggle_' + s),
                      t = 0;
                      t < e.length;
                      t++
                    ) e[t].hidden = !e[t].hidden
                  },
                  i.appendChild(a),
                  n.appendChild(i)
                }
                t.appendChild(n),
                t.setAttribute('class', s),
                r.appendChild(t)
              },
              h = 0;
              h < l[1].length;
              h++
            ) u(h)
          },
          X = function () {
            j.show_cinematic_breakpoints ? delete j.show_cinematic_breakpoints : j.show_cinematic_breakpoints = !0,
            Y()
          },
          J = function (t) {
            if (j.status !== e) {
              var n = 'attacker' === t ? l : b,
              i = 'attacker' === t ? m : E,
              r = t + '_quick_move',
              o = t + '_cinematic_move';
              n.innerHTML = '',
              n.append(
                '<option value="-1" disabled selected>Select quick move</option>'
              ),
              i.innerHTML = '',
              i.append(
                '<option value="-1" disabled selected>Select cinematic move</option>'
              ),
              j[r] = - 1,
              j[o] = - 1
            }
          },
          z = function (e, t) {
            var n = function (e) {
              var t = e.value.replace(',', '.'),
              n = parseFloat(t);
              return n < 0 &&
              (n *= - 1),
              n < 1 &&
              (n = 1),
              n > 41 &&
              (n = 41),
              n > 40 &&
              n % 2 != 0 &&
              (n = Math.floor(n)),
              10 * n % 5 != 0 &&
              (n = parseInt(n)),
              n
            }(e);
            isNaN(n) ? j[t] = '-1' : (e.value = n, j[t] = e.value)
          }
        },
        (
          document.attachEvent ? 'complete' === document.readyState : 'loading' !== document.readyState
        ) ? o() : document.addEventListener('DOMContentLoaded', o)
      }
    ) ()
  }
) ();
Guest

Guest