/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */ !(function (n) { 'function' == typeof define && define.amd ? define(['jquery'], n) : 'object' == typeof module && module.exports ? (module.exports = function (e, t) { return ( void 0 === t && (t = 'undefined' != typeof window ? require('jquery') : require('jquery')(e)), n(t), t ) }) : n(jQuery) })(function (u) { var e = (function () { if (u && u.fn && u.fn.select2 && u.fn.select2.amd) var e = u.fn.select2.amd var t, n, r, h, o, s, f, g, m, v, y, _, i, a, b function w(e, t) { return i.call(e, t) } function l(e, t) { var n, r, i, o, s, a, l, c, u, d, p, h = t && t.split('/'), f = y.map, g = (f && f['*']) || {} if (e) { for ( s = (e = e.split('/')).length - 1, y.nodeIdCompat && b.test(e[s]) && (e[s] = e[s].replace(b, '')), '.' === e[0].charAt(0) && h && (e = h.slice(0, h.length - 1).concat(e)), u = 0; u < e.length; u++ ) if ('.' === (p = e[u])) e.splice(u, 1), --u else if ('..' === p) { if (0 === u || (1 === u && '..' === e[2]) || '..' === e[u - 1]) continue 0 < u && (e.splice(u - 1, 2), (u -= 2)) } e = e.join('/') } if ((h || g) && f) { for (u = (n = e.split('/')).length; 0 < u; --u) { if (((r = n.slice(0, u).join('/')), h)) for (d = h.length; 0 < d; --d) if ((i = (i = f[h.slice(0, d).join('/')]) && i[r])) { ;(o = i), (a = u) break } if (o) break !l && g && g[r] && ((l = g[r]), (c = u)) } !o && l && ((o = l), (a = c)), o && (n.splice(0, a, o), (e = n.join('/'))) } return e } function A(t, n) { return function () { var e = a.call(arguments, 0) return ( 'string' != typeof e[0] && 1 === e.length && e.push(null), s.apply(h, e.concat([t, n])) ) } } function x(t) { return function (e) { m[t] = e } } function D(e) { if (w(v, e)) { var t = v[e] delete v[e], (_[e] = !0), o.apply(h, t) } if (!w(m, e) && !w(_, e)) throw new Error('No ' + e) return m[e] } function c(e) { var t, n = e ? e.indexOf('!') : -1 return ( -1 < n && ((t = e.substring(0, n)), (e = e.substring(n + 1, e.length))), [t, e] ) } function S(e) { return e ? c(e) : [] } return ( (e && e.requirejs) || (e ? (n = e) : (e = {}), (m = {}), (v = {}), (y = {}), (_ = {}), (i = Object.prototype.hasOwnProperty), (a = [].slice), (b = /\.js$/), (f = function (e, t) { var n, r, i = c(e), o = i[0], s = t[1] return ( (e = i[1]), o && (n = D((o = l(o, s)))), o ? (e = n && n.normalize ? n.normalize( e, ((r = s), function (e) { return l(e, r) }) ) : l(e, s)) : ((o = (i = c((e = l(e, s))))[0]), (e = i[1]), o && (n = D(o))), { f: o ? o + '!' + e : e, n: e, pr: o, p: n } ) }), (g = { require: function (e) { return A(e) }, exports: function (e) { var t = m[e] return void 0 !== t ? t : (m[e] = {}) }, module: function (e) { return { id: e, uri: '', exports: m[e], config: ((t = e), function () { return (y && y.config && y.config[t]) || {} }), } var t }, }), (o = function (e, t, n, r) { var i, o, s, a, l, c, u, d = [], p = typeof n if (((c = S((r = r || e))), 'undefined' == p || 'function' == p)) { for ( t = !t.length && n.length ? ['require', 'exports', 'module'] : t, l = 0; l < t.length; l += 1 ) if ('require' === (o = (a = f(t[l], c)).f)) d[l] = g.require(e) else if ('exports' === o) (d[l] = g.exports(e)), (u = !0) else if ('module' === o) i = d[l] = g.module(e) else if (w(m, o) || w(v, o) || w(_, o)) d[l] = D(o) else { if (!a.p) throw new Error(e + ' missing ' + o) a.p.load(a.n, A(r, !0), x(o), {}), (d[l] = m[o]) } ;(s = n ? n.apply(m[e], d) : void 0), e && (i && i.exports !== h && i.exports !== m[e] ? (m[e] = i.exports) : (s === h && u) || (m[e] = s)) } else e && (m[e] = n) }), (t = n = s = function (e, t, n, r, i) { if ('string' == typeof e) return g[e] ? g[e](t) : D(f(e, S(t)).f) if (!e.splice) { if (((y = e).deps && s(y.deps, y.callback), !t)) return t.splice ? ((e = t), (t = n), (n = null)) : (e = h) } return ( (t = t || function () {}), 'function' == typeof n && ((n = r), (r = i)), r ? o(h, e, t, n) : setTimeout(function () { o(h, e, t, n) }, 4), s ) }), (s.config = function (e) { return s(e) }), (t._defined = m), ((r = function (e, t, n) { if ('string' != typeof e) throw new Error( 'See almond README: incorrect module build, no module name' ) t.splice || ((n = t), (t = [])), w(m, e) || w(v, e) || (v[e] = [e, t, n]) }).amd = { jQuery: !0 }), (e.requirejs = t), (e.require = n), (e.define = r)), e.define('almond', function () {}), e.define('jquery', [], function () { var e = u || $ return ( null == e && console && console.error && console.error( 'Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page.' ), e ) }), e.define('select2/utils', ['jquery'], function (o) { var i = {} function u(e) { var t = e.prototype, n = [] for (var r in t) { 'function' == typeof t[r] && 'constructor' !== r && n.push(r) } return n } ;(i.Extend = function (e, t) { var n = {}.hasOwnProperty function r() { this.constructor = e } for (var i in t) n.call(t, i) && (e[i] = t[i]) return ( (r.prototype = t.prototype), (e.prototype = new r()), (e.__super__ = t.prototype), e ) }), (i.Decorate = function (r, i) { var e = u(i), t = u(r) function o() { var e = Array.prototype.unshift, t = i.prototype.constructor.length, n = r.prototype.constructor 0 < t && (e.call(arguments, r.prototype.constructor), (n = i.prototype.constructor)), n.apply(this, arguments) } ;(i.displayName = r.displayName), (o.prototype = new (function () { this.constructor = o })()) for (var n = 0; n < t.length; n++) { var s = t[n] o.prototype[s] = r.prototype[s] } function a(e) { var t = function () {} e in o.prototype && (t = o.prototype[e]) var n = i.prototype[e] return function () { return ( Array.prototype.unshift.call(arguments, t), n.apply(this, arguments) ) } } for (var l = 0; l < e.length; l++) { var c = e[l] o.prototype[c] = a(c) } return o }) function e() { this.listeners = {} } ;(e.prototype.on = function (e, t) { ;(this.listeners = this.listeners || {}), e in this.listeners ? this.listeners[e].push(t) : (this.listeners[e] = [t]) }), (e.prototype.trigger = function (e) { var t = Array.prototype.slice, n = t.call(arguments, 1) ;(this.listeners = this.listeners || {}), null == n && (n = []), 0 === n.length && n.push({}), (n[0]._type = e) in this.listeners && this.invoke(this.listeners[e], t.call(arguments, 1)), '*' in this.listeners && this.invoke(this.listeners['*'], arguments) }), (e.prototype.invoke = function (e, t) { for (var n = 0, r = e.length; n < r; n++) e[n].apply(this, t) }), (i.Observable = e), (i.generateChars = function (e) { for (var t = '', n = 0; n < e; n++) { t += Math.floor(36 * Math.random()).toString(36) } return t }), (i.bind = function (e, t) { return function () { e.apply(t, arguments) } }), (i._convertData = function (e) { for (var t in e) { var n = t.split('-'), r = e if (1 !== n.length) { for (var i = 0; i < n.length; i++) { var o = n[i] ;(o = o.substring(0, 1).toLowerCase() + o.substring(1)) in r || (r[o] = {}), i == n.length - 1 && (r[o] = e[t]), (r = r[o]) } delete e[t] } } return e }), (i.hasScroll = function (e, t) { var n = o(t), r = t.style.overflowX, i = t.style.overflowY return ( (r !== i || ('hidden' !== i && 'visible' !== i)) && ('scroll' === r || 'scroll' === i || n.innerHeight() < t.scrollHeight || n.innerWidth() < t.scrollWidth) ) }), (i.escapeMarkup = function (e) { var t = { '\\': '\', '&': '&', '<': '<', '>': '>', '"': '"', "'": ''', '/': '/', } return 'string' != typeof e ? e : String(e).replace(/[&<>"'\/\\]/g, function (e) { return t[e] }) }), (i.appendMany = function (e, t) { if ('1.7' === o.fn.jquery.substr(0, 3)) { var n = o() o.map(t, function (e) { n = n.add(e) }), (t = n) } e.append(t) }), (i.__cache = {}) var n = 0 return ( (i.GetUniqueElementId = function (e) { var t = e.getAttribute('data-select2-id') return ( null == t && (e.id ? ((t = e.id), e.setAttribute('data-select2-id', t)) : (e.setAttribute('data-select2-id', ++n), (t = n.toString()))), t ) }), (i.StoreData = function (e, t, n) { var r = i.GetUniqueElementId(e) i.__cache[r] || (i.__cache[r] = {}), (i.__cache[r][t] = n) }), (i.GetData = function (e, t) { var n = i.GetUniqueElementId(e) return t ? i.__cache[n] && null != i.__cache[n][t] ? i.__cache[n][t] : o(e).data(t) : i.__cache[n] }), (i.RemoveData = function (e) { var t = i.GetUniqueElementId(e) null != i.__cache[t] && delete i.__cache[t], e.removeAttribute('data-select2-id') }), i ) }), e.define('select2/results', ['jquery', './utils'], function (h, f) { function r(e, t, n) { ;(this.$element = e), (this.data = n), (this.options = t), r.__super__.constructor.call(this) } return ( f.Extend(r, f.Observable), (r.prototype.render = function () { var e = h( '' ) return ( this.options.get('multiple') && e.attr('aria-multiselectable', 'true'), (this.$results = e) ) }), (r.prototype.clear = function () { this.$results.empty() }), (r.prototype.displayMessage = function (e) { var t = this.options.get('escapeMarkup') this.clear(), this.hideLoading() var n = h( '' ), r = this.options.get('translations').get(e.message) n.append(t(r(e.args))), (n[0].className += ' select2-results__message'), this.$results.append(n) }), (r.prototype.hideMessages = function () { this.$results.find('.select2-results__message').remove() }), (r.prototype.append = function (e) { this.hideLoading() var t = [] if (null != e.results && 0 !== e.results.length) { e.results = this.sort(e.results) for (var n = 0; n < e.results.length; n++) { var r = e.results[n], i = this.option(r) t.push(i) } this.$results.append(t) } else 0 === this.$results.children().length && this.trigger('results:message', { message: 'noResults' }) }), (r.prototype.position = function (e, t) { t.find('.select2-results').append(e) }), (r.prototype.sort = function (e) { return this.options.get('sorter')(e) }), (r.prototype.highlightFirstItem = function () { var e = this.$results.find( '.select2-results__option[aria-selected]' ), t = e.filter('[aria-selected=true]') 0 < t.length ? t.first().trigger('mouseenter') : e.first().trigger('mouseenter'), this.ensureHighlightVisible() }), (r.prototype.setClasses = function () { var t = this this.data.current(function (e) { var r = h.map(e, function (e) { return e.id.toString() }) t.$results .find('.select2-results__option[aria-selected]') .each(function () { var e = h(this), t = f.GetData(this, 'data'), n = '' + t.id ;(null != t.element && t.element.selected) || (null == t.element && -1 < h.inArray(n, r)) ? e.attr('aria-selected', 'true') : e.attr('aria-selected', 'false') }) }) }), (r.prototype.showLoading = function (e) { this.hideLoading() var t = { disabled: !0, loading: !0, text: this.options.get('translations').get('searching')(e), }, n = this.option(t) ;(n.className += ' loading-results'), this.$results.prepend(n) }), (r.prototype.hideLoading = function () { this.$results.find('.loading-results').remove() }), (r.prototype.option = function (e) { var t = document.createElement('li') t.className = 'select2-results__option' var n = { role: 'option', 'aria-selected': 'false' }, r = window.Element.prototype.matches || window.Element.prototype.msMatchesSelector || window.Element.prototype.webkitMatchesSelector for (var i in (((null != e.element && r.call(e.element, ':disabled')) || (null == e.element && e.disabled)) && (delete n['aria-selected'], (n['aria-disabled'] = 'true')), null == e.id && delete n['aria-selected'], null != e._resultId && (t.id = e._resultId), e.title && (t.title = e.title), e.children && ((n.role = 'group'), (n['aria-label'] = e.text), delete n['aria-selected']), n)) { var o = n[i] t.setAttribute(i, o) } if (e.children) { var s = h(t), a = document.createElement('strong') a.className = 'select2-results__group' h(a) this.template(e, a) for (var l = [], c = 0; c < e.children.length; c++) { var u = e.children[c], d = this.option(u) l.push(d) } var p = h('', { class: 'select2-results__options select2-results__options--nested', }) p.append(l), s.append(a), s.append(p) } else this.template(e, t) return f.StoreData(t, 'data', e), t }), (r.prototype.bind = function (t, e) { var l = this, n = t.id + '-results' this.$results.attr('id', n), t.on('results:all', function (e) { l.clear(), l.append(e.data), t.isOpen() && (l.setClasses(), l.highlightFirstItem()) }), t.on('results:append', function (e) { l.append(e.data), t.isOpen() && l.setClasses() }), t.on('query', function (e) { l.hideMessages(), l.showLoading(e) }), t.on('select', function () { t.isOpen() && (l.setClasses(), l.options.get('scrollAfterSelect') && l.highlightFirstItem()) }), t.on('unselect', function () { t.isOpen() && (l.setClasses(), l.options.get('scrollAfterSelect') && l.highlightFirstItem()) }), t.on('open', function () { l.$results.attr('aria-expanded', 'true'), l.$results.attr('aria-hidden', 'false'), l.setClasses(), l.ensureHighlightVisible() }), t.on('close', function () { l.$results.attr('aria-expanded', 'false'), l.$results.attr('aria-hidden', 'true'), l.$results.removeAttr('aria-activedescendant') }), t.on('results:toggle', function () { var e = l.getHighlightedResults() 0 !== e.length && e.trigger('mouseup') }), t.on('results:select', function () { var e = l.getHighlightedResults() if (0 !== e.length) { var t = f.GetData(e[0], 'data') 'true' == e.attr('aria-selected') ? l.trigger('close', {}) : l.trigger('select', { data: t }) } }), t.on('results:previous', function () { var e = l.getHighlightedResults(), t = l.$results.find('[aria-selected]'), n = t.index(e) if (!(n <= 0)) { var r = n - 1 0 === e.length && (r = 0) var i = t.eq(r) i.trigger('mouseenter') var o = l.$results.offset().top, s = i.offset().top, a = l.$results.scrollTop() + (s - o) 0 === r ? l.$results.scrollTop(0) : s - o < 0 && l.$results.scrollTop(a) } }), t.on('results:next', function () { var e = l.getHighlightedResults(), t = l.$results.find('[aria-selected]'), n = t.index(e) + 1 if (!(n >= t.length)) { var r = t.eq(n) r.trigger('mouseenter') var i = l.$results.offset().top + l.$results.outerHeight(!1), o = r.offset().top + r.outerHeight(!1), s = l.$results.scrollTop() + o - i 0 === n ? l.$results.scrollTop(0) : i < o && l.$results.scrollTop(s) } }), t.on('results:focus', function (e) { e.element.addClass('select2-results__option--highlighted') }), t.on('results:message', function (e) { l.displayMessage(e) }), h.fn.mousewheel && this.$results.on('mousewheel', function (e) { var t = l.$results.scrollTop(), n = l.$results.get(0).scrollHeight - t + e.deltaY, r = 0 < e.deltaY && t - e.deltaY <= 0, i = e.deltaY < 0 && n <= l.$results.height() r ? (l.$results.scrollTop(0), e.preventDefault(), e.stopPropagation()) : i && (l.$results.scrollTop( l.$results.get(0).scrollHeight - l.$results.height() ), e.preventDefault(), e.stopPropagation()) }), this.$results.on( 'mouseup', '.select2-results__option[aria-selected]', function (e) { var t = h(this), n = f.GetData(this, 'data') 'true' !== t.attr('aria-selected') ? l.trigger('select', { originalEvent: e, data: n }) : l.options.get('multiple') ? l.trigger('unselect', { originalEvent: e, data: n }) : l.trigger('close', {}) } ), this.$results.on( 'mouseenter', '.select2-results__option[aria-selected]', function (e) { var t = f.GetData(this, 'data') l .getHighlightedResults() .removeClass('select2-results__option--highlighted'), l.trigger('results:focus', { data: t, element: h(this) }) } ) }), (r.prototype.getHighlightedResults = function () { return this.$results.find('.select2-results__option--highlighted') }), (r.prototype.destroy = function () { this.$results.remove() }), (r.prototype.ensureHighlightVisible = function () { var e = this.getHighlightedResults() if (0 !== e.length) { var t = this.$results.find('[aria-selected]').index(e), n = this.$results.offset().top, r = e.offset().top, i = this.$results.scrollTop() + (r - n), o = r - n ;(i -= 2 * e.outerHeight(!1)), t <= 2 ? this.$results.scrollTop(0) : (o > this.$results.outerHeight() || o < 0) && this.$results.scrollTop(i) } }), (r.prototype.template = function (e, t) { var n = this.options.get('templateResult'), r = this.options.get('escapeMarkup'), i = n(e, t) null == i ? (t.style.display = 'none') : 'string' == typeof i ? (t.innerHTML = r(i)) : h(t).append(i) }), r ) }), e.define('select2/keys', [], function () { return { BACKSPACE: 8, TAB: 9, ENTER: 13, SHIFT: 16, CTRL: 17, ALT: 18, ESC: 27, SPACE: 32, PAGE_UP: 33, PAGE_DOWN: 34, END: 35, HOME: 36, LEFT: 37, UP: 38, RIGHT: 39, DOWN: 40, DELETE: 46, } }), e.define( 'select2/selection/base', ['jquery', '../utils', '../keys'], function (n, r, i) { function o(e, t) { ;(this.$element = e), (this.options = t), o.__super__.constructor.call(this) } return ( r.Extend(o, r.Observable), (o.prototype.render = function () { var e = n( '' ) return ( (this._tabindex = 0), null != r.GetData(this.$element[0], 'old-tabindex') ? (this._tabindex = r.GetData( this.$element[0], 'old-tabindex' )) : null != this.$element.attr('tabindex') && (this._tabindex = this.$element.attr('tabindex')), e.attr('title', this.$element.attr('title')), e.attr('tabindex', this._tabindex), e.attr('aria-disabled', 'false'), (this.$selection = e) ) }), (o.prototype.bind = function (e, t) { var n = this, r = e.id + '-results' ;(this.container = e), this.$selection.on('focus', function (e) { n.trigger('focus', e) }), this.$selection.on('blur', function (e) { n._handleBlur(e) }), this.$selection.on('keydown', function (e) { n.trigger('keypress', e), e.which === i.SPACE && e.preventDefault() }), e.on('results:focus', function (e) { n.$selection.attr('aria-activedescendant', e.data._resultId) }), e.on('selection:update', function (e) { n.update(e.data) }), e.on('open', function () { n.$selection.attr('aria-expanded', 'true'), n.$selection.attr('aria-owns', r), n._attachCloseHandler(e) }), e.on('close', function () { n.$selection.attr('aria-expanded', 'false'), n.$selection.removeAttr('aria-activedescendant'), n.$selection.removeAttr('aria-owns'), n.$selection.trigger('focus'), n._detachCloseHandler(e) }), e.on('enable', function () { n.$selection.attr('tabindex', n._tabindex), n.$selection.attr('aria-disabled', 'false') }), e.on('disable', function () { n.$selection.attr('tabindex', '-1'), n.$selection.attr('aria-disabled', 'true') }) }), (o.prototype._handleBlur = function (e) { var t = this window.setTimeout(function () { document.activeElement == t.$selection[0] || n.contains(t.$selection[0], document.activeElement) || t.trigger('blur', e) }, 1) }), (o.prototype._attachCloseHandler = function (e) { n(document.body).on('mousedown.select2.' + e.id, function (e) { var t = n(e.target).closest('.select2') n('.select2.select2-container--open').each(function () { this != t[0] && r.GetData(this, 'element').select2('close') }) }) }), (o.prototype._detachCloseHandler = function (e) { n(document.body).off('mousedown.select2.' + e.id) }), (o.prototype.position = function (e, t) { t.find('.selection').append(e) }), (o.prototype.destroy = function () { this._detachCloseHandler(this.container) }), (o.prototype.update = function (e) { throw new Error( 'The `update` method must be defined in child classes.' ) }), (o.prototype.isEnabled = function () { return !this.isDisabled() }), (o.prototype.isDisabled = function () { return this.options.get('disabled') }), o ) } ), e.define( 'select2/selection/single', ['jquery', './base', '../utils', '../keys'], function (e, t, n, r) { function i() { i.__super__.constructor.apply(this, arguments) } return ( n.Extend(i, t), (i.prototype.render = function () { var e = i.__super__.render.call(this) return ( e.addClass('select2-selection--single'), e.html( '' ), e ) }), (i.prototype.bind = function (t, e) { var n = this i.__super__.bind.apply(this, arguments) var r = t.id + '-container' this.$selection .find('.select2-selection__rendered') .attr('id', r) .attr('role', 'textbox') .attr('aria-readonly', 'true'), this.$selection.attr('aria-labelledby', r), this.$selection.on('mousedown', function (e) { 1 === e.which && n.trigger('toggle', { originalEvent: e }) }), this.$selection.on('focus', function (e) {}), this.$selection.on('blur', function (e) {}), t.on('focus', function (e) { t.isOpen() || n.$selection.trigger('focus') }) }), (i.prototype.clear = function () { var e = this.$selection.find('.select2-selection__rendered') e.empty(), e.removeAttr('title') }), (i.prototype.display = function (e, t) { var n = this.options.get('templateSelection') return this.options.get('escapeMarkup')(n(e, t)) }), (i.prototype.selectionContainer = function () { return e('') }), (i.prototype.update = function (e) { if (0 !== e.length) { var t = e[0], n = this.$selection.find('.select2-selection__rendered'), r = this.display(t, n) n.empty().append(r) var i = t.title || t.text i ? n.attr('title', i) : n.removeAttr('title') } else this.clear() }), i ) } ), e.define( 'select2/selection/multiple', ['jquery', './base', '../utils'], function (i, e, l) { function n(e, t) { n.__super__.constructor.apply(this, arguments) } return ( l.Extend(n, e), (n.prototype.render = function () { var e = n.__super__.render.call(this) return ( e.addClass('select2-selection--multiple'), e.html(''), e ) }), (n.prototype.bind = function (e, t) { var r = this n.__super__.bind.apply(this, arguments), this.$selection.on('click', function (e) { r.trigger('toggle', { originalEvent: e }) }), this.$selection.on( 'click', '.select2-selection__choice__remove', function (e) { if (!r.isDisabled()) { var t = i(this).parent(), n = l.GetData(t[0], 'data') r.trigger('unselect', { originalEvent: e, data: n }) } } ) }), (n.prototype.clear = function () { var e = this.$selection.find('.select2-selection__rendered') e.empty(), e.removeAttr('title') }), (n.prototype.display = function (e, t) { var n = this.options.get('templateSelection') return this.options.get('escapeMarkup')(n(e, t)) }), (n.prototype.selectionContainer = function () { return i( '
  • ×
  • ' ) }), (n.prototype.update = function (e) { if ((this.clear(), 0 !== e.length)) { for (var t = [], n = 0; n < e.length; n++) { var r = e[n], i = this.selectionContainer(), o = this.display(r, i) i.append(o) var s = r.title || r.text s && i.attr('title', s), l.StoreData(i[0], 'data', r), t.push(i) } var a = this.$selection.find('.select2-selection__rendered') l.appendMany(a, t) } }), n ) } ), e.define('select2/selection/placeholder', ['../utils'], function (e) { function t(e, t, n) { ;(this.placeholder = this.normalizePlaceholder( n.get('placeholder') )), e.call(this, t, n) } return ( (t.prototype.normalizePlaceholder = function (e, t) { return 'string' == typeof t && (t = { id: '', text: t }), t }), (t.prototype.createPlaceholder = function (e, t) { var n = this.selectionContainer() return ( n.html(this.display(t)), n .addClass('select2-selection__placeholder') .removeClass('select2-selection__choice'), n ) }), (t.prototype.update = function (e, t) { var n = 1 == t.length && t[0].id != this.placeholder.id if (1 < t.length || n) return e.call(this, t) this.clear() var r = this.createPlaceholder(this.placeholder) this.$selection.find('.select2-selection__rendered').append(r) }), t ) }), e.define( 'select2/selection/allowClear', ['jquery', '../keys', '../utils'], function (i, r, a) { function e() {} return ( (e.prototype.bind = function (e, t, n) { var r = this e.call(this, t, n), null == this.placeholder && this.options.get('debug') && window.console && console.error && console.error( 'Select2: The `allowClear` option should be used in combination with the `placeholder` option.' ), this.$selection.on( 'mousedown', '.select2-selection__clear', function (e) { r._handleClear(e) } ), t.on('keypress', function (e) { r._handleKeyboardClear(e, t) }) }), (e.prototype._handleClear = function (e, t) { if (!this.isDisabled()) { var n = this.$selection.find('.select2-selection__clear') if (0 !== n.length) { t.stopPropagation() var r = a.GetData(n[0], 'data'), i = this.$element.val() this.$element.val(this.placeholder.id) var o = { data: r } if ((this.trigger('clear', o), o.prevented)) this.$element.val(i) else { for (var s = 0; s < r.length; s++) if ( ((o = { data: r[s] }), this.trigger('unselect', o), o.prevented) ) return void this.$element.val(i) this.$element.trigger('input').trigger('change'), this.trigger('toggle', {}) } } } }), (e.prototype._handleKeyboardClear = function (e, t, n) { n.isOpen() || (t.which != r.DELETE && t.which != r.BACKSPACE) || this._handleClear(t) }), (e.prototype.update = function (e, t) { if ( (e.call(this, t), !( 0 < this.$selection.find('.select2-selection__placeholder') .length || 0 === t.length )) ) { var n = this.options .get('translations') .get('removeAllItems'), r = i( '×' ) a.StoreData(r[0], 'data', t), this.$selection .find('.select2-selection__rendered') .prepend(r) } }), e ) } ), e.define( 'select2/selection/search', ['jquery', '../utils', '../keys'], function (r, a, l) { function e(e, t, n) { e.call(this, t, n) } return ( (e.prototype.render = function (e) { var t = r( '' ) ;(this.$searchContainer = t), (this.$search = t.find('input')) var n = e.call(this) return this._transferTabIndex(), n }), (e.prototype.bind = function (e, t, n) { var r = this, i = t.id + '-results' e.call(this, t, n), t.on('open', function () { r.$search.attr('aria-controls', i), r.$search.trigger('focus') }), t.on('close', function () { r.$search.val(''), r.$search.removeAttr('aria-controls'), r.$search.removeAttr('aria-activedescendant'), r.$search.trigger('focus') }), t.on('enable', function () { r.$search.prop('disabled', !1), r._transferTabIndex() }), t.on('disable', function () { r.$search.prop('disabled', !0) }), t.on('focus', function (e) { r.$search.trigger('focus') }), t.on('results:focus', function (e) { e.data._resultId ? r.$search.attr( 'aria-activedescendant', e.data._resultId ) : r.$search.removeAttr('aria-activedescendant') }), this.$selection.on( 'focusin', '.select2-search--inline', function (e) { r.trigger('focus', e) } ), this.$selection.on( 'focusout', '.select2-search--inline', function (e) { r._handleBlur(e) } ), this.$selection.on( 'keydown', '.select2-search--inline', function (e) { if ( (e.stopPropagation(), r.trigger('keypress', e), (r._keyUpPrevented = e.isDefaultPrevented()), e.which === l.BACKSPACE && '' === r.$search.val()) ) { var t = r.$searchContainer.prev( '.select2-selection__choice' ) if (0 < t.length) { var n = a.GetData(t[0], 'data') r.searchRemoveChoice(n), e.preventDefault() } } } ), this.$selection.on( 'click', '.select2-search--inline', function (e) { r.$search.val() && e.stopPropagation() } ) var o = document.documentMode, s = o && o <= 11 this.$selection.on( 'input.searchcheck', '.select2-search--inline', function (e) { s ? r.$selection.off('input.search input.searchcheck') : r.$selection.off('keyup.search') } ), this.$selection.on( 'keyup.search input.search', '.select2-search--inline', function (e) { if (s && 'input' === e.type) r.$selection.off('input.search input.searchcheck') else { var t = e.which t != l.SHIFT && t != l.CTRL && t != l.ALT && t != l.TAB && r.handleSearch(e) } } ) }), (e.prototype._transferTabIndex = function (e) { this.$search.attr('tabindex', this.$selection.attr('tabindex')), this.$selection.attr('tabindex', '-1') }), (e.prototype.createPlaceholder = function (e, t) { this.$search.attr('placeholder', t.text) }), (e.prototype.update = function (e, t) { var n = this.$search[0] == document.activeElement this.$search.attr('placeholder', ''), e.call(this, t), this.$selection .find('.select2-selection__rendered') .append(this.$searchContainer), this.resizeSearch(), n && this.$search.trigger('focus') }), (e.prototype.handleSearch = function () { if ((this.resizeSearch(), !this._keyUpPrevented)) { var e = this.$search.val() this.trigger('query', { term: e }) } this._keyUpPrevented = !1 }), (e.prototype.searchRemoveChoice = function (e, t) { this.trigger('unselect', { data: t }), this.$search.val(t.text), this.handleSearch() }), (e.prototype.resizeSearch = function () { this.$search.css('width', '25px') var e = '' '' !== this.$search.attr('placeholder') ? (e = this.$selection .find('.select2-selection__rendered') .width()) : (e = 0.75 * (this.$search.val().length + 1) + 'em') this.$search.css('width', e) }), e ) } ), e.define('select2/selection/eventRelay', ['jquery'], function (s) { function e() {} return ( (e.prototype.bind = function (e, t, n) { var r = this, i = [ 'open', 'opening', 'close', 'closing', 'select', 'selecting', 'unselect', 'unselecting', 'clear', 'clearing', ], o = [ 'opening', 'closing', 'selecting', 'unselecting', 'clearing', ] e.call(this, t, n), t.on('*', function (e, t) { if (-1 !== s.inArray(e, i)) { t = t || {} var n = s.Event('select2:' + e, { params: t }) r.$element.trigger(n), -1 !== s.inArray(e, o) && (t.prevented = n.isDefaultPrevented()) } }) }), e ) }), e.define('select2/translation', ['jquery', 'require'], function (t, n) { function r(e) { this.dict = e || {} } return ( (r.prototype.all = function () { return this.dict }), (r.prototype.get = function (e) { return this.dict[e] }), (r.prototype.extend = function (e) { this.dict = t.extend({}, e.all(), this.dict) }), (r._cache = {}), (r.loadPath = function (e) { if (!(e in r._cache)) { var t = n(e) r._cache[e] = t } return new r(r._cache[e]) }), r ) }), e.define('select2/diacritics', [], function () { return { 'Ⓐ': 'A', A: 'A', À: 'A', Á: 'A', Â: 'A', Ầ: 'A', Ấ: 'A', Ẫ: 'A', Ẩ: 'A', Ã: 'A', Ā: 'A', Ă: 'A', Ằ: 'A', Ắ: 'A', Ẵ: 'A', Ẳ: 'A', Ȧ: 'A', Ǡ: 'A', Ä: 'A', Ǟ: 'A', Ả: 'A', Å: 'A', Ǻ: 'A', Ǎ: 'A', Ȁ: 'A', Ȃ: 'A', Ạ: 'A', Ậ: 'A', Ặ: 'A', Ḁ: 'A', Ą: 'A', Ⱥ: 'A', Ɐ: 'A', Ꜳ: 'AA', Æ: 'AE', Ǽ: 'AE', Ǣ: 'AE', Ꜵ: 'AO', Ꜷ: 'AU', Ꜹ: 'AV', Ꜻ: 'AV', Ꜽ: 'AY', 'Ⓑ': 'B', B: 'B', Ḃ: 'B', Ḅ: 'B', Ḇ: 'B', Ƀ: 'B', Ƃ: 'B', Ɓ: 'B', 'Ⓒ': 'C', C: 'C', Ć: 'C', Ĉ: 'C', Ċ: 'C', Č: 'C', Ç: 'C', Ḉ: 'C', Ƈ: 'C', Ȼ: 'C', Ꜿ: 'C', 'Ⓓ': 'D', D: 'D', Ḋ: 'D', Ď: 'D', Ḍ: 'D', Ḑ: 'D', Ḓ: 'D', Ḏ: 'D', Đ: 'D', Ƌ: 'D', Ɗ: 'D', Ɖ: 'D', Ꝺ: 'D', DZ: 'DZ', DŽ: 'DZ', Dz: 'Dz', Dž: 'Dz', 'Ⓔ': 'E', E: 'E', È: 'E', É: 'E', Ê: 'E', Ề: 'E', Ế: 'E', Ễ: 'E', Ể: 'E', Ẽ: 'E', Ē: 'E', Ḕ: 'E', Ḗ: 'E', Ĕ: 'E', Ė: 'E', Ë: 'E', Ẻ: 'E', Ě: 'E', Ȅ: 'E', Ȇ: 'E', Ẹ: 'E', Ệ: 'E', Ȩ: 'E', Ḝ: 'E', Ę: 'E', Ḙ: 'E', Ḛ: 'E', Ɛ: 'E', Ǝ: 'E', 'Ⓕ': 'F', F: 'F', Ḟ: 'F', Ƒ: 'F', Ꝼ: 'F', 'Ⓖ': 'G', G: 'G', Ǵ: 'G', Ĝ: 'G', Ḡ: 'G', Ğ: 'G', Ġ: 'G', Ǧ: 'G', Ģ: 'G', Ǥ: 'G', Ɠ: 'G', Ꞡ: 'G', Ᵹ: 'G', Ꝿ: 'G', 'Ⓗ': 'H', H: 'H', Ĥ: 'H', Ḣ: 'H', Ḧ: 'H', Ȟ: 'H', Ḥ: 'H', Ḩ: 'H', Ḫ: 'H', Ħ: 'H', Ⱨ: 'H', Ⱶ: 'H', Ɥ: 'H', 'Ⓘ': 'I', I: 'I', Ì: 'I', Í: 'I', Î: 'I', Ĩ: 'I', Ī: 'I', Ĭ: 'I', İ: 'I', Ï: 'I', Ḯ: 'I', Ỉ: 'I', Ǐ: 'I', Ȉ: 'I', Ȋ: 'I', Ị: 'I', Į: 'I', Ḭ: 'I', Ɨ: 'I', 'Ⓙ': 'J', J: 'J', Ĵ: 'J', Ɉ: 'J', 'Ⓚ': 'K', K: 'K', Ḱ: 'K', Ǩ: 'K', Ḳ: 'K', Ķ: 'K', Ḵ: 'K', Ƙ: 'K', Ⱪ: 'K', Ꝁ: 'K', Ꝃ: 'K', Ꝅ: 'K', Ꞣ: 'K', 'Ⓛ': 'L', L: 'L', Ŀ: 'L', Ĺ: 'L', Ľ: 'L', Ḷ: 'L', Ḹ: 'L', Ļ: 'L', Ḽ: 'L', Ḻ: 'L', Ł: 'L', Ƚ: 'L', Ɫ: 'L', Ⱡ: 'L', Ꝉ: 'L', Ꝇ: 'L', Ꞁ: 'L', LJ: 'LJ', Lj: 'Lj', 'Ⓜ': 'M', M: 'M', Ḿ: 'M', Ṁ: 'M', Ṃ: 'M', Ɱ: 'M', Ɯ: 'M', 'Ⓝ': 'N', N: 'N', Ǹ: 'N', Ń: 'N', Ñ: 'N', Ṅ: 'N', Ň: 'N', Ṇ: 'N', Ņ: 'N', Ṋ: 'N', Ṉ: 'N', Ƞ: 'N', Ɲ: 'N', Ꞑ: 'N', Ꞥ: 'N', NJ: 'NJ', Nj: 'Nj', 'Ⓞ': 'O', O: 'O', Ò: 'O', Ó: 'O', Ô: 'O', Ồ: 'O', Ố: 'O', Ỗ: 'O', Ổ: 'O', Õ: 'O', Ṍ: 'O', Ȭ: 'O', Ṏ: 'O', Ō: 'O', Ṑ: 'O', Ṓ: 'O', Ŏ: 'O', Ȯ: 'O', Ȱ: 'O', Ö: 'O', Ȫ: 'O', Ỏ: 'O', Ő: 'O', Ǒ: 'O', Ȍ: 'O', Ȏ: 'O', Ơ: 'O', Ờ: 'O', Ớ: 'O', Ỡ: 'O', Ở: 'O', Ợ: 'O', Ọ: 'O', Ộ: 'O', Ǫ: 'O', Ǭ: 'O', Ø: 'O', Ǿ: 'O', Ɔ: 'O', Ɵ: 'O', Ꝋ: 'O', Ꝍ: 'O', Œ: 'OE', Ƣ: 'OI', Ꝏ: 'OO', Ȣ: 'OU', 'Ⓟ': 'P', P: 'P', Ṕ: 'P', Ṗ: 'P', Ƥ: 'P', Ᵽ: 'P', Ꝑ: 'P', Ꝓ: 'P', Ꝕ: 'P', 'Ⓠ': 'Q', Q: 'Q', Ꝗ: 'Q', Ꝙ: 'Q', Ɋ: 'Q', 'Ⓡ': 'R', R: 'R', Ŕ: 'R', Ṙ: 'R', Ř: 'R', Ȑ: 'R', Ȓ: 'R', Ṛ: 'R', Ṝ: 'R', Ŗ: 'R', Ṟ: 'R', Ɍ: 'R', Ɽ: 'R', Ꝛ: 'R', Ꞧ: 'R', Ꞃ: 'R', 'Ⓢ': 'S', S: 'S', ẞ: 'S', Ś: 'S', Ṥ: 'S', Ŝ: 'S', Ṡ: 'S', Š: 'S', Ṧ: 'S', Ṣ: 'S', Ṩ: 'S', Ș: 'S', Ş: 'S', Ȿ: 'S', Ꞩ: 'S', Ꞅ: 'S', 'Ⓣ': 'T', T: 'T', Ṫ: 'T', Ť: 'T', Ṭ: 'T', Ț: 'T', Ţ: 'T', Ṱ: 'T', Ṯ: 'T', Ŧ: 'T', Ƭ: 'T', Ʈ: 'T', Ⱦ: 'T', Ꞇ: 'T', Ꜩ: 'TZ', 'Ⓤ': 'U', U: 'U', Ù: 'U', Ú: 'U', Û: 'U', Ũ: 'U', Ṹ: 'U', Ū: 'U', Ṻ: 'U', Ŭ: 'U', Ü: 'U', Ǜ: 'U', Ǘ: 'U', Ǖ: 'U', Ǚ: 'U', Ủ: 'U', Ů: 'U', Ű: 'U', Ǔ: 'U', Ȕ: 'U', Ȗ: 'U', Ư: 'U', Ừ: 'U', Ứ: 'U', Ữ: 'U', Ử: 'U', Ự: 'U', Ụ: 'U', Ṳ: 'U', Ų: 'U', Ṷ: 'U', Ṵ: 'U', Ʉ: 'U', 'Ⓥ': 'V', V: 'V', Ṽ: 'V', Ṿ: 'V', Ʋ: 'V', Ꝟ: 'V', Ʌ: 'V', Ꝡ: 'VY', 'Ⓦ': 'W', W: 'W', Ẁ: 'W', Ẃ: 'W', Ŵ: 'W', Ẇ: 'W', Ẅ: 'W', Ẉ: 'W', Ⱳ: 'W', 'Ⓧ': 'X', X: 'X', Ẋ: 'X', Ẍ: 'X', 'Ⓨ': 'Y', Y: 'Y', Ỳ: 'Y', Ý: 'Y', Ŷ: 'Y', Ỹ: 'Y', Ȳ: 'Y', Ẏ: 'Y', Ÿ: 'Y', Ỷ: 'Y', Ỵ: 'Y', Ƴ: 'Y', Ɏ: 'Y', Ỿ: 'Y', 'Ⓩ': 'Z', Z: 'Z', Ź: 'Z', Ẑ: 'Z', Ż: 'Z', Ž: 'Z', Ẓ: 'Z', Ẕ: 'Z', Ƶ: 'Z', Ȥ: 'Z', Ɀ: 'Z', Ⱬ: 'Z', Ꝣ: 'Z', 'ⓐ': 'a', a: 'a', ẚ: 'a', à: 'a', á: 'a', â: 'a', ầ: 'a', ấ: 'a', ẫ: 'a', ẩ: 'a', ã: 'a', ā: 'a', ă: 'a', ằ: 'a', ắ: 'a', ẵ: 'a', ẳ: 'a', ȧ: 'a', ǡ: 'a', ä: 'a', ǟ: 'a', ả: 'a', å: 'a', ǻ: 'a', ǎ: 'a', ȁ: 'a', ȃ: 'a', ạ: 'a', ậ: 'a', ặ: 'a', ḁ: 'a', ą: 'a', ⱥ: 'a', ɐ: 'a', ꜳ: 'aa', æ: 'ae', ǽ: 'ae', ǣ: 'ae', ꜵ: 'ao', ꜷ: 'au', ꜹ: 'av', ꜻ: 'av', ꜽ: 'ay', 'ⓑ': 'b', b: 'b', ḃ: 'b', ḅ: 'b', ḇ: 'b', ƀ: 'b', ƃ: 'b', ɓ: 'b', 'ⓒ': 'c', c: 'c', ć: 'c', ĉ: 'c', ċ: 'c', č: 'c', ç: 'c', ḉ: 'c', ƈ: 'c', ȼ: 'c', ꜿ: 'c', ↄ: 'c', 'ⓓ': 'd', d: 'd', ḋ: 'd', ď: 'd', ḍ: 'd', ḑ: 'd', ḓ: 'd', ḏ: 'd', đ: 'd', ƌ: 'd', ɖ: 'd', ɗ: 'd', ꝺ: 'd', dz: 'dz', dž: 'dz', 'ⓔ': 'e', e: 'e', è: 'e', é: 'e', ê: 'e', ề: 'e', ế: 'e', ễ: 'e', ể: 'e', ẽ: 'e', ē: 'e', ḕ: 'e', ḗ: 'e', ĕ: 'e', ė: 'e', ë: 'e', ẻ: 'e', ě: 'e', ȅ: 'e', ȇ: 'e', ẹ: 'e', ệ: 'e', ȩ: 'e', ḝ: 'e', ę: 'e', ḙ: 'e', ḛ: 'e', ɇ: 'e', ɛ: 'e', ǝ: 'e', 'ⓕ': 'f', f: 'f', ḟ: 'f', ƒ: 'f', ꝼ: 'f', 'ⓖ': 'g', g: 'g', ǵ: 'g', ĝ: 'g', ḡ: 'g', ğ: 'g', ġ: 'g', ǧ: 'g', ģ: 'g', ǥ: 'g', ɠ: 'g', ꞡ: 'g', ᵹ: 'g', ꝿ: 'g', 'ⓗ': 'h', h: 'h', ĥ: 'h', ḣ: 'h', ḧ: 'h', ȟ: 'h', ḥ: 'h', ḩ: 'h', ḫ: 'h', ẖ: 'h', ħ: 'h', ⱨ: 'h', ⱶ: 'h', ɥ: 'h', ƕ: 'hv', 'ⓘ': 'i', i: 'i', ì: 'i', í: 'i', î: 'i', ĩ: 'i', ī: 'i', ĭ: 'i', ï: 'i', ḯ: 'i', ỉ: 'i', ǐ: 'i', ȉ: 'i', ȋ: 'i', ị: 'i', į: 'i', ḭ: 'i', ɨ: 'i', ı: 'i', 'ⓙ': 'j', j: 'j', ĵ: 'j', ǰ: 'j', ɉ: 'j', 'ⓚ': 'k', k: 'k', ḱ: 'k', ǩ: 'k', ḳ: 'k', ķ: 'k', ḵ: 'k', ƙ: 'k', ⱪ: 'k', ꝁ: 'k', ꝃ: 'k', ꝅ: 'k', ꞣ: 'k', 'ⓛ': 'l', l: 'l', ŀ: 'l', ĺ: 'l', ľ: 'l', ḷ: 'l', ḹ: 'l', ļ: 'l', ḽ: 'l', ḻ: 'l', ſ: 'l', ł: 'l', ƚ: 'l', ɫ: 'l', ⱡ: 'l', ꝉ: 'l', ꞁ: 'l', ꝇ: 'l', lj: 'lj', 'ⓜ': 'm', m: 'm', ḿ: 'm', ṁ: 'm', ṃ: 'm', ɱ: 'm', ɯ: 'm', 'ⓝ': 'n', n: 'n', ǹ: 'n', ń: 'n', ñ: 'n', ṅ: 'n', ň: 'n', ṇ: 'n', ņ: 'n', ṋ: 'n', ṉ: 'n', ƞ: 'n', ɲ: 'n', ʼn: 'n', ꞑ: 'n', ꞥ: 'n', nj: 'nj', 'ⓞ': 'o', o: 'o', ò: 'o', ó: 'o', ô: 'o', ồ: 'o', ố: 'o', ỗ: 'o', ổ: 'o', õ: 'o', ṍ: 'o', ȭ: 'o', ṏ: 'o', ō: 'o', ṑ: 'o', ṓ: 'o', ŏ: 'o', ȯ: 'o', ȱ: 'o', ö: 'o', ȫ: 'o', ỏ: 'o', ő: 'o', ǒ: 'o', ȍ: 'o', ȏ: 'o', ơ: 'o', ờ: 'o', ớ: 'o', ỡ: 'o', ở: 'o', ợ: 'o', ọ: 'o', ộ: 'o', ǫ: 'o', ǭ: 'o', ø: 'o', ǿ: 'o', ɔ: 'o', ꝋ: 'o', ꝍ: 'o', ɵ: 'o', œ: 'oe', ƣ: 'oi', ȣ: 'ou', ꝏ: 'oo', 'ⓟ': 'p', p: 'p', ṕ: 'p', ṗ: 'p', ƥ: 'p', ᵽ: 'p', ꝑ: 'p', ꝓ: 'p', ꝕ: 'p', 'ⓠ': 'q', q: 'q', ɋ: 'q', ꝗ: 'q', ꝙ: 'q', 'ⓡ': 'r', r: 'r', ŕ: 'r', ṙ: 'r', ř: 'r', ȑ: 'r', ȓ: 'r', ṛ: 'r', ṝ: 'r', ŗ: 'r', ṟ: 'r', ɍ: 'r', ɽ: 'r', ꝛ: 'r', ꞧ: 'r', ꞃ: 'r', 'ⓢ': 's', s: 's', ß: 's', ś: 's', ṥ: 's', ŝ: 's', ṡ: 's', š: 's', ṧ: 's', ṣ: 's', ṩ: 's', ș: 's', ş: 's', ȿ: 's', ꞩ: 's', ꞅ: 's', ẛ: 's', 'ⓣ': 't', t: 't', ṫ: 't', ẗ: 't', ť: 't', ṭ: 't', ț: 't', ţ: 't', ṱ: 't', ṯ: 't', ŧ: 't', ƭ: 't', ʈ: 't', ⱦ: 't', ꞇ: 't', ꜩ: 'tz', 'ⓤ': 'u', u: 'u', ù: 'u', ú: 'u', û: 'u', ũ: 'u', ṹ: 'u', ū: 'u', ṻ: 'u', ŭ: 'u', ü: 'u', ǜ: 'u', ǘ: 'u', ǖ: 'u', ǚ: 'u', ủ: 'u', ů: 'u', ű: 'u', ǔ: 'u', ȕ: 'u', ȗ: 'u', ư: 'u', ừ: 'u', ứ: 'u', ữ: 'u', ử: 'u', ự: 'u', ụ: 'u', ṳ: 'u', ų: 'u', ṷ: 'u', ṵ: 'u', ʉ: 'u', 'ⓥ': 'v', v: 'v', ṽ: 'v', ṿ: 'v', ʋ: 'v', ꝟ: 'v', ʌ: 'v', ꝡ: 'vy', 'ⓦ': 'w', w: 'w', ẁ: 'w', ẃ: 'w', ŵ: 'w', ẇ: 'w', ẅ: 'w', ẘ: 'w', ẉ: 'w', ⱳ: 'w', 'ⓧ': 'x', x: 'x', ẋ: 'x', ẍ: 'x', 'ⓨ': 'y', y: 'y', ỳ: 'y', ý: 'y', ŷ: 'y', ỹ: 'y', ȳ: 'y', ẏ: 'y', ÿ: 'y', ỷ: 'y', ẙ: 'y', ỵ: 'y', ƴ: 'y', ɏ: 'y', ỿ: 'y', 'ⓩ': 'z', z: 'z', ź: 'z', ẑ: 'z', ż: 'z', ž: 'z', ẓ: 'z', ẕ: 'z', ƶ: 'z', ȥ: 'z', ɀ: 'z', ⱬ: 'z', ꝣ: 'z', Ά: 'Α', Έ: 'Ε', Ή: 'Η', Ί: 'Ι', Ϊ: 'Ι', Ό: 'Ο', Ύ: 'Υ', Ϋ: 'Υ', Ώ: 'Ω', ά: 'α', έ: 'ε', ή: 'η', ί: 'ι', ϊ: 'ι', ΐ: 'ι', ό: 'ο', ύ: 'υ', ϋ: 'υ', ΰ: 'υ', ώ: 'ω', ς: 'σ', '’': "'", } }), e.define('select2/data/base', ['../utils'], function (r) { function n(e, t) { n.__super__.constructor.call(this) } return ( r.Extend(n, r.Observable), (n.prototype.current = function (e) { throw new Error( 'The `current` method must be defined in child classes.' ) }), (n.prototype.query = function (e, t) { throw new Error( 'The `query` method must be defined in child classes.' ) }), (n.prototype.bind = function (e, t) {}), (n.prototype.destroy = function () {}), (n.prototype.generateResultId = function (e, t) { var n = e.id + '-result-' return ( (n += r.generateChars(4)), null != t.id ? (n += '-' + t.id.toString()) : (n += '-' + r.generateChars(4)), n ) }), n ) }), e.define( 'select2/data/select', ['./base', '../utils', 'jquery'], function (e, a, l) { function n(e, t) { ;(this.$element = e), (this.options = t), n.__super__.constructor.call(this) } return ( a.Extend(n, e), (n.prototype.current = function (e) { var n = [], r = this this.$element.find(':selected').each(function () { var e = l(this), t = r.item(e) n.push(t) }), e(n) }), (n.prototype.select = function (i) { var o = this if (((i.selected = !0), l(i.element).is('option'))) return ( (i.element.selected = !0), void this.$element.trigger('input').trigger('change') ) if (this.$element.prop('multiple')) this.current(function (e) { var t = [] ;(i = [i]).push.apply(i, e) for (var n = 0; n < i.length; n++) { var r = i[n].id ;-1 === l.inArray(r, t) && t.push(r) } o.$element.val(t), o.$element.trigger('input').trigger('change') }) else { var e = i.id this.$element.val(e), this.$element.trigger('input').trigger('change') } }), (n.prototype.unselect = function (i) { var o = this if (this.$element.prop('multiple')) { if (((i.selected = !1), l(i.element).is('option'))) return ( (i.element.selected = !1), void this.$element.trigger('input').trigger('change') ) this.current(function (e) { for (var t = [], n = 0; n < e.length; n++) { var r = e[n].id r !== i.id && -1 === l.inArray(r, t) && t.push(r) } o.$element.val(t), o.$element.trigger('input').trigger('change') }) } }), (n.prototype.bind = function (e, t) { var n = this ;(this.container = e).on('select', function (e) { n.select(e.data) }), e.on('unselect', function (e) { n.unselect(e.data) }) }), (n.prototype.destroy = function () { this.$element.find('*').each(function () { a.RemoveData(this) }) }), (n.prototype.query = function (r, e) { var i = [], o = this this.$element.children().each(function () { var e = l(this) if (e.is('option') || e.is('optgroup')) { var t = o.item(e), n = o.matches(r, t) null !== n && i.push(n) } }), e({ results: i }) }), (n.prototype.addOptions = function (e) { a.appendMany(this.$element, e) }), (n.prototype.option = function (e) { var t e.children ? ((t = document.createElement('optgroup')).label = e.text) : void 0 !== (t = document.createElement('option')).textContent ? (t.textContent = e.text) : (t.innerText = e.text), void 0 !== e.id && (t.value = e.id), e.disabled && (t.disabled = !0), e.selected && (t.selected = !0), e.title && (t.title = e.title) var n = l(t), r = this._normalizeItem(e) return (r.element = t), a.StoreData(t, 'data', r), n }), (n.prototype.item = function (e) { var t = {} if (null != (t = a.GetData(e[0], 'data'))) return t if (e.is('option')) t = { id: e.val(), text: e.text(), disabled: e.prop('disabled'), selected: e.prop('selected'), title: e.prop('title'), } else if (e.is('optgroup')) { t = { text: e.prop('label'), children: [], title: e.prop('title'), } for ( var n = e.children('option'), r = [], i = 0; i < n.length; i++ ) { var o = l(n[i]), s = this.item(o) r.push(s) } t.children = r } return ( ((t = this._normalizeItem(t)).element = e[0]), a.StoreData(e[0], 'data', t), t ) }), (n.prototype._normalizeItem = function (e) { e !== Object(e) && (e = { id: e, text: e }) return ( null != (e = l.extend({}, { text: '' }, e)).id && (e.id = e.id.toString()), null != e.text && (e.text = e.text.toString()), null == e._resultId && e.id && null != this.container && (e._resultId = this.generateResultId(this.container, e)), l.extend({}, { selected: !1, disabled: !1 }, e) ) }), (n.prototype.matches = function (e, t) { return this.options.get('matcher')(e, t) }), n ) } ), e.define( 'select2/data/array', ['./select', '../utils', 'jquery'], function (e, f, g) { function r(e, t) { ;(this._dataToConvert = t.get('data') || []), r.__super__.constructor.call(this, e, t) } return ( f.Extend(r, e), (r.prototype.bind = function (e, t) { r.__super__.bind.call(this, e, t), this.addOptions(this.convertToOptions(this._dataToConvert)) }), (r.prototype.select = function (n) { var e = this.$element.find('option').filter(function (e, t) { return t.value == n.id.toString() }) 0 === e.length && ((e = this.option(n)), this.addOptions(e)), r.__super__.select.call(this, n) }), (r.prototype.convertToOptions = function (e) { var t = this, n = this.$element.find('option'), r = n .map(function () { return t.item(g(this)).id }) .get(), i = [] function o(e) { return function () { return g(this).val() == e.id } } for (var s = 0; s < e.length; s++) { var a = this._normalizeItem(e[s]) if (0 <= g.inArray(a.id, r)) { var l = n.filter(o(a)), c = this.item(l), u = g.extend(!0, {}, a, c), d = this.option(u) l.replaceWith(d) } else { var p = this.option(a) if (a.children) { var h = this.convertToOptions(a.children) f.appendMany(p, h) } i.push(p) } } return i }), r ) } ), e.define( 'select2/data/ajax', ['./array', '../utils', 'jquery'], function (e, t, o) { function n(e, t) { ;(this.ajaxOptions = this._applyDefaults(t.get('ajax'))), null != this.ajaxOptions.processResults && (this.processResults = this.ajaxOptions.processResults), n.__super__.constructor.call(this, e, t) } return ( t.Extend(n, e), (n.prototype._applyDefaults = function (e) { var t = { data: function (e) { return o.extend({}, e, { q: e.term }) }, transport: function (e, t, n) { var r = o.ajax(e) return r.then(t), r.fail(n), r }, } return o.extend({}, t, e, !0) }), (n.prototype.processResults = function (e) { return e }), (n.prototype.query = function (n, r) { var i = this null != this._request && (o.isFunction(this._request.abort) && this._request.abort(), (this._request = null)) var t = o.extend({ type: 'GET' }, this.ajaxOptions) function e() { var e = t.transport( t, function (e) { var t = i.processResults(e, n) i.options.get('debug') && window.console && console.error && ((t && t.results && o.isArray(t.results)) || console.error( 'Select2: The AJAX results did not return an array in the `results` key of the response.' )), r(t) }, function () { ;('status' in e && (0 === e.status || '0' === e.status)) || i.trigger('results:message', { message: 'errorLoading', }) } ) i._request = e } 'function' == typeof t.url && (t.url = t.url.call(this.$element, n)), 'function' == typeof t.data && (t.data = t.data.call(this.$element, n)), this.ajaxOptions.delay && null != n.term ? (this._queryTimeout && window.clearTimeout(this._queryTimeout), (this._queryTimeout = window.setTimeout( e, this.ajaxOptions.delay ))) : e() }), n ) } ), e.define('select2/data/tags', ['jquery'], function (u) { function e(e, t, n) { var r = n.get('tags'), i = n.get('createTag') void 0 !== i && (this.createTag = i) var o = n.get('insertTag') if ( (void 0 !== o && (this.insertTag = o), e.call(this, t, n), u.isArray(r)) ) for (var s = 0; s < r.length; s++) { var a = r[s], l = this._normalizeItem(a), c = this.option(l) this.$element.append(c) } } return ( (e.prototype.query = function (e, c, u) { var d = this this._removeOldTags(), null != c.term && null == c.page ? e.call(this, c, function e(t, n) { for (var r = t.results, i = 0; i < r.length; i++) { var o = r[i], s = null != o.children && !e({ results: o.children }, !0) if ( (o.text || '').toUpperCase() === (c.term || '').toUpperCase() || s ) return !n && ((t.data = r), void u(t)) } if (n) return !0 var a = d.createTag(c) if (null != a) { var l = d.option(a) l.attr('data-select2-tag', !0), d.addOptions([l]), d.insertTag(r, a) } ;(t.results = r), u(t) }) : e.call(this, c, u) }), (e.prototype.createTag = function (e, t) { var n = u.trim(t.term) return '' === n ? null : { id: n, text: n } }), (e.prototype.insertTag = function (e, t, n) { t.unshift(n) }), (e.prototype._removeOldTags = function (e) { this.$element.find('option[data-select2-tag]').each(function () { this.selected || u(this).remove() }) }), e ) }), e.define('select2/data/tokenizer', ['jquery'], function (d) { function e(e, t, n) { var r = n.get('tokenizer') void 0 !== r && (this.tokenizer = r), e.call(this, t, n) } return ( (e.prototype.bind = function (e, t, n) { e.call(this, t, n), (this.$search = t.dropdown.$search || t.selection.$search || n.find('.select2-search__field')) }), (e.prototype.query = function (e, t, n) { var i = this t.term = t.term || '' var r = this.tokenizer(t, this.options, function (e) { var t, n = i._normalizeItem(e) if ( !i.$element.find('option').filter(function () { return d(this).val() === n.id }).length ) { var r = i.option(n) r.attr('data-select2-tag', !0), i._removeOldTags(), i.addOptions([r]) } ;(t = n), i.trigger('select', { data: t }) }) r.term !== t.term && (this.$search.length && (this.$search.val(r.term), this.$search.trigger('focus')), (t.term = r.term)), e.call(this, t, n) }), (e.prototype.tokenizer = function (e, t, n, r) { for ( var i = n.get('tokenSeparators') || [], o = t.term, s = 0, a = this.createTag || function (e) { return { id: e.term, text: e.term } }; s < o.length; ) { var l = o[s] if (-1 !== d.inArray(l, i)) { var c = o.substr(0, s), u = a(d.extend({}, t, { term: c })) null != u ? (r(u), (o = o.substr(s + 1) || ''), (s = 0)) : s++ } else s++ } return { term: o } }), e ) }), e.define('select2/data/minimumInputLength', [], function () { function e(e, t, n) { ;(this.minimumInputLength = n.get('minimumInputLength')), e.call(this, t, n) } return ( (e.prototype.query = function (e, t, n) { ;(t.term = t.term || ''), t.term.length < this.minimumInputLength ? this.trigger('results:message', { message: 'inputTooShort', args: { minimum: this.minimumInputLength, input: t.term, params: t, }, }) : e.call(this, t, n) }), e ) }), e.define('select2/data/maximumInputLength', [], function () { function e(e, t, n) { ;(this.maximumInputLength = n.get('maximumInputLength')), e.call(this, t, n) } return ( (e.prototype.query = function (e, t, n) { ;(t.term = t.term || ''), 0 < this.maximumInputLength && t.term.length > this.maximumInputLength ? this.trigger('results:message', { message: 'inputTooLong', args: { maximum: this.maximumInputLength, input: t.term, params: t, }, }) : e.call(this, t, n) }), e ) }), e.define('select2/data/maximumSelectionLength', [], function () { function e(e, t, n) { ;(this.maximumSelectionLength = n.get('maximumSelectionLength')), e.call(this, t, n) } return ( (e.prototype.bind = function (e, t, n) { var r = this e.call(this, t, n), t.on('select', function () { r._checkIfMaximumSelected() }) }), (e.prototype.query = function (e, t, n) { var r = this this._checkIfMaximumSelected(function () { e.call(r, t, n) }) }), (e.prototype._checkIfMaximumSelected = function (e, n) { var r = this this.current(function (e) { var t = null != e ? e.length : 0 0 < r.maximumSelectionLength && t >= r.maximumSelectionLength ? r.trigger('results:message', { message: 'maximumSelected', args: { maximum: r.maximumSelectionLength }, }) : n && n() }) }), e ) }), e.define('select2/dropdown', ['jquery', './utils'], function (t, e) { function n(e, t) { ;(this.$element = e), (this.options = t), n.__super__.constructor.call(this) } return ( e.Extend(n, e.Observable), (n.prototype.render = function () { var e = t( '' ) return ( e.attr('dir', this.options.get('dir')), (this.$dropdown = e) ) }), (n.prototype.bind = function () {}), (n.prototype.position = function (e, t) {}), (n.prototype.destroy = function () { this.$dropdown.remove() }), n ) }), e.define( 'select2/dropdown/search', ['jquery', '../utils'], function (o, e) { function t() {} return ( (t.prototype.render = function (e) { var t = e.call(this), n = o( '' ) return ( (this.$searchContainer = n), (this.$search = n.find('input')), t.prepend(n), t ) }), (t.prototype.bind = function (e, t, n) { var r = this, i = t.id + '-results' e.call(this, t, n), this.$search.on('keydown', function (e) { r.trigger('keypress', e), (r._keyUpPrevented = e.isDefaultPrevented()) }), this.$search.on('input', function (e) { o(this).off('keyup') }), this.$search.on('keyup input', function (e) { r.handleSearch(e) }), t.on('open', function () { r.$search.attr('tabindex', 0), r.$search.attr('aria-controls', i), r.$search.trigger('focus'), window.setTimeout(function () { r.$search.trigger('focus') }, 0) }), t.on('close', function () { r.$search.attr('tabindex', -1), r.$search.removeAttr('aria-controls'), r.$search.removeAttr('aria-activedescendant'), r.$search.val(''), r.$search.trigger('blur') }), t.on('focus', function () { t.isOpen() || r.$search.trigger('focus') }), t.on('results:all', function (e) { ;(null != e.query.term && '' !== e.query.term) || (r.showSearch(e) ? r.$searchContainer.removeClass('select2-search--hide') : r.$searchContainer.addClass('select2-search--hide')) }), t.on('results:focus', function (e) { e.data._resultId ? r.$search.attr( 'aria-activedescendant', e.data._resultId ) : r.$search.removeAttr('aria-activedescendant') }) }), (t.prototype.handleSearch = function (e) { if (!this._keyUpPrevented) { var t = this.$search.val() this.trigger('query', { term: t }) } this._keyUpPrevented = !1 }), (t.prototype.showSearch = function (e, t) { return !0 }), t ) } ), e.define('select2/dropdown/hidePlaceholder', [], function () { function e(e, t, n, r) { ;(this.placeholder = this.normalizePlaceholder( n.get('placeholder') )), e.call(this, t, n, r) } return ( (e.prototype.append = function (e, t) { ;(t.results = this.removePlaceholder(t.results)), e.call(this, t) }), (e.prototype.normalizePlaceholder = function (e, t) { return 'string' == typeof t && (t = { id: '', text: t }), t }), (e.prototype.removePlaceholder = function (e, t) { for (var n = t.slice(0), r = t.length - 1; 0 <= r; r--) { var i = t[r] this.placeholder.id === i.id && n.splice(r, 1) } return n }), e ) }), e.define('select2/dropdown/infiniteScroll', ['jquery'], function (n) { function e(e, t, n, r) { ;(this.lastParams = {}), e.call(this, t, n, r), (this.$loadingMore = this.createLoadingMore()), (this.loading = !1) } return ( (e.prototype.append = function (e, t) { this.$loadingMore.remove(), (this.loading = !1), e.call(this, t), this.showLoadingMore(t) && (this.$results.append(this.$loadingMore), this.loadMoreIfNeeded()) }), (e.prototype.bind = function (e, t, n) { var r = this e.call(this, t, n), t.on('query', function (e) { ;(r.lastParams = e), (r.loading = !0) }), t.on('query:append', function (e) { ;(r.lastParams = e), (r.loading = !0) }), this.$results.on('scroll', this.loadMoreIfNeeded.bind(this)) }), (e.prototype.loadMoreIfNeeded = function () { var e = n.contains(document.documentElement, this.$loadingMore[0]) if (!this.loading && e) { var t = this.$results.offset().top + this.$results.outerHeight(!1) this.$loadingMore.offset().top + this.$loadingMore.outerHeight(!1) <= t + 50 && this.loadMore() } }), (e.prototype.loadMore = function () { this.loading = !0 var e = n.extend({}, { page: 1 }, this.lastParams) e.page++, this.trigger('query:append', e) }), (e.prototype.showLoadingMore = function (e, t) { return t.pagination && t.pagination.more }), (e.prototype.createLoadingMore = function () { var e = n( '
  • ' ), t = this.options.get('translations').get('loadingMore') return e.html(t(this.lastParams)), e }), e ) }), e.define( 'select2/dropdown/attachBody', ['jquery', '../utils'], function (f, a) { function e(e, t, n) { ;(this.$dropdownParent = f( n.get('dropdownParent') || document.body )), e.call(this, t, n) } return ( (e.prototype.bind = function (e, t, n) { var r = this e.call(this, t, n), t.on('open', function () { r._showDropdown(), r._attachPositioningHandler(t), r._bindContainerResultHandlers(t) }), t.on('close', function () { r._hideDropdown(), r._detachPositioningHandler(t) }), this.$dropdownContainer.on('mousedown', function (e) { e.stopPropagation() }) }), (e.prototype.destroy = function (e) { e.call(this), this.$dropdownContainer.remove() }), (e.prototype.position = function (e, t, n) { t.attr('class', n.attr('class')), t.removeClass('select2'), t.addClass('select2-container--open'), t.css({ position: 'absolute', top: -999999 }), (this.$container = n) }), (e.prototype.render = function (e) { var t = f(''), n = e.call(this) return t.append(n), (this.$dropdownContainer = t) }), (e.prototype._hideDropdown = function (e) { this.$dropdownContainer.detach() }), (e.prototype._bindContainerResultHandlers = function (e, t) { if (!this._containerResultsHandlersBound) { var n = this t.on('results:all', function () { n._positionDropdown(), n._resizeDropdown() }), t.on('results:append', function () { n._positionDropdown(), n._resizeDropdown() }), t.on('results:message', function () { n._positionDropdown(), n._resizeDropdown() }), t.on('select', function () { n._positionDropdown(), n._resizeDropdown() }), t.on('unselect', function () { n._positionDropdown(), n._resizeDropdown() }), (this._containerResultsHandlersBound = !0) } }), (e.prototype._attachPositioningHandler = function (e, t) { var n = this, r = 'scroll.select2.' + t.id, i = 'resize.select2.' + t.id, o = 'orientationchange.select2.' + t.id, s = this.$container.parents().filter(a.hasScroll) s.each(function () { a.StoreData(this, 'select2-scroll-position', { x: f(this).scrollLeft(), y: f(this).scrollTop(), }) }), s.on(r, function (e) { var t = a.GetData(this, 'select2-scroll-position') f(this).scrollTop(t.y) }), f(window).on(r + ' ' + i + ' ' + o, function (e) { n._positionDropdown(), n._resizeDropdown() }) }), (e.prototype._detachPositioningHandler = function (e, t) { var n = 'scroll.select2.' + t.id, r = 'resize.select2.' + t.id, i = 'orientationchange.select2.' + t.id this.$container.parents().filter(a.hasScroll).off(n), f(window).off(n + ' ' + r + ' ' + i) }), (e.prototype._positionDropdown = function () { var e = f(window), t = this.$dropdown.hasClass('select2-dropdown--above'), n = this.$dropdown.hasClass('select2-dropdown--below'), r = null, i = this.$container.offset() i.bottom = i.top + this.$container.outerHeight(!1) var o = { height: this.$container.outerHeight(!1) } ;(o.top = i.top), (o.bottom = i.top + o.height) var s = this.$dropdown.outerHeight(!1), a = e.scrollTop(), l = e.scrollTop() + e.height(), c = a < i.top - s, u = l > i.bottom + s, d = { left: i.left, top: o.bottom }, p = this.$dropdownParent 'static' === p.css('position') && (p = p.offsetParent()) var h = { top: 0, left: 0 } ;(f.contains(document.body, p[0]) || p[0].isConnected) && (h = p.offset()), (d.top -= h.top), (d.left -= h.left), t || n || (r = 'below'), u || !c || t ? !c && u && t && (r = 'below') : (r = 'above'), ('above' == r || (t && 'below' !== r)) && (d.top = o.top - h.top - s), null != r && (this.$dropdown .removeClass( 'select2-dropdown--below select2-dropdown--above' ) .addClass('select2-dropdown--' + r), this.$container .removeClass( 'select2-container--below select2-container--above' ) .addClass('select2-container--' + r)), this.$dropdownContainer.css(d) }), (e.prototype._resizeDropdown = function () { var e = { width: this.$container.outerWidth(!1) + 'px' } this.options.get('dropdownAutoWidth') && ((e.minWidth = e.width), (e.position = 'relative'), (e.width = 'auto')), this.$dropdown.css(e) }), (e.prototype._showDropdown = function (e) { this.$dropdownContainer.appendTo(this.$dropdownParent), this._positionDropdown(), this._resizeDropdown() }), e ) } ), e.define('select2/dropdown/minimumResultsForSearch', [], function () { function e(e, t, n, r) { ;(this.minimumResultsForSearch = n.get('minimumResultsForSearch')), this.minimumResultsForSearch < 0 && (this.minimumResultsForSearch = 1 / 0), e.call(this, t, n, r) } return ( (e.prototype.showSearch = function (e, t) { return ( !( (function e(t) { for (var n = 0, r = 0; r < t.length; r++) { var i = t[r] i.children ? (n += e(i.children)) : n++ } return n })(t.data.results) < this.minimumResultsForSearch ) && e.call(this, t) ) }), e ) }), e.define('select2/dropdown/selectOnClose', ['../utils'], function (o) { function e() {} return ( (e.prototype.bind = function (e, t, n) { var r = this e.call(this, t, n), t.on('close', function (e) { r._handleSelectOnClose(e) }) }), (e.prototype._handleSelectOnClose = function (e, t) { if (t && null != t.originalSelect2Event) { var n = t.originalSelect2Event if ('select' === n._type || 'unselect' === n._type) return } var r = this.getHighlightedResults() if (!(r.length < 1)) { var i = o.GetData(r[0], 'data') ;(null != i.element && i.element.selected) || (null == i.element && i.selected) || this.trigger('select', { data: i }) } }), e ) }), e.define('select2/dropdown/closeOnSelect', [], function () { function e() {} return ( (e.prototype.bind = function (e, t, n) { var r = this e.call(this, t, n), t.on('select', function (e) { r._selectTriggered(e) }), t.on('unselect', function (e) { r._selectTriggered(e) }) }), (e.prototype._selectTriggered = function (e, t) { var n = t.originalEvent ;(n && (n.ctrlKey || n.metaKey)) || this.trigger('close', { originalEvent: n, originalSelect2Event: t, }) }), e ) }), e.define('select2/i18n/en', [], function () { return { errorLoading: function () { return 'The results could not be loaded.' }, inputTooLong: function (e) { var t = e.input.length - e.maximum, n = 'Please delete ' + t + ' character' return 1 != t && (n += 's'), n }, inputTooShort: function (e) { return ( 'Please enter ' + (e.minimum - e.input.length) + ' or more characters' ) }, loadingMore: function () { return 'Loading more results…' }, maximumSelected: function (e) { var t = 'You can only select ' + e.maximum + ' item' return 1 != e.maximum && (t += 's'), t }, noResults: function () { return 'No results found' }, searching: function () { return 'Searching…' }, removeAllItems: function () { return 'Remove all items' }, } }), e.define( 'select2/defaults', [ 'jquery', 'require', './results', './selection/single', './selection/multiple', './selection/placeholder', './selection/allowClear', './selection/search', './selection/eventRelay', './utils', './translation', './diacritics', './data/select', './data/array', './data/ajax', './data/tags', './data/tokenizer', './data/minimumInputLength', './data/maximumInputLength', './data/maximumSelectionLength', './dropdown', './dropdown/search', './dropdown/hidePlaceholder', './dropdown/infiniteScroll', './dropdown/attachBody', './dropdown/minimumResultsForSearch', './dropdown/selectOnClose', './dropdown/closeOnSelect', './i18n/en', ], function ( c, u, d, p, h, f, g, m, v, y, s, t, _, $, b, w, A, x, D, S, E, C, O, T, q, L, I, j, e ) { function n() { this.reset() } return ( (n.prototype.apply = function (e) { if ( null == (e = c.extend(!0, {}, this.defaults, e)).dataAdapter ) { if ( (null != e.ajax ? (e.dataAdapter = b) : null != e.data ? (e.dataAdapter = $) : (e.dataAdapter = _), 0 < e.minimumInputLength && (e.dataAdapter = y.Decorate(e.dataAdapter, x)), 0 < e.maximumInputLength && (e.dataAdapter = y.Decorate(e.dataAdapter, D)), 0 < e.maximumSelectionLength && (e.dataAdapter = y.Decorate(e.dataAdapter, S)), e.tags && (e.dataAdapter = y.Decorate(e.dataAdapter, w)), (null == e.tokenSeparators && null == e.tokenizer) || (e.dataAdapter = y.Decorate(e.dataAdapter, A)), null != e.query) ) { var t = u(e.amdBase + 'compat/query') e.dataAdapter = y.Decorate(e.dataAdapter, t) } if (null != e.initSelection) { var n = u(e.amdBase + 'compat/initSelection') e.dataAdapter = y.Decorate(e.dataAdapter, n) } } if ( (null == e.resultsAdapter && ((e.resultsAdapter = d), null != e.ajax && (e.resultsAdapter = y.Decorate(e.resultsAdapter, T)), null != e.placeholder && (e.resultsAdapter = y.Decorate(e.resultsAdapter, O)), e.selectOnClose && (e.resultsAdapter = y.Decorate(e.resultsAdapter, I))), null == e.dropdownAdapter) ) { if (e.multiple) e.dropdownAdapter = E else { var r = y.Decorate(E, C) e.dropdownAdapter = r } if ( (0 !== e.minimumResultsForSearch && (e.dropdownAdapter = y.Decorate(e.dropdownAdapter, L)), e.closeOnSelect && (e.dropdownAdapter = y.Decorate(e.dropdownAdapter, j)), null != e.dropdownCssClass || null != e.dropdownCss || null != e.adaptDropdownCssClass) ) { var i = u(e.amdBase + 'compat/dropdownCss') e.dropdownAdapter = y.Decorate(e.dropdownAdapter, i) } e.dropdownAdapter = y.Decorate(e.dropdownAdapter, q) } if (null == e.selectionAdapter) { if ( (e.multiple ? (e.selectionAdapter = h) : (e.selectionAdapter = p), null != e.placeholder && (e.selectionAdapter = y.Decorate(e.selectionAdapter, f)), e.allowClear && (e.selectionAdapter = y.Decorate(e.selectionAdapter, g)), e.multiple && (e.selectionAdapter = y.Decorate(e.selectionAdapter, m)), null != e.containerCssClass || null != e.containerCss || null != e.adaptContainerCssClass) ) { var o = u(e.amdBase + 'compat/containerCss') e.selectionAdapter = y.Decorate(e.selectionAdapter, o) } e.selectionAdapter = y.Decorate(e.selectionAdapter, v) } ;(e.language = this._resolveLanguage(e.language)), e.language.push('en') for (var s = [], a = 0; a < e.language.length; a++) { var l = e.language[a] ;-1 === s.indexOf(l) && s.push(l) } return ( (e.language = s), (e.translations = this._processTranslations( e.language, e.debug )), e ) }), (n.prototype.reset = function () { function a(e) { return e.replace(/[^\u0000-\u007E]/g, function (e) { return t[e] || e }) } this.defaults = { amdBase: './', amdLanguageBase: './i18n/', closeOnSelect: !0, debug: !1, dropdownAutoWidth: !1, escapeMarkup: y.escapeMarkup, language: {}, matcher: function e(t, n) { if ('' === c.trim(t.term)) return n if (n.children && 0 < n.children.length) { for ( var r = c.extend(!0, {}, n), i = n.children.length - 1; 0 <= i; i-- ) null == e(t, n.children[i]) && r.children.splice(i, 1) return 0 < r.children.length ? r : e(t, r) } var o = a(n.text).toUpperCase(), s = a(t.term).toUpperCase() return -1 < o.indexOf(s) ? n : null }, minimumInputLength: 0, maximumInputLength: 0, maximumSelectionLength: 0, minimumResultsForSearch: 0, selectOnClose: !1, scrollAfterSelect: !1, sorter: function (e) { return e }, templateResult: function (e) { return e.text }, templateSelection: function (e) { return e.text }, theme: 'default', width: 'resolve', } }), (n.prototype.applyFromElement = function (e, t) { var n = e.language, r = this.defaults.language, i = t.prop('lang'), o = t.closest('[lang]').prop('lang'), s = Array.prototype.concat.call( this._resolveLanguage(i), this._resolveLanguage(n), this._resolveLanguage(r), this._resolveLanguage(o) ) return (e.language = s), e }), (n.prototype._resolveLanguage = function (e) { if (!e) return [] if (c.isEmptyObject(e)) return [] if (c.isPlainObject(e)) return [e] var t t = c.isArray(e) ? e : [e] for (var n = [], r = 0; r < t.length; r++) if ( (n.push(t[r]), 'string' == typeof t[r] && 0 < t[r].indexOf('-')) ) { var i = t[r].split('-')[0] n.push(i) } return n }), (n.prototype._processTranslations = function (e, t) { for (var n = new s(), r = 0; r < e.length; r++) { var i = new s(), o = e[r] if ('string' == typeof o) try { i = s.loadPath(o) } catch (e) { try { ;(o = this.defaults.amdLanguageBase + o), (i = s.loadPath(o)) } catch (e) { t && window.console && console.warn && console.warn( 'Select2: The language file for "' + o + '" could not be automatically loaded. A fallback will be used instead.' ) } } else i = c.isPlainObject(o) ? new s(o) : o n.extend(i) } return n }), (n.prototype.set = function (e, t) { var n = {} n[c.camelCase(e)] = t var r = y._convertData(n) c.extend(!0, this.defaults, r) }), new n() ) } ), e.define( 'select2/options', ['require', 'jquery', './defaults', './utils'], function (r, d, i, p) { function e(e, t) { if ( ((this.options = e), null != t && this.fromElement(t), null != t && (this.options = i.applyFromElement(this.options, t)), (this.options = i.apply(this.options)), t && t.is('input')) ) { var n = r(this.get('amdBase') + 'compat/inputData') this.options.dataAdapter = p.Decorate( this.options.dataAdapter, n ) } } return ( (e.prototype.fromElement = function (e) { var t = ['select2'] null == this.options.multiple && (this.options.multiple = e.prop('multiple')), null == this.options.disabled && (this.options.disabled = e.prop('disabled')), null == this.options.dir && (e.prop('dir') ? (this.options.dir = e.prop('dir')) : e.closest('[dir]').prop('dir') ? (this.options.dir = e.closest('[dir]').prop('dir')) : (this.options.dir = 'ltr')), e.prop('disabled', this.options.disabled), e.prop('multiple', this.options.multiple), p.GetData(e[0], 'select2Tags') && (this.options.debug && window.console && console.warn && console.warn( 'Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.' ), p.StoreData(e[0], 'data', p.GetData(e[0], 'select2Tags')), p.StoreData(e[0], 'tags', !0)), p.GetData(e[0], 'ajaxUrl') && (this.options.debug && window.console && console.warn && console.warn( 'Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2.' ), e.attr('ajax--url', p.GetData(e[0], 'ajaxUrl')), p.StoreData(e[0], 'ajax-Url', p.GetData(e[0], 'ajaxUrl'))) var n = {} function r(e, t) { return t.toUpperCase() } for (var i = 0; i < e[0].attributes.length; i++) { var o = e[0].attributes[i].name, s = 'data-' if (o.substr(0, s.length) == s) { var a = o.substring(s.length), l = p.GetData(e[0], a) n[a.replace(/-([a-z])/g, r)] = l } } d.fn.jquery && '1.' == d.fn.jquery.substr(0, 2) && e[0].dataset && (n = d.extend(!0, {}, e[0].dataset, n)) var c = d.extend(!0, {}, p.GetData(e[0]), n) for (var u in (c = p._convertData(c))) -1 < d.inArray(u, t) || (d.isPlainObject(this.options[u]) ? d.extend(this.options[u], c[u]) : (this.options[u] = c[u])) return this }), (e.prototype.get = function (e) { return this.options[e] }), (e.prototype.set = function (e, t) { this.options[e] = t }), e ) } ), e.define( 'select2/core', ['jquery', './options', './utils', './keys'], function (o, c, u, r) { var d = function (e, t) { null != u.GetData(e[0], 'select2') && u.GetData(e[0], 'select2').destroy(), (this.$element = e), (this.id = this._generateId(e)), (t = t || {}), (this.options = new c(t, e)), d.__super__.constructor.call(this) var n = e.attr('tabindex') || 0 u.StoreData(e[0], 'old-tabindex', n), e.attr('tabindex', '-1') var r = this.options.get('dataAdapter') this.dataAdapter = new r(e, this.options) var i = this.render() this._placeContainer(i) var o = this.options.get('selectionAdapter') ;(this.selection = new o(e, this.options)), (this.$selection = this.selection.render()), this.selection.position(this.$selection, i) var s = this.options.get('dropdownAdapter') ;(this.dropdown = new s(e, this.options)), (this.$dropdown = this.dropdown.render()), this.dropdown.position(this.$dropdown, i) var a = this.options.get('resultsAdapter') ;(this.results = new a(e, this.options, this.dataAdapter)), (this.$results = this.results.render()), this.results.position(this.$results, this.$dropdown) var l = this this._bindAdapters(), this._registerDomEvents(), this._registerDataEvents(), this._registerSelectionEvents(), this._registerDropdownEvents(), this._registerResultsEvents(), this._registerEvents(), this.dataAdapter.current(function (e) { l.trigger('selection:update', { data: e }) }), e.addClass('select2-hidden-accessible'), e.attr('aria-hidden', 'true'), this._syncAttributes(), u.StoreData(e[0], 'select2', this), e.data('select2', this) } return ( u.Extend(d, u.Observable), (d.prototype._generateId = function (e) { return ( 'select2-' + (null != e.attr('id') ? e.attr('id') : null != e.attr('name') ? e.attr('name') + '-' + u.generateChars(2) : u.generateChars(4) ).replace(/(:|\.|\[|\]|,)/g, '') ) }), (d.prototype._placeContainer = function (e) { e.insertAfter(this.$element) var t = this._resolveWidth( this.$element, this.options.get('width') ) null != t && e.css('width', t) }), (d.prototype._resolveWidth = function (e, t) { var n = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i if ('resolve' == t) { var r = this._resolveWidth(e, 'style') return null != r ? r : this._resolveWidth(e, 'element') } if ('element' == t) { var i = e.outerWidth(!1) return i <= 0 ? 'auto' : i + 'px' } if ('style' != t) return 'computedstyle' != t ? t : window.getComputedStyle(e[0]).width var o = e.attr('style') if ('string' != typeof o) return null for (var s = o.split(';'), a = 0, l = s.length; a < l; a += 1) { var c = s[a].replace(/\s/g, '').match(n) if (null !== c && 1 <= c.length) return c[1] } return null }), (d.prototype._bindAdapters = function () { this.dataAdapter.bind(this, this.$container), this.selection.bind(this, this.$container), this.dropdown.bind(this, this.$container), this.results.bind(this, this.$container) }), (d.prototype._registerDomEvents = function () { var t = this this.$element.on('change.select2', function () { t.dataAdapter.current(function (e) { t.trigger('selection:update', { data: e }) }) }), this.$element.on('focus.select2', function (e) { t.trigger('focus', e) }), (this._syncA = u.bind(this._syncAttributes, this)), (this._syncS = u.bind(this._syncSubtree, this)), this.$element[0].attachEvent && this.$element[0].attachEvent( 'onpropertychange', this._syncA ) var e = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver null != e ? ((this._observer = new e(function (e) { t._syncA(), t._syncS(null, e) })), this._observer.observe(this.$element[0], { attributes: !0, childList: !0, subtree: !1, })) : this.$element[0].addEventListener && (this.$element[0].addEventListener( 'DOMAttrModified', t._syncA, !1 ), this.$element[0].addEventListener( 'DOMNodeInserted', t._syncS, !1 ), this.$element[0].addEventListener( 'DOMNodeRemoved', t._syncS, !1 )) }), (d.prototype._registerDataEvents = function () { var n = this this.dataAdapter.on('*', function (e, t) { n.trigger(e, t) }) }), (d.prototype._registerSelectionEvents = function () { var n = this, r = ['toggle', 'focus'] this.selection.on('toggle', function () { n.toggleDropdown() }), this.selection.on('focus', function (e) { n.focus(e) }), this.selection.on('*', function (e, t) { ;-1 === o.inArray(e, r) && n.trigger(e, t) }) }), (d.prototype._registerDropdownEvents = function () { var n = this this.dropdown.on('*', function (e, t) { n.trigger(e, t) }) }), (d.prototype._registerResultsEvents = function () { var n = this this.results.on('*', function (e, t) { n.trigger(e, t) }) }), (d.prototype._registerEvents = function () { var n = this this.on('open', function () { n.$container.addClass('select2-container--open') }), this.on('close', function () { n.$container.removeClass('select2-container--open') }), this.on('enable', function () { n.$container.removeClass('select2-container--disabled') }), this.on('disable', function () { n.$container.addClass('select2-container--disabled') }), this.on('blur', function () { n.$container.removeClass('select2-container--focus') }), this.on('query', function (t) { n.isOpen() || n.trigger('open', {}), this.dataAdapter.query(t, function (e) { n.trigger('results:all', { data: e, query: t }) }) }), this.on('query:append', function (t) { this.dataAdapter.query(t, function (e) { n.trigger('results:append', { data: e, query: t }) }) }), this.on('keypress', function (e) { var t = e.which n.isOpen() ? t === r.ESC || t === r.TAB || (t === r.UP && e.altKey) ? (n.close(e), e.preventDefault()) : t === r.ENTER ? (n.trigger('results:select', {}), e.preventDefault()) : t === r.SPACE && e.ctrlKey ? (n.trigger('results:toggle', {}), e.preventDefault()) : t === r.UP ? (n.trigger('results:previous', {}), e.preventDefault()) : t === r.DOWN && (n.trigger('results:next', {}), e.preventDefault()) : (t === r.ENTER || t === r.SPACE || (t === r.DOWN && e.altKey)) && (n.open(), e.preventDefault()) }) }), (d.prototype._syncAttributes = function () { this.options.set('disabled', this.$element.prop('disabled')), this.isDisabled() ? (this.isOpen() && this.close(), this.trigger('disable', {})) : this.trigger('enable', {}) }), (d.prototype._isChangeMutation = function (e, t) { var n = !1, r = this if ( !e || !e.target || 'OPTION' === e.target.nodeName || 'OPTGROUP' === e.target.nodeName ) { if (t) if (t.addedNodes && 0 < t.addedNodes.length) for (var i = 0; i < t.addedNodes.length; i++) { t.addedNodes[i].selected && (n = !0) } else t.removedNodes && 0 < t.removedNodes.length ? (n = !0) : o.isArray(t) && o.each(t, function (e, t) { if (r._isChangeMutation(e, t)) return !(n = !0) }) else n = !0 return n } }), (d.prototype._syncSubtree = function (e, t) { var n = this._isChangeMutation(e, t), r = this n && this.dataAdapter.current(function (e) { r.trigger('selection:update', { data: e }) }) }), (d.prototype.trigger = function (e, t) { var n = d.__super__.trigger, r = { open: 'opening', close: 'closing', select: 'selecting', unselect: 'unselecting', clear: 'clearing', } if ((void 0 === t && (t = {}), e in r)) { var i = r[e], o = { prevented: !1, name: e, args: t } if ((n.call(this, i, o), o.prevented)) return void (t.prevented = !0) } n.call(this, e, t) }), (d.prototype.toggleDropdown = function () { this.isDisabled() || (this.isOpen() ? this.close() : this.open()) }), (d.prototype.open = function () { this.isOpen() || this.isDisabled() || this.trigger('query', {}) }), (d.prototype.close = function (e) { this.isOpen() && this.trigger('close', { originalEvent: e }) }), (d.prototype.isEnabled = function () { return !this.isDisabled() }), (d.prototype.isDisabled = function () { return this.options.get('disabled') }), (d.prototype.isOpen = function () { return this.$container.hasClass('select2-container--open') }), (d.prototype.hasFocus = function () { return this.$container.hasClass('select2-container--focus') }), (d.prototype.focus = function (e) { this.hasFocus() || (this.$container.addClass('select2-container--focus'), this.trigger('focus', {})) }), (d.prototype.enable = function (e) { this.options.get('debug') && window.console && console.warn && console.warn( 'Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.' ), (null != e && 0 !== e.length) || (e = [!0]) var t = !e[0] this.$element.prop('disabled', t) }), (d.prototype.data = function () { this.options.get('debug') && 0 < arguments.length && window.console && console.warn && console.warn( 'Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.' ) var t = [] return ( this.dataAdapter.current(function (e) { t = e }), t ) }), (d.prototype.val = function (e) { if ( (this.options.get('debug') && window.console && console.warn && console.warn( 'Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.' ), null == e || 0 === e.length) ) return this.$element.val() var t = e[0] o.isArray(t) && (t = o.map(t, function (e) { return e.toString() })), this.$element.val(t).trigger('input').trigger('change') }), (d.prototype.destroy = function () { this.$container.remove(), this.$element[0].detachEvent && this.$element[0].detachEvent( 'onpropertychange', this._syncA ), null != this._observer ? (this._observer.disconnect(), (this._observer = null)) : this.$element[0].removeEventListener && (this.$element[0].removeEventListener( 'DOMAttrModified', this._syncA, !1 ), this.$element[0].removeEventListener( 'DOMNodeInserted', this._syncS, !1 ), this.$element[0].removeEventListener( 'DOMNodeRemoved', this._syncS, !1 )), (this._syncA = null), (this._syncS = null), this.$element.off('.select2'), this.$element.attr( 'tabindex', u.GetData(this.$element[0], 'old-tabindex') ), this.$element.removeClass('select2-hidden-accessible'), this.$element.attr('aria-hidden', 'false'), u.RemoveData(this.$element[0]), this.$element.removeData('select2'), this.dataAdapter.destroy(), this.selection.destroy(), this.dropdown.destroy(), this.results.destroy(), (this.dataAdapter = null), (this.selection = null), (this.dropdown = null), (this.results = null) }), (d.prototype.render = function () { var e = o( '' ) return ( e.attr('dir', this.options.get('dir')), (this.$container = e), this.$container.addClass( 'select2-container--' + this.options.get('theme') ), u.StoreData(e[0], 'element', this.$element), e ) }), d ) } ), e.define('jquery-mousewheel', ['jquery'], function (e) { return e }), e.define( 'jquery.select2', [ 'jquery', 'jquery-mousewheel', './select2/core', './select2/defaults', './select2/utils', ], function (i, e, o, t, s) { if (null == i.fn.select2) { var a = ['open', 'close', 'destroy'] i.fn.select2 = function (t) { if ('object' == typeof (t = t || {})) return ( this.each(function () { var e = i.extend(!0, {}, t) new o(i(this), e) }), this ) if ('string' != typeof t) throw new Error('Invalid arguments for Select2: ' + t) var n, r = Array.prototype.slice.call(arguments, 1) return ( this.each(function () { var e = s.GetData(this, 'select2') null == e && window.console && console.error && console.error( "The select2('" + t + "') method was called on an element that is not using Select2." ), (n = e[t].apply(e, r)) }), -1 < i.inArray(t, a) ? this : n ) } } return ( null == i.fn.select2.defaults && (i.fn.select2.defaults = t), o ) } ), { define: e.define, require: e.require } ) })(), t = e.require('jquery.select2') return (u.fn.select2.amd = e), t })