PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 7.0.13
Admin Columns v7.0.13
7.1.4 7.0.19 2.3.5 2.4 2.4.1 2.4.10 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.6.1 2.5.6.2 2.5.6.3 2.5.6.4 3.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.7 3.1 3.1.1 3.1.10 3.1.2 3.1.3 3.1.5 3.2.3 3.2.7 3.3.1 3.4.1 3.4.6 3.4.8 4.0.1 4.0.3 4.1.6 4.2.2 4.2.5 4.3 4.3.2 4.4.1 4.4.4 4.4.5 4.5.5 4.6.1 4.7.18 4.7.19 4.7.20 4.7.7 7.0.13 7.0.14 7.0.16 trunk 1.0 1.1 1.1.3 1.2 1.2.1 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.5.1 1.4.6 1.4.6.1 1.4.6.2 1.4.6.3 1.4.6.4 1.4.7 1.4.8 1.4.9 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.1.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.5.1 2.2.6 2.2.6.1 2.2.6.2 2.2.6.3 2.2.6.4 2.2.7 2.2.8 2.2.8.1 2.2.9 2.3.1 2.3.2 2.3.3
codepress-admin-columns / assets / js / select2.js
codepress-admin-columns / assets / js Last commit date
admin-general.js 5 months ago admin-page-addons.js 5 months ago admin-page-columns.js 5 months ago admin-page-settings.js 5 months ago global-translations.js 5 months ago message-review.js 5 months ago notice-dismissible.js 5 months ago select2.js 5 months ago select2_conflict_fix.js 5 months ago table.js 5 months ago
select2.js
2075 lines
1 /*! Select2 4.0.12 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 !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( d ) {
3 var e = function() {
4 if ( d && d.fn && d.fn.select2 && d.fn.select2.amd ) var e = d.fn.select2.amd;
5 var t, n, i, h, o, s, f, g, m, v, y, _, r, a, w, l;
6
7 function b( e, t ) {return r.call( e, t )}
8
9 function c( e, t ) {
10 var n, i, r, o, s, a, l, c, u, d, p, h = t && t.split( "/" ), f = y.map, g = f && f[ "*" ] || {};
11 if ( e ) {
12 for ( s = (e = e.split( "/" )).length - 1, y.nodeIdCompat && w.test( e[ s ] ) && (e[ s ] = e[ s ].replace( w, "" )), "." === 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 -= 1; else if ( ".." === p ) {
13 if ( 0 === u || 1 === u && ".." === e[ 2 ] || ".." === e[ u - 1 ] ) continue;
14 0 < u && (e.splice( u - 1, 2 ), u -= 2)
15 }
16 e = e.join( "/" )
17 }
18 if ( (h || g) && f ) {
19 for ( u = (n = e.split( "/" )).length; 0 < u; u -= 1 ) {
20 if ( i = n.slice( 0, u ).join( "/" ), h ) for ( d = h.length; 0 < d; d -= 1 ) if ( r = (r = f[ h.slice( 0, d ).join( "/" ) ]) && r[ i ] ) {
21 o = r, a = u;
22 break
23 }
24 if ( o ) break;
25 !l && g && g[ i ] && (l = g[ i ], c = u)
26 }
27 !o && l && (o = l, a = c), o && (n.splice( 0, a, o ), e = n.join( "/" ))
28 }
29 return e
30 }
31
32 function A( t, n ) {
33 return function() {
34 var e = a.call( arguments, 0 );
35 return "string" != typeof e[ 0 ] && 1 === e.length && e.push( null ), s.apply( h, e.concat( [t, n] ) )
36 }
37 }
38
39 function x( t ) {return function( e ) {m[ t ] = e}}
40
41 function S( e ) {
42 if ( b( v, e ) ) {
43 var t = v[ e ];
44 delete v[ e ], _[ e ] = !0, o.apply( h, t )
45 }
46 if ( !b( m, e ) && !b( _, e ) ) throw new Error( "No " + e );
47 return m[ e ]
48 }
49
50 function u( e ) {
51 var t, n = e ? e.indexOf( "!" ) : -1;
52 return -1 < n && (t = e.substring( 0, n ), e = e.substring( n + 1, e.length )), [t, e]
53 }
54
55 function D( e ) {return e ? u( e ) : []}
56
57 return e && e.requirejs || (e ? n = e : e = {}, m = {}, v = {}, y = {}, _ = {}, r = Object.prototype.hasOwnProperty, a = [].slice, w = /\.js$/, f = function( e, t ) {
58 var n, i = u( e ), r = i[ 0 ], o = t[ 1 ];
59 return e = i[ 1 ], r && (n = S( r = c( r, o ) )), r ? e = n && n.normalize ? n.normalize( e, function( t ) {return function( e ) {return c( e, t )}}( o ) ) : c( e, o ) : (r = (i = u( e = c( e, o ) ))[ 0 ], e = i[ 1 ], r && (n = S( r ))), { f : r ? r + "!" + e : e, n : e, pr : r, p : n }
60 }, g = {
61 require : function( e ) {return A( e )}, exports : function( e ) {
62 var t = m[ e ];
63 return void 0 !== t ? t : m[ e ] = {}
64 }, module : function( e ) {return { id : e, uri : "", exports : m[ e ], config : function( e ) {return function() {return y && y.config && y.config[ e ] || {}}}( e ) }}
65 }, o = function( e, t, n, i ) {
66 var r, o, s, a, l, c, u, d = [], p = typeof n;
67 if ( c = D( i = i || e ), "undefined" == p || "function" == p ) {
68 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 ) r = d[ l ] = g.module( e ); else if ( b( m, o ) || b( v, o ) || b( _, o ) ) d[ l ] = S( o ); else {
69 if ( !a.p ) throw new Error( e + " missing " + o );
70 a.p.load( a.n, A( i, !0 ), x( o ), {} ), d[ l ] = m[ o ]
71 }
72 s = n ? n.apply( m[ e ], d ) : void 0, e && (r && r.exports !== h && r.exports !== m[ e ] ? m[ e ] = r.exports : s === h && u || (m[ e ] = s))
73 } else e && (m[ e ] = n)
74 }, t = n = s = function( e, t, n, i, r ) {
75 if ( "string" == typeof e ) return g[ e ] ? g[ e ]( t ) : S( f( e, D( t ) ).f );
76 if ( !e.splice ) {
77 if ( (y = e).deps && s( y.deps, y.callback ), !t ) return;
78 t.splice ? (e = t, t = n, n = null) : e = h
79 }
80 return t = t || function() {}, "function" == typeof n && (n = i, i = r), i ? o( h, e, t, n ) : setTimeout( function() {o( h, e, t, n )}, 4 ), s
81 }, s.config = function( e ) {return s( e )}, t._defined = m, (i = function( e, t, n ) {
82 if ( "string" != typeof e ) throw new Error( "See almond README: incorrect module build, no module name" );
83 t.splice || (n = t, t = []), b( m, e ) || b( v, e ) || (v[ e ] = [e, t, n])
84 }).amd = { jQuery : !0 }, e.requirejs = t, e.require = n, e.define = i), e.define( "almond", function() {} ), e.define( "jquery", [], function() {
85 var e = d || $;
86 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
87 } ), e.define( "select2/utils", ["jquery"], function( o ) {
88 var r = {};
89
90 function u( e ) {
91 var t = e.prototype, n = [];
92 for ( var i in t ) {
93 "function" == typeof t[ i ] && "constructor" !== i && n.push( i )
94 }
95 return n
96 }
97
98 r.Extend = function( e, t ) {
99 var n = {}.hasOwnProperty;
100
101 function i() {this.constructor = e}
102
103 for ( var r in t ) n.call( t, r ) && (e[ r ] = t[ r ]);
104 return i.prototype = t.prototype, e.prototype = new i, e.__super__ = t.prototype, e
105 }, r.Decorate = function( i, r ) {
106 var e = u( r ), t = u( i );
107
108 function o() {
109 var e = Array.prototype.unshift, t = r.prototype.constructor.length, n = i.prototype.constructor;
110 0 < t && (e.call( arguments, i.prototype.constructor ), n = r.prototype.constructor), n.apply( this, arguments )
111 }
112
113 r.displayName = i.displayName, o.prototype = new function() {this.constructor = o};
114 for ( var n = 0; n < t.length; n++ ) {
115 var s = t[ n ];
116 o.prototype[ s ] = i.prototype[ s ]
117 }
118
119 function a( e ) {
120 var t = function() {};
121 e in o.prototype && (t = o.prototype[ e ]);
122 var n = r.prototype[ e ];
123 return function() {return Array.prototype.unshift.call( arguments, t ), n.apply( this, arguments )}
124 }
125
126 for ( var l = 0; l < e.length; l++ ) {
127 var c = e[ l ];
128 o.prototype[ c ] = a( c )
129 }
130 return o
131 };
132
133 function e() {this.listeners = {}}
134
135 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 ) {
136 var t = Array.prototype.slice, n = t.call( arguments, 1 );
137 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 )
138 }, e.prototype.invoke = function( e, t ) {for ( var n = 0, i = e.length; n < i; n++ ) e[ n ].apply( this, t )}, r.Observable = e, r.generateChars = function( e ) {
139 for ( var t = "", n = 0; n < e; n++ ) {
140 t += Math.floor( 36 * Math.random() ).toString( 36 )
141 }
142 return t
143 }, r.bind = function( e, t ) {return function() {e.apply( t, arguments )}}, r._convertData = function( e ) {
144 for ( var t in e ) {
145 var n = t.split( "-" ), i = e;
146 if ( 1 !== n.length ) {
147 for ( var r = 0; r < n.length; r++ ) {
148 var o = n[ r ];
149 (o = o.substring( 0, 1 ).toLowerCase() + o.substring( 1 )) in i || (i[ o ] = {}), r == n.length - 1 && (i[ o ] = e[ t ]), i = i[ o ]
150 }
151 delete e[ t ]
152 }
153 }
154 return e
155 }, r.hasScroll = function( e, t ) {
156 var n = o( t ), i = t.style.overflowX, r = t.style.overflowY;
157 return (i !== r || "hidden" !== r && "visible" !== r) && ("scroll" === i || "scroll" === r || (n.innerHeight() < t.scrollHeight || n.innerWidth() < t.scrollWidth))
158 }, r.escapeMarkup = function( e ) {
159 var t = { "\\" : "&#92;", "&" : "&amp;", "<" : "&lt;", ">" : "&gt;", '"' : "&quot;", "'" : "&#39;", "/" : "&#47;" };
160 return "string" != typeof e ? e : String( e ).replace( /[&<>"'\/\\]/g, function( e ) {return t[ e ]} )
161 }, r.appendMany = function( e, t ) {
162 if ( "1.7" === o.fn.jquery.substr( 0, 3 ) ) {
163 var n = o();
164 o.map( t, function( e ) {n = n.add( e )} ), t = n
165 }
166 e.append( t )
167 }, r.__cache = {};
168 var n = 0;
169 return r.GetUniqueElementId = function( e ) {
170 var t = e.getAttribute( "data-select2-id" );
171 return null == t && (e.id ? (t = e.id, e.setAttribute( "data-select2-id", t )) : (e.setAttribute( "data-select2-id", ++n ), t = n.toString())), t
172 }, r.StoreData = function( e, t, n ) {
173 var i = r.GetUniqueElementId( e );
174 r.__cache[ i ] || (r.__cache[ i ] = {}), r.__cache[ i ][ t ] = n
175 }, r.GetData = function( e, t ) {
176 var n = r.GetUniqueElementId( e );
177 return t ? r.__cache[ n ] && null != r.__cache[ n ][ t ] ? r.__cache[ n ][ t ] : o( e ).data( t ) : r.__cache[ n ]
178 }, r.RemoveData = function( e ) {
179 var t = r.GetUniqueElementId( e );
180 null != r.__cache[ t ] && delete r.__cache[ t ], e.removeAttribute( "data-select2-id" )
181 }, r
182 } ), e.define( "select2/results", ["jquery", "./utils"], function( h, f ) {
183 function i( e, t, n ) {this.$element = e, this.data = n, this.options = t, i.__super__.constructor.call( this )}
184
185 return f.Extend( i, f.Observable ), i.prototype.render = function() {
186 var e = h( '<ul class="select2-results__options" role="listbox"></ul>' );
187 return this.options.get( "multiple" ) && e.attr( "aria-multiselectable", "true" ), this.$results = e
188 }, i.prototype.clear = function() {this.$results.empty()}, i.prototype.displayMessage = function( e ) {
189 var t = this.options.get( "escapeMarkup" );
190 this.clear(), this.hideLoading();
191 var n = h( '<li role="alert" aria-live="assertive" class="select2-results__option"></li>' ), i = this.options.get( "translations" ).get( e.message );
192 n.append( t( i( e.args ) ) ), n[ 0 ].className += " select2-results__message", this.$results.append( n )
193 }, i.prototype.hideMessages = function() {this.$results.find( ".select2-results__message" ).remove()}, i.prototype.append = function( e ) {
194 this.hideLoading();
195 var t = [];
196 if ( null != e.results && 0 !== e.results.length ) {
197 e.results = this.sort( e.results );
198 for ( var n = 0; n < e.results.length; n++ ) {
199 var i = e.results[ n ], r = this.option( i );
200 t.push( r )
201 }
202 this.$results.append( t )
203 } else 0 === this.$results.children().length && this.trigger( "results:message", { message : "noResults" } )
204 }, i.prototype.position = function( e, t ) {t.find( ".select2-results" ).append( e )}, i.prototype.sort = function( e ) {return this.options.get( "sorter" )( e )}, i.prototype.highlightFirstItem = function() {
205 var e = this.$results.find( ".select2-results__option[aria-selected]" ), t = e.filter( "[aria-selected=true]" );
206 0 < t.length ? t.first().trigger( "mouseenter" ) : e.first().trigger( "mouseenter" ), this.ensureHighlightVisible()
207 }, i.prototype.setClasses = function() {
208 var t = this;
209 this.data.current( function( e ) {
210 var i = h.map( e, function( e ) {return e.id.toString()} );
211 t.$results.find( ".select2-results__option[aria-selected]" ).each( function() {
212 var e = h( this ), t = f.GetData( this, "data" ), n = "" + t.id;
213 null != t.element && t.element.selected || null == t.element && -1 < h.inArray( n, i ) ? e.attr( "aria-selected", "true" ) : e.attr( "aria-selected", "false" )
214 } )
215 } )
216 }, i.prototype.showLoading = function( e ) {
217 this.hideLoading();
218 var t = { disabled : !0, loading : !0, text : this.options.get( "translations" ).get( "searching" )( e ) }, n = this.option( t );
219 n.className += " loading-results", this.$results.prepend( n )
220 }, i.prototype.hideLoading = function() {this.$results.find( ".loading-results" ).remove()}, i.prototype.option = function( e ) {
221 var t = document.createElement( "li" );
222 t.className = "select2-results__option";
223 var n = { role : "option", "aria-selected" : "false" }, i = window.Element.prototype.matches || window.Element.prototype.msMatchesSelector || window.Element.prototype.webkitMatchesSelector;
224 for ( var r in (null != e.element && i.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 ) {
225 var o = n[ r ];
226 t.setAttribute( r, o )
227 }
228 if ( e.children ) {
229 var s = h( t ), a = document.createElement( "strong" );
230 a.className = "select2-results__group";
231 h( a );
232 this.template( e, a );
233 for ( var l = [], c = 0; c < e.children.length; c++ ) {
234 var u = e.children[ c ], d = this.option( u );
235 l.push( d )
236 }
237 var p = h( "<ul></ul>", { class : "select2-results__options select2-results__options--nested" } );
238 p.append( l ), s.append( a ), s.append( p )
239 } else this.template( e, t );
240 return f.StoreData( t, "data", e ), t
241 }, i.prototype.bind = function( t, e ) {
242 var l = this, n = t.id + "-results";
243 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() {
244 var e = l.getHighlightedResults();
245 0 !== e.length && e.trigger( "mouseup" )
246 } ), t.on( "results:select", function() {
247 var e = l.getHighlightedResults();
248 if ( 0 !== e.length ) {
249 var t = f.GetData( e[ 0 ], "data" );
250 "true" == e.attr( "aria-selected" ) ? l.trigger( "close", {} ) : l.trigger( "select", { data : t } )
251 }
252 } ), t.on( "results:previous", function() {
253 var e = l.getHighlightedResults(), t = l.$results.find( "[aria-selected]" ), n = t.index( e );
254 if ( !(n <= 0) ) {
255 var i = n - 1;
256 0 === e.length && (i = 0);
257 var r = t.eq( i );
258 r.trigger( "mouseenter" );
259 var o = l.$results.offset().top, s = r.offset().top, a = l.$results.scrollTop() + (s - o);
260 0 === i ? l.$results.scrollTop( 0 ) : s - o < 0 && l.$results.scrollTop( a )
261 }
262 } ), t.on( "results:next", function() {
263 var e = l.getHighlightedResults(), t = l.$results.find( "[aria-selected]" ), n = t.index( e ) + 1;
264 if ( !(n >= t.length) ) {
265 var i = t.eq( n );
266 i.trigger( "mouseenter" );
267 var r = l.$results.offset().top + l.$results.outerHeight( !1 ), o = i.offset().top + i.outerHeight( !1 ), s = l.$results.scrollTop() + o - r;
268 0 === n ? l.$results.scrollTop( 0 ) : r < o && l.$results.scrollTop( s )
269 }
270 } ), 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 ) {
271 var t = l.$results.scrollTop(), n = l.$results.get( 0 ).scrollHeight - t + e.deltaY, i = 0 < e.deltaY && t - e.deltaY <= 0, r = e.deltaY < 0 && n <= l.$results.height();
272 i ? (l.$results.scrollTop( 0 ), e.preventDefault(), e.stopPropagation()) : r && (l.$results.scrollTop( l.$results.get( 0 ).scrollHeight - l.$results.height() ), e.preventDefault(), e.stopPropagation())
273 } ), this.$results.on( "mouseup", ".select2-results__option[aria-selected]", function( e ) {
274 var t = h( this ), n = f.GetData( this, "data" );
275 "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", {} )
276 } ), this.$results.on( "mouseenter", ".select2-results__option[aria-selected]", function( e ) {
277 var t = f.GetData( this, "data" );
278 l.getHighlightedResults().removeClass( "select2-results__option--highlighted" ), l.trigger( "results:focus", { data : t, element : h( this ) } )
279 } )
280 }, i.prototype.getHighlightedResults = function() {return this.$results.find( ".select2-results__option--highlighted" )}, i.prototype.destroy = function() {this.$results.remove()}, i.prototype.ensureHighlightVisible = function() {
281 var e = this.getHighlightedResults();
282 if ( 0 !== e.length ) {
283 var t = this.$results.find( "[aria-selected]" ).index( e ), n = this.$results.offset().top, i = e.offset().top, r = this.$results.scrollTop() + (i - n), o = i - n;
284 r -= 2 * e.outerHeight( !1 ), t <= 2 ? this.$results.scrollTop( 0 ) : (o > this.$results.outerHeight() || o < 0) && this.$results.scrollTop( r )
285 }
286 }, i.prototype.template = function( e, t ) {
287 var n = this.options.get( "templateResult" ), i = this.options.get( "escapeMarkup" ), r = n( e, t );
288 null == r ? t.style.display = "none" : "string" == typeof r ? t.innerHTML = i( r ) : h( t ).append( r )
289 }, i
290 } ), 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, i, r ) {
291 function o( e, t ) {this.$element = e, this.options = t, o.__super__.constructor.call( this )}
292
293 return i.Extend( o, i.Observable ), o.prototype.render = function() {
294 var e = n( '<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>' );
295 return this._tabindex = 0, null != i.GetData( this.$element[ 0 ], "old-tabindex" ) ? this._tabindex = i.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
296 }, o.prototype.bind = function( e, t ) {
297 var n = this, i = e.id + "-results";
298 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 === r.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", i ), 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" )} )
299 }, o.prototype._handleBlur = function( e ) {
300 var t = this;
301 window.setTimeout( function() {document.activeElement == t.$selection[ 0 ] || n.contains( t.$selection[ 0 ], document.activeElement ) || t.trigger( "blur", e )}, 1 )
302 }, o.prototype._attachCloseHandler = function( e ) {
303 n( document.body ).on( "mousedown.select2." + e.id, function( e ) {
304 var t = n( e.target ).closest( ".select2" );
305 n( ".select2.select2-container--open" ).each( function() {this != t[ 0 ] && i.GetData( this, "element" ).select2( "close" )} )
306 } )
307 }, 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
308 } ), e.define( "select2/selection/single", ["jquery", "./base", "../utils", "../keys"], function( e, t, n, i ) {
309 function r() {r.__super__.constructor.apply( this, arguments )}
310
311 return n.Extend( r, t ), r.prototype.render = function() {
312 var e = r.__super__.render.call( this );
313 return e.addClass( "select2-selection--single" ), e.html( '<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>' ), e
314 }, r.prototype.bind = function( t, e ) {
315 var n = this;
316 r.__super__.bind.apply( this, arguments );
317 var i = t.id + "-container";
318 this.$selection.find( ".select2-selection__rendered" ).attr( "id", i ).attr( "role", "textbox" ).attr( "aria-readonly", "true" ), this.$selection.attr( "aria-labelledby", i ), 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" )} )
319 }, r.prototype.clear = function() {
320 var e = this.$selection.find( ".select2-selection__rendered" );
321 e.empty(), e.removeAttr( "title" )
322 }, r.prototype.display = function( e, t ) {
323 var n = this.options.get( "templateSelection" );
324 return this.options.get( "escapeMarkup" )( n( e, t ) )
325 }, r.prototype.selectionContainer = function() {return e( "<span></span>" )}, r.prototype.update = function( e ) {
326 if ( 0 !== e.length ) {
327 var t = e[ 0 ], n = this.$selection.find( ".select2-selection__rendered" ), i = this.display( t, n );
328 n.empty().append( i );
329 var r = t.title || t.text;
330 r ? n.attr( "title", r ) : n.removeAttr( "title" )
331 } else this.clear()
332 }, r
333 } ), e.define( "select2/selection/multiple", ["jquery", "./base", "../utils"], function( r, e, l ) {
334 function n( e, t ) {n.__super__.constructor.apply( this, arguments )}
335
336 return l.Extend( n, e ), n.prototype.render = function() {
337 var e = n.__super__.render.call( this );
338 return e.addClass( "select2-selection--multiple" ), e.html( '<ul class="select2-selection__rendered"></ul>' ), e
339 }, n.prototype.bind = function( e, t ) {
340 var i = this;
341 n.__super__.bind.apply( this, arguments ), this.$selection.on( "click", function( e ) {i.trigger( "toggle", { originalEvent : e } )} ), this.$selection.on( "click", ".select2-selection__choice__remove", function( e ) {
342 if ( !i.options.get( "disabled" ) ) {
343 var t = r( this ).parent(), n = l.GetData( t[ 0 ], "data" );
344 i.trigger( "unselect", { originalEvent : e, data : n } )
345 }
346 } )
347 }, n.prototype.clear = function() {
348 var e = this.$selection.find( ".select2-selection__rendered" );
349 e.empty(), e.removeAttr( "title" )
350 }, n.prototype.display = function( e, t ) {
351 var n = this.options.get( "templateSelection" );
352 return this.options.get( "escapeMarkup" )( n( e, t ) )
353 }, n.prototype.selectionContainer = function() {return r( '<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">&times;</span></li>' )}, n.prototype.update = function( e ) {
354 if ( this.clear(), 0 !== e.length ) {
355 for ( var t = [], n = 0; n < e.length; n++ ) {
356 var i = e[ n ], r = this.selectionContainer(), o = this.display( i, r );
357 r.append( o );
358 var s = i.title || i.text;
359 s && r.attr( "title", s ), l.StoreData( r[ 0 ], "data", i ), t.push( r )
360 }
361 var a = this.$selection.find( ".select2-selection__rendered" );
362 l.appendMany( a, t )
363 }
364 }, n
365 } ), e.define( "select2/selection/placeholder", ["../utils"], function( e ) {
366 function t( e, t, n ) {this.placeholder = this.normalizePlaceholder( n.get( "placeholder" ) ), e.call( this, t, n )}
367
368 return t.prototype.normalizePlaceholder = function( e, t ) {return "string" == typeof t && (t = { id : "", text : t }), t}, t.prototype.createPlaceholder = function( e, t ) {
369 var n = this.selectionContainer();
370 return n.html( this.display( t ) ), n.addClass( "select2-selection__placeholder" ).removeClass( "select2-selection__choice" ), n
371 }, t.prototype.update = function( e, t ) {
372 var n = 1 == t.length && t[ 0 ].id != this.placeholder.id;
373 if ( 1 < t.length || n ) return e.call( this, t );
374 this.clear();
375 var i = this.createPlaceholder( this.placeholder );
376 this.$selection.find( ".select2-selection__rendered" ).append( i )
377 }, t
378 } ), e.define( "select2/selection/allowClear", ["jquery", "../keys", "../utils"], function( r, i, a ) {
379 function e() {}
380
381 return e.prototype.bind = function( e, t, n ) {
382 var i = this;
383 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 ) {i._handleClear( e )} ), t.on( "keypress", function( e ) {i._handleKeyboardClear( e, t )} )
384 }, e.prototype._handleClear = function( e, t ) {
385 if ( !this.options.get( "disabled" ) ) {
386 var n = this.$selection.find( ".select2-selection__clear" );
387 if ( 0 !== n.length ) {
388 t.stopPropagation();
389 var i = a.GetData( n[ 0 ], "data" ), r = this.$element.val();
390 this.$element.val( this.placeholder.id );
391 var o = { data : i };
392 if ( this.trigger( "clear", o ), o.prevented ) this.$element.val( r ); else {
393 for ( var s = 0; s < i.length; s++ ) if ( o = { data : i[ s ] }, this.trigger( "unselect", o ), o.prevented ) return void this.$element.val( r );
394 this.$element.trigger( "change" ), this.trigger( "toggle", {} )
395 }
396 }
397 }
398 }, e.prototype._handleKeyboardClear = function( e, t, n ) {n.isOpen() || t.which != i.DELETE && t.which != i.BACKSPACE || this._handleClear( t )}, e.prototype.update = function( e, t ) {
399 if ( e.call( this, t ), !(0 < this.$selection.find( ".select2-selection__placeholder" ).length || 0 === t.length) ) {
400 var n = this.options.get( "translations" ).get( "removeAllItems" ), i = r( '<span class="select2-selection__clear" title="' + n() + '">&times;</span>' );
401 a.StoreData( i[ 0 ], "data", t ), this.$selection.find( ".select2-selection__rendered" ).prepend( i )
402 }
403 }, e
404 } ), e.define( "select2/selection/search", ["jquery", "../utils", "../keys"], function( i, a, l ) {
405 function e( e, t, n ) {e.call( this, t, n )}
406
407 return e.prototype.render = function( e ) {
408 var t = i( '<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></li>' );
409 this.$searchContainer = t, this.$search = t.find( "input" );
410 var n = e.call( this );
411 return this._transferTabIndex(), n
412 }, e.prototype.bind = function( e, t, n ) {
413 var i = this, r = t.id + "-results";
414 e.call( this, t, n ), t.on( "open", function() {i.$search.attr( "aria-controls", r ), i.$search.trigger( "focus" )} ), t.on( "close", function() {i.$search.val( "" ), i.$search.removeAttr( "aria-controls" ), i.$search.removeAttr( "aria-activedescendant" ), i.$search.trigger( "focus" )} ), t.on( "enable", function() {i.$search.prop( "disabled", !1 ), i._transferTabIndex()} ), t.on( "disable", function() {i.$search.prop( "disabled", !0 )} ), t.on( "focus", function( e ) {i.$search.trigger( "focus" )} ), t.on( "results:focus", function( e ) {e.data._resultId ? i.$search.attr( "aria-activedescendant", e.data._resultId ) : i.$search.removeAttr( "aria-activedescendant" )} ), this.$selection.on( "focusin", ".select2-search--inline", function( e ) {i.trigger( "focus", e )} ), this.$selection.on( "focusout", ".select2-search--inline", function( e ) {i._handleBlur( e )} ), this.$selection.on( "keydown", ".select2-search--inline", function( e ) {
415 if ( e.stopPropagation(), i.trigger( "keypress", e ), i._keyUpPrevented = e.isDefaultPrevented(), e.which === l.BACKSPACE && "" === i.$search.val() ) {
416 var t = i.$searchContainer.prev( ".select2-selection__choice" );
417 if ( 0 < t.length ) {
418 var n = a.GetData( t[ 0 ], "data" );
419 i.searchRemoveChoice( n ), e.preventDefault()
420 }
421 }
422 } ), this.$selection.on( "click", ".select2-search--inline", function( e ) {i.$search.val() && e.stopPropagation()} );
423 var o = document.documentMode, s = o && o <= 11;
424 this.$selection.on( "input.searchcheck", ".select2-search--inline", function( e ) {s ? i.$selection.off( "input.search input.searchcheck" ) : i.$selection.off( "keyup.search" )} ), this.$selection.on( "keyup.search input.search", ".select2-search--inline", function( e ) {
425 if ( s && "input" === e.type ) i.$selection.off( "input.search input.searchcheck" ); else {
426 var t = e.which;
427 t != l.SHIFT && t != l.CTRL && t != l.ALT && t != l.TAB && i.handleSearch( e )
428 }
429 } )
430 }, 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 ) {
431 var n = this.$search[ 0 ] == document.activeElement;
432 this.$search.attr( "placeholder", "" ), e.call( this, t ), this.$selection.find( ".select2-selection__rendered" ).append( this.$searchContainer ), this.resizeSearch(), n && this.$search.trigger( "focus" )
433 }, e.prototype.handleSearch = function() {
434 if ( this.resizeSearch(), !this._keyUpPrevented ) {
435 var e = this.$search.val();
436 this.trigger( "query", { term : e } )
437 }
438 this._keyUpPrevented = !1
439 }, e.prototype.searchRemoveChoice = function( e, t ) {this.trigger( "unselect", { data : t } ), this.$search.val( t.text ), this.handleSearch()}, e.prototype.resizeSearch = function() {
440 this.$search.css( "width", "25px" );
441 var e = "";
442 "" !== this.$search.attr( "placeholder" ) ? e = this.$selection.find( ".select2-selection__rendered" ).width() : e = .75 * (this.$search.val().length + 1) + "em";
443 this.$search.css( "width", e )
444 }, e
445 } ), e.define( "select2/selection/eventRelay", ["jquery"], function( s ) {
446 function e() {}
447
448 return e.prototype.bind = function( e, t, n ) {
449 var i = this, r = ["open", "opening", "close", "closing", "select", "selecting", "unselect", "unselecting", "clear", "clearing"], o = ["opening", "closing", "selecting", "unselecting", "clearing"];
450 e.call( this, t, n ), t.on( "*", function( e, t ) {
451 if ( -1 !== s.inArray( e, r ) ) {
452 t = t || {};
453 var n = s.Event( "select2:" + e, { params : t } );
454 i.$element.trigger( n ), -1 !== s.inArray( e, o ) && (t.prevented = n.isDefaultPrevented())
455 }
456 } )
457 }, e
458 } ), e.define( "select2/translation", ["jquery", "require"], function( t, n ) {
459 function i( e ) {this.dict = e || {}}
460
461 return i.prototype.all = function() {return this.dict}, i.prototype.get = function( e ) {return this.dict[ e ]}, i.prototype.extend = function( e ) {this.dict = t.extend( {}, e.all(), this.dict )}, i._cache = {}, i.loadPath = function( e ) {
462 if ( !(e in i._cache) ) {
463 var t = n( e );
464 i._cache[ e ] = t
465 }
466 return new i( i._cache[ e ] )
467 }, i
468 } ), e.define( "select2/diacritics", [], function() {
469 return {
470 "" : "A",
471 "" : "A",
472 "À" : "A",
473 "Á" : "A",
474 "Â" : "A",
475 "" : "A",
476 "" : "A",
477 "" : "A",
478 "" : "A",
479 "Ã" : "A",
480 "Ā" : "A",
481 "Ă" : "A",
482 "" : "A",
483 "" : "A",
484 "" : "A",
485 "" : "A",
486 "Ȧ" : "A",
487 "Ǡ" : "A",
488 "Ä" : "A",
489 "Ǟ" : "A",
490 "" : "A",
491 "�
492 " : "A",
493 "Ǻ" : "A",
494 "Ǎ" : "A",
495 "Ȁ" : "A",
496 "Ȃ" : "A",
497 "" : "A",
498 "" : "A",
499 "" : "A",
500 "" : "A",
501 "Ą" : "A",
502 "Ⱥ" : "A",
503 "" : "A",
504 "" : "AA",
505 "Æ" : "AE",
506 "Ǽ" : "AE",
507 "Ǣ" : "AE",
508 "" : "AO",
509 "" : "AU",
510 "" : "AV",
511 "" : "AV",
512 "" : "AY",
513 "" : "B",
514 "" : "B",
515 "" : "B",
516 "" : "B",
517 "" : "B",
518 "Ƀ" : "B",
519 "Ƃ" : "B",
520 "Ɓ" : "B",
521 "" : "C",
522 "" : "C",
523 "Ć" : "C",
524 "Ĉ" : "C",
525 "Ċ" : "C",
526 "Č" : "C",
527 "Ç" : "C",
528 "" : "C",
529 "Ƈ" : "C",
530 "Ȼ" : "C",
531 "" : "C",
532 "" : "D",
533 "" : "D",
534 "" : "D",
535 "Ď" : "D",
536 "" : "D",
537 "" : "D",
538 "" : "D",
539 "" : "D",
540 "Đ" : "D",
541 "Ƌ" : "D",
542 "Ɗ" : "D",
543 "Ɖ" : "D",
544 "" : "D",
545 "DZ" : "DZ",
546 "DŽ" : "DZ",
547 "Dz" : "Dz",
548 "�
549 " : "Dz",
550 "" : "E",
551 "" : "E",
552 "È" : "E",
553 "É" : "E",
554 "Ê" : "E",
555 "" : "E",
556 "" : "E",
557 "" : "E",
558 "" : "E",
559 "" : "E",
560 "Ē" : "E",
561 "" : "E",
562 "" : "E",
563 "Ĕ" : "E",
564 "Ė" : "E",
565 "Ë" : "E",
566 "" : "E",
567 "Ě" : "E",
568 "Ȅ" : "E",
569 "Ȇ" : "E",
570 "" : "E",
571 "" : "E",
572 "Ȩ" : "E",
573 "" : "E",
574 "Ę" : "E",
575 "" : "E",
576 "" : "E",
577 "Ɛ" : "E",
578 "Ǝ" : "E",
579 "" : "F",
580 "" : "F",
581 "" : "F",
582 "Ƒ" : "F",
583 "" : "F",
584 "" : "G",
585 "" : "G",
586 "Ǵ" : "G",
587 "Ĝ" : "G",
588 "" : "G",
589 "Ğ" : "G",
590 "Ġ" : "G",
591 "Ǧ" : "G",
592 "Ģ" : "G",
593 "Ǥ" : "G",
594 "Ɠ" : "G",
595 "" : "G",
596 "" : "G",
597 "" : "G",
598 "" : "H",
599 "" : "H",
600 "Ĥ" : "H",
601 "" : "H",
602 "" : "H",
603 "Ȟ" : "H",
604 "" : "H",
605 "" : "H",
606 "" : "H",
607 "Ħ" : "H",
608 "" : "H",
609 "" : "H",
610 "" : "H",
611 "" : "I",
612 "" : "I",
613 "Ì" : "I",
614 "Í" : "I",
615 "Î" : "I",
616 "Ĩ" : "I",
617 "Ī" : "I",
618 "Ĭ" : "I",
619 "İ" : "I",
620 "Ï" : "I",
621 "" : "I",
622 "" : "I",
623 "Ǐ" : "I",
624 "Ȉ" : "I",
625 "Ȋ" : "I",
626 "" : "I",
627 "Į" : "I",
628 "" : "I",
629 "Ɨ" : "I",
630 "" : "J",
631 "" : "J",
632 "Ĵ" : "J",
633 "Ɉ" : "J",
634 "" : "K",
635 "" : "K",
636 "" : "K",
637 "Ǩ" : "K",
638 "" : "K",
639 "Ķ" : "K",
640 "" : "K",
641 "Ƙ" : "K",
642 "" : "K",
643 "" : "K",
644 "" : "K",
645 "" : "K",
646 "" : "K",
647 "" : "L",
648 "" : "L",
649 "Ŀ" : "L",
650 "Ĺ" : "L",
651 "Ľ" : "L",
652 "" : "L",
653 "" : "L",
654 "Ļ" : "L",
655 "" : "L",
656 "" : "L",
657 "Ł" : "L",
658 "Ƚ" : "L",
659 "" : "L",
660 "" : "L",
661 "" : "L",
662 "" : "L",
663 "" : "L",
664 "LJ" : "LJ",
665 "Lj" : "Lj",
666 "" : "M",
667 "" : "M",
668 "" : "M",
669 "" : "M",
670 "" : "M",
671 "" : "M",
672 "Ɯ" : "M",
673 "" : "N",
674 "" : "N",
675 "Ǹ" : "N",
676 "Ń" : "N",
677 "Ñ" : "N",
678 "" : "N",
679 "Ň" : "N",
680 "" : "N",
681 "�
682 " : "N",
683 "" : "N",
684 "" : "N",
685 "Ƞ" : "N",
686 "Ɲ" : "N",
687 "" : "N",
688 "" : "N",
689 "NJ" : "NJ",
690 "Nj" : "Nj",
691 "" : "O",
692 "" : "O",
693 "Ò" : "O",
694 "Ó" : "O",
695 "Ô" : "O",
696 "" : "O",
697 "" : "O",
698 "" : "O",
699 "" : "O",
700 "Õ" : "O",
701 "" : "O",
702 "Ȭ" : "O",
703 "" : "O",
704 "Ō" : "O",
705 "" : "O",
706 "" : "O",
707 "Ŏ" : "O",
708 "Ȯ" : "O",
709 "Ȱ" : "O",
710 "Ö" : "O",
711 "Ȫ" : "O",
712 "" : "O",
713 "Ő" : "O",
714 "Ǒ" : "O",
715 "Ȍ" : "O",
716 "Ȏ" : "O",
717 "Ơ" : "O",
718 "" : "O",
719 "" : "O",
720 "" : "O",
721 "" : "O",
722 "" : "O",
723 "" : "O",
724 "" : "O",
725 "Ǫ" : "O",
726 "Ǭ" : "O",
727 "Ø" : "O",
728 "Ǿ" : "O",
729 "Ɔ" : "O",
730 "Ɵ" : "O",
731 "" : "O",
732 "" : "O",
733 "Œ" : "OE",
734 "Ƣ" : "OI",
735 "" : "OO",
736 "Ȣ" : "OU",
737 "�
738 " : "P",
739 "" : "P",
740 "" : "P",
741 "" : "P",
742 "Ƥ" : "P",
743 "" : "P",
744 "" : "P",
745 "" : "P",
746 "" : "P",
747 "" : "Q",
748 "" : "Q",
749 "" : "Q",
750 "" : "Q",
751 "Ɋ" : "Q",
752 "" : "R",
753 "" : "R",
754 "Ŕ" : "R",
755 "" : "R",
756 "Ř" : "R",
757 "Ȑ" : "R",
758 "Ȓ" : "R",
759 "" : "R",
760 "" : "R",
761 "Ŗ" : "R",
762 "" : "R",
763 "Ɍ" : "R",
764 "" : "R",
765 "" : "R",
766 "" : "R",
767 "" : "R",
768 "" : "S",
769 "" : "S",
770 "" : "S",
771 "Ś" : "S",
772 "" : "S",
773 "Ŝ" : "S",
774 "" : "S",
775 "Š" : "S",
776 "" : "S",
777 "" : "S",
778 "" : "S",
779 "Ș" : "S",
780 "Ş" : "S",
781 "" : "S",
782 "" : "S",
783 "" : "S",
784 "" : "T",
785 "" : "T",
786 "" : "T",
787 "Ť" : "T",
788 "" : "T",
789 "Ț" : "T",
790 "Ţ" : "T",
791 "" : "T",
792 "" : "T",
793 "Ŧ" : "T",
794 "Ƭ" : "T",
795 "Ʈ" : "T",
796 "Ⱦ" : "T",
797 "" : "T",
798 "" : "TZ",
799 "" : "U",
800 "" : "U",
801 "Ù" : "U",
802 "Ú" : "U",
803 "Û" : "U",
804 "Ũ" : "U",
805 "" : "U",
806 "Ū" : "U",
807 "" : "U",
808 "Ŭ" : "U",
809 "Ü" : "U",
810 "Ǜ" : "U",
811 "Ǘ" : "U",
812 "Ǖ" : "U",
813 "Ǚ" : "U",
814 "" : "U",
815 "Ů" : "U",
816 "Ű" : "U",
817 "Ǔ" : "U",
818 "Ȕ" : "U",
819 "Ȗ" : "U",
820 "Ư" : "U",
821 "" : "U",
822 "" : "U",
823 "" : "U",
824 "" : "U",
825 "" : "U",
826 "" : "U",
827 "" : "U",
828 "Ų" : "U",
829 "" : "U",
830 "" : "U",
831 "Ʉ" : "U",
832 "" : "V",
833 "" : "V",
834 "" : "V",
835 "" : "V",
836 "Ʋ" : "V",
837 "" : "V",
838 "�
839 " : "V",
840 "" : "VY",
841 "" : "W",
842 "" : "W",
843 "" : "W",
844 "" : "W",
845 "Ŵ" : "W",
846 "" : "W",
847 "" : "W",
848 "" : "W",
849 "" : "W",
850 "" : "X",
851 "" : "X",
852 "" : "X",
853 "" : "X",
854 "" : "Y",
855 "" : "Y",
856 "" : "Y",
857 "Ý" : "Y",
858 "Ŷ" : "Y",
859 "" : "Y",
860 "Ȳ" : "Y",
861 "" : "Y",
862 "Ÿ" : "Y",
863 "" : "Y",
864 "" : "Y",
865 "Ƴ" : "Y",
866 "Ɏ" : "Y",
867 "" : "Y",
868 "" : "Z",
869 "" : "Z",
870 "Ź" : "Z",
871 "" : "Z",
872 "Ż" : "Z",
873 "Ž" : "Z",
874 "" : "Z",
875 "" : "Z",
876 "Ƶ" : "Z",
877 "Ȥ" : "Z",
878 "Ɀ" : "Z",
879 "" : "Z",
880 "" : "Z",
881 "" : "a",
882 "" : "a",
883 "" : "a",
884 "à" : "a",
885 "á" : "a",
886 "â" : "a",
887 "" : "a",
888 "" : "a",
889 "" : "a",
890 "" : "a",
891 "ã" : "a",
892 "ā" : "a",
893 "ă" : "a",
894 "" : "a",
895 "" : "a",
896 "" : "a",
897 "" : "a",
898 "ȧ" : "a",
899 "ǡ" : "a",
900 "ä" : "a",
901 "ǟ" : "a",
902 "" : "a",
903 "å" : "a",
904 "ǻ" : "a",
905 "ǎ" : "a",
906 "ȁ" : "a",
907 "ȃ" : "a",
908 "" : "a",
909 "" : "a",
910 "" : "a",
911 "" : "a",
912 "�
913 " : "a",
914 "" : "a",
915 "ɐ" : "a",
916 "" : "aa",
917 "æ" : "ae",
918 "ǽ" : "ae",
919 "ǣ" : "ae",
920 "" : "ao",
921 "" : "au",
922 "" : "av",
923 "" : "av",
924 "" : "ay",
925 "" : "b",
926 "" : "b",
927 "" : "b",
928 "�
929 " : "b",
930 "" : "b",
931 "ƀ" : "b",
932 "ƃ" : "b",
933 "ɓ" : "b",
934 "" : "c",
935 "" : "c",
936 "ć" : "c",
937 "ĉ" : "c",
938 "ċ" : "c",
939 "č" : "c",
940 "ç" : "c",
941 "" : "c",
942 "ƈ" : "c",
943 "ȼ" : "c",
944 "" : "c",
945 "" : "c",
946 "" : "d",
947 "" : "d",
948 "" : "d",
949 "ď" : "d",
950 "" : "d",
951 "" : "d",
952 "" : "d",
953 "" : "d",
954 "đ" : "d",
955 "ƌ" : "d",
956 "ɖ" : "d",
957 "ɗ" : "d",
958 "" : "d",
959 "dz" : "dz",
960 "dž" : "dz",
961 "" : "e",
962 "�
963 " : "e",
964 "è" : "e",
965 "é" : "e",
966 "ê" : "e",
967 "" : "e",
968 "ế" : "e",
969 "�
970 " : "e",
971 "" : "e",
972 "" : "e",
973 "ē" : "e",
974 "" : "e",
975 "" : "e",
976 "ĕ" : "e",
977 "ė" : "e",
978 "ë" : "e",
979 "" : "e",
980 "ě" : "e",
981 "�
982 " : "e",
983 "ȇ" : "e",
984 "" : "e",
985 "" : "e",
986 "ȩ" : "e",
987 "" : "e",
988 "ę" : "e",
989 "" : "e",
990 "" : "e",
991 "ɇ" : "e",
992 "ɛ" : "e",
993 "ǝ" : "e",
994 "" : "f",
995 "" : "f",
996 "" : "f",
997 "ƒ" : "f",
998 "" : "f",
999 "" : "g",
1000 "" : "g",
1001 "ǵ" : "g",
1002 "ĝ" : "g",
1003 "" : "g",
1004 "ğ" : "g",
1005 "ġ" : "g",
1006 "ǧ" : "g",
1007 "ģ" : "g",
1008 "ǥ" : "g",
1009 "ɠ" : "g",
1010 "" : "g",
1011 "" : "g",
1012 "" : "g",
1013 "" : "h",
1014 "" : "h",
1015 "ĥ" : "h",
1016 "" : "h",
1017 "" : "h",
1018 "ȟ" : "h",
1019 "" : "h",
1020 "" : "h",
1021 "" : "h",
1022 "" : "h",
1023 "ħ" : "h",
1024 "" : "h",
1025 "" : "h",
1026 "ɥ" : "h",
1027 "ƕ" : "hv",
1028 "" : "i",
1029 "" : "i",
1030 "ì" : "i",
1031 "í" : "i",
1032 "î" : "i",
1033 "ĩ" : "i",
1034 "ī" : "i",
1035 "ĭ" : "i",
1036 "ï" : "i",
1037 "" : "i",
1038 "" : "i",
1039 "ǐ" : "i",
1040 "ȉ" : "i",
1041 "ȋ" : "i",
1042 "" : "i",
1043 "į" : "i",
1044 "" : "i",
1045 "ɨ" : "i",
1046 "ı" : "i",
1047 "" : "j",
1048 "" : "j",
1049 "ĵ" : "j",
1050 "ǰ" : "j",
1051 "ɉ" : "j",
1052 "" : "k",
1053 "" : "k",
1054 "" : "k",
1055 "ǩ" : "k",
1056 "" : "k",
1057 "ķ" : "k",
1058 "" : "k",
1059 "ƙ" : "k",
1060 "" : "k",
1061 "" : "k",
1062 "" : "k",
1063 "�
1064 " : "k",
1065 "" : "k",
1066 "" : "l",
1067 "" : "l",
1068 "ŀ" : "l",
1069 "ĺ" : "l",
1070 "ľ" : "l",
1071 "" : "l",
1072 "" : "l",
1073 "ļ" : "l",
1074 "" : "l",
1075 "" : "l",
1076 "ſ" : "l",
1077 "ł" : "l",
1078 "ƚ" : "l",
1079 "ɫ" : "l",
1080 "" : "l",
1081 "" : "l",
1082 "" : "l",
1083 "" : "l",
1084 "lj" : "lj",
1085 "" : "m",
1086 "" : "m",
1087 "ḿ" : "m",
1088 "" : "m",
1089 "" : "m",
1090 "ɱ" : "m",
1091 "ɯ" : "m",
1092 "" : "n",
1093 "" : "n",
1094 "ǹ" : "n",
1095 "ń" : "n",
1096 "ñ" : "n",
1097 "�
1098 " : "n",
1099 "ň" : "n",
1100 "" : "n",
1101 "ņ" : "n",
1102 "" : "n",
1103 "" : "n",
1104 "ƞ" : "n",
1105 "ɲ" : "n",
1106 "ʼn" : "n",
1107 "" : "n",
1108 "" : "n",
1109 "nj" : "nj",
1110 "" : "o",
1111 "" : "o",
1112 "ò" : "o",
1113 "ó" : "o",
1114 "ô" : "o",
1115 "" : "o",
1116 "" : "o",
1117 "" : "o",
1118 "" : "o",
1119 "õ" : "o",
1120 "" : "o",
1121 "ȭ" : "o",
1122 "" : "o",
1123 "ō" : "o",
1124 "" : "o",
1125 "" : "o",
1126 "ŏ" : "o",
1127 "ȯ" : "o",
1128 "ȱ" : "o",
1129 "ö" : "o",
1130 "ȫ" : "o",
1131 "" : "o",
1132 "ő" : "o",
1133 "ǒ" : "o",
1134 "ȍ" : "o",
1135 "ȏ" : "o",
1136 "ơ" : "o",
1137 "" : "o",
1138 "" : "o",
1139 "" : "o",
1140 "" : "o",
1141 "" : "o",
1142 "" : "o",
1143 "" : "o",
1144 "ǫ" : "o",
1145 "ǭ" : "o",
1146 "ø" : "o",
1147 "ǿ" : "o",
1148 "ɔ" : "o",
1149 "" : "o",
1150 "" : "o",
1151 "ɵ" : "o",
1152 "œ" : "oe",
1153 "ƣ" : "oi",
1154 "ȣ" : "ou",
1155 "" : "oo",
1156 "" : "p",
1157 "" : "p",
1158 "" : "p",
1159 "" : "p",
1160 "ƥ" : "p",
1161 "" : "p",
1162 "" : "p",
1163 "" : "p",
1164 "" : "p",
1165 "" : "q",
1166 "" : "q",
1167 "ɋ" : "q",
1168 "" : "q",
1169 "" : "q",
1170 "" : "r",
1171 "" : "r",
1172 "ŕ" : "r",
1173 "" : "r",
1174 "ř" : "r",
1175 "ȑ" : "r",
1176 "ȓ" : "r",
1177 "" : "r",
1178 "" : "r",
1179 "ŗ" : "r",
1180 "" : "r",
1181 "ɍ" : "r",
1182 "ɽ" : "r",
1183 "" : "r",
1184 "" : "r",
1185 "" : "r",
1186 "" : "s",
1187 "" : "s",
1188 "ß" : "s",
1189 "ś" : "s",
1190 "" : "s",
1191 "ŝ" : "s",
1192 "" : "s",
1193 "š" : "s",
1194 "" : "s",
1195 "" : "s",
1196 "" : "s",
1197 "ș" : "s",
1198 "ş" : "s",
1199 "ȿ" : "s",
1200 "" : "s",
1201 "�
1202 " : "s",
1203 "" : "s",
1204 "" : "t",
1205 "" : "t",
1206 "" : "t",
1207 "" : "t",
1208 "ť" : "t",
1209 "" : "t",
1210 "ț" : "t",
1211 "ţ" : "t",
1212 "" : "t",
1213 "" : "t",
1214 "ŧ" : "t",
1215 "ƭ" : "t",
1216 "ʈ" : "t",
1217 "" : "t",
1218 "" : "t",
1219 "" : "tz",
1220 "" : "u",
1221 "" : "u",
1222 "ù" : "u",
1223 "ú" : "u",
1224 "û" : "u",
1225 "ũ" : "u",
1226 "" : "u",
1227 "ū" : "u",
1228 "" : "u",
1229 "ŭ" : "u",
1230 "ü" : "u",
1231 "ǜ" : "u",
1232 "ǘ" : "u",
1233 "ǖ" : "u",
1234 "ǚ" : "u",
1235 "" : "u",
1236 "ů" : "u",
1237 "ű" : "u",
1238 "ǔ" : "u",
1239 "ȕ" : "u",
1240 "ȗ" : "u",
1241 "ư" : "u",
1242 "" : "u",
1243 "" : "u",
1244 "" : "u",
1245 "" : "u",
1246 "" : "u",
1247 "" : "u",
1248 "" : "u",
1249 "ų" : "u",
1250 "" : "u",
1251 "" : "u",
1252 "ʉ" : "u",
1253 "" : "v",
1254 "" : "v",
1255 "" : "v",
1256 "ṿ" : "v",
1257 "ʋ" : "v",
1258 "" : "v",
1259 "ʌ" : "v",
1260 "" : "vy",
1261 "" : "w",
1262 "" : "w",
1263 "" : "w",
1264 "" : "w",
1265 "ŵ" : "w",
1266 "" : "w",
1267 "�
1268 " : "w",
1269 "" : "w",
1270 "" : "w",
1271 "" : "w",
1272 "" : "x",
1273 "" : "x",
1274 "" : "x",
1275 "" : "x",
1276 "" : "y",
1277 "" : "y",
1278 "" : "y",
1279 "ý" : "y",
1280 "ŷ" : "y",
1281 "" : "y",
1282 "ȳ" : "y",
1283 "" : "y",
1284 "ÿ" : "y",
1285 "" : "y",
1286 "" : "y",
1287 "" : "y",
1288 "ƴ" : "y",
1289 "ɏ" : "y",
1290 "ỿ" : "y",
1291 "" : "z",
1292 "" : "z",
1293 "ź" : "z",
1294 "" : "z",
1295 "ż" : "z",
1296 "ž" : "z",
1297 "" : "z",
1298 "" : "z",
1299 "ƶ" : "z",
1300 "ȥ" : "z",
1301 "ɀ" : "z",
1302 "" : "z",
1303 "" : "z",
1304 "Ά" : "Α",
1305 "Έ" : "Ε",
1306 "Ή" : "Η",
1307 "Ί" : "Ι",
1308 "Ϊ" : "Ι",
1309 "Ό" : "Ο",
1310 "Ύ" : "Υ",
1311 "Ϋ" : "Υ",
1312 "Ώ" : "Ω",
1313 "ά" : "α",
1314 "έ" : "ε",
1315 "ή" : "η",
1316 "ί" : "ι",
1317 "ϊ" : "ι",
1318 "ΐ" : "ι",
1319 "ό" : "ο",
1320 "ύ" : "�
1321 ",
1322 "ϋ" : "�
1323 ",
1324 "ΰ" : "�
1325 ",
1326 "ώ" : "ω",
1327 "ς" : "σ",
1328 "" : "'"
1329 }
1330 } ), e.define( "select2/data/base", ["../utils"], function( i ) {
1331 function n( e, t ) {n.__super__.constructor.call( this )}
1332
1333 return i.Extend( n, i.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 ) {
1334 var n = e.id + "-result-";
1335 return n += i.generateChars( 4 ), null != t.id ? n += "-" + t.id.toString() : n += "-" + i.generateChars( 4 ), n
1336 }, n
1337 } ), e.define( "select2/data/select", ["./base", "../utils", "jquery"], function( e, a, l ) {
1338 function n( e, t ) {this.$element = e, this.options = t, n.__super__.constructor.call( this )}
1339
1340 return a.Extend( n, e ), n.prototype.current = function( e ) {
1341 var n = [], i = this;
1342 this.$element.find( ":selected" ).each( function() {
1343 var e = l( this ), t = i.item( e );
1344 n.push( t )
1345 } ), e( n )
1346 }, n.prototype.select = function( r ) {
1347 var o = this;
1348 if ( r.selected = !0, l( r.element ).is( "option" ) ) return r.element.selected = !0, void this.$element.trigger( "change" );
1349 if ( this.$element.prop( "multiple" ) ) this.current( function( e ) {
1350 var t = [];
1351 (r = [r]).push.apply( r, e );
1352 for ( var n = 0; n < r.length; n++ ) {
1353 var i = r[ n ].id;
1354 -1 === l.inArray( i, t ) && t.push( i )
1355 }
1356 o.$element.val( t ), o.$element.trigger( "change" )
1357 } ); else {
1358 var e = r.id;
1359 this.$element.val( e ), this.$element.trigger( "change" )
1360 }
1361 }, n.prototype.unselect = function( r ) {
1362 var o = this;
1363 if ( this.$element.prop( "multiple" ) ) {
1364 if ( r.selected = !1, l( r.element ).is( "option" ) ) return r.element.selected = !1, void this.$element.trigger( "change" );
1365 this.current( function( e ) {
1366 for ( var t = [], n = 0; n < e.length; n++ ) {
1367 var i = e[ n ].id;
1368 i !== r.id && -1 === l.inArray( i, t ) && t.push( i )
1369 }
1370 o.$element.val( t ), o.$element.trigger( "change" )
1371 } )
1372 }
1373 }, n.prototype.bind = function( e, t ) {
1374 var n = this;
1375 (this.container = e).on( "select", function( e ) {n.select( e.data )} ), e.on( "unselect", function( e ) {n.unselect( e.data )} )
1376 }, n.prototype.destroy = function() {this.$element.find( "*" ).each( function() {a.RemoveData( this )} )}, n.prototype.query = function( i, e ) {
1377 var r = [], o = this;
1378 this.$element.children().each( function() {
1379 var e = l( this );
1380 if ( e.is( "option" ) || e.is( "optgroup" ) ) {
1381 var t = o.item( e ), n = o.matches( i, t );
1382 null !== n && r.push( n )
1383 }
1384 } ), e( { results : r } )
1385 }, n.prototype.addOptions = function( e ) {a.appendMany( this.$element, e )}, n.prototype.option = function( e ) {
1386 var t;
1387 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);
1388 var n = l( t ), i = this._normalizeItem( e );
1389 return i.element = t, a.StoreData( t, "data", i ), n
1390 }, n.prototype.item = function( e ) {
1391 var t = {};
1392 if ( null != (t = a.GetData( e[ 0 ], "data" )) ) return t;
1393 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" ) ) {
1394 t = { text : e.prop( "label" ), children : [], title : e.prop( "title" ) };
1395 for ( var n = e.children( "option" ), i = [], r = 0; r < n.length; r++ ) {
1396 var o = l( n[ r ] ), s = this.item( o );
1397 i.push( s )
1398 }
1399 t.children = i
1400 }
1401 return (t = this._normalizeItem( t )).element = e[ 0 ], a.StoreData( e[ 0 ], "data", t ), t
1402 }, n.prototype._normalizeItem = function( e ) {
1403 e !== Object( e ) && (e = { id : e, text : e });
1404 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 )
1405 }, n.prototype.matches = function( e, t ) {return this.options.get( "matcher" )( e, t )}, n
1406 } ), e.define( "select2/data/array", ["./select", "../utils", "jquery"], function( e, f, g ) {
1407 function i( e, t ) {this._dataToConvert = t.get( "data" ) || [], i.__super__.constructor.call( this, e, t )}
1408
1409 return f.Extend( i, e ), i.prototype.bind = function( e, t ) {i.__super__.bind.call( this, e, t ), this.addOptions( this.convertToOptions( this._dataToConvert ) )}, i.prototype.select = function( n ) {
1410 var e = this.$element.find( "option" ).filter( function( e, t ) {return t.value == n.id.toString()} );
1411 0 === e.length && (e = this.option( n ), this.addOptions( e )), i.__super__.select.call( this, n )
1412 }, i.prototype.convertToOptions = function( e ) {
1413 var t = this, n = this.$element.find( "option" ), i = n.map( function() {return t.item( g( this ) ).id} ).get(), r = [];
1414
1415 function o( e ) {return function() {return g( this ).val() == e.id}}
1416
1417 for ( var s = 0; s < e.length; s++ ) {
1418 var a = this._normalizeItem( e[ s ] );
1419 if ( 0 <= g.inArray( a.id, i ) ) {
1420 var l = n.filter( o( a ) ), c = this.item( l ), u = g.extend( !0, {}, a, c ), d = this.option( u );
1421 l.replaceWith( d )
1422 } else {
1423 var p = this.option( a );
1424 if ( a.children ) {
1425 var h = this.convertToOptions( a.children );
1426 f.appendMany( p, h )
1427 }
1428 r.push( p )
1429 }
1430 }
1431 return r
1432 }, i
1433 } ), e.define( "select2/data/ajax", ["./array", "../utils", "jquery"], function( e, t, o ) {
1434 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 )}
1435
1436 return t.Extend( n, e ), n.prototype._applyDefaults = function( e ) {
1437 var t = {
1438 data : function( e ) {return o.extend( {}, e, { q : e.term } )}, transport : function( e, t, n ) {
1439 var i = o.ajax( e );
1440 return i.then( t ), i.fail( n ), i
1441 }
1442 };
1443 return o.extend( {}, t, e, !0 )
1444 }, n.prototype.processResults = function( e ) {return e}, n.prototype.query = function( n, i ) {
1445 var r = this;
1446 null != this._request && (o.isFunction( this._request.abort ) && this._request.abort(), this._request = null);
1447 var t = o.extend( { type : "GET" }, this.ajaxOptions );
1448
1449 function e() {
1450 var e = t.transport( t, function( e ) {
1451 var t = r.processResults( e, n );
1452 r.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." )), i( t )
1453 }, function() {"status" in e && (0 === e.status || "0" === e.status) || r.trigger( "results:message", { message : "errorLoading" } )} );
1454 r._request = e
1455 }
1456
1457 "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()
1458 }, n
1459 } ), e.define( "select2/data/tags", ["jquery"], function( u ) {
1460 function e( e, t, n ) {
1461 var i = n.get( "tags" ), r = n.get( "createTag" );
1462 void 0 !== r && (this.createTag = r);
1463 var o = n.get( "insertTag" );
1464 if ( void 0 !== o && (this.insertTag = o), e.call( this, t, n ), u.isArray( i ) ) for ( var s = 0; s < i.length; s++ ) {
1465 var a = i[ s ], l = this._normalizeItem( a ), c = this.option( l );
1466 this.$element.append( c )
1467 }
1468 }
1469
1470 return e.prototype.query = function( e, c, u ) {
1471 var d = this;
1472 this._removeOldTags(), null != c.term && null == c.page ? e.call( this, c, function e( t, n ) {
1473 for ( var i = t.results, r = 0; r < i.length; r++ ) {
1474 var o = i[ r ], s = null != o.children && !e( { results : o.children }, !0 );
1475 if ( (o.text || "").toUpperCase() === (c.term || "").toUpperCase() || s ) return !n && (t.data = i, void u( t ))
1476 }
1477 if ( n ) return !0;
1478 var a = d.createTag( c );
1479 if ( null != a ) {
1480 var l = d.option( a );
1481 l.attr( "data-select2-tag", !0 ), d.addOptions( [l] ), d.insertTag( i, a )
1482 }
1483 t.results = i, u( t )
1484 } ) : e.call( this, c, u )
1485 }, e.prototype.createTag = function( e, t ) {
1486 var n = u.trim( t.term );
1487 return "" === n ? null : { id : n, text : n }
1488 }, 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
1489 } ), e.define( "select2/data/tokenizer", ["jquery"], function( d ) {
1490 function e( e, t, n ) {
1491 var i = n.get( "tokenizer" );
1492 void 0 !== i && (this.tokenizer = i), e.call( this, t, n )
1493 }
1494
1495 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 ) {
1496 var i = this;
1497 t.term = t.term || "";
1498 var r = this.tokenizer( t, this.options, function( e ) {
1499 var t = i._normalizeItem( e );
1500 if ( !i.$element.find( "option" ).filter( function() {return d( this ).val() === t.id} ).length ) {
1501 var n = i.option( t );
1502 n.attr( "data-select2-tag", !0 ), i._removeOldTags(), i.addOptions( [n] )
1503 }
1504 !function( e ) {i.trigger( "select", { data : e } )}( t )
1505 } );
1506 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 )
1507 }, e.prototype.tokenizer = function( e, t, n, i ) {
1508 for ( var r = n.get( "tokenSeparators" ) || [], o = t.term, s = 0, a = this.createTag || function( e ) {return { id : e.term, text : e.term }}; s < o.length; ) {
1509 var l = o[ s ];
1510 if ( -1 !== d.inArray( l, r ) ) {
1511 var c = o.substr( 0, s ), u = a( d.extend( {}, t, { term : c } ) );
1512 null != u ? (i( u ), o = o.substr( s + 1 ) || "", s = 0) : s++
1513 } else s++
1514 }
1515 return { term : o }
1516 }, e
1517 } ), e.define( "select2/data/minimumInputLength", [], function() {
1518 function e( e, t, n ) {this.minimumInputLength = n.get( "minimumInputLength" ), e.call( this, t, n )}
1519
1520 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
1521 } ), e.define( "select2/data/maximumInputLength", [], function() {
1522 function e( e, t, n ) {this.maximumInputLength = n.get( "maximumInputLength" ), e.call( this, t, n )}
1523
1524 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
1525 } ), e.define( "select2/data/maximumSelectionLength", [], function() {
1526 function e( e, t, n ) {this.maximumSelectionLength = n.get( "maximumSelectionLength" ), e.call( this, t, n )}
1527
1528 return e.prototype.bind = function( e, t, n ) {
1529 var i = this;
1530 e.call( this, t, n ), t.on( "select", function() {i._checkIfMaximumSelected()} )
1531 }, e.prototype.query = function( e, t, n ) {
1532 var i = this;
1533 this._checkIfMaximumSelected( function() {e.call( i, t, n )} )
1534 }, e.prototype._checkIfMaximumSelected = function( e, n ) {
1535 var i = this;
1536 this.current( function( e ) {
1537 var t = null != e ? e.length : 0;
1538 0 < i.maximumSelectionLength && t >= i.maximumSelectionLength ? i.trigger( "results:message", { message : "maximumSelected", args : { maximum : i.maximumSelectionLength } } ) : n && n()
1539 } )
1540 }, e
1541 } ), e.define( "select2/dropdown", ["jquery", "./utils"], function( t, e ) {
1542 function n( e, t ) {this.$element = e, this.options = t, n.__super__.constructor.call( this )}
1543
1544 return e.Extend( n, e.Observable ), n.prototype.render = function() {
1545 var e = t( '<span class="select2-dropdown"><span class="select2-results"></span></span>' );
1546 return e.attr( "dir", this.options.get( "dir" ) ), this.$dropdown = e
1547 }, n.prototype.bind = function() {}, n.prototype.position = function( e, t ) {}, n.prototype.destroy = function() {this.$dropdown.remove()}, n
1548 } ), e.define( "select2/dropdown/search", ["jquery", "../utils"], function( o, e ) {
1549 function t() {}
1550
1551 return t.prototype.render = function( e ) {
1552 var t = e.call( this ), n = o( '<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></span>' );
1553 return this.$searchContainer = n, this.$search = n.find( "input" ), t.prepend( n ), t
1554 }, t.prototype.bind = function( e, t, n ) {
1555 var i = this, r = t.id + "-results";
1556 e.call( this, t, n ), this.$search.on( "keydown", function( e ) {i.trigger( "keypress", e ), i._keyUpPrevented = e.isDefaultPrevented()} ), this.$search.on( "input", function( e ) {o( this ).off( "keyup" )} ), this.$search.on( "keyup input", function( e ) {i.handleSearch( e )} ), t.on( "open", function() {i.$search.attr( "tabindex", 0 ), i.$search.attr( "aria-controls", r ), i.$search.trigger( "focus" ), window.setTimeout( function() {i.$search.trigger( "focus" )}, 0 )} ), t.on( "close", function() {i.$search.attr( "tabindex", -1 ), i.$search.removeAttr( "aria-controls" ), i.$search.removeAttr( "aria-activedescendant" ), i.$search.val( "" ), i.$search.trigger( "blur" )} ), t.on( "focus", function() {t.isOpen() || i.$search.trigger( "focus" )} ), t.on( "results:all", function( e ) {null != e.query.term && "" !== e.query.term || (i.showSearch( e ) ? i.$searchContainer.removeClass( "select2-search--hide" ) : i.$searchContainer.addClass( "select2-search--hide" ))} ), t.on( "results:focus", function( e ) {e.data._resultId ? i.$search.attr( "aria-activedescendant", e.data._resultId ) : i.$search.removeAttr( "aria-activedescendant" )} )
1557 }, t.prototype.handleSearch = function( e ) {
1558 if ( !this._keyUpPrevented ) {
1559 var t = this.$search.val();
1560 this.trigger( "query", { term : t } )
1561 }
1562 this._keyUpPrevented = !1
1563 }, t.prototype.showSearch = function( e, t ) {return !0}, t
1564 } ), e.define( "select2/dropdown/hidePlaceholder", [], function() {
1565 function e( e, t, n, i ) {this.placeholder = this.normalizePlaceholder( n.get( "placeholder" ) ), e.call( this, t, n, i )}
1566
1567 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 ) {
1568 for ( var n = t.slice( 0 ), i = t.length - 1; 0 <= i; i-- ) {
1569 var r = t[ i ];
1570 this.placeholder.id === r.id && n.splice( i, 1 )
1571 }
1572 return n
1573 }, e
1574 } ), e.define( "select2/dropdown/infiniteScroll", ["jquery"], function( n ) {
1575 function e( e, t, n, i ) {this.lastParams = {}, e.call( this, t, n, i ), this.$loadingMore = this.createLoadingMore(), this.loading = !1}
1576
1577 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 ) {
1578 var i = this;
1579 e.call( this, t, n ), t.on( "query", function( e ) {i.lastParams = e, i.loading = !0} ), t.on( "query:append", function( e ) {i.lastParams = e, i.loading = !0} ), this.$results.on( "scroll", this.loadMoreIfNeeded.bind( this ) )
1580 }, e.prototype.loadMoreIfNeeded = function() {
1581 var e = n.contains( document.documentElement, this.$loadingMore[ 0 ] );
1582 if ( !this.loading && e ) {
1583 var t = this.$results.offset().top + this.$results.outerHeight( !1 );
1584 this.$loadingMore.offset().top + this.$loadingMore.outerHeight( !1 ) <= t + 50 && this.loadMore()
1585 }
1586 }, e.prototype.loadMore = function() {
1587 this.loading = !0;
1588 var e = n.extend( {}, { page : 1 }, this.lastParams );
1589 e.page++, this.trigger( "query:append", e )
1590 }, e.prototype.showLoadingMore = function( e, t ) {return t.pagination && t.pagination.more}, e.prototype.createLoadingMore = function() {
1591 var e = n( '<li class="select2-results__option select2-results__option--load-more"role="option" aria-disabled="true"></li>' ), t = this.options.get( "translations" ).get( "loadingMore" );
1592 return e.html( t( this.lastParams ) ), e
1593 }, e
1594 } ), e.define( "select2/dropdown/attachBody", ["jquery", "../utils"], function( f, a ) {
1595 function e( e, t, n ) {this.$dropdownParent = f( n.get( "dropdownParent" ) || document.body ), e.call( this, t, n )}
1596
1597 return e.prototype.bind = function( e, t, n ) {
1598 var i = this;
1599 e.call( this, t, n ), t.on( "open", function() {i._showDropdown(), i._attachPositioningHandler( t ), i._bindContainerResultHandlers( t )} ), t.on( "close", function() {i._hideDropdown(), i._detachPositioningHandler( t )} ), this.$dropdownContainer.on( "mousedown", function( e ) {e.stopPropagation()} )
1600 }, 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 ) {
1601 var t = f( "<span></span>" ), n = e.call( this );
1602 return t.append( n ), this.$dropdownContainer = t
1603 }, e.prototype._hideDropdown = function( e ) {this.$dropdownContainer.detach()}, e.prototype._bindContainerResultHandlers = function( e, t ) {
1604 if ( !this._containerResultsHandlersBound ) {
1605 var n = this;
1606 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
1607 }
1608 }, e.prototype._attachPositioningHandler = function( e, t ) {
1609 var n = this, i = "scroll.select2." + t.id, r = "resize.select2." + t.id, o = "orientationchange.select2." + t.id, s = this.$container.parents().filter( a.hasScroll );
1610 s.each( function() {a.StoreData( this, "select2-scroll-position", { x : f( this ).scrollLeft(), y : f( this ).scrollTop() } )} ), s.on( i, function( e ) {
1611 var t = a.GetData( this, "select2-scroll-position" );
1612 f( this ).scrollTop( t.y )
1613 } ), f( window ).on( i + " " + r + " " + o, function( e ) {n._positionDropdown(), n._resizeDropdown()} )
1614 }, e.prototype._detachPositioningHandler = function( e, t ) {
1615 var n = "scroll.select2." + t.id, i = "resize.select2." + t.id, r = "orientationchange.select2." + t.id;
1616 this.$container.parents().filter( a.hasScroll ).off( n ), f( window ).off( n + " " + i + " " + r )
1617 }, e.prototype._positionDropdown = function() {
1618 var e = f( window ), t = this.$dropdown.hasClass( "select2-dropdown--above" ), n = this.$dropdown.hasClass( "select2-dropdown--below" ), i = null, r = this.$container.offset();
1619 r.bottom = r.top + this.$container.outerHeight( !1 );
1620 var o = { height : this.$container.outerHeight( !1 ) };
1621 o.top = r.top, o.bottom = r.top + o.height;
1622 var s = this.$dropdown.outerHeight( !1 ), a = e.scrollTop(), l = e.scrollTop() + e.height(), c = a < r.top - s, u = l > r.bottom + s, d = { left : r.left, top : o.bottom }, p = this.$dropdownParent;
1623 "static" === p.css( "position" ) && (p = p.offsetParent());
1624 var h = { top : 0, left : 0 };
1625 (f.contains( document.body, p[ 0 ] ) || p[ 0 ].isConnected) && (h = p.offset()), d.top -= h.top, d.left -= h.left, t || n || (i = "below"), u || !c || t ? !c && u && t && (i = "below") : i = "above", ("above" == i || t && "below" !== i) && (d.top = o.top - h.top - s), null != i && (this.$dropdown.removeClass( "select2-dropdown--below select2-dropdown--above" ).addClass( "select2-dropdown--" + i ), this.$container.removeClass( "select2-container--below select2-container--above" ).addClass( "select2-container--" + i )), this.$dropdownContainer.css( d )
1626 }, e.prototype._resizeDropdown = function() {
1627 var e = { width : this.$container.outerWidth( !1 ) + "px" };
1628 this.options.get( "dropdownAutoWidth" ) && (e.minWidth = e.width, e.position = "relative", e.width = "auto"), this.$dropdown.css( e )
1629 }, e.prototype._showDropdown = function( e ) {this.$dropdownContainer.appendTo( this.$dropdownParent ), this._positionDropdown(), this._resizeDropdown()}, e
1630 } ), e.define( "select2/dropdown/minimumResultsForSearch", [], function() {
1631 function e( e, t, n, i ) {this.minimumResultsForSearch = n.get( "minimumResultsForSearch" ), this.minimumResultsForSearch < 0 && (this.minimumResultsForSearch = 1 / 0), e.call( this, t, n, i )}
1632
1633 return e.prototype.showSearch = function( e, t ) {
1634 return !(function e( t ) {
1635 for ( var n = 0, i = 0; i < t.length; i++ ) {
1636 var r = t[ i ];
1637 r.children ? n += e( r.children ) : n++
1638 }
1639 return n
1640 }( t.data.results ) < this.minimumResultsForSearch) && e.call( this, t )
1641 }, e
1642 } ), e.define( "select2/dropdown/selectOnClose", ["../utils"], function( o ) {
1643 function e() {}
1644
1645 return e.prototype.bind = function( e, t, n ) {
1646 var i = this;
1647 e.call( this, t, n ), t.on( "close", function( e ) {i._handleSelectOnClose( e )} )
1648 }, e.prototype._handleSelectOnClose = function( e, t ) {
1649 if ( t && null != t.originalSelect2Event ) {
1650 var n = t.originalSelect2Event;
1651 if ( "select" === n._type || "unselect" === n._type ) return
1652 }
1653 var i = this.getHighlightedResults();
1654 if ( !(i.length < 1) ) {
1655 var r = o.GetData( i[ 0 ], "data" );
1656 null != r.element && r.element.selected || null == r.element && r.selected || this.trigger( "select", { data : r } )
1657 }
1658 }, e
1659 } ), e.define( "select2/dropdown/closeOnSelect", [], function() {
1660 function e() {}
1661
1662 return e.prototype.bind = function( e, t, n ) {
1663 var i = this;
1664 e.call( this, t, n ), t.on( "select", function( e ) {i._selectTriggered( e )} ), t.on( "unselect", function( e ) {i._selectTriggered( e )} )
1665 }, e.prototype._selectTriggered = function( e, t ) {
1666 var n = t.originalEvent;
1667 n && (n.ctrlKey || n.metaKey) || this.trigger( "close", { originalEvent : n, originalSelect2Event : t } )
1668 }, e
1669 } ), e.define( "select2/i18n/en", [], function() {
1670 return {
1671 errorLoading : function() {return "The results could not be loaded."}, inputTooLong : function( e ) {
1672 var t = e.input.length - e.maximum, n = "Please delete " + t + " character";
1673 return 1 != t && (n += "s"), n
1674 }, inputTooShort : function( e ) {return "Please enter " + (e.minimum - e.input.length) + " or more characters"}, loadingMore : function() {return "Loading more results…"}, maximumSelected : function( e ) {
1675 var t = "You can only select " + e.maximum + " item";
1676 return 1 != e.maximum && (t += "s"), t
1677 }, noResults : function() {return "No results found"}, searching : function() {return "Searching…"}, removeAllItems : function() {return "Remove all items"}
1678 }
1679 } ), 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, _, w, $, b, A, x, S, D, C, E, O, T, q, j, L, I, e ) {
1680 function n() {this.reset()}
1681
1682 return n.prototype.apply = function( e ) {
1683 if ( null == (e = c.extend( !0, {}, this.defaults, e )).dataAdapter ) {
1684 if ( null != e.ajax ? e.dataAdapter = $ : null != e.data ? e.dataAdapter = w : e.dataAdapter = _, 0 < e.minimumInputLength && (e.dataAdapter = y.Decorate( e.dataAdapter, x )), 0 < e.maximumInputLength && (e.dataAdapter = y.Decorate( e.dataAdapter, S )), 0 < e.maximumSelectionLength && (e.dataAdapter = y.Decorate( e.dataAdapter, D )), e.tags && (e.dataAdapter = y.Decorate( e.dataAdapter, b )), null == e.tokenSeparators && null == e.tokenizer || (e.dataAdapter = y.Decorate( e.dataAdapter, A )), null != e.query ) {
1685 var t = u( e.amdBase + "compat/query" );
1686 e.dataAdapter = y.Decorate( e.dataAdapter, t )
1687 }
1688 if ( null != e.initSelection ) {
1689 var n = u( e.amdBase + "compat/initSelection" );
1690 e.dataAdapter = y.Decorate( e.dataAdapter, n )
1691 }
1692 }
1693 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, L ))), null == e.dropdownAdapter ) {
1694 if ( e.multiple ) e.dropdownAdapter = C; else {
1695 var i = y.Decorate( C, E );
1696 e.dropdownAdapter = i
1697 }
1698 if ( 0 !== e.minimumResultsForSearch && (e.dropdownAdapter = y.Decorate( e.dropdownAdapter, j )), e.closeOnSelect && (e.dropdownAdapter = y.Decorate( e.dropdownAdapter, I )), null != e.dropdownCssClass || null != e.dropdownCss || null != e.adaptDropdownCssClass ) {
1699 var r = u( e.amdBase + "compat/dropdownCss" );
1700 e.dropdownAdapter = y.Decorate( e.dropdownAdapter, r )
1701 }
1702 e.dropdownAdapter = y.Decorate( e.dropdownAdapter, q )
1703 }
1704 if ( null == e.selectionAdapter ) {
1705 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 ) {
1706 var o = u( e.amdBase + "compat/containerCss" );
1707 e.selectionAdapter = y.Decorate( e.selectionAdapter, o )
1708 }
1709 e.selectionAdapter = y.Decorate( e.selectionAdapter, v )
1710 }
1711 e.language = this._resolveLanguage( e.language ), e.language.push( "en" );
1712 for ( var s = [], a = 0; a < e.language.length; a++ ) {
1713 var l = e.language[ a ];
1714 -1 === s.indexOf( l ) && s.push( l )
1715 }
1716 return e.language = s, e.translations = this._processTranslations( e.language, e.debug ), e
1717 }, n.prototype.reset = function() {
1718 function a( e ) {return e.replace( /[^\u0000-\u007E]/g, function( e ) {return t[ e ] || e} )}
1719
1720 this.defaults = {
1721 amdBase : "./", amdLanguageBase : "./i18n/", closeOnSelect : !0, debug : !1, dropdownAutoWidth : !1, escapeMarkup : y.escapeMarkup, language : {}, matcher : function e( t, n ) {
1722 if ( "" === c.trim( t.term ) ) return n;
1723 if ( n.children && 0 < n.children.length ) {
1724 for ( var i = c.extend( !0, {}, n ), r = n.children.length - 1; 0 <= r; r-- ) null == e( t, n.children[ r ] ) && i.children.splice( r, 1 );
1725 return 0 < i.children.length ? i : e( t, i )
1726 }
1727 var o = a( n.text ).toUpperCase(), s = a( t.term ).toUpperCase();
1728 return -1 < o.indexOf( s ) ? n : null
1729 }, 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"
1730 }
1731 }, n.prototype.applyFromElement = function( e, t ) {
1732 var n = e.language, i = this.defaults.language, r = t.prop( "lang" ), o = t.closest( "[lang]" ).prop( "lang" ), s = Array.prototype.concat.call( this._resolveLanguage( r ), this._resolveLanguage( n ), this._resolveLanguage( i ), this._resolveLanguage( o ) );
1733 return e.language = s, e
1734 }, n.prototype._resolveLanguage = function( e ) {
1735 if ( !e ) return [];
1736 if ( c.isEmptyObject( e ) ) return [];
1737 if ( c.isPlainObject( e ) ) return [e];
1738 var t;
1739 t = c.isArray( e ) ? e : [e];
1740 for ( var n = [], i = 0; i < t.length; i++ ) if ( n.push( t[ i ] ), "string" == typeof t[ i ] && 0 < t[ i ].indexOf( "-" ) ) {
1741 var r = t[ i ].split( "-" )[ 0 ];
1742 n.push( r )
1743 }
1744 return n
1745 }, n.prototype._processTranslations = function( e, t ) {
1746 for ( var n = new s, i = 0; i < e.length; i++ ) {
1747 var r = new s, o = e[ i ];
1748 if ( "string" == typeof o ) try {
1749 r = s.loadPath( o )
1750 } catch ( e ) {
1751 try {
1752 o = this.defaults.amdLanguageBase + o, r = s.loadPath( o )
1753 } catch ( e ) {
1754 t && window.console && console.warn && console.warn( 'Select2: The language file for "' + o + '" could not be automatically loaded. A fallback will be used instead.' )
1755 }
1756 } else r = c.isPlainObject( o ) ? new s( o ) : o;
1757 n.extend( r )
1758 }
1759 return n
1760 }, n.prototype.set = function( e, t ) {
1761 var n = {};
1762 n[ c.camelCase( e ) ] = t;
1763 var i = y._convertData( n );
1764 c.extend( !0, this.defaults, i )
1765 }, new n
1766 } ), e.define( "select2/options", ["require", "jquery", "./defaults", "./utils"], function( i, d, r, p ) {
1767 function e( e, t ) {
1768 if ( this.options = e, null != t && this.fromElement( t ), null != t && (this.options = r.applyFromElement( this.options, t )), this.options = r.apply( this.options ), t && t.is( "input" ) ) {
1769 var n = i( this.get( "amdBase" ) + "compat/inputData" );
1770 this.options.dataAdapter = p.Decorate( this.options.dataAdapter, n )
1771 }
1772 }
1773
1774 return e.prototype.fromElement = function( e ) {
1775 var t = ["select2"];
1776 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" ) ));
1777 var n = {};
1778
1779 function i( e, t ) {return t.toUpperCase()}
1780
1781 for ( var r = 0; r < e[ 0 ].attributes.length; r++ ) {
1782 var o = e[ 0 ].attributes[ r ].name, s = "data-";
1783 if ( o.substr( 0, s.length ) == s ) {
1784 var a = o.substring( s.length ), l = p.GetData( e[ 0 ], a );
1785 n[ a.replace( /-([a-z])/g, i ) ] = l
1786 }
1787 }
1788 d.fn.jquery && "1." == d.fn.jquery.substr( 0, 2 ) && e[ 0 ].dataset && (n = d.extend( !0, {}, e[ 0 ].dataset, n ));
1789 var c = d.extend( !0, {}, p.GetData( e[ 0 ] ), n );
1790 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 ]);
1791 return this
1792 }, e.prototype.get = function( e ) {return this.options[ e ]}, e.prototype.set = function( e, t ) {this.options[ e ] = t}, e
1793 } ), e.define( "select2/core", ["jquery", "./options", "./utils", "./keys"], function( r, c, u, i ) {
1794 var d = function( e, t ) {
1795 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 );
1796 var n = e.attr( "tabindex" ) || 0;
1797 u.StoreData( e[ 0 ], "old-tabindex", n ), e.attr( "tabindex", "-1" );
1798 var i = this.options.get( "dataAdapter" );
1799 this.dataAdapter = new i( e, this.options );
1800 var r = this.render();
1801 this._placeContainer( r );
1802 var o = this.options.get( "selectionAdapter" );
1803 this.selection = new o( e, this.options ), this.$selection = this.selection.render(), this.selection.position( this.$selection, r );
1804 var s = this.options.get( "dropdownAdapter" );
1805 this.dropdown = new s( e, this.options ), this.$dropdown = this.dropdown.render(), this.dropdown.position( this.$dropdown, r );
1806 var a = this.options.get( "resultsAdapter" );
1807 this.results = new a( e, this.options, this.dataAdapter ), this.$results = this.results.render(), this.results.position( this.$results, this.$dropdown );
1808 var l = this;
1809 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 )
1810 };
1811 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 ) {
1812 e.insertAfter( this.$element );
1813 var t = this._resolveWidth( this.$element, this.options.get( "width" ) );
1814 null != t && e.css( "width", t )
1815 }, d.prototype._resolveWidth = function( e, t ) {
1816 var n = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;
1817 if ( "resolve" == t ) {
1818 var i = this._resolveWidth( e, "style" );
1819 return null != i ? i : this._resolveWidth( e, "element" )
1820 }
1821 if ( "element" == t ) {
1822 var r = e.outerWidth( !1 );
1823 return r <= 0 ? "auto" : r + "px"
1824 }
1825 if ( "style" != t ) return "computedstyle" != t ? t : window.getComputedStyle( e[ 0 ] ).width;
1826 var o = e.attr( "style" );
1827 if ( "string" != typeof o ) return null;
1828 for ( var s = o.split( ";" ), a = 0, l = s.length; a < l; a += 1 ) {
1829 var c = s[ a ].replace( /\s/g, "" ).match( n );
1830 if ( null !== c && 1 <= c.length ) return c[ 1 ]
1831 }
1832 return null
1833 }, 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() {
1834 var t = this;
1835 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 );
1836 var e = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
1837 null != e ? (this._observer = new e( function( e ) {r.each( e, t._syncA ), r.each( e, t._syncS )} ), 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 ))
1838 }, d.prototype._registerDataEvents = function() {
1839 var n = this;
1840 this.dataAdapter.on( "*", function( e, t ) {n.trigger( e, t )} )
1841 }, d.prototype._registerSelectionEvents = function() {
1842 var n = this, i = ["toggle", "focus"];
1843 this.selection.on( "toggle", function() {n.toggleDropdown()} ), this.selection.on( "focus", function( e ) {n.focus( e )} ), this.selection.on( "*", function( e, t ) {-1 === r.inArray( e, i ) && n.trigger( e, t )} )
1844 }, d.prototype._registerDropdownEvents = function() {
1845 var n = this;
1846 this.dropdown.on( "*", function( e, t ) {n.trigger( e, t )} )
1847 }, d.prototype._registerResultsEvents = function() {
1848 var n = this;
1849 this.results.on( "*", function( e, t ) {n.trigger( e, t )} )
1850 }, d.prototype._registerEvents = function() {
1851 var n = this;
1852 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 ) {
1853 var t = e.which;
1854 n.isOpen() ? t === i.ESC || t === i.TAB || t === i.UP && e.altKey ? (n.close(), e.preventDefault()) : t === i.ENTER ? (n.trigger( "results:select", {} ), e.preventDefault()) : t === i.SPACE && e.ctrlKey ? (n.trigger( "results:toggle", {} ), e.preventDefault()) : t === i.UP ? (n.trigger( "results:previous", {} ), e.preventDefault()) : t === i.DOWN && (n.trigger( "results:next", {} ), e.preventDefault()) : (t === i.ENTER || t === i.SPACE || t === i.DOWN && e.altKey) && (n.open(), e.preventDefault())
1855 } )
1856 }, d.prototype._syncAttributes = function() {this.options.set( "disabled", this.$element.prop( "disabled" ) ), this.options.get( "disabled" ) ? (this.isOpen() && this.close(), this.trigger( "disable", {} )) : this.trigger( "enable", {} )}, d.prototype._syncSubtree = function( e, t ) {
1857 var n = !1, i = this;
1858 if ( !e || !e.target || "OPTION" === e.target.nodeName || "OPTGROUP" === e.target.nodeName ) {
1859 if ( t ) if ( t.addedNodes && 0 < t.addedNodes.length ) for ( var r = 0; r < t.addedNodes.length; r++ ) {
1860 t.addedNodes[ r ].selected && (n = !0)
1861 } else t.removedNodes && 0 < t.removedNodes.length && (n = !0); else n = !0;
1862 n && this.dataAdapter.current( function( e ) {i.trigger( "selection:update", { data : e } )} )
1863 }
1864 }, d.prototype.trigger = function( e, t ) {
1865 var n = d.__super__.trigger, i = { open : "opening", close : "closing", select : "selecting", unselect : "unselecting", clear : "clearing" };
1866 if ( void 0 === t && (t = {}), e in i ) {
1867 var r = i[ e ], o = { prevented : !1, name : e, args : t };
1868 if ( n.call( this, r, o ), o.prevented ) return void (t.prevented = !0)
1869 }
1870 n.call( this, e, t )
1871 }, d.prototype.toggleDropdown = function() {this.options.get( "disabled" ) || (this.isOpen() ? this.close() : this.open())}, d.prototype.open = function() {this.isOpen() || this.trigger( "query", {} )}, d.prototype.close = function() {this.isOpen() && this.trigger( "close", {} )}, 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 ) {
1872 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]);
1873 var t = !e[ 0 ];
1874 this.$element.prop( "disabled", t )
1875 }, d.prototype.data = function() {
1876 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()`.' );
1877 var t = [];
1878 return this.dataAdapter.current( function( e ) {t = e} ), t
1879 }, d.prototype.val = function( e ) {
1880 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();
1881 var t = e[ 0 ];
1882 r.isArray( t ) && (t = r.map( t, function( e ) {return e.toString()} )), this.$element.val( t ).trigger( "change" )
1883 }, 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() {
1884 var e = r( '<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>' );
1885 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
1886 }, d
1887 } ), e.define( "select2/compat/utils", ["jquery"], function( s ) {
1888 return {
1889 syncCssClasses : function( e, t, n ) {
1890 var i, r, o = [];
1891 (i = s.trim( e.attr( "class" ) )) && s( (i = "" + i).split( /\s+/ ) ).each( function() {0 === this.indexOf( "select2-" ) && o.push( this )} ), (i = s.trim( t.attr( "class" ) )) && s( (i = "" + i).split( /\s+/ ) ).each( function() {0 !== this.indexOf( "select2-" ) && null != (r = n( this )) && o.push( r )} ), e.attr( "class", o.join( " " ) )
1892 }
1893 }
1894 } ), e.define( "select2/compat/containerCss", ["jquery", "./utils"], function( s, a ) {
1895 function l( e ) {return null}
1896
1897 function e() {}
1898
1899 return e.prototype.render = function( e ) {
1900 var t = e.call( this ), n = this.options.get( "containerCssClass" ) || "";
1901 s.isFunction( n ) && (n = n( this.$element ));
1902 var i = this.options.get( "adaptContainerCssClass" );
1903 if ( i = i || l, -1 !== n.indexOf( ":all:" ) ) {
1904 n = n.replace( ":all:", "" );
1905 var r = i;
1906 i = function( e ) {
1907 var t = r( e );
1908 return null != t ? t + " " + e : e
1909 }
1910 }
1911 var o = this.options.get( "containerCss" ) || {};
1912 return s.isFunction( o ) && (o = o( this.$element )), a.syncCssClasses( t, this.$element, i ), t.css( o ), t.addClass( n ), t
1913 }, e
1914 } ), e.define( "select2/compat/dropdownCss", ["jquery", "./utils"], function( s, a ) {
1915 function l( e ) {return null}
1916
1917 function e() {}
1918
1919 return e.prototype.render = function( e ) {
1920 var t = e.call( this ), n = this.options.get( "dropdownCssClass" ) || "";
1921 s.isFunction( n ) && (n = n( this.$element ));
1922 var i = this.options.get( "adaptDropdownCssClass" );
1923 if ( i = i || l, -1 !== n.indexOf( ":all:" ) ) {
1924 n = n.replace( ":all:", "" );
1925 var r = i;
1926 i = function( e ) {
1927 var t = r( e );
1928 return null != t ? t + " " + e : e
1929 }
1930 }
1931 var o = this.options.get( "dropdownCss" ) || {};
1932 return s.isFunction( o ) && (o = o( this.$element )), a.syncCssClasses( t, this.$element, i ), t.css( o ), t.addClass( n ), t
1933 }, e
1934 } ), e.define( "select2/compat/initSelection", ["jquery"], function( i ) {
1935 function e( e, t, n ) {n.get( "debug" ) && window.console && console.warn && console.warn( "Select2: The `initSelection` option has been deprecated in favor of a custom data adapter that overrides the `current` method. This method is now called multiple times instead of a single time when the instance is initialized. Support will be removed for the `initSelection` option in future versions of Select2" ), this.initSelection = n.get( "initSelection" ), this._isInitialized = !1, e.call( this, t, n )}
1936
1937 return e.prototype.current = function( e, t ) {
1938 var n = this;
1939 this._isInitialized ? e.call( this, t ) : this.initSelection.call( null, this.$element, function( e ) {n._isInitialized = !0, i.isArray( e ) || (e = [e]), t( e )} )
1940 }, e
1941 } ), e.define( "select2/compat/inputData", ["jquery", "../utils"], function( s, i ) {
1942 function e( e, t, n ) {this._currentData = [], this._valueSeparator = n.get( "valueSeparator" ) || ",", "hidden" === t.prop( "type" ) && n.get( "debug" ) && console && console.warn && console.warn( "Select2: Using a hidden input with Select2 is no longer supported and may stop working in the future. It is recommended to use a `<select>` element instead." ), e.call( this, t, n )}
1943
1944 return e.prototype.current = function( e, t ) {
1945 function i( e, t ) {
1946 var n = [];
1947 return e.selected || -1 !== s.inArray( e.id, t ) ? (e.selected = !0, n.push( e )) : e.selected = !1, e.children && n.push.apply( n, i( e.children, t ) ), n
1948 }
1949
1950 for ( var n = [], r = 0; r < this._currentData.length; r++ ) {
1951 var o = this._currentData[ r ];
1952 n.push.apply( n, i( o, this.$element.val().split( this._valueSeparator ) ) )
1953 }
1954 t( n )
1955 }, e.prototype.select = function( e, t ) {
1956 if ( this.options.get( "multiple" ) ) {
1957 var n = this.$element.val();
1958 n += this._valueSeparator + t.id, this.$element.val( n ), this.$element.trigger( "change" )
1959 } else this.current( function( e ) {s.map( e, function( e ) {e.selected = !1} )} ), this.$element.val( t.id ), this.$element.trigger( "change" )
1960 }, e.prototype.unselect = function( e, r ) {
1961 var o = this;
1962 r.selected = !1, this.current( function( e ) {
1963 for ( var t = [], n = 0; n < e.length; n++ ) {
1964 var i = e[ n ];
1965 r.id != i.id && t.push( i.id )
1966 }
1967 o.$element.val( t.join( o._valueSeparator ) ), o.$element.trigger( "change" )
1968 } )
1969 }, e.prototype.query = function( e, t, n ) {
1970 for ( var i = [], r = 0; r < this._currentData.length; r++ ) {
1971 var o = this._currentData[ r ], s = this.matches( t, o );
1972 null !== s && i.push( s )
1973 }
1974 n( { results : i } )
1975 }, e.prototype.addOptions = function( e, t ) {
1976 var n = s.map( t, function( e ) {return i.GetData( e[ 0 ], "data" )} );
1977 this._currentData.push.apply( this._currentData, n )
1978 }, e
1979 } ), e.define( "select2/compat/matcher", ["jquery"], function( s ) {
1980 return function( o ) {
1981 return function( e, t ) {
1982 var n = s.extend( !0, {}, t );
1983 if ( null == e.term || "" === s.trim( e.term ) ) return n;
1984 if ( t.children ) {
1985 for ( var i = t.children.length - 1; 0 <= i; i-- ) {
1986 var r = t.children[ i ];
1987 o( e.term, r.text, r ) || n.children.splice( i, 1 )
1988 }
1989 if ( 0 < n.children.length ) return n
1990 }
1991 return o( e.term, t.text, t ) ? n : null
1992 }
1993 }
1994 } ), e.define( "select2/compat/query", [], function() {
1995 function e( e, t, n ) {n.get( "debug" ) && window.console && console.warn && console.warn( "Select2: The `query` option has been deprecated in favor of a custom data adapter that overrides the `query` method. Support will be removed for the `query` option in future versions of Select2." ), e.call( this, t, n )}
1996
1997 return e.prototype.query = function( e, t, n ) {t.callback = n, this.options.get( "query" ).call( null, t )}, e
1998 } ), e.define( "select2/dropdown/attachContainer", [], function() {
1999 function e( e, t, n ) {e.call( this, t, n )}
2000
2001 return e.prototype.position = function( e, t, n ) {n.find( ".dropdown-wrapper" ).append( t ), t.addClass( "select2-dropdown--below" ), n.addClass( "select2-container--below" )}, e
2002 } ), e.define( "select2/dropdown/stopPropagation", [], function() {
2003 function e() {}
2004
2005 return e.prototype.bind = function( e, t, n ) {
2006 e.call( this, t, n );
2007 this.$dropdown.on( ["blur", "change", "click", "dblclick", "focus", "focusin", "focusout", "input", "keydown", "keyup", "keypress", "mousedown", "mouseenter", "mouseleave", "mousemove", "mouseover", "mouseup", "search", "touchend", "touchstart"].join( " " ), function( e ) {e.stopPropagation()} )
2008 }, e
2009 } ), e.define( "select2/selection/stopPropagation", [], function() {
2010 function e() {}
2011
2012 return e.prototype.bind = function( e, t, n ) {
2013 e.call( this, t, n );
2014 this.$selection.on( ["blur", "change", "click", "dblclick", "focus", "focusin", "focusout", "input", "keydown", "keyup", "keypress", "mousedown", "mouseenter", "mouseleave", "mousemove", "mouseover", "mouseup", "search", "touchend", "touchstart"].join( " " ), function( e ) {e.stopPropagation()} )
2015 }, e
2016 } ), l = function( p ) {
2017 var h, f, e = ["wheel", "mousewheel", "DOMMouseScroll", "MozMousePixelScroll"], t = "onwheel" in document || 9 <= document.documentMode ? ["wheel"] : ["mousewheel", "DomMouseScroll", "MozMousePixelScroll"], g = Array.prototype.slice;
2018 if ( p.event.fixHooks ) for ( var n = e.length; n; ) p.event.fixHooks[ e[ --n ] ] = p.event.mouseHooks;
2019 var m = p.event.special.mousewheel = {
2020 version : "3.1.12", setup : function() {
2021 if ( this.addEventListener ) for ( var e = t.length; e; ) this.addEventListener( t[ --e ], i, !1 ); else this.onmousewheel = i;
2022 p.data( this, "mousewheel-line-height", m.getLineHeight( this ) ), p.data( this, "mousewheel-page-height", m.getPageHeight( this ) )
2023 }, teardown : function() {
2024 if ( this.removeEventListener ) for ( var e = t.length; e; ) this.removeEventListener( t[ --e ], i, !1 ); else this.onmousewheel = null;
2025 p.removeData( this, "mousewheel-line-height" ), p.removeData( this, "mousewheel-page-height" )
2026 }, getLineHeight : function( e ) {
2027 var t = p( e ), n = t[ "offsetParent" in p.fn ? "offsetParent" : "parent" ]();
2028 return n.length || (n = p( "body" )), parseInt( n.css( "fontSize" ), 10 ) || parseInt( t.css( "fontSize" ), 10 ) || 16
2029 }, getPageHeight : function( e ) {return p( e ).height()}, settings : { adjustOldDeltas : !0, normalizeOffset : !0 }
2030 };
2031
2032 function i( e ) {
2033 var t, n = e || window.event, i = g.call( arguments, 1 ), r = 0, o = 0, s = 0, a = 0, l = 0;
2034 if ( (e = p.event.fix( n )).type = "mousewheel", "detail" in n && (s = -1 * n.detail), "wheelDelta" in n && (s = n.wheelDelta), "wheelDeltaY" in n && (s = n.wheelDeltaY), "wheelDeltaX" in n && (o = -1 * n.wheelDeltaX), "axis" in n && n.axis === n.HORIZONTAL_AXIS && (o = -1 * s, s = 0), r = 0 === s ? o : s, "deltaY" in n && (r = s = -1 * n.deltaY), "deltaX" in n && (o = n.deltaX, 0 === s && (r = -1 * o)), 0 !== s || 0 !== o ) {
2035 if ( 1 === n.deltaMode ) {
2036 var c = p.data( this, "mousewheel-line-height" );
2037 r *= c, s *= c, o *= c
2038 } else if ( 2 === n.deltaMode ) {
2039 var u = p.data( this, "mousewheel-page-height" );
2040 r *= u, s *= u, o *= u
2041 }
2042 if ( t = Math.max( Math.abs( s ), Math.abs( o ) ), (!f || t < f) && y( n, f = t ) && (f /= 40), y( n, t ) && (r /= 40, o /= 40, s /= 40), r = Math[ 1 <= r ? "floor" : "ceil" ]( r / f ), o = Math[ 1 <= o ? "floor" : "ceil" ]( o / f ), s = Math[ 1 <= s ? "floor" : "ceil" ]( s / f ), m.settings.normalizeOffset && this.getBoundingClientRect ) {
2043 var d = this.getBoundingClientRect();
2044 a = e.clientX - d.left, l = e.clientY - d.top
2045 }
2046 return e.deltaX = o, e.deltaY = s, e.deltaFactor = f, e.offsetX = a, e.offsetY = l, e.deltaMode = 0, i.unshift( e, r, o, s ), h && clearTimeout( h ), h = setTimeout( v, 200 ), (p.event.dispatch || p.event.handle).apply( this, i )
2047 }
2048 }
2049
2050 function v() {f = null}
2051
2052 function y( e, t ) {return m.settings.adjustOldDeltas && "mousewheel" === e.type && t % 120 == 0}
2053
2054 p.fn.extend( { mousewheel : function( e ) {return e ? this.bind( "mousewheel", e ) : this.trigger( "mousewheel" )}, unmousewheel : function( e ) {return this.unbind( "mousewheel", e )} } )
2055 }, "function" == typeof e.define && e.define.amd ? e.define( "jquery-mousewheel", ["jquery"], l ) : "object" == typeof exports ? module.exports = l : l( d ), e.define( "jquery.select2", ["jquery", "jquery-mousewheel", "./select2/core", "./select2/defaults", "./select2/utils"], function( r, e, o, t, s ) {
2056 if ( null == r.fn.select2 ) {
2057 var a = ["open", "close", "destroy"];
2058 r.fn.select2 = function( t ) {
2059 if ( "object" == typeof (t = t || {}) ) return this.each( function() {
2060 var e = r.extend( !0, {}, t );
2061 new o( r( this ), e )
2062 } ), this;
2063 if ( "string" != typeof t ) throw new Error( "Invalid arguments for Select2: " + t );
2064 var n, i = Array.prototype.slice.call( arguments, 1 );
2065 return this.each( function() {
2066 var e = s.GetData( this, "select2" );
2067 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, i )
2068 } ), -1 < r.inArray( t, a ) ? this : n
2069 }
2070 }
2071 return null == r.fn.select2.defaults && (r.fn.select2.defaults = t), o
2072 } ), { define : e.define, require : e.require }
2073 }(), t = e.require( "jquery.select2" );
2074 return d.fn.select2.amd = e, t
2075 } );