PageSourceSearch

https://primaryconnections.org.au/themes/custom/aas/assets/js/select2.min.js?v=1.X

js primaryconnections.org.au collected 2026-09-29 16:34:57 UTC 139,309 bytes, 3,572 lines download raw bytes

vendor: 4,645 bytes, lines 1-138
1/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2!function(n) {
3    "function" == typeof define && define.amd ? define(["jquery"], n) : "object" == typeof module && module.exports ? module.exports = function(e, t) {
4        return void 0 === t && (t = "undefined" != typeof window ? require("jquery") : require("jquery")(e)),
5        n(t),
6        t
7    }
8    : n(jQuery)
9}(function(u) {
10    var e = function() {
11        if (u && u.fn && u.fn.select2 && u.fn.select2.amd)
12            var e = u.fn.select2.amd;
13        var t, n, r, h, o, s, f, g, m, v, y, _, i, a, b;
14        function w(e, t) {
15            return i.call(e, t)
16        }
17        function l(e, t) {
18            var n, r, i, o, s, a, l, c, u, d, p, h = t && t.split("/"), f = y.map, g = f && f["*"] || {};
19            if (e) {
20                for (s = (e = e.split("/")).length - 1,
21                y.nodeIdCompat && b.test(e[s]) && (e[s] = e[s].replace(b, "")),
22                "." === e[0].charAt(0) && h && (e = h.slice(0, h.length - 1).concat(e)),
23                u = 0; u < e.length; u++)
24                    if ("." === (p = e[u]))
25                        e.splice(u, 1),
26                        --u;
27                    else if (".." === p) {
28                        if (0 === u || 1 === u && ".." === e[2] || ".." === e[u - 1])
29                            continue;
30                        0 < u && (e.splice(u - 1, 2),
31                        u -= 2)
32                    }
33                e = e.join("/")
34            }
35            if ((h || g) && f) {
36                for (u = (n = e.split("/")).length; 0 < u; --u) {
37                    if (r = n.slice(0, u).join("/"),
38                    h)
39                        for (d = h.length; 0 < d; --d)
40                            if (i = (i = f[h.slice(0, d).join("/")]) && i[r]) {
41                                o = i,
42                                a = u;
43                                break
44                            }
45                    if (o)
46                        break;
47                    !l && g && g[r] && (l = g[r],
48                    c = u)
49                }
50                !o && l && (o = l,
51                a = c),
52                o && (n.splice(0, a, o),
53                e = n.join("/"))
54            }
55            return e
56        }
57        function A(t, n) {
58            return function() {
59                var e = a.call(arguments, 0);
60                return "string" != typeof e[0] && 1 === e.length && e.push(null),
61                s.apply(h, e.concat([t, n]))
62            }
63        }
64        function x(t) {
65            return function(e) {
66                m[t] = e
67            }
68        }
69        function D(e) {
70            if (w(v, e)) {
71                var t = v[e];
72                delete v[e],
73                _[e] = !0,
74                o.apply(h, t)
75            }
76            if (!w(m, e) && !w(_, e))
77                throw new Error("No " + e);
78            return m[e]
79        }
80        function c(e) {
81            var t, n = e ? e.indexOf("!") : -1;
82            return -1 < n && (t = e.substring(0, n),
83            e = e.substring(n + 1, e.length)),
84            [t, e]
85        }
86        function S(e) {
87            return e ? c(e) : []
88        }
89        return e && e.requirejs || (e ? n = e : e = {},
90        m = {},
91        v = {},
92        y = {},
93        _ = {},
94        i = Object.prototype.hasOwnProperty,
95        a = [].slice,
96        b = /\.js$/,
97        f = function(e, t) {
98            var n, r, i = c(e), o = i[0], s = t[1];
99            return e = i[1],
100            o && (n = D(o = l(o, s))),
101            o ? e = n && n.normalize ? n.normalize(e, (r = s,
102            function(e) {
103                return l(e, r)
104            }
105            )) : l(e, s) : (o = (i = c(e = l(e, s)))[0],
106            e = i[1],
107            o && (n = D(o))),
108            {
109                f: o ? o + "!" + e : e,
110                n: e,
111                pr: o,
112                p: n
113            }
114        }
115        ,
116        g = {
117            require: function(e) {
118                return A(e)
119            },
120            exports: function(e) {
121                var t = m[e];
122                return void 0 !== t ? t : m[e] = {}
123            },
124            module: function(e) {
125                return {
126                    id: e,
127                    uri: "",
128                    exports: m[e],
129                    config: (t = e,
130                    function() {
131                        return y && y.config && y.config[t] || {}
132                    }
133                    )
134                };
135                var t
136            }
137        },
138        o = function(e, t, n, r) {
vendor: 44,404 bytes, lines 139-1196
139            var i, o, s, a, l, c, u, d = [], p = typeof n;
140            if (c = S(r = r || e),
141            "undefined" == p || "function" == p) {
142                for (t = !t.length && n.length ? ["require", "exports", "module"] : t,
143                l = 0; l < t.length; l += 1)
144                    if ("require" === (o = (a = f(t[l], c)).f))
145                        d[l] = g.require(e);
146                    else if ("exports" === o)
147                        d[l] = g.exports(e),
148                        u = !0;
149                    else if ("module" === o)
150                        i = d[l] = g.module(e);
151                    else if (w(m, o) || w(v, o) || w(_, o))
152                        d[l] = D(o);
153                    else {
154                        if (!a.p)
155                            throw new Error(e + " missing " + o);
156                        a.p.load(a.n, A(r, !0), x(o), {}),
157                        d[l] = m[o]
158                    }
159                s = n ? n.apply(m[e], d) : void 0,
160                e && (i && i.exports !== h && i.exports !== m[e] ? m[e] = i.exports : s === h && u || (m[e] = s))
161            } else
162                e && (m[e] = n)
163        }
164        ,
165        t = n = s = function(e, t, n, r, i) {
166            if ("string" == typeof e)
167                return g[e] ? g[e](t) : D(f(e, S(t)).f);
168            if (!e.splice) {
169                if ((y = e).deps && s(y.deps, y.callback),
170                !t)
171                    return;
172                t.splice ? (e = t,
173                t = n,
174                n = null) : e = h
175            }
176            return t = t || function() {}
177            ,
178            "function" == typeof n && (n = r,
179            r = i),
180            r ? o(h, e, t, n) : setTimeout(function() {
181                o(h, e, t, n)
182            }, 4),
183            s
184        }
185        ,
186        s.config = function(e) {
187            return s(e)
188        }
189        ,
190        t._defined = m,
191        (r = function(e, t, n) {
192            if ("string" != typeof e)
193                throw new Error("See almond README: incorrect module build, no module name");
194            t.splice || (n = t,
195            t = []),
196            w(m, e) || w(v, e) || (v[e] = [e, t, n])
197        }
198        ).amd = {
199            jQuery: !0
200        },
201        e.requirejs = t,
202        e.require = n,
203        e.define = r),
204        e.define("almond", function() {}),
205        e.define("jquery", [], function() {
206            var e = u || $;
207            return null == e && console && console.error && console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),
208            e
209        }),
210        e.define("select2/utils", ["jquery"], function(o) {
211            var i = {};
212            function u(e) {
213                var t = e.prototype
214                  , n = [];
215                for (var r in t) {
216                    "function" == typeof t[r] && "constructor" !== r && n.push(r)
217                }
218                return n
219            }
220            i.Extend = function(e, t) {
221                var n = {}.hasOwnProperty;
222                function r() {
223                    this.constructor = e
224                }
225                for (var i in t)
226                    n.call(t, i) && (e[i] = t[i]);
227                return r.prototype = t.prototype,
228                e.prototype = new r,
229                e.__super__ = t.prototype,
230                e
231            }
232            ,
233            i.Decorate = function(r, i) {
234                var e = u(i)
235                  , t = u(r);
236                function o() {
237                    var e = Array.prototype.unshift
238                      , t = i.prototype.constructor.length
239                      , n = r.prototype.constructor;
240                    0 < t && (e.call(arguments, r.prototype.constructor),
241                    n = i.prototype.constructor),
242                    n.apply(this, arguments)
243                }
244                i.displayName = r.displayName,
245                o.prototype = new function() {
246                    this.constructor = o
247                }
248                ;
249                for (var n = 0; n < t.length; n++) {
250                    var s = t[n];
251                    o.prototype[s] = r.prototype[s]
252                }
253                function a(e) {
254                    var t = function() {};
255                    e in o.prototype && (t = o.prototype[e]);
256                    var n = i.prototype[e];
257                    return function() {
258                        return Array.prototype.unshift.call(arguments, t),
259                        n.apply(this, arguments)
260                    }
261                }
262                for (var l = 0; l < e.length; l++) {
263                    var c = e[l];
264                    o.prototype[c] = a(c)
265                }
266                return o
267            }
268            ;
269            function e() {
270                this.listeners = {}
271            }
272            e.prototype.on = function(e, t) {
273                this.listeners = this.listeners || {},
274                e in this.listeners ? this.listeners[e].push(t) : this.listeners[e] = [t]
275            }
276            ,
277            e.prototype.trigger = function(e) {
278                var t = Array.prototype.slice
279                  , n = t.call(arguments, 1);
280                this.listeners = this.listeners || {},
281                null == n && (n = []),
282                0 === n.length && n.push({}),
283                (n[0]._type = e)in this.listeners && this.invoke(this.listeners[e], t.call(arguments, 1)),
284                "*"in this.listeners && this.invoke(this.listeners["*"], arguments)
285            }
286            ,
287            e.prototype.invoke = function(e, t) {
288                for (var n = 0, r = e.length; n < r; n++)
289                    e[n].apply(this, t)
290            }
291            ,
292            i.Observable = e,
293            i.generateChars = function(e) {
294                for (var t = "", n = 0; n < e; n++) {
295                    t += Math.floor(36 * Math.random()).toString(36)
296                }
297                return t
298            }
299            ,
300            i.bind = function(e, t) {
301                return function() {
302                    e.apply(t, arguments)
303                }
304            }
305            ,
306            i._convertData = function(e) {
307                for (var t in e) {
308                    var n = t.split("-")
309                      , r = e;
310                    if (1 !== n.length) {
311                        for (var i = 0; i < n.length; i++) {
312                            var o = n[i];
313                            (o = o.substring(0, 1).toLowerCase() + o.substring(1))in r || (r[o] = {}),
314                            i == n.length - 1 && (r[o] = e[t]),
315                            r = r[o]
316                        }
317                        delete e[t]
318                    }
319                }
320                return e
321            }
322            ,
323            i.hasScroll = function(e, t) {
324                var n = o(t)
325                  , r = t.style.overflowX
326                  , i = t.style.overflowY;
327                return (r !== i || "hidden" !== i && "visible" !== i) && ("scroll" === r || "scroll" === i || (n.innerHeight() < t.scrollHeight || n.innerWidth() < t.scrollWidth))
328            }
329            ,
330            i.escapeMarkup = function(e) {
331                var t = {
332                    "\\": "&#92;",
333                    "&": "&amp;",
334                    "<": "&lt;",
335                    ">": "&gt;",
336                    '"': "&quot;",
337                    "'": "&#39;",
338                    "/": "&#47;"
339                };
340                return "string" != typeof e ? e : String(e).replace(/[&<>"'\/\\]/g, function(e) {
341                    return t[e]
342                })
343            }
344            ,
345            i.appendMany = function(e, t) {
346                if ("1.7" === o.fn.jquery.substr(0, 3)) {
347                    var n = o();
348                    o.map(t, function(e) {
349                        n = n.add(e)
350                    }),
351                    t = n
352                }
353                e.append(t)
354            }
355            ,
356            i.__cache = {};
357            var n = 0;
358            return i.GetUniqueElementId = function(e) {
359                var t = e.getAttribute("data-select2-id");
360                return null == t && (e.id ? (t = e.id,
361                e.setAttribute("data-select2-id", t)) : (e.setAttribute("data-select2-id", ++n),
362                t = n.toString())),
363                t
364            }
365            ,
366            i.StoreData = function(e, t, n) {
367                var r = i.GetUniqueElementId(e);
368                i.__cache[r] || (i.__cache[r] = {}),
369                i.__cache[r][t] = n
370            }
371            ,
372            i.GetData = function(e, t) {
373                var n = i.GetUniqueElementId(e);
374                return t ? i.__cache[n] && null != i.__cache[n][t] ? i.__cache[n][t] : o(e).data(t) : i.__cache[n]
375            }
376            ,
377            i.RemoveData = function(e) {
378                var t = i.GetUniqueElementId(e);
379                null != i.__cache[t] && delete i.__cache[t],
380                e.removeAttribute("data-select2-id")
381            }
382            ,
383            i
384        }),
385        e.define("select2/results", ["jquery", "./utils"], function(h, f) {
386            function r(e, t, n) {
387                this.$element = e,
388                this.data = n,
389                this.options = t,
390                r.__super__.constructor.call(this)
391            }
392            return f.Extend(r, f.Observable),
393            r.prototype.render = function() {
394                var e = h('<ul class="select2-results__options" role="listbox"></ul>');
395                return this.options.get("multiple") && e.attr("aria-multiselectable", "true"),
396                this.$results = e
397            }
398            ,
399            r.prototype.clear = function() {
400                this.$results.empty()
401            }
402            ,
403            r.prototype.displayMessage = function(e) {
404                var t = this.options.get("escapeMarkup");
405                this.clear(),
406                this.hideLoading();
407                var n = h('<li role="alert" aria-live="assertive" class="select2-results__option"></li>')
408                  , r = this.options.get("translations").get(e.message);
409                n.append(t(r(e.args))),
410                n[0].className += " select2-results__message",
411                this.$results.append(n)
412            }
413            ,
414            r.prototype.hideMessages = function() {
415                this.$results.find(".select2-results__message").remove()
416            }
417            ,
418            r.prototype.append = function(e) {
419                this.hideLoading();
420                var t = [];
421                if (null != e.results && 0 !== e.results.length) {
422                    e.results = this.sort(e.results);
423                    for (var n = 0; n < e.results.length; n++) {
424                        var r = e.results[n]
425                          , i = this.option(r);
426                        t.push(i)
427                    }
428                    this.$results.append(t)
429                } else
430                    0 === this.$results.children().length && this.trigger("results:message", {
431                        message: "noResults"
432                    })
433            }
434            ,
435            r.prototype.position = function(e, t) {
436                t.find(".select2-results").append(e)
437            }
438            ,
439            r.prototype.sort = function(e) {
440                return this.options.get("sorter")(e)
441            }
442            ,
443            r.prototype.highlightFirstItem = function() {
444                var e = this.$results.find(".select2-results__option[aria-selected]")
445                  , t = e.filter("[aria-selected=true]");
446                0 < t.length ? t.first().trigger("mouseenter") : e.first().trigger("mouseenter"),
447                this.ensureHighlightVisible()
448            }
449            ,
450            r.prototype.setClasses = function() {
451                var t = this;
452                this.data.current(function(e) {
453                    var r = h.map(e, function(e) {
454                        return e.id.toString()
455                    });
456                    t.$results.find(".select2-results__option[aria-selected]").each(function() {
457                        var e = h(this)
458                          , t = f.GetData(this, "data")
459                          , n = "" + t.id;
460                        null != t.element && t.element.selected || null == t.element && -1 < h.inArray(n, r) ? e.attr("aria-selected", "true") : e.attr("aria-selected", "false")
461                    })
462                })
463            }
464            ,
465            r.prototype.showLoading = function(e) {
466                this.hideLoading();
467                var t = {
468                    disabled: !0,
469                    loading: !0,
470                    text: this.options.get("translations").get("searching")(e)
471                }
472                  , n = this.option(t);
473                n.className += " loading-results",
474                this.$results.prepend(n)
475            }
476            ,
477            r.prototype.hideLoading = function() {
478                this.$results.find(".loading-results").remove()
479            }
480            ,
481            r.prototype.option = function(e) {
482                var t = document.createElement("li");
483                t.className = "select2-results__option";
484                var n = {
485                    role: "option",
486                    "aria-selected": "false"
487                }
488                  , r = window.Element.prototype.matches || window.Element.prototype.msMatchesSelector || window.Element.prototype.webkitMatchesSelector;
489                for (var i in (null != e.element && r.call(e.element, ":disabled") || null == e.element && e.disabled) && (delete n["aria-selected"],
490                n["aria-disabled"] = "true"),
491                null == e.id && delete n["aria-selected"],
492                null != e._resultId && (t.id = e._resultId),
493                e.title && (t.title = e.title),
494                e.children && (n.role = "group",
495                n["aria-label"] = e.text,
496                delete n["aria-selected"]),
497                n) {
498                    var o = n[i];
499                    t.setAttribute(i, o)
500                }
501                if (e.children) {
502                    var s = h(t)
503                      , a = document.createElement("strong");
504                    a.className = "select2-results__group";
505                    h(a);
506                    this.template(e, a);
507                    for (var l = [], c = 0; c < e.children.length; c++) {
508                        var u = e.children[c]
509                          , d = this.option(u);
510                        l.push(d)
511                    }
512                    var p = h("<ul></ul>", {
513                        class: "select2-results__options select2-results__options--nested"
514                    });
515                    p.append(l),
516                    s.append(a),
517                    s.append(p)
518                } else
519                    this.template(e, t);
520                return f.StoreData(t, "data", e),
521                t
522            }
523            ,
524            r.prototype.bind = function(t, e) {
525                var l = this
526                  , n = t.id + "-results";
527                this.$results.attr("id", n),
528                t.on("results:all", function(e) {
529                    l.clear(),
530                    l.append(e.data),
531                    t.isOpen() && (l.setClasses(),
532                    l.highlightFirstItem())
533                }),
534                t.on("results:append", function(e) {
535                    l.append(e.data),
536                    t.isOpen() && l.setClasses()
537                }),
538                t.on("query", function(e) {
539                    l.hideMessages(),
540                    l.showLoading(e)
541                }),
542                t.on("select", function() {
543                    t.isOpen() && (l.setClasses(),
544                    l.options.get("scrollAfterSelect") && l.highlightFirstItem())
545                }),
546                t.on("unselect", function() {
547                    t.isOpen() && (l.setClasses(),
548                    l.options.get("scrollAfterSelect") && l.highlightFirstItem())
549                }),
550                t.on("open", function() {
551                    l.$results.attr("aria-expanded", "true"),
552                    l.$results.attr("aria-hidden", "false"),
553                    l.setClasses(),
554                    l.ensureHighlightVisible()
555                }),
556                t.on("close", function() {
557                    l.$results.attr("aria-expanded", "false"),
558                    l.$results.attr("aria-hidden", "true"),
559                    l.$results.removeAttr("aria-activedescendant")
560                }),
561                t.on("results:toggle", function() {
562                    var e = l.getHighlightedResults();
563                    0 !== e.length && e.trigger("mouseup")
564                }),
565                t.on("results:select", function() {
566                    var e = l.getHighlightedResults();
567                    if (0 !== e.length) {
568                        var t = f.GetData(e[0], "data");
569                        "true" == e.attr("aria-selected") ? l.trigger("close", {}) : l.trigger("select", {
570                            data: t
571                        })
572                    }
573                }),
574                t.on("results:previous", function() {
575                    var e = l.getHighlightedResults()
576                      , t = l.$results.find("[aria-selected]")
577                      , n = t.index(e);
578                    if (!(n <= 0)) {
579                        var r = n - 1;
580                        0 === e.length && (r = 0);
581                        var i = t.eq(r);
582                        i.trigger("mouseenter");
583                        var o = l.$results.offset().top
584                          , s = i.offset().top
585                          , a = l.$results.scrollTop() + (s - o);
586                        0 === r ? l.$results.scrollTop(0) : s - o < 0 && l.$results.scrollTop(a)
587                    }
588                }),
589                t.on("results:next", function() {
590                    var e = l.getHighlightedResults()
591                      , t = l.$results.find("[aria-selected]")
592                      , n = t.index(e) + 1;
593                    if (!(n >= t.length)) {
594                        var r = t.eq(n);
595                        r.trigger("mouseenter");
596                        var i = l.$results.offset().top + l.$results.outerHeight(!1)
597                          , o = r.offset().top + r.outerHeight(!1)
598                          , s = l.$results.scrollTop() + o - i;
599                        0 === n ? l.$results.scrollTop(0) : i < o && l.$results.scrollTop(s)
600                    }
601                }),
602                t.on("results:focus", function(e) {
603                    e.element.addClass("select2-results__option--highlighted")
604                }),
605                t.on("results:message", function(e) {
606                    l.displayMessage(e)
607                }),
608                h.fn.mousewheel && this.$results.on("mousewheel", function(e) {
609                    var t = l.$results.scrollTop()
610                      , n = l.$results.get(0).scrollHeight - t + e.deltaY
611                      , r = 0 < e.deltaY && t - e.deltaY <= 0
612                      , i = e.deltaY < 0 && n <= l.$results.height();
613                    r ? (l.$results.scrollTop(0),
614                    e.preventDefault(),
615                    e.stopPropagation()) : i && (l.$results.scrollTop(l.$results.get(0).scrollHeight - l.$results.height()),
616                    e.preventDefault(),
617                    e.stopPropagation())
618                }),
619                this.$results.on("mouseup", ".select2-results__option[aria-selected]", function(e) {
620                    var t = h(this)
621                      , n = f.GetData(this, "data");
622                    "true" !== t.attr("aria-selected") ? l.trigger("select", {
623                        originalEvent: e,
624                        data: n
625                    }) : l.options.get("multiple") ? l.trigger("unselect", {
626                        originalEvent: e,
627                        data: n
628                    }) : l.trigger("close", {})
629                }),
630                this.$results.on("mouseenter", ".select2-results__option[aria-selected]", function(e) {
631                    var t = f.GetData(this, "data");
632                    l.getHighlightedResults().removeClass("select2-results__option--highlighted"),
633                    l.trigger("results:focus", {
634                        data: t,
635                        element: h(this)
636                    })
637                })
638            }
639            ,
640            r.prototype.getHighlightedResults = function() {
641                return this.$results.find(".select2-results__option--highlighted")
642            }
643            ,
644            r.prototype.destroy = function() {
645                this.$results.remove()
646            }
647            ,
648            r.prototype.ensureHighlightVisible = function() {
649                var e = this.getHighlightedResults();
650                if (0 !== e.length) {
651                    var t = this.$results.find("[aria-selected]").index(e)
652                      , n = this.$results.offset().top
653                      , r = e.offset().top
654                      , i = this.$results.scrollTop() + (r - n)
655                      , o = r - n;
656                    i -= 2 * e.outerHeight(!1),
657                    t <= 2 ? this.$results.scrollTop(0) : (o > this.$results.outerHeight() || o < 0) && this.$results.scrollTop(i)
658                }
659            }
660            ,
661            r.prototype.template = function(e, t) {
662                var n = this.options.get("templateResult")
663                  , r = this.options.get("escapeMarkup")
664                  , i = n(e, t);
665                null == i ? t.style.display = "none" : "string" == typeof i ? t.innerHTML = r(i) : h(t).append(i)
666            }
667            ,
668            r
669        }),
670        e.define("select2/keys", [], function() {
671            return {
672                BACKSPACE: 8,
673                TAB: 9,
674                ENTER: 13,
675                SHIFT: 16,
676                CTRL: 17,
677                ALT: 18,
678                ESC: 27,
679                SPACE: 32,
680                PAGE_UP: 33,
681                PAGE_DOWN: 34,
682                END: 35,
683                HOME: 36,
684                LEFT: 37,
685                UP: 38,
686                RIGHT: 39,
687                DOWN: 40,
688                DELETE: 46
689            }
690        }),
691        e.define("select2/selection/base", ["jquery", "../utils", "../keys"], function(n, r, i) {
692            function o(e, t) {
693                this.$element = e,
694                this.options = t,
695                o.__super__.constructor.call(this)
696            }
697            return r.Extend(o, r.Observable),
698            o.prototype.render = function() {
699                var e = n('<span class="select2-selection" role="combobox"  aria-haspopup="true" aria-expanded="false"></span>');
700                return this._tabindex = 0,
701                null != r.GetData(this.$element[0], "old-tabindex") ? this._tabindex = r.GetData(this.$element[0], "old-tabindex") : null != this.$element.attr("tabindex") && (this._tabindex = this.$element.attr("tabindex")),
702                e.attr("title", this.$element.attr("title")),
703                e.attr("tabindex", this._tabindex),
704                e.attr("aria-disabled", "false"),
705                this.$selection = e
706            }
707            ,
708            o.prototype.bind = function(e, t) {
709                var n = this
710                  , r = e.id + "-results";
711                this.container = e,
712                this.$selection.on("focus", function(e) {
713                    n.trigger("focus", e)
714                }),
715                this.$selection.on("blur", function(e) {
716                    n._handleBlur(e)
717                }),
718                this.$selection.on("keydown", function(e) {
719                    n.trigger("keypress", e),
720                    e.which === i.SPACE && e.preventDefault()
721                }),
722                e.on("results:focus", function(e) {
723                    n.$selection.attr("aria-activedescendant", e.data._resultId)
724                }),
725                e.on("selection:update", function(e) {
726                    n.update(e.data)
727                }),
728                e.on("open", function() {
729                    n.$selection.attr("aria-expanded", "true"),
730                    n.$selection.attr("aria-owns", r),
731                    n._attachCloseHandler(e)
732                }),
733                e.on("close", function() {
734                    n.$selection.attr("aria-expanded", "false"),
735                    n.$selection.removeAttr("aria-activedescendant"),
736                    n.$selection.removeAttr("aria-owns"),
737                    n.$selection.trigger("focus"),
738                    n._detachCloseHandler(e)
739                }),
740                e.on("enable", function() {
741                    n.$selection.attr("tabindex", n._tabindex),
742                    n.$selection.attr("aria-disabled", "false")
743                }),
744                e.on("disable", function() {
745                    n.$selection.attr("tabindex", "-1"),
746                    n.$selection.attr("aria-disabled", "true")
747                })
748            }
749            ,
750            o.prototype._handleBlur = function(e) {
751                var t = this;
752                window.setTimeout(function() {
753                    document.activeElement == t.$selection[0] || n.contains(t.$selection[0], document.activeElement) || t.trigger("blur", e)
754                }, 1)
755            }
756            ,
757            o.prototype._attachCloseHandler = function(e) {
758                n(document.body).on("mousedown.select2." + e.id, function(e) {
759                    var t = n(e.target).closest(".select2");
760                    n(".select2.select2-container--open").each(function() {
761                        this != t[0] && r.GetData(this, "element").select2("close")
762                    })
763                })
764            }
765            ,
766            o.prototype._detachCloseHandler = function(e) {
767                n(document.body).off("mousedown.select2." + e.id)
768            }
769            ,
770            o.prototype.position = function(e, t) {
771                t.find(".selection").append(e)
772            }
773            ,
774            o.prototype.destroy = function() {
775                this._detachCloseHandler(this.container)
776            }
777            ,
778            o.prototype.update = function(e) {
779                throw new Error("The `update` method must be defined in child classes.")
780            }
781            ,
782            o.prototype.isEnabled = function() {
783                return !this.isDisabled()
784            }
785            ,
786            o.prototype.isDisabled = function() {
787                return this.options.get("disabled")
788            }
789            ,
790            o
791        }),
792        e.define("select2/selection/single", ["jquery", "./base", "../utils", "../keys"], function(e, t, n, r) {
793            function i() {
794                i.__super__.constructor.apply(this, arguments)
795            }
796            return n.Extend(i, t),
797            i.prototype.render = function() {
798                var e = i.__super__.render.call(this);
799                return e.addClass("select2-selection--single"),
800                e.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),
801                e
802            }
803            ,
804            i.prototype.bind = function(t, e) {
805                var n = this;
806                i.__super__.bind.apply(this, arguments);
807                var r = t.id + "-container";
808                this.$selection.find(".select2-selection__rendered").attr("id", r).attr("role", "textbox").attr("aria-readonly", "true"),
809                this.$selection.attr("aria-labelledby", r),
810                this.$selection.on("mousedown", function(e) {
811                    1 === e.which && n.trigger("toggle", {
812                        originalEvent: e
813                    })
814                }),
815                this.$selection.on("focus", function(e) {}),
816                this.$selection.on("blur", function(e) {}),
817                t.on("focus", function(e) {
818                    t.isOpen() || n.$selection.trigger("focus")
819                })
820            }
821            ,
822            i.prototype.clear = function() {
823                var e = this.$selection.find(".select2-selection__rendered");
824                e.empty(),
825                e.removeAttr("title")
826            }
827            ,
828            i.prototype.display = function(e, t) {
829                var n = this.options.get("templateSelection");
830                return this.options.get("escapeMarkup")(n(e, t))
831            }
832            ,
833            i.prototype.selectionContainer = function() {
834                return e("<span></span>")
835            }
836            ,
837            i.prototype.update = function(e) {
838                if (0 !== e.length) {
839                    var t = e[0]
840                      , n = this.$selection.find(".select2-selection__rendered")
841                      , r = this.display(t, n);
842                    n.empty().append(r);
843                    var i = t.title || t.text;
844                    i ? n.attr("title", i) : n.removeAttr("title")
845                } else
846                    this.clear()
847            }
848            ,
849            i
850        }),
851        e.define("select2/selection/multiple", ["jquery", "./base", "../utils"], function(i, e, l) {
852            function n(e, t) {
853                n.__super__.constructor.apply(this, arguments)
854            }
855            return l.Extend(n, e),
856            n.prototype.render = function() {
857                var e = n.__super__.render.call(this);
858                return e.addClass("select2-selection--multiple"),
859                e.html('<ul class="select2-selection__rendered"></ul>'),
860                e
861            }
862            ,
863            n.prototype.bind = function(e, t) {
864                var r = this;
865                n.__super__.bind.apply(this, arguments),
866                this.$selection.on("click", function(e) {
867                    r.trigger("toggle", {
868                        originalEvent: e
869                    })
870                }),
871                this.$selection.on("click", ".select2-selection__choice__remove", function(e) {
872                    if (!r.isDisabled()) {
873                        var t = i(this).parent()
874                          , n = l.GetData(t[0], "data");
875                        r.trigger("unselect", {
876                            originalEvent: e,
877                            data: n
878                        })
879                    }
880                })
881            }
882            ,
883            n.prototype.clear = function() {
884                var e = this.$selection.find(".select2-selection__rendered");
885                e.empty(),
886                e.removeAttr("title")
887            }
888            ,
889            n.prototype.display = function(e, t) {
890                var n = this.options.get("templateSelection");
891                return this.options.get("escapeMarkup")(n(e, t))
892            }
893            ,
894            n.prototype.selectionContainer = function() {
895                return i('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">&times;</span></li>')
896            }
897            ,
898            n.prototype.update = function(e) {
899                if (this.clear(),
900                0 !== e.length) {
901                    for (var t = [], n = 0; n < e.length; n++) {
902                        var r = e[n]
903                          , i = this.selectionContainer()
904                          , o = this.display(r, i);
905                        i.append(o);
906                        var s = r.title || r.text;
907                        s && i.attr("title", s),
908                        l.StoreData(i[0], "data", r),
909                        t.push(i)
910                    }
911                    var a = this.$selection.find(".select2-selection__rendered");
912                    l.appendMany(a, t)
913                }
914            }
915            ,
916            n
917        }),
918        e.define("select2/selection/placeholder", ["../utils"], function(e) {
919            function t(e, t, n) {
920                this.placeholder = this.normalizePlaceholder(n.get("placeholder")),
921                e.call(this, t, n)
922            }
923            return t.prototype.normalizePlaceholder = function(e, t) {
924                return "string" == typeof t && (t = {
925                    id: "",
926                    text: t
927                }),
928                t
929            }
930            ,
931            t.prototype.createPlaceholder = function(e, t) {
932                var n = this.selectionContainer();
933                return n.html(this.display(t)),
934                n.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),
935                n
936            }
937            ,
938            t.prototype.update = function(e, t) {
939                var n = 1 == t.length && t[0].id != this.placeholder.id;
940                if (1 < t.length || n)
941                    return e.call(this, t);
942                this.clear();
943                var r = this.createPlaceholder(this.placeholder);
944                this.$selection.find(".select2-selection__rendered").append(r)
945            }
946            ,
947            t
948        }),
949        e.define("select2/selection/allowClear", ["jquery", "../keys", "../utils"], function(i, r, a) {
950            function e() {}
951            return e.prototype.bind = function(e, t, n) {
952                var r = this;
953                e.call(this, t, n),
954                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."),
955                this.$selection.on("mousedown", ".select2-selection__clear", function(e) {
956                    r._handleClear(e)
957                }),
958                t.on("keypress", function(e) {
959                    r._handleKeyboardClear(e, t)
960                })
961            }
962            ,
963            e.prototype._handleClear = function(e, t) {
964                if (!this.isDisabled()) {
965                    var n = this.$selection.find(".select2-selection__clear");
966                    if (0 !== n.length) {
967                        t.stopPropagation();
968                        var r = a.GetData(n[0], "data")
969                          , i = this.$element.val();
970                        this.$element.val(this.placeholder.id);
971                        var o = {
972                            data: r
973                        };
974                        if (this.trigger("clear", o),
975                        o.prevented)
976                            this.$element.val(i);
977                        else {
978                            for (var s = 0; s < r.length; s++)
979                                if (o = {
980                                    data: r[s]
981                                },
982                                this.trigger("unselect", o),
983                                o.prevented)
984                                    return void this.$element.val(i);
985                            this.$element.trigger("input").trigger("change"),
986                            this.trigger("toggle", {})
987                        }
988                    }
989                }
990            }
991            ,
992            e.prototype._handleKeyboardClear = function(e, t, n) {
993                n.isOpen() || t.which != r.DELETE && t.which != r.BACKSPACE || this._handleClear(t)
994            }
995            ,
996            e.prototype.update = function(e, t) {
997                if (e.call(this, t),
998                !(0 < this.$selection.find(".select2-selection__placeholder").length || 0 === t.length)) {
999                    var n = this.options.get("translations").get("removeAllItems")
1000                      , r = i('<span class="select2-selection__clear" title="' + n() + '">&times;</span>');
1001                    a.StoreData(r[0], "data", t),
1002                    this.$selection.find(".select2-selection__rendered").prepend(r)
1003                }
1004            }
1005            ,
1006            e
1007        }),
1008        e.define("select2/selection/search", ["jquery", "../utils", "../keys"], function(r, a, l) {
1009            function e(e, t, n) {
1010                e.call(this, t, n)
1011            }
1012            return e.prototype.render = function(e) {
1013                var t = r('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></li>');
1014                this.$searchContainer = t,
1015                this.$search = t.find("input");
1016                var n = e.call(this);
1017                return this._transferTabIndex(),
1018                n
1019            }
1020            ,
1021            e.prototype.bind = function(e, t, n) {
1022                var r = this
1023                  , i = t.id + "-results";
1024                e.call(this, t, n),
1025                t.on("open", function() {
1026                    r.$search.attr("aria-controls", i),
1027                    r.$search.trigger("focus")
1028                }),
1029                t.on("close", function() {
1030                    r.$search.val(""),
1031                    r.$search.removeAttr("aria-controls"),
1032                    r.$search.removeAttr("aria-activedescendant"),
1033                    r.$search.trigger("focus")
1034                }),
1035                t.on("enable", function() {
1036                    r.$search.prop("disabled", !1),
1037                    r._transferTabIndex()
1038                }),
1039                t.on("disable", function() {
1040                    r.$search.prop("disabled", !0)
1041                }),
1042                t.on("focus", function(e) {
1043                    r.$search.trigger("focus")
1044                }),
1045                t.on("results:focus", function(e) {
1046                    e.data._resultId ? r.$search.attr("aria-activedescendant", e.data._resultId) : r.$search.removeAttr("aria-activedescendant")
1047                }),
1048                this.$selection.on("focusin", ".select2-search--inline", function(e) {
1049                    r.trigger("focus", e)
1050                }),
1051                this.$selection.on("focusout", ".select2-search--inline", function(e) {
1052                    r._handleBlur(e)
1053                }),
1054                this.$selection.on("keydown", ".select2-search--inline", function(e) {
1055                    if (e.stopPropagation(),
1056                    r.trigger("keypress", e),
1057                    r._keyUpPrevented = e.isDefaultPrevented(),
1058                    e.which === l.BACKSPACE && "" === r.$search.val()) {
1059                        var t = r.$searchContainer.prev(".select2-selection__choice");
1060                        if (0 < t.length) {
1061                            var n = a.GetData(t[0], "data");
1062                            r.searchRemoveChoice(n),
1063                            e.preventDefault()
1064                        }
1065                    }
1066                }),
1067                this.$selection.on("click", ".select2-search--inline", function(e) {
1068                    r.$search.val() && e.stopPropagation()
1069                });
1070                var o = document.documentMode
1071                  , s = o && o <= 11;
1072                this.$selection.on("input.searchcheck", ".select2-search--inline", function(e) {
1073                    s ? r.$selection.off("input.search input.searchcheck") : r.$selection.off("keyup.search")
1074                }),
1075                this.$selection.on("keyup.search input.search", ".select2-search--inline", function(e) {
1076                    if (s && "input" === e.type)
1077                        r.$selection.off("input.search input.searchcheck");
1078                    else {
1079                        var t = e.which;
1080                        t != l.SHIFT && t != l.CTRL && t != l.ALT && t != l.TAB && r.handleSearch(e)
1081                    }
1082                })
1083            }
1084            ,
1085            e.prototype._transferTabIndex = function(e) {
1086                this.$search.attr("tabindex", this.$selection.attr("tabindex")),
1087                this.$selection.attr("tabindex", "-1")
1088            }
1089            ,
1090            e.prototype.createPlaceholder = function(e, t) {
1091                this.$search.attr("placeholder", t.text)
1092            }
1093            ,
1094            e.prototype.update = function(e, t) {
1095                var n = this.$search[0] == document.activeElement;
1096                this.$search.attr("placeholder", ""),
1097                e.call(this, t),
1098                this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),
1099                this.resizeSearch(),
1100                n && this.$search.trigger("focus")
1101            }
1102            ,
1103            e.prototype.handleSearch = function() {
1104                if (this.resizeSearch(),
1105                !this._keyUpPrevented) {
1106                    var e = this.$search.val();
1107                    this.trigger("query", {
1108                        term: e
1109                    })
1110                }
1111                this._keyUpPrevented = !1
1112            }
1113            ,
1114            e.prototype.searchRemoveChoice = function(e, t) {
1115                this.trigger("unselect", {
1116                    data: t
1117                }),
1118                this.$search.val(t.text),
1119                this.handleSearch()
1120            }
1121            ,
1122            e.prototype.resizeSearch = function() {
1123                this.$search.css("width", "25px");
1124                var e = "";
1125                "" !== this.$search.attr("placeholder") ? e = this.$selection.find(".select2-selection__rendered").width() : e = .75 * (this.$search.val().length + 1) + "em";
1126                this.$search.css("width", e)
1127            }
1128            ,
1129            e
1130        }),
1131        e.define("select2/selection/eventRelay", ["jquery"], function(s) {
1132            function e() {}
1133            return e.prototype.bind = function(e, t, n) {
1134                var r = this
1135                  , i = ["open", "opening", "close", "closing", "select", "selecting", "unselect", "unselecting", "clear", "clearing"]
1136                  , o = ["opening", "closing", "selecting", "unselecting", "clearing"];
1137                e.call(this, t, n),
1138                t.on("*", function(e, t) {
1139                    if (-1 !== s.inArray(e, i)) {
1140                        t = t || {};
1141                        var n = s.Event("select2:" + e, {
1142                            params: t
1143                        });
1144                        r.$element.trigger(n),
1145                        -1 !== s.inArray(e, o) && (t.prevented = n.isDefaultPrevented())
1146                    }
1147                })
1148            }
1149            ,
1150            e
1151        }),
1152        e.define("select2/translation", ["jquery", "require"], function(t, n) {
1153            function r(e) {
1154                this.dict = e || {}
1155            }
1156            return r.prototype.all = function() {
1157                return this.dict
1158            }
1159            ,
1160            r.prototype.get = function(e) {
1161                return this.dict[e]
1162            }
1163            ,
1164            r.prototype.extend = function(e) {
1165                this.dict = t.extend({}, e.all(), this.dict)
1166            }
1167            ,
1168            r._cache = {},
1169            r.loadPath = function(e) {
1170                if (!(e in r._cache)) {
1171                    var t = n(e);
1172                    r._cache[e] = t
1173                }
1174                return new r(r._cache[e])
1175            }
1176            ,
1177            r
1178        }),
1179        e.define("select2/diacritics", [], function() {
1180            return {
1181                "Ⓐ": "A",
1182                "A": "A",
1183                "À": "A",
1184                "Á": "A",
1185                "Â": "A",
1186                "Ầ": "A",
1187                "Ấ": "A",
1188                "Ẫ": "A",
1189                "Ẩ": "A",
1190                "Ã": "A",
1191                "Ā": "A",
1192                "Ă": "A",
1193                "Ằ": "A",
1194                "Ắ": "A",
1195                "Ẵ": "A",
1196                "Ẳ": "A",
1197                "Ȧ": "A",
1198                "Ç ": "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                "Ꜳ": "AA",
1215                "Æ": "AE",
1216                "Ǽ": "AE",
1217                "Ç¢": "AE",
1218                "Ꜵ": "AO",
1219                "Ꜷ": "AU",
1220                "Ꜹ": "AV",
1221                "Ꜻ": "AV",
1222                "Ꜽ": "AY",
1223                "Ⓑ": "B",
1224                "ï¼¢": "B",
1225                "Ḃ": "B",
1226                "Ḅ": "B",
1227                "Ḇ": "B",
1228                "Ƀ": "B",
1229                "Ƃ": "B",
1230                "Ɓ": "B",
1231                "Ⓒ": "C",
1232                "ï¼£": "C",
1233                "Ć": "C",
1234                "Ĉ": "C",
1235                "Ċ": "C",
1236                "Č": "C",
1237                "Ç": "C",
1238                "Ḉ": "C",
1239                "Ƈ": "C",
1240                "È»": "C",
1241                "Ꜿ": "C",
1242                "Ⓓ": "D",
1243                "D": "D",
1244                "Ḋ": "D",
1245                "Ď": "D",
1246                "Ḍ": "D",
1247                "Ḑ": "D",
1248                "Ḓ": "D",
1249                "Ḏ": "D",
1250                "Đ": "D",
1251                "Ƌ": "D",
1252                "Ɗ": "D",
1253                "Ɖ": "D",
1254                "Ꝺ": "D",
1255                "DZ": "DZ",
1256                "DŽ": "DZ",
1257                "Dz": "Dz",
1258                "Dž": "Dz",
1259                "Ⓔ": "E",
1260                "ï¼¥": "E",
1261                "È": "E",
1262                "É": "E",
1263                "Ê": "E",
1264                "Ề": "E",
1265                "Ế": "E",
1266                "Ễ": "E",
1267                "Ể": "E",
1268                "Ẽ": "E",
1269                "Ē": "E",
1270                "Ḕ": "E",
1271                "Ḗ": "E",
1272                "Ĕ": "E",
1273                "Ė": "E",
1274                "Ë": "E",
1275                "Ẻ": "E",
1276                "Ě": "E",
1277                "Ȅ": "E",
1278                "Ȇ": "E",
1279                "Ẹ": "E",
1280                "Ệ": "E",
1281                "Ȩ": "E",
1282                "Ḝ": "E",
1283                "Ę": "E",
1284                "Ḙ": "E",
1285                "Ḛ": "E",
1286                "Ɛ": "E",
1287                "Ǝ": "E",
1288                "Ⓕ": "F",
1289                "F": "F",
1290                "Ḟ": "F",
1291                "Ƒ": "F",
1292                "Ꝼ": "F",
1293                "Ⓖ": "G",
1294                "ï¼§": "G",
1295                "Ç´": "G",
1296                "Ĝ": "G",
1297                "Ḡ": "G",
1298                "Ğ": "G",
1299                "Ä ": "G",
1300                "Ǧ": "G",
1301                "Ä¢": "G",
1302                "Ǥ": "G",
1303                "Ɠ": "G",
1304                "Ꞡ": "G",
1305                "Ᵹ": "G",
1306                "Ꝿ": "G",
1307                "Ⓗ": "H",
1308                "H": "H",
1309                "Ĥ": "H",
1310                "Ḣ": "H",
1311                "Ḧ": "H",
1312                "Ȟ": "H",
1313                "Ḥ": "H",
1314                "Ḩ": "H",
1315                "Ḫ": "H",
1316                "Ħ": "H",
1317                "â±§": "H",
1318                "â±µ": "H",
1319                "Ɥ": "H",
1320                "Ⓘ": "I",
1321                "I": "I",
1322                "Ì": "I",
1323                "Í": "I",
1324                "Î": "I",
1325                "Ĩ": "I",
1326                "Ī": "I",
1327                "Ĭ": "I",
1328                "İ": "I",
1329                "Ï": "I",
1330                "Ḯ": "I",
1331                "Ỉ": "I",
1332                "Ǐ": "I",
1333                "Ȉ": "I",
1334                "Ȋ": "I",
1335                "Ị": "I",
1336                "Ä®": "I",
1337                "Ḭ": "I",
1338                "Ɨ": "I",
1339                "Ⓙ": "J",
1340                "J": "J",
1341                "Ä´": "J",
1342                "Ɉ": "J",
1343                "Ⓚ": "K",
1344                "K": "K",
1345                "Ḱ": "K",
1346                "Ǩ": "K",
1347                "Ḳ": "K",
1348                "Ķ": "K",
1349                "Ḵ": "K",
1350                "Ƙ": "K",
1351                "Ⱪ": "K",
1352                "Ꝁ": "K",
1353                "Ꝃ": "K",
1354                "Ꝅ": "K",
1355                "Ꞣ": "K",
1356                "Ⓛ": "L",
1357                "L": "L",
1358                "Ä¿": "L",
1359                "Ĺ": "L",
1360                "Ľ": "L",
1361                "Ḷ": "L",
1362                "Ḹ": "L",
1363                "Ä»": "L",
1364                "Ḽ": "L",
1365                "Ḻ": "L",
1366                "Ł": "L",
1367                "Ƚ": "L",
1368                "â±¢": "L",
1369                "â± ": "L",
1370                "Ꝉ": "L",
1371                "Ꝇ": "L",
1372                "Ꞁ": "L",
1373                "LJ": "LJ",
1374                "Lj": "Lj",
1375                "Ⓜ": "M",
1376                "ï¼­": "M",
1377                "Ḿ": "M",
1378                "Ṁ": "M",
1379                "Ṃ": "M",
1380                "â±®": "M",
1381                "Ɯ": "M",
1382                "Ⓝ": "N",
1383                "ï¼®": "N",
1384                "Ǹ": "N",
1385                "Ń": "N",
1386                "Ñ": "N",
1387                "Ṅ": "N",
1388                "Ň": "N",
1389                "Ṇ": "N",
1390                "Ņ": "N",
1391                "Ṋ": "N",
1392                "Ṉ": "N",
1393                "È ": "N",
1394                "Ɲ": "N",
1395                "Ꞑ": "N",
1396                "Ꞥ": "N",
1397                "NJ": "NJ",
1398                "Nj": "Nj",
1399                "Ⓞ": "O",
1400                "O": "O",
1401                "Ò": "O",
1402                "Ó": "O",
1403                "Ô": "O",
1404                "Ồ": "O",
1405                "Ố": "O",
1406                "Ỗ": "O",
1407                "Ổ": "O",
1408                "Õ": "O",
1409                "Ṍ": "O",
1410                "Ȭ": "O",
1411                "Ṏ": "O",
1412                "Ō": "O",
1413                "Ṑ": "O",
1414                "Ṓ": "O",
1415                "Ŏ": "O",
1416                "È®": "O",
1417                "Ȱ": "O",
1418                "Ö": "O",
1419                "Ȫ": "O",
1420                "Ỏ": "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                "Œ": "OE",
1442                "Æ¢": "OI",
1443                "Ꝏ": "OO",
1444                "È¢": "OU",
1445                "Ⓟ": "P",
1446                "ï¼°": "P",
1447                "Ṕ": "P",
1448                "Ṗ": "P",
1449                "Ƥ": "P",
1450                "â±£": "P",
1451                "Ꝑ": "P",
1452                "Ꝓ": "P",
1453                "Ꝕ": "P",
1454                "Ⓠ": "Q",
1455                "ï¼±": "Q",
1456                "Ꝗ": "Q",
1457                "Ꝙ": "Q",
1458                "Ɋ": "Q",
1459                "Ⓡ": "R",
1460                "ï¼²": "R",
1461                "Ŕ": "R",
1462                "Ṙ": "R",
1463                "Ř": "R",
1464                "Ȑ": "R",
1465                "Ȓ": "R",
1466                "Ṛ": "R",
1467                "Ṝ": "R",
1468                "Ŗ": "R",
1469                "Ṟ": "R",
1470                "Ɍ": "R",
1471                "Ɽ": "R",
1472                "Ꝛ": "R",
1473                "Ꞧ": "R",
1474                "Ꞃ": "R",
1475                "Ⓢ": "S",
1476                "ï¼³": "S",
1477                "ẞ": "S",
1478                "Ś": "S",
1479                "Ṥ": "S",
1480                "Ŝ": "S",
1481                "á¹ ": "S",
1482                "Å ": "S",
1483                "Ṧ": "S",
1484                "á¹¢": "S",
1485                "Ṩ": "S",
1486                "Ș": "S",
1487                "Ş": "S",
1488                "â±¾": "S",
1489                "Ꞩ": "S",
1490                "Ꞅ": "S",
1491                "Ⓣ": "T",
1492                "ï¼´": "T",
1493                "Ṫ": "T",
1494                "Ť": "T",
1495                "Ṭ": "T",
1496                "Ț": "T",
1497                "Å¢": "T",
1498                "á¹°": "T",
1499                "á¹®": "T",
1500                "Ŧ": "T",
1501                "Ƭ": "T",
1502                "Æ®": "T",
1503                "Ⱦ": "T",
1504                "Ꞇ": "T",
1505                "Ꜩ": "TZ",
1506                "Ⓤ": "U",
1507                "ï¼µ": "U",
1508                "Ù": "U",
1509                "Ú": "U",
1510                "Û": "U",
1511                "Ũ": "U",
1512                "Ṹ": "U",
1513                "Ū": "U",
1514                "Ṻ": "U",
1515                "Ŭ": "U",
1516                "Ü": "U",
1517                "Ǜ": "U",
1518                "Ǘ": "U",
1519                "Ǖ": "U",
1520                "Ǚ": "U",
1521                "Ủ": "U",
1522                "Å®": "U",
1523                "Ű": "U",
1524                "Ǔ": "U",
1525                "Ȕ": "U",
1526                "Ȗ": "U",
1527                "Ư": "U",
1528                "Ừ": "U",
1529                "Ứ": "U",
1530                "á»®": "U",
1531                "Ử": "U",
1532                "á»°": "U",
1533                "Ụ": "U",
1534                "á¹²": "U",
1535                "Ų": "U",
1536                "á¹¶": "U",
1537                "á¹´": "U",
1538                "Ʉ": "U",
1539                "Ⓥ": "V",
1540                "ï¼¶": "V",
1541                "á¹¼": "V",
1542                "á¹¾": "V",
1543                "Ʋ": "V",
1544                "Ꝟ": "V",
1545                "Ʌ": "V",
1546                "Ꝡ": "VY",
1547                "Ⓦ": "W",
1548                "ï¼·": "W",
1549                "Ẁ": "W",
1550                "Ẃ": "W",
1551                "Å´": "W",
1552                "Ẇ": "W",
1553                "Ẅ": "W",
1554                "Ẉ": "W",
1555                "â±²": "W",
1556                "Ⓧ": "X",
1557                "X": "X",
1558                "Ẋ": "X",
1559                "Ẍ": "X",
1560                "Ⓨ": "Y",
1561                "ï¼¹": "Y",
1562                "Ỳ": "Y",
1563                "Ý": "Y",
1564                "Ŷ": "Y",
1565                "Ỹ": "Y",
1566                "Ȳ": "Y",
1567                "Ẏ": "Y",
1568                "Ÿ": "Y",
1569                "á»¶": "Y",
1570                "á»´": "Y",
1571                "Ƴ": "Y",
1572                "Ɏ": "Y",
1573                "Ỿ": "Y",
1574                "Ⓩ": "Z",
1575                "Z": "Z",
1576                "Ź": "Z",
1577                "Ẑ": "Z",
1578                "Å»": "Z",
1579                "Ž": "Z",
1580                "Ẓ": "Z",
1581                "Ẕ": "Z",
1582                "Ƶ": "Z",
1583                "Ȥ": "Z",
1584                "Ɀ": "Z",
1585                "Ⱬ": "Z",
1586                "Ꝣ": "Z",
1587                "ⓐ": "a",
1588                "a": "a",
1589                "ẚ": "a",
1590                "à": "a",
1591                "á": "a",
1592                "â": "a",
1593                "ầ": "a",
1594                "ấ": "a",
1595                "ẫ": "a",
1596                "ẩ": "a",
1597                "ã": "a",
1598                "ā": "a",
1599                "ă": "a",
1600                "ằ": "a",
1601                "ắ": "a",
1602                "ẵ": "a",
1603                "ẳ": "a",
1604                "ȧ": "a",
1605                "Ç¡": "a",
1606                "ä": "a",
1607                "ǟ": "a",
1608                "ả": "a",
1609                "Ã¥": "a",
1610                "Ç»": "a",
1611                "ǎ": "a",
1612                "ȁ": "a",
1613                "ȃ": "a",
1614                "ạ": "a",
1615                "ậ": "a",
1616                "ặ": "a",
1617                "ḁ": "a",
1618                "ą": "a",
1619                "â±¥": "a",
1620                "ɐ": "a",
1621                "ꜳ": "aa",
1622                "æ": "ae",
1623                "ǽ": "ae",
1624                "Ç£": "ae",
1625                "ꜵ": "ao",
1626                "ꜷ": "au",
1627                "ꜹ": "av",
1628                "ꜻ": "av",
1629                "ꜽ": "ay",
1630                "ⓑ": "b",
1631                "b": "b",
1632                "ḃ": "b",
1633                "ḅ": "b",
1634                "ḇ": "b",
1635                "ƀ": "b",
1636                "ƃ": "b",
1637                "ɓ": "b",
1638                "ⓒ": "c",
1639                "c": "c",
1640                "ć": "c",
1641                "ĉ": "c",
1642                "ċ": "c",
1643                "č": "c",
1644                "ç": "c",
1645                "ḉ": "c",
1646                "ƈ": "c",
1647                "ȼ": "c",
1648                "ꜿ": "c",
1649                "ↄ": "c",
1650                "ⓓ": "d",
1651                "d": "d",
1652                "ḋ": "d",
1653                "ď": "d",
1654                "ḍ": "d",
1655                "ḑ": "d",
1656                "ḓ": "d",
1657                "ḏ": "d",
1658                "đ": "d",
1659                "ƌ": "d",
1660                "ɖ": "d",
1661                "ɗ": "d",
1662                "ꝺ": "d",
1663                "dz": "dz",
1664                "dž": "dz",
1665                "ⓔ": "e",
1666                "e": "e",
1667                "è": "e",
1668                "é": "e",
1669                "ê": "e",
1670                "ề": "e",
1671                "ế": "e",
1672                "ễ": "e",
1673                "ể": "e",
1674                "ẽ": "e",
1675                "ē": "e",
1676                "ḕ": "e",
1677                "ḗ": "e",
1678                "ĕ": "e",
1679                "ė": "e",
1680                "ë": "e",
1681                "ẻ": "e",
1682                "ě": "e",
1683                "ȅ": "e",
1684                "ȇ": "e",
1685                "ẹ": "e",
1686                "ệ": "e",
1687                "È©": "e",
1688                "ḝ": "e",
1689                "ę": "e",
1690                "ḙ": "e",
1691                "ḛ": "e",
1692                "ɇ": "e",
1693                "ɛ": "e",
1694                "ǝ": "e",
1695                "ⓕ": "f",
1696                "f": "f",
1697                "ḟ": "f",
1698                "ƒ": "f",
1699                "ꝼ": "f",
1700                "ⓖ": "g",
1701                "g": "g",
1702                "ǵ": "g",
1703                "ĝ": "g",
1704                "ḡ": "g",
1705                "ğ": "g",
1706                "Ä¡": "g",
1707                "ǧ": "g",
1708                "Ä£": "g",
1709                "Ç¥": "g",
1710                "É ": "g",
1711                "ꞡ": "g",
1712                "áµ¹": "g",
1713                "ꝿ": "g",
1714                "ⓗ": "h",
1715                "h": "h",
1716                "Ä¥": "h",
1717                "ḣ": "h",
1718                "ḧ": "h",
1719                "ȟ": "h",
1720                "ḥ": "h",
1721                "ḩ": "h",
1722                "ḫ": "h",
1723                "ẖ": "h",
1724                "ħ": "h",
1725                "ⱨ": "h",
1726                "â±¶": "h",
1727                "É¥": "h",
1728                "ƕ": "hv",
1729                "ⓘ": "i",
1730                "i": "i",
1731                "ì": "i",
1732                "í": "i",
1733                "î": "i",
1734                "Ä©": "i",
1735                "Ä«": "i",
1736                "Ä­": "i",
1737                "ï": "i",
1738                "ḯ": "i",
1739                "ỉ": "i",
1740                "ǐ": "i",
1741                "ȉ": "i",
1742                "ȋ": "i",
1743                "ị": "i",
1744                "į": "i",
1745                "ḭ": "i",
1746                "ɨ": "i",
1747                "ı": "i",
1748                "ⓙ": "j",
1749                "j": "j",
1750                "ĵ": "j",
1751                "ǰ": "j",
1752                "ɉ": "j",
1753                "ⓚ": "k",
1754                "k": "k",
1755                "ḱ": "k",
1756                "Ç©": "k",
1757                "ḳ": "k",
1758                "Ä·": "k",
1759                "ḵ": "k",
1760                "ƙ": "k",
1761                "ⱪ": "k",
1762                "ꝁ": "k",
1763                "ꝃ": "k",
1764                "ꝅ": "k",
1765                "ꞣ": "k",
1766                "ⓛ": "l",
1767                "l": "l",
1768                "ŀ": "l",
1769                "ĺ": "l",
1770                "ľ": "l",
1771                "ḷ": "l",
1772                "ḹ": "l",
1773                "ļ": "l",
1774                "ḽ": "l",
1775                "ḻ": "l",
1776                "Å¿": "l",
1777                "ł": "l",
1778                "ƚ": "l",
1779                "É«": "l",
1780                "ⱡ": "l",
1781                "ꝉ": "l",
1782                "ꞁ": "l",
1783                "ꝇ": "l",
1784                "lj": "lj",
1785                "ⓜ": "m",
1786                "m": "m",
1787                "ḿ": "m",
1788                "ṁ": "m",
1789                "ṃ": "m",
1790                "ɱ": "m",
1791                "ɯ": "m",
1792                "ⓝ": "n",
1793                "n": "n",
1794                "ǹ": "n",
1795                "ń": "n",
1796                "ñ": "n",
1797                "ṅ": "n",
1798                "ň": "n",
1799                "ṇ": "n",
1800                "ņ": "n",
1801                "ṋ": "n",
1802                "ṉ": "n",
1803                "ƞ": "n",
1804                "ɲ": "n",
1805                "ʼn": "n",
1806                "ꞑ": "n",
1807                "ꞥ": "n",
1808                "nj": "nj",
1809                "ⓞ": "o",
1810                "o": "o",
1811                "ò": "o",
1812                "ó": "o",
1813                "ô": "o",
1814                "ồ": "o",
1815                "ố": "o",
1816                "ỗ": "o",
1817                "ổ": "o",
1818                "õ": "o",
1819                "ṍ": "o",
1820                "È­": "o",
1821                "ṏ": "o",
1822                "ō": "o",
1823                "ṑ": "o",
1824                "ṓ": "o",
1825                "ŏ": "o",
1826                "ȯ": "o",
1827                "ȱ": "o",
1828                "ö": "o",
1829                "È«": "o",
1830                "ỏ": "o",
1831                "ő": "o",
1832                "ǒ": "o",
1833                "ȍ": "o",
1834                "ȏ": "o",
1835                "Æ¡": "o",
1836                "ờ": "o",
1837                "ớ": "o",
1838                "ỡ": "o",
1839                "ở": "o",
1840                "ợ": "o",
1841                "ọ": "o",
1842                "ộ": "o",
1843                "Ç«": "o",
1844                "Ç­": "o",
1845                "ø": "o",
1846                "Ç¿": "o",
1847                "ɔ": "o",
1848                "ꝋ": "o",
1849                "ꝍ": "o",
1850                "ɵ": "o",
1851                "œ": "oe",
1852                "Æ£": "oi",
1853                "È£": "ou",
1854                "ꝏ": "oo",
1855                "ⓟ": "p",
1856                "p": "p",
1857                "ṕ": "p",
1858                "ṗ": "p",
1859                "Æ¥": "p",
1860                "áµ½": "p",
1861                "ꝑ": "p",
1862                "ꝓ": "p",
1863                "ꝕ": "p",
1864                "ⓠ": "q",
1865                "q": "q",
1866                "ɋ": "q",
1867                "ꝗ": "q",
1868                "ꝙ": "q",
1869                "ⓡ": "r",
1870                "r": "r",
1871                "ŕ": "r",
1872                "ṙ": "r",
1873                "ř": "r",
1874                "ȑ": "r",
1875                "ȓ": "r",
1876                "ṛ": "r",
1877                "ṝ": "r",
1878                "ŗ": "r",
1879                "ṟ": "r",
1880                "ɍ": "r",
1881                "ɽ": "r",
1882                "ꝛ": "r",
1883                "ꞧ": "r",
1884                "ꞃ": "r",
vendor: 37,036 bytes, lines 1885-2846
1885                "ⓢ": "s",
1886                "s": "s",
1887                "ß": "s",
1888                "ś": "s",
1889                "á¹¥": "s",
1890                "ŝ": "s",
1891                "ṡ": "s",
1892                "Å¡": "s",
1893                "á¹§": "s",
1894                "á¹£": "s",
1895                "ṩ": "s",
1896                "ș": "s",
1897                "ş": "s",
1898                "È¿": "s",
1899                "ꞩ": "s",
1900                "ꞅ": "s",
1901                "ẛ": "s",
1902                "ⓣ": "t",
1903                "t": "t",
1904                "ṫ": "t",
1905                "ẗ": "t",
1906                "Å¥": "t",
1907                "á¹­": "t",
1908                "ț": "t",
1909                "Å£": "t",
1910                "á¹±": "t",
1911                "ṯ": "t",
1912                "ŧ": "t",
1913                "Æ­": "t",
1914                "ʈ": "t",
1915                "ⱦ": "t",
1916                "ꞇ": "t",
1917                "ꜩ": "tz",
1918                "ⓤ": "u",
1919                "u": "u",
1920                "ù": "u",
1921                "ú": "u",
1922                "û": "u",
1923                "Å©": "u",
1924                "á¹¹": "u",
1925                "Å«": "u",
1926                "á¹»": "u",
1927                "Å­": "u",
1928                "ü": "u",
1929                "ǜ": "u",
1930                "ǘ": "u",
1931                "ǖ": "u",
1932                "ǚ": "u",
1933                "á»§": "u",
1934                "ů": "u",
1935                "ű": "u",
1936                "ǔ": "u",
1937                "ȕ": "u",
1938                "ȗ": "u",
1939                "ư": "u",
1940                "ừ": "u",
1941                "ứ": "u",
1942                "ữ": "u",
1943                "á»­": "u",
1944                "á»±": "u",
1945                "ụ": "u",
1946                "á¹³": "u",
1947                "ų": "u",
1948                "á¹·": "u",
1949                "á¹µ": "u",
1950                "ʉ": "u",
1951                "ⓥ": "v",
1952                "v": "v",
1953                "á¹½": "v",
1954                "ṿ": "v",
1955                "ʋ": "v",
1956                "ꝟ": "v",
1957                "ʌ": "v",
1958                "ꝡ": "vy",
1959                "ⓦ": "w",
1960                "w": "w",
1961                "ẁ": "w",
1962                "ẃ": "w",
1963                "ŵ": "w",
1964                "ẇ": "w",
1965                "ẅ": "w",
1966                "ẘ": "w",
1967                "ẉ": "w",
1968                "â±³": "w",
1969                "ⓧ": "x",
1970                "x": "x",
1971                "ẋ": "x",
1972                "ẍ": "x",
1973                "ⓨ": "y",
1974                "y": "y",
1975                "ỳ": "y",
1976                "ý": "y",
1977                "Å·": "y",
1978                "ỹ": "y",
1979                "ȳ": "y",
1980                "ẏ": "y",
1981                "ÿ": "y",
1982                "á»·": "y",
1983                "ẙ": "y",
1984                "ỵ": "y",
1985                "Æ´": "y",
1986                "ɏ": "y",
1987                "ỿ": "y",
1988                "ⓩ": "z",
1989                "z": "z",
1990                "ź": "z",
1991                "ẑ": "z",
1992                "ż": "z",
1993                "ž": "z",
1994                "ẓ": "z",
1995                "ẕ": "z",
1996                "ƶ": "z",
1997                "È¥": "z",
1998                "ɀ": "z",
1999                "ⱬ": "z",
2000                "ꝣ": "z",
2001                "Ά": "Α",
2002                "Έ": "Ε",
2003                "Ή": "Η",
2004                "Ί": "Ι",
2005                "Ϊ": "Ι",
2006                "Ό": "Ο",
2007                "Ύ": "Υ",
2008                "Ϋ": "Υ",
2009                "Ώ": "Ω",
2010                "ά": "α",
2011                "έ": "ε",
2012                "ή": "η",
2013                "ί": "ι",
2014                "ϊ": "ι",
2015                "ΐ": "ι",
2016                "ό": "ο",
2017                "ύ": "υ",
2018                "ϋ": "υ",
2019                "ΰ": "υ",
2020                "ώ": "ω",
2021                "ς": "σ",
2022                "’": "'"
2023            }
2024        }),
2025        e.define("select2/data/base", ["../utils"], function(r) {
2026            function n(e, t) {
2027                n.__super__.constructor.call(this)
2028            }
2029            return r.Extend(n, r.Observable),
2030            n.prototype.current = function(e) {
2031                throw new Error("The `current` method must be defined in child classes.")
2032            }
2033            ,
2034            n.prototype.query = function(e, t) {
2035                throw new Error("The `query` method must be defined in child classes.")
2036            }
2037            ,
2038            n.prototype.bind = function(e, t) {}
2039            ,
2040            n.prototype.destroy = function() {}
2041            ,
2042            n.prototype.generateResultId = function(e, t) {
2043                var n = e.id + "-result-";
2044                return n += r.generateChars(4),
2045                null != t.id ? n += "-" + t.id.toString() : n += "-" + r.generateChars(4),
2046                n
2047            }
2048            ,
2049            n
2050        }),
2051        e.define("select2/data/select", ["./base", "../utils", "jquery"], function(e, a, l) {
2052            function n(e, t) {
2053                this.$element = e,
2054                this.options = t,
2055                n.__super__.constructor.call(this)
2056            }
2057            return a.Extend(n, e),
2058            n.prototype.current = function(e) {
2059                var n = []
2060                  , r = this;
2061                this.$element.find(":selected").each(function() {
2062                    var e = l(this)
2063                      , t = r.item(e);
2064                    n.push(t)
2065                }),
2066                e(n)
2067            }
2068            ,
2069            n.prototype.select = function(i) {
2070                var o = this;
2071                if (i.selected = !0,
2072                l(i.element).is("option"))
2073                    return i.element.selected = !0,
2074                    void this.$element.trigger("input").trigger("change");
2075                if (this.$element.prop("multiple"))
2076                    this.current(function(e) {
2077                        var t = [];
2078                        (i = [i]).push.apply(i, e);
2079                        for (var n = 0; n < i.length; n++) {
2080                            var r = i[n].id;
2081                            -1 === l.inArray(r, t) && t.push(r)
2082                        }
2083                        o.$element.val(t),
2084                        o.$element.trigger("input").trigger("change")
2085                    });
2086                else {
2087                    var e = i.id;
2088                    this.$element.val(e),
2089                    this.$element.trigger("input").trigger("change")
2090                }
2091            }
2092            ,
2093            n.prototype.unselect = function(i) {
2094                var o = this;
2095                if (this.$element.prop("multiple")) {
2096                    if (i.selected = !1,
2097                    l(i.element).is("option"))
2098                        return i.element.selected = !1,
2099                        void this.$element.trigger("input").trigger("change");
2100                    this.current(function(e) {
2101                        for (var t = [], n = 0; n < e.length; n++) {
2102                            var r = e[n].id;
2103                            r !== i.id && -1 === l.inArray(r, t) && t.push(r)
2104                        }
2105                        o.$element.val(t),
2106                        o.$element.trigger("input").trigger("change")
2107                    })
2108                }
2109            }
2110            ,
2111            n.prototype.bind = function(e, t) {
2112                var n = this;
2113                (this.container = e).on("select", function(e) {
2114                    n.select(e.data)
2115                }),
2116                e.on("unselect", function(e) {
2117                    n.unselect(e.data)
2118                })
2119            }
2120            ,
2121            n.prototype.destroy = function() {
2122                this.$element.find("*").each(function() {
2123                    a.RemoveData(this)
2124                })
2125            }
2126            ,
2127            n.prototype.query = function(r, e) {
2128                var i = []
2129                  , o = this;
2130                this.$element.children().each(function() {
2131                    var e = l(this);
2132                    if (e.is("option") || e.is("optgroup")) {
2133                        var t = o.item(e)
2134                          , n = o.matches(r, t);
2135                        null !== n && i.push(n)
2136                    }
2137                }),
2138                e({
2139                    results: i
2140                })
2141            }
2142            ,
2143            n.prototype.addOptions = function(e) {
2144                a.appendMany(this.$element, e)
2145            }
2146            ,
2147            n.prototype.option = function(e) {
2148                var t;
2149                e.children ? (t = document.createElement("optgroup")).label = e.text : void 0 !== (t = document.createElement("option")).textContent ? t.textContent = e.text : t.innerText = e.text,
2150                void 0 !== e.id && (t.value = e.id),
2151                e.disabled && (t.disabled = !0),
2152                e.selected && (t.selected = !0),
2153                e.title && (t.title = e.title);
2154                var n = l(t)
2155                  , r = this._normalizeItem(e);
2156                return r.element = t,
2157                a.StoreData(t, "data", r),
2158                n
2159            }
2160            ,
2161            n.prototype.item = function(e) {
2162                var t = {};
2163                if (null != (t = a.GetData(e[0], "data")))
2164                    return t;
2165                if (e.is("option"))
2166                    t = {
2167                        id: e.val(),
2168                        text: e.text(),
2169                        disabled: e.prop("disabled"),
2170                        selected: e.prop("selected"),
2171                        title: e.prop("title")
2172                    };
2173                else if (e.is("optgroup")) {
2174                    t = {
2175                        text: e.prop("label"),
2176                        children: [],
2177                        title: e.prop("title")
2178                    };
2179                    for (var n = e.children("option"), r = [], i = 0; i < n.length; i++) {
2180                        var o = l(n[i])
2181                          , s = this.item(o);
2182                        r.push(s)
2183                    }
2184                    t.children = r
2185                }
2186                return (t = this._normalizeItem(t)).element = e[0],
2187                a.StoreData(e[0], "data", t),
2188                t
2189            }
2190            ,
2191            n.prototype._normalizeItem = function(e) {
2192                e !== Object(e) && (e = {
2193                    id: e,
2194                    text: e
2195                });
2196                return null != (e = l.extend({}, {
2197                    text: ""
2198                }, e)).id && (e.id = e.id.toString()),
2199                null != e.text && (e.text = e.text.toString()),
2200                null == e._resultId && e.id && null != this.container && (e._resultId = this.generateResultId(this.container, e)),
2201                l.extend({}, {
2202                    selected: !1,
2203                    disabled: !1
2204                }, e)
2205            }
2206            ,
2207            n.prototype.matches = function(e, t) {
2208                return this.options.get("matcher")(e, t)
2209            }
2210            ,
2211            n
2212        }),
2213        e.define("select2/data/array", ["./select", "../utils", "jquery"], function(e, f, g) {
2214            function r(e, t) {
2215                this._dataToConvert = t.get("data") || [],
2216                r.__super__.constructor.call(this, e, t)
2217            }
2218            return f.Extend(r, e),
2219            r.prototype.bind = function(e, t) {
2220                r.__super__.bind.call(this, e, t),
2221                this.addOptions(this.convertToOptions(this._dataToConvert))
2222            }
2223            ,
2224            r.prototype.select = function(n) {
2225                var e = this.$element.find("option").filter(function(e, t) {
2226                    return t.value == n.id.toString()
2227                });
2228                0 === e.length && (e = this.option(n),
2229                this.addOptions(e)),
2230                r.__super__.select.call(this, n)
2231            }
2232            ,
2233            r.prototype.convertToOptions = function(e) {
2234                var t = this
2235                  , n = this.$element.find("option")
2236                  , r = n.map(function() {
2237                    return t.item(g(this)).id
2238                }).get()
2239                  , i = [];
2240                function o(e) {
2241                    return function() {
2242                        return g(this).val() == e.id
2243                    }
2244                }
2245                for (var s = 0; s < e.length; s++) {
2246                    var a = this._normalizeItem(e[s]);
2247                    if (0 <= g.inArray(a.id, r)) {
2248                        var l = n.filter(o(a))
2249                          , c = this.item(l)
2250                          , u = g.extend(!0, {}, a, c)
2251                          , d = this.option(u);
2252                        l.replaceWith(d)
2253                    } else {
2254                        var p = this.option(a);
2255                        if (a.children) {
2256                            var h = this.convertToOptions(a.children);
2257                            f.appendMany(p, h)
2258                        }
2259                        i.push(p)
2260                    }
2261                }
2262                return i
2263            }
2264            ,
2265            r
2266        }),
2267        e.define("select2/data/ajax", ["./array", "../utils", "jquery"], function(e, t, o) {
2268            function n(e, t) {
2269                this.ajaxOptions = this._applyDefaults(t.get("ajax")),
2270                null != this.ajaxOptions.processResults && (this.processResults = this.ajaxOptions.processResults),
2271                n.__super__.constructor.call(this, e, t)
2272            }
2273            return t.Extend(n, e),
2274            n.prototype._applyDefaults = function(e) {
2275                var t = {
2276                    data: function(e) {
2277                        return o.extend({}, e, {
2278                            q: e.term
2279                        })
2280                    },
2281                    transport: function(e, t, n) {
2282                        var r = o.ajax(e);
2283                        return r.then(t),
2284                        r.fail(n),
2285                        r
2286                    }
2287                };
2288                return o.extend({}, t, e, !0)
2289            }
2290            ,
2291            n.prototype.processResults = function(e) {
2292                return e
2293            }
2294            ,
2295            n.prototype.query = function(n, r) {
2296                var i = this;
2297                null != this._request && (o.isFunction(this._request.abort) && this._request.abort(),
2298                this._request = null);
2299                var t = o.extend({
2300                    type: "GET"
2301                }, this.ajaxOptions);
2302                function e() {
2303                    var e = t.transport(t, function(e) {
2304                        var t = i.processResults(e, n);
2305                        i.options.get("debug") && window.console && console.error && (t && t.results && o.isArray(t.results) || console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),
2306                        r(t)
2307                    }, function() {
2308                        "status"in e && (0 === e.status || "0" === e.status) || i.trigger("results:message", {
2309                            message: "errorLoading"
2310                        })
2311                    });
2312                    i._request = e
2313                }
2314                "function" == typeof t.url && (t.url = t.url.call(this.$element, n)),
2315                "function" == typeof t.data && (t.data = t.data.call(this.$element, n)),
2316                this.ajaxOptions.delay && null != n.term ? (this._queryTimeout && window.clearTimeout(this._queryTimeout),
2317                this._queryTimeout = window.setTimeout(e, this.ajaxOptions.delay)) : e()
2318            }
2319            ,
2320            n
2321        }),
2322        e.define("select2/data/tags", ["jquery"], function(u) {
2323            function e(e, t, n) {
2324                var r = n.get("tags")
2325                  , i = n.get("createTag");
2326                void 0 !== i && (this.createTag = i);
2327                var o = n.get("insertTag");
2328                if (void 0 !== o && (this.insertTag = o),
2329                e.call(this, t, n),
2330                u.isArray(r))
2331                    for (var s = 0; s < r.length; s++) {
2332                        var a = r[s]
2333                          , l = this._normalizeItem(a)
2334                          , c = this.option(l);
2335                        this.$element.append(c)
2336                    }
2337            }
2338            return e.prototype.query = function(e, c, u) {
2339                var d = this;
2340                this._removeOldTags(),
2341                null != c.term && null == c.page ? e.call(this, c, function e(t, n) {
2342                    for (var r = t.results, i = 0; i < r.length; i++) {
2343                        var o = r[i]
2344                          , s = null != o.children && !e({
2345                            results: o.children
2346                        }, !0);
2347                        if ((o.text || "").toUpperCase() === (c.term || "").toUpperCase() || s)
2348                            return !n && (t.data = r,
2349                            void u(t))
2350                    }
2351                    if (n)
2352                        return !0;
2353                    var a = d.createTag(c);
2354                    if (null != a) {
2355                        var l = d.option(a);
2356                        l.attr("data-select2-tag", !0),
2357                        d.addOptions([l]),
2358                        d.insertTag(r, a)
2359                    }
2360                    t.results = r,
2361                    u(t)
2362                }) : e.call(this, c, u)
2363            }
2364            ,
2365            e.prototype.createTag = function(e, t) {
2366                var n = u.trim(t.term);
2367                return "" === n ? null : {
2368                    id: n,
2369                    text: n
2370                }
2371            }
2372            ,
2373            e.prototype.insertTag = function(e, t, n) {
2374                t.unshift(n)
2375            }
2376            ,
2377            e.prototype._removeOldTags = function(e) {
2378                this.$element.find("option[data-select2-tag]").each(function() {
2379                    this.selected || u(this).remove()
2380                })
2381            }
2382            ,
2383            e
2384        }),
2385        e.define("select2/data/tokenizer", ["jquery"], function(d) {
2386            function e(e, t, n) {
2387                var r = n.get("tokenizer");
2388                void 0 !== r && (this.tokenizer = r),
2389                e.call(this, t, n)
2390            }
2391            return e.prototype.bind = function(e, t, n) {
2392                e.call(this, t, n),
2393                this.$search = t.dropdown.$search || t.selection.$search || n.find(".select2-search__field")
2394            }
2395            ,
2396            e.prototype.query = function(e, t, n) {
2397                var i = this;
2398                t.term = t.term || "";
2399                var r = this.tokenizer(t, this.options, function(e) {
2400                    var t, n = i._normalizeItem(e);
2401                    if (!i.$element.find("option").filter(function() {
2402                        return d(this).val() === n.id
2403                    }).length) {
2404                        var r = i.option(n);
2405                        r.attr("data-select2-tag", !0),
2406                        i._removeOldTags(),
2407                        i.addOptions([r])
2408                    }
2409                    t = n,
2410                    i.trigger("select", {
2411                        data: t
2412                    })
2413                });
2414                r.term !== t.term && (this.$search.length && (this.$search.val(r.term),
2415                this.$search.trigger("focus")),
2416                t.term = r.term),
2417                e.call(this, t, n)
2418            }
2419            ,
2420            e.prototype.tokenizer = function(e, t, n, r) {
2421                for (var i = n.get("tokenSeparators") || [], o = t.term, s = 0, a = this.createTag || function(e) {
2422                    return {
2423                        id: e.term,
2424                        text: e.term
2425                    }
2426                }
2427                ; s < o.length; ) {
2428                    var l = o[s];
2429                    if (-1 !== d.inArray(l, i)) {
2430                        var c = o.substr(0, s)
2431                          , u = a(d.extend({}, t, {
2432                            term: c
2433                        }));
2434                        null != u ? (r(u),
2435                        o = o.substr(s + 1) || "",
2436                        s = 0) : s++
2437                    } else
2438                        s++
2439                }
2440                return {
2441                    term: o
2442                }
2443            }
2444            ,
2445            e
2446        }),
2447        e.define("select2/data/minimumInputLength", [], function() {
2448            function e(e, t, n) {
2449                this.minimumInputLength = n.get("minimumInputLength"),
2450                e.call(this, t, n)
2451            }
2452            return e.prototype.query = function(e, t, n) {
2453                t.term = t.term || "",
2454                t.term.length < this.minimumInputLength ? this.trigger("results:message", {
2455                    message: "inputTooShort",
2456                    args: {
2457                        minimum: this.minimumInputLength,
2458                        input: t.term,
2459                        params: t
2460                    }
2461                }) : e.call(this, t, n)
2462            }
2463            ,
2464            e
2465        }),
2466        e.define("select2/data/maximumInputLength", [], function() {
2467            function e(e, t, n) {
2468                this.maximumInputLength = n.get("maximumInputLength"),
2469                e.call(this, t, n)
2470            }
2471            return e.prototype.query = function(e, t, n) {
2472                t.term = t.term || "",
2473                0 < this.maximumInputLength && t.term.length > this.maximumInputLength ? this.trigger("results:message", {
2474                    message: "inputTooLong",
2475                    args: {
2476                        maximum: this.maximumInputLength,
2477                        input: t.term,
2478                        params: t
2479                    }
2480                }) : e.call(this, t, n)
2481            }
2482            ,
2483            e
2484        }),
2485        e.define("select2/data/maximumSelectionLength", [], function() {
2486            function e(e, t, n) {
2487                this.maximumSelectionLength = n.get("maximumSelectionLength"),
2488                e.call(this, t, n)
2489            }
2490            return e.prototype.bind = function(e, t, n) {
2491                var r = this;
2492                e.call(this, t, n),
2493                t.on("select", function() {
2494                    r._checkIfMaximumSelected()
2495                })
2496            }
2497            ,
2498            e.prototype.query = function(e, t, n) {
2499                var r = this;
2500                this._checkIfMaximumSelected(function() {
2501                    e.call(r, t, n)
2502                })
2503            }
2504            ,
2505            e.prototype._checkIfMaximumSelected = function(e, n) {
2506                var r = this;
2507                this.current(function(e) {
2508                    var t = null != e ? e.length : 0;
2509                    0 < r.maximumSelectionLength && t >= r.maximumSelectionLength ? r.trigger("results:message", {
2510                        message: "maximumSelected",
2511                        args: {
2512                            maximum: r.maximumSelectionLength
2513                        }
2514                    }) : n && n()
2515                })
2516            }
2517            ,
2518            e
2519        }),
2520        e.define("select2/dropdown", ["jquery", "./utils"], function(t, e) {
2521            function n(e, t) {
2522                this.$element = e,
2523                this.options = t,
2524                n.__super__.constructor.call(this)
2525            }
2526            return e.Extend(n, e.Observable),
2527            n.prototype.render = function() {
2528                var e = t('<span class="select2-dropdown"><span class="select2-results"></span></span>');
2529                return e.attr("dir", this.options.get("dir")),
2530                this.$dropdown = e
2531            }
2532            ,
2533            n.prototype.bind = function() {}
2534            ,
2535            n.prototype.position = function(e, t) {}
2536            ,
2537            n.prototype.destroy = function() {
2538                this.$dropdown.remove()
2539            }
2540            ,
2541            n
2542        }),
2543        e.define("select2/dropdown/search", ["jquery", "../utils"], function(o, e) {
2544            function t() {}
2545            return t.prototype.render = function(e) {
2546                var t = e.call(this)
2547                  , n = o('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></span>');
2548                return this.$searchContainer = n,
2549                this.$search = n.find("input"),
2550                t.prepend(n),
2551                t
2552            }
2553            ,
2554            t.prototype.bind = function(e, t, n) {
2555                var r = this
2556                  , i = t.id + "-results";
2557                e.call(this, t, n),
2558                this.$search.on("keydown", function(e) {
2559                    r.trigger("keypress", e),
2560                    r._keyUpPrevented = e.isDefaultPrevented()
2561                }),
2562                this.$search.on("input", function(e) {
2563                    o(this).off("keyup")
2564                }),
2565                this.$search.on("keyup input", function(e) {
2566                    r.handleSearch(e)
2567                }),
2568                t.on("open", function() {
2569                    r.$search.attr("tabindex", 0),
2570                    r.$search.attr("aria-controls", i),
2571                    r.$search.trigger("focus"),
2572                    window.setTimeout(function() {
2573                        r.$search.trigger("focus")
2574                    }, 0)
2575                }),
2576                t.on("close", function() {
2577                    r.$search.attr("tabindex", -1),
2578                    r.$search.removeAttr("aria-controls"),
2579                    r.$search.removeAttr("aria-activedescendant"),
2580                    r.$search.val(""),
2581                    r.$search.trigger("blur")
2582                }),
2583                t.on("focus", function() {
2584                    t.isOpen() || r.$search.trigger("focus")
2585                }),
2586                t.on("results:all", function(e) {
2587                    null != e.query.term && "" !== e.query.term || (r.showSearch(e) ? r.$searchContainer.removeClass("select2-search--hide") : r.$searchContainer.addClass("select2-search--hide"))
2588                }),
2589                t.on("results:focus", function(e) {
2590                    e.data._resultId ? r.$search.attr("aria-activedescendant", e.data._resultId) : r.$search.removeAttr("aria-activedescendant")
2591                })
2592            }
2593            ,
2594            t.prototype.handleSearch = function(e) {
2595                if (!this._keyUpPrevented) {
2596                    var t = this.$search.val();
2597                    this.trigger("query", {
2598                        term: t
2599                    })
2600                }
2601                this._keyUpPrevented = !1
2602            }
2603            ,
2604            t.prototype.showSearch = function(e, t) {
2605                return !0
2606            }
2607            ,
2608            t
2609        }),
2610        e.define("select2/dropdown/hidePlaceholder", [], function() {
2611            function e(e, t, n, r) {
2612                this.placeholder = this.normalizePlaceholder(n.get("placeholder")),
2613                e.call(this, t, n, r)
2614            }
2615            return e.prototype.append = function(e, t) {
2616                t.results = this.removePlaceholder(t.results),
2617                e.call(this, t)
2618            }
2619            ,
2620            e.prototype.normalizePlaceholder = function(e, t) {
2621                return "string" == typeof t && (t = {
2622                    id: "",
2623                    text: t
2624                }),
2625                t
2626            }
2627            ,
2628            e.prototype.removePlaceholder = function(e, t) {
2629                for (var n = t.slice(0), r = t.length - 1; 0 <= r; r--) {
2630                    var i = t[r];
2631                    this.placeholder.id === i.id && n.splice(r, 1)
2632                }
2633                return n
2634            }
2635            ,
2636            e
2637        }),
2638        e.define("select2/dropdown/infiniteScroll", ["jquery"], function(n) {
2639            function e(e, t, n, r) {
2640                this.lastParams = {},
2641                e.call(this, t, n, r),
2642                this.$loadingMore = this.createLoadingMore(),
2643                this.loading = !1
2644            }
2645            return e.prototype.append = function(e, t) {
2646                this.$loadingMore.remove(),
2647                this.loading = !1,
2648                e.call(this, t),
2649                this.showLoadingMore(t) && (this.$results.append(this.$loadingMore),
2650                this.loadMoreIfNeeded())
2651            }
2652            ,
2653            e.prototype.bind = function(e, t, n) {
2654                var r = this;
2655                e.call(this, t, n),
2656                t.on("query", function(e) {
2657                    r.lastParams = e,
2658                    r.loading = !0
2659                }),
2660                t.on("query:append", function(e) {
2661                    r.lastParams = e,
2662                    r.loading = !0
2663                }),
2664                this.$results.on("scroll", this.loadMoreIfNeeded.bind(this))
2665            }
2666            ,
2667            e.prototype.loadMoreIfNeeded = function() {
2668                var e = n.contains(document.documentElement, this.$loadingMore[0]);
2669                if (!this.loading && e) {
2670                    var t = this.$results.offset().top + this.$results.outerHeight(!1);
2671                    this.$loadingMore.offset().top + this.$loadingMore.outerHeight(!1) <= t + 50 && this.loadMore()
2672                }
2673            }
2674            ,
2675            e.prototype.loadMore = function() {
2676                this.loading = !0;
2677                var e = n.extend({}, {
2678                    page: 1
2679                }, this.lastParams);
2680                e.page++,
2681                this.trigger("query:append", e)
2682            }
2683            ,
2684            e.prototype.showLoadingMore = function(e, t) {
2685                return t.pagination && t.pagination.more
2686            }
2687            ,
2688            e.prototype.createLoadingMore = function() {
2689                var e = n('<li class="select2-results__option select2-results__option--load-more"role="option" aria-disabled="true"></li>')
2690                  , t = this.options.get("translations").get("loadingMore");
2691                return e.html(t(this.lastParams)),
2692                e
2693            }
2694            ,
2695            e
2696        }),
2697        e.define("select2/dropdown/attachBody", ["jquery", "../utils"], function(f, a) {
2698            function e(e, t, n) {
2699                this.$dropdownParent = f(n.get("dropdownParent") || document.body),
2700                e.call(this, t, n)
2701            }
2702            return e.prototype.bind = function(e, t, n) {
2703                var r = this;
2704                e.call(this, t, n),
2705                t.on("open", function() {
2706                    r._showDropdown(),
2707                    r._attachPositioningHandler(t),
2708                    r._bindContainerResultHandlers(t)
2709                }),
2710                t.on("close", function() {
2711                    r._hideDropdown(),
2712                    r._detachPositioningHandler(t)
2713                }),
2714                this.$dropdownContainer.on("mousedown", function(e) {
2715                    e.stopPropagation()
2716                })
2717            }
2718            ,
2719            e.prototype.destroy = function(e) {
2720                e.call(this),
2721                this.$dropdownContainer.remove()
2722            }
2723            ,
2724            e.prototype.position = function(e, t, n) {
2725                t.attr("class", n.attr("class")),
2726                t.removeClass("select2"),
2727                t.addClass("select2-container--open"),
2728                t.css({
2729                    position: "absolute",
2730                    top: -999999
2731                }),
2732                this.$container = n
2733            }
2734            ,
2735            e.prototype.render = function(e) {
2736                var t = f("<span></span>")
2737                  , n = e.call(this);
2738                return t.append(n),
2739                this.$dropdownContainer = t
2740            }
2741            ,
2742            e.prototype._hideDropdown = function(e) {
2743                this.$dropdownContainer.detach()
2744            }
2745            ,
2746            e.prototype._bindContainerResultHandlers = function(e, t) {
2747                if (!this._containerResultsHandlersBound) {
2748                    var n = this;
2749                    t.on("results:all", function() {
2750                        n._positionDropdown(),
2751                        n._resizeDropdown()
2752                    }),
2753                    t.on("results:append", function() {
2754                        n._positionDropdown(),
2755                        n._resizeDropdown()
2756                    }),
2757                    t.on("results:message", function() {
2758                        n._positionDropdown(),
2759                        n._resizeDropdown()
2760                    }),
2761                    t.on("select", function() {
2762                        n._positionDropdown(),
2763                        n._resizeDropdown()
2764                    }),
2765                    t.on("unselect", function() {
2766                        n._positionDropdown(),
2767                        n._resizeDropdown()
2768                    }),
2769                    this._containerResultsHandlersBound = !0
2770                }
2771            }
2772            ,
2773            e.prototype._attachPositioningHandler = function(e, t) {
2774                var n = this
2775                  , r = "scroll.select2." + t.id
2776                  , i = "resize.select2." + t.id
2777                  , o = "orientationchange.select2." + t.id
2778                  , s = this.$container.parents().filter(a.hasScroll);
2779                s.each(function() {
2780                    a.StoreData(this, "select2-scroll-position", {
2781                        x: f(this).scrollLeft(),
2782                        y: f(this).scrollTop()
2783                    })
2784                }),
2785                s.on(r, function(e) {
2786                    var t = a.GetData(this, "select2-scroll-position");
2787                    f(this).scrollTop(t.y)
2788                }),
2789                f(window).on(r + " " + i + " " + o, function(e) {
2790                    n._positionDropdown(),
2791                    n._resizeDropdown()
2792                })
2793            }
2794            ,
2795            e.prototype._detachPositioningHandler = function(e, t) {
2796                var n = "scroll.select2." + t.id
2797                  , r = "resize.select2." + t.id
2798                  , i = "orientationchange.select2." + t.id;
2799                this.$container.parents().filter(a.hasScroll).off(n),
2800                f(window).off(n + " " + r + " " + i)
2801            }
2802            ,
2803            e.prototype._positionDropdown = function() {
2804                var e = f(window)
2805                  , t = this.$dropdown.hasClass("select2-dropdown--above")
2806                  , n = this.$dropdown.hasClass("select2-dropdown--below")
2807                  , r = null
2808                  , i = this.$container.offset();
2809                i.bottom = i.top + this.$container.outerHeight(!1);
2810                var o = {
2811                    height: this.$container.outerHeight(!1)
2812                };
2813                o.top = i.top,
2814                o.bottom = i.top + o.height;
2815                var s = this.$dropdown.outerHeight(!1)
2816                  , a = e.scrollTop()
2817                  , l = e.scrollTop() + e.height()
2818                  , c = a < i.top - s
2819                  , u = l > i.bottom + s
2820                  , d = {
2821                    left: i.left,
2822                    top: o.bottom
2823                }
2824                  , p = this.$dropdownParent;
2825                "static" === p.css("position") && (p = p.offsetParent());
2826                var h = {
2827                    top: 0,
2828                    left: 0
2829                };
2830                (f.contains(document.body, p[0]) || p[0].isConnected) && (h = p.offset()),
2831                d.top -= h.top,
2832                d.left -= h.left,
2833                t || n || (r = "below"),
2834                u || !c || t ? !c && u && t && (r = "below") : r = "above",
2835                ("above" == r || t && "below" !== r) && (d.top = o.top - h.top - s),
2836                null != r && (this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--" + r),
2837                this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--" + r)),
2838                this.$dropdownContainer.css(d)
2839            }
2840            ,
2841            e.prototype._resizeDropdown = function() {
2842                var e = {
2843                    width: this.$container.outerWidth(!1) + "px"
2844                };
2845                this.options.get("dropdownAutoWidth") && (e.minWidth = e.width,
2846                e.position = "relative",
vendor: 7,630 bytes, lines 2847-3001
2847                e.width = "auto"),
2848                this.$dropdown.css(e)
2849            }
2850            ,
2851            e.prototype._showDropdown = function(e) {
2852                this.$dropdownContainer.appendTo(this.$dropdownParent),
2853                this._positionDropdown(),
2854                this._resizeDropdown()
2855            }
2856            ,
2857            e
2858        }),
2859        e.define("select2/dropdown/minimumResultsForSearch", [], function() {
2860            function e(e, t, n, r) {
2861                this.minimumResultsForSearch = n.get("minimumResultsForSearch"),
2862                this.minimumResultsForSearch < 0 && (this.minimumResultsForSearch = 1 / 0),
2863                e.call(this, t, n, r)
2864            }
2865            return e.prototype.showSearch = function(e, t) {
2866                return !(function e(t) {
2867                    for (var n = 0, r = 0; r < t.length; r++) {
2868                        var i = t[r];
2869                        i.children ? n += e(i.children) : n++
2870                    }
2871                    return n
2872                }(t.data.results) < this.minimumResultsForSearch) && e.call(this, t)
2873            }
2874            ,
2875            e
2876        }),
2877        e.define("select2/dropdown/selectOnClose", ["../utils"], function(o) {
2878            function e() {}
2879            return e.prototype.bind = function(e, t, n) {
2880                var r = this;
2881                e.call(this, t, n),
2882                t.on("close", function(e) {
2883                    r._handleSelectOnClose(e)
2884                })
2885            }
2886            ,
2887            e.prototype._handleSelectOnClose = function(e, t) {
2888                if (t && null != t.originalSelect2Event) {
2889                    var n = t.originalSelect2Event;
2890                    if ("select" === n._type || "unselect" === n._type)
2891                        return
2892                }
2893                var r = this.getHighlightedResults();
2894                if (!(r.length < 1)) {
2895                    var i = o.GetData(r[0], "data");
2896                    null != i.element && i.element.selected || null == i.element && i.selected || this.trigger("select", {
2897                        data: i
2898                    })
2899                }
2900            }
2901            ,
2902            e
2903        }),
2904        e.define("select2/dropdown/closeOnSelect", [], function() {
2905            function e() {}
2906            return e.prototype.bind = function(e, t, n) {
2907                var r = this;
2908                e.call(this, t, n),
2909                t.on("select", function(e) {
2910                    r._selectTriggered(e)
2911                }),
2912                t.on("unselect", function(e) {
2913                    r._selectTriggered(e)
2914                })
2915            }
2916            ,
2917            e.prototype._selectTriggered = function(e, t) {
2918                var n = t.originalEvent;
2919                n && (n.ctrlKey || n.metaKey) || this.trigger("close", {
2920                    originalEvent: n,
2921                    originalSelect2Event: t
2922                })
2923            }
2924            ,
2925            e
2926        }),
2927        e.define("select2/i18n/en", [], function() {
2928            return {
2929                errorLoading: function() {
2930                    return "The results could not be loaded."
2931                },
2932                inputTooLong: function(e) {
2933                    var t = e.input.length - e.maximum
2934                      , n = "Please delete " + t + " character";
2935                    return 1 != t && (n += "s"),
2936                    n
2937                },
2938                inputTooShort: function(e) {
2939                    return "Please enter " + (e.minimum - e.input.length) + " or more characters"
2940                },
2941                loadingMore: function() {
2942                    return "Loading more results…"
2943                },
2944                maximumSelected: function(e) {
2945                    var t = "You can only select " + e.maximum + " item";
2946                    return 1 != e.maximum && (t += "s"),
2947                    t
2948                },
2949                noResults: function() {
2950                    return "No results found"
2951                },
2952                searching: function() {
2953                    return "Searching…"
2954                },
2955                removeAllItems: function() {
2956                    return "Remove all items"
2957                }
2958            }
2959        }),
2960        e.define("select2/defaults", ["jquery", "require", "./results", "./selection/single", "./selection/multiple", "./selection/placeholder", "./selection/allowClear", "./selection/search", "./selection/eventRelay", "./utils", "./translation", "./diacritics", "./data/select", "./data/array", "./data/ajax", "./data/tags", "./data/tokenizer", "./data/minimumInputLength", "./data/maximumInputLength", "./data/maximumSelectionLength", "./dropdown", "./dropdown/search", "./dropdown/hidePlaceholder", "./dropdown/infiniteScroll", "./dropdown/attachBody", "./dropdown/minimumResultsForSearch", "./dropdown/selectOnClose", "./dropdown/closeOnSelect", "./i18n/en"], function(c, u, d, p, h, f, g, m, v, y, s, t, _, $, b, w, A, x, D, S, E, C, O, T, q, L, I, j, e) {
2961            function n() {
2962                this.reset()
2963            }
2964            return n.prototype.apply = function(e) {
2965                if (null == (e = c.extend(!0, {}, this.defaults, e)).dataAdapter) {
2966                    if (null != e.ajax ? e.dataAdapter = b : null != e.data ? e.dataAdapter = $ : e.dataAdapter = _,
2967                    0 < e.minimumInputLength && (e.dataAdapter = y.Decorate(e.dataAdapter, x)),
2968                    0 < e.maximumInputLength && (e.dataAdapter = y.Decorate(e.dataAdapter, D)),
2969                    0 < e.maximumSelectionLength && (e.dataAdapter = y.Decorate(e.dataAdapter, S)),
2970                    e.tags && (e.dataAdapter = y.Decorate(e.dataAdapter, w)),
2971                    null == e.tokenSeparators && null == e.tokenizer || (e.dataAdapter = y.Decorate(e.dataAdapter, A)),
2972                    null != e.query) {
2973                        var t = u(e.amdBase + "compat/query");
2974                        e.dataAdapter = y.Decorate(e.dataAdapter, t)
2975                    }
2976                    if (null != e.initSelection) {
2977                        var n = u(e.amdBase + "compat/initSelection");
2978                        e.dataAdapter = y.Decorate(e.dataAdapter, n)
2979                    }
2980                }
2981                if (null == e.resultsAdapter && (e.resultsAdapter = d,
2982                null != e.ajax && (e.resultsAdapter = y.Decorate(e.resultsAdapter, T)),
2983                null != e.placeholder && (e.resultsAdapter = y.Decorate(e.resultsAdapter, O)),
2984                e.selectOnClose && (e.resultsAdapter = y.Decorate(e.resultsAdapter, I))),
2985                null == e.dropdownAdapter) {
2986                    if (e.multiple)
2987                        e.dropdownAdapter = E;
2988                    else {
2989                        var r = y.Decorate(E, C);
2990                        e.dropdownAdapter = r
2991                    }
2992                    if (0 !== e.minimumResultsForSearch && (e.dropdownAdapter = y.Decorate(e.dropdownAdapter, L)),
2993                    e.closeOnSelect && (e.dropdownAdapter = y.Decorate(e.dropdownAdapter, j)),
2994                    null != e.dropdownCssClass || null != e.dropdownCss || null != e.adaptDropdownCssClass) {
2995                        var i = u(e.amdBase + "compat/dropdownCss");
2996                        e.dropdownAdapter = y.Decorate(e.dropdownAdapter, i)
2997                    }
2998                    e.dropdownAdapter = y.Decorate(e.dropdownAdapter, q)
2999                }
3000                if (null == e.selectionAdapter) {
3001                    if (e.multiple ? e.selectionAdapter = h : e.selectionAdapter = p,
3002                    null != e.placeholder && (e.selectionAdapter = y.Decorate(e.selectionAdapter, f)),
3003                    e.allowClear && (e.selectionAdapter = y.Decorate(e.selectionAdapter, g)),
3004                    e.multiple && (e.selectionAdapter = y.Decorate(e.selectionAdapter, m)),
3005                    null != e.containerCssClass || null != e.containerCss || null != e.adaptContainerCssClass) {
3006                        var o = u(e.amdBase + "compat/containerCss");
3007                        e.selectionAdapter = y.Decorate(e.selectionAdapter, o)
3008                    }
3009                    e.selectionAdapter = y.Decorate(e.selectionAdapter, v)
3010                }
3011                e.language = this._resolveLanguage(e.language),
3012                e.language.push("en");
3013                for (var s = [], a = 0; a < e.language.length; a++) {
3014                    var l = e.language[a];
3015                    -1 === s.indexOf(l) && s.push(l)
3016                }
3017                return e.language = s,
3018                e.translations = this._processTranslations(e.language, e.debug),
3019                e
3020            }
3021            ,
3022            n.prototype.reset = function() {
3023                function a(e) {
vendor: 20,129 bytes, lines 3024-3468
3024                    return e.replace(/[^\u0000-\u007E]/g, function(e) {
3025                        return t[e] || e
3026                    })
3027                }
3028                this.defaults = {
3029                    amdBase: "./",
3030                    amdLanguageBase: "./i18n/",
3031                    closeOnSelect: !0,
3032                    debug: !1,
3033                    dropdownAutoWidth: !1,
3034                    escapeMarkup: y.escapeMarkup,
3035                    language: {},
3036                    matcher: function e(t, n) {
3037                        if ("" === c.trim(t.term))
3038                            return n;
3039                        if (n.children && 0 < n.children.length) {
3040                            for (var r = c.extend(!0, {}, n), i = n.children.length - 1; 0 <= i; i--)
3041                                null == e(t, n.children[i]) && r.children.splice(i, 1);
3042                            return 0 < r.children.length ? r : e(t, r)
3043                        }
3044                        var o = a(n.text).toUpperCase()
3045                          , s = a(t.term).toUpperCase();
3046                        return -1 < o.indexOf(s) ? n : null
3047                    },
3048                    minimumInputLength: 0,
3049                    maximumInputLength: 0,
3050                    maximumSelectionLength: 0,
3051                    minimumResultsForSearch: 0,
3052                    selectOnClose: !1,
3053                    scrollAfterSelect: !1,
3054                    sorter: function(e) {
3055                        return e
3056                    },
3057                    templateResult: function(e) {
3058                        return e.text
3059                    },
3060                    templateSelection: function(e) {
3061                        return e.text
3062                    },
3063                    theme: "default",
3064                    width: "resolve"
3065                }
3066            }
3067            ,
3068            n.prototype.applyFromElement = function(e, t) {
3069                var n = e.language
3070                  , r = this.defaults.language
3071                  , i = t.prop("lang")
3072                  , o = t.closest("[lang]").prop("lang")
3073                  , s = Array.prototype.concat.call(this._resolveLanguage(i), this._resolveLanguage(n), this._resolveLanguage(r), this._resolveLanguage(o));
3074                return e.language = s,
3075                e
3076            }
3077            ,
3078            n.prototype._resolveLanguage = function(e) {
3079                if (!e)
3080                    return [];
3081                if (c.isEmptyObject(e))
3082                    return [];
3083                if (c.isPlainObject(e))
3084                    return [e];
3085                var t;
3086                t = c.isArray(e) ? e : [e];
3087                for (var n = [], r = 0; r < t.length; r++)
3088                    if (n.push(t[r]),
3089                    "string" == typeof t[r] && 0 < t[r].indexOf("-")) {
3090                        var i = t[r].split("-")[0];
3091                        n.push(i)
3092                    }
3093                return n
3094            }
3095            ,
3096            n.prototype._processTranslations = function(e, t) {
3097                for (var n = new s, r = 0; r < e.length; r++) {
3098                    var i = new s
3099                      , o = e[r];
3100                    if ("string" == typeof o)
3101                        try {
3102                            i = s.loadPath(o)
3103                        } catch (e) {
3104                            try {
3105                                o = this.defaults.amdLanguageBase + o,
3106                                i = s.loadPath(o)
3107                            } catch (e) {
3108                                t && window.console && console.warn && console.warn('Select2: The language file for "' + o + '" could not be automatically loaded. A fallback will be used instead.')
3109                            }
3110                        }
3111                    else
3112                        i = c.isPlainObject(o) ? new s(o) : o;
3113                    n.extend(i)
3114                }
3115                return n
3116            }
3117            ,
3118            n.prototype.set = function(e, t) {
3119                var n = {};
3120                n[c.camelCase(e)] = t;
3121                var r = y._convertData(n);
3122                c.extend(!0, this.defaults, r)
3123            }
3124            ,
3125            new n
3126        }),
3127        e.define("select2/options", ["require", "jquery", "./defaults", "./utils"], function(r, d, i, p) {
3128            function e(e, t) {
3129                if (this.options = e,
3130                null != t && this.fromElement(t),
3131                null != t && (this.options = i.applyFromElement(this.options, t)),
3132                this.options = i.apply(this.options),
3133                t && t.is("input")) {
3134                    var n = r(this.get("amdBase") + "compat/inputData");
3135                    this.options.dataAdapter = p.Decorate(this.options.dataAdapter, n)
3136                }
3137            }
3138            return e.prototype.fromElement = function(e) {
3139                var t = ["select2"];
3140                null == this.options.multiple && (this.options.multiple = e.prop("multiple")),
3141                null == this.options.disabled && (this.options.disabled = e.prop("disabled")),
3142                null == this.options.dir && (e.prop("dir") ? this.options.dir = e.prop("dir") : e.closest("[dir]").prop("dir") ? this.options.dir = e.closest("[dir]").prop("dir") : this.options.dir = "ltr"),
3143                e.prop("disabled", this.options.disabled),
3144                e.prop("multiple", this.options.multiple),
3145                p.GetData(e[0], "select2Tags") && (this.options.debug && window.console && console.warn && console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),
3146                p.StoreData(e[0], "data", p.GetData(e[0], "select2Tags")),
3147                p.StoreData(e[0], "tags", !0)),
3148                p.GetData(e[0], "ajaxUrl") && (this.options.debug && window.console && console.warn && console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),
3149                e.attr("ajax--url", p.GetData(e[0], "ajaxUrl")),
3150                p.StoreData(e[0], "ajax-Url", p.GetData(e[0], "ajaxUrl")));
3151                var n = {};
3152                function r(e, t) {
3153                    return t.toUpperCase()
3154                }
3155                for (var i = 0; i < e[0].attributes.length; i++) {
3156                    var o = e[0].attributes[i].name
3157                      , s = "data-";
3158                    if (o.substr(0, s.length) == s) {
3159                        var a = o.substring(s.length)
3160                          , l = p.GetData(e[0], a);
3161                        n[a.replace(/-([a-z])/g, r)] = l
3162                    }
3163                }
3164                d.fn.jquery && "1." == d.fn.jquery.substr(0, 2) && e[0].dataset && (n = d.extend(!0, {}, e[0].dataset, n));
3165                var c = d.extend(!0, {}, p.GetData(e[0]), n);
3166                for (var u in c = p._convertData(c))
3167                    -1 < d.inArray(u, t) || (d.isPlainObject(this.options[u]) ? d.extend(this.options[u], c[u]) : this.options[u] = c[u]);
3168                return this
3169            }
3170            ,
3171            e.prototype.get = function(e) {
3172                return this.options[e]
3173            }
3174            ,
3175            e.prototype.set = function(e, t) {
3176                this.options[e] = t
3177            }
3178            ,
3179            e
3180        }),
3181        e.define("select2/core", ["jquery", "./options", "./utils", "./keys"], function(o, c, u, r) {
3182            var d = function(e, t) {
3183                null != u.GetData(e[0], "select2") && u.GetData(e[0], "select2").destroy(),
3184                this.$element = e,
3185                this.id = this._generateId(e),
3186                t = t || {},
3187                this.options = new c(t,e),
3188                d.__super__.constructor.call(this);
3189                var n = e.attr("tabindex") || 0;
3190                u.StoreData(e[0], "old-tabindex", n),
3191                e.attr("tabindex", "-1");
3192                var r = this.options.get("dataAdapter");
3193                this.dataAdapter = new r(e,this.options);
3194                var i = this.render();
3195                this._placeContainer(i);
3196                var o = this.options.get("selectionAdapter");
3197                this.selection = new o(e,this.options),
3198                this.$selection = this.selection.render(),
3199                this.selection.position(this.$selection, i);
3200                var s = this.options.get("dropdownAdapter");
3201                this.dropdown = new s(e,this.options),
3202                this.$dropdown = this.dropdown.render(),
3203                this.dropdown.position(this.$dropdown, i);
3204                var a = this.options.get("resultsAdapter");
3205                this.results = new a(e,this.options,this.dataAdapter),
3206                this.$results = this.results.render(),
3207                this.results.position(this.$results, this.$dropdown);
3208                var l = this;
3209                this._bindAdapters(),
3210                this._registerDomEvents(),
3211                this._registerDataEvents(),
3212                this._registerSelectionEvents(),
3213                this._registerDropdownEvents(),
3214                this._registerResultsEvents(),
3215                this._registerEvents(),
3216                this.dataAdapter.current(function(e) {
3217                    l.trigger("selection:update", {
3218                        data: e
3219                    })
3220                }),
3221                e.addClass("select2-hidden-accessible"),
3222                e.attr("aria-hidden", "true"),
3223                this._syncAttributes(),
3224                u.StoreData(e[0], "select2", this),
3225                e.data("select2", this)
3226            };
3227            return u.Extend(d, u.Observable),
3228            d.prototype._generateId = function(e) {
3229                return "select2-" + (null != e.attr("id") ? e.attr("id") : null != e.attr("name") ? e.attr("name") + "-" + u.generateChars(2) : u.generateChars(4)).replace(/(:|\.|\[|\]|,)/g, "")
3230            }
3231            ,
3232            d.prototype._placeContainer = function(e) {
3233                e.insertAfter(this.$element);
3234                var t = this._resolveWidth(this.$element, this.options.get("width"));
3235                null != t && e.css("width", t)
3236            }
3237            ,
3238            d.prototype._resolveWidth = function(e, t) {
3239                var n = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;
3240                if ("resolve" == t) {
3241                    var r = this._resolveWidth(e, "style");
3242                    return null != r ? r : this._resolveWidth(e, "element")
3243                }
3244                if ("element" == t) {
3245                    var i = e.outerWidth(!1);
3246                    return i <= 0 ? "auto" : i + "px"
3247                }
3248                if ("style" != t)
3249                    return "computedstyle" != t ? t : window.getComputedStyle(e[0]).width;
3250                var o = e.attr("style");
3251                if ("string" != typeof o)
3252                    return null;
3253                for (var s = o.split(";"), a = 0, l = s.length; a < l; a += 1) {
3254                    var c = s[a].replace(/\s/g, "").match(n);
3255                    if (null !== c && 1 <= c.length)
3256                        return c[1]
3257                }
3258                return null
3259            }
3260            ,
3261            d.prototype._bindAdapters = function() {
3262                this.dataAdapter.bind(this, this.$container),
3263                this.selection.bind(this, this.$container),
3264                this.dropdown.bind(this, this.$container),
3265                this.results.bind(this, this.$container)
3266            }
3267            ,
3268            d.prototype._registerDomEvents = function() {
3269                var t = this;
3270                this.$element.on("change.select2", function() {
3271                    t.dataAdapter.current(function(e) {
3272                        t.trigger("selection:update", {
3273                            data: e
3274                        })
3275                    })
3276                }),
3277                this.$element.on("focus.select2", function(e) {
3278                    t.trigger("focus", e)
3279                }),
3280                this._syncA = u.bind(this._syncAttributes, this),
3281                this._syncS = u.bind(this._syncSubtree, this),
3282                this.$element[0].attachEvent && this.$element[0].attachEvent("onpropertychange", this._syncA);
3283                var e = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
3284                null != e ? (this._observer = new e(function(e) {
3285                    t._syncA(),
3286                    t._syncS(null, e)
3287                }
3288                ),
3289                this._observer.observe(this.$element[0], {
3290                    attributes: !0,
3291                    childList: !0,
3292                    subtree: !1
3293                })) : this.$element[0].addEventListener && (this.$element[0].addEventListener("DOMAttrModified", t._syncA, !1),
3294                this.$element[0].addEventListener("DOMNodeInserted", t._syncS, !1),
3295                this.$element[0].addEventListener("DOMNodeRemoved", t._syncS, !1))
3296            }
3297            ,
3298            d.prototype._registerDataEvents = function() {
3299                var n = this;
3300                this.dataAdapter.on("*", function(e, t) {
3301                    n.trigger(e, t)
3302                })
3303            }
3304            ,
3305            d.prototype._registerSelectionEvents = function() {
3306                var n = this
3307                  , r = ["toggle", "focus"];
3308                this.selection.on("toggle", function() {
3309                    n.toggleDropdown()
3310                }),
3311                this.selection.on("focus", function(e) {
3312                    n.focus(e)
3313                }),
3314                this.selection.on("*", function(e, t) {
3315                    -1 === o.inArray(e, r) && n.trigger(e, t)
3316                })
3317            }
3318            ,
3319            d.prototype._registerDropdownEvents = function() {
3320                var n = this;
3321                this.dropdown.on("*", function(e, t) {
3322                    n.trigger(e, t)
3323                })
3324            }
3325            ,
3326            d.prototype._registerResultsEvents = function() {
3327                var n = this;
3328                this.results.on("*", function(e, t) {
3329                    n.trigger(e, t)
3330                })
3331            }
3332            ,
3333            d.prototype._registerEvents = function() {
3334                var n = this;
3335                this.on("open", function() {
3336                    n.$container.addClass("select2-container--open")
3337                }),
3338                this.on("close", function() {
3339                    n.$container.removeClass("select2-container--open")
3340                }),
3341                this.on("enable", function() {
3342                    n.$container.removeClass("select2-container--disabled")
3343                }),
3344                this.on("disable", function() {
3345                    n.$container.addClass("select2-container--disabled")
3346                }),
3347                this.on("blur", function() {
3348                    n.$container.removeClass("select2-container--focus")
3349                }),
3350                this.on("query", function(t) {
3351                    n.isOpen() || n.trigger("open", {}),
3352                    this.dataAdapter.query(t, function(e) {
3353                        n.trigger("results:all", {
3354                            data: e,
3355                            query: t
3356                        })
3357                    })
3358                }),
3359                this.on("query:append", function(t) {
3360                    this.dataAdapter.query(t, function(e) {
3361                        n.trigger("results:append", {
3362                            data: e,
3363                            query: t
3364                        })
3365                    })
3366                }),
3367                this.on("keypress", function(e) {
3368                    var t = e.which;
3369                    n.isOpen() ? t === r.ESC || t === r.TAB || t === r.UP && e.altKey ? (n.close(e),
3370                    e.preventDefault()) : t === r.ENTER ? (n.trigger("results:select", {}),
3371                    e.preventDefault()) : t === r.SPACE && e.ctrlKey ? (n.trigger("results:toggle", {}),
3372                    e.preventDefault()) : t === r.UP ? (n.trigger("results:previous", {}),
3373                    e.preventDefault()) : t === r.DOWN && (n.trigger("results:next", {}),
3374                    e.preventDefault()) : (t === r.ENTER || t === r.SPACE || t === r.DOWN && e.altKey) && (n.open(),
3375                    e.preventDefault())
3376                })
3377            }
3378            ,
3379            d.prototype._syncAttributes = function() {
3380                this.options.set("disabled", this.$element.prop("disabled")),
3381                this.isDisabled() ? (this.isOpen() && this.close(),
3382                this.trigger("disable", {})) : this.trigger("enable", {})
3383            }
3384            ,
3385            d.prototype._isChangeMutation = function(e, t) {
3386                var n = !1
3387                  , r = this;
3388                if (!e || !e.target || "OPTION" === e.target.nodeName || "OPTGROUP" === e.target.nodeName) {
3389                    if (t)
3390                        if (t.addedNodes && 0 < t.addedNodes.length)
3391                            for (var i = 0; i < t.addedNodes.length; i++) {
3392                                t.addedNodes[i].selected && (n = !0)
3393                            }
3394                        else
3395                            t.removedNodes && 0 < t.removedNodes.length ? n = !0 : o.isArray(t) && o.each(t, function(e, t) {
3396                                if (r._isChangeMutation(e, t))
3397                                    return !(n = !0)
3398                            });
3399                    else
3400                        n = !0;
3401                    return n
3402                }
3403            }
3404            ,
3405            d.prototype._syncSubtree = function(e, t) {
3406                var n = this._isChangeMutation(e, t)
3407                  , r = this;
3408                n && this.dataAdapter.current(function(e) {
3409                    r.trigger("selection:update", {
3410                        data: e
3411                    })
3412                })
3413            }
3414            ,
3415            d.prototype.trigger = function(e, t) {
3416                var n = d.__super__.trigger
3417                  , r = {
3418                    open: "opening",
3419                    close: "closing",
3420                    select: "selecting",
3421                    unselect: "unselecting",
3422                    clear: "clearing"
3423                };
3424                if (void 0 === t && (t = {}),
3425                e in r) {
3426                    var i = r[e]
3427                      , o = {
3428                        prevented: !1,
3429                        name: e,
3430                        args: t
3431                    };
3432                    if (n.call(this, i, o),
3433                    o.prevented)
3434                        return void (t.prevented = !0)
3435                }
3436                n.call(this, e, t)
3437            }
3438            ,
3439            d.prototype.toggleDropdown = function() {
3440                this.isDisabled() || (this.isOpen() ? this.close() : this.open())
3441            }
3442            ,
3443            d.prototype.open = function() {
3444                this.isOpen() || this.isDisabled() || this.trigger("query", {})
3445            }
3446            ,
3447            d.prototype.close = function(e) {
3448                this.isOpen() && this.trigger("close", {
3449                    originalEvent: e
3450                })
3451            }
3452            ,
3453            d.prototype.isEnabled = function() {
3454                return !this.isDisabled()
3455            }
3456            ,
3457            d.prototype.isDisabled = function() {
3458                return this.options.get("disabled")
3459            }
3460            ,
3461            d.prototype.isOpen = function() {
3462                return this.$container.hasClass("select2-container--open")
3463            }
3464            ,
3465            d.prototype.hasFocus = function() {
3466                return this.$container.hasClass("select2-container--focus")
3467            }
3468            ,
vendor: 4,912 bytes, lines 3469-3557
3469            d.prototype.focus = function(e) {
3470                this.hasFocus() || (this.$container.addClass("select2-container--focus"),
3471                this.trigger("focus", {}))
3472            }
3473            ,
3474            d.prototype.enable = function(e) {
3475                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.'),
3476                null != e && 0 !== e.length || (e = [!0]);
3477                var t = !e[0];
3478                this.$element.prop("disabled", t)
3479            }
3480            ,
3481            d.prototype.data = function() {
3482                this.options.get("debug") && 0 < arguments.length && window.console && console.warn && console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');
3483                var t = [];
3484                return this.dataAdapter.current(function(e) {
3485                    t = e
3486                }),
3487                t
3488            }
3489            ,
3490            d.prototype.val = function(e) {
3491                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.'),
3492                null == e || 0 === e.length)
3493                    return this.$element.val();
3494                var t = e[0];
3495                o.isArray(t) && (t = o.map(t, function(e) {
3496                    return e.toString()
3497                })),
3498                this.$element.val(t).trigger("input").trigger("change")
3499            }
3500            ,
3501            d.prototype.destroy = function() {
3502                this.$container.remove(),
3503                this.$element[0].detachEvent && this.$element[0].detachEvent("onpropertychange", this._syncA),
3504                null != this._observer ? (this._observer.disconnect(),
3505                this._observer = null) : this.$element[0].removeEventListener && (this.$element[0].removeEventListener("DOMAttrModified", this._syncA, !1),
3506                this.$element[0].removeEventListener("DOMNodeInserted", this._syncS, !1),
3507                this.$element[0].removeEventListener("DOMNodeRemoved", this._syncS, !1)),
3508                this._syncA = null,
3509                this._syncS = null,
3510                this.$element.off(".select2"),
3511                this.$element.attr("tabindex", u.GetData(this.$element[0], "old-tabindex")),
3512                this.$element.removeClass("select2-hidden-accessible"),
3513                this.$element.attr("aria-hidden", "false"),
3514                u.RemoveData(this.$element[0]),
3515                this.$element.removeData("select2"),
3516                this.dataAdapter.destroy(),
3517                this.selection.destroy(),
3518                this.dropdown.destroy(),
3519                this.results.destroy(),
3520                this.dataAdapter = null,
3521                this.selection = null,
3522                this.dropdown = null,
3523                this.results = null
3524            }
3525            ,
3526            d.prototype.render = function() {
3527                var e = o('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');
3528                return e.attr("dir", this.options.get("dir")),
3529                this.$container = e,
3530                this.$container.addClass("select2-container--" + this.options.get("theme")),
3531                u.StoreData(e[0], "element", this.$element),
3532                e
3533            }
3534            ,
3535            d
3536        }),
3537        e.define("jquery-mousewheel", ["jquery"], function(e) {
3538            return e
3539        }),
3540        e.define("jquery.select2", ["jquery", "jquery-mousewheel", "./select2/core", "./select2/defaults", "./select2/utils"], function(i, e, o, t, s) {
3541            if (null == i.fn.select2) {
3542                var a = ["open", "close", "destroy"];
3543                i.fn.select2 = function(t) {
3544                    if ("object" == typeof (t = t || {}))
3545                        return this.each(function() {
3546                            var e = i.extend(!0, {}, t);
3547                            new o(i(this),e)
3548                        }),
3549                        this;
3550                    if ("string" != typeof t)
3551                        throw new Error("Invalid arguments for Select2: " + t);
3552                    var n, r = Array.prototype.slice.call(arguments, 1);
3553                    return this.each(function() {
3554                        var e = s.GetData(this, "select2");
3555                        null == e && window.console && console.error && console.error("The select2('" + t + "') method was called on an element that is not using Select2."),
3556                        n = e[t].apply(e, r)
3557                    }),
3558                    -1 < i.inArray(t, a) ? this : n
3559                }
3560            }
3561            return null == i.fn.select2.defaults && (i.fn.select2.defaults = t),
3562            o
3563        }),
3564        {
3565            define: e.define,
3566            require: e.require
3567        }
3568    }()
3569      , t = e.require("jquery.select2");
3570    return u.fn.select2.amd = e,
3571    t
3572});

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.