PageSourceSearch

https://superleague.co.uk/plugins/news/select2.min.js

js superleague.co.uk collected 2026-10-02 07:23:13 UTC 133,159 bytes, 2,602 lines download raw bytes

vendor: 47,104 bytes, lines 1-807
1/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */ ! function(a) {
2    "function" == typeof define && define.amd ? define(["jquery"], a) : "object" == typeof module && module.exports ? module.exports = function(b, c) {
3        return void 0 === c && (c = "undefined" != typeof window ? require("jquery") : require("jquery")(b)), a(c), c
4    } : a(jQuery)
5}(function(a) {
6    var b = function() {
7            if (a && a.fn && a.fn.select2 && a.fn.select2.amd) var b = a.fn.select2.amd;
8            var b;
9            return function() {
10                if (!b || !b.requirejs) {
11                    b ? c = b : b = {};
12                    var a, c, d;
13                    ! function(b) {
14                        function e(a, b) {
15                            return v.call(a, b)
16                        }
17
18                        function f(a, b) {
19                            var c, d, e, f, g, h, i, j, k, l, m, n, o = b && b.split("/"),
20                                p = t.map,
21                                q = p && p["*"] || {};
22                            if (a) {
23                                for (a = a.split("/"), g = a.length - 1, t.nodeIdCompat && x.test(a[g]) && (a[g] = a[g].replace(x, "")), "." === a[0].charAt(0) && o && (n = o.slice(0, o.length - 1), a = n.concat(a)), k = 0; k < a.length; k++)
24                                    if ("." === (m = a[k])) a.splice(k, 1), k -= 1;
25                                    else if (".." === m) {
26                                    if (0 === k || 1 === k && ".." === a[2] || ".." === a[k - 1]) continue;
27                                    k > 0 && (a.splice(k - 1, 2), k -= 2)
28                                }
29                                a = a.join("/")
30                            }
31                            if ((o || q) && p) {
32                                for (c = a.split("/"), k = c.length; k > 0; k -= 1) {
33                                    if (d = c.slice(0, k).join("/"), o)
34                                        for (l = o.length; l > 0; l -= 1)
35                                            if ((e = p[o.slice(0, l).join("/")]) && (e = e[d])) {
36                                                f = e, h = k;
37                                                break
38                                            }
39                                    if (f) break;
40                                    !i && q && q[d] && (i = q[d], j = k)
41                                }!f && i && (f = i, h = j), f && (c.splice(0, h, f), a = c.join("/"))
42                            }
43                            return a
44                        }
45
46                        function g(a, c) {
47                            return function() {
48                                var d = w.call(arguments, 0);
49                                return "string" != typeof d[0] && 1 === d.length && d.push(null), o.apply(b, d.concat([a, c]))
50                            }
51                        }
52
53                        function h(a) {
54                            return function(b) {
55                                return f(b, a)
56                            }
57                        }
58
59                        function i(a) {
60                            return function(b) {
61                                r[a] = b
62                            }
63                        }
64
65                        function j(a) {
66                            if (e(s, a)) {
67                                var c = s[a];
68                                delete s[a], u[a] = !0, n.apply(b, c)
69                            }
70                            if (!e(r, a) && !e(u, a)) throw new Error("No " + a);
71                            return r[a]
72                        }
73
74                        function k(a) {
75                            var b, c = a ? a.indexOf("!") : -1;
76                            return c > -1 && (b = a.substring(0, c), a = a.substring(c + 1, a.length)), [b, a]
77                        }
78
79                        function l(a) {
80                            return a ? k(a) : []
81                        }
82
83                        function m(a) {
84                            return function() {
85                                return t && t.config && t.config[a] || {}
86                            }
87                        }
88                        var n, o, p, q, r = {},
89                            s = {},
90                            t = {},
91                            u = {},
92                            v = Object.prototype.hasOwnProperty,
93                            w = [].slice,
94                            x = /\.js$/;
95                        p = function(a, b) {
96                            var c, d = k(a),
97                                e = d[0],
98                                g = b[1];
99                            return a = d[1], e && (e = f(e, g), c = j(e)), e ? a = c && c.normalize ? c.normalize(a, h(g)) : f(a, g) : (a = f(a, g), d = k(a), e = d[0], a = d[1], e && (c = j(e))), {
100                                f: e ? e + "!" + a : a,
101                                n: a,
102                                pr: e,
103                                p: c
104                            }
105                        }, q = {
106                            require: function(a) {
107                                return g(a)
108                            },
109                            exports: function(a) {
110                                var b = r[a];
111                                return void 0 !== b ? b : r[a] = {}
112                            },
113                            module: function(a) {
114                                return {
115                                    id: a,
116                                    uri: "",
117                                    exports: r[a],
118                                    config: m(a)
119                                }
120                            }
121                        }, n = function(a, c, d, f) {
122                            var h, k, m, n, o, t, v, w = [],
123                                x = typeof d;
124                            if (f = f || a, t = l(f), "undefined" === x || "function" === x) {
125                                for (c = !c.length && d.length ? ["require", "exports", "module"] : c, o = 0; o < c.length; o += 1)
126                                    if (n = p(c[o], t), "require" === (k = n.f)) w[o] = q.require(a);
127                                    else if ("exports" === k) w[o] = q.exports(a), v = !0;
128                                else if ("module" === k) h = w[o] = q.module(a);
129                                else if (e(r, k) || e(s, k) || e(u, k)) w[o] = j(k);
130                                else {
131                                    if (!n.p) throw new Error(a + " missing " + k);
132                                    n.p.load(n.n, g(f, !0), i(k), {}), w[o] = r[k]
133                                }
134                                m = d ? d.apply(r[a], w) : void 0, a && (h && h.exports !== b && h.exports !== r[a] ? r[a] = h.exports : m === b && v || (r[a] = m))
135                            } else a && (r[a] = d)
136                        }, a = c = o = function(a, c, d, e, f) {
137                            if ("string" == typeof a) return q[a] ? q[a](c) : j(p(a, l(c)).f);
138                            if (!a.splice) {
139                                if (t = a, t.deps && o(t.deps, t.callback), !c) return;
140                                c.splice ? (a = c, c = d, d = null) : a = b
141                            }
142                            return c = c || function() {}, "function" == typeof d && (d = e, e = f), e ? n(b, a, c, d) : setTimeout(function() {
143                                n(b, a, c, d)
144                            }, 4), o
145                        }, o.config = function(a) {
146                            return o(a)
147                        }, a._defined = r, d = function(a, b, c) {
148                            if ("string" != typeof a) throw new Error("See almond README: incorrect module build, no module name");
149                            b.splice || (c = b, b = []), e(r, a) || e(s, a) || (s[a] = [a, b, c])
150                        }, d.amd = {
151                            jQuery: !0
152                        }
153                    }(), b.requirejs = a, b.require = c, b.define = d
154                }
155            }(), b.define("almond", function() {}), b.define("jquery", [], function() {
156                var b = a || $;
157                return null == b && 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."), b
158            }), b.define("select2/utils", ["jquery"], function(a) {
159                function b(a) {
160                    var b = a.prototype,
161                        c = [];
162                    for (var d in b) {
163                        "function" == typeof b[d] && ("constructor" !== d && c.push(d))
164                    }
165                    return c
166                }
167                var c = {};
168                c.Extend = function(a, b) {
169                    function c() {
170                        this.constructor = a
171                    }
172                    var d = {}.hasOwnProperty;
173                    for (var e in b) d.call(b, e) && (a[e] = b[e]);
174                    return c.prototype = b.prototype, a.prototype = new c, a.__super__ = b.prototype, a
175                }, c.Decorate = function(a, c) {
176                    function d() {
177                        var b = Array.prototype.unshift,
178                            d = c.prototype.constructor.length,
179                            e = a.prototype.constructor;
180                        d > 0 && (b.call(arguments, a.prototype.constructor), e = c.prototype.constructor), e.apply(this, arguments)
181                    }
182
183                    function e() {
184                        this.constructor = d
185                    }
186                    var f = b(c),
187                        g = b(a);
188                    c.displayName = a.displayName, d.prototype = new e;
189                    for (var h = 0; h < g.length; h++) {
190                        var i = g[h];
191                        d.prototype[i] = a.prototype[i]
192                    }
193                    for (var j = (function(a) {
194                            var b = function() {};
195                            a in d.prototype && (b = d.prototype[a]);
196                            var e = c.prototype[a];
197                            return function() {
198                                return Array.prototype.unshift.call(arguments, b), e.apply(this, arguments)
199                            }
200                        }), k = 0; k < f.length; k++) {
201                        var l = f[k];
202                        d.prototype[l] = j(l)
203                    }
204                    return d
205                };
206                var d = function() {
207                    this.listeners = {}
208                };
209                d.prototype.on = function(a, b) {
210                    this.listeners = this.listeners || {}, a in this.listeners ? this.listeners[a].push(b) : this.listeners[a] = [b]
211                }, d.prototype.trigger = function(a) {
212                    var b = Array.prototype.slice,
213                        c = b.call(arguments, 1);
214                    this.listeners = this.listeners || {}, null == c && (c = []), 0 === c.length && c.push({}), c[0]._type = a, a in this.listeners && this.invoke(this.listeners[a], b.call(arguments, 1)), "*" in this.listeners && this.invoke(this.listeners["*"], arguments)
215                }, d.prototype.invoke = function(a, b) {
216                    for (var c = 0, d = a.length; c < d; c++) a[c].apply(this, b)
217                }, c.Observable = d, c.generateChars = function(a) {
218                    for (var b = "", c = 0; c < a; c++) {
219                        b += Math.floor(36 * Math.random()).toString(36)
220                    }
221                    return b
222                }, c.bind = function(a, b) {
223                    return function() {
224                        a.apply(b, arguments)
225                    }
226                }, c._convertData = function(a) {
227                    for (var b in a) {
228                        var c = b.split("-"),
229                            d = a;
230                        if (1 !== c.length) {
231                            for (var e = 0; e < c.length; e++) {
232                                var f = c[e];
233                                f = f.substring(0, 1).toLowerCase() + f.substring(1), f in d || (d[f] = {}), e == c.length - 1 && (d[f] = a[b]), d = d[f]
234                            }
235                            delete a[b]
236                        }
237                    }
238                    return a
239                }, c.hasScroll = function(b, c) {
240                    var d = a(c),
241                        e = c.style.overflowX,
242                        f = c.style.overflowY;
243                    return (e !== f || "hidden" !== f && "visible" !== f) && ("scroll" === e || "scroll" === f || (d.innerHeight() < c.scrollHeight || d.innerWidth() < c.scrollWidth))
244                }, c.escapeMarkup = function(a) {
245                    var b = {
246                        "\\": "&#92;",
247                        "&": "&amp;",
248                        "<": "&lt;",
249                        ">": "&gt;",
250                        '"': "&quot;",
251                        "'": "&#39;",
252                        "/": "&#47;"
253                    };
254                    return "string" != typeof a ? a : String(a).replace(/[&<>"'\/\\]/g, function(a) {
255                        return b[a]
256                    })
257                }, c.appendMany = function(b, c) {
258                    if ("1.7" === a.fn.jquery.substr(0, 3)) {
259                        var d = a();
260                        a.map(c, function(a) {
261                            d = d.add(a)
262                        }), c = d
263                    }
264                    b.append(c)
265                }, c.__cache = {};
266                var e = 0;
267                return c.GetUniqueElementId = function(a) {
268                    var b = a.getAttribute("data-select2-id");
269                    return null == b && (a.id ? (b = a.id, a.setAttribute("data-select2-id", b)) : (a.setAttribute("data-select2-id", ++e), b = e.toString())), b
270                }, c.StoreData = function(a, b, d) {
271                    var e = c.GetUniqueElementId(a);
272                    c.__cache[e] || (c.__cache[e] = {}), c.__cache[e][b] = d
273                }, c.GetData = function(b, d) {
274                    var e = c.GetUniqueElementId(b);
275                    return d ? c.__cache[e] && null != c.__cache[e][d] ? c.__cache[e][d] : a(b).data(d) : c.__cache[e]
276                }, c.RemoveData = function(a) {
277                    var b = c.GetUniqueElementId(a);
278                    null != c.__cache[b] && delete c.__cache[b]
279                }, c
280            }), b.define("select2/results", ["jquery", "./utils"], function(a, b) {
281                function c(a, b, d) {
282                    this.$element = a, this.data = d, this.options = b, c.__super__.constructor.call(this)
283                }
284                return b.Extend(c, b.Observable), c.prototype.render = function() {
285                    var b = a('<ul class="select2-results__options" role="tree"></ul>');
286                    return this.options.get("multiple") && b.attr("aria-multiselectable", "true"), this.$results = b, b
287                }, c.prototype.clear = function() {
288                    this.$results.empty()
289                }, c.prototype.displayMessage = function(b) {
290                    var c = this.options.get("escapeMarkup");
291                    this.clear(), this.hideLoading();
292                    var d = a('<li role="treeitem" aria-live="assertive" class="select2-results__option"></li>'),
293                        e = this.options.get("translations").get(b.message);
294                    d.append(c(e(b.args))), d[0].className += " select2-results__message", this.$results.append(d)
295                }, c.prototype.hideMessages = function() {
296                    this.$results.find(".select2-results__message").remove()
297                }, c.prototype.append = function(a) {
298                    this.hideLoading();
299                    var b = [];
300                    if (null == a.results || 0 === a.results.length) return void(0 === this.$results.children().length && this.trigger("results:message", {
301                        message: "noResults"
302                    }));
303                    a.results = this.sort(a.results);
304                    for (var c = 0; c < a.results.length; c++) {
305                        var d = a.results[c],
306                            e = this.option(d);
307                        b.push(e)
308                    }
309                    this.$results.append(b)
310                }, c.prototype.position = function(a, b) {
311                    b.find(".select2-results").append(a)
312                }, c.prototype.sort = function(a) {
313                    return this.options.get("sorter")(a)
314                }, c.prototype.highlightFirstItem = function() {
315                    var a = this.$results.find(".select2-results__option[aria-selected]"),
316                        b = a.filter("[aria-selected=true]");
317                    b.length > 0 ? b.first().trigger("mouseenter") : a.first().trigger("mouseenter"), this.ensureHighlightVisible()
318                }, c.prototype.setClasses = function() {
319                    var c = this;
320                    this.data.current(function(d) {
321                        var e = a.map(d, function(a) {
322                            return a.id.toString()
323                        });
324                        c.$results.find(".select2-results__option[aria-selected]").each(function() {
325                            var c = a(this),
326                                d = b.GetData(this, "data"),
327                                f = "" + d.id;
328                            null != d.element && d.element.selected || null == d.element && a.inArray(f, e) > -1 ? c.attr("aria-selected", "true") : c.attr("aria-selected", "false")
329                        })
330                    })
331                }, c.prototype.showLoading = function(a) {
332                    this.hideLoading();
333                    var b = this.options.get("translations").get("searching"),
334                        c = {
335                            disabled: !0,
336                            loading: !0,
337                            text: b(a)
338                        },
339                        d = this.option(c);
340                    d.className += " loading-results", this.$results.prepend(d)
341                }, c.prototype.hideLoading = function() {
342                    this.$results.find(".loading-results").remove()
343                }, c.prototype.option = function(c) {
344                    var d = document.createElement("li");
345                    d.className = "select2-results__option";
346                    var e = {
347                        role: "treeitem",
348                        "aria-selected": "false"
349                    };
350                    c.disabled && (delete e["aria-selected"], e["aria-disabled"] = "true"), null == c.id && delete e["aria-selected"], null != c._resultId && (d.id = c._resultId), c.title && (d.title = c.title), c.children && (e.role = "group", e["aria-label"] = c.text, delete e["aria-selected"]);
351                    for (var f in e) {
352                        var g = e[f];
353                        d.setAttribute(f, g)
354                    }
355                    if (c.children) {
356                        var h = a(d),
357                            i = document.createElement("strong");
358                        i.className = "select2-results__group";
359                        a(i);
360                        this.template(c, i);
361                        for (var j = [], k = 0; k < c.children.length; k++) {
362                            var l = c.children[k],
363                                m = this.option(l);
364                            j.push(m)
365                        }
366                        var n = a("<ul></ul>", {
367                            class: "select2-results__options select2-results__options--nested"
368                        });
369                        n.append(j), h.append(i), h.append(n)
370                    } else this.template(c, d);
371                    return b.StoreData(d, "data", c), d
372                }, c.prototype.bind = function(c, d) {
373                    var e = this,
374                        f = c.id + "-results";
375                    this.$results.attr("id", f), c.on("results:all", function(a) {
376                        e.clear(), e.append(a.data), c.isOpen() && (e.setClasses(), e.highlightFirstItem())
377                    }), c.on("results:append", function(a) {
378                        e.append(a.data), c.isOpen() && e.setClasses()
379                    }), c.on("query", function(a) {
380                        e.hideMessages(), e.showLoading(a)
381                    }), c.on("select", function() {
382                        c.isOpen() && (e.setClasses(), e.highlightFirstItem())
383                    }), c.on("unselect", function() {
384                        c.isOpen() && (e.setClasses(), e.highlightFirstItem())
385                    }), c.on("open", function() {
386                        e.$results.attr("aria-expanded", "true"), e.$results.attr("aria-hidden", "false"), e.setClasses(), e.ensureHighlightVisible()
387                    }), c.on("close", function() {
388                        e.$results.attr("aria-expanded", "false"), e.$results.attr("aria-hidden", "true"), e.$results.removeAttr("aria-activedescendant")
389                    }), c.on("results:toggle", function() {
390                        var a = e.getHighlightedResults();
391                        0 !== a.length && a.trigger("mouseup")
392                    }), c.on("results:select", function() {
393                        var a = e.getHighlightedResults();
394                        if (0 !== a.length) {
395                            var c = b.GetData(a[0], "data");
396                            "true" == a.attr("aria-selected") ? e.trigger("close", {}) : e.trigger("select", {
397                                data: c
398                            })
399                        }
400                    }), c.on("results:previous", function() {
401                        var a = e.getHighlightedResults(),
402                            b = e.$results.find("[aria-selected]"),
403                            c = b.index(a);
404                        if (!(c <= 0)) {
405                            var d = c - 1;
406                            0 === a.length && (d = 0);
407                            var f = b.eq(d);
408                            f.trigger("mouseenter");
409                            var g = e.$results.offset().top,
410                                h = f.offset().top,
411                                i = e.$results.scrollTop() + (h - g);
412                            0 === d ? e.$results.scrollTop(0) : h - g < 0 && e.$results.scrollTop(i)
413                        }
414                    }), c.on("results:next", function() {
415                        var a = e.getHighlightedResults(),
416                            b = e.$results.find("[aria-selected]"),
417                            c = b.index(a),
418                            d = c + 1;
419                        if (!(d >= b.length)) {
420                            var f = b.eq(d);
421                            f.trigger("mouseenter");
422                            var g = e.$results.offset().top + e.$results.outerHeight(!1),
423                                h = f.offset().top + f.outerHeight(!1),
424                                i = e.$results.scrollTop() + h - g;
425                            0 === d ? e.$results.scrollTop(0) : h > g && e.$results.scrollTop(i)
426                        }
427                    }), c.on("results:focus", function(a) {
428                        a.element.addClass("select2-results__option--highlighted")
429                    }), c.on("results:message", function(a) {
430                        e.displayMessage(a)
431                    }), a.fn.mousewheel && this.$results.on("mousewheel", function(a) {
432                        var b = e.$results.scrollTop(),
433                            c = e.$results.get(0).scrollHeight - b + a.deltaY,
434                            d = a.deltaY > 0 && b - a.deltaY <= 0,
435                            f = a.deltaY < 0 && c <= e.$results.height();
436                        d ? (e.$results.scrollTop(0), a.preventDefault(), a.stopPropagation()) : f && (e.$results.scrollTop(e.$results.get(0).scrollHeight - e.$results.height()), a.preventDefault(), a.stopPropagation())
437                    }), this.$results.on("mouseup", ".select2-results__option[aria-selected]", function(c) {
438                        var d = a(this),
439                            f = b.GetData(this, "data");
440                        if ("true" === d.attr("aria-selected")) return void(e.options.get("multiple") ? e.trigger("unselect", {
441                            originalEvent: c,
442                            data: f
443                        }) : e.trigger("close", {}));
444                        e.trigger("select", {
445                            originalEvent: c,
446                            data: f
447                        })
448                    }), this.$results.on("mouseenter", ".select2-results__option[aria-selected]", function(c) {
449                        var d = b.GetData(this, "data");
450                        e.getHighlightedResults().removeClass("select2-results__option--highlighted"), e.trigger("results:focus", {
451                            data: d,
452                            element: a(this)
453                        })
454                    })
455                }, c.prototype.getHighlightedResults = function() {
456                    return this.$results.find(".select2-results__option--highlighted")
457                }, c.prototype.destroy = function() {
458                    this.$results.remove()
459                }, c.prototype.ensureHighlightVisible = function() {
460                    var a = this.getHighlightedResults();
461                    if (0 !== a.length) {
462                        var b = this.$results.find("[aria-selected]"),
463                            c = b.index(a),
464                            d = this.$results.offset().top,
465                            e = a.offset().top,
466                            f = this.$results.scrollTop() + (e - d),
467                            g = e - d;
468                        f -= 2 * a.outerHeight(!1), c <= 2 ? this.$results.scrollTop(0) : (g > this.$results.outerHeight() || g < 0) && this.$results.scrollTop(f)
469                    }
470                }, c.prototype.template = function(b, c) {
471                    var d = this.options.get("templateResult"),
472                        e = this.options.get("escapeMarkup"),
473                        f = d(b, c);
474                    null == f ? c.style.display = "none" : "string" == typeof f ? c.innerHTML = e(f) : a(c).append(f)
475                }, c
476            }), b.define("select2/keys", [], function() {
477                return {
478                    BACKSPACE: 8,
479                    TAB: 9,
480                    ENTER: 13,
481                    SHIFT: 16,
482                    CTRL: 17,
483                    ALT: 18,
484                    ESC: 27,
485                    SPACE: 32,
486                    PAGE_UP: 33,
487                    PAGE_DOWN: 34,
488                    END: 35,
489                    HOME: 36,
490                    LEFT: 37,
491                    UP: 38,
492                    RIGHT: 39,
493                    DOWN: 40,
494                    DELETE: 46
495                }
496            }), b.define("select2/selection/base", ["jquery", "../utils", "../keys"], function(a, b, c) {
497                function d(a, b) {
498                    this.$element = a, this.options = b, d.__super__.constructor.call(this)
499                }
500                return b.Extend(d, b.Observable), d.prototype.render = function() {
501                    var c = a('<span class="select2-selection" role="combobox"  aria-haspopup="true" aria-expanded="false"></span>');
502                    return this._tabindex = 0, null != b.GetData(this.$element[0], "old-tabindex") ? this._tabindex = b.GetData(this.$element[0], "old-tabindex") : null != this.$element.attr("tabindex") && (this._tabindex = this.$element.attr("tabindex")), c.attr("title", this.$element.attr("title")), c.attr("tabindex", this._tabindex), this.$selection = c, c
503                }, d.prototype.bind = function(a, b) {
504                    var d = this,
505                        e = (a.id, a.id + "-results");
506                    this.container = a, this.$selection.on("focus", function(a) {
507                        d.trigger("focus", a)
508                    }), this.$selection.on("blur", function(a) {
509                        d._handleBlur(a)
510                    }), this.$selection.on("keydown", function(a) {
511                        d.trigger("keypress", a), a.which === c.SPACE && a.preventDefault()
512                    }), a.on("results:focus", function(a) {
513                        d.$selection.attr("aria-activedescendant", a.data._resultId)
514                    }), a.on("selection:update", function(a) {
515                        d.update(a.data)
516                    }), a.on("open", function() {
517                        d.$selection.attr("aria-expanded", "true"), d.$selection.attr("aria-owns", e), d._attachCloseHandler(a)
518                    }), a.on("close", function() {
519                        d.$selection.attr("aria-expanded", "false"), d.$selection.removeAttr("aria-activedescendant"), d.$selection.removeAttr("aria-owns"), d.$selection.focus(), window.setTimeout(function() {
520                            d.$selection.focus()
521                        }, 0), d._detachCloseHandler(a)
522                    }), a.on("enable", function() {
523                        d.$selection.attr("tabindex", d._tabindex)
524                    }), a.on("disable", function() {
525                        d.$selection.attr("tabindex", "-1")
526                    })
527                }, d.prototype._handleBlur = function(b) {
528                    var c = this;
529                    window.setTimeout(function() {
530                        document.activeElement == c.$selection[0] || a.contains(c.$selection[0], document.activeElement) || c.trigger("blur", b)
531                    }, 1)
532                }, d.prototype._attachCloseHandler = function(c) {
533                    a(document.body).on("mousedown.select2." + c.id, function(c) {
534                        var d = a(c.target),
535                            e = d.closest(".select2");
536                        a(".select2.select2-container--open").each(function() {
537                            a(this), this != e[0] && b.GetData(this, "element").select2("close")
538                        })
539                    })
540                }, d.prototype._detachCloseHandler = function(b) {
541                    a(document.body).off("mousedown.select2." + b.id)
542                }, d.prototype.position = function(a, b) {
543                    b.find(".selection").append(a)
544                }, d.prototype.destroy = function() {
545                    this._detachCloseHandler(this.container)
546                }, d.prototype.update = function(a) {
547                    throw new Error("The `update` method must be defined in child classes.")
548                }, d
549            }), b.define("select2/selection/single", ["jquery", "./base", "../utils", "../keys"], function(a, b, c, d) {
550                function e() {
551                    e.__super__.constructor.apply(this, arguments)
552                }
553                return c.Extend(e, b), e.prototype.render = function() {
554                    var a = e.__super__.render.call(this);
555                    return a.addClass("select2-selection--single"), a.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'), a
556                }, e.prototype.bind = function(a, b) {
557                    var c = this;
558                    e.__super__.bind.apply(this, arguments);
559                    var d = a.id + "-container";
560                    this.$selection.find(".select2-selection__rendered").attr("id", d).attr("role", "textbox").attr("aria-readonly", "true"), this.$selection.attr("aria-labelledby", d), this.$selection.on("mousedown", function(a) {
561                        1 === a.which && c.trigger("toggle", {
562                            originalEvent: a
563                        })
564                    }), this.$selection.on("focus", function(a) {}), this.$selection.on("blur", function(a) {}), a.on("focus", function(b) {
565                        a.isOpen() || c.$selection.focus()
566                    })
567                }, e.prototype.clear = function() {
568                    var a = this.$selection.find(".select2-selection__rendered");
569                    a.empty(), a.removeAttr("title")
570                }, e.prototype.display = function(a, b) {
571                    var c = this.options.get("templateSelection");
572                    return this.options.get("escapeMarkup")(c(a, b))
573                }, e.prototype.selectionContainer = function() {
574                    return a("<span></span>")
575                }, e.prototype.update = function(a) {
576                    if (0 === a.length) return void this.clear();
577                    var b = a[0],
578                        c = this.$selection.find(".select2-selection__rendered"),
579                        d = this.display(b, c);
580                    c.empty().append(d), c.attr("title", b.title || b.text)
581                }, e
582            }), b.define("select2/selection/multiple", ["jquery", "./base", "../utils"], function(a, b, c) {
583                function d(a, b) {
584                    d.__super__.constructor.apply(this, arguments)
585                }
586                return c.Extend(d, b), d.prototype.render = function() {
587                    var a = d.__super__.render.call(this);
588                    return a.addClass("select2-selection--multiple"), a.html('<ul class="select2-selection__rendered"></ul>'), a
589                }, d.prototype.bind = function(b, e) {
590                    var f = this;
591                    d.__super__.bind.apply(this, arguments), this.$selection.on("click", function(a) {
592                        f.trigger("toggle", {
593                            originalEvent: a
594                        })
595                    }), this.$selection.on("click", ".select2-selection__choice__remove", function(b) {
596                        if (!f.options.get("disabled")) {
597                            var d = a(this),
598                                e = d.parent(),
599                                g = c.GetData(e[0], "data");
600                            f.trigger("unselect", {
601                                originalEvent: b,
602                                data: g
603                            })
604                        }
605                    })
606                }, d.prototype.clear = function() {
607                    var a = this.$selection.find(".select2-selection__rendered");
608                    a.empty(), a.removeAttr("title")
609                }, d.prototype.display = function(a, b) {
610                    var c = this.options.get("templateSelection");
611                    return this.options.get("escapeMarkup")(c(a, b))
612                }, d.prototype.selectionContainer = function() {
613                    return a('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">&times;</span></li>')
614                }, d.prototype.update = function(a) {
615                    if (this.clear(), 0 !== a.length) {
616                        for (var b = [], d = 0; d < a.length; d++) {
617                            var e = a[d],
618                                f = this.selectionContainer(),
619                                g = this.display(e, f);
620                            f.append(g), f.attr("title", e.title || e.text), c.StoreData(f[0], "data", e), b.push(f)
621                        }
622                        var h = this.$selection.find(".select2-selection__rendered");
623                        c.appendMany(h, b)
624                    }
625                }, d
626            }), b.define("select2/selection/placeholder", ["../utils"], function(a) {
627                function b(a, b, c) {
628                    this.placeholder = this.normalizePlaceholder(c.get("placeholder")), a.call(this, b, c)
629                }
630                return b.prototype.normalizePlaceholder = function(a, b) {
631                    return "string" == typeof b && (b = {
632                        id: "",
633                        text: b
634                    }), b
635                }, b.prototype.createPlaceholder = function(a, b) {
636                    var c = this.selectionContainer();
637                    return c.html(this.display(b)), c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"), c
638                }, b.prototype.update = function(a, b) {
639                    var c = 1 == b.length && b[0].id != this.placeholder.id;
640                    if (b.length > 1 || c) return a.call(this, b);
641                    this.clear();
642                    var d = this.createPlaceholder(this.placeholder);
643                    this.$selection.find(".select2-selection__rendered").append(d)
644                }, b
645            }), b.define("select2/selection/allowClear", ["jquery", "../keys", "../utils"], function(a, b, c) {
646                function d() {}
647                return d.prototype.bind = function(a, b, c) {
648                    var d = this;
649                    a.call(this, b, c), 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(a) {
650                        d._handleClear(a)
651                    }), b.on("keypress", function(a) {
652                        d._handleKeyboardClear(a, b)
653                    })
654                }, d.prototype._handleClear = function(a, b) {
655                    if (!this.options.get("disabled")) {
656                        var d = this.$selection.find(".select2-selection__clear");
657                        if (0 !== d.length) {
658                            b.stopPropagation();
659                            var e = c.GetData(d[0], "data"),
660                                f = this.$element.val();
661                            this.$element.val(this.placeholder.id);
662                            var g = {
663                                data: e
664                            };
665                            if (this.trigger("clear", g), g.prevented) return void this.$element.val(f);
666                            for (var h = 0; h < e.length; h++)
667                                if (g = {
668                                        data: e[h]
669                                    }, this.trigger("unselect", g), g.prevented) return void this.$element.val(f);
670                            this.$element.trigger("change"), this.trigger("toggle", {})
671                        }
672                    }
673                }, d.prototype._handleKeyboardClear = function(a, c, d) {
674                    d.isOpen() || c.which != b.DELETE && c.which != b.BACKSPACE || this._handleClear(c)
675                }, d.prototype.update = function(b, d) {
676                    if (b.call(this, d), !(this.$selection.find(".select2-selection__placeholder").length > 0 || 0 === d.length)) {
677                        var e = a('<span class="select2-selection__clear">&times;</span>');
678                        c.StoreData(e[0], "data", d), this.$selection.find(".select2-selection__rendered").prepend(e)
679                    }
680                }, d
681            }), b.define("select2/selection/search", ["jquery", "../utils", "../keys"], function(a, b, c) {
682                function d(a, b, c) {
683                    a.call(this, b, c)
684                }
685                return d.prototype.render = function(b) {
686                    var c = a('<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="textbox" aria-autocomplete="list" /></li>');
687                    this.$searchContainer = c, this.$search = c.find("input");
688                    var d = b.call(this);
689                    return this._transferTabIndex(), d
690                }, d.prototype.bind = function(a, d, e) {
691                    var f = this;
692                    a.call(this, d, e), d.on("open", function() {
693                        f.$search.trigger("focus")
694                    }), d.on("close", function() {
695                        f.$search.val(""), f.$search.removeAttr("aria-activedescendant"), f.$search.trigger("focus")
696                    }), d.on("enable", function() {
697                        f.$search.prop("disabled", !1), f._transferTabIndex()
698                    }), d.on("disable", function() {
699                        f.$search.prop("disabled", !0)
700                    }), d.on("focus", function(a) {
701                        f.$search.trigger("focus")
702                    }), d.on("results:focus", function(a) {
703                        f.$search.attr("aria-activedescendant", a.id)
704                    }), this.$selection.on("focusin", ".select2-search--inline", function(a) {
705                        f.trigger("focus", a)
706                    }), this.$selection.on("focusout", ".select2-search--inline", function(a) {
707                        f._handleBlur(a)
708                    }), this.$selection.on("keydown", ".select2-search--inline", function(a) {
709                        if (a.stopPropagation(), f.trigger("keypress", a), f._keyUpPrevented = a.isDefaultPrevented(), a.which === c.BACKSPACE && "" === f.$search.val()) {
710                            var d = f.$searchContainer.prev(".select2-selection__choice");
711                            if (d.length > 0) {
712                                var e = b.GetData(d[0], "data");
713                                f.searchRemoveChoice(e), a.preventDefault()
714                            }
715                        }
716                    });
717                    var g = document.documentMode,
718                        h = g && g <= 11;
719                    this.$selection.on("input.searchcheck", ".select2-search--inline", function(a) {
720                        if (h) return void f.$selection.off("input.search input.searchcheck");
721                        f.$selection.off("keyup.search")
722                    }), this.$selection.on("keyup.search input.search", ".select2-search--inline", function(a) {
723                        if (h && "input" === a.type) return void f.$selection.off("input.search input.searchcheck");
724                        var b = a.which;
725                        b != c.SHIFT && b != c.CTRL && b != c.ALT && b != c.TAB && f.handleSearch(a)
726                    })
727                }, d.prototype._transferTabIndex = function(a) {
728                    this.$search.attr("tabindex", this.$selection.attr("tabindex")), this.$selection.attr("tabindex", "-1")
729                }, d.prototype.createPlaceholder = function(a, b) {
730                    this.$search.attr("placeholder", b.text)
731                }, d.prototype.update = function(a, b) {
732                    var c = this.$search[0] == document.activeElement;
733                    if (this.$search.attr("placeholder", ""), a.call(this, b), this.$selection.find(".select2-selection__rendered").append(this.$searchContainer), this.resizeSearch(), c) {
734                        this.$element.find("[data-select2-tag]").length ? this.$element.focus() : this.$search.focus()
735                    }
736                }, d.prototype.handleSearch = function() {
737                    if (this.resizeSearch(), !this._keyUpPrevented) {
738                        var a = this.$search.val();
739                        this.trigger("query", {
740                            term: a
741                        })
742                    }
743                    this._keyUpPrevented = !1
744                }, d.prototype.searchRemoveChoice = function(a, b) {
745                    this.trigger("unselect", {
746                        data: b
747                    }), this.$search.val(b.text), this.handleSearch()
748                }, d.prototype.resizeSearch = function() {
749                    this.$search.css("width", "25px");
750                    var a = "";
751                    if ("" !== this.$search.attr("placeholder")) a = this.$selection.find(".select2-selection__rendered").innerWidth();
752                    else {
753                        a = .75 * (this.$search.val().length + 1) + "em"
754                    }
755                    this.$search.css("width", a)
756                }, d
757            }), b.define("select2/selection/eventRelay", ["jquery"], function(a) {
758                function b() {}
759                return b.prototype.bind = function(b, c, d) {
760                    var e = this,
761                        f = ["open", "opening", "close", "closing", "select", "selecting", "unselect", "unselecting", "clear", "clearing"],
762                        g = ["opening", "closing", "selecting", "unselecting", "clearing"];
763                    b.call(this, c, d), c.on("*", function(b, c) {
764                        if (-1 !== a.inArray(b, f)) {
765                            c = c || {};
766                            var d = a.Event("select2:" + b, {
767                                params: c
768                            });
769                            e.$element.trigger(d), -1 !== a.inArray(b, g) && (c.prevented = d.isDefaultPrevented())
770                        }
771                    })
772                }, b
773            }), b.define("select2/translation", ["jquery", "require"], function(a, b) {
774                function c(a) {
775                    this.dict = a || {}
776                }
777                return c.prototype.all = function() {
778                    return this.dict
779                }, c.prototype.get = function(a) {
780                    return this.dict[a]
781                }, c.prototype.extend = function(b) {
782                    this.dict = a.extend({}, b.all(), this.dict)
783                }, c._cache = {}, c.loadPath = function(a) {
784                    if (!(a in c._cache)) {
785                        var d = b(a);
786                        c._cache[a] = d
787                    }
788                    return new c(c._cache[a])
789                }, c
790            }), b.define("select2/diacritics", [], function() {
791                return {
792                    "Ⓐ": "A",
793                    "A": "A",
794                    "À": "A",
795                    "Á": "A",
796                    "Â": "A",
797                    "Ầ": "A",
798                    "Ấ": "A",
799                    "Ẫ": "A",
800                    "Ẩ": "A",
801                    "Ã": "A",
802                    "Ā": "A",
803                    "Ă": "A",
804                    "Ằ": "A",
805                    "Ắ": "A",
806                    "Ẵ": "A",
807                    "Ẳ": "A",
808                    "Ȧ": "A",
809                    "Ç ": "A",
810                    "Ä": "A",
811                    "Ǟ": "A",
812                    "Ả": "A",
813                    "Å": "A",
814                    "Ǻ": "A",
815                    "Ǎ": "A",
816                    "Ȁ": "A",
817                    "Ȃ": "A",
818                    "Ạ": "A",
819                    "Ậ": "A",
820                    "Ặ": "A",
821                    "Ḁ": "A",
822                    "Ą": "A",
823                    "Ⱥ": "A",
824                    "Ɐ": "A",
825                    "Ꜳ": "AA",
826                    "Æ": "AE",
827                    "Ǽ": "AE",
828                    "Ç¢": "AE",
829                    "Ꜵ": "AO",
830                    "Ꜷ": "AU",
831                    "Ꜹ": "AV",
832                    "Ꜻ": "AV",
833                    "Ꜽ": "AY",
834                    "Ⓑ": "B",
835                    "ï¼¢": "B",
836                    "Ḃ": "B",
837                    "Ḅ": "B",
838                    "Ḇ": "B",
839                    "Ƀ": "B",
840                    "Ƃ": "B",
841                    "Ɓ": "B",
842                    "Ⓒ": "C",
843                    "ï¼£": "C",
844                    "Ć": "C",
845                    "Ĉ": "C",
846                    "Ċ": "C",
847                    "Č": "C",
848                    "Ç": "C",
849                    "Ḉ": "C",
850                    "Ƈ": "C",
851                    "È»": "C",
852                    "Ꜿ": "C",
853                    "Ⓓ": "D",
854                    "D": "D",
855                    "Ḋ": "D",
856                    "Ď": "D",
857                    "Ḍ": "D",
858                    "Ḑ": "D",
859                    "Ḓ": "D",
860                    "Ḏ": "D",
861                    "Đ": "D",
862                    "Ƌ": "D",
863                    "Ɗ": "D",
864                    "Ɖ": "D",
865                    "Ꝺ": "D",
866                    "DZ": "DZ",
867                    "DŽ": "DZ",
868                    "Dz": "Dz",
869                    "Dž": "Dz",
870                    "Ⓔ": "E",
871                    "ï¼¥": "E",
872                    "È": "E",
873                    "É": "E",
874                    "Ê": "E",
875                    "Ề": "E",
876                    "Ế": "E",
877                    "Ễ": "E",
878                    "Ể": "E",
879                    "Ẽ": "E",
880                    "Ē": "E",
881                    "Ḕ": "E",
882                    "Ḗ": "E",
883                    "Ĕ": "E",
884                    "Ė": "E",
885                    "Ë": "E",
886                    "Ẻ": "E",
887                    "Ě": "E",
888                    "Ȅ": "E",
889                    "Ȇ": "E",
890                    "Ẹ": "E",
891                    "Ệ": "E",
892                    "Ȩ": "E",
893                    "Ḝ": "E",
894                    "Ę": "E",
895                    "Ḙ": "E",
896                    "Ḛ": "E",
897                    "Ɛ": "E",
898                    "Ǝ": "E",
899                    "Ⓕ": "F",
900                    "F": "F",
901                    "Ḟ": "F",
902                    "Ƒ": "F",
903                    "Ꝼ": "F",
904                    "Ⓖ": "G",
905                    "ï¼§": "G",
906                    "Ç´": "G",
907                    "Ĝ": "G",
908                    "Ḡ": "G",
909                    "Ğ": "G",
910                    "Ä ": "G",
911                    "Ǧ": "G",
912                    "Ä¢": "G",
913                    "Ǥ": "G",
914                    "Ɠ": "G",
915                    "Ꞡ": "G",
916                    "Ᵹ": "G",
917                    "Ꝿ": "G",
918                    "Ⓗ": "H",
919                    "H": "H",
920                    "Ĥ": "H",
921                    "Ḣ": "H",
922                    "Ḧ": "H",
923                    "Ȟ": "H",
924                    "Ḥ": "H",
925                    "Ḩ": "H",
926                    "Ḫ": "H",
927                    "Ħ": "H",
928                    "â±§": "H",
929                    "â±µ": "H",
930                    "Ɥ": "H",
931                    "Ⓘ": "I",
932                    "I": "I",
933                    "Ì": "I",
934                    "Í": "I",
935                    "Î": "I",
936                    "Ĩ": "I",
937                    "Ī": "I",
938                    "Ĭ": "I",
939                    "İ": "I",
940                    "Ï": "I",
941                    "Ḯ": "I",
942                    "Ỉ": "I",
943                    "Ǐ": "I",
944                    "Ȉ": "I",
945                    "Ȋ": "I",
946                    "Ị": "I",
947                    "Ä®": "I",
948                    "Ḭ": "I",
949                    "Ɨ": "I",
950                    "Ⓙ": "J",
951                    "J": "J",
952                    "Ä´": "J",
953                    "Ɉ": "J",
954                    "Ⓚ": "K",
955                    "K": "K",
956                    "Ḱ": "K",
957                    "Ǩ": "K",
958                    "Ḳ": "K",
959                    "Ķ": "K",
960                    "Ḵ": "K",
961                    "Ƙ": "K",
962                    "Ⱪ": "K",
963                    "Ꝁ": "K",
964                    "Ꝃ": "K",
965                    "Ꝅ": "K",
966                    "Ꞣ": "K",
967                    "Ⓛ": "L",
968                    "L": "L",
969                    "Ä¿": "L",
970                    "Ĺ": "L",
971                    "Ľ": "L",
972                    "Ḷ": "L",
973                    "Ḹ": "L",
974                    "Ä»": "L",
975                    "Ḽ": "L",
976                    "Ḻ": "L",
977                    "Ł": "L",
978                    "Ƚ": "L",
979                    "â±¢": "L",
980                    "â± ": "L",
981                    "Ꝉ": "L",
982                    "Ꝇ": "L",
983                    "Ꞁ": "L",
984                    "LJ": "LJ",
985                    "Lj": "Lj",
986                    "Ⓜ": "M",
987                    "ï¼­": "M",
988                    "Ḿ": "M",
989                    "Ṁ": "M",
990                    "Ṃ": "M",
991                    "â±®": "M",
992                    "Ɯ": "M",
993                    "Ⓝ": "N",
994                    "ï¼®": "N",
995                    "Ǹ": "N",
996                    "Ń": "N",
997                    "Ñ": "N",
998                    "Ṅ": "N",
999                    "Ň": "N",
1000                    "Ṇ": "N",
1001                    "Ņ": "N",
1002                    "Ṋ": "N",
1003                    "Ṉ": "N",
1004                    "È ": "N",
1005                    "Ɲ": "N",
1006                    "Ꞑ": "N",
1007                    "Ꞥ": "N",
1008                    "NJ": "NJ",
1009                    "Nj": "Nj",
1010                    "Ⓞ": "O",
1011                    "O": "O",
1012                    "Ò": "O",
1013                    "Ó": "O",
1014                    "Ô": "O",
1015                    "Ồ": "O",
1016                    "Ố": "O",
1017                    "Ỗ": "O",
1018                    "Ổ": "O",
1019                    "Õ": "O",
1020                    "Ṍ": "O",
1021                    "Ȭ": "O",
1022                    "Ṏ": "O",
1023                    "Ō": "O",
1024                    "Ṑ": "O",
1025                    "Ṓ": "O",
1026                    "Ŏ": "O",
1027                    "È®": "O",
1028                    "Ȱ": "O",
1029                    "Ö": "O",
1030                    "Ȫ": "O",
1031                    "Ỏ": "O",
1032                    "Ő": "O",
1033                    "Ǒ": "O",
1034                    "Ȍ": "O",
1035                    "Ȏ": "O",
1036                    "Æ ": "O",
1037                    "Ờ": "O",
1038                    "Ớ": "O",
1039                    "á» ": "O",
1040                    "Ở": "O",
1041                    "Ợ": "O",
1042                    "Ọ": "O",
1043                    "Ộ": "O",
1044                    "Ǫ": "O",
1045                    "Ǭ": "O",
1046                    "Ø": "O",
1047                    "Ǿ": "O",
1048                    "Ɔ": "O",
1049                    "Ɵ": "O",
1050                    "Ꝋ": "O",
1051                    "Ꝍ": "O",
1052                    "Æ¢": "OI",
1053                    "Ꝏ": "OO",
1054                    "È¢": "OU",
1055                    "Ⓟ": "P",
1056                    "ï¼°": "P",
1057                    "Ṕ": "P",
1058                    "Ṗ": "P",
1059                    "Ƥ": "P",
1060                    "â±£": "P",
1061                    "Ꝑ": "P",
1062                    "Ꝓ": "P",
1063                    "Ꝕ": "P",
1064                    "Ⓠ": "Q",
1065                    "ï¼±": "Q",
1066                    "Ꝗ": "Q",
1067                    "Ꝙ": "Q",
1068                    "Ɋ": "Q",
1069                    "Ⓡ": "R",
1070                    "ï¼²": "R",
1071                    "Ŕ": "R",
1072                    "Ṙ": "R",
1073                    "Ř": "R",
1074                    "Ȑ": "R",
1075                    "Ȓ": "R",
1076                    "Ṛ": "R",
1077                    "Ṝ": "R",
1078                    "Ŗ": "R",
1079                    "Ṟ": "R",
1080                    "Ɍ": "R",
1081                    "Ɽ": "R",
1082                    "Ꝛ": "R",
1083                    "Ꞧ": "R",
1084                    "Ꞃ": "R",
1085                    "Ⓢ": "S",
1086                    "ï¼³": "S",
1087                    "ẞ": "S",
1088                    "Ś": "S",
1089                    "Ṥ": "S",
1090                    "Ŝ": "S",
1091                    "á¹ ": "S",
1092                    "Å ": "S",
1093                    "Ṧ": "S",
1094                    "á¹¢": "S",
1095                    "Ṩ": "S",
1096                    "Ș": "S",
1097                    "Ş": "S",
1098                    "â±¾": "S",
1099                    "Ꞩ": "S",
1100                    "Ꞅ": "S",
1101                    "Ⓣ": "T",
1102                    "ï¼´": "T",
1103                    "Ṫ": "T",
1104                    "Ť": "T",
1105                    "Ṭ": "T",
1106                    "Ț": "T",
1107                    "Å¢": "T",
1108                    "á¹°": "T",
1109                    "á¹®": "T",
1110                    "Ŧ": "T",
1111                    "Ƭ": "T",
1112                    "Æ®": "T",
1113                    "Ⱦ": "T",
1114                    "Ꞇ": "T",
1115                    "Ꜩ": "TZ",
1116                    "Ⓤ": "U",
1117                    "ï¼µ": "U",
1118                    "Ù": "U",
1119                    "Ú": "U",
1120                    "Û": "U",
1121                    "Ũ": "U",
1122                    "Ṹ": "U",
1123                    "Ū": "U",
1124                    "Ṻ": "U",
1125                    "Ŭ": "U",
1126                    "Ü": "U",
1127                    "Ǜ": "U",
1128                    "Ǘ": "U",
1129                    "Ǖ": "U",
1130                    "Ǚ": "U",
1131                    "Ủ": "U",
1132                    "Å®": "U",
1133                    "Ű": "U",
1134                    "Ǔ": "U",
1135                    "Ȕ": "U",
1136                    "Ȗ": "U",
1137                    "Ư": "U",
1138                    "Ừ": "U",
1139                    "Ứ": "U",
1140                    "á»®": "U",
1141                    "Ử": "U",
1142                    "á»°": "U",
1143                    "Ụ": "U",
1144                    "á¹²": "U",
1145                    "Ų": "U",
1146                    "á¹¶": "U",
1147                    "á¹´": "U",
1148                    "Ʉ": "U",
1149                    "Ⓥ": "V",
1150                    "ï¼¶": "V",
1151                    "á¹¼": "V",
1152                    "á¹¾": "V",
1153                    "Ʋ": "V",
1154                    "Ꝟ": "V",
1155                    "Ʌ": "V",
1156                    "Ꝡ": "VY",
1157                    "Ⓦ": "W",
1158                    "ï¼·": "W",
1159                    "Ẁ": "W",
1160                    "Ẃ": "W",
1161                    "Å´": "W",
1162                    "Ẇ": "W",
1163                    "Ẅ": "W",
1164                    "Ẉ": "W",
1165                    "â±²": "W",
1166                    "Ⓧ": "X",
1167                    "X": "X",
1168                    "Ẋ": "X",
1169                    "Ẍ": "X",
1170                    "Ⓨ": "Y",
1171                    "ï¼¹": "Y",
1172                    "Ỳ": "Y",
1173                    "Ý": "Y",
1174                    "Ŷ": "Y",
1175                    "Ỹ": "Y",
1176                    "Ȳ": "Y",
1177                    "Ẏ": "Y",
1178                    "Ÿ": "Y",
1179                    "á»¶": "Y",
1180                    "á»´": "Y",
1181                    "Ƴ": "Y",
1182                    "Ɏ": "Y",
1183                    "Ỿ": "Y",
1184                    "Ⓩ": "Z",
1185                    "Z": "Z",
1186                    "Ź": "Z",
1187                    "Ẑ": "Z",
1188                    "Å»": "Z",
1189                    "Ž": "Z",
1190                    "Ẓ": "Z",
1191                    "Ẕ": "Z",
1192                    "Ƶ": "Z",
1193                    "Ȥ": "Z",
1194                    "Ɀ": "Z",
1195                    "Ⱬ": "Z",
1196                    "Ꝣ": "Z",
1197                    "ⓐ": "a",
1198                    "a": "a",
1199                    "ẚ": "a",
1200                    "à": "a",
1201                    "á": "a",
1202                    "â": "a",
1203                    "ầ": "a",
1204                    "ấ": "a",
1205                    "ẫ": "a",
1206                    "ẩ": "a",
1207                    "ã": "a",
1208                    "ā": "a",
1209                    "ă": "a",
1210                    "ằ": "a",
1211                    "ắ": "a",
1212                    "ẵ": "a",
1213                    "ẳ": "a",
1214                    "ȧ": "a",
1215                    "Ç¡": "a",
1216                    "ä": "a",
1217                    "ǟ": "a",
1218                    "ả": "a",
1219                    "Ã¥": "a",
1220                    "Ç»": "a",
1221                    "ǎ": "a",
1222                    "ȁ": "a",
1223                    "ȃ": "a",
1224                    "ạ": "a",
1225                    "ậ": "a",
1226                    "ặ": "a",
1227                    "ḁ": "a",
1228                    "ą": "a",
1229                    "â±¥": "a",
1230                    "ɐ": "a",
1231                    "ꜳ": "aa",
1232                    "æ": "ae",
1233                    "ǽ": "ae",
1234                    "Ç£": "ae",
1235                    "ꜵ": "ao",
1236                    "ꜷ": "au",
1237                    "ꜹ": "av",
1238                    "ꜻ": "av",
1239                    "ꜽ": "ay",
1240                    "ⓑ": "b",
1241                    "b": "b",
1242                    "ḃ": "b",
1243                    "ḅ": "b",
1244                    "ḇ": "b",
1245                    "ƀ": "b",
1246                    "ƃ": "b",
1247                    "ɓ": "b",
1248                    "ⓒ": "c",
1249                    "c": "c",
1250                    "ć": "c",
1251                    "ĉ": "c",
1252                    "ċ": "c",
1253                    "č": "c",
1254                    "ç": "c",
1255                    "ḉ": "c",
1256                    "ƈ": "c",
1257                    "ȼ": "c",
1258                    "ꜿ": "c",
1259                    "ↄ": "c",
1260                    "ⓓ": "d",
1261                    "d": "d",
1262                    "ḋ": "d",
1263                    "ď": "d",
1264                    "ḍ": "d",
1265                    "ḑ": "d",
1266                    "ḓ": "d",
1267                    "ḏ": "d",
1268                    "đ": "d",
1269                    "ƌ": "d",
1270                    "ɖ": "d",
1271                    "ɗ": "d",
1272                    "ꝺ": "d",
1273                    "dz": "dz",
1274                    "dž": "dz",
1275                    "ⓔ": "e",
1276                    "e": "e",
1277                    "è": "e",
1278                    "é": "e",
1279                    "ê": "e",
1280                    "ề": "e",
1281                    "ế": "e",
1282                    "ễ": "e",
1283                    "ể": "e",
1284                    "ẽ": "e",
1285                    "ē": "e",
1286                    "ḕ": "e",
1287                    "ḗ": "e",
1288                    "ĕ": "e",
1289                    "ė": "e",
1290                    "ë": "e",
1291                    "ẻ": "e",
1292                    "ě": "e",
1293                    "ȅ": "e",
1294                    "ȇ": "e",
1295                    "ẹ": "e",
1296                    "ệ": "e",
1297                    "È©": "e",
1298                    "ḝ": "e",
1299                    "ę": "e",
1300                    "ḙ": "e",
1301                    "ḛ": "e",
1302                    "ɇ": "e",
1303                    "ɛ": "e",
1304                    "ǝ": "e",
1305                    "ⓕ": "f",
1306                    "f": "f",
1307                    "ḟ": "f",
1308                    "ƒ": "f",
1309                    "ꝼ": "f",
1310                    "ⓖ": "g",
1311                    "g": "g",
1312                    "ǵ": "g",
1313                    "ĝ": "g",
1314                    "ḡ": "g",
1315                    "ğ": "g",
1316                    "Ä¡": "g",
1317                    "ǧ": "g",
1318                    "Ä£": "g",
1319                    "Ç¥": "g",
1320                    "É ": "g",
1321                    "ꞡ": "g",
1322                    "áµ¹": "g",
1323                    "ꝿ": "g",
1324                    "ⓗ": "h",
1325                    "h": "h",
1326                    "Ä¥": "h",
1327                    "ḣ": "h",
1328                    "ḧ": "h",
1329                    "ȟ": "h",
1330                    "ḥ": "h",
1331                    "ḩ": "h",
1332                    "ḫ": "h",
1333                    "ẖ": "h",
1334                    "ħ": "h",
1335                    "ⱨ": "h",
1336                    "â±¶": "h",
1337                    "É¥": "h",
1338                    "ƕ": "hv",
1339                    "ⓘ": "i",
1340                    "i": "i",
1341                    "ì": "i",
1342                    "í": "i",
1343                    "î": "i",
1344                    "Ä©": "i",
1345                    "Ä«": "i",
1346                    "Ä­": "i",
1347                    "ï": "i",
1348                    "ḯ": "i",
1349                    "ỉ": "i",
1350                    "ǐ": "i",
1351                    "ȉ": "i",
1352                    "ȋ": "i",
1353                    "ị": "i",
1354                    "į": "i",
1355                    "ḭ": "i",
1356                    "ɨ": "i",
1357                    "ı": "i",
1358                    "ⓙ": "j",
1359                    "j": "j",
1360                    "ĵ": "j",
1361                    "ǰ": "j",
1362                    "ɉ": "j",
1363                    "ⓚ": "k",
1364                    "k": "k",
1365                    "ḱ": "k",
1366                    "Ç©": "k",
1367                    "ḳ": "k",
1368                    "Ä·": "k",
1369                    "ḵ": "k",
1370                    "ƙ": "k",
1371                    "ⱪ": "k",
1372                    "ꝁ": "k",
1373                    "ꝃ": "k",
1374                    "ꝅ": "k",
1375                    "ꞣ": "k",
1376                    "ⓛ": "l",
1377                    "l": "l",
1378                    "ŀ": "l",
1379                    "ĺ": "l",
1380                    "ľ": "l",
1381                    "ḷ": "l",
1382                    "ḹ": "l",
1383                    "ļ": "l",
1384                    "ḽ": "l",
1385                    "ḻ": "l",
1386                    "Å¿": "l",
1387                    "ł": "l",
1388                    "ƚ": "l",
1389                    "É«": "l",
1390                    "ⱡ": "l",
1391                    "ꝉ": "l",
1392                    "ꞁ": "l",
1393                    "ꝇ": "l",
1394                    "lj": "lj",
1395                    "ⓜ": "m",
1396                    "m": "m",
1397                    "ḿ": "m",
1398                    "ṁ": "m",
1399                    "ṃ": "m",
1400                    "ɱ": "m",
1401                    "ɯ": "m",
1402                    "ⓝ": "n",
1403                    "n": "n",
1404                    "ǹ": "n",
1405                    "ń": "n",
1406                    "ñ": "n",
1407                    "ṅ": "n",
1408                    "ň": "n",
1409                    "ṇ": "n",
1410                    "ņ": "n",
1411                    "ṋ": "n",
1412                    "ṉ": "n",
1413                    "ƞ": "n",
1414                    "ɲ": "n",
1415                    "ʼn": "n",
1416                    "ꞑ": "n",
1417                    "ꞥ": "n",
1418                    "nj": "nj",
1419                    "ⓞ": "o",
1420                    "o": "o",
1421                    "ò": "o",
1422                    "ó": "o",
1423                    "ô": "o",
1424                    "ồ": "o",
1425                    "ố": "o",
1426                    "ỗ": "o",
1427                    "ổ": "o",
1428                    "õ": "o",
1429                    "ṍ": "o",
1430                    "È­": "o",
1431                    "ṏ": "o",
1432                    "ō": "o",
1433                    "ṑ": "o",
1434                    "ṓ": "o",
1435                    "ŏ": "o",
1436                    "ȯ": "o",
1437                    "ȱ": "o",
1438                    "ö": "o",
1439                    "È«": "o",
1440                    "ỏ": "o",
1441                    "ő": "o",
1442                    "ǒ": "o",
1443                    "ȍ": "o",
1444                    "ȏ": "o",
1445                    "Æ¡": "o",
1446                    "ờ": "o",
1447                    "ớ": "o",
1448                    "ỡ": "o",
1449                    "ở": "o",
1450                    "ợ": "o",
1451                    "ọ": "o",
1452                    "ộ": "o",
1453                    "Ç«": "o",
1454                    "Ç­": "o",
1455                    "ø": "o",
1456                    "Ç¿": "o",
1457                    "ɔ": "o",
1458                    "ꝋ": "o",
1459                    "ꝍ": "o",
1460                    "ɵ": "o",
1461                    "Æ£": "oi",
1462                    "È£": "ou",
1463                    "ꝏ": "oo",
1464                    "ⓟ": "p",
1465                    "p": "p",
1466                    "ṕ": "p",
1467                    "ṗ": "p",
1468                    "Æ¥": "p",
1469                    "áµ½": "p",
1470                    "ꝑ": "p",
1471                    "ꝓ": "p",
1472                    "ꝕ": "p",
1473                    "ⓠ": "q",
1474                    "q": "q",
1475                    "ɋ": "q",
1476                    "ꝗ": "q",
1477                    "ꝙ": "q",
1478                    "ⓡ": "r",
1479                    "r": "r",
1480                    "ŕ": "r",
1481                    "ṙ": "r",
1482                    "ř": "r",
1483                    "ȑ": "r",
1484                    "ȓ": "r",
1485                    "ṛ": "r",
1486                    "ṝ": "r",
1487                    "ŗ": "r",
1488                    "ṟ": "r",
1489                    "ɍ": "r",
1490                    "ɽ": "r",
1491                    "ꝛ": "r",
1492                    "ꞧ": "r",
1493                    "ꞃ": "r",
vendor: 39,616 bytes, lines 1494-2245
1494                    "ⓢ": "s",
1495                    "s": "s",
1496                    "ß": "s",
1497                    "ś": "s",
1498                    "á¹¥": "s",
1499                    "ŝ": "s",
1500                    "ṡ": "s",
1501                    "Å¡": "s",
1502                    "á¹§": "s",
1503                    "á¹£": "s",
1504                    "ṩ": "s",
1505                    "ș": "s",
1506                    "ş": "s",
1507                    "È¿": "s",
1508                    "ꞩ": "s",
1509                    "ꞅ": "s",
1510                    "ẛ": "s",
1511                    "ⓣ": "t",
1512                    "t": "t",
1513                    "ṫ": "t",
1514                    "ẗ": "t",
1515                    "Å¥": "t",
1516                    "á¹­": "t",
1517                    "ț": "t",
1518                    "Å£": "t",
1519                    "á¹±": "t",
1520                    "ṯ": "t",
1521                    "ŧ": "t",
1522                    "Æ­": "t",
1523                    "ʈ": "t",
1524                    "ⱦ": "t",
1525                    "ꞇ": "t",
1526                    "ꜩ": "tz",
1527                    "ⓤ": "u",
1528                    "u": "u",
1529                    "ù": "u",
1530                    "ú": "u",
1531                    "û": "u",
1532                    "Å©": "u",
1533                    "á¹¹": "u",
1534                    "Å«": "u",
1535                    "á¹»": "u",
1536                    "Å­": "u",
1537                    "ü": "u",
1538                    "ǜ": "u",
1539                    "ǘ": "u",
1540                    "ǖ": "u",
1541                    "ǚ": "u",
1542                    "á»§": "u",
1543                    "ů": "u",
1544                    "ű": "u",
1545                    "ǔ": "u",
1546                    "ȕ": "u",
1547                    "ȗ": "u",
1548                    "ư": "u",
1549                    "ừ": "u",
1550                    "ứ": "u",
1551                    "ữ": "u",
1552                    "á»­": "u",
1553                    "á»±": "u",
1554                    "ụ": "u",
1555                    "á¹³": "u",
1556                    "ų": "u",
1557                    "á¹·": "u",
1558                    "á¹µ": "u",
1559                    "ʉ": "u",
1560                    "ⓥ": "v",
1561                    "v": "v",
1562                    "á¹½": "v",
1563                    "ṿ": "v",
1564                    "ʋ": "v",
1565                    "ꝟ": "v",
1566                    "ʌ": "v",
1567                    "ꝡ": "vy",
1568                    "ⓦ": "w",
1569                    "w": "w",
1570                    "ẁ": "w",
1571                    "ẃ": "w",
1572                    "ŵ": "w",
1573                    "ẇ": "w",
1574                    "ẅ": "w",
1575                    "ẘ": "w",
1576                    "ẉ": "w",
1577                    "â±³": "w",
1578                    "ⓧ": "x",
1579                    "x": "x",
1580                    "ẋ": "x",
1581                    "ẍ": "x",
1582                    "ⓨ": "y",
1583                    "y": "y",
1584                    "ỳ": "y",
1585                    "ý": "y",
1586                    "Å·": "y",
1587                    "ỹ": "y",
1588                    "ȳ": "y",
1589                    "ẏ": "y",
1590                    "ÿ": "y",
1591                    "á»·": "y",
1592                    "ẙ": "y",
1593                    "ỵ": "y",
1594                    "Æ´": "y",
1595                    "ɏ": "y",
1596                    "ỿ": "y",
1597                    "ⓩ": "z",
1598                    "z": "z",
1599                    "ź": "z",
1600                    "ẑ": "z",
1601                    "ż": "z",
1602                    "ž": "z",
1603                    "ẓ": "z",
1604                    "ẕ": "z",
1605                    "ƶ": "z",
1606                    "È¥": "z",
1607                    "ɀ": "z",
1608                    "ⱬ": "z",
1609                    "ꝣ": "z",
1610                    "Ά": "Α",
1611                    "Έ": "Ε",
1612                    "Ή": "Η",
1613                    "Ί": "Ι",
1614                    "Ϊ": "Ι",
1615                    "Ό": "Ο",
1616                    "Ύ": "Υ",
1617                    "Ϋ": "Υ",
1618                    "Ώ": "Ω",
1619                    "ά": "α",
1620                    "έ": "ε",
1621                    "ή": "η",
1622                    "ί": "ι",
1623                    "ϊ": "ι",
1624                    "ΐ": "ι",
1625                    "ό": "ο",
1626                    "ύ": "υ",
1627                    "ϋ": "υ",
1628                    "ΰ": "υ",
1629                    "ω": "ω",
1630                    "ς": "σ"
1631                }
1632            }), b.define("select2/data/base", ["../utils"], function(a) {
1633                function b(a, c) {
1634                    b.__super__.constructor.call(this)
1635                }
1636                return a.Extend(b, a.Observable), b.prototype.current = function(a) {
1637                    throw new Error("The `current` method must be defined in child classes.")
1638                }, b.prototype.query = function(a, b) {
1639                    throw new Error("The `query` method must be defined in child classes.")
1640                }, b.prototype.bind = function(a, b) {}, b.prototype.destroy = function() {}, b.prototype.generateResultId = function(b, c) {
1641                    var d = b.id + "-result-";
1642                    return d += a.generateChars(4), null != c.id ? d += "-" + c.id.toString() : d += "-" + a.generateChars(4), d
1643                }, b
1644            }), b.define("select2/data/select", ["./base", "../utils", "jquery"], function(a, b, c) {
1645                function d(a, b) {
1646                    this.$element = a, this.options = b, d.__super__.constructor.call(this)
1647                }
1648                return b.Extend(d, a), d.prototype.current = function(a) {
1649                    var b = [],
1650                        d = this;
1651                    this.$element.find(":selected").each(function() {
1652                        var a = c(this),
1653                            e = d.item(a);
1654                        b.push(e)
1655                    }), a(b)
1656                }, d.prototype.select = function(a) {
1657                    var b = this;
1658                    if (a.selected = !0, c(a.element).is("option")) return a.element.selected = !0, void this.$element.trigger("change");
1659                    if (this.$element.prop("multiple")) this.current(function(d) {
1660                        var e = [];
1661                        a = [a], a.push.apply(a, d);
1662                        for (var f = 0; f < a.length; f++) {
1663                            var g = a[f].id; - 1 === c.inArray(g, e) && e.push(g)
1664                        }
1665                        b.$element.val(e), b.$element.trigger("change")
1666                    });
1667                    else {
1668                        var d = a.id;
1669                        this.$element.val(d), this.$element.trigger("change")
1670                    }
1671                }, d.prototype.unselect = function(a) {
1672                    var b = this;
1673                    if (this.$element.prop("multiple")) {
1674                        if (a.selected = !1, c(a.element).is("option")) return a.element.selected = !1, void this.$element.trigger("change");
1675                        this.current(function(d) {
1676                            for (var e = [], f = 0; f < d.length; f++) {
1677                                var g = d[f].id;
1678                                g !== a.id && -1 === c.inArray(g, e) && e.push(g)
1679                            }
1680                            b.$element.val(e), b.$element.trigger("change")
1681                        })
1682                    }
1683                }, d.prototype.bind = function(a, b) {
1684                    var c = this;
1685                    this.container = a, a.on("select", function(a) {
1686                        c.select(a.data)
1687                    }), a.on("unselect", function(a) {
1688                        c.unselect(a.data)
1689                    })
1690                }, d.prototype.destroy = function() {
1691                    this.$element.find("*").each(function() {
1692                        b.RemoveData(this)
1693                    })
1694                }, d.prototype.query = function(a, b) {
1695                    var d = [],
1696                        e = this;
1697                    this.$element.children().each(function() {
1698                        var b = c(this);
1699                        if (b.is("option") || b.is("optgroup")) {
1700                            var f = e.item(b),
1701                                g = e.matches(a, f);
1702                            null !== g && d.push(g)
1703                        }
1704                    }), b({
1705                        results: d
1706                    })
1707                }, d.prototype.addOptions = function(a) {
1708                    b.appendMany(this.$element, a)
1709                }, d.prototype.option = function(a) {
1710                    var d;
1711                    a.children ? (d = document.createElement("optgroup"), d.label = a.text) : (d = document.createElement("option"), void 0 !== d.textContent ? d.textContent = a.text : d.innerText = a.text), void 0 !== a.id && (d.value = a.id), a.disabled && (d.disabled = !0), a.selected && (d.selected = !0), a.title && (d.title = a.title);
1712                    var e = c(d),
1713                        f = this._normalizeItem(a);
1714                    return f.element = d, b.StoreData(d, "data", f), e
1715                }, d.prototype.item = function(a) {
1716                    var d = {};
1717                    if (null != (d = b.GetData(a[0], "data"))) return d;
1718                    if (a.is("option")) d = {
1719                        id: a.val(),
1720                        text: a.text(),
1721                        disabled: a.prop("disabled"),
1722                        selected: a.prop("selected"),
1723                        title: a.prop("title")
1724                    };
1725                    else if (a.is("optgroup")) {
1726                        d = {
1727                            text: a.prop("label"),
1728                            children: [],
1729                            title: a.prop("title")
1730                        };
1731                        for (var e = a.children("option"), f = [], g = 0; g < e.length; g++) {
1732                            var h = c(e[g]),
1733                                i = this.item(h);
1734                            f.push(i)
1735                        }
1736                        d.children = f
1737                    }
1738                    return d = this._normalizeItem(d), d.element = a[0], b.StoreData(a[0], "data", d), d
1739                }, d.prototype._normalizeItem = function(a) {
1740                    a !== Object(a) && (a = {
1741                        id: a,
1742                        text: a
1743                    }), a = c.extend({}, {
1744                        text: ""
1745                    }, a);
1746                    var b = {
1747                        selected: !1,
1748                        disabled: !1
1749                    };
1750                    return null != a.id && (a.id = a.id.toString()), null != a.text && (a.text = a.text.toString()), null == a._resultId && a.id && null != this.container && (a._resultId = this.generateResultId(this.container, a)), c.extend({}, b, a)
1751                }, d.prototype.matches = function(a, b) {
1752                    return this.options.get("matcher")(a, b)
1753                }, d
1754            }), b.define("select2/data/array", ["./select", "../utils", "jquery"], function(a, b, c) {
1755                function d(a, b) {
1756                    var c = b.get("data") || [];
1757                    d.__super__.constructor.call(this, a, b), this.addOptions(this.convertToOptions(c))
1758                }
1759                return b.Extend(d, a), d.prototype.select = function(a) {
1760                    var b = this.$element.find("option").filter(function(b, c) {
1761                        return c.value == a.id.toString()
1762                    });
1763                    0 === b.length && (b = this.option(a), this.addOptions(b)), d.__super__.select.call(this, a)
1764                }, d.prototype.convertToOptions = function(a) {
1765                    function d(a) {
1766                        return function() {
1767                            return c(this).val() == a.id
1768                        }
1769                    }
1770                    for (var e = this, f = this.$element.find("option"), g = f.map(function() {
1771                            return e.item(c(this)).id
1772                        }).get(), h = [], i = 0; i < a.length; i++) {
1773                        var j = this._normalizeItem(a[i]);
1774                        if (c.inArray(j.id, g) >= 0) {
1775                            var k = f.filter(d(j)),
1776                                l = this.item(k),
1777                                m = c.extend(!0, {}, j, l),
1778                                n = this.option(m);
1779                            k.replaceWith(n)
1780                        } else {
1781                            var o = this.option(j);
1782                            if (j.children) {
1783                                var p = this.convertToOptions(j.children);
1784                                b.appendMany(o, p)
1785                            }
1786                            h.push(o)
1787                        }
1788                    }
1789                    return h
1790                }, d
1791            }), b.define("select2/data/ajax", ["./array", "../utils", "jquery"], function(a, b, c) {
1792                function d(a, b) {
1793                    this.ajaxOptions = this._applyDefaults(b.get("ajax")), null != this.ajaxOptions.processResults && (this.processResults = this.ajaxOptions.processResults), d.__super__.constructor.call(this, a, b)
1794                }
1795                return b.Extend(d, a), d.prototype._applyDefaults = function(a) {
1796                    var b = {
1797                        data: function(a) {
1798                            return c.extend({}, a, {
1799                                q: a.term
1800                            })
1801                        },
1802                        transport: function(a, b, d) {
1803                            var e = c.ajax(a);
1804                            return e.then(b), e.fail(d), e
1805                        }
1806                    };
1807                    return c.extend({}, b, a, !0)
1808                }, d.prototype.processResults = function(a) {
1809                    return a
1810                }, d.prototype.query = function(a, b) {
1811                    function d() {
1812                        var d = f.transport(f, function(d) {
1813                            var f = e.processResults(d, a);
1814                            e.options.get("debug") && window.console && console.error && (f && f.results && c.isArray(f.results) || console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")), b(f)
1815                        }, function() {
1816                            "status" in d && (0 === d.status || "0" === d.status) || e.trigger("results:message", {
1817                                message: "errorLoading"
1818                            })
1819                        });
1820                        e._request = d
1821                    }
1822                    var e = this;
1823                    null != this._request && (c.isFunction(this._request.abort) && this._request.abort(), this._request = null);
1824                    var f = c.extend({
1825                        type: "GET"
1826                    }, this.ajaxOptions);
1827                    "function" == typeof f.url && (f.url = f.url.call(this.$element, a)), "function" == typeof f.data && (f.data = f.data.call(this.$element, a)), this.ajaxOptions.delay && null != a.term ? (this._queryTimeout && window.clearTimeout(this._queryTimeout), this._queryTimeout = window.setTimeout(d, this.ajaxOptions.delay)) : d()
1828                }, d
1829            }), b.define("select2/data/tags", ["jquery"], function(a) {
1830                function b(b, c, d) {
1831                    var e = d.get("tags"),
1832                        f = d.get("createTag");
1833                    void 0 !== f && (this.createTag = f);
1834                    var g = d.get("insertTag");
1835                    if (void 0 !== g && (this.insertTag = g), b.call(this, c, d), a.isArray(e))
1836                        for (var h = 0; h < e.length; h++) {
1837                            var i = e[h],
1838                                j = this._normalizeItem(i),
1839                                k = this.option(j);
1840                            this.$element.append(k)
1841                        }
1842                }
1843                return b.prototype.query = function(a, b, c) {
1844                    function d(a, f) {
1845                        for (var g = a.results, h = 0; h < g.length; h++) {
1846                            var i = g[h],
1847                                j = null != i.children && !d({
1848                                    results: i.children
1849                                }, !0);
1850                            if ((i.text || "").toUpperCase() === (b.term || "").toUpperCase() || j) return !f && (a.data = g, void c(a))
1851                        }
1852                        if (f) return !0;
1853                        var k = e.createTag(b);
1854                        if (null != k) {
1855                            var l = e.option(k);
1856                            l.attr("data-select2-tag", !0), e.addOptions([l]), e.insertTag(g, k)
1857                        }
1858                        a.results = g, c(a)
1859                    }
1860                    var e = this;
1861                    if (this._removeOldTags(), null == b.term || null != b.page) return void a.call(this, b, c);
1862                    a.call(this, b, d)
1863                }, b.prototype.createTag = function(b, c) {
1864                    var d = a.trim(c.term);
1865                    return "" === d ? null : {
1866                        id: d,
1867                        text: d
1868                    }
1869                }, b.prototype.insertTag = function(a, b, c) {
1870                    b.unshift(c)
1871                }, b.prototype._removeOldTags = function(b) {
1872                    this._lastTag;
1873                    this.$element.find("option[data-select2-tag]").each(function() {
1874                        this.selected || a(this).remove()
1875                    })
1876                }, b
1877            }), b.define("select2/data/tokenizer", ["jquery"], function(a) {
1878                function b(a, b, c) {
1879                    var d = c.get("tokenizer");
1880                    void 0 !== d && (this.tokenizer = d), a.call(this, b, c)
1881                }
1882                return b.prototype.bind = function(a, b, c) {
1883                    a.call(this, b, c), this.$search = b.dropdown.$search || b.selection.$search || c.find(".select2-search__field")
1884                }, b.prototype.query = function(b, c, d) {
1885                    function e(b) {
1886                        var c = g._normalizeItem(b);
1887                        if (!g.$element.find("option").filter(function() {
1888                                return a(this).val() === c.id
1889                            }).length) {
1890                            var d = g.option(c);
1891                            d.attr("data-select2-tag", !0), g._removeOldTags(), g.addOptions([d])
1892                        }
1893                        f(c)
1894                    }
1895
1896                    function f(a) {
1897                        g.trigger("select", {
1898                            data: a
1899                        })
1900                    }
1901                    var g = this;
1902                    c.term = c.term || "";
1903                    var h = this.tokenizer(c, this.options, e);
1904                    h.term !== c.term && (this.$search.length && (this.$search.val(h.term), this.$search.focus()), c.term = h.term), b.call(this, c, d)
1905                }, b.prototype.tokenizer = function(b, c, d, e) {
1906                    for (var f = d.get("tokenSeparators") || [], g = c.term, h = 0, i = this.createTag || function(a) {
1907                            return {
1908                                id: a.term,
1909                                text: a.term
1910                            }
1911                        }; h < g.length;) {
1912                        var j = g[h];
1913                        if (-1 !== a.inArray(j, f)) {
1914                            var k = g.substr(0, h),
1915                                l = a.extend({}, c, {
1916                                    term: k
1917                                }),
1918                                m = i(l);
1919                            null != m ? (e(m), g = g.substr(h + 1) || "", h = 0) : h++
1920                        } else h++
1921                    }
1922                    return {
1923                        term: g
1924                    }
1925                }, b
1926            }), b.define("select2/data/minimumInputLength", [], function() {
1927                function a(a, b, c) {
1928                    this.minimumInputLength = c.get("minimumInputLength"), a.call(this, b, c)
1929                }
1930                return a.prototype.query = function(a, b, c) {
1931                    if (b.term = b.term || "", b.term.length < this.minimumInputLength) return void this.trigger("results:message", {
1932                        message: "inputTooShort",
1933                        args: {
1934                            minimum: this.minimumInputLength,
1935                            input: b.term,
1936                            params: b
1937                        }
1938                    });
1939                    a.call(this, b, c)
1940                }, a
1941            }), b.define("select2/data/maximumInputLength", [], function() {
1942                function a(a, b, c) {
1943                    this.maximumInputLength = c.get("maximumInputLength"), a.call(this, b, c)
1944                }
1945                return a.prototype.query = function(a, b, c) {
1946                    if (b.term = b.term || "", this.maximumInputLength > 0 && b.term.length > this.maximumInputLength) return void this.trigger("results:message", {
1947                        message: "inputTooLong",
1948                        args: {
1949                            maximum: this.maximumInputLength,
1950                            input: b.term,
1951                            params: b
1952                        }
1953                    });
1954                    a.call(this, b, c)
1955                }, a
1956            }), b.define("select2/data/maximumSelectionLength", [], function() {
1957                function a(a, b, c) {
1958                    this.maximumSelectionLength = c.get("maximumSelectionLength"), a.call(this, b, c)
1959                }
1960                return a.prototype.query = function(a, b, c) {
1961                    var d = this;
1962                    this.current(function(e) {
1963                        var f = null != e ? e.length : 0;
1964                        if (d.maximumSelectionLength > 0 && f >= d.maximumSelectionLength) return void d.trigger("results:message", {
1965                            message: "maximumSelected",
1966                            args: {
1967                                maximum: d.maximumSelectionLength
1968                            }
1969                        });
1970                        a.call(d, b, c)
1971                    })
1972                }, a
1973            }), b.define("select2/dropdown", ["jquery", "./utils"], function(a, b) {
1974                function c(a, b) {
1975                    this.$element = a, this.options = b, c.__super__.constructor.call(this)
1976                }
1977                return b.Extend(c, b.Observable), c.prototype.render = function() {
1978                    var b = a('<span class="select2-dropdown"><span class="select2-results"></span></span>');
1979                    return b.attr("dir", this.options.get("dir")), this.$dropdown = b, b
1980                }, c.prototype.bind = function() {}, c.prototype.position = function(a, b) {}, c.prototype.destroy = function() {
1981                    this.$dropdown.remove()
1982                }, c
1983            }), b.define("select2/dropdown/search", ["jquery", "../utils"], function(a, b) {
1984                function c() {}
1985                return c.prototype.render = function(b) {
1986                    var c = b.call(this),
1987                        d = a('<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="textbox" /></span>');
1988                    return this.$searchContainer = d, this.$search = d.find("input"), c.prepend(d), c
1989                }, c.prototype.bind = function(b, c, d) {
1990                    var e = this;
1991                    b.call(this, c, d), this.$search.on("keydown", function(a) {
1992                        e.trigger("keypress", a), e._keyUpPrevented = a.isDefaultPrevented()
1993                    }), this.$search.on("input", function(b) {
1994                        a(this).off("keyup")
1995                    }), this.$search.on("keyup input", function(a) {
1996                        e.handleSearch(a)
1997                    }), c.on("open", function() {
1998                        e.$search.attr("tabindex", 0), e.$search.focus(), window.setTimeout(function() {
1999                            e.$search.focus()
2000                        }, 0)
2001                    }), c.on("close", function() {
2002                        e.$search.attr("tabindex", -1), e.$search.val(""), e.$search.blur()
2003                    }), c.on("focus", function() {
2004                        c.isOpen() || e.$search.focus()
2005                    }), c.on("results:all", function(a) {
2006                        if (null == a.query.term || "" === a.query.term) {
2007                            e.showSearch(a) ? e.$searchContainer.removeClass("select2-search--hide") : e.$searchContainer.addClass("select2-search--hide")
2008                        }
2009                    })
2010                }, c.prototype.handleSearch = function(a) {
2011                    if (!this._keyUpPrevented) {
2012                        var b = this.$search.val();
2013                        this.trigger("query", {
2014                            term: b
2015                        })
2016                    }
2017                    this._keyUpPrevented = !1
2018                }, c.prototype.showSearch = function(a, b) {
2019                    return !0
2020                }, c
2021            }), b.define("select2/dropdown/hidePlaceholder", [], function() {
2022                function a(a, b, c, d) {
2023                    this.placeholder = this.normalizePlaceholder(c.get("placeholder")), a.call(this, b, c, d)
2024                }
2025                return a.prototype.append = function(a, b) {
2026                    b.results = this.removePlaceholder(b.results), a.call(this, b)
2027                }, a.prototype.normalizePlaceholder = function(a, b) {
2028                    return "string" == typeof b && (b = {
2029                        id: "",
2030                        text: b
2031                    }), b
2032                }, a.prototype.removePlaceholder = function(a, b) {
2033                    for (var c = b.slice(0), d = b.length - 1; d >= 0; d--) {
2034                        var e = b[d];
2035                        this.placeholder.id === e.id && c.splice(d, 1)
2036                    }
2037                    return c
2038                }, a
2039            }), b.define("select2/dropdown/infiniteScroll", ["jquery"], function(a) {
2040                function b(a, b, c, d) {
2041                    this.lastParams = {}, a.call(this, b, c, d), this.$loadingMore = this.createLoadingMore(), this.loading = !1
2042                }
2043                return b.prototype.append = function(a, b) {
2044                    this.$loadingMore.remove(), this.loading = !1, a.call(this, b), this.showLoadingMore(b) && this.$results.append(this.$loadingMore)
2045                }, b.prototype.bind = function(b, c, d) {
2046                    var e = this;
2047                    b.call(this, c, d), c.on("query", function(a) {
2048                        e.lastParams = a, e.loading = !0
2049                    }), c.on("query:append", function(a) {
2050                        e.lastParams = a, e.loading = !0
2051                    }), this.$results.on("scroll", function() {
2052                        var b = a.contains(document.documentElement, e.$loadingMore[0]);
2053                        if (!e.loading && b) {
2054                            e.$results.offset().top + e.$results.outerHeight(!1) + 50 >= e.$loadingMore.offset().top + e.$loadingMore.outerHeight(!1) && e.loadMore()
2055                        }
2056                    })
2057                }, b.prototype.loadMore = function() {
2058                    this.loading = !0;
2059                    var b = a.extend({}, {
2060                        page: 1
2061                    }, this.lastParams);
2062                    b.page++, this.trigger("query:append", b)
2063                }, b.prototype.showLoadingMore = function(a, b) {
2064                    return b.pagination && b.pagination.more
2065                }, b.prototype.createLoadingMore = function() {
2066                    var b = a('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"></li>'),
2067                        c = this.options.get("translations").get("loadingMore");
2068                    return b.html(c(this.lastParams)), b
2069                }, b
2070            }), b.define("select2/dropdown/attachBody", ["jquery", "../utils"], function(a, b) {
2071                function c(b, c, d) {
2072                    this.$dropdownParent = d.get("dropdownParent") || a(document.body), b.call(this, c, d)
2073                }
2074                return c.prototype.bind = function(a, b, c) {
2075                    var d = this,
2076                        e = !1;
2077                    a.call(this, b, c), b.on("open", function() {
2078                        d._showDropdown(), d._attachPositioningHandler(b), e || (e = !0, b.on("results:all", function() {
2079                            d._positionDropdown(), d._resizeDropdown()
2080                        }), b.on("results:append", function() {
2081                            d._positionDropdown(), d._resizeDropdown()
2082                        }))
2083                    }), b.on("close", function() {
2084                        d._hideDropdown(), d._detachPositioningHandler(b)
2085                    }), this.$dropdownContainer.on("mousedown", function(a) {
2086                        a.stopPropagation()
2087                    })
2088                }, c.prototype.destroy = function(a) {
2089                    a.call(this), this.$dropdownContainer.remove()
2090                }, c.prototype.position = function(a, b, c) {
2091                    b.attr("class", c.attr("class")), b.removeClass("select2"), b.addClass("select2-container--open"), b.css({
2092                        position: "absolute",
2093                        top: -999999
2094                    }), this.$container = c
2095                }, c.prototype.render = function(b) {
2096                    var c = a("<span></span>"),
2097                        d = b.call(this);
2098                    return c.append(d), this.$dropdownContainer = c, c
2099                }, c.prototype._hideDropdown = function(a) {
2100                    this.$dropdownContainer.detach()
2101                }, c.prototype._attachPositioningHandler = function(c, d) {
2102                    var e = this,
2103                        f = "scroll.select2." + d.id,
2104                        g = "resize.select2." + d.id,
2105                        h = "orientationchange.select2." + d.id,
2106                        i = this.$container.parents().filter(b.hasScroll);
2107                    i.each(function() {
2108                        b.StoreData(this, "select2-scroll-position", {
2109                            x: a(this).scrollLeft(),
2110                            y: a(this).scrollTop()
2111                        })
2112                    }), i.on(f, function(c) {
2113                        var d = b.GetData(this, "select2-scroll-position");
2114                        a(this).scrollTop(d.y)
2115                    }), a(window).on(f + " " + g + " " + h, function(a) {
2116                        e._positionDropdown(), e._resizeDropdown()
2117                    })
2118                }, c.prototype._detachPositioningHandler = function(c, d) {
2119                    var e = "scroll.select2." + d.id,
2120                        f = "resize.select2." + d.id,
2121                        g = "orientationchange.select2." + d.id;
2122                    this.$container.parents().filter(b.hasScroll).off(e), a(window).off(e + " " + f + " " + g)
2123                }, c.prototype._positionDropdown = function() {
2124                    var b = a(window),
2125                        c = this.$dropdown.hasClass("select2-dropdown--above"),
2126                        d = this.$dropdown.hasClass("select2-dropdown--below"),
2127                        e = null,
2128                        f = this.$container.offset();
2129                    f.bottom = f.top + this.$container.outerHeight(!1);
2130                    var g = {
2131                        height: this.$container.outerHeight(!1)
2132                    };
2133                    g.top = f.top, g.bottom = f.top + g.height;
2134                    var h = {
2135                            height: this.$dropdown.outerHeight(!1)
2136                        },
2137                        i = {
2138                            top: b.scrollTop(),
2139                            bottom: b.scrollTop() + b.height()
2140                        },
2141                        j = i.top < f.top - h.height,
2142                        k = i.bottom > f.bottom + h.height,
2143                        l = {
2144                            left: f.left,
2145                            top: g.bottom
2146                        },
2147                        m = this.$dropdownParent;
2148                    "static" === m.css("position") && (m = m.offsetParent());
2149                    var n = m.offset();
2150                    l.top -= n.top, l.left -= n.left, c || d || (e = "below"), k || !j || c ? !j && k && c && (e = "below") : e = "above", ("above" == e || c && "below" !== e) && (l.top = g.top - n.top - h.height), null != e && (this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--" + e), this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--" + e)), this.$dropdownContainer.css(l)
2151                }, c.prototype._resizeDropdown = function() {
2152                    var a = {
2153                        width: this.$container.outerWidth(!1) + "px"
2154                    };
2155                    this.options.get("dropdownAutoWidth") && (a.minWidth = a.width, a.position = "relative", a.width = "auto"), this.$dropdown.css(a)
2156                }, c.prototype._showDropdown = function(a) {
2157                    this.$dropdownContainer.appendTo(this.$dropdownParent), this._positionDropdown(), this._resizeDropdown()
2158                }, c
2159            }), b.define("select2/dropdown/minimumResultsForSearch", [], function() {
2160                function a(b) {
2161                    for (var c = 0, d = 0; d < b.length; d++) {
2162                        var e = b[d];
2163                        e.children ? c += a(e.children) : c++
2164                    }
2165                    return c
2166                }
2167
2168                function b(a, b, c, d) {
2169                    this.minimumResultsForSearch = c.get("minimumResultsForSearch"), this.minimumResultsForSearch < 0 && (this.minimumResultsForSearch = 1 / 0), a.call(this, b, c, d)
2170                }
2171                return b.prototype.showSearch = function(b, c) {
2172                    return !(a(c.data.results) < this.minimumResultsForSearch) && b.call(this, c)
2173                }, b
2174            }), b.define("select2/dropdown/selectOnClose", ["../utils"], function(a) {
2175                function b() {}
2176                return b.prototype.bind = function(a, b, c) {
2177                    var d = this;
2178                    a.call(this, b, c), b.on("close", function(a) {
2179                        d._handleSelectOnClose(a)
2180                    })
2181                }, b.prototype._handleSelectOnClose = function(b, c) {
2182                    if (c && null != c.originalSelect2Event) {
2183                        var d = c.originalSelect2Event;
2184                        if ("select" === d._type || "unselect" === d._type) return
2185                    }
2186                    var e = this.getHighlightedResults();
2187                    if (!(e.length < 1)) {
2188                        var f = a.GetData(e[0], "data");
2189                        null != f.element && f.element.selected || null == f.element && f.selected || this.trigger("select", {
2190                            data: f
2191                        })
2192                    }
2193                }, b
2194            }), b.define("select2/dropdown/closeOnSelect", [], function() {
2195                function a() {}
2196                return a.prototype.bind = function(a, b, c) {
2197                    var d = this;
2198                    a.call(this, b, c), b.on("select", function(a) {
2199                        d._selectTriggered(a)
2200                    }), b.on("unselect", function(a) {
2201                        d._selectTriggered(a)
2202                    })
2203                }, a.prototype._selectTriggered = function(a, b) {
2204                    var c = b.originalEvent;
2205                    c && c.ctrlKey || this.trigger("close", {
2206                        originalEvent: c,
2207                        originalSelect2Event: b
2208                    })
2209                }, a
2210            }), b.define("select2/i18n/en", [], function() {
2211                return {
2212                    errorLoading: function() {
2213                        return "The results could not be loaded."
2214                    },
2215                    inputTooLong: function(a) {
2216                        var b = a.input.length - a.maximum,
2217                            c = "Please delete " + b + " character";
2218                        return 1 != b && (c += "s"), c
2219                    },
2220                    inputTooShort: function(a) {
2221                        return "Please enter " + (a.minimum - a.input.length) + " or more characters"
2222                    },
2223                    loadingMore: function() {
2224                        return "Loading more results…"
2225                    },
2226                    maximumSelected: function(a) {
2227                        var b = "You can only select " + a.maximum + " item";
2228                        return 1 != a.maximum && (b += "s"), b
2229                    },
2230                    noResults: function() {
2231                        return "No results found"
2232                    },
2233                    searching: function() {
2234                        return "Searching…"
2235                    }
2236                }
2237            }), b.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(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, C) {
2238                function D() {
2239                    this.reset()
2240                }
2241                return D.prototype.apply = function(l) {
2242                    if (l = a.extend(!0, {}, this.defaults, l), null == l.dataAdapter) {
2243                        if (null != l.ajax ? l.dataAdapter = o : null != l.data ? l.dataAdapter = n : l.dataAdapter = m, l.minimumInputLength > 0 && (l.dataAdapter = j.Decorate(l.dataAdapter, r)), l.maximumInputLength > 0 && (l.dataAdapter = j.Decorate(l.dataAdapter, s)), l.maximumSelectionLength > 0 && (l.dataAdapter = j.Decorate(l.dataAdapter, t)), l.tags && (l.dataAdapter = j.Decorate(l.dataAdapter, p)), null == l.tokenSeparators && null == l.tokenizer || (l.dataAdapter = j.Decorate(l.dataAdapter, q)), null != l.query) {
2244                            var C = b(l.amdBase + "compat/query");
2245                            l.dataAdapter = j.Decorate(l.dataAdapter, C
vendor: 3,967 bytes, lines 2245-2306
2245)
2246                        }
2247                        if (null != l.initSelection) {
2248                            var D = b(l.amdBase + "compat/initSelection");
2249                            l.dataAdapter = j.Decorate(l.dataAdapter, D)
2250                        }
2251                    }
2252                    if (null == l.resultsAdapter && (l.resultsAdapter = c, null != l.ajax && (l.resultsAdapter = j.Decorate(l.resultsAdapter, x)), null != l.placeholder && (l.resultsAdapter = j.Decorate(l.resultsAdapter, w)), l.selectOnClose && (l.resultsAdapter = j.Decorate(l.resultsAdapter, A))), null == l.dropdownAdapter) {
2253                        if (l.multiple) l.dropdownAdapter = u;
2254                        else {
2255                            var E = j.Decorate(u, v);
2256                            l.dropdownAdapter = E
2257                        }
2258                        if (0 !== l.minimumResultsForSearch && (l.dropdownAdapter = j.Decorate(l.dropdownAdapter, z)), l.closeOnSelect && (l.dropdownAdapter = j.Decorate(l.dropdownAdapter, B)), null != l.dropdownCssClass || null != l.dropdownCss || null != l.adaptDropdownCssClass) {
2259                            var F = b(l.amdBase + "compat/dropdownCss");
2260                            l.dropdownAdapter = j.Decorate(l.dropdownAdapter, F)
2261                        }
2262                        l.dropdownAdapter = j.Decorate(l.dropdownAdapter, y)
2263                    }
2264                    if (null == l.selectionAdapter) {
2265                        if (l.multiple ? l.selectionAdapter = e : l.selectionAdapter = d, null != l.placeholder && (l.selectionAdapter = j.Decorate(l.selectionAdapter, f)), l.allowClear && (l.selectionAdapter = j.Decorate(l.selectionAdapter, g)), l.multiple && (l.selectionAdapter = j.Decorate(l.selectionAdapter, h)), null != l.containerCssClass || null != l.containerCss || null != l.adaptContainerCssClass) {
2266                            var G = b(l.amdBase + "compat/containerCss");
2267                            l.selectionAdapter = j.Decorate(l.selectionAdapter, G)
2268                        }
2269                        l.selectionAdapter = j.Decorate(l.selectionAdapter, i)
2270                    }
2271                    if ("string" == typeof l.language)
2272                        if (l.language.indexOf("-") > 0) {
2273                            var H = l.language.split("-"),
2274                                I = H[0];
2275                            l.language = [l.language, I]
2276                        } else l.language = [l.language];
2277                    if (a.isArray(l.language)) {
2278                        var J = new k;
2279                        l.language.push("en");
2280                        for (var K = l.language, L = 0; L < K.length; L++) {
2281                            var M = K[L],
2282                                N = {};
2283                            try {
2284                                N = k.loadPath(M)
2285                            } catch (a) {
2286                                try {
2287                                    M = this.defaults.amdLanguageBase + M, N = k.loadPath(M)
2288                                } catch (a) {
2289                                    l.debug && window.console && console.warn && console.warn('Select2: The language file for "' + M + '" could not be automatically loaded. A fallback will be used instead.');
2290                                    continue
2291                                }
2292                            }
2293                            J.extend(N)
2294                        }
2295                        l.translations = J
2296                    } else {
2297                        var O = k.loadPath(this.defaults.amdLanguageBase + "en"),
2298                            P = new k(l.language);
2299                        P.extend(O), l.translations = P
2300                    }
2301                    return l
2302                }, D.prototype.reset = function() {
2303                    function b(a) {
2304                        function b(a) {
2305                            return l[a] || a
2306                        }
vendor: 10,465 bytes, lines 2307-2453
2307                        return a.replace(/[^\u0000-\u007E]/g, b)
2308                    }
2309
2310                    function c(d, e) {
2311                        if ("" === a.trim(d.term)) return e;
2312                        if (e.children && e.children.length > 0) {
2313                            for (var f = a.extend(!0, {}, e), g = e.children.length - 1; g >= 0; g--) {
2314                                null == c(d, e.children[g]) && f.children.splice(g, 1)
2315                            }
2316                            return f.children.length > 0 ? f : c(d, f)
2317                        }
2318                        var h = b(e.text).toUpperCase(),
2319                            i = b(d.term).toUpperCase();
2320                        return h.indexOf(i) > -1 ? e : null
2321                    }
2322                    this.defaults = {
2323                        amdBase: "./",
2324                        amdLanguageBase: "./i18n/",
2325                        closeOnSelect: !0,
2326                        debug: !1,
2327                        dropdownAutoWidth: !1,
2328                        escapeMarkup: j.escapeMarkup,
2329                        language: C,
2330                        matcher: c,
2331                        minimumInputLength: 0,
2332                        maximumInputLength: 0,
2333                        maximumSelectionLength: 0,
2334                        minimumResultsForSearch: 0,
2335                        selectOnClose: !1,
2336                        sorter: function(a) {
2337                            return a
2338                        },
2339                        templateResult: function(a) {
2340                            return a.text
2341                        },
2342                        templateSelection: function(a) {
2343                            return a.text
2344                        },
2345                        theme: "default",
2346                        width: "resolve"
2347                    }
2348                }, D.prototype.set = function(b, c) {
2349                    var d = a.camelCase(b),
2350                        e = {};
2351                    e[d] = c;
2352                    var f = j._convertData(e);
2353                    a.extend(!0, this.defaults, f)
2354                }, new D
2355            }), b.define("select2/options", ["require", "jquery", "./defaults", "./utils"], function(a, b, c, d) {
2356                function e(b, e) {
2357                    if (this.options = b, null != e && this.fromElement(e), this.options = c.apply(this.options), e && e.is("input")) {
2358                        var f = a(this.get("amdBase") + "compat/inputData");
2359                        this.options.dataAdapter = d.Decorate(this.options.dataAdapter, f)
2360                    }
2361                }
2362                return e.prototype.fromElement = function(a) {
2363                    var c = ["select2"];
2364                    null == this.options.multiple && (this.options.multiple = a.prop("multiple")), null == this.options.disabled && (this.options.disabled = a.prop("disabled")), null == this.options.language && (a.prop("lang") ? this.options.language = a.prop("lang").toLowerCase() : a.closest("[lang]").prop("lang") && (this.options.language = a.closest("[lang]").prop("lang"))), null == this.options.dir && (a.prop("dir") ? this.options.dir = a.prop("dir") : a.closest("[dir]").prop("dir") ? this.options.dir = a.closest("[dir]").prop("dir") : this.options.dir = "ltr"), a.prop("disabled", this.options.disabled), a.prop("multiple", this.options.multiple), d.GetData(a[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.'), d.StoreData(a[0], "data", d.GetData(a[0], "select2Tags")), d.StoreData(a[0], "tags", !0)), d.GetData(a[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."), a.attr("ajax--url", d.GetData(a[0], "ajaxUrl")), d.StoreData(a[0], "ajax-Url", d.GetData(a[0], "ajaxUrl")));
2365                    var e = {};
2366                    e = b.fn.jquery && "1." == b.fn.jquery.substr(0, 2) && a[0].dataset ? b.extend(!0, {}, a[0].dataset, d.GetData(a[0])) : d.GetData(a[0]);
2367                    var f = b.extend(!0, {}, e);
2368                    f = d._convertData(f);
2369                    for (var g in f) b.inArray(g, c) > -1 || (b.isPlainObject(this.options[g]) ? b.extend(this.options[g], f[g]) : this.options[g] = f[g]);
2370                    return this
2371                }, e.prototype.get = function(a) {
2372                    return this.options[a]
2373                }, e.prototype.set = function(a, b) {
2374                    this.options[a] = b
2375                }, e
2376            }), b.define("select2/core", ["jquery", "./options", "./utils", "./keys"], function(a, b, c, d) {
2377                var e = function(a, d) {
2378                    null != c.GetData(a[0], "select2") && c.GetData(a[0], "select2").destroy(), this.$element = a, this.id = this._generateId(a), d = d || {}, this.options = new b(d, a), e.__super__.constructor.call(this);
2379                    var f = a.attr("tabindex") || 0;
2380                    c.StoreData(a[0], "old-tabindex", f), a.attr("tabindex", "-1");
2381                    var g = this.options.get("dataAdapter");
2382                    this.dataAdapter = new g(a, this.options);
2383                    var h = this.render();
2384                    this._placeContainer(h);
2385                    var i = this.options.get("selectionAdapter");
2386                    this.selection = new i(a, this.options), this.$selection = this.selection.render(), this.selection.position(this.$selection, h);
2387                    var j = this.options.get("dropdownAdapter");
2388                    this.dropdown = new j(a, this.options), this.$dropdown = this.dropdown.render(), this.dropdown.position(this.$dropdown, h);
2389                    var k = this.options.get("resultsAdapter");
2390                    this.results = new k(a, this.options, this.dataAdapter), this.$results = this.results.render(), this.results.position(this.$results, this.$dropdown);
2391                    var l = this;
2392                    this._bindAdapters(), this._registerDomEvents(), this._registerDataEvents(), this._registerSelectionEvents(), this._registerDropdownEvents(), this._registerResultsEvents(), this._registerEvents(), this.dataAdapter.current(function(a) {
2393                        l.trigger("selection:update", {
2394                            data: a
2395                        })
2396                    }), a.addClass("select2-hidden-accessible"), a.attr("aria-hidden", "true"), this._syncAttributes(), c.StoreData(a[0], "select2", this), a.data("select2", this)
2397                };
2398                return c.Extend(e, c.Observable), e.prototype._generateId = function(a) {
2399                    var b = "";
2400                    return b = null != a.attr("id") ? a.attr("id") : null != a.attr("name") ? a.attr("name") + "-" + c.generateChars(2) : c.generateChars(4), b = b.replace(/(:|\.|\[|\]|,)/g, ""), b = "select2-" + b
2401                }, e.prototype._placeContainer = function(a) {
2402                    a.insertAfter(this.$element);
2403                    var b = this._resolveWidth(this.$element, this.options.get("width"));
2404                    null != b && a.css("width", b)
2405                }, e.prototype._resolveWidth = function(a, b) {
2406                    var c = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;
2407                    if ("resolve" == b) {
2408                        var d = this._resolveWidth(a, "style");
2409                        return null != d ? d : this._resolveWidth(a, "element")
2410                    }
2411                    if ("element" == b) {
2412                        var e = a.outerWidth(!1);
2413                        return e <= 0 ? "auto" : e + "px"
2414                    }
2415                    if ("style" == b) {
2416                        var f = a.attr("style");
2417                        if ("string" != typeof f) return null;
2418                        for (var g = f.split(";"), h = 0, i = g.length; h < i; h += 1) {
2419                            var j = g[h].replace(/\s/g, ""),
2420                                k = j.match(c);
2421                            if (null !== k && k.length >= 1) return k[1]
2422                        }
2423                        return null
2424                    }
2425                    return b
2426                }, e.prototype._bindAdapters = function() {
2427                    this.dataAdapter.bind(this, this.$container), this.selection.bind(this, this.$container), this.dropdown.bind(this, this.$container), this.results.bind(this, this.$container)
2428                }, e.prototype._registerDomEvents = function() {
2429                    var b = this;
2430                    this.$element.on("change.select2", function() {
2431                        b.dataAdapter.current(function(a) {
2432                            b.trigger("selection:update", {
2433                                data: a
2434                            })
2435                        })
2436                    }), this.$element.on("focus.select2", function(a) {
2437                        b.trigger("focus", a)
2438                    }), this._syncA = c.bind(this._syncAttributes, this), this._syncS = c.bind(this._syncSubtree, this), this.$element[0].attachEvent && this.$element[0].attachEvent("onpropertychange", this._syncA);
2439                    var d = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
2440                    null != d ? (this._observer = new d(function(c) {
2441                        a.each(c, b._syncA), a.each(c, b._syncS)
2442                    }), this._observer.observe(this.$element[0], {
2443                        attributes: !0,
2444                        childList: !0,
2445                        subtree: !1
2446                    })) : this.$element[0].addEventListener && (this.$element[0].addEventListener("DOMAttrModified", b._syncA, !1), this.$element[0].addEventListener("DOMNodeInserted", b._syncS, !1), this.$element[0].addEventListener("DOMNodeRemoved", b._syncS, !1))
2447                }, e.prototype._registerDataEvents = function() {
2448                    var a = this;
2449                    this.dataAdapter.on("*", function(b, c) {
2450                        a.trigger(b, c)
2451                    })
2452                }, e.prototype._registerSelectionEvents = function() {
2453                    var b = this,
vendor: 5,631 bytes, lines 2454-2550
2454                        c = ["toggle", "focus"];
2455                    this.selection.on("toggle", function() {
2456                        b.toggleDropdown()
2457                    }), this.selection.on("focus", function(a) {
2458                        b.focus(a)
2459                    }), this.selection.on("*", function(d, e) {
2460                        -1 === a.inArray(d, c) && b.trigger(d, e)
2461                    })
2462                }, e.prototype._registerDropdownEvents = function() {
2463                    var a = this;
2464                    this.dropdown.on("*", function(b, c) {
2465                        a.trigger(b, c)
2466                    })
2467                }, e.prototype._registerResultsEvents = function() {
2468                    var a = this;
2469                    this.results.on("*", function(b, c) {
2470                        a.trigger(b, c)
2471                    })
2472                }, e.prototype._registerEvents = function() {
2473                    var a = this;
2474                    this.on("open", function() {
2475                        a.$container.addClass("select2-container--open")
2476                    }), this.on("close", function() {
2477                        a.$container.removeClass("select2-container--open")
2478                    }), this.on("enable", function() {
2479                        a.$container.removeClass("select2-container--disabled")
2480                    }), this.on("disable", function() {
2481                        a.$container.addClass("select2-container--disabled")
2482                    }), this.on("blur", function() {
2483                        a.$container.removeClass("select2-container--focus")
2484                    }), this.on("query", function(b) {
2485                        a.isOpen() || a.trigger("open", {}), this.dataAdapter.query(b, function(c) {
2486                            a.trigger("results:all", {
2487                                data: c,
2488                                query: b
2489                            })
2490                        })
2491                    }), this.on("query:append", function(b) {
2492                        this.dataAdapter.query(b, function(c) {
2493                            a.trigger("results:append", {
2494                                data: c,
2495                                query: b
2496                            })
2497                        })
2498                    }), this.on("keypress", function(b) {
2499                        var c = b.which;
2500                        a.isOpen() ? c === d.ESC || c === d.TAB || c === d.UP && b.altKey ? (a.close(), b.preventDefault()) : c === d.ENTER ? (a.trigger("results:select", {}), b.preventDefault()) : c === d.SPACE && b.ctrlKey ? (a.trigger("results:toggle", {}), b.preventDefault()) : c === d.UP ? (a.trigger("results:previous", {}), b.preventDefault()) : c === d.DOWN && (a.trigger("results:next", {}), b.preventDefault()) : (c === d.ENTER || c === d.SPACE || c === d.DOWN && b.altKey) && (a.open(), b.preventDefault())
2501                    })
2502                }, e.prototype._syncAttributes = function() {
2503                    this.options.set("disabled", this.$element.prop("disabled")), this.options.get("disabled") ? (this.isOpen() && this.close(), this.trigger("disable", {})) : this.trigger("enable", {})
2504                }, e.prototype._syncSubtree = function(a, b) {
2505                    var c = !1,
2506                        d = this;
2507                    if (!a || !a.target || "OPTION" === a.target.nodeName || "OPTGROUP" === a.target.nodeName) {
2508                        if (b)
2509                            if (b.addedNodes && b.addedNodes.length > 0)
2510                                for (var e = 0; e < b.addedNodes.length; e++) {
2511                                    var f = b.addedNodes[e];
2512                                    f.selected && (c = !0)
2513                                } else b.removedNodes && b.removedNodes.length > 0 && (c = !0);
2514                            else c = !0;
2515                        c && this.dataAdapter.current(function(a) {
2516                            d.trigger("selection:update", {
2517                                data: a
2518                            })
2519                        })
2520                    }
2521                }, e.prototype.trigger = function(a, b) {
2522                    var c = e.__super__.trigger,
2523                        d = {
2524                            open: "opening",
2525                            close: "closing",
2526                            select: "selecting",
2527                            unselect: "unselecting",
2528                            clear: "clearing"
2529                        };
2530                    if (void 0 === b && (b = {}), a in d) {
2531                        var f = d[a],
2532                            g = {
2533                                prevented: !1,
2534                                name: a,
2535                                args: b
2536                            };
2537                        if (c.call(this, f, g), g.prevented) return void(b.prevented = !0)
2538                    }
2539                    c.call(this, a, b)
2540                }, e.prototype.toggleDropdown = function() {
2541                    this.options.get("disabled") || (this.isOpen() ? this.close() : this.open())
2542                }, e.prototype.open = function() {
2543                    this.isOpen() || this.trigger("query", {})
2544                }, e.prototype.close = function() {
2545                    this.isOpen() && this.trigger("close", {})
2546                }, e.prototype.isOpen = function() {
2547                    return this.$container.hasClass("select2-container--open")
2548                }, e.prototype.hasFocus = function() {
2549                    return this.$container.hasClass("select2-container--focus")
2550                }
vendor: 4,255 bytes, lines 2550-2589
2550, e.prototype.focus = function(a) {
2551                    this.hasFocus() || (this.$container.addClass("select2-container--focus"), this.trigger("focus", {}))
2552                }, e.prototype.enable = function(a) {
2553                    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 != a && 0 !== a.length || (a = [!0]);
2554                    var b = !a[0];
2555                    this.$element.prop("disabled", b)
2556                }, e.prototype.data = function() {
2557                    this.options.get("debug") && arguments.length > 0 && 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()`.');
2558                    var a = [];
2559                    return this.dataAdapter.current(function(b) {
2560                        a = b
2561                    }), a
2562                }, e.prototype.val = function(b) {
2563                    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 == b || 0 === b.length) return this.$element.val();
2564                    var c = b[0];
2565                    a.isArray(c) && (c = a.map(c, function(a) {
2566                        return a.toString()
2567                    })), this.$element.val(c).trigger("change")
2568                }, e.prototype.destroy = function() {
2569                    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", c.GetData(this.$element[0], "old-tabindex")), this.$element.removeClass("select2-hidden-accessible"), this.$element.attr("aria-hidden", "false"), c.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
2570                }, e.prototype.render = function() {
2571                    var b = a('<span class="select2 select2-container mb-4"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');
2572                    return b.attr("dir", this.options.get("dir")), this.$container = b, this.$container.addClass("select2-container--" + this.options.get("theme")), c.StoreData(b[0], "element", this.$element), b
2573                }, e
2574            }), b.define("jquery-mousewheel", ["jquery"], function(a) {
2575                return a
2576            }), b.define("jquery.select2", ["jquery", "jquery-mousewheel", "./select2/core", "./select2/defaults", "./select2/utils"], function(a, b, c, d, e) {
2577                if (null == a.fn.select2) {
2578                    var f = ["open", "close", "destroy"];
2579                    a.fn.select2 = function(b) {
2580                        if ("object" == typeof(b = b || {})) return this.each(function() {
2581                            var d = a.extend(!0, {}, b);
2582                            new c(a(this), d)
2583                        }), this;
2584                        if ("string" == typeof b) {
2585                            var d, g = Array.prototype.slice.call(arguments, 1);
2586                            return this.each(function() {
2587                                var a = e.GetData(this, "select2");
2588                                null == a && window.console && console.error && console.error("The select2('" + b + "') method was called on an element that is not using Select2."), d = a[b].apply(a, g)
2589                            }), a.inArray(b, f) >
2589 -1 ? this : d
2590                        }
2591                        throw new Error("Invalid arguments for Select2: " + b)
2592                    }
2593                }
2594                return null == a.fn.select2.defaults && (a.fn.select2.defaults = d), c
2595            }), {
2596                define: b.define,
2597                require: b.require
2598            }
2599        }(),
2600        c = b.require("jquery.select2");
2601    return a.fn.select2.amd = b, c
2602});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.