From 4a85b2163186b487483f586d5697717c22fbaba0 Mon Sep 17 00:00:00 2001 From: Raelon Masters Date: Fri, 19 Jun 2020 02:00:01 -0400 Subject: [PATCH] Massive UI/UX Overhaul --- src/backend/lib/library.py | 4 +- src/frontend/urls.py | 2 + src/interface/models.py | 2 +- .../static/admin/css/autocomplete.css | 0 src/interface/static/admin/css/base.css | 0 .../static/admin/css/changelists.css | 0 src/interface/static/admin/css/dashboard.css | 0 src/interface/static/admin/css/fonts.css | 0 src/interface/static/admin/css/forms.css | 0 src/interface/static/admin/css/login.css | 0 src/interface/static/admin/css/responsive.css | 0 .../static/admin/css/responsive_rtl.css | 0 src/interface/static/admin/css/rtl.css | 0 .../css/vendor/select2/LICENSE-SELECT2.md | 0 .../admin/css/vendor/select2/select2.css | 0 .../admin/css/vendor/select2/select2.min.css | 0 src/interface/static/admin/css/widgets.css | 0 src/interface/static/admin/fonts/LICENSE.txt | 0 src/interface/static/admin/fonts/README.txt | 0 .../admin/fonts/Roboto-Bold-webfont.woff | Bin .../admin/fonts/Roboto-Light-webfont.woff | Bin .../admin/fonts/Roboto-Regular-webfont.woff | Bin src/interface/static/admin/img/LICENSE | 0 src/interface/static/admin/img/README.txt | 0 .../static/admin/img/calendar-icons.svg | 0 .../static/admin/img/gis/move_vertex_off.svg | 2 +- .../static/admin/img/gis/move_vertex_on.svg | 2 +- .../static/admin/img/icon-addlink.svg | 0 src/interface/static/admin/img/icon-alert.svg | 0 .../static/admin/img/icon-calendar.svg | 0 .../static/admin/img/icon-changelink.svg | 0 src/interface/static/admin/img/icon-clock.svg | 0 .../static/admin/img/icon-deletelink.svg | 0 src/interface/static/admin/img/icon-no.svg | 0 .../static/admin/img/icon-unknown-alt.svg | 0 .../static/admin/img/icon-unknown.svg | 0 .../static/admin/img/icon-viewlink.svg | 0 src/interface/static/admin/img/icon-yes.svg | 0 .../static/admin/img/inline-delete.svg | 0 src/interface/static/admin/img/search.svg | 0 .../static/admin/img/selector-icons.svg | 0 .../static/admin/img/sorting-icons.svg | 0 .../static/admin/img/tooltag-add.svg | 0 .../static/admin/img/tooltag-arrowright.svg | 0 src/interface/static/admin/js/SelectBox.js | 0 .../static/admin/js/SelectFilter2.js | 0 src/interface/static/admin/js/actions.js | 0 src/interface/static/admin/js/actions.min.js | 0 .../admin/js/admin/DateTimeShortcuts.js | 0 .../admin/js/admin/RelatedObjectLookups.js | 0 src/interface/static/admin/js/autocomplete.js | 0 src/interface/static/admin/js/calendar.js | 0 src/interface/static/admin/js/cancel.js | 0 src/interface/static/admin/js/change_form.js | 0 src/interface/static/admin/js/collapse.js | 0 src/interface/static/admin/js/collapse.min.js | 0 src/interface/static/admin/js/core.js | 0 src/interface/static/admin/js/inlines.js | 0 src/interface/static/admin/js/inlines.min.js | 0 src/interface/static/admin/js/jquery.init.js | 0 .../static/admin/js/popup_response.js | 0 src/interface/static/admin/js/prepopulate.js | 0 .../static/admin/js/prepopulate.min.js | 0 .../static/admin/js/prepopulate_init.js | 0 src/interface/static/admin/js/urlify.js | 0 .../static/admin/js/vendor/jquery/LICENSE.txt | 0 .../static/admin/js/vendor/jquery/jquery.js | 1238 ++++++++++------- .../admin/js/vendor/jquery/jquery.min.js | 4 +- .../static/admin/js/vendor/select2/LICENSE.md | 0 .../static/admin/js/vendor/select2/i18n/af.js | 2 +- .../static/admin/js/vendor/select2/i18n/ar.js | 2 +- .../static/admin/js/vendor/select2/i18n/az.js | 2 +- .../static/admin/js/vendor/select2/i18n/bg.js | 2 +- .../static/admin/js/vendor/select2/i18n/bn.js | 2 +- .../static/admin/js/vendor/select2/i18n/bs.js | 2 +- .../static/admin/js/vendor/select2/i18n/ca.js | 2 +- .../static/admin/js/vendor/select2/i18n/cs.js | 2 +- .../static/admin/js/vendor/select2/i18n/da.js | 2 +- .../static/admin/js/vendor/select2/i18n/de.js | 2 +- .../admin/js/vendor/select2/i18n/dsb.js | 2 +- .../static/admin/js/vendor/select2/i18n/el.js | 2 +- .../static/admin/js/vendor/select2/i18n/en.js | 2 +- .../static/admin/js/vendor/select2/i18n/es.js | 2 +- .../static/admin/js/vendor/select2/i18n/et.js | 2 +- .../static/admin/js/vendor/select2/i18n/eu.js | 2 +- .../static/admin/js/vendor/select2/i18n/fa.js | 2 +- .../static/admin/js/vendor/select2/i18n/fi.js | 2 +- .../static/admin/js/vendor/select2/i18n/fr.js | 2 +- .../static/admin/js/vendor/select2/i18n/gl.js | 2 +- .../static/admin/js/vendor/select2/i18n/he.js | 2 +- .../static/admin/js/vendor/select2/i18n/hi.js | 2 +- .../static/admin/js/vendor/select2/i18n/hr.js | 2 +- .../admin/js/vendor/select2/i18n/hsb.js | 2 +- .../static/admin/js/vendor/select2/i18n/hu.js | 2 +- .../static/admin/js/vendor/select2/i18n/hy.js | 2 +- .../static/admin/js/vendor/select2/i18n/id.js | 2 +- .../static/admin/js/vendor/select2/i18n/is.js | 2 +- .../static/admin/js/vendor/select2/i18n/it.js | 2 +- .../static/admin/js/vendor/select2/i18n/ja.js | 2 +- .../static/admin/js/vendor/select2/i18n/ka.js | 2 +- .../static/admin/js/vendor/select2/i18n/km.js | 2 +- .../static/admin/js/vendor/select2/i18n/ko.js | 2 +- .../static/admin/js/vendor/select2/i18n/lt.js | 2 +- .../static/admin/js/vendor/select2/i18n/lv.js | 2 +- .../static/admin/js/vendor/select2/i18n/mk.js | 2 +- .../static/admin/js/vendor/select2/i18n/ms.js | 2 +- .../static/admin/js/vendor/select2/i18n/nb.js | 2 +- .../static/admin/js/vendor/select2/i18n/ne.js | 2 +- .../static/admin/js/vendor/select2/i18n/nl.js | 2 +- .../static/admin/js/vendor/select2/i18n/pl.js | 2 +- .../static/admin/js/vendor/select2/i18n/ps.js | 2 +- .../admin/js/vendor/select2/i18n/pt-BR.js | 2 +- .../static/admin/js/vendor/select2/i18n/pt.js | 2 +- .../static/admin/js/vendor/select2/i18n/ro.js | 2 +- .../static/admin/js/vendor/select2/i18n/ru.js | 2 +- .../static/admin/js/vendor/select2/i18n/sk.js | 2 +- .../static/admin/js/vendor/select2/i18n/sl.js | 2 +- .../static/admin/js/vendor/select2/i18n/sq.js | 2 +- .../admin/js/vendor/select2/i18n/sr-Cyrl.js | 2 +- .../static/admin/js/vendor/select2/i18n/sr.js | 2 +- .../static/admin/js/vendor/select2/i18n/sv.js | 2 +- .../static/admin/js/vendor/select2/i18n/th.js | 2 +- .../static/admin/js/vendor/select2/i18n/tk.js | 2 +- .../static/admin/js/vendor/select2/i18n/tr.js | 2 +- .../static/admin/js/vendor/select2/i18n/uk.js | 2 +- .../static/admin/js/vendor/select2/i18n/vi.js | 2 +- .../admin/js/vendor/select2/i18n/zh-CN.js | 2 +- .../admin/js/vendor/select2/i18n/zh-TW.js | 2 +- .../admin/js/vendor/select2/select2.full.js | 4 +- .../js/vendor/select2/select2.full.min.js | 2 +- .../admin/js/vendor/xregexp/LICENSE.txt | 0 .../static/admin/js/vendor/xregexp/xregexp.js | 1 + .../admin/js/vendor/xregexp/xregexp.min.js | 0 src/interface/static/css/main.css | 143 +- src/interface/static/img/demo.html | 487 +++++++ src/interface/static/img/fractal-bg-dark.png | Bin 0 -> 126417 bytes src/interface/static/img/icons/ico-3dot.png | Bin 0 -> 510 bytes src/interface/static/img/icons/ico-9dot.png | Bin 0 -> 617 bytes .../static/img/icons/ico-bookmark-closed.png | Bin 0 -> 962 bytes .../static/img/icons/ico-bookmark-open.png | Bin 0 -> 825 bytes .../static/img/icons/ico-box-l-arrow.png | Bin 0 -> 957 bytes .../static/img/icons/ico-box-r-arrow.png | Bin 0 -> 942 bytes .../static/img/icons/ico-detective.png | Bin 0 -> 3773 bytes .../static/img/icons/ico-dl-book-rounded.png | Bin 0 -> 1747 bytes src/interface/static/img/icons/ico-dlbook.png | Bin 0 -> 848 bytes .../static/img/icons/ico-edit-book.png | Bin 0 -> 1621 bytes src/interface/static/img/icons/ico-gear.png | Bin 0 -> 3060 bytes src/interface/static/img/icons/ico-gears.png | Bin 0 -> 3371 bytes src/interface/static/img/icons/ico-github.png | Bin 0 -> 3764 bytes src/interface/static/img/icons/ico-home.png | Bin 0 -> 1322 bytes src/interface/static/img/icons/ico-html5.png | Bin 0 -> 2541 bytes .../static/img/icons/ico-open-book.png | Bin 0 -> 1040 bytes .../static/img/icons/ico-open-in-window.png | Bin 0 -> 1595 bytes .../static/img/icons/ico-profile-card.png | Bin 0 -> 1209 bytes .../static/img/icons/ico-pys-books.png | Bin 0 -> 2020 bytes .../static/img/icons/ico-thumb-down.png | Bin 0 -> 1338 bytes .../static/img/icons/ico-thumb-up.png | Bin 0 -> 1353 bytes src/interface/static/img/pysBook.png | Bin 0 -> 2417 bytes src/interface/static/img/pysBook.xcf | Bin 0 -> 3272 bytes src/interface/templates/index.html | 28 +- src/interface/templates/search.html | 26 +- src/interface/templatetags/filters.py | 10 +- src/interface/views.py | 22 + 163 files changed, 1504 insertions(+), 591 deletions(-) mode change 100755 => 100644 src/interface/static/admin/css/autocomplete.css mode change 100755 => 100644 src/interface/static/admin/css/base.css mode change 100755 => 100644 src/interface/static/admin/css/changelists.css mode change 100755 => 100644 src/interface/static/admin/css/dashboard.css mode change 100755 => 100644 src/interface/static/admin/css/fonts.css mode change 100755 => 100644 src/interface/static/admin/css/forms.css mode change 100755 => 100644 src/interface/static/admin/css/login.css mode change 100755 => 100644 src/interface/static/admin/css/responsive.css mode change 100755 => 100644 src/interface/static/admin/css/responsive_rtl.css mode change 100755 => 100644 src/interface/static/admin/css/rtl.css mode change 100755 => 100644 src/interface/static/admin/css/vendor/select2/LICENSE-SELECT2.md mode change 100755 => 100644 src/interface/static/admin/css/vendor/select2/select2.css mode change 100755 => 100644 src/interface/static/admin/css/vendor/select2/select2.min.css mode change 100755 => 100644 src/interface/static/admin/css/widgets.css mode change 100755 => 100644 src/interface/static/admin/fonts/LICENSE.txt mode change 100755 => 100644 src/interface/static/admin/fonts/README.txt mode change 100755 => 100644 src/interface/static/admin/fonts/Roboto-Bold-webfont.woff mode change 100755 => 100644 src/interface/static/admin/fonts/Roboto-Light-webfont.woff mode change 100755 => 100644 src/interface/static/admin/fonts/Roboto-Regular-webfont.woff mode change 100755 => 100644 src/interface/static/admin/img/LICENSE mode change 100755 => 100644 src/interface/static/admin/img/README.txt mode change 100755 => 100644 src/interface/static/admin/img/calendar-icons.svg mode change 100755 => 100644 src/interface/static/admin/img/gis/move_vertex_off.svg mode change 100755 => 100644 src/interface/static/admin/img/gis/move_vertex_on.svg mode change 100755 => 100644 src/interface/static/admin/img/icon-addlink.svg mode change 100755 => 100644 src/interface/static/admin/img/icon-alert.svg mode change 100755 => 100644 src/interface/static/admin/img/icon-calendar.svg mode change 100755 => 100644 src/interface/static/admin/img/icon-changelink.svg mode change 100755 => 100644 src/interface/static/admin/img/icon-clock.svg mode change 100755 => 100644 src/interface/static/admin/img/icon-deletelink.svg mode change 100755 => 100644 src/interface/static/admin/img/icon-no.svg mode change 100755 => 100644 src/interface/static/admin/img/icon-unknown-alt.svg mode change 100755 => 100644 src/interface/static/admin/img/icon-unknown.svg mode change 100755 => 100644 src/interface/static/admin/img/icon-viewlink.svg mode change 100755 => 100644 src/interface/static/admin/img/icon-yes.svg mode change 100755 => 100644 src/interface/static/admin/img/inline-delete.svg mode change 100755 => 100644 src/interface/static/admin/img/search.svg mode change 100755 => 100644 src/interface/static/admin/img/selector-icons.svg mode change 100755 => 100644 src/interface/static/admin/img/sorting-icons.svg mode change 100755 => 100644 src/interface/static/admin/img/tooltag-add.svg mode change 100755 => 100644 src/interface/static/admin/img/tooltag-arrowright.svg mode change 100755 => 100644 src/interface/static/admin/js/SelectBox.js mode change 100755 => 100644 src/interface/static/admin/js/SelectFilter2.js mode change 100755 => 100644 src/interface/static/admin/js/actions.js mode change 100755 => 100644 src/interface/static/admin/js/actions.min.js mode change 100755 => 100644 src/interface/static/admin/js/admin/DateTimeShortcuts.js mode change 100755 => 100644 src/interface/static/admin/js/admin/RelatedObjectLookups.js mode change 100755 => 100644 src/interface/static/admin/js/autocomplete.js mode change 100755 => 100644 src/interface/static/admin/js/calendar.js mode change 100755 => 100644 src/interface/static/admin/js/cancel.js mode change 100755 => 100644 src/interface/static/admin/js/change_form.js mode change 100755 => 100644 src/interface/static/admin/js/collapse.js mode change 100755 => 100644 src/interface/static/admin/js/collapse.min.js mode change 100755 => 100644 src/interface/static/admin/js/core.js mode change 100755 => 100644 src/interface/static/admin/js/inlines.js mode change 100755 => 100644 src/interface/static/admin/js/inlines.min.js mode change 100755 => 100644 src/interface/static/admin/js/jquery.init.js mode change 100755 => 100644 src/interface/static/admin/js/popup_response.js mode change 100755 => 100644 src/interface/static/admin/js/prepopulate.js mode change 100755 => 100644 src/interface/static/admin/js/prepopulate.min.js mode change 100755 => 100644 src/interface/static/admin/js/prepopulate_init.js mode change 100755 => 100644 src/interface/static/admin/js/urlify.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/jquery/LICENSE.txt mode change 100755 => 100644 src/interface/static/admin/js/vendor/jquery/jquery.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/jquery/jquery.min.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/LICENSE.md mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/af.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/ar.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/az.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/bg.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/bn.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/bs.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/ca.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/cs.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/da.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/de.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/dsb.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/el.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/en.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/es.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/et.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/eu.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/fa.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/fi.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/fr.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/gl.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/he.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/hi.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/hr.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/hsb.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/hu.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/hy.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/id.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/is.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/it.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/ja.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/ka.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/km.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/ko.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/lt.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/lv.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/mk.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/ms.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/nb.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/ne.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/nl.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/pl.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/ps.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/pt-BR.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/pt.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/ro.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/ru.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/sk.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/sl.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/sq.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/sr-Cyrl.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/sr.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/sv.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/th.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/tk.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/tr.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/uk.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/vi.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/zh-CN.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/i18n/zh-TW.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/select2.full.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/select2/select2.full.min.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/xregexp/LICENSE.txt mode change 100755 => 100644 src/interface/static/admin/js/vendor/xregexp/xregexp.js mode change 100755 => 100644 src/interface/static/admin/js/vendor/xregexp/xregexp.min.js create mode 100644 src/interface/static/img/demo.html create mode 100644 src/interface/static/img/fractal-bg-dark.png create mode 100644 src/interface/static/img/icons/ico-3dot.png create mode 100644 src/interface/static/img/icons/ico-9dot.png create mode 100644 src/interface/static/img/icons/ico-bookmark-closed.png create mode 100644 src/interface/static/img/icons/ico-bookmark-open.png create mode 100644 src/interface/static/img/icons/ico-box-l-arrow.png create mode 100644 src/interface/static/img/icons/ico-box-r-arrow.png create mode 100644 src/interface/static/img/icons/ico-detective.png create mode 100644 src/interface/static/img/icons/ico-dl-book-rounded.png create mode 100644 src/interface/static/img/icons/ico-dlbook.png create mode 100644 src/interface/static/img/icons/ico-edit-book.png create mode 100644 src/interface/static/img/icons/ico-gear.png create mode 100644 src/interface/static/img/icons/ico-gears.png create mode 100644 src/interface/static/img/icons/ico-github.png create mode 100644 src/interface/static/img/icons/ico-home.png create mode 100644 src/interface/static/img/icons/ico-html5.png create mode 100644 src/interface/static/img/icons/ico-open-book.png create mode 100644 src/interface/static/img/icons/ico-open-in-window.png create mode 100644 src/interface/static/img/icons/ico-profile-card.png create mode 100644 src/interface/static/img/icons/ico-pys-books.png create mode 100644 src/interface/static/img/icons/ico-thumb-down.png create mode 100644 src/interface/static/img/icons/ico-thumb-up.png create mode 100644 src/interface/static/img/pysBook.png create mode 100644 src/interface/static/img/pysBook.xcf diff --git a/src/backend/lib/library.py b/src/backend/lib/library.py index a2054f2..2013e1b 100755 --- a/src/backend/lib/library.py +++ b/src/backend/lib/library.py @@ -195,8 +195,8 @@ class Catalogue: ftags = ftags.replace(":", ",") elif ";" in ftags: ftags = ftags.replace(";", ",") - elif re.search(r"\s", ftags): # Must be final assignment to avoid spliting on multiple delimeters - ftags = ftags.replace(" ", ",") + # elif re.search(r"\s", ftags): # Must be final assignment to avoid spliting on multiple delimeters + # ftags = ftags.replace(" ", ",") except KeyError: ftags = None return [ diff --git a/src/frontend/urls.py b/src/frontend/urls.py index 22252e0..96af3c7 100755 --- a/src/frontend/urls.py +++ b/src/frontend/urls.py @@ -22,6 +22,8 @@ urlpatterns = [ path("admin/", admin.site.urls), path("", views.index, name="index"), path("download/", views.download, name="download"), + path("favorite/", views.favorite, name="favorite"), + path("share/", views.share, name="share"), path("prev_page/", views.prev_page, name="prev_page"), path("next_page/", views.next_page, name="next_page"), path("search/", views.search, name="search"), diff --git a/src/interface/models.py b/src/interface/models.py index 5d78fd1..ea2247d 100755 --- a/src/interface/models.py +++ b/src/interface/models.py @@ -39,7 +39,7 @@ class Books(models.Model): def generic_search(self, query): try: results = Books.objects.annotate( - search=SearchVector("title", "file_name", "author"), + search=SearchVector("title", "file_name", "author","tags"), ).filter(search=query) except Exception as e: raise diff --git a/src/interface/static/admin/css/autocomplete.css b/src/interface/static/admin/css/autocomplete.css old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/css/base.css b/src/interface/static/admin/css/base.css old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/css/changelists.css b/src/interface/static/admin/css/changelists.css old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/css/dashboard.css b/src/interface/static/admin/css/dashboard.css old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/css/fonts.css b/src/interface/static/admin/css/fonts.css old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/css/forms.css b/src/interface/static/admin/css/forms.css old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/css/login.css b/src/interface/static/admin/css/login.css old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/css/responsive.css b/src/interface/static/admin/css/responsive.css old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/css/responsive_rtl.css b/src/interface/static/admin/css/responsive_rtl.css old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/css/rtl.css b/src/interface/static/admin/css/rtl.css old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/css/vendor/select2/LICENSE-SELECT2.md b/src/interface/static/admin/css/vendor/select2/LICENSE-SELECT2.md old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/css/vendor/select2/select2.css b/src/interface/static/admin/css/vendor/select2/select2.css old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/css/vendor/select2/select2.min.css b/src/interface/static/admin/css/vendor/select2/select2.min.css old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/css/widgets.css b/src/interface/static/admin/css/widgets.css old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/fonts/LICENSE.txt b/src/interface/static/admin/fonts/LICENSE.txt old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/fonts/README.txt b/src/interface/static/admin/fonts/README.txt old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/fonts/Roboto-Bold-webfont.woff b/src/interface/static/admin/fonts/Roboto-Bold-webfont.woff old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/fonts/Roboto-Light-webfont.woff b/src/interface/static/admin/fonts/Roboto-Light-webfont.woff old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/fonts/Roboto-Regular-webfont.woff b/src/interface/static/admin/fonts/Roboto-Regular-webfont.woff old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/img/LICENSE b/src/interface/static/admin/img/LICENSE old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/img/README.txt b/src/interface/static/admin/img/README.txt old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/img/calendar-icons.svg b/src/interface/static/admin/img/calendar-icons.svg old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/img/gis/move_vertex_off.svg b/src/interface/static/admin/img/gis/move_vertex_off.svg old mode 100755 new mode 100644 index c9d16e0..228854f --- a/src/interface/static/admin/img/gis/move_vertex_off.svg +++ b/src/interface/static/admin/img/gis/move_vertex_off.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/src/interface/static/admin/img/gis/move_vertex_on.svg b/src/interface/static/admin/img/gis/move_vertex_on.svg old mode 100755 new mode 100644 index 12f81ae..96b87fd --- a/src/interface/static/admin/img/gis/move_vertex_on.svg +++ b/src/interface/static/admin/img/gis/move_vertex_on.svg @@ -1 +1 @@ - + \ No newline at end of file diff --git a/src/interface/static/admin/img/icon-addlink.svg b/src/interface/static/admin/img/icon-addlink.svg old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/img/icon-alert.svg b/src/interface/static/admin/img/icon-alert.svg old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/img/icon-calendar.svg b/src/interface/static/admin/img/icon-calendar.svg old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/img/icon-changelink.svg b/src/interface/static/admin/img/icon-changelink.svg old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/img/icon-clock.svg b/src/interface/static/admin/img/icon-clock.svg old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/img/icon-deletelink.svg b/src/interface/static/admin/img/icon-deletelink.svg old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/img/icon-no.svg b/src/interface/static/admin/img/icon-no.svg old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/img/icon-unknown-alt.svg b/src/interface/static/admin/img/icon-unknown-alt.svg old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/img/icon-unknown.svg b/src/interface/static/admin/img/icon-unknown.svg old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/img/icon-viewlink.svg b/src/interface/static/admin/img/icon-viewlink.svg old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/img/icon-yes.svg b/src/interface/static/admin/img/icon-yes.svg old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/img/inline-delete.svg b/src/interface/static/admin/img/inline-delete.svg old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/img/search.svg b/src/interface/static/admin/img/search.svg old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/img/selector-icons.svg b/src/interface/static/admin/img/selector-icons.svg old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/img/sorting-icons.svg b/src/interface/static/admin/img/sorting-icons.svg old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/img/tooltag-add.svg b/src/interface/static/admin/img/tooltag-add.svg old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/img/tooltag-arrowright.svg b/src/interface/static/admin/img/tooltag-arrowright.svg old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/js/SelectBox.js b/src/interface/static/admin/js/SelectBox.js old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/js/SelectFilter2.js b/src/interface/static/admin/js/SelectFilter2.js old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/js/actions.js b/src/interface/static/admin/js/actions.js old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/js/actions.min.js b/src/interface/static/admin/js/actions.min.js old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/js/admin/DateTimeShortcuts.js b/src/interface/static/admin/js/admin/DateTimeShortcuts.js old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/js/admin/RelatedObjectLookups.js b/src/interface/static/admin/js/admin/RelatedObjectLookups.js old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/js/autocomplete.js b/src/interface/static/admin/js/autocomplete.js old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/js/calendar.js b/src/interface/static/admin/js/calendar.js old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/js/cancel.js b/src/interface/static/admin/js/cancel.js old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/js/change_form.js b/src/interface/static/admin/js/change_form.js old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/js/collapse.js b/src/interface/static/admin/js/collapse.js old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/js/collapse.min.js b/src/interface/static/admin/js/collapse.min.js old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/js/core.js b/src/interface/static/admin/js/core.js old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/js/inlines.js b/src/interface/static/admin/js/inlines.js old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/js/inlines.min.js b/src/interface/static/admin/js/inlines.min.js old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/js/jquery.init.js b/src/interface/static/admin/js/jquery.init.js old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/js/popup_response.js b/src/interface/static/admin/js/popup_response.js old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/js/prepopulate.js b/src/interface/static/admin/js/prepopulate.js old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/js/prepopulate.min.js b/src/interface/static/admin/js/prepopulate.min.js old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/js/prepopulate_init.js b/src/interface/static/admin/js/prepopulate_init.js old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/js/urlify.js b/src/interface/static/admin/js/urlify.js old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/js/vendor/jquery/LICENSE.txt b/src/interface/static/admin/js/vendor/jquery/LICENSE.txt old mode 100755 new mode 100644 diff --git a/src/interface/static/admin/js/vendor/jquery/jquery.js b/src/interface/static/admin/js/vendor/jquery/jquery.js old mode 100755 new mode 100644 index 773ad95..5093733 --- a/src/interface/static/admin/js/vendor/jquery/jquery.js +++ b/src/interface/static/admin/js/vendor/jquery/jquery.js @@ -1,5 +1,5 @@ /*! - * jQuery JavaScript Library v3.4.1 + * jQuery JavaScript Library v3.5.1 * https://jquery.com/ * * Includes Sizzle.js @@ -9,7 +9,7 @@ * Released under the MIT license * https://jquery.org/license * - * Date: 2019-05-01T21:04Z + * Date: 2020-05-04T22:49Z */ ( function( global, factory ) { @@ -47,13 +47,16 @@ var arr = []; -var document = window.document; - var getProto = Object.getPrototypeOf; var slice = arr.slice; -var concat = arr.concat; +var flat = arr.flat ? function( array ) { + return arr.flat.call( array ); +} : function( array ) { + return arr.concat.apply( [], array ); +}; + var push = arr.push; @@ -86,6 +89,8 @@ var isWindow = function isWindow( obj ) { }; +var document = window.document; + var preservedScriptAttributes = { @@ -142,7 +147,7 @@ function toType( obj ) { var - version = "3.4.1", + version = "3.5.1", // Define a local copy of jQuery jQuery = function( selector, context ) { @@ -150,11 +155,7 @@ var // The jQuery object is actually just the init constructor 'enhanced' // Need init if jQuery is called (just allow error to be thrown if not included) return new jQuery.fn.init( selector, context ); - }, - - // Support: Android <=4.0 only - // Make sure we trim BOM and NBSP - rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; + }; jQuery.fn = jQuery.prototype = { @@ -220,6 +221,18 @@ jQuery.fn = jQuery.prototype = { return this.eq( -1 ); }, + even: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return ( i + 1 ) % 2; + } ) ); + }, + + odd: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return i % 2; + } ) ); + }, + eq: function( i ) { var len = this.length, j = +i + ( i < 0 ? len : 0 ); @@ -353,9 +366,10 @@ jQuery.extend( { return true; }, - // Evaluates a script in a global context - globalEval: function( code, options ) { - DOMEval( code, { nonce: options && options.nonce } ); + // Evaluates a script in a provided context; falls back to the global one + // if not specified. + globalEval: function( code, options, doc ) { + DOMEval( code, { nonce: options && options.nonce }, doc ); }, each: function( obj, callback ) { @@ -379,13 +393,6 @@ jQuery.extend( { return obj; }, - // Support: Android <=4.0 only - trim: function( text ) { - return text == null ? - "" : - ( text + "" ).replace( rtrim, "" ); - }, - // results is for internal usage only makeArray: function( arr, results ) { var ret = results || []; @@ -472,7 +479,7 @@ jQuery.extend( { } // Flatten any nested arrays - return concat.apply( [], ret ); + return flat( ret ); }, // A global GUID counter for objects @@ -489,7 +496,7 @@ if ( typeof Symbol === "function" ) { // Populate the class2type map jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), -function( i, name ) { +function( _i, name ) { class2type[ "[object " + name + "]" ] = name.toLowerCase(); } ); @@ -511,17 +518,16 @@ function isArrayLike( obj ) { } var Sizzle = /*! - * Sizzle CSS Selector Engine v2.3.4 + * Sizzle CSS Selector Engine v2.3.5 * https://sizzlejs.com/ * * Copyright JS Foundation and other contributors * Released under the MIT license * https://js.foundation/ * - * Date: 2019-04-08 + * Date: 2020-03-14 */ -(function( window ) { - +( function( window ) { var i, support, Expr, @@ -561,59 +567,70 @@ var i, }, // Instance methods - hasOwn = ({}).hasOwnProperty, + hasOwn = ( {} ).hasOwnProperty, arr = [], pop = arr.pop, - push_native = arr.push, + pushNative = arr.push, push = arr.push, slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native // https://jsperf.com/thor-indexof-vs-for/5 indexOf = function( list, elem ) { var i = 0, len = list.length; for ( ; i < len; i++ ) { - if ( list[i] === elem ) { + if ( list[ i ] === elem ) { return i; } } return -1; }, - booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + + "ismap|loop|multiple|open|readonly|required|scoped", // Regular expressions // http://www.w3.org/TR/css3-selectors/#whitespace whitespace = "[\\x20\\t\\r\\n\\f]", - // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier - identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram + identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) "*([*^$|!~]?=)" + whitespace + - // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" - "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + - "*\\]", + + // "Attribute values must be CSS identifiers [capture 5] + // or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + + whitespace + "*\\]", pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: // 1. quoted (capture 3; capture 4 or capture 5) "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) ".*" + ")\\)|)", // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter rwhitespace = new RegExp( whitespace + "+", "g" ), - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + + whitespace + "+$", "g" ), rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + + "*" ), rdescend = new RegExp( whitespace + "|>" ), rpseudo = new RegExp( pseudos ), @@ -625,14 +642,16 @@ var i, "TAG": new RegExp( "^(" + identifier + "|[*])" ), "ATTR": new RegExp( "^" + attributes ), "PSEUDO": new RegExp( "^" + pseudos ), - "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + - "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + - "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() // We use this for POS matching in `select` - "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + - whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + "needsContext": new RegExp( "^" + whitespace + + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) }, rhtml = /HTML$/i, @@ -648,18 +667,21 @@ var i, // CSS escapes // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), - funescape = function( _, escaped, escapedWhitespace ) { - var high = "0x" + escaped - 0x10000; - // NaN means non-codepoint - // Support: Firefox<24 - // Workaround erroneous numeric interpretation of +"0x" - return high !== high || escapedWhitespace ? - escaped : + runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), + funescape = function( escape, nonHex ) { + var high = "0x" + escape.slice( 1 ) - 0x10000; + + return nonHex ? + + // Strip the backslash prefix from a non-hex escape sequence + nonHex : + + // Replace a hexadecimal escape sequence with the encoded Unicode code point + // Support: IE <=11+ + // For values outside the Basic Multilingual Plane (BMP), manually construct a + // surrogate pair high < 0 ? - // BMP codepoint String.fromCharCode( high + 0x10000 ) : - // Supplemental Plane codepoint (surrogate pair) String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); }, @@ -675,7 +697,8 @@ var i, } // Control characters and (dependent upon position) numbers get escaped as code points - return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + return ch.slice( 0, -1 ) + "\\" + + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; } // Other potentially-special ASCII characters get backslash-escaped @@ -700,18 +723,20 @@ var i, // Optimize for push.apply( _, NodeList ) try { push.apply( - (arr = slice.call( preferredDoc.childNodes )), + ( arr = slice.call( preferredDoc.childNodes ) ), preferredDoc.childNodes ); + // Support: Android<4.0 // Detect silently failing push.apply + // eslint-disable-next-line no-unused-expressions arr[ preferredDoc.childNodes.length ].nodeType; } catch ( e ) { push = { apply: arr.length ? // Leverage slice if possible function( target, els ) { - push_native.apply( target, slice.call(els) ); + pushNative.apply( target, slice.call( els ) ); } : // Support: IE<9 @@ -719,8 +744,9 @@ try { function( target, els ) { var j = target.length, i = 0; + // Can't trust NodeList.length - while ( (target[j++] = els[i++]) ) {} + while ( ( target[ j++ ] = els[ i++ ] ) ) {} target.length = j - 1; } }; @@ -744,24 +770,21 @@ function Sizzle( selector, context, results, seed ) { // Try to shortcut find operations (as opposed to filters) in HTML documents if ( !seed ) { - - if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { - setDocument( context ); - } + setDocument( context ); context = context || document; if ( documentIsHTML ) { // If the selector is sufficiently simple, try using a "get*By*" DOM method // (excepting DocumentFragment context, where the methods don't exist) - if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { // ID selector - if ( (m = match[1]) ) { + if ( ( m = match[ 1 ] ) ) { // Document context if ( nodeType === 9 ) { - if ( (elem = context.getElementById( m )) ) { + if ( ( elem = context.getElementById( m ) ) ) { // Support: IE, Opera, Webkit // TODO: identify versions @@ -780,7 +803,7 @@ function Sizzle( selector, context, results, seed ) { // Support: IE, Opera, Webkit // TODO: identify versions // getElementById can match elements by name instead of ID - if ( newContext && (elem = newContext.getElementById( m )) && + if ( newContext && ( elem = newContext.getElementById( m ) ) && contains( context, elem ) && elem.id === m ) { @@ -790,12 +813,12 @@ function Sizzle( selector, context, results, seed ) { } // Type selector - } else if ( match[2] ) { + } else if ( match[ 2 ] ) { push.apply( results, context.getElementsByTagName( selector ) ); return results; // Class selector - } else if ( (m = match[3]) && support.getElementsByClassName && + } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && context.getElementsByClassName ) { push.apply( results, context.getElementsByClassName( m ) ); @@ -806,11 +829,11 @@ function Sizzle( selector, context, results, seed ) { // Take advantage of querySelectorAll if ( support.qsa && !nonnativeSelectorCache[ selector + " " ] && - (!rbuggyQSA || !rbuggyQSA.test( selector )) && + ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && // Support: IE 8 only // Exclude object elements - (nodeType !== 1 || context.nodeName.toLowerCase() !== "object") ) { + ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { newSelector = selector; newContext = context; @@ -819,27 +842,36 @@ function Sizzle( selector, context, results, seed ) { // descendant combinators, which is not what we want. // In such cases, we work around the behavior by prefixing every selector in the // list with an ID selector referencing the scope context. + // The technique has to be used as well when a leading combinator is used + // as such selectors are not recognized by querySelectorAll. // Thanks to Andrew Dupont for this technique. - if ( nodeType === 1 && rdescend.test( selector ) ) { + if ( nodeType === 1 && + ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { - // Capture the context ID, setting it first if necessary - if ( (nid = context.getAttribute( "id" )) ) { - nid = nid.replace( rcssescape, fcssescape ); - } else { - context.setAttribute( "id", (nid = expando) ); + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + + // We can use :scope instead of the ID hack if the browser + // supports it & if we're not changing the context. + if ( newContext !== context || !support.scope ) { + + // Capture the context ID, setting it first if necessary + if ( ( nid = context.getAttribute( "id" ) ) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", ( nid = expando ) ); + } } // Prefix every selector in the list groups = tokenize( selector ); i = groups.length; while ( i-- ) { - groups[i] = "#" + nid + " " + toSelector( groups[i] ); + groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + + toSelector( groups[ i ] ); } newSelector = groups.join( "," ); - - // Expand context for sibling selectors - newContext = rsibling.test( selector ) && testContext( context.parentNode ) || - context; } try { @@ -872,12 +904,14 @@ function createCache() { var keys = []; function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries delete cache[ keys.shift() ]; } - return (cache[ key + " " ] = value); + return ( cache[ key + " " ] = value ); } return cache; } @@ -896,17 +930,19 @@ function markFunction( fn ) { * @param {Function} fn Passed the created element and returns a boolean result */ function assert( fn ) { - var el = document.createElement("fieldset"); + var el = document.createElement( "fieldset" ); try { return !!fn( el ); - } catch (e) { + } catch ( e ) { return false; } finally { + // Remove from its parent by default if ( el.parentNode ) { el.parentNode.removeChild( el ); } + // release memory in IE el = null; } @@ -918,11 +954,11 @@ function assert( fn ) { * @param {Function} handler The method that will be applied */ function addHandle( attrs, handler ) { - var arr = attrs.split("|"), + var arr = attrs.split( "|" ), i = arr.length; while ( i-- ) { - Expr.attrHandle[ arr[i] ] = handler; + Expr.attrHandle[ arr[ i ] ] = handler; } } @@ -944,7 +980,7 @@ function siblingCheck( a, b ) { // Check if b follows a if ( cur ) { - while ( (cur = cur.nextSibling) ) { + while ( ( cur = cur.nextSibling ) ) { if ( cur === b ) { return -1; } @@ -972,7 +1008,7 @@ function createInputPseudo( type ) { function createButtonPseudo( type ) { return function( elem ) { var name = elem.nodeName.toLowerCase(); - return (name === "input" || name === "button") && elem.type === type; + return ( name === "input" || name === "button" ) && elem.type === type; }; } @@ -1015,7 +1051,7 @@ function createDisabledPseudo( disabled ) { // Where there is no isDisabled, check manually /* jshint -W018 */ elem.isDisabled !== !disabled && - inDisabledFieldset( elem ) === disabled; + inDisabledFieldset( elem ) === disabled; } return elem.disabled === disabled; @@ -1037,21 +1073,21 @@ function createDisabledPseudo( disabled ) { * @param {Function} fn */ function createPositionalPseudo( fn ) { - return markFunction(function( argument ) { + return markFunction( function( argument ) { argument = +argument; - return markFunction(function( seed, matches ) { + return markFunction( function( seed, matches ) { var j, matchIndexes = fn( [], seed.length, argument ), i = matchIndexes.length; // Match elements found at the specified indexes while ( i-- ) { - if ( seed[ (j = matchIndexes[i]) ] ) { - seed[j] = !(matches[j] = seed[j]); + if ( seed[ ( j = matchIndexes[ i ] ) ] ) { + seed[ j ] = !( matches[ j ] = seed[ j ] ); } } - }); - }); + } ); + } ); } /** @@ -1073,7 +1109,7 @@ support = Sizzle.support = {}; */ isXML = Sizzle.isXML = function( elem ) { var namespace = elem.namespaceURI, - docElem = (elem.ownerDocument || elem).documentElement; + docElem = ( elem.ownerDocument || elem ).documentElement; // Support: IE <=8 // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes @@ -1091,7 +1127,11 @@ setDocument = Sizzle.setDocument = function( node ) { doc = node ? node.ownerDocument || node : preferredDoc; // Return early if doc is invalid or already selected - if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { return document; } @@ -1100,10 +1140,14 @@ setDocument = Sizzle.setDocument = function( node ) { docElem = document.documentElement; documentIsHTML = !isXML( document ); - // Support: IE 9-11, Edge + // Support: IE 9 - 11+, Edge 12 - 18+ // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) - if ( preferredDoc !== document && - (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( preferredDoc != document && + ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { // Support: IE 11, Edge if ( subWindow.addEventListener ) { @@ -1115,25 +1159,36 @@ setDocument = Sizzle.setDocument = function( node ) { } } + // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, + // Safari 4 - 5 only, Opera <=11.6 - 12.x only + // IE/Edge & older browsers don't support the :scope pseudo-class. + // Support: Safari 6.0 only + // Safari 6.0 supports :scope but it's an alias of :root there. + support.scope = assert( function( el ) { + docElem.appendChild( el ).appendChild( document.createElement( "div" ) ); + return typeof el.querySelectorAll !== "undefined" && + !el.querySelectorAll( ":scope fieldset div" ).length; + } ); + /* Attributes ---------------------------------------------------------------------- */ // Support: IE<8 // Verify that getAttribute really returns attributes and not properties // (excepting IE8 booleans) - support.attributes = assert(function( el ) { + support.attributes = assert( function( el ) { el.className = "i"; - return !el.getAttribute("className"); - }); + return !el.getAttribute( "className" ); + } ); /* getElement(s)By* ---------------------------------------------------------------------- */ // Check if getElementsByTagName("*") returns only elements - support.getElementsByTagName = assert(function( el ) { - el.appendChild( document.createComment("") ); - return !el.getElementsByTagName("*").length; - }); + support.getElementsByTagName = assert( function( el ) { + el.appendChild( document.createComment( "" ) ); + return !el.getElementsByTagName( "*" ).length; + } ); // Support: IE<9 support.getElementsByClassName = rnative.test( document.getElementsByClassName ); @@ -1142,38 +1197,38 @@ setDocument = Sizzle.setDocument = function( node ) { // Check if getElementById returns elements by name // The broken getElementById methods don't pick up programmatically-set names, // so use a roundabout getElementsByName test - support.getById = assert(function( el ) { + support.getById = assert( function( el ) { docElem.appendChild( el ).id = expando; return !document.getElementsByName || !document.getElementsByName( expando ).length; - }); + } ); // ID filter and find if ( support.getById ) { - Expr.filter["ID"] = function( id ) { + Expr.filter[ "ID" ] = function( id ) { var attrId = id.replace( runescape, funescape ); return function( elem ) { - return elem.getAttribute("id") === attrId; + return elem.getAttribute( "id" ) === attrId; }; }; - Expr.find["ID"] = function( id, context ) { + Expr.find[ "ID" ] = function( id, context ) { if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { var elem = context.getElementById( id ); return elem ? [ elem ] : []; } }; } else { - Expr.filter["ID"] = function( id ) { + Expr.filter[ "ID" ] = function( id ) { var attrId = id.replace( runescape, funescape ); return function( elem ) { var node = typeof elem.getAttributeNode !== "undefined" && - elem.getAttributeNode("id"); + elem.getAttributeNode( "id" ); return node && node.value === attrId; }; }; // Support: IE 6 - 7 only // getElementById is not reliable as a find shortcut - Expr.find["ID"] = function( id, context ) { + Expr.find[ "ID" ] = function( id, context ) { if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { var node, i, elems, elem = context.getElementById( id ); @@ -1181,7 +1236,7 @@ setDocument = Sizzle.setDocument = function( node ) { if ( elem ) { // Verify the id attribute - node = elem.getAttributeNode("id"); + node = elem.getAttributeNode( "id" ); if ( node && node.value === id ) { return [ elem ]; } @@ -1189,8 +1244,8 @@ setDocument = Sizzle.setDocument = function( node ) { // Fall back on getElementsByName elems = context.getElementsByName( id ); i = 0; - while ( (elem = elems[i++]) ) { - node = elem.getAttributeNode("id"); + while ( ( elem = elems[ i++ ] ) ) { + node = elem.getAttributeNode( "id" ); if ( node && node.value === id ) { return [ elem ]; } @@ -1203,7 +1258,7 @@ setDocument = Sizzle.setDocument = function( node ) { } // Tag - Expr.find["TAG"] = support.getElementsByTagName ? + Expr.find[ "TAG" ] = support.getElementsByTagName ? function( tag, context ) { if ( typeof context.getElementsByTagName !== "undefined" ) { return context.getElementsByTagName( tag ); @@ -1218,12 +1273,13 @@ setDocument = Sizzle.setDocument = function( node ) { var elem, tmp = [], i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too results = context.getElementsByTagName( tag ); // Filter out possible comments if ( tag === "*" ) { - while ( (elem = results[i++]) ) { + while ( ( elem = results[ i++ ] ) ) { if ( elem.nodeType === 1 ) { tmp.push( elem ); } @@ -1235,7 +1291,7 @@ setDocument = Sizzle.setDocument = function( node ) { }; // Class - Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) { if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { return context.getElementsByClassName( className ); } @@ -1256,10 +1312,14 @@ setDocument = Sizzle.setDocument = function( node ) { // See https://bugs.jquery.com/ticket/13378 rbuggyQSA = []; - if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) { + // Build QSA regex // Regex strategy adopted from Diego Perini - assert(function( el ) { + assert( function( el ) { + + var input; + // Select is set to empty string on purpose // This is to test IE's treatment of not explicitly // setting a boolean content attribute, @@ -1273,78 +1333,98 @@ setDocument = Sizzle.setDocument = function( node ) { // Nothing should be selected when empty strings follow ^= or $= or *= // The test attribute must be unknown in Opera but "safe" for WinRT // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section - if ( el.querySelectorAll("[msallowcapture^='']").length ) { + if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) { rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); } // Support: IE8 // Boolean attributes and "value" are not treated correctly - if ( !el.querySelectorAll("[selected]").length ) { + if ( !el.querySelectorAll( "[selected]" ).length ) { rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); } // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { - rbuggyQSA.push("~="); + rbuggyQSA.push( "~=" ); + } + + // Support: IE 11+, Edge 15 - 18+ + // IE 11/Edge don't find elements on a `[name='']` query in some cases. + // Adding a temporary attribute to the document before the selection works + // around the issue. + // Interestingly, IE 10 & older don't seem to have the issue. + input = document.createElement( "input" ); + input.setAttribute( "name", "" ); + el.appendChild( input ); + if ( !el.querySelectorAll( "[name='']" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + + whitespace + "*(?:''|\"\")" ); } // Webkit/Opera - :checked should return selected option elements // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked // IE8 throws error here and will not see later tests - if ( !el.querySelectorAll(":checked").length ) { - rbuggyQSA.push(":checked"); + if ( !el.querySelectorAll( ":checked" ).length ) { + rbuggyQSA.push( ":checked" ); } // Support: Safari 8+, iOS 8+ // https://bugs.webkit.org/show_bug.cgi?id=136851 // In-page `selector#id sibling-combinator selector` fails if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { - rbuggyQSA.push(".#.+[+~]"); + rbuggyQSA.push( ".#.+[+~]" ); } - }); - assert(function( el ) { + // Support: Firefox <=3.6 - 5 only + // Old Firefox doesn't throw on a badly-escaped identifier. + el.querySelectorAll( "\\\f" ); + rbuggyQSA.push( "[\\r\\n\\f]" ); + } ); + + assert( function( el ) { el.innerHTML = "" + ""; // Support: Windows 8 Native Apps // The type and name attributes are restricted during .innerHTML assignment - var input = document.createElement("input"); + var input = document.createElement( "input" ); input.setAttribute( "type", "hidden" ); el.appendChild( input ).setAttribute( "name", "D" ); // Support: IE8 // Enforce case-sensitivity of name attribute - if ( el.querySelectorAll("[name=d]").length ) { + if ( el.querySelectorAll( "[name=d]" ).length ) { rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); } // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) // IE8 throws error here and will not see later tests - if ( el.querySelectorAll(":enabled").length !== 2 ) { + if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { rbuggyQSA.push( ":enabled", ":disabled" ); } // Support: IE9-11+ // IE's :disabled selector does not pick up the children of disabled fieldsets docElem.appendChild( el ).disabled = true; - if ( el.querySelectorAll(":disabled").length !== 2 ) { + if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { rbuggyQSA.push( ":enabled", ":disabled" ); } + // Support: Opera 10 - 11 only // Opera 10-11 does not throw on post-comma invalid pseudos - el.querySelectorAll("*,:x"); - rbuggyQSA.push(",.*:"); - }); + el.querySelectorAll( "*,:x" ); + rbuggyQSA.push( ",.*:" ); + } ); } - if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches || docElem.webkitMatchesSelector || docElem.mozMatchesSelector || docElem.oMatchesSelector || - docElem.msMatchesSelector) )) ) { + docElem.msMatchesSelector ) ) ) ) { + + assert( function( el ) { - assert(function( el ) { // Check to see if it's possible to do matchesSelector // on a disconnected node (IE 9) support.disconnectedMatch = matches.call( el, "*" ); @@ -1353,11 +1433,11 @@ setDocument = Sizzle.setDocument = function( node ) { // Gecko does not error, returns false instead matches.call( el, "[s!='']:x" ); rbuggyMatches.push( "!=", pseudos ); - }); + } ); } - rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); - rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) ); /* Contains ---------------------------------------------------------------------- */ @@ -1374,11 +1454,11 @@ setDocument = Sizzle.setDocument = function( node ) { adown.contains ? adown.contains( bup ) : a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 - )); + ) ); } : function( a, b ) { if ( b ) { - while ( (b = b.parentNode) ) { + while ( ( b = b.parentNode ) ) { if ( b === a ) { return true; } @@ -1407,7 +1487,11 @@ setDocument = Sizzle.setDocument = function( node ) { } // Calculate position if both inputs belong to the same document - compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? a.compareDocumentPosition( b ) : // Otherwise we know they are disconnected @@ -1415,13 +1499,24 @@ setDocument = Sizzle.setDocument = function( node ) { // Disconnected nodes if ( compare & 1 || - (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { // Choose the first element that is related to our preferred document - if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( a == document || a.ownerDocument == preferredDoc && + contains( preferredDoc, a ) ) { return -1; } - if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( b == document || b.ownerDocument == preferredDoc && + contains( preferredDoc, b ) ) { return 1; } @@ -1434,6 +1529,7 @@ setDocument = Sizzle.setDocument = function( node ) { return compare & 4 ? -1 : 1; } : function( a, b ) { + // Exit early if the nodes are identical if ( a === b ) { hasDuplicate = true; @@ -1449,8 +1545,14 @@ setDocument = Sizzle.setDocument = function( node ) { // Parentless nodes are either documents or disconnected if ( !aup || !bup ) { - return a === document ? -1 : - b === document ? 1 : + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + return a == document ? -1 : + b == document ? 1 : + /* eslint-enable eqeqeq */ aup ? -1 : bup ? 1 : sortInput ? @@ -1464,26 +1566,32 @@ setDocument = Sizzle.setDocument = function( node ) { // Otherwise we need full lists of their ancestors for comparison cur = a; - while ( (cur = cur.parentNode) ) { + while ( ( cur = cur.parentNode ) ) { ap.unshift( cur ); } cur = b; - while ( (cur = cur.parentNode) ) { + while ( ( cur = cur.parentNode ) ) { bp.unshift( cur ); } // Walk down the tree looking for a discrepancy - while ( ap[i] === bp[i] ) { + while ( ap[ i ] === bp[ i ] ) { i++; } return i ? + // Do a sibling check if the nodes have a common ancestor - siblingCheck( ap[i], bp[i] ) : + siblingCheck( ap[ i ], bp[ i ] ) : // Otherwise nodes in our document sort first - ap[i] === preferredDoc ? -1 : - bp[i] === preferredDoc ? 1 : + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + ap[ i ] == preferredDoc ? -1 : + bp[ i ] == preferredDoc ? 1 : + /* eslint-enable eqeqeq */ 0; }; @@ -1495,10 +1603,7 @@ Sizzle.matches = function( expr, elements ) { }; Sizzle.matchesSelector = function( elem, expr ) { - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } + setDocument( elem ); if ( support.matchesSelector && documentIsHTML && !nonnativeSelectorCache[ expr + " " ] && @@ -1510,12 +1615,13 @@ Sizzle.matchesSelector = function( elem, expr ) { // IE 9's matchesSelector returns false on disconnected nodes if ( ret || support.disconnectedMatch || - // As well, disconnected nodes are said to be in a document - // fragment in IE 9 - elem.document && elem.document.nodeType !== 11 ) { + + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { return ret; } - } catch (e) { + } catch ( e ) { nonnativeSelectorCache( expr, true ); } } @@ -1524,20 +1630,31 @@ Sizzle.matchesSelector = function( elem, expr ) { }; Sizzle.contains = function( context, elem ) { + // Set document vars if needed - if ( ( context.ownerDocument || context ) !== document ) { + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( context.ownerDocument || context ) != document ) { setDocument( context ); } return contains( context, elem ); }; Sizzle.attr = function( elem, name ) { + // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( elem.ownerDocument || elem ) != document ) { setDocument( elem ); } var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? fn( elem, name, !documentIsHTML ) : @@ -1547,13 +1664,13 @@ Sizzle.attr = function( elem, name ) { val : support.attributes || !documentIsHTML ? elem.getAttribute( name ) : - (val = elem.getAttributeNode(name)) && val.specified ? + ( val = elem.getAttributeNode( name ) ) && val.specified ? val.value : null; }; Sizzle.escape = function( sel ) { - return (sel + "").replace( rcssescape, fcssescape ); + return ( sel + "" ).replace( rcssescape, fcssescape ); }; Sizzle.error = function( msg ) { @@ -1576,7 +1693,7 @@ Sizzle.uniqueSort = function( results ) { results.sort( sortOrder ); if ( hasDuplicate ) { - while ( (elem = results[i++]) ) { + while ( ( elem = results[ i++ ] ) ) { if ( elem === results[ i ] ) { j = duplicates.push( i ); } @@ -1604,17 +1721,21 @@ getText = Sizzle.getText = function( elem ) { nodeType = elem.nodeType; if ( !nodeType ) { + // If no nodeType, this is expected to be an array - while ( (node = elem[i++]) ) { + while ( ( node = elem[ i++ ] ) ) { + // Do not traverse comment nodes ret += getText( node ); } } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements // innerText usage removed for consistency of new lines (jQuery #11153) if ( typeof elem.textContent === "string" ) { return elem.textContent; } else { + // Traverse its children for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { ret += getText( elem ); @@ -1623,6 +1744,7 @@ getText = Sizzle.getText = function( elem ) { } else if ( nodeType === 3 || nodeType === 4 ) { return elem.nodeValue; } + // Do not include comment or processing instruction nodes return ret; @@ -1650,19 +1772,21 @@ Expr = Sizzle.selectors = { preFilter: { "ATTR": function( match ) { - match[1] = match[1].replace( runescape, funescape ); + match[ 1 ] = match[ 1 ].replace( runescape, funescape ); // Move the given value to match[3] whether quoted or unquoted - match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + match[ 3 ] = ( match[ 3 ] || match[ 4 ] || + match[ 5 ] || "" ).replace( runescape, funescape ); - if ( match[2] === "~=" ) { - match[3] = " " + match[3] + " "; + if ( match[ 2 ] === "~=" ) { + match[ 3 ] = " " + match[ 3 ] + " "; } return match.slice( 0, 4 ); }, "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] 1 type (only|nth|...) 2 what (child|of-type) @@ -1673,22 +1797,25 @@ Expr = Sizzle.selectors = { 7 sign of y-component 8 y of y-component */ - match[1] = match[1].toLowerCase(); + match[ 1 ] = match[ 1 ].toLowerCase(); + + if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { - if ( match[1].slice( 0, 3 ) === "nth" ) { // nth-* requires argument - if ( !match[3] ) { - Sizzle.error( match[0] ); + if ( !match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); } // numeric x and y parameters for Expr.filter.CHILD // remember that false/true cast respectively to 0/1 - match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); - match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + match[ 4 ] = +( match[ 4 ] ? + match[ 5 ] + ( match[ 6 ] || 1 ) : + 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); + match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); - // other types prohibit arguments - } else if ( match[3] ) { - Sizzle.error( match[0] ); + // other types prohibit arguments + } else if ( match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); } return match; @@ -1696,26 +1823,28 @@ Expr = Sizzle.selectors = { "PSEUDO": function( match ) { var excess, - unquoted = !match[6] && match[2]; + unquoted = !match[ 6 ] && match[ 2 ]; - if ( matchExpr["CHILD"].test( match[0] ) ) { + if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) { return null; } // Accept quoted arguments as-is - if ( match[3] ) { - match[2] = match[4] || match[5] || ""; + if ( match[ 3 ] ) { + match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; // Strip excess characters from unquoted arguments } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) - (excess = tokenize( unquoted, true )) && + ( excess = tokenize( unquoted, true ) ) && + // advance to the next closing parenthesis - (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { // excess is a negative index - match[0] = match[0].slice( 0, excess ); - match[2] = unquoted.slice( 0, excess ); + match[ 0 ] = match[ 0 ].slice( 0, excess ); + match[ 2 ] = unquoted.slice( 0, excess ); } // Return only captures needed by the pseudo filter method (type and argument) @@ -1728,7 +1857,9 @@ Expr = Sizzle.selectors = { "TAG": function( nodeNameSelector ) { var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); return nodeNameSelector === "*" ? - function() { return true; } : + function() { + return true; + } : function( elem ) { return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; }; @@ -1738,10 +1869,16 @@ Expr = Sizzle.selectors = { var pattern = classCache[ className + " " ]; return pattern || - (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && - classCache( className, function( elem ) { - return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); - }); + ( pattern = new RegExp( "(^|" + whitespace + + ")" + className + "(" + whitespace + "|$)" ) ) && classCache( + className, function( elem ) { + return pattern.test( + typeof elem.className === "string" && elem.className || + typeof elem.getAttribute !== "undefined" && + elem.getAttribute( "class" ) || + "" + ); + } ); }, "ATTR": function( name, operator, check ) { @@ -1757,6 +1894,8 @@ Expr = Sizzle.selectors = { result += ""; + /* eslint-disable max-len */ + return operator === "=" ? result === check : operator === "!=" ? result !== check : operator === "^=" ? check && result.indexOf( check ) === 0 : @@ -1765,10 +1904,12 @@ Expr = Sizzle.selectors = { operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : false; + /* eslint-enable max-len */ + }; }, - "CHILD": function( type, what, argument, first, last ) { + "CHILD": function( type, what, _argument, first, last ) { var simple = type.slice( 0, 3 ) !== "nth", forward = type.slice( -4 ) !== "last", ofType = what === "of-type"; @@ -1780,7 +1921,7 @@ Expr = Sizzle.selectors = { return !!elem.parentNode; } : - function( elem, context, xml ) { + function( elem, _context, xml ) { var cache, uniqueCache, outerCache, node, nodeIndex, start, dir = simple !== forward ? "nextSibling" : "previousSibling", parent = elem.parentNode, @@ -1794,7 +1935,7 @@ Expr = Sizzle.selectors = { if ( simple ) { while ( dir ) { node = elem; - while ( (node = node[ dir ]) ) { + while ( ( node = node[ dir ] ) ) { if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { @@ -1802,6 +1943,7 @@ Expr = Sizzle.selectors = { return false; } } + // Reverse direction for :only-* (if we haven't yet done so) start = dir = type === "only" && !start && "nextSibling"; } @@ -1817,22 +1959,22 @@ Expr = Sizzle.selectors = { // ...in a gzip-friendly way node = parent; - outerCache = node[ expando ] || (node[ expando ] = {}); + outerCache = node[ expando ] || ( node[ expando ] = {} ); // Support: IE <9 only // Defend against cloned attroperties (jQuery gh-1709) uniqueCache = outerCache[ node.uniqueID ] || - (outerCache[ node.uniqueID ] = {}); + ( outerCache[ node.uniqueID ] = {} ); cache = uniqueCache[ type ] || []; nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; diff = nodeIndex && cache[ 2 ]; node = nodeIndex && parent.childNodes[ nodeIndex ]; - while ( (node = ++nodeIndex && node && node[ dir ] || + while ( ( node = ++nodeIndex && node && node[ dir ] || // Fallback to seeking `elem` from the start - (diff = nodeIndex = 0) || start.pop()) ) { + ( diff = nodeIndex = 0 ) || start.pop() ) ) { // When found, cache indexes on `parent` and break if ( node.nodeType === 1 && ++diff && node === elem ) { @@ -1842,16 +1984,18 @@ Expr = Sizzle.selectors = { } } else { + // Use previously-cached element index if available if ( useCache ) { + // ...in a gzip-friendly way node = elem; - outerCache = node[ expando ] || (node[ expando ] = {}); + outerCache = node[ expando ] || ( node[ expando ] = {} ); // Support: IE <9 only // Defend against cloned attroperties (jQuery gh-1709) uniqueCache = outerCache[ node.uniqueID ] || - (outerCache[ node.uniqueID ] = {}); + ( outerCache[ node.uniqueID ] = {} ); cache = uniqueCache[ type ] || []; nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; @@ -1861,9 +2005,10 @@ Expr = Sizzle.selectors = { // xml :nth-child(...) // or :nth-last-child(...) or :nth(-last)?-of-type(...) if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start - while ( (node = ++nodeIndex && node && node[ dir ] || - (diff = nodeIndex = 0) || start.pop()) ) { + while ( ( node = ++nodeIndex && node && node[ dir ] || + ( diff = nodeIndex = 0 ) || start.pop() ) ) { if ( ( ofType ? node.nodeName.toLowerCase() === name : @@ -1872,12 +2017,13 @@ Expr = Sizzle.selectors = { // Cache the index of each encountered element if ( useCache ) { - outerCache = node[ expando ] || (node[ expando ] = {}); + outerCache = node[ expando ] || + ( node[ expando ] = {} ); // Support: IE <9 only // Defend against cloned attroperties (jQuery gh-1709) uniqueCache = outerCache[ node.uniqueID ] || - (outerCache[ node.uniqueID ] = {}); + ( outerCache[ node.uniqueID ] = {} ); uniqueCache[ type ] = [ dirruns, diff ]; } @@ -1898,6 +2044,7 @@ Expr = Sizzle.selectors = { }, "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive // http://www.w3.org/TR/selectors/#pseudo-classes // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters @@ -1917,15 +2064,15 @@ Expr = Sizzle.selectors = { if ( fn.length > 1 ) { args = [ pseudo, pseudo, "", argument ]; return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? - markFunction(function( seed, matches ) { + markFunction( function( seed, matches ) { var idx, matched = fn( seed, argument ), i = matched.length; while ( i-- ) { - idx = indexOf( seed, matched[i] ); - seed[ idx ] = !( matches[ idx ] = matched[i] ); + idx = indexOf( seed, matched[ i ] ); + seed[ idx ] = !( matches[ idx ] = matched[ i ] ); } - }) : + } ) : function( elem ) { return fn( elem, 0, args ); }; @@ -1936,8 +2083,10 @@ Expr = Sizzle.selectors = { }, pseudos: { + // Potentially complex pseudos - "not": markFunction(function( selector ) { + "not": markFunction( function( selector ) { + // Trim the selector passed to compile // to avoid treating leading and trailing // spaces as combinators @@ -1946,39 +2095,40 @@ Expr = Sizzle.selectors = { matcher = compile( selector.replace( rtrim, "$1" ) ); return matcher[ expando ] ? - markFunction(function( seed, matches, context, xml ) { + markFunction( function( seed, matches, _context, xml ) { var elem, unmatched = matcher( seed, null, xml, [] ), i = seed.length; // Match elements unmatched by `matcher` while ( i-- ) { - if ( (elem = unmatched[i]) ) { - seed[i] = !(matches[i] = elem); + if ( ( elem = unmatched[ i ] ) ) { + seed[ i ] = !( matches[ i ] = elem ); } } - }) : - function( elem, context, xml ) { - input[0] = elem; + } ) : + function( elem, _context, xml ) { + input[ 0 ] = elem; matcher( input, null, xml, results ); + // Don't keep the element (issue #299) - input[0] = null; + input[ 0 ] = null; return !results.pop(); }; - }), + } ), - "has": markFunction(function( selector ) { + "has": markFunction( function( selector ) { return function( elem ) { return Sizzle( selector, elem ).length > 0; }; - }), + } ), - "contains": markFunction(function( text ) { + "contains": markFunction( function( text ) { text = text.replace( runescape, funescape ); return function( elem ) { return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; }; - }), + } ), // "Whether an element is represented by a :lang() selector // is based solely on the element's language value @@ -1988,25 +2138,26 @@ Expr = Sizzle.selectors = { // The identifier C does not have to be a valid language name." // http://www.w3.org/TR/selectors/#lang-pseudo "lang": markFunction( function( lang ) { + // lang value must be a valid identifier - if ( !ridentifier.test(lang || "") ) { + if ( !ridentifier.test( lang || "" ) ) { Sizzle.error( "unsupported lang: " + lang ); } lang = lang.replace( runescape, funescape ).toLowerCase(); return function( elem ) { var elemLang; do { - if ( (elemLang = documentIsHTML ? + if ( ( elemLang = documentIsHTML ? elem.lang : - elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { elemLang = elemLang.toLowerCase(); return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; } - } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); return false; }; - }), + } ), // Miscellaneous "target": function( elem ) { @@ -2019,7 +2170,9 @@ Expr = Sizzle.selectors = { }, "focus": function( elem ) { - return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + return elem === document.activeElement && + ( !document.hasFocus || document.hasFocus() ) && + !!( elem.type || elem.href || ~elem.tabIndex ); }, // Boolean properties @@ -2027,16 +2180,20 @@ Expr = Sizzle.selectors = { "disabled": createDisabledPseudo( true ), "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked var nodeName = elem.nodeName.toLowerCase(); - return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + return ( nodeName === "input" && !!elem.checked ) || + ( nodeName === "option" && !!elem.selected ); }, "selected": function( elem ) { + // Accessing this property makes selected-by-default // options in Safari work properly if ( elem.parentNode ) { + // eslint-disable-next-line no-unused-expressions elem.parentNode.selectedIndex; } @@ -2045,6 +2202,7 @@ Expr = Sizzle.selectors = { // Contents "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), // but not by others (comment: 8; processing instruction: 7; etc.) @@ -2058,7 +2216,7 @@ Expr = Sizzle.selectors = { }, "parent": function( elem ) { - return !Expr.pseudos["empty"]( elem ); + return !Expr.pseudos[ "empty" ]( elem ); }, // Element/input types @@ -2082,39 +2240,40 @@ Expr = Sizzle.selectors = { // Support: IE<8 // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" - ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + ( ( attr = elem.getAttribute( "type" ) ) == null || + attr.toLowerCase() === "text" ); }, // Position-in-collection - "first": createPositionalPseudo(function() { + "first": createPositionalPseudo( function() { return [ 0 ]; - }), + } ), - "last": createPositionalPseudo(function( matchIndexes, length ) { + "last": createPositionalPseudo( function( _matchIndexes, length ) { return [ length - 1 ]; - }), + } ), - "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) { return [ argument < 0 ? argument + length : argument ]; - }), + } ), - "even": createPositionalPseudo(function( matchIndexes, length ) { + "even": createPositionalPseudo( function( matchIndexes, length ) { var i = 0; for ( ; i < length; i += 2 ) { matchIndexes.push( i ); } return matchIndexes; - }), + } ), - "odd": createPositionalPseudo(function( matchIndexes, length ) { + "odd": createPositionalPseudo( function( matchIndexes, length ) { var i = 1; for ( ; i < length; i += 2 ) { matchIndexes.push( i ); } return matchIndexes; - }), + } ), - "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + "lt": createPositionalPseudo( function( matchIndexes, length, argument ) { var i = argument < 0 ? argument + length : argument > length ? @@ -2124,19 +2283,19 @@ Expr = Sizzle.selectors = { matchIndexes.push( i ); } return matchIndexes; - }), + } ), - "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + "gt": createPositionalPseudo( function( matchIndexes, length, argument ) { var i = argument < 0 ? argument + length : argument; for ( ; ++i < length; ) { matchIndexes.push( i ); } return matchIndexes; - }) + } ) } }; -Expr.pseudos["nth"] = Expr.pseudos["eq"]; +Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ]; // Add button/input type pseudos for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { @@ -2167,37 +2326,39 @@ tokenize = Sizzle.tokenize = function( selector, parseOnly ) { while ( soFar ) { // Comma and first run - if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( !matched || ( match = rcomma.exec( soFar ) ) ) { if ( match ) { + // Don't consume trailing commas as valid - soFar = soFar.slice( match[0].length ) || soFar; + soFar = soFar.slice( match[ 0 ].length ) || soFar; } - groups.push( (tokens = []) ); + groups.push( ( tokens = [] ) ); } matched = false; // Combinators - if ( (match = rcombinators.exec( soFar )) ) { + if ( ( match = rcombinators.exec( soFar ) ) ) { matched = match.shift(); - tokens.push({ + tokens.push( { value: matched, + // Cast descendant combinators to space - type: match[0].replace( rtrim, " " ) - }); + type: match[ 0 ].replace( rtrim, " " ) + } ); soFar = soFar.slice( matched.length ); } // Filters for ( type in Expr.filter ) { - if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || - (match = preFilters[ type ]( match ))) ) { + if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || + ( match = preFilters[ type ]( match ) ) ) ) { matched = match.shift(); - tokens.push({ + tokens.push( { value: matched, type: type, matches: match - }); + } ); soFar = soFar.slice( matched.length ); } } @@ -2214,6 +2375,7 @@ tokenize = Sizzle.tokenize = function( selector, parseOnly ) { soFar.length : soFar ? Sizzle.error( selector ) : + // Cache the tokens tokenCache( selector, groups ).slice( 0 ); }; @@ -2223,7 +2385,7 @@ function toSelector( tokens ) { len = tokens.length, selector = ""; for ( ; i < len; i++ ) { - selector += tokens[i].value; + selector += tokens[ i ].value; } return selector; } @@ -2236,9 +2398,10 @@ function addCombinator( matcher, combinator, base ) { doneName = done++; return combinator.first ? + // Check against closest ancestor/preceding element function( elem, context, xml ) { - while ( (elem = elem[ dir ]) ) { + while ( ( elem = elem[ dir ] ) ) { if ( elem.nodeType === 1 || checkNonElements ) { return matcher( elem, context, xml ); } @@ -2253,7 +2416,7 @@ function addCombinator( matcher, combinator, base ) { // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching if ( xml ) { - while ( (elem = elem[ dir ]) ) { + while ( ( elem = elem[ dir ] ) ) { if ( elem.nodeType === 1 || checkNonElements ) { if ( matcher( elem, context, xml ) ) { return true; @@ -2261,27 +2424,29 @@ function addCombinator( matcher, combinator, base ) { } } } else { - while ( (elem = elem[ dir ]) ) { + while ( ( elem = elem[ dir ] ) ) { if ( elem.nodeType === 1 || checkNonElements ) { - outerCache = elem[ expando ] || (elem[ expando ] = {}); + outerCache = elem[ expando ] || ( elem[ expando ] = {} ); // Support: IE <9 only // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + uniqueCache = outerCache[ elem.uniqueID ] || + ( outerCache[ elem.uniqueID ] = {} ); if ( skip && skip === elem.nodeName.toLowerCase() ) { elem = elem[ dir ] || elem; - } else if ( (oldCache = uniqueCache[ key ]) && + } else if ( ( oldCache = uniqueCache[ key ] ) && oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { // Assign to newCache so results back-propagate to previous elements - return (newCache[ 2 ] = oldCache[ 2 ]); + return ( newCache[ 2 ] = oldCache[ 2 ] ); } else { + // Reuse newcache so results back-propagate to previous elements uniqueCache[ key ] = newCache; // A match means we're done; a fail means we have to keep checking - if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { return true; } } @@ -2297,20 +2462,20 @@ function elementMatcher( matchers ) { function( elem, context, xml ) { var i = matchers.length; while ( i-- ) { - if ( !matchers[i]( elem, context, xml ) ) { + if ( !matchers[ i ]( elem, context, xml ) ) { return false; } } return true; } : - matchers[0]; + matchers[ 0 ]; } function multipleContexts( selector, contexts, results ) { var i = 0, len = contexts.length; for ( ; i < len; i++ ) { - Sizzle( selector, contexts[i], results ); + Sizzle( selector, contexts[ i ], results ); } return results; } @@ -2323,7 +2488,7 @@ function condense( unmatched, map, filter, context, xml ) { mapped = map != null; for ( ; i < len; i++ ) { - if ( (elem = unmatched[i]) ) { + if ( ( elem = unmatched[ i ] ) ) { if ( !filter || filter( elem, context, xml ) ) { newUnmatched.push( elem ); if ( mapped ) { @@ -2343,14 +2508,18 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS if ( postFinder && !postFinder[ expando ] ) { postFinder = setMatcher( postFinder, postSelector ); } - return markFunction(function( seed, results, context, xml ) { + return markFunction( function( seed, results, context, xml ) { var temp, i, elem, preMap = [], postMap = [], preexisting = results.length, // Get initial elements from seed or context - elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + elems = seed || multipleContexts( + selector || "*", + context.nodeType ? [ context ] : context, + [] + ), // Prefilter to get matcher input, preserving a map for seed-results synchronization matcherIn = preFilter && ( seed || !selector ) ? @@ -2358,6 +2527,7 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS elems, matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, postFinder || ( seed ? preFilter : preexisting || postFilter ) ? @@ -2381,8 +2551,8 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS // Un-match failing elements by moving them back to matcherIn i = temp.length; while ( i-- ) { - if ( (elem = temp[i]) ) { - matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + if ( ( elem = temp[ i ] ) ) { + matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); } } } @@ -2390,25 +2560,27 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS if ( seed ) { if ( postFinder || preFilter ) { if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts temp = []; i = matcherOut.length; while ( i-- ) { - if ( (elem = matcherOut[i]) ) { + if ( ( elem = matcherOut[ i ] ) ) { + // Restore matcherIn since elem is not yet a final match - temp.push( (matcherIn[i] = elem) ); + temp.push( ( matcherIn[ i ] = elem ) ); } } - postFinder( null, (matcherOut = []), temp, xml ); + postFinder( null, ( matcherOut = [] ), temp, xml ); } // Move matched elements from seed to results to keep them synchronized i = matcherOut.length; while ( i-- ) { - if ( (elem = matcherOut[i]) && - (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + if ( ( elem = matcherOut[ i ] ) && + ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) { - seed[temp] = !(results[temp] = elem); + seed[ temp ] = !( results[ temp ] = elem ); } } } @@ -2426,14 +2598,14 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS push.apply( results, matcherOut ); } } - }); + } ); } function matcherFromTokens( tokens ) { var checkContext, matcher, j, len = tokens.length, - leadingRelative = Expr.relative[ tokens[0].type ], - implicitRelative = leadingRelative || Expr.relative[" "], + leadingRelative = Expr.relative[ tokens[ 0 ].type ], + implicitRelative = leadingRelative || Expr.relative[ " " ], i = leadingRelative ? 1 : 0, // The foundational matcher ensures that elements are reachable from top-level context(s) @@ -2445,38 +2617,43 @@ function matcherFromTokens( tokens ) { }, implicitRelative, true ), matchers = [ function( elem, context, xml ) { var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( - (checkContext = context).nodeType ? + ( checkContext = context ).nodeType ? matchContext( elem, context, xml ) : matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) checkContext = null; return ret; } ]; for ( ; i < len; i++ ) { - if ( (matcher = Expr.relative[ tokens[i].type ]) ) { - matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { + matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; } else { - matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); // Return special upon seeing a positional matcher if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling j = ++i; for ( ; j < len; j++ ) { - if ( Expr.relative[ tokens[j].type ] ) { + if ( Expr.relative[ tokens[ j ].type ] ) { break; } } return setMatcher( i > 1 && elementMatcher( matchers ), i > 1 && toSelector( - // If the preceding token was a descendant combinator, insert an implicit any-element `*` - tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens + .slice( 0, i - 1 ) + .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) ).replace( rtrim, "$1" ), matcher, i < j && matcherFromTokens( tokens.slice( i, j ) ), - j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), j < len && toSelector( tokens ) ); } @@ -2497,28 +2674,40 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) { unmatched = seed && [], setMatched = [], contextBackup = outermostContext, + // We must always have either seed elements or outermost context - elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher - dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), len = elems.length; if ( outermost ) { - outermostContext = context === document || context || outermost; + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + outermostContext = context == document || context || outermost; } // Add elements passing elementMatchers directly to results // Support: IE<9, Safari // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id - for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { if ( byElement && elem ) { j = 0; - if ( !context && elem.ownerDocument !== document ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( !context && elem.ownerDocument != document ) { setDocument( elem ); xml = !documentIsHTML; } - while ( (matcher = elementMatchers[j++]) ) { - if ( matcher( elem, context || document, xml) ) { + while ( ( matcher = elementMatchers[ j++ ] ) ) { + if ( matcher( elem, context || document, xml ) ) { results.push( elem ); break; } @@ -2530,8 +2719,9 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) { // Track unmatched elements for set filters if ( bySet ) { + // They will have gone through all possible matchers - if ( (elem = !matcher && elem) ) { + if ( ( elem = !matcher && elem ) ) { matchedCount--; } @@ -2555,16 +2745,17 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) { // numerically zero. if ( bySet && i !== matchedCount ) { j = 0; - while ( (matcher = setMatchers[j++]) ) { + while ( ( matcher = setMatchers[ j++ ] ) ) { matcher( unmatched, setMatched, context, xml ); } if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting if ( matchedCount > 0 ) { while ( i-- ) { - if ( !(unmatched[i] || setMatched[i]) ) { - setMatched[i] = pop.call( results ); + if ( !( unmatched[ i ] || setMatched[ i ] ) ) { + setMatched[ i ] = pop.call( results ); } } } @@ -2605,13 +2796,14 @@ compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { cached = compilerCache[ selector + " " ]; if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element if ( !match ) { match = tokenize( selector ); } i = match.length; while ( i-- ) { - cached = matcherFromTokens( match[i] ); + cached = matcherFromTokens( match[ i ] ); if ( cached[ expando ] ) { setMatchers.push( cached ); } else { @@ -2620,7 +2812,10 @@ compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { } // Cache the compiled function - cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + cached = compilerCache( + selector, + matcherFromGroupMatchers( elementMatchers, setMatchers ) + ); // Save selector and tokenization cached.selector = selector; @@ -2640,7 +2835,7 @@ compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { select = Sizzle.select = function( selector, context, results, seed ) { var i, tokens, token, type, find, compiled = typeof selector === "function" && selector, - match = !seed && tokenize( (selector = compiled.selector || selector) ); + match = !seed && tokenize( ( selector = compiled.selector || selector ) ); results = results || []; @@ -2649,11 +2844,12 @@ select = Sizzle.select = function( selector, context, results, seed ) { if ( match.length === 1 ) { // Reduce context if the leading compound selector is an ID - tokens = match[0] = match[0].slice( 0 ); - if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && - context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) { + tokens = match[ 0 ] = match[ 0 ].slice( 0 ); + if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { - context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + context = ( Expr.find[ "ID" ]( token.matches[ 0 ] + .replace( runescape, funescape ), context ) || [] )[ 0 ]; if ( !context ) { return results; @@ -2666,20 +2862,22 @@ select = Sizzle.select = function( selector, context, results, seed ) { } // Fetch a seed set for right-to-left matching - i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length; while ( i-- ) { - token = tokens[i]; + token = tokens[ i ]; // Abort if we hit a combinator - if ( Expr.relative[ (type = token.type) ] ) { + if ( Expr.relative[ ( type = token.type ) ] ) { break; } - if ( (find = Expr.find[ type ]) ) { + if ( ( find = Expr.find[ type ] ) ) { + // Search, expanding context for leading sibling combinators - if ( (seed = find( - token.matches[0].replace( runescape, funescape ), - rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context - )) ) { + if ( ( seed = find( + token.matches[ 0 ].replace( runescape, funescape ), + rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || + context + ) ) ) { // If seed is empty or no tokens remain, we can return early tokens.splice( i, 1 ); @@ -2710,7 +2908,7 @@ select = Sizzle.select = function( selector, context, results, seed ) { // One-time assignments // Sort stability -support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; +support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; // Support: Chrome 14-35+ // Always assume duplicates if they aren't passed to the comparison function @@ -2721,58 +2919,59 @@ setDocument(); // Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) // Detached nodes confoundingly follow *each other* -support.sortDetached = assert(function( el ) { +support.sortDetached = assert( function( el ) { + // Should return 1, but returns 4 (following) - return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; -}); + return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; +} ); // Support: IE<8 // Prevent attribute/property "interpolation" // https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx -if ( !assert(function( el ) { +if ( !assert( function( el ) { el.innerHTML = ""; - return el.firstChild.getAttribute("href") === "#" ; -}) ) { + return el.firstChild.getAttribute( "href" ) === "#"; +} ) ) { addHandle( "type|href|height|width", function( elem, name, isXML ) { if ( !isXML ) { return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); } - }); + } ); } // Support: IE<9 // Use defaultValue in place of getAttribute("value") -if ( !support.attributes || !assert(function( el ) { +if ( !support.attributes || !assert( function( el ) { el.innerHTML = ""; el.firstChild.setAttribute( "value", "" ); return el.firstChild.getAttribute( "value" ) === ""; -}) ) { - addHandle( "value", function( elem, name, isXML ) { +} ) ) { + addHandle( "value", function( elem, _name, isXML ) { if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { return elem.defaultValue; } - }); + } ); } // Support: IE<9 // Use getAttributeNode to fetch booleans when getAttribute lies -if ( !assert(function( el ) { - return el.getAttribute("disabled") == null; -}) ) { +if ( !assert( function( el ) { + return el.getAttribute( "disabled" ) == null; +} ) ) { addHandle( booleans, function( elem, name, isXML ) { var val; if ( !isXML ) { return elem[ name ] === true ? name.toLowerCase() : - (val = elem.getAttributeNode( name )) && val.specified ? + ( val = elem.getAttributeNode( name ) ) && val.specified ? val.value : - null; + null; } - }); + } ); } return Sizzle; -})( window ); +} )( window ); @@ -3141,7 +3340,7 @@ jQuery.each( { parents: function( elem ) { return dir( elem, "parentNode" ); }, - parentsUntil: function( elem, i, until ) { + parentsUntil: function( elem, _i, until ) { return dir( elem, "parentNode", until ); }, next: function( elem ) { @@ -3156,10 +3355,10 @@ jQuery.each( { prevAll: function( elem ) { return dir( elem, "previousSibling" ); }, - nextUntil: function( elem, i, until ) { + nextUntil: function( elem, _i, until ) { return dir( elem, "nextSibling", until ); }, - prevUntil: function( elem, i, until ) { + prevUntil: function( elem, _i, until ) { return dir( elem, "previousSibling", until ); }, siblings: function( elem ) { @@ -3169,7 +3368,13 @@ jQuery.each( { return siblings( elem.firstChild ); }, contents: function( elem ) { - if ( typeof elem.contentDocument !== "undefined" ) { + if ( elem.contentDocument != null && + + // Support: IE 11+ + // elements with no `data` attribute has an object + // `contentDocument` with a `null` prototype. + getProto( elem.contentDocument ) ) { + return elem.contentDocument; } @@ -3512,7 +3717,7 @@ jQuery.extend( { var fns = arguments; return jQuery.Deferred( function( newDefer ) { - jQuery.each( tuples, function( i, tuple ) { + jQuery.each( tuples, function( _i, tuple ) { // Map tuples (progress, done, fail) to arguments (done, fail, progress) var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; @@ -3965,7 +4170,7 @@ var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { // ...except when executing function values } else { bulk = fn; - fn = function( elem, key, value ) { + fn = function( elem, _key, value ) { return bulk.call( jQuery( elem ), value ); }; } @@ -4000,7 +4205,7 @@ var rmsPrefix = /^-ms-/, rdashAlpha = /-([a-z])/g; // Used by camelCase as callback to replace() -function fcamelCase( all, letter ) { +function fcamelCase( _all, letter ) { return letter.toUpperCase(); } @@ -4528,27 +4733,6 @@ var isHiddenWithinTree = function( elem, el ) { jQuery.css( elem, "display" ) === "none"; }; -var swap = function( elem, options, callback, args ) { - var ret, name, - old = {}; - - // Remember the old values, and insert the new ones - for ( name in options ) { - old[ name ] = elem.style[ name ]; - elem.style[ name ] = options[ name ]; - } - - ret = callback.apply( elem, args || [] ); - - // Revert the old values - for ( name in options ) { - elem.style[ name ] = old[ name ]; - } - - return ret; -}; - - function adjustCSS( elem, prop, valueParts, tween ) { @@ -4719,11 +4903,40 @@ var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); -// We have to close these tags to support XHTML (#13200) -var wrapMap = { +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; // Support: IE <=9 only - option: [ 1, "" ], + // IE <=9 replaces "; + support.option = !!div.lastChild; +} )(); + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { // XHTML parsers do not magically insert elements in the // same way that tag soup parsers do. So we cannot shorten @@ -4736,12 +4949,14 @@ var wrapMap = { _default: [ 0, "", "" ] }; -// Support: IE <=9 only -wrapMap.optgroup = wrapMap.option; - wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; wrapMap.th = wrapMap.td; +// Support: IE <=9 only +if ( !support.option ) { + wrapMap.optgroup = wrapMap.option = [ 1, "" ]; +} + function getAll( context, tag ) { @@ -4874,32 +5089,6 @@ function buildFragment( elems, context, scripts, selection, ignored ) { } -( function() { - var fragment = document.createDocumentFragment(), - div = fragment.appendChild( document.createElement( "div" ) ), - input = document.createElement( "input" ); - - // Support: Android 4.0 - 4.3 only - // Check state lost if the name is set (#11217) - // Support: Windows Web Apps (WWA) - // `name` and `type` must use .setAttribute for WWA (#14901) - input.setAttribute( "type", "radio" ); - input.setAttribute( "checked", "checked" ); - input.setAttribute( "name", "t" ); - - div.appendChild( input ); - - // Support: Android <=4.1 only - // Older WebKit doesn't clone checked state correctly in fragments - support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; - - // Support: IE <=11 only - // Make sure textarea (and checkbox) defaultValue is properly cloned - div.innerHTML = ""; - support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; -} )(); - - var rkeyEvent = /^key/, rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, @@ -5008,8 +5197,8 @@ jQuery.event = { special, handlers, type, namespaces, origType, elemData = dataPriv.get( elem ); - // Don't attach events to noData or text/comment nodes (but allow plain objects) - if ( !elemData ) { + // Only attach events to objects that accept data + if ( !acceptData( elem ) ) { return; } @@ -5033,7 +5222,7 @@ jQuery.event = { // Init the element's event structure and main handler, if this is the first if ( !( events = elemData.events ) ) { - events = elemData.events = {}; + events = elemData.events = Object.create( null ); } if ( !( eventHandle = elemData.handle ) ) { eventHandle = elemData.handle = function( e ) { @@ -5191,12 +5380,15 @@ jQuery.event = { dispatch: function( nativeEvent ) { - // Make a writable jQuery.Event from the native event object - var event = jQuery.event.fix( nativeEvent ); - var i, j, ret, matched, handleObj, handlerQueue, args = new Array( arguments.length ), - handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( nativeEvent ), + + handlers = ( + dataPriv.get( this, "events" ) || Object.create( null ) + )[ event.type ] || [], special = jQuery.event.special[ event.type ] || {}; // Use the fix-ed jQuery.Event rather than the (read-only) native event @@ -5771,13 +5963,6 @@ jQuery.fn.extend( { var - /* eslint-disable max-len */ - - // See https://github.com/eslint/eslint/issues/3229 - rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, - - /* eslint-enable */ - // Support: IE <=10 - 11, Edge 12 - 13 only // In IE/Edge using regex groups here causes severe slowdowns. // See https://connect.microsoft.com/IE/feedback/details/1736512/ @@ -5814,7 +5999,7 @@ function restoreScript( elem ) { } function cloneCopyEvent( src, dest ) { - var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + var i, l, type, pdataOld, udataOld, udataCur, events; if ( dest.nodeType !== 1 ) { return; @@ -5822,13 +6007,11 @@ function cloneCopyEvent( src, dest ) { // 1. Copy private data: events, handlers, etc. if ( dataPriv.hasData( src ) ) { - pdataOld = dataPriv.access( src ); - pdataCur = dataPriv.set( dest, pdataOld ); + pdataOld = dataPriv.get( src ); events = pdataOld.events; if ( events ) { - delete pdataCur.handle; - pdataCur.events = {}; + dataPriv.remove( dest, "handle events" ); for ( type in events ) { for ( i = 0, l = events[ type ].length; i < l; i++ ) { @@ -5864,7 +6047,7 @@ function fixInput( src, dest ) { function domManip( collection, args, callback, ignored ) { // Flatten any nested arrays - args = concat.apply( [], args ); + args = flat( args ); var fragment, first, scripts, hasScripts, node, doc, i = 0, @@ -5939,7 +6122,7 @@ function domManip( collection, args, callback, ignored ) { if ( jQuery._evalUrl && !node.noModule ) { jQuery._evalUrl( node.src, { nonce: node.nonce || node.getAttribute( "nonce" ) - } ); + }, doc ); } } else { DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); @@ -5976,7 +6159,7 @@ function remove( elem, selector, keepData ) { jQuery.extend( { htmlPrefilter: function( html ) { - return html.replace( rxhtmlTag, "<$1>" ); + return html; }, clone: function( elem, dataAndEvents, deepDataAndEvents ) { @@ -6238,6 +6421,27 @@ var getStyles = function( elem ) { return view.getComputedStyle( elem ); }; +var swap = function( elem, options, callback ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.call( elem ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); @@ -6295,7 +6499,7 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); } var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, - reliableMarginLeftVal, + reliableTrDimensionsVal, reliableMarginLeftVal, container = document.createElement( "div" ), div = document.createElement( "div" ); @@ -6330,6 +6534,35 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); scrollboxSize: function() { computeStyleTests(); return scrollboxSizeVal; + }, + + // Support: IE 9 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Behavior in IE 9 is more subtle than in newer versions & it passes + // some versions of this test; make sure not to make it pass there! + reliableTrDimensions: function() { + var table, tr, trChild, trStyle; + if ( reliableTrDimensionsVal == null ) { + table = document.createElement( "table" ); + tr = document.createElement( "tr" ); + trChild = document.createElement( "div" ); + + table.style.cssText = "position:absolute;left:-11111px"; + tr.style.height = "1px"; + trChild.style.height = "9px"; + + documentElement + .appendChild( table ) + .appendChild( tr ) + .appendChild( trChild ); + + trStyle = window.getComputedStyle( tr ); + reliableTrDimensionsVal = parseInt( trStyle.height ) > 3; + + documentElement.removeChild( table ); + } + return reliableTrDimensionsVal; } } ); } )(); @@ -6454,7 +6687,7 @@ var fontWeight: "400" }; -function setPositiveNumber( elem, value, subtract ) { +function setPositiveNumber( _elem, value, subtract ) { // Any relative (+/-) values have already been // normalized at this point @@ -6559,17 +6792,26 @@ function getWidthOrHeight( elem, dimension, extra ) { } - // Fall back to offsetWidth/offsetHeight when value is "auto" - // This happens for inline elements with no explicit setting (gh-3571) - // Support: Android <=4.1 - 4.3 only - // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) - // Support: IE 9-11 only - // Also use offsetWidth/offsetHeight for when box sizing is unreliable - // We use getClientRects() to check for hidden/disconnected. - // In those cases, the computed value can be trusted to be border-box + // Support: IE 9 - 11 only + // Use offsetWidth/offsetHeight for when box sizing is unreliable. + // In those cases, the computed value can be trusted to be border-box. if ( ( !support.boxSizingReliable() && isBorderBox || + + // Support: IE 10 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Interestingly, in some cases IE 9 doesn't suffer from this issue. + !support.reliableTrDimensions() && nodeName( elem, "tr" ) || + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) val === "auto" || + + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && + + // Make sure the element is visible & connected elem.getClientRects().length ) { isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; @@ -6764,7 +7006,7 @@ jQuery.extend( { } } ); -jQuery.each( [ "height", "width" ], function( i, dimension ) { +jQuery.each( [ "height", "width" ], function( _i, dimension ) { jQuery.cssHooks[ dimension ] = { get: function( elem, computed, extra ) { if ( computed ) { @@ -7537,7 +7779,7 @@ jQuery.fn.extend( { clearQueue = type; type = undefined; } - if ( clearQueue && type !== false ) { + if ( clearQueue ) { this.queue( type || "fx", [] ); } @@ -7620,7 +7862,7 @@ jQuery.fn.extend( { } } ); -jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) { +jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { var cssFn = jQuery.fn[ name ]; jQuery.fn[ name ] = function( speed, easing, callback ) { return speed == null || typeof speed === "boolean" ? @@ -7841,7 +8083,7 @@ boolHook = { } }; -jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { var getter = attrHandle[ name ] || jQuery.find.attr; attrHandle[ name ] = function( elem, name, isXML ) { @@ -8465,7 +8707,9 @@ jQuery.extend( jQuery.event, { special.bindType || type; // jQuery handler - handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + handle = ( + dataPriv.get( cur, "events" ) || Object.create( null ) + )[ event.type ] && dataPriv.get( cur, "handle" ); if ( handle ) { handle.apply( cur, data ); @@ -8576,7 +8820,10 @@ if ( !support.focusin ) { jQuery.event.special[ fix ] = { setup: function() { - var doc = this.ownerDocument || this, + + // Handle: regular nodes (via `this.ownerDocument`), window + // (via `this.document`) & document (via `this`). + var doc = this.ownerDocument || this.document || this, attaches = dataPriv.access( doc, fix ); if ( !attaches ) { @@ -8585,7 +8832,7 @@ if ( !support.focusin ) { dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); }, teardown: function() { - var doc = this.ownerDocument || this, + var doc = this.ownerDocument || this.document || this, attaches = dataPriv.access( doc, fix ) - 1; if ( !attaches ) { @@ -8601,7 +8848,7 @@ if ( !support.focusin ) { } var location = window.location; -var nonce = Date.now(); +var nonce = { guid: Date.now() }; var rquery = ( /\?/ ); @@ -8733,7 +8980,7 @@ jQuery.fn.extend( { rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && ( this.checked || !rcheckableType.test( type ) ); } ) - .map( function( i, elem ) { + .map( function( _i, elem ) { var val = jQuery( this ).val(); if ( val == null ) { @@ -9346,7 +9593,8 @@ jQuery.extend( { // Add or update anti-cache param if needed if ( s.cache === false ) { cacheURL = cacheURL.replace( rantiCache, "$1" ); - uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + + uncached; } // Put hash and anti-cache on the URL that will be requested (gh-1732) @@ -9479,6 +9727,11 @@ jQuery.extend( { response = ajaxHandleResponses( s, jqXHR, responses ); } + // Use a noop converter for missing script + if ( !isSuccess && jQuery.inArray( "script", s.dataTypes ) > -1 ) { + s.converters[ "text script" ] = function() {}; + } + // Convert no matter what (that way responseXXX fields are always set) response = ajaxConvert( s, response, jqXHR, isSuccess ); @@ -9569,7 +9822,7 @@ jQuery.extend( { } } ); -jQuery.each( [ "get", "post" ], function( i, method ) { +jQuery.each( [ "get", "post" ], function( _i, method ) { jQuery[ method ] = function( url, data, callback, type ) { // Shift arguments if data argument was omitted @@ -9590,8 +9843,17 @@ jQuery.each( [ "get", "post" ], function( i, method ) { }; } ); +jQuery.ajaxPrefilter( function( s ) { + var i; + for ( i in s.headers ) { + if ( i.toLowerCase() === "content-type" ) { + s.contentType = s.headers[ i ] || ""; + } + } +} ); -jQuery._evalUrl = function( url, options ) { + +jQuery._evalUrl = function( url, options, doc ) { return jQuery.ajax( { url: url, @@ -9609,7 +9871,7 @@ jQuery._evalUrl = function( url, options ) { "text script": function() {} }, dataFilter: function( response ) { - jQuery.globalEval( response, options ); + jQuery.globalEval( response, options, doc ); } } ); }; @@ -9931,7 +10193,7 @@ var oldCallbacks = [], jQuery.ajaxSetup( { jsonp: "callback", jsonpCallback: function() { - var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) ); + var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce.guid++ ) ); this[ callback ] = true; return callback; } @@ -10148,23 +10410,6 @@ jQuery.fn.load = function( url, params, callback ) { -// Attach a bunch of functions for handling common AJAX events -jQuery.each( [ - "ajaxStart", - "ajaxStop", - "ajaxComplete", - "ajaxError", - "ajaxSuccess", - "ajaxSend" -], function( i, type ) { - jQuery.fn[ type ] = function( fn ) { - return this.on( type, fn ); - }; -} ); - - - - jQuery.expr.pseudos.animated = function( elem ) { return jQuery.grep( jQuery.timers, function( fn ) { return elem === fn.elem; @@ -10221,6 +10466,12 @@ jQuery.offset = { options.using.call( elem, props ); } else { + if ( typeof props.top === "number" ) { + props.top += "px"; + } + if ( typeof props.left === "number" ) { + props.left += "px"; + } curElem.css( props ); } } @@ -10371,7 +10622,7 @@ jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( // Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347 // getComputedStyle returns percent when specified for top/left/bottom/right; // rather than make the css module depend on the offset module, just check for it here -jQuery.each( [ "top", "left" ], function( i, prop ) { +jQuery.each( [ "top", "left" ], function( _i, prop ) { jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, function( elem, computed ) { if ( computed ) { @@ -10434,25 +10685,19 @@ jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { } ); -jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + - "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + - "change select submit keydown keypress keyup contextmenu" ).split( " " ), - function( i, name ) { - - // Handle event binding - jQuery.fn[ name ] = function( data, fn ) { - return arguments.length > 0 ? - this.on( name, null, data, fn ) : - this.trigger( name ); +jQuery.each( [ + "ajaxStart", + "ajaxStop", + "ajaxComplete", + "ajaxError", + "ajaxSuccess", + "ajaxSend" +], function( _i, type ) { + jQuery.fn[ type ] = function( fn ) { + return this.on( type, fn ); }; } ); -jQuery.fn.extend( { - hover: function( fnOver, fnOut ) { - return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); - } -} ); - @@ -10474,9 +10719,33 @@ jQuery.fn.extend( { return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn ); + }, + + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); } } ); +jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup contextmenu" ).split( " " ), + function( _i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; + } ); + + + + +// Support: Android <=4.0 only +// Make sure we trim BOM and NBSP +var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; + // Bind a function to a context, optionally partially applying any // arguments. // jQuery.proxy is deprecated to promote standards (specifically Function#bind) @@ -10539,6 +10808,11 @@ jQuery.isNumeric = function( obj ) { !isNaN( obj - parseFloat( obj ) ); }; +jQuery.trim = function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); +}; @@ -10587,7 +10861,7 @@ jQuery.noConflict = function( deep ) { // Expose jQuery and $ identifiers, even in AMD // (#7102#comment:10, https://github.com/jquery/jquery/pull/557) // and CommonJS for browser emulators (#13566) -if ( !noGlobal ) { +if ( typeof noGlobal === "undefined" ) { window.jQuery = window.$ = jQuery; } diff --git a/src/interface/static/admin/js/vendor/jquery/jquery.min.js b/src/interface/static/admin/js/vendor/jquery/jquery.min.js old mode 100755 new mode 100644 index a1c07fd..b061403 --- a/src/interface/static/admin/js/vendor/jquery/jquery.min.js +++ b/src/interface/static/admin/js/vendor/jquery/jquery.min.js @@ -1,2 +1,2 @@ -/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 01&&(n+="a"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Моля въведете още "+t+" символ";return t>1&&(n+="a"),n},loadingMore:function(){return"Зареждат се още…"},maximumSelected:function(e){var t="Можете да направите до "+e.maximum+" ";return e.maximum>1?t+="избора":t+="избор",t},noResults:function(){return"Няма намерени съвпадения"},searching:function(){return"Търсене…"},removeAllItems:function(){return"Премахнете всички елементи"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/bg",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Моля въведете с "+t+" по-малко символ";return t>1&&(n+="a"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Моля въведете още "+t+" символ";return t>1&&(n+="a"),n},loadingMore:function(){return"Зареждат се още…"},maximumSelected:function(e){var t="Можете да направите до "+e.maximum+" ";return e.maximum>1?t+="избора":t+="избор",t},noResults:function(){return"Няма намерени съвпадения"},searching:function(){return"Търсене…"},removeAllItems:function(){return"Премахнете всички елементи"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/bn.js b/src/interface/static/admin/js/vendor/select2/i18n/bn.js old mode 100755 new mode 100644 index 25c06f1..4b0e03e --- a/src/interface/static/admin/js/vendor/select2/i18n/bn.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/bn.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/bn",[],function(){return{errorLoading:function(){return"ফলাফলগুলি লোড করা যায়নি।"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="অনুগ্রহ করে "+t+" টি অক্ষর মুছে দিন।";return t!=1&&(n="অনুগ্রহ করে "+t+" টি অক্ষর মুছে দিন।"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n=t+" টি অক্ষর অথবা অধিক অক্ষর লিখুন।";return n},loadingMore:function(){return"আরো ফলাফল লোড হচ্ছে ..."},maximumSelected:function(e){var t=e.maximum+" টি আইটেম নির্বাচন করতে পারবেন।";return e.maximum!=1&&(t=e.maximum+" টি আইটেম নির্বাচন করতে পারবেন।"),t},noResults:function(){return"কোন ফলাফল পাওয়া যায়নি।"},searching:function(){return"অনুসন্ধান করা হচ্ছে ..."}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/bn",[],function(){return{errorLoading:function(){return"ফলাফলগুলি লোড করা যায়নি।"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="অনুগ্রহ করে "+t+" টি অক্ষর মুছে দিন।";return t!=1&&(n="অনুগ্রহ করে "+t+" টি অক্ষর মুছে দিন।"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n=t+" টি অক্ষর অথবা অধিক অক্ষর লিখুন।";return n},loadingMore:function(){return"আরো ফলাফল লোড হচ্ছে ..."},maximumSelected:function(e){var t=e.maximum+" টি আইটেম নির্বাচন করতে পারবেন।";return e.maximum!=1&&(t=e.maximum+" টি আইটেম নির্বাচন করতে পারবেন।"),t},noResults:function(){return"কোন ফলাফল পাওয়া যায়নি।"},searching:function(){return"অনুসন্ধান করা হচ্ছে ..."}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/bs.js b/src/interface/static/admin/js/vendor/select2/i18n/bs.js old mode 100755 new mode 100644 index d6ce581..c9a013c --- a/src/interface/static/admin/js/vendor/select2/i18n/bs.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/bs.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/bs",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Preuzimanje nije uspijelo."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Obrišite "+n+" simbol";return r+=e(n,"","a","a"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Ukucajte bar još "+n+" simbol";return r+=e(n,"","a","a"),r},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(t){var n="Možete izabrati samo "+t.maximum+" stavk";return n+=e(t.maximum,"u","e","i"),n},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Uklonite sve stavke"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/bs",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Preuzimanje nije uspijelo."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Obrišite "+n+" simbol";return r+=e(n,"","a","a"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Ukucajte bar još "+n+" simbol";return r+=e(n,"","a","a"),r},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(t){var n="Možete izabrati samo "+t.maximum+" stavk";return n+=e(t.maximum,"u","e","i"),n},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Uklonite sve stavke"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/ca.js b/src/interface/static/admin/js/vendor/select2/i18n/ca.js old mode 100755 new mode 100644 index 35e776a..acb7af6 --- a/src/interface/static/admin/js/vendor/select2/i18n/ca.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/ca.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La càrrega ha fallat"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Si us plau, elimina "+t+" car";return t==1?n+="àcter":n+="àcters",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Si us plau, introdueix "+t+" car";return t==1?n+="àcter":n+="àcters",n},loadingMore:function(){return"Carregant més resultats…"},maximumSelected:function(e){var t="Només es pot seleccionar "+e.maximum+" element";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"},removeAllItems:function(){return"Treu tots els elements"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La càrrega ha fallat"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Si us plau, elimina "+t+" car";return t==1?n+="àcter":n+="àcters",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Si us plau, introdueix "+t+" car";return t==1?n+="àcter":n+="àcters",n},loadingMore:function(){return"Carregant més resultats…"},maximumSelected:function(e){var t="Només es pot seleccionar "+e.maximum+" element";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"},removeAllItems:function(){return"Treu tots els elements"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/cs.js b/src/interface/static/admin/js/vendor/select2/i18n/cs.js old mode 100755 new mode 100644 index aae1d03..e7cbd27 --- a/src/interface/static/admin/js/vendor/select2/i18n/cs.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/cs.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/cs",[],function(){function e(e,t){switch(e){case 2:return t?"dva":"dvě";case 3:return"tři";case 4:return"čtyři"}return""}return{errorLoading:function(){return"Výsledky nemohly být načteny."},inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"Prosím, zadejte o jeden znak méně.":n<=4?"Prosím, zadejte o "+e(n,!0)+" znaky méně.":"Prosím, zadejte o "+n+" znaků méně."},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"Prosím, zadejte ještě jeden znak.":n<=4?"Prosím, zadejte ještě další "+e(n,!0)+" znaky.":"Prosím, zadejte ještě dalších "+n+" znaků."},loadingMore:function(){return"Načítají se další výsledky…"},maximumSelected:function(t){var n=t.maximum;return n==1?"Můžete zvolit jen jednu položku.":n<=4?"Můžete zvolit maximálně "+e(n,!1)+" položky.":"Můžete zvolit maximálně "+n+" položek."},noResults:function(){return"Nenalezeny žádné položky."},searching:function(){return"Vyhledávání…"},removeAllItems:function(){return"Odstraňte všechny položky"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/cs",[],function(){function e(e,t){switch(e){case 2:return t?"dva":"dvě";case 3:return"tři";case 4:return"čtyři"}return""}return{errorLoading:function(){return"Výsledky nemohly být načteny."},inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"Prosím, zadejte o jeden znak méně.":n<=4?"Prosím, zadejte o "+e(n,!0)+" znaky méně.":"Prosím, zadejte o "+n+" znaků méně."},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"Prosím, zadejte ještě jeden znak.":n<=4?"Prosím, zadejte ještě další "+e(n,!0)+" znaky.":"Prosím, zadejte ještě dalších "+n+" znaků."},loadingMore:function(){return"Načítají se další výsledky…"},maximumSelected:function(t){var n=t.maximum;return n==1?"Můžete zvolit jen jednu položku.":n<=4?"Můžete zvolit maximálně "+e(n,!1)+" položky.":"Můžete zvolit maximálně "+n+" položek."},noResults:function(){return"Nenalezeny žádné položky."},searching:function(){return"Vyhledávání…"},removeAllItems:function(){return"Odstraňte všechny položky"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/da.js b/src/interface/static/admin/js/vendor/select2/i18n/da.js old mode 100755 new mode 100644 index 853c22a..2692bd0 --- a/src/interface/static/admin/js/vendor/select2/i18n/da.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/da.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/da",[],function(){return{errorLoading:function(){return"Resultaterne kunne ikke indlæses."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Angiv venligst "+t+" tegn mindre"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Angiv venligst "+t+" tegn mere"},loadingMore:function(){return"Indlæser flere resultater…"},maximumSelected:function(e){var t="Du kan kun vælge "+e.maximum+" emne";return e.maximum!=1&&(t+="r"),t},noResults:function(){return"Ingen resultater fundet"},searching:function(){return"Søger…"},removeAllItems:function(){return"Fjern alle elementer"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/da",[],function(){return{errorLoading:function(){return"Resultaterne kunne ikke indlæses."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Angiv venligst "+t+" tegn mindre"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Angiv venligst "+t+" tegn mere"},loadingMore:function(){return"Indlæser flere resultater…"},maximumSelected:function(e){var t="Du kan kun vælge "+e.maximum+" emne";return e.maximum!=1&&(t+="r"),t},noResults:function(){return"Ingen resultater fundet"},searching:function(){return"Søger…"},removeAllItems:function(){return"Fjern alle elementer"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/de.js b/src/interface/static/admin/js/vendor/select2/i18n/de.js old mode 100755 new mode 100644 index 381d73e..8257c6f --- a/src/interface/static/admin/js/vendor/select2/i18n/de.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/de.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/de",[],function(){return{errorLoading:function(){return"Die Ergebnisse konnten nicht geladen werden."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Bitte "+t+" Zeichen weniger eingeben"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Bitte "+t+" Zeichen mehr eingeben"},loadingMore:function(){return"Lade mehr Ergebnisse…"},maximumSelected:function(e){var t="Sie können nur "+e.maximum+" Eintr";return e.maximum===1?t+="ag":t+="äge",t+=" auswählen",t},noResults:function(){return"Keine Übereinstimmungen gefunden"},searching:function(){return"Suche…"},removeAllItems:function(){return"Entferne alle Gegenstände"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/de",[],function(){return{errorLoading:function(){return"Die Ergebnisse konnten nicht geladen werden."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Bitte "+t+" Zeichen weniger eingeben"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Bitte "+t+" Zeichen mehr eingeben"},loadingMore:function(){return"Lade mehr Ergebnisse…"},maximumSelected:function(e){var t="Sie können nur "+e.maximum+" Eintr";return e.maximum===1?t+="ag":t+="äge",t+=" auswählen",t},noResults:function(){return"Keine Übereinstimmungen gefunden"},searching:function(){return"Suche…"},removeAllItems:function(){return"Entferne alle Gegenstände"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/dsb.js b/src/interface/static/admin/js/vendor/select2/i18n/dsb.js old mode 100755 new mode 100644 index 47e8ec1..242df33 --- a/src/interface/static/admin/js/vendor/select2/i18n/dsb.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/dsb.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/dsb",[],function(){var e=["znamuško","znamušce","znamuška","znamuškow"],t=["zapisk","zapiska","zapiski","zapiskow"],n=function(t,n){if(t===1)return n[0];if(t===2)return n[1];if(t>2&&t<=4)return n[2];if(t>=5)return n[3]};return{errorLoading:function(){return"Wuslědki njejsu se dali zacytaś."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"Pšosym lašuj "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Pšosym zapódaj nanejmjenjej "+r+" "+n(r,e)},loadingMore:function(){return"Dalšne wuslědki se zacytaju…"},maximumSelected:function(e){return"Móžoš jano "+e.maximum+" "+n(e.maximum,t)+"wubraś."},noResults:function(){return"Žedne wuslědki namakane"},searching:function(){return"Pyta se…"},removeAllItems:function(){return"Remove all items"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/dsb",[],function(){var e=["znamuško","znamušce","znamuška","znamuškow"],t=["zapisk","zapiska","zapiski","zapiskow"],n=function(t,n){if(t===1)return n[0];if(t===2)return n[1];if(t>2&&t<=4)return n[2];if(t>=5)return n[3]};return{errorLoading:function(){return"Wuslědki njejsu se dali zacytaś."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"Pšosym lašuj "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Pšosym zapódaj nanejmjenjej "+r+" "+n(r,e)},loadingMore:function(){return"Dalšne wuslědki se zacytaju…"},maximumSelected:function(e){return"Móžoš jano "+e.maximum+" "+n(e.maximum,t)+"wubraś."},noResults:function(){return"Žedne wuslědki namakane"},searching:function(){return"Pyta se…"},removeAllItems:function(){return"Remove all items"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/el.js b/src/interface/static/admin/js/vendor/select2/i18n/el.js old mode 100755 new mode 100644 index 3a89712..46503bc --- a/src/interface/static/admin/js/vendor/select2/i18n/el.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/el.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/el",[],function(){return{errorLoading:function(){return"Τα αποτελέσματα δεν μπόρεσαν να φορτώσουν."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Παρακαλώ διαγράψτε "+t+" χαρακτήρ";return t==1&&(n+="α"),t!=1&&(n+="ες"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Παρακαλώ συμπληρώστε "+t+" ή περισσότερους χαρακτήρες";return n},loadingMore:function(){return"Φόρτωση περισσότερων αποτελεσμάτων…"},maximumSelected:function(e){var t="Μπορείτε να επιλέξετε μόνο "+e.maximum+" επιλογ";return e.maximum==1&&(t+="ή"),e.maximum!=1&&(t+="ές"),t},noResults:function(){return"Δεν βρέθηκαν αποτελέσματα"},searching:function(){return"Αναζήτηση…"},removeAllItems:function(){return"Καταργήστε όλα τα στοιχεία"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/el",[],function(){return{errorLoading:function(){return"Τα αποτελέσματα δεν μπόρεσαν να φορτώσουν."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Παρακαλώ διαγράψτε "+t+" χαρακτήρ";return t==1&&(n+="α"),t!=1&&(n+="ες"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Παρακαλώ συμπληρώστε "+t+" ή περισσότερους χαρακτήρες";return n},loadingMore:function(){return"Φόρτωση περισσότερων αποτελεσμάτων…"},maximumSelected:function(e){var t="Μπορείτε να επιλέξετε μόνο "+e.maximum+" επιλογ";return e.maximum==1&&(t+="ή"),e.maximum!=1&&(t+="ές"),t},noResults:function(){return"Δεν βρέθηκαν αποτελέσματα"},searching:function(){return"Αναζήτηση…"},removeAllItems:function(){return"Καταργήστε όλα τα στοιχεία"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/en.js b/src/interface/static/admin/js/vendor/select2/i18n/en.js old mode 100755 new mode 100644 index aee714b..caa668c --- a/src/interface/static/admin/js/vendor/select2/i18n/en.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/en.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Please enter "+t+" or more characters";return n},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"},removeAllItems:function(){return"Remove all items"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Please enter "+t+" or more characters";return n},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"},removeAllItems:function(){return"Remove all items"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/es.js b/src/interface/static/admin/js/vendor/select2/i18n/es.js old mode 100755 new mode 100644 index 938b857..b4d6965 --- a/src/interface/static/admin/js/vendor/select2/i18n/es.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/es.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"No se pudieron cargar los resultados"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor, elimine "+t+" car";return t==1?n+="ácter":n+="acteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Por favor, introduzca "+t+" car";return t==1?n+="ácter":n+="acteres",n},loadingMore:function(){return"Cargando más resultados…"},maximumSelected:function(e){var t="Sólo puede seleccionar "+e.maximum+" elemento";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Eliminar todos los elementos"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"No se pudieron cargar los resultados"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor, elimine "+t+" car";return t==1?n+="ácter":n+="acteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Por favor, introduzca "+t+" car";return t==1?n+="ácter":n+="acteres",n},loadingMore:function(){return"Cargando más resultados…"},maximumSelected:function(e){var t="Sólo puede seleccionar "+e.maximum+" elemento";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Eliminar todos los elementos"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/et.js b/src/interface/static/admin/js/vendor/select2/i18n/et.js old mode 100755 new mode 100644 index 49f7c54..08ef436 --- a/src/interface/static/admin/js/vendor/select2/i18n/et.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/et.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/et",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" vähem",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" rohkem",n},loadingMore:function(){return"Laen tulemusi…"},maximumSelected:function(e){var t="Saad vaid "+e.maximum+" tulemus";return e.maximum==1?t+="e":t+="t",t+=" valida",t},noResults:function(){return"Tulemused puuduvad"},searching:function(){return"Otsin…"},removeAllItems:function(){return"Eemalda kõik esemed"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/et",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" vähem",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" rohkem",n},loadingMore:function(){return"Laen tulemusi…"},maximumSelected:function(e){var t="Saad vaid "+e.maximum+" tulemus";return e.maximum==1?t+="e":t+="t",t+=" valida",t},noResults:function(){return"Tulemused puuduvad"},searching:function(){return"Otsin…"},removeAllItems:function(){return"Eemalda kõik esemed"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/eu.js b/src/interface/static/admin/js/vendor/select2/i18n/eu.js old mode 100755 new mode 100644 index e518414..56bb78b --- a/src/interface/static/admin/js/vendor/select2/i18n/eu.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/eu.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/eu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gutxiago",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gehiago",n},loadingMore:function(){return"Emaitza gehiago kargatzen…"},maximumSelected:function(e){return e.maximum===1?"Elementu bakarra hauta dezakezu":e.maximum+" elementu hauta ditzakezu soilik"},noResults:function(){return"Ez da bat datorrenik aurkitu"},searching:function(){return"Bilatzen…"},removeAllItems:function(){return"Kendu elementu guztiak"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/eu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gutxiago",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gehiago",n},loadingMore:function(){return"Emaitza gehiago kargatzen…"},maximumSelected:function(e){return e.maximum===1?"Elementu bakarra hauta dezakezu":e.maximum+" elementu hauta ditzakezu soilik"},noResults:function(){return"Ez da bat datorrenik aurkitu"},searching:function(){return"Bilatzen…"},removeAllItems:function(){return"Kendu elementu guztiak"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/fa.js b/src/interface/static/admin/js/vendor/select2/i18n/fa.js old mode 100755 new mode 100644 index 692d905..7ea1ae2 --- a/src/interface/static/admin/js/vendor/select2/i18n/fa.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/fa.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fa",[],function(){return{errorLoading:function(){return"امکان بارگذاری نتایج وجود ندارد."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="لطفاً "+t+" کاراکتر را حذف نمایید";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="لطفاً تعداد "+t+" کاراکتر یا بیشتر وارد نمایید";return n},loadingMore:function(){return"در حال بارگذاری نتایج بیشتر..."},maximumSelected:function(e){var t="شما تنها می‌توانید "+e.maximum+" آیتم را انتخاب نمایید";return t},noResults:function(){return"هیچ نتیجه‌ای یافت نشد"},searching:function(){return"در حال جستجو..."},removeAllItems:function(){return"همه موارد را حذف کنید"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fa",[],function(){return{errorLoading:function(){return"امکان بارگذاری نتایج وجود ندارد."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="لطفاً "+t+" کاراکتر را حذف نمایید";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="لطفاً تعداد "+t+" کاراکتر یا بیشتر وارد نمایید";return n},loadingMore:function(){return"در حال بارگذاری نتایج بیشتر..."},maximumSelected:function(e){var t="شما تنها می‌توانید "+e.maximum+" آیتم را انتخاب نمایید";return t},noResults:function(){return"هیچ نتیجه‌ای یافت نشد"},searching:function(){return"در حال جستجو..."},removeAllItems:function(){return"همه موارد را حذف کنید"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/fi.js b/src/interface/static/admin/js/vendor/select2/i18n/fi.js old mode 100755 new mode 100644 index 6007df7..31eeeb5 --- a/src/interface/static/admin/js/vendor/select2/i18n/fi.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/fi.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fi",[],function(){return{errorLoading:function(){return"Tuloksia ei saatu ladattua."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Ole hyvä ja anna "+t+" merkkiä vähemmän"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Ole hyvä ja anna "+t+" merkkiä lisää"},loadingMore:function(){return"Ladataan lisää tuloksia…"},maximumSelected:function(e){return"Voit valita ainoastaan "+e.maximum+" kpl"},noResults:function(){return"Ei tuloksia"},searching:function(){return"Haetaan…"},removeAllItems:function(){return"Poista kaikki kohteet"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fi",[],function(){return{errorLoading:function(){return"Tuloksia ei saatu ladattua."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Ole hyvä ja anna "+t+" merkkiä vähemmän"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Ole hyvä ja anna "+t+" merkkiä lisää"},loadingMore:function(){return"Ladataan lisää tuloksia…"},maximumSelected:function(e){return"Voit valita ainoastaan "+e.maximum+" kpl"},noResults:function(){return"Ei tuloksia"},searching:function(){return"Haetaan…"},removeAllItems:function(){return"Poista kaikki kohteet"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/fr.js b/src/interface/static/admin/js/vendor/select2/i18n/fr.js old mode 100755 new mode 100644 index b5ce48a..250a4ef --- a/src/interface/static/admin/js/vendor/select2/i18n/fr.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/fr.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fr",[],function(){return{errorLoading:function(){return"Les résultats ne peuvent pas être chargés."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Supprimez "+t+" caractère"+(t>1?"s":"")},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Saisissez au moins "+t+" caractère"+(t>1?"s":"")},loadingMore:function(){return"Chargement de résultats supplémentaires…"},maximumSelected:function(e){return"Vous pouvez seulement sélectionner "+e.maximum+" élément"+(e.maximum>1?"s":"")},noResults:function(){return"Aucun résultat trouvé"},searching:function(){return"Recherche en cours…"},removeAllItems:function(){return"Supprimer tous les articles"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fr",[],function(){return{errorLoading:function(){return"Les résultats ne peuvent pas être chargés."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Supprimez "+t+" caractère"+(t>1?"s":"")},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Saisissez au moins "+t+" caractère"+(t>1?"s":"")},loadingMore:function(){return"Chargement de résultats supplémentaires…"},maximumSelected:function(e){return"Vous pouvez seulement sélectionner "+e.maximum+" élément"+(e.maximum>1?"s":"")},noResults:function(){return"Aucun résultat trouvé"},searching:function(){return"Recherche en cours…"},removeAllItems:function(){return"Supprimer tous les articles"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/gl.js b/src/interface/static/admin/js/vendor/select2/i18n/gl.js old mode 100755 new mode 100644 index a05df40..271050f --- a/src/interface/static/admin/js/vendor/select2/i18n/gl.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/gl.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/gl",[],function(){return{errorLoading:function(){return"Non foi posíbel cargar os resultados."},inputTooLong:function(e){var t=e.input.length-e.maximum;return t===1?"Elimine un carácter":"Elimine "+t+" caracteres"},inputTooShort:function(e){var t=e.minimum-e.input.length;return t===1?"Engada un carácter":"Engada "+t+" caracteres"},loadingMore:function(){return"Cargando máis resultados…"},maximumSelected:function(e){return e.maximum===1?"Só pode seleccionar un elemento":"Só pode seleccionar "+e.maximum+" elementos"},noResults:function(){return"Non se atoparon resultados"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Elimina todos os elementos"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/gl",[],function(){return{errorLoading:function(){return"Non foi posíbel cargar os resultados."},inputTooLong:function(e){var t=e.input.length-e.maximum;return t===1?"Elimine un carácter":"Elimine "+t+" caracteres"},inputTooShort:function(e){var t=e.minimum-e.input.length;return t===1?"Engada un carácter":"Engada "+t+" caracteres"},loadingMore:function(){return"Cargando máis resultados…"},maximumSelected:function(e){return e.maximum===1?"Só pode seleccionar un elemento":"Só pode seleccionar "+e.maximum+" elementos"},noResults:function(){return"Non se atoparon resultados"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Elimina todos os elementos"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/he.js b/src/interface/static/admin/js/vendor/select2/i18n/he.js old mode 100755 new mode 100644 index b869c70..20254b5 --- a/src/interface/static/admin/js/vendor/select2/i18n/he.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/he.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/he",[],function(){return{errorLoading:function(){return"שגיאה בטעינת התוצאות"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="נא למחוק ";return t===1?n+="תו אחד":n+=t+" תווים",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="נא להכניס ";return t===1?n+="תו אחד":n+=t+" תווים",n+=" או יותר",n},loadingMore:function(){return"טוען תוצאות נוספות…"},maximumSelected:function(e){var t="באפשרותך לבחור עד ";return e.maximum===1?t+="פריט אחד":t+=e.maximum+" פריטים",t},noResults:function(){return"לא נמצאו תוצאות"},searching:function(){return"מחפש…"},removeAllItems:function(){return"הסר את כל הפריטים"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/he",[],function(){return{errorLoading:function(){return"שגיאה בטעינת התוצאות"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="נא למחוק ";return t===1?n+="תו אחד":n+=t+" תווים",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="נא להכניס ";return t===1?n+="תו אחד":n+=t+" תווים",n+=" או יותר",n},loadingMore:function(){return"טוען תוצאות נוספות…"},maximumSelected:function(e){var t="באפשרותך לבחור עד ";return e.maximum===1?t+="פריט אחד":t+=e.maximum+" פריטים",t},noResults:function(){return"לא נמצאו תוצאות"},searching:function(){return"מחפש…"},removeAllItems:function(){return"הסר את כל הפריטים"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/hi.js b/src/interface/static/admin/js/vendor/select2/i18n/hi.js old mode 100755 new mode 100644 index 56a56e4..521088f --- a/src/interface/static/admin/js/vendor/select2/i18n/hi.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/hi.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hi",[],function(){return{errorLoading:function(){return"परिणामों को लोड नहीं किया जा सका।"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" अक्षर को हटा दें";return t>1&&(n=t+" अक्षरों को हटा दें "),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="कृपया "+t+" या अधिक अक्षर दर्ज करें";return n},loadingMore:function(){return"अधिक परिणाम लोड हो रहे है..."},maximumSelected:function(e){var t="आप केवल "+e.maximum+" आइटम का चयन कर सकते हैं";return t},noResults:function(){return"कोई परिणाम नहीं मिला"},searching:function(){return"खोज रहा है..."},removeAllItems:function(){return"सभी वस्तुओं को हटा दें"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hi",[],function(){return{errorLoading:function(){return"परिणामों को लोड नहीं किया जा सका।"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" अक्षर को हटा दें";return t>1&&(n=t+" अक्षरों को हटा दें "),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="कृपया "+t+" या अधिक अक्षर दर्ज करें";return n},loadingMore:function(){return"अधिक परिणाम लोड हो रहे है..."},maximumSelected:function(e){var t="आप केवल "+e.maximum+" आइटम का चयन कर सकते हैं";return t},noResults:function(){return"कोई परिणाम नहीं मिला"},searching:function(){return"खोज रहा है..."},removeAllItems:function(){return"सभी वस्तुओं को हटा दें"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/hr.js b/src/interface/static/admin/js/vendor/select2/i18n/hr.js old mode 100755 new mode 100644 index 4fe39f7..eddd056 --- a/src/interface/static/admin/js/vendor/select2/i18n/hr.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/hr.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hr",[],function(){function e(e){var t=" "+e+" znak";return e%10<5&&e%10>0&&(e%100<5||e%100>19)?e%10>1&&(t+="a"):t+="ova",t}return{errorLoading:function(){return"Preuzimanje nije uspjelo."},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Unesite "+e(n)},inputTooShort:function(t){var n=t.minimum-t.input.length;return"Unesite još "+e(n)},loadingMore:function(){return"Učitavanje rezultata…"},maximumSelected:function(e){return"Maksimalan broj odabranih stavki je "+e.maximum},noResults:function(){return"Nema rezultata"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Ukloni sve stavke"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hr",[],function(){function e(e){var t=" "+e+" znak";return e%10<5&&e%10>0&&(e%100<5||e%100>19)?e%10>1&&(t+="a"):t+="ova",t}return{errorLoading:function(){return"Preuzimanje nije uspjelo."},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Unesite "+e(n)},inputTooShort:function(t){var n=t.minimum-t.input.length;return"Unesite još "+e(n)},loadingMore:function(){return"Učitavanje rezultata…"},maximumSelected:function(e){return"Maksimalan broj odabranih stavki je "+e.maximum},noResults:function(){return"Nema rezultata"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Ukloni sve stavke"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/hsb.js b/src/interface/static/admin/js/vendor/select2/i18n/hsb.js old mode 100755 new mode 100644 index ed83924..2542aa4 --- a/src/interface/static/admin/js/vendor/select2/i18n/hsb.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/hsb.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hsb",[],function(){var e=["znamješko","znamješce","znamješka","znamješkow"],t=["zapisk","zapiskaj","zapiski","zapiskow"],n=function(t,n){if(t===1)return n[0];if(t===2)return n[1];if(t>2&&t<=4)return n[2];if(t>=5)return n[3]};return{errorLoading:function(){return"Wuslědki njedachu so začitać."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"Prošu zhašej "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Prošu zapodaj znajmjeńša "+r+" "+n(r,e)},loadingMore:function(){return"Dalše wuslědki so začitaja…"},maximumSelected:function(e){return"Móžeš jenož "+e.maximum+" "+n(e.maximum,t)+"wubrać"},noResults:function(){return"Žane wuslědki namakane"},searching:function(){return"Pyta so…"},removeAllItems:function(){return"Remove all items"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hsb",[],function(){var e=["znamješko","znamješce","znamješka","znamješkow"],t=["zapisk","zapiskaj","zapiski","zapiskow"],n=function(t,n){if(t===1)return n[0];if(t===2)return n[1];if(t>2&&t<=4)return n[2];if(t>=5)return n[3]};return{errorLoading:function(){return"Wuslědki njedachu so začitać."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"Prošu zhašej "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Prošu zapodaj znajmjeńša "+r+" "+n(r,e)},loadingMore:function(){return"Dalše wuslědki so začitaja…"},maximumSelected:function(e){return"Móžeš jenož "+e.maximum+" "+n(e.maximum,t)+"wubrać"},noResults:function(){return"Žane wuslědki namakane"},searching:function(){return"Pyta so…"},removeAllItems:function(){return"Remove all items"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/hu.js b/src/interface/static/admin/js/vendor/select2/i18n/hu.js old mode 100755 new mode 100644 index 4ce8805..2bdbbe9 --- a/src/interface/static/admin/js/vendor/select2/i18n/hu.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/hu.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hu",[],function(){return{errorLoading:function(){return"Az eredmények betöltése nem sikerült."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Túl hosszú. "+t+" karakterrel több, mint kellene."},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Túl rövid. Még "+t+" karakter hiányzik."},loadingMore:function(){return"Töltés…"},maximumSelected:function(e){return"Csak "+e.maximum+" elemet lehet kiválasztani."},noResults:function(){return"Nincs találat."},searching:function(){return"Keresés…"},removeAllItems:function(){return"Távolítson el minden elemet"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hu",[],function(){return{errorLoading:function(){return"Az eredmények betöltése nem sikerült."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Túl hosszú. "+t+" karakterrel több, mint kellene."},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Túl rövid. Még "+t+" karakter hiányzik."},loadingMore:function(){return"Töltés…"},maximumSelected:function(e){return"Csak "+e.maximum+" elemet lehet kiválasztani."},noResults:function(){return"Nincs találat."},searching:function(){return"Keresés…"},removeAllItems:function(){return"Távolítson el minden elemet"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/hy.js b/src/interface/static/admin/js/vendor/select2/i18n/hy.js old mode 100755 new mode 100644 index bffa9c6..b9a1cae --- a/src/interface/static/admin/js/vendor/select2/i18n/hy.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/hy.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hy",[],function(){return{errorLoading:function(){return"Արդյունքները հնարավոր չէ բեռնել։"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Խնդրում ենք հեռացնել "+t+" նշան";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Խնդրում ենք մուտքագրել "+t+" կամ ավել նշաններ";return n},loadingMore:function(){return"Բեռնվում են նոր արդյունքներ․․․"},maximumSelected:function(e){var t="Դուք կարող եք ընտրել առավելագույնը "+e.maximum+" կետ";return t},noResults:function(){return"Արդյունքներ չեն գտնվել"},searching:function(){return"Որոնում․․․"},removeAllItems:function(){return"Հեռացնել բոլոր տարրերը"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hy",[],function(){return{errorLoading:function(){return"Արդյունքները հնարավոր չէ բեռնել։"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Խնդրում ենք հեռացնել "+t+" նշան";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Խնդրում ենք մուտքագրել "+t+" կամ ավել նշաններ";return n},loadingMore:function(){return"Բեռնվում են նոր արդյունքներ․․․"},maximumSelected:function(e){var t="Դուք կարող եք ընտրել առավելագույնը "+e.maximum+" կետ";return t},noResults:function(){return"Արդյունքներ չեն գտնվել"},searching:function(){return"Որոնում․․․"},removeAllItems:function(){return"Հեռացնել բոլոր տարրերը"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/id.js b/src/interface/static/admin/js/vendor/select2/i18n/id.js old mode 100755 new mode 100644 index a7c1e74..c622da9 --- a/src/interface/static/admin/js/vendor/select2/i18n/id.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/id.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Hapuskan "+t+" huruf"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Masukkan "+t+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(e){return"Anda hanya dapat memilih "+e.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"},removeAllItems:function(){return"Hapus semua item"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Hapuskan "+t+" huruf"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Masukkan "+t+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(e){return"Anda hanya dapat memilih "+e.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"},removeAllItems:function(){return"Hapus semua item"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/is.js b/src/interface/static/admin/js/vendor/select2/i18n/is.js old mode 100755 new mode 100644 index 3e835bb..c703bf4 --- a/src/interface/static/admin/js/vendor/select2/i18n/is.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/is.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/is",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vinsamlegast styttið texta um "+t+" staf";return t<=1?n:n+"i"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vinsamlegast skrifið "+t+" staf";return t>1&&(n+="i"),n+=" í viðbót",n},loadingMore:function(){return"Sæki fleiri niðurstöður…"},maximumSelected:function(e){return"Þú getur aðeins valið "+e.maximum+" atriði"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"},removeAllItems:function(){return"Fjarlægðu öll atriði"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/is",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vinsamlegast styttið texta um "+t+" staf";return t<=1?n:n+"i"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vinsamlegast skrifið "+t+" staf";return t>1&&(n+="i"),n+=" í viðbót",n},loadingMore:function(){return"Sæki fleiri niðurstöður…"},maximumSelected:function(e){return"Þú getur aðeins valið "+e.maximum+" atriði"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"},removeAllItems:function(){return"Fjarlægðu öll atriði"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/it.js b/src/interface/static/admin/js/vendor/select2/i18n/it.js old mode 100755 new mode 100644 index 1321e45..799a7c8 --- a/src/interface/static/admin/js/vendor/select2/i18n/it.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/it.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/it",[],function(){return{errorLoading:function(){return"I risultati non possono essere caricati."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Per favore cancella "+t+" caratter";return t!==1?n+="i":n+="e",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Per favore inserisci "+t+" o più caratteri";return n},loadingMore:function(){return"Caricando più risultati…"},maximumSelected:function(e){var t="Puoi selezionare solo "+e.maximum+" element";return e.maximum!==1?t+="i":t+="o",t},noResults:function(){return"Nessun risultato trovato"},searching:function(){return"Sto cercando…"},removeAllItems:function(){return"Rimuovi tutti gli oggetti"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/it",[],function(){return{errorLoading:function(){return"I risultati non possono essere caricati."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Per favore cancella "+t+" caratter";return t!==1?n+="i":n+="e",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Per favore inserisci "+t+" o più caratteri";return n},loadingMore:function(){return"Caricando più risultati…"},maximumSelected:function(e){var t="Puoi selezionare solo "+e.maximum+" element";return e.maximum!==1?t+="i":t+="o",t},noResults:function(){return"Nessun risultato trovato"},searching:function(){return"Sto cercando…"},removeAllItems:function(){return"Rimuovi tutti gli oggetti"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/ja.js b/src/interface/static/admin/js/vendor/select2/i18n/ja.js old mode 100755 new mode 100644 index 1a441ed..9a6c299 --- a/src/interface/static/admin/js/vendor/select2/i18n/ja.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/ja.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"結果が読み込まれませんでした"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" 文字を削除してください";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="少なくとも "+t+" 文字を入力してください";return n},loadingMore:function(){return"読み込み中…"},maximumSelected:function(e){var t=e.maximum+" 件しか選択できません";return t},noResults:function(){return"対象が見つかりません"},searching:function(){return"検索しています…"},removeAllItems:function(){return"すべてのアイテムを削除"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"結果が読み込まれませんでした"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" 文字を削除してください";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="少なくとも "+t+" 文字を入力してください";return n},loadingMore:function(){return"読み込み中…"},maximumSelected:function(e){var t=e.maximum+" 件しか選択できません";return t},noResults:function(){return"対象が見つかりません"},searching:function(){return"検索しています…"},removeAllItems:function(){return"すべてのアイテムを削除"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/ka.js b/src/interface/static/admin/js/vendor/select2/i18n/ka.js old mode 100755 new mode 100644 index 7b5216f..1a8bf91 --- a/src/interface/static/admin/js/vendor/select2/i18n/ka.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/ka.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ka",[],function(){return{errorLoading:function(){return"მონაცემების ჩატვირთვა შეუძლებელია."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="გთხოვთ აკრიფეთ "+t+" სიმბოლოთი ნაკლები";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="გთხოვთ აკრიფეთ "+t+" სიმბოლო ან მეტი";return n},loadingMore:function(){return"მონაცემების ჩატვირთვა…"},maximumSelected:function(e){var t="თქვენ შეგიძლიათ აირჩიოთ არაუმეტეს "+e.maximum+" ელემენტი";return t},noResults:function(){return"რეზულტატი არ მოიძებნა"},searching:function(){return"ძიება…"},removeAllItems:function(){return"ამოიღე ყველა ელემენტი"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ka",[],function(){return{errorLoading:function(){return"მონაცემების ჩატვირთვა შეუძლებელია."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="გთხოვთ აკრიფეთ "+t+" სიმბოლოთი ნაკლები";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="გთხოვთ აკრიფეთ "+t+" სიმბოლო ან მეტი";return n},loadingMore:function(){return"მონაცემების ჩატვირთვა…"},maximumSelected:function(e){var t="თქვენ შეგიძლიათ აირჩიოთ არაუმეტეს "+e.maximum+" ელემენტი";return t},noResults:function(){return"რეზულტატი არ მოიძებნა"},searching:function(){return"ძიება…"},removeAllItems:function(){return"ამოიღე ყველა ელემენტი"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/km.js b/src/interface/static/admin/js/vendor/select2/i18n/km.js old mode 100755 new mode 100644 index d13e52c..e918d4f --- a/src/interface/static/admin/js/vendor/select2/i18n/km.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/km.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/km",[],function(){return{errorLoading:function(){return"មិនអាចទាញយកទិន្នន័យ"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="សូមលុបចេញ "+t+" អក្សរ";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="សូមបញ្ចូល"+t+" អក្សរ រឺ ច្រើនជាងនេះ";return n},loadingMore:function(){return"កំពុងទាញយកទិន្នន័យបន្ថែម..."},maximumSelected:function(e){var t="អ្នកអាចជ្រើសរើសបានតែ "+e.maximum+" ជម្រើសប៉ុណ្ណោះ";return t},noResults:function(){return"មិនមានលទ្ធផល"},searching:function(){return"កំពុងស្វែងរក..."},removeAllItems:function(){return"លុបធាតុទាំងអស់"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/km",[],function(){return{errorLoading:function(){return"មិនអាចទាញយកទិន្នន័យ"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="សូមលុបចេញ "+t+" អក្សរ";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="សូមបញ្ចូល"+t+" អក្សរ រឺ ច្រើនជាងនេះ";return n},loadingMore:function(){return"កំពុងទាញយកទិន្នន័យបន្ថែម..."},maximumSelected:function(e){var t="អ្នកអាចជ្រើសរើសបានតែ "+e.maximum+" ជម្រើសប៉ុណ្ណោះ";return t},noResults:function(){return"មិនមានលទ្ធផល"},searching:function(){return"កំពុងស្វែងរក..."},removeAllItems:function(){return"លុបធាតុទាំងអស់"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/ko.js b/src/interface/static/admin/js/vendor/select2/i18n/ko.js old mode 100755 new mode 100644 index 61b568f..cc62730 --- a/src/interface/static/admin/js/vendor/select2/i18n/ko.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/ko.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="너무 깁니다. "+t+" 글자 지워주세요.";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="너무 짧습니다. "+t+" 글자 더 입력해주세요.";return n},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(e){var t="최대 "+e.maximum+"개까지만 선택 가능합니다.";return t},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"},removeAllItems:function(){return"모든 항목 삭제"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="너무 깁니다. "+t+" 글자 지워주세요.";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="너무 짧습니다. "+t+" 글자 더 입력해주세요.";return n},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(e){var t="최대 "+e.maximum+"개까지만 선택 가능합니다.";return t},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"},removeAllItems:function(){return"모든 항목 삭제"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/lt.js b/src/interface/static/admin/js/vendor/select2/i18n/lt.js old mode 100755 new mode 100644 index ba67eb6..3c3dc32 --- a/src/interface/static/admin/js/vendor/select2/i18n/lt.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/lt.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lt",[],function(){function e(e,t,n,r){return e%10===1&&(e%100<11||e%100>19)?t:e%10>=2&&e%10<=9&&(e%100<11||e%100>19)?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Pašalinkite "+n+" simbol";return r+=e(n,"į","ius","ių"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Įrašykite dar "+n+" simbol";return r+=e(n,"į","ius","ių"),r},loadingMore:function(){return"Kraunama daugiau rezultatų…"},maximumSelected:function(t){var n="Jūs galite pasirinkti tik "+t.maximum+" element";return n+=e(t.maximum,"ą","us","ų"),n},noResults:function(){return"Atitikmenų nerasta"},searching:function(){return"Ieškoma…"},removeAllItems:function(){return"Pašalinti visus elementus"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lt",[],function(){function e(e,t,n,r){return e%10===1&&(e%100<11||e%100>19)?t:e%10>=2&&e%10<=9&&(e%100<11||e%100>19)?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Pašalinkite "+n+" simbol";return r+=e(n,"į","ius","ių"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Įrašykite dar "+n+" simbol";return r+=e(n,"į","ius","ių"),r},loadingMore:function(){return"Kraunama daugiau rezultatų…"},maximumSelected:function(t){var n="Jūs galite pasirinkti tik "+t.maximum+" element";return n+=e(t.maximum,"ą","us","ų"),n},noResults:function(){return"Atitikmenų nerasta"},searching:function(){return"Ieškoma…"},removeAllItems:function(){return"Pašalinti visus elementus"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/lv.js b/src/interface/static/admin/js/vendor/select2/i18n/lv.js old mode 100755 new mode 100644 index 8e8c198..9e62a3b --- a/src/interface/static/admin/js/vendor/select2/i18n/lv.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/lv.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lv",[],function(){function e(e,t,n,r){return e===11?t:e%10===1?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Lūdzu ievadiet par "+n;return r+=" simbol"+e(n,"iem","u","iem"),r+" mazāk"},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Lūdzu ievadiet vēl "+n;return r+=" simbol"+e(n,"us","u","us"),r},loadingMore:function(){return"Datu ielāde…"},maximumSelected:function(t){var n="Jūs varat izvēlēties ne vairāk kā "+t.maximum;return n+=" element"+e(t.maximum,"us","u","us"),n},noResults:function(){return"Sakritību nav"},searching:function(){return"Meklēšana…"},removeAllItems:function(){return"Noņemt visus vienumus"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lv",[],function(){function e(e,t,n,r){return e===11?t:e%10===1?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Lūdzu ievadiet par "+n;return r+=" simbol"+e(n,"iem","u","iem"),r+" mazāk"},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Lūdzu ievadiet vēl "+n;return r+=" simbol"+e(n,"us","u","us"),r},loadingMore:function(){return"Datu ielāde…"},maximumSelected:function(t){var n="Jūs varat izvēlēties ne vairāk kā "+t.maximum;return n+=" element"+e(t.maximum,"us","u","us"),n},noResults:function(){return"Sakritību nav"},searching:function(){return"Meklēšana…"},removeAllItems:function(){return"Noņemt visus vienumus"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/mk.js b/src/interface/static/admin/js/vendor/select2/i18n/mk.js old mode 100755 new mode 100644 index b822555..6f78a6b --- a/src/interface/static/admin/js/vendor/select2/i18n/mk.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/mk.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/mk",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Ве молиме внесете "+e.maximum+" помалку карактер";return e.maximum!==1&&(n+="и"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Ве молиме внесете уште "+e.maximum+" карактер";return e.maximum!==1&&(n+="и"),n},loadingMore:function(){return"Вчитување резултати…"},maximumSelected:function(e){var t="Можете да изберете само "+e.maximum+" ставк";return e.maximum===1?t+="а":t+="и",t},noResults:function(){return"Нема пронајдено совпаѓања"},searching:function(){return"Пребарување…"},removeAllItems:function(){return"Отстрани ги сите предмети"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/mk",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Ве молиме внесете "+e.maximum+" помалку карактер";return e.maximum!==1&&(n+="и"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Ве молиме внесете уште "+e.maximum+" карактер";return e.maximum!==1&&(n+="и"),n},loadingMore:function(){return"Вчитување резултати…"},maximumSelected:function(e){var t="Можете да изберете само "+e.maximum+" ставк";return e.maximum===1?t+="а":t+="и",t},noResults:function(){return"Нема пронајдено совпаѓања"},searching:function(){return"Пребарување…"},removeAllItems:function(){return"Отстрани ги сите предмети"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/ms.js b/src/interface/static/admin/js/vendor/select2/i18n/ms.js old mode 100755 new mode 100644 index 0ce24b1..55411d4 --- a/src/interface/static/admin/js/vendor/select2/i18n/ms.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/ms.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ms",[],function(){return{errorLoading:function(){return"Keputusan tidak berjaya dimuatkan."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Sila hapuskan "+t+" aksara"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Sila masukkan "+t+" atau lebih aksara"},loadingMore:function(){return"Sedang memuatkan keputusan…"},maximumSelected:function(e){return"Anda hanya boleh memilih "+e.maximum+" pilihan"},noResults:function(){return"Tiada padanan yang ditemui"},searching:function(){return"Mencari…"},removeAllItems:function(){return"Keluarkan semua item"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ms",[],function(){return{errorLoading:function(){return"Keputusan tidak berjaya dimuatkan."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Sila hapuskan "+t+" aksara"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Sila masukkan "+t+" atau lebih aksara"},loadingMore:function(){return"Sedang memuatkan keputusan…"},maximumSelected:function(e){return"Anda hanya boleh memilih "+e.maximum+" pilihan"},noResults:function(){return"Tiada padanan yang ditemui"},searching:function(){return"Mencari…"},removeAllItems:function(){return"Keluarkan semua item"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/nb.js b/src/interface/static/admin/js/vendor/select2/i18n/nb.js old mode 100755 new mode 100644 index d03a115..4d6ffc9 --- a/src/interface/static/admin/js/vendor/select2/i18n/nb.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/nb.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Vennligst fjern "+t+" tegn"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Vennligst skriv inn "+t+" tegn til"},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"},removeAllItems:function(){return"Fjern alle elementer"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Vennligst fjern "+t+" tegn"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Vennligst skriv inn "+t+" tegn til"},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"},removeAllItems:function(){return"Fjern alle elementer"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/ne.js b/src/interface/static/admin/js/vendor/select2/i18n/ne.js old mode 100755 new mode 100644 index fc1cac0..ed48b1d --- a/src/interface/static/admin/js/vendor/select2/i18n/ne.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/ne.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ne",[],function(){return{errorLoading:function(){return"नतिजाहरु देखाउन सकिएन।"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="कृपया "+t+" अक्षर मेटाउनुहोस्।";return t!=1&&(n+="कृपया "+t+" अक्षरहरु मेटाउनुहोस्।"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="कृपया बाँकी रहेका "+t+" वा अरु धेरै अक्षरहरु भर्नुहोस्।";return n},loadingMore:function(){return"अरु नतिजाहरु भरिँदैछन् …"},maximumSelected:function(e){var t="तँपाई "+e.maximum+" वस्तु मात्र छान्न पाउँनुहुन्छ।";return e.maximum!=1&&(t="तँपाई "+e.maximum+" वस्तुहरु मात्र छान्न पाउँनुहुन्छ।"),t},noResults:function(){return"कुनै पनि नतिजा भेटिएन।"},searching:function(){return"खोजि हुँदैछ…"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ne",[],function(){return{errorLoading:function(){return"नतिजाहरु देखाउन सकिएन।"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="कृपया "+t+" अक्षर मेटाउनुहोस्।";return t!=1&&(n+="कृपया "+t+" अक्षरहरु मेटाउनुहोस्।"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="कृपया बाँकी रहेका "+t+" वा अरु धेरै अक्षरहरु भर्नुहोस्।";return n},loadingMore:function(){return"अरु नतिजाहरु भरिँदैछन् …"},maximumSelected:function(e){var t="तँपाई "+e.maximum+" वस्तु मात्र छान्न पाउँनुहुन्छ।";return e.maximum!=1&&(t="तँपाई "+e.maximum+" वस्तुहरु मात्र छान्न पाउँनुहुन्छ।"),t},noResults:function(){return"कुनै पनि नतिजा भेटिएन।"},searching:function(){return"खोजि हुँदैछ…"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/nl.js b/src/interface/static/admin/js/vendor/select2/i18n/nl.js old mode 100755 new mode 100644 index 2c766d4..00479f8 --- a/src/interface/static/admin/js/vendor/select2/i18n/nl.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/nl.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nl",[],function(){return{errorLoading:function(){return"De resultaten konden niet worden geladen."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Gelieve "+t+" karakters te verwijderen";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Gelieve "+t+" of meer karakters in te voeren";return n},loadingMore:function(){return"Meer resultaten laden…"},maximumSelected:function(e){var t=e.maximum==1?"kan":"kunnen",n="Er "+t+" maar "+e.maximum+" item";return e.maximum!=1&&(n+="s"),n+=" worden geselecteerd",n},noResults:function(){return"Geen resultaten gevonden…"},searching:function(){return"Zoeken…"},removeAllItems:function(){return"Verwijder alle items"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nl",[],function(){return{errorLoading:function(){return"De resultaten konden niet worden geladen."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Gelieve "+t+" karakters te verwijderen";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Gelieve "+t+" of meer karakters in te voeren";return n},loadingMore:function(){return"Meer resultaten laden…"},maximumSelected:function(e){var t=e.maximum==1?"kan":"kunnen",n="Er "+t+" maar "+e.maximum+" item";return e.maximum!=1&&(n+="s"),n+=" worden geselecteerd",n},noResults:function(){return"Geen resultaten gevonden…"},searching:function(){return"Zoeken…"},removeAllItems:function(){return"Verwijder alle items"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/pl.js b/src/interface/static/admin/js/vendor/select2/i18n/pl.js old mode 100755 new mode 100644 index 894e878..b611a25 --- a/src/interface/static/admin/js/vendor/select2/i18n/pl.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/pl.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pl",[],function(){var e=["znak","znaki","znaków"],t=["element","elementy","elementów"],n=function(t,n){if(t===1)return n[0];if(t>1&&t<=4)return n[1];if(t>=5)return n[2]};return{errorLoading:function(){return"Nie można załadować wyników."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"Usuń "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Podaj przynajmniej "+r+" "+n(r,e)},loadingMore:function(){return"Trwa ładowanie…"},maximumSelected:function(e){return"Możesz zaznaczyć tylko "+e.maximum+" "+n(e.maximum,t)},noResults:function(){return"Brak wyników"},searching:function(){return"Trwa wyszukiwanie…"},removeAllItems:function(){return"Usuń wszystkie przedmioty"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pl",[],function(){var e=["znak","znaki","znaków"],t=["element","elementy","elementów"],n=function(t,n){if(t===1)return n[0];if(t>1&&t<=4)return n[1];if(t>=5)return n[2]};return{errorLoading:function(){return"Nie można załadować wyników."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"Usuń "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Podaj przynajmniej "+r+" "+n(r,e)},loadingMore:function(){return"Trwa ładowanie…"},maximumSelected:function(e){return"Możesz zaznaczyć tylko "+e.maximum+" "+n(e.maximum,t)},noResults:function(){return"Brak wyników"},searching:function(){return"Trwa wyszukiwanie…"},removeAllItems:function(){return"Usuń wszystkie przedmioty"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/ps.js b/src/interface/static/admin/js/vendor/select2/i18n/ps.js old mode 100755 new mode 100644 index 423f273..3ddcd2a --- a/src/interface/static/admin/js/vendor/select2/i18n/ps.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/ps.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ps",[],function(){return{errorLoading:function(){return"پايلي نه سي ترلاسه کېدای"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="د مهربانۍ لمخي "+t+" توری ړنګ کړئ";return t!=1&&(n=n.replace("توری","توري")),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="لږ تر لږه "+t+" يا ډېر توري وليکئ";return n},loadingMore:function(){return"نوري پايلي ترلاسه کيږي..."},maximumSelected:function(e){var t="تاسو يوازي "+e.maximum+" قلم په نښه کولای سی";return e.maximum!=1&&(t=t.replace("قلم","قلمونه")),t},noResults:function(){return"پايلي و نه موندل سوې"},searching:function(){return"لټول کيږي..."},removeAllItems:function(){return"ټول توکي لرې کړئ"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ps",[],function(){return{errorLoading:function(){return"پايلي نه سي ترلاسه کېدای"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="د مهربانۍ لمخي "+t+" توری ړنګ کړئ";return t!=1&&(n=n.replace("توری","توري")),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="لږ تر لږه "+t+" يا ډېر توري وليکئ";return n},loadingMore:function(){return"نوري پايلي ترلاسه کيږي..."},maximumSelected:function(e){var t="تاسو يوازي "+e.maximum+" قلم په نښه کولای سی";return e.maximum!=1&&(t=t.replace("قلم","قلمونه")),t},noResults:function(){return"پايلي و نه موندل سوې"},searching:function(){return"لټول کيږي..."},removeAllItems:function(){return"ټول توکي لرې کړئ"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/pt-BR.js b/src/interface/static/admin/js/vendor/select2/i18n/pt-BR.js old mode 100755 new mode 100644 index 8bb6d1d..5b216a8 --- a/src/interface/static/admin/js/vendor/select2/i18n/pt-BR.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/pt-BR.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt-BR",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Apague "+t+" caracter";return t!=1&&(n+="es"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Digite "+t+" ou mais caracteres";return n},loadingMore:function(){return"Carregando mais resultados…"},maximumSelected:function(e){var t="Você só pode selecionar "+e.maximum+" ite";return e.maximum==1?t+="m":t+="ns",t},noResults:function(){return"Nenhum resultado encontrado"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Remover todos os itens"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt-BR",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Apague "+t+" caracter";return t!=1&&(n+="es"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Digite "+t+" ou mais caracteres";return n},loadingMore:function(){return"Carregando mais resultados…"},maximumSelected:function(e){var t="Você só pode selecionar "+e.maximum+" ite";return e.maximum==1?t+="m":t+="ns",t},noResults:function(){return"Nenhum resultado encontrado"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Remover todos os itens"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/pt.js b/src/interface/static/admin/js/vendor/select2/i18n/pt.js old mode 100755 new mode 100644 index 15af960..cdecbc5 --- a/src/interface/static/admin/js/vendor/select2/i18n/pt.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/pt.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor apague "+t+" ";return n+=t!=1?"caracteres":"caractere",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Introduza "+t+" ou mais caracteres";return n},loadingMore:function(){return"A carregar mais resultados…"},maximumSelected:function(e){var t="Apenas pode seleccionar "+e.maximum+" ";return t+=e.maximum!=1?"itens":"item",t},noResults:function(){return"Sem resultados"},searching:function(){return"A procurar…"},removeAllItems:function(){return"Remover todos os itens"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor apague "+t+" ";return n+=t!=1?"caracteres":"caractere",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Introduza "+t+" ou mais caracteres";return n},loadingMore:function(){return"A carregar mais resultados…"},maximumSelected:function(e){var t="Apenas pode seleccionar "+e.maximum+" ";return t+=e.maximum!=1?"itens":"item",t},noResults:function(){return"Sem resultados"},searching:function(){return"A procurar…"},removeAllItems:function(){return"Remover todos os itens"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/ro.js b/src/interface/static/admin/js/vendor/select2/i18n/ro.js old mode 100755 new mode 100644 index bdc7d2f..d8e674d --- a/src/interface/static/admin/js/vendor/select2/i18n/ro.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/ro.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ro",[],function(){return{errorLoading:function(){return"Rezultatele nu au putut fi incărcate."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vă rugăm să ștergeți"+t+" caracter";return t!==1&&(n+="e"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vă rugăm să introduceți "+t+" sau mai multe caractere";return n},loadingMore:function(){return"Se încarcă mai multe rezultate…"},maximumSelected:function(e){var t="Aveți voie să selectați cel mult "+e.maximum;return t+=" element",e.maximum!==1&&(t+="e"),t},noResults:function(){return"Nu au fost găsite rezultate"},searching:function(){return"Căutare…"},removeAllItems:function(){return"Eliminați toate elementele"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ro",[],function(){return{errorLoading:function(){return"Rezultatele nu au putut fi incărcate."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vă rugăm să ștergeți"+t+" caracter";return t!==1&&(n+="e"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vă rugăm să introduceți "+t+" sau mai multe caractere";return n},loadingMore:function(){return"Se încarcă mai multe rezultate…"},maximumSelected:function(e){var t="Aveți voie să selectați cel mult "+e.maximum;return t+=" element",e.maximum!==1&&(t+="e"),t},noResults:function(){return"Nu au fost găsite rezultate"},searching:function(){return"Căutare…"},removeAllItems:function(){return"Eliminați toate elementele"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/ru.js b/src/interface/static/admin/js/vendor/select2/i18n/ru.js old mode 100755 new mode 100644 index eb84345..abc73ff --- a/src/interface/static/admin/js/vendor/select2/i18n/ru.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/ru.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ru",[],function(){function e(e,t,n,r){return e%10<5&&e%10>0&&e%100<5||e%100>20?e%10>1?n:t:r}return{errorLoading:function(){return"Невозможно загрузить результаты"},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Пожалуйста, введите на "+n+" символ";return r+=e(n,"","a","ов"),r+=" меньше",r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Пожалуйста, введите ещё хотя бы "+n+" символ";return r+=e(n,"","a","ов"),r},loadingMore:function(){return"Загрузка данных…"},maximumSelected:function(t){var n="Вы можете выбрать не более "+t.maximum+" элемент";return n+=e(t.maximum,"","a","ов"),n},noResults:function(){return"Совпадений не найдено"},searching:function(){return"Поиск…"},removeAllItems:function(){return"Удалить все элементы"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ru",[],function(){function e(e,t,n,r){return e%10<5&&e%10>0&&e%100<5||e%100>20?e%10>1?n:t:r}return{errorLoading:function(){return"Невозможно загрузить результаты"},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Пожалуйста, введите на "+n+" символ";return r+=e(n,"","a","ов"),r+=" меньше",r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Пожалуйста, введите ещё хотя бы "+n+" символ";return r+=e(n,"","a","ов"),r},loadingMore:function(){return"Загрузка данных…"},maximumSelected:function(t){var n="Вы можете выбрать не более "+t.maximum+" элемент";return n+=e(t.maximum,"","a","ов"),n},noResults:function(){return"Совпадений не найдено"},searching:function(){return"Поиск…"},removeAllItems:function(){return"Удалить все элементы"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/sk.js b/src/interface/static/admin/js/vendor/select2/i18n/sk.js old mode 100755 new mode 100644 index ef176fd..6539dfc --- a/src/interface/static/admin/js/vendor/select2/i18n/sk.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/sk.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sk",[],function(){var e={2:function(e){return e?"dva":"dve"},3:function(){return"tri"},4:function(){return"štyri"}};return{errorLoading:function(){return"Výsledky sa nepodarilo načítať."},inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"Prosím, zadajte o jeden znak menej":n>=2&&n<=4?"Prosím, zadajte o "+e[n](!0)+" znaky menej":"Prosím, zadajte o "+n+" znakov menej"},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"Prosím, zadajte ešte jeden znak":n<=4?"Prosím, zadajte ešte ďalšie "+e[n](!0)+" znaky":"Prosím, zadajte ešte ďalších "+n+" znakov"},loadingMore:function(){return"Načítanie ďalších výsledkov…"},maximumSelected:function(t){return t.maximum==1?"Môžete zvoliť len jednu položku":t.maximum>=2&&t.maximum<=4?"Môžete zvoliť najviac "+e[t.maximum](!1)+" položky":"Môžete zvoliť najviac "+t.maximum+" položiek"},noResults:function(){return"Nenašli sa žiadne položky"},searching:function(){return"Vyhľadávanie…"},removeAllItems:function(){return"Odstráňte všetky položky"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sk",[],function(){var e={2:function(e){return e?"dva":"dve"},3:function(){return"tri"},4:function(){return"štyri"}};return{errorLoading:function(){return"Výsledky sa nepodarilo načítať."},inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"Prosím, zadajte o jeden znak menej":n>=2&&n<=4?"Prosím, zadajte o "+e[n](!0)+" znaky menej":"Prosím, zadajte o "+n+" znakov menej"},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"Prosím, zadajte ešte jeden znak":n<=4?"Prosím, zadajte ešte ďalšie "+e[n](!0)+" znaky":"Prosím, zadajte ešte ďalších "+n+" znakov"},loadingMore:function(){return"Načítanie ďalších výsledkov…"},maximumSelected:function(t){return t.maximum==1?"Môžete zvoliť len jednu položku":t.maximum>=2&&t.maximum<=4?"Môžete zvoliť najviac "+e[t.maximum](!1)+" položky":"Môžete zvoliť najviac "+t.maximum+" položiek"},noResults:function(){return"Nenašli sa žiadne položky"},searching:function(){return"Vyhľadávanie…"},removeAllItems:function(){return"Odstráňte všetky položky"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/sl.js b/src/interface/static/admin/js/vendor/select2/i18n/sl.js old mode 100755 new mode 100644 index d1f4045..98e783d --- a/src/interface/static/admin/js/vendor/select2/i18n/sl.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/sl.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sl",[],function(){return{errorLoading:function(){return"Zadetkov iskanja ni bilo mogoče naložiti."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Prosim zbrišite "+t+" znak";return t==2?n+="a":t!=1&&(n+="e"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Prosim vpišite še "+t+" znak";return t==2?n+="a":t!=1&&(n+="e"),n},loadingMore:function(){return"Nalagam več zadetkov…"},maximumSelected:function(e){var t="Označite lahko največ "+e.maximum+" predmet";return e.maximum==2?t+="a":e.maximum!=1&&(t+="e"),t},noResults:function(){return"Ni zadetkov."},searching:function(){return"Iščem…"},removeAllItems:function(){return"Odstranite vse elemente"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sl",[],function(){return{errorLoading:function(){return"Zadetkov iskanja ni bilo mogoče naložiti."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Prosim zbrišite "+t+" znak";return t==2?n+="a":t!=1&&(n+="e"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Prosim vpišite še "+t+" znak";return t==2?n+="a":t!=1&&(n+="e"),n},loadingMore:function(){return"Nalagam več zadetkov…"},maximumSelected:function(e){var t="Označite lahko največ "+e.maximum+" predmet";return e.maximum==2?t+="a":e.maximum!=1&&(t+="e"),t},noResults:function(){return"Ni zadetkov."},searching:function(){return"Iščem…"},removeAllItems:function(){return"Odstranite vse elemente"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/sq.js b/src/interface/static/admin/js/vendor/select2/i18n/sq.js old mode 100755 new mode 100644 index 2450f1b..ad367b1 --- a/src/interface/static/admin/js/vendor/select2/i18n/sq.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/sq.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sq",[],function(){return{errorLoading:function(){return"Rezultatet nuk mund të ngarkoheshin."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Të lutem fshi "+t+" karakter";return t!=1&&(n+="e"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Të lutem shkruaj "+t+" ose më shumë karaktere";return n},loadingMore:function(){return"Duke ngarkuar më shumë rezultate…"},maximumSelected:function(e){var t="Mund të zgjedhësh vetëm "+e.maximum+" element";return e.maximum!=1&&(t+="e"),t},noResults:function(){return"Nuk u gjet asnjë rezultat"},searching:function(){return"Duke kërkuar…"},removeAllItems:function(){return"Hiq të gjitha sendet"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sq",[],function(){return{errorLoading:function(){return"Rezultatet nuk mund të ngarkoheshin."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Të lutem fshi "+t+" karakter";return t!=1&&(n+="e"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Të lutem shkruaj "+t+" ose më shumë karaktere";return n},loadingMore:function(){return"Duke ngarkuar më shumë rezultate…"},maximumSelected:function(e){var t="Mund të zgjedhësh vetëm "+e.maximum+" element";return e.maximum!=1&&(t+="e"),t},noResults:function(){return"Nuk u gjet asnjë rezultat"},searching:function(){return"Duke kërkuar…"},removeAllItems:function(){return"Hiq të gjitha sendet"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/sr-Cyrl.js b/src/interface/static/admin/js/vendor/select2/i18n/sr-Cyrl.js old mode 100755 new mode 100644 index b5688db..0719ff0 --- a/src/interface/static/admin/js/vendor/select2/i18n/sr-Cyrl.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/sr-Cyrl.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr-Cyrl",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Преузимање није успело."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Обришите "+n+" симбол";return r+=e(n,"","а","а"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Укуцајте бар још "+n+" симбол";return r+=e(n,"","а","а"),r},loadingMore:function(){return"Преузимање још резултата…"},maximumSelected:function(t){var n="Можете изабрати само "+t.maximum+" ставк";return n+=e(t.maximum,"у","е","и"),n},noResults:function(){return"Ништа није пронађено"},searching:function(){return"Претрага…"},removeAllItems:function(){return"Уклоните све ставке"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr-Cyrl",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Преузимање није успело."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Обришите "+n+" симбол";return r+=e(n,"","а","а"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Укуцајте бар још "+n+" симбол";return r+=e(n,"","а","а"),r},loadingMore:function(){return"Преузимање још резултата…"},maximumSelected:function(t){var n="Можете изабрати само "+t.maximum+" ставк";return n+=e(t.maximum,"у","е","и"),n},noResults:function(){return"Ништа није пронађено"},searching:function(){return"Претрага…"},removeAllItems:function(){return"Уклоните све ставке"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/sr.js b/src/interface/static/admin/js/vendor/select2/i18n/sr.js old mode 100755 new mode 100644 index ba23ae0..ec50c99 --- a/src/interface/static/admin/js/vendor/select2/i18n/sr.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/sr.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Preuzimanje nije uspelo."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Obrišite "+n+" simbol";return r+=e(n,"","a","a"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Ukucajte bar još "+n+" simbol";return r+=e(n,"","a","a"),r},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(t){var n="Možete izabrati samo "+t.maximum+" stavk";return n+=e(t.maximum,"u","e","i"),n},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Уклоните све ставке"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Preuzimanje nije uspelo."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Obrišite "+n+" simbol";return r+=e(n,"","a","a"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Ukucajte bar još "+n+" simbol";return r+=e(n,"","a","a"),r},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(t){var n="Možete izabrati samo "+t.maximum+" stavk";return n+=e(t.maximum,"u","e","i"),n},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Уклоните све ставке"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/sv.js b/src/interface/static/admin/js/vendor/select2/i18n/sv.js old mode 100755 new mode 100644 index cd4cc44..567f584 --- a/src/interface/static/admin/js/vendor/select2/i18n/sv.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/sv.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vänligen sudda ut "+t+" tecken";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vänligen skriv in "+t+" eller fler tecken";return n},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(e){var t="Du kan max välja "+e.maximum+" element";return t},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"},removeAllItems:function(){return"Ta bort alla objekt"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vänligen sudda ut "+t+" tecken";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vänligen skriv in "+t+" eller fler tecken";return n},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(e){var t="Du kan max välja "+e.maximum+" element";return t},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"},removeAllItems:function(){return"Ta bort alla objekt"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/th.js b/src/interface/static/admin/js/vendor/select2/i18n/th.js old mode 100755 new mode 100644 index 67b6f3c..7d5a0e0 --- a/src/interface/static/admin/js/vendor/select2/i18n/th.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/th.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/th",[],function(){return{errorLoading:function(){return"ไม่สามารถค้นข้อมูลได้"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="โปรดลบออก "+t+" ตัวอักษร";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="โปรดพิมพ์เพิ่มอีก "+t+" ตัวอักษร";return n},loadingMore:function(){return"กำลังค้นข้อมูลเพิ่ม…"},maximumSelected:function(e){var t="คุณสามารถเลือกได้ไม่เกิน "+e.maximum+" รายการ";return t},noResults:function(){return"ไม่พบข้อมูล"},searching:function(){return"กำลังค้นข้อมูล…"},removeAllItems:function(){return"ลบรายการทั้งหมด"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/th",[],function(){return{errorLoading:function(){return"ไม่สามารถค้นข้อมูลได้"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="โปรดลบออก "+t+" ตัวอักษร";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="โปรดพิมพ์เพิ่มอีก "+t+" ตัวอักษร";return n},loadingMore:function(){return"กำลังค้นข้อมูลเพิ่ม…"},maximumSelected:function(e){var t="คุณสามารถเลือกได้ไม่เกิน "+e.maximum+" รายการ";return t},noResults:function(){return"ไม่พบข้อมูล"},searching:function(){return"กำลังค้นข้อมูล…"},removeAllItems:function(){return"ลบรายการทั้งหมด"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/tk.js b/src/interface/static/admin/js/vendor/select2/i18n/tk.js old mode 100755 new mode 100644 index e53e122..f3da111 --- a/src/interface/static/admin/js/vendor/select2/i18n/tk.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/tk.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/tk",[],function(){return{errorLoading:function(){return"Netije ýüklenmedi."},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" harp bozuň.";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Ýene-de iň az "+t+" harp ýazyň.";return n},loadingMore:function(){return"Köpräk netije görkezilýär…"},maximumSelected:function(e){var t="Diňe "+e.maximum+" sanysyny saýlaň.";return t},noResults:function(){return"Netije tapylmady."},searching:function(){return"Gözlenýär…"},removeAllItems:function(){return"Remove all items"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/tk",[],function(){return{errorLoading:function(){return"Netije ýüklenmedi."},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" harp bozuň.";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Ýene-de iň az "+t+" harp ýazyň.";return n},loadingMore:function(){return"Köpräk netije görkezilýär…"},maximumSelected:function(e){var t="Diňe "+e.maximum+" sanysyny saýlaň.";return t},noResults:function(){return"Netije tapylmady."},searching:function(){return"Gözlenýär…"},removeAllItems:function(){return"Remove all items"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/tr.js b/src/interface/static/admin/js/vendor/select2/i18n/tr.js old mode 100755 new mode 100644 index c8588ea..acdfea6 --- a/src/interface/static/admin/js/vendor/select2/i18n/tr.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/tr.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/tr",[],function(){return{errorLoading:function(){return"Sonuç yüklenemedi"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" karakter daha girmelisiniz";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="En az "+t+" karakter daha girmelisiniz";return n},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(e){var t="Sadece "+e.maximum+" seçim yapabilirsiniz";return t},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"},removeAllItems:function(){return"Tüm öğeleri kaldır"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/tr",[],function(){return{errorLoading:function(){return"Sonuç yüklenemedi"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" karakter daha girmelisiniz";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="En az "+t+" karakter daha girmelisiniz";return n},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(e){var t="Sadece "+e.maximum+" seçim yapabilirsiniz";return t},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"},removeAllItems:function(){return"Tüm öğeleri kaldır"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/uk.js b/src/interface/static/admin/js/vendor/select2/i18n/uk.js old mode 100755 new mode 100644 index 7df239c..1e0cafe --- a/src/interface/static/admin/js/vendor/select2/i18n/uk.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/uk.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/uk",[],function(){function e(e,t,n,r){return e%100>10&&e%100<15?r:e%10===1?t:e%10>1&&e%10<5?n:r}return{errorLoading:function(){return"Неможливо завантажити результати"},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Будь ласка, видаліть "+n+" "+e(t.maximum,"літеру","літери","літер")},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Будь ласка, введіть "+t+" або більше літер"},loadingMore:function(){return"Завантаження інших результатів…"},maximumSelected:function(t){return"Ви можете вибрати лише "+t.maximum+" "+e(t.maximum,"пункт","пункти","пунктів")},noResults:function(){return"Нічого не знайдено"},searching:function(){return"Пошук…"},removeAllItems:function(){return"Видалити всі елементи"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/uk",[],function(){function e(e,t,n,r){return e%100>10&&e%100<15?r:e%10===1?t:e%10>1&&e%10<5?n:r}return{errorLoading:function(){return"Неможливо завантажити результати"},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Будь ласка, видаліть "+n+" "+e(t.maximum,"літеру","літери","літер")},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Будь ласка, введіть "+t+" або більше літер"},loadingMore:function(){return"Завантаження інших результатів…"},maximumSelected:function(t){return"Ви можете вибрати лише "+t.maximum+" "+e(t.maximum,"пункт","пункти","пунктів")},noResults:function(){return"Нічого не знайдено"},searching:function(){return"Пошук…"},removeAllItems:function(){return"Видалити всі елементи"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/vi.js b/src/interface/static/admin/js/vendor/select2/i18n/vi.js old mode 100755 new mode 100644 index e107b92..a24fbe5 --- a/src/interface/static/admin/js/vendor/select2/i18n/vi.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/vi.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/vi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vui lòng xóa bớt "+t+" ký tự";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vui lòng nhập thêm từ "+t+" ký tự trở lên";return n},loadingMore:function(){return"Đang lấy thêm kết quả…"},maximumSelected:function(e){var t="Chỉ có thể chọn được "+e.maximum+" lựa chọn";return t},noResults:function(){return"Không tìm thấy kết quả"},searching:function(){return"Đang tìm…"},removeAllItems:function(){return"Xóa tất cả các mục"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/vi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vui lòng xóa bớt "+t+" ký tự";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vui lòng nhập thêm từ "+t+" ký tự trở lên";return n},loadingMore:function(){return"Đang lấy thêm kết quả…"},maximumSelected:function(e){var t="Chỉ có thể chọn được "+e.maximum+" lựa chọn";return t},noResults:function(){return"Không tìm thấy kết quả"},searching:function(){return"Đang tìm…"},removeAllItems:function(){return"Xóa tất cả các mục"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/zh-CN.js b/src/interface/static/admin/js/vendor/select2/i18n/zh-CN.js old mode 100755 new mode 100644 index 07c547e..a037e7b --- a/src/interface/static/admin/js/vendor/select2/i18n/zh-CN.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/zh-CN.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="请删除"+t+"个字符";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="请再输入至少"+t+"个字符";return n},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(e){var t="最多只能选择"+e.maximum+"个项目";return t},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"},removeAllItems:function(){return"删除所有项目"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="请删除"+t+"个字符";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="请再输入至少"+t+"个字符";return n},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(e){var t="最多只能选择"+e.maximum+"个项目";return t},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"},removeAllItems:function(){return"删除所有项目"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/i18n/zh-TW.js b/src/interface/static/admin/js/vendor/select2/i18n/zh-TW.js old mode 100755 new mode 100644 index 3bdc8f2..116eda1 --- a/src/interface/static/admin/js/vendor/select2/i18n/zh-TW.js +++ b/src/interface/static/admin/js/vendor/select2/i18n/zh-TW.js @@ -1,3 +1,3 @@ /*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */ -(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-TW",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="請刪掉"+t+"個字元";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="請再輸入"+t+"個字元";return n},loadingMore:function(){return"載入中…"},maximumSelected:function(e){var t="你只能選擇最多"+e.maximum+"項";return t},noResults:function(){return"沒有找到相符的項目"},searching:function(){return"搜尋中…"},removeAllItems:function(){return"刪除所有項目"}}}),{define:e.define,require:e.require}})(); +(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-TW",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="請刪掉"+t+"個字元";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="請再輸入"+t+"個字元";return n},loadingMore:function(){return"載入中…"},maximumSelected:function(e){var t="你只能選擇最多"+e.maximum+"項";return t},noResults:function(){return"沒有找到相符的項目"},searching:function(){return"搜尋中…"},removeAllItems:function(){return"刪除所有項目"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/src/interface/static/admin/js/vendor/select2/select2.full.js b/src/interface/static/admin/js/vendor/select2/select2.full.js old mode 100755 new mode 100644 index a36fd89..f3a20b9 --- a/src/interface/static/admin/js/vendor/select2/select2.full.js +++ b/src/interface/static/admin/js/vendor/select2/select2.full.js @@ -1480,7 +1480,7 @@ S2.define('select2/selection/base',[ window.setTimeout(function () { self.$selection.focus(); }, 0); - + self._detachCloseHandler(container); }); @@ -1917,7 +1917,7 @@ S2.define('select2/selection/allowClear',[ return; } - var removeAll = this.options.get('translations').get('removeAllItems'); + var removeAll = this.options.get('translations').get('removeAllItems'); var $remove = $( '' + diff --git a/src/interface/static/admin/js/vendor/select2/select2.full.min.js b/src/interface/static/admin/js/vendor/select2/select2.full.min.js old mode 100755 new mode 100644 index b4812a9..b277e0f --- a/src/interface/static/admin/js/vendor/select2/select2.full.min.js +++ b/src/interface/static/admin/js/vendor/select2/select2.full.min.js @@ -1 +1 @@ -/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=function(b,c){return void 0===c&&(c="undefined"!=typeof window?require("jquery"):require("jquery")(b)),a(c),c}:a(jQuery)}(function(a){var b=function(){if(a&&a.fn&&a.fn.select2&&a.fn.select2.amd)var b=a.fn.select2.amd;var b;return function(){if(!b||!b.requirejs){b?c=b:b={};var a,c,d;!function(b){function e(a,b){return v.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o=b&&b.split("/"),p=t.map,q=p&&p["*"]||{};if(a){for(a=a.split("/"),g=a.length-1,t.nodeIdCompat&&x.test(a[g])&&(a[g]=a[g].replace(x,"")),"."===a[0].charAt(0)&&o&&(n=o.slice(0,o.length-1),a=n.concat(a)),k=0;k0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}if((o||q)&&p){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),o)for(l=o.length;l>0;l-=1)if((e=p[o.slice(0,l).join("/")])&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&q&&q[d]&&(i=q[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,c){return function(){var d=w.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),o.apply(b,d.concat([a,c]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){r[a]=b}}function j(a){if(e(s,a)){var c=s[a];delete s[a],u[a]=!0,n.apply(b,c)}if(!e(r,a)&&!e(u,a))throw new Error("No "+a);return r[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return a?k(a):[]}function m(a){return function(){return t&&t.config&&t.config[a]||{}}}var n,o,p,q,r={},s={},t={},u={},v=Object.prototype.hasOwnProperty,w=[].slice,x=/\.js$/;p=function(a,b){var c,d=k(a),e=d[0],g=b[1];return a=d[1],e&&(e=f(e,g),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(g)):f(a,g):(a=f(a,g),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},q={require:function(a){return g(a)},exports:function(a){var b=r[a];return void 0!==b?b:r[a]={}},module:function(a){return{id:a,uri:"",exports:r[a],config:m(a)}}},n=function(a,c,d,f){var h,k,m,n,o,t,v,w=[],x=typeof d;if(f=f||a,t=l(f),"undefined"===x||"function"===x){for(c=!c.length&&d.length?["require","exports","module"]:c,o=0;o0&&(b.call(arguments,a.prototype.constructor),e=c.prototype.constructor),e.apply(this,arguments)}function e(){this.constructor=d}var f=b(c),g=b(a);c.displayName=a.displayName,d.prototype=new e;for(var h=0;h":">",'"':""","'":"'","/":"/"};return"string"!=typeof a?a:String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})},c.appendMany=function(b,c){if("1.7"===a.fn.jquery.substr(0,3)){var d=a();a.map(c,function(a){d=d.add(a)}),c=d}b.append(c)},c.__cache={};var e=0;return c.GetUniqueElementId=function(a){var b=a.getAttribute("data-select2-id");return null==b&&(a.id?(b=a.id,a.setAttribute("data-select2-id",b)):(a.setAttribute("data-select2-id",++e),b=e.toString())),b},c.StoreData=function(a,b,d){var e=c.GetUniqueElementId(a);c.__cache[e]||(c.__cache[e]={}),c.__cache[e][b]=d},c.GetData=function(b,d){var e=c.GetUniqueElementId(b);return d?c.__cache[e]&&null!=c.__cache[e][d]?c.__cache[e][d]:a(b).data(d):c.__cache[e]},c.RemoveData=function(a){var b=c.GetUniqueElementId(a);null!=c.__cache[b]&&delete c.__cache[b]},c}),b.define("select2/results",["jquery","./utils"],function(a,b){function c(a,b,d){this.$element=a,this.data=d,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('
    ');return this.options.get("multiple")&&b.attr("aria-multiselectable","true"),this.$results=b,b},c.prototype.clear=function(){this.$results.empty()},c.prototype.displayMessage=function(b){var c=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var d=a('
  • '),e=this.options.get("translations").get(b.message);d.append(c(e(b.args))),d[0].className+=" select2-results__message",this.$results.append(d)},c.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},c.prototype.append=function(a){this.hideLoading();var b=[];if(null==a.results||0===a.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));a.results=this.sort(a.results);for(var c=0;c0?b.first().trigger("mouseenter"):a.first().trigger("mouseenter"),this.ensureHighlightVisible()},c.prototype.setClasses=function(){var c=this;this.data.current(function(d){var e=a.map(d,function(a){return a.id.toString()});c.$results.find(".select2-results__option[aria-selected]").each(function(){var c=a(this),d=b.GetData(this,"data"),f=""+d.id;null!=d.element&&d.element.selected||null==d.element&&a.inArray(f,e)>-1?c.attr("aria-selected","true"):c.attr("aria-selected","false")})})},c.prototype.showLoading=function(a){this.hideLoading();var b=this.options.get("translations").get("searching"),c={disabled:!0,loading:!0,text:b(a)},d=this.option(c);d.className+=" loading-results",this.$results.prepend(d)},c.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},c.prototype.option=function(c){var d=document.createElement("li");d.className="select2-results__option";var e={role:"treeitem","aria-selected":"false"};c.disabled&&(delete e["aria-selected"],e["aria-disabled"]="true"),null==c.id&&delete e["aria-selected"],null!=c._resultId&&(d.id=c._resultId),c.title&&(d.title=c.title),c.children&&(e.role="group",e["aria-label"]=c.text,delete e["aria-selected"]);for(var f in e){var g=e[f];d.setAttribute(f,g)}if(c.children){var h=a(d),i=document.createElement("strong");i.className="select2-results__group";a(i);this.template(c,i);for(var j=[],k=0;k",{class:"select2-results__options select2-results__options--nested"});n.append(j),h.append(i),h.append(n)}else this.template(c,d);return b.StoreData(d,"data",c),d},c.prototype.bind=function(c,d){var e=this,f=c.id+"-results";this.$results.attr("id",f),c.on("results:all",function(a){e.clear(),e.append(a.data),c.isOpen()&&(e.setClasses(),e.highlightFirstItem())}),c.on("results:append",function(a){e.append(a.data),c.isOpen()&&e.setClasses()}),c.on("query",function(a){e.hideMessages(),e.showLoading(a)}),c.on("select",function(){c.isOpen()&&(e.setClasses(),e.options.get("scrollAfterSelect")&&e.highlightFirstItem())}),c.on("unselect",function(){c.isOpen()&&(e.setClasses(),e.options.get("scrollAfterSelect")&&e.highlightFirstItem())}),c.on("open",function(){e.$results.attr("aria-expanded","true"),e.$results.attr("aria-hidden","false"),e.setClasses(),e.ensureHighlightVisible()}),c.on("close",function(){e.$results.attr("aria-expanded","false"),e.$results.attr("aria-hidden","true"),e.$results.removeAttr("aria-activedescendant")}),c.on("results:toggle",function(){var a=e.getHighlightedResults();0!==a.length&&a.trigger("mouseup")}),c.on("results:select",function(){var a=e.getHighlightedResults();if(0!==a.length){var c=b.GetData(a[0],"data");"true"==a.attr("aria-selected")?e.trigger("close",{}):e.trigger("select",{data:c})}}),c.on("results:previous",function(){var a=e.getHighlightedResults(),b=e.$results.find("[aria-selected]"),c=b.index(a);if(!(c<=0)){var d=c-1;0===a.length&&(d=0);var f=b.eq(d);f.trigger("mouseenter");var g=e.$results.offset().top,h=f.offset().top,i=e.$results.scrollTop()+(h-g);0===d?e.$results.scrollTop(0):h-g<0&&e.$results.scrollTop(i)}}),c.on("results:next",function(){var a=e.getHighlightedResults(),b=e.$results.find("[aria-selected]"),c=b.index(a),d=c+1;if(!(d>=b.length)){var f=b.eq(d);f.trigger("mouseenter");var g=e.$results.offset().top+e.$results.outerHeight(!1),h=f.offset().top+f.outerHeight(!1),i=e.$results.scrollTop()+h-g;0===d?e.$results.scrollTop(0):h>g&&e.$results.scrollTop(i)}}),c.on("results:focus",function(a){a.element.addClass("select2-results__option--highlighted")}),c.on("results:message",function(a){e.displayMessage(a)}),a.fn.mousewheel&&this.$results.on("mousewheel",function(a){var b=e.$results.scrollTop(),c=e.$results.get(0).scrollHeight-b+a.deltaY,d=a.deltaY>0&&b-a.deltaY<=0,f=a.deltaY<0&&c<=e.$results.height();d?(e.$results.scrollTop(0),a.preventDefault(),a.stopPropagation()):f&&(e.$results.scrollTop(e.$results.get(0).scrollHeight-e.$results.height()),a.preventDefault(),a.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(c){var d=a(this),f=b.GetData(this,"data");if("true"===d.attr("aria-selected"))return void(e.options.get("multiple")?e.trigger("unselect",{originalEvent:c,data:f}):e.trigger("close",{}));e.trigger("select",{originalEvent:c,data:f})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(c){var d=b.GetData(this,"data");e.getHighlightedResults().removeClass("select2-results__option--highlighted"),e.trigger("results:focus",{data:d,element:a(this)})})},c.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},c.prototype.destroy=function(){this.$results.remove()},c.prototype.ensureHighlightVisible=function(){var a=this.getHighlightedResults();if(0!==a.length){var b=this.$results.find("[aria-selected]"),c=b.index(a),d=this.$results.offset().top,e=a.offset().top,f=this.$results.scrollTop()+(e-d),g=e-d;f-=2*a.outerHeight(!1),c<=2?this.$results.scrollTop(0):(g>this.$results.outerHeight()||g<0)&&this.$results.scrollTop(f)}},c.prototype.template=function(b,c){var d=this.options.get("templateResult"),e=this.options.get("escapeMarkup"),f=d(b,c);null==f?c.style.display="none":"string"==typeof f?c.innerHTML=e(f):a(c).append(f)},c}),b.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),b.define("select2/selection/base",["jquery","../utils","../keys"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,b.Observable),d.prototype.render=function(){var c=a('');return this._tabindex=0,null!=b.GetData(this.$element[0],"old-tabindex")?this._tabindex=b.GetData(this.$element[0],"old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),c.attr("title",this.$element.attr("title")),c.attr("tabindex",this._tabindex),this.$selection=c,c},d.prototype.bind=function(a,b){var d=this,e=(a.id,a.id+"-results");this.container=a,this.$selection.on("focus",function(a){d.trigger("focus",a)}),this.$selection.on("blur",function(a){d._handleBlur(a)}),this.$selection.on("keydown",function(a){d.trigger("keypress",a),a.which===c.SPACE&&a.preventDefault()}),a.on("results:focus",function(a){d.$selection.attr("aria-activedescendant",a.data._resultId)}),a.on("selection:update",function(a){d.update(a.data)}),a.on("open",function(){d.$selection.attr("aria-expanded","true"),d.$selection.attr("aria-owns",e),d._attachCloseHandler(a)}),a.on("close",function(){d.$selection.attr("aria-expanded","false"),d.$selection.removeAttr("aria-activedescendant"),d.$selection.removeAttr("aria-owns"),window.setTimeout(function(){d.$selection.focus()},0),d._detachCloseHandler(a)}),a.on("enable",function(){d.$selection.attr("tabindex",d._tabindex)}),a.on("disable",function(){d.$selection.attr("tabindex","-1")})},d.prototype._handleBlur=function(b){var c=this;window.setTimeout(function(){document.activeElement==c.$selection[0]||a.contains(c.$selection[0],document.activeElement)||c.trigger("blur",b)},1)},d.prototype._attachCloseHandler=function(c){a(document.body).on("mousedown.select2."+c.id,function(c){var d=a(c.target),e=d.closest(".select2");a(".select2.select2-container--open").each(function(){a(this),this!=e[0]&&b.GetData(this,"element").select2("close")})})},d.prototype._detachCloseHandler=function(b){a(document.body).off("mousedown.select2."+b.id)},d.prototype.position=function(a,b){b.find(".selection").append(a)},d.prototype.destroy=function(){this._detachCloseHandler(this.container)},d.prototype.update=function(a){throw new Error("The `update` method must be defined in child classes.")},d}),b.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(a,b,c,d){function e(){e.__super__.constructor.apply(this,arguments)}return c.Extend(e,b),e.prototype.render=function(){var a=e.__super__.render.call(this);return a.addClass("select2-selection--single"),a.html(''),a},e.prototype.bind=function(a,b){var c=this;e.__super__.bind.apply(this,arguments);var d=a.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",d).attr("role","textbox").attr("aria-readonly","true"),this.$selection.attr("aria-labelledby",d),this.$selection.on("mousedown",function(a){1===a.which&&c.trigger("toggle",{originalEvent:a})}),this.$selection.on("focus",function(a){}),this.$selection.on("blur",function(a){}),a.on("focus",function(b){a.isOpen()||c.$selection.focus()})},e.prototype.clear=function(){var a=this.$selection.find(".select2-selection__rendered");a.empty(),a.removeAttr("title")},e.prototype.display=function(a,b){var c=this.options.get("templateSelection");return this.options.get("escapeMarkup")(c(a,b))},e.prototype.selectionContainer=function(){return a("")},e.prototype.update=function(a){if(0===a.length)return void this.clear();var b=a[0],c=this.$selection.find(".select2-selection__rendered"),d=this.display(b,c);c.empty().append(d),c.attr("title",b.title||b.text)},e}),b.define("select2/selection/multiple",["jquery","./base","../utils"],function(a,b,c){function d(a,b){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--multiple"),a.html('
      '),a},d.prototype.bind=function(b,e){var f=this;d.__super__.bind.apply(this,arguments),this.$selection.on("click",function(a){f.trigger("toggle",{originalEvent:a})}),this.$selection.on("click",".select2-selection__choice__remove",function(b){if(!f.options.get("disabled")){var d=a(this),e=d.parent(),g=c.GetData(e[0],"data");f.trigger("unselect",{originalEvent:b,data:g})}})},d.prototype.clear=function(){var a=this.$selection.find(".select2-selection__rendered");a.empty(),a.removeAttr("title")},d.prototype.display=function(a,b){var c=this.options.get("templateSelection");return this.options.get("escapeMarkup")(c(a,b))},d.prototype.selectionContainer=function(){return a('
    • ×
    • ')},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d1||c)return a.call(this,b);this.clear();var d=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(d)},b}),b.define("select2/selection/allowClear",["jquery","../keys","../utils"],function(a,b,c){function d(){}return d.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(a){d._handleClear(a)}),b.on("keypress",function(a){d._handleKeyboardClear(a,b)})},d.prototype._handleClear=function(a,b){if(!this.options.get("disabled")){var d=this.$selection.find(".select2-selection__clear");if(0!==d.length){b.stopPropagation();var e=c.GetData(d[0],"data"),f=this.$element.val();this.$element.val(this.placeholder.id);var g={data:e};if(this.trigger("clear",g),g.prevented)return void this.$element.val(f);for(var h=0;h0||0===d.length)){var e=this.options.get("translations").get("removeAllItems"),f=a('×');c.StoreData(f[0],"data",d),this.$selection.find(".select2-selection__rendered").prepend(f)}},d}),b.define("select2/selection/search",["jquery","../utils","../keys"],function(a,b,c){function d(a,b,c){a.call(this,b,c)}return d.prototype.render=function(b){var c=a('');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,d,e){var f=this;a.call(this,d,e),d.on("open",function(){f.$search.trigger("focus")}),d.on("close",function(){f.$search.val(""),f.$search.removeAttr("aria-activedescendant"),f.$search.trigger("focus")}),d.on("enable",function(){f.$search.prop("disabled",!1),f._transferTabIndex()}),d.on("disable",function(){f.$search.prop("disabled",!0)}),d.on("focus",function(a){f.$search.trigger("focus")}),d.on("results:focus",function(a){f.$search.attr("aria-activedescendant",a.id)}),this.$selection.on("focusin",".select2-search--inline",function(a){f.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){f._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){if(a.stopPropagation(),f.trigger("keypress",a),f._keyUpPrevented=a.isDefaultPrevented(),a.which===c.BACKSPACE&&""===f.$search.val()){var d=f.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var e=b.GetData(d[0],"data");f.searchRemoveChoice(e),a.preventDefault()}}});var g=document.documentMode,h=g&&g<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){if(h)return void f.$selection.off("input.search input.searchcheck");f.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(h&&"input"===a.type)return void f.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&f.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;if(this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c){this.$element.find("[data-select2-tag]").length?this.$element.focus():this.$search.focus()}},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{a=.75*(this.$search.val().length+1)+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting","clear","clearing"],g=["opening","closing","selecting","unselecting","clearing"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){return{"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Œ":"OE","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","œ":"oe","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ώ":"ω","ς":"σ","’":"'"}}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d=b.id+"-result-";return d+=a.generateChars(4),null!=c.id?d+="-"+c.id.toString():d+="-"+a.generateChars(4),d},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},j,l),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f)},function(){"status"in d&&(0===d.status||"0"===d.status)||e.trigger("results:message",{message:"errorLoading"})});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&null!=a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");void 0!==f&&(this.createTag=f);var g=d.get("insertTag");if(void 0!==g&&(this.insertTag=g),b.call(this,c,d),a.isArray(e))for(var h=0;h0&&b.term.length>this.maximumInputLength)return void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}});a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;if(d.maximumSelectionLength>0&&f>=d.maximumSelectionLength)return void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}});a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val(""),e.$search.blur()}),c.on("focus",function(){c.isOpen()||e.$search.focus()}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){e.showSearch(a)?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){e.$results.offset().top+e.$results.outerHeight(!1)+50>=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1)&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('
    • '),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a(""),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){b.StoreData(this,"select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(c){var d=b.GetData(this,"select2-scroll-position");a(this).scrollTop(d.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id;this.$container.parents().filter(b.hasScroll).off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=this.$container.offset();f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.topf.bottom+h.height,l={left:f.left,top:g.bottom},m=this.$dropdownParent;"static"===m.css("position")&&(m=m.offsetParent());var n=m.offset();l.top-=n.top,l.left-=n.left,c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-n.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.position="relative",a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),null==l.tokenSeparators&&null==l.tokenizer||(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){null==c(d,e.children[g])&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var h=b(e.text).toUpperCase(),i=b(d.term).toUpperCase();return h.indexOf(i)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,scrollAfterSelect:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(!0,this.defaults,f)},new D}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){function c(a,b){return b.toUpperCase()}var e=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),d.GetData(a[0],"select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),d.StoreData(a[0],"data",d.GetData(a[0],"select2Tags")),d.StoreData(a[0],"tags",!0)),d.GetData(a[0],"ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",d.GetData(a[0],"ajaxUrl")),d.StoreData(a[0],"ajax-Url",d.GetData(a[0],"ajaxUrl")));for(var f={},g=0;g-1||(b.isPlainObject(this.options[m])?b.extend(this.options[m],l[m]):this.options[m]=l[m]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,d){null!=c.GetData(a[0],"select2")&&c.GetData(a[0],"select2").destroy(),this.$element=a,this.id=this._generateId(a),d=d||{},this.options=new b(d,a),e.__super__.constructor.call(this);var f=a.attr("tabindex")||0;c.StoreData(a[0],"old-tabindex",f),a.attr("tabindex","-1");var g=this.options.get("dataAdapter");this.dataAdapter=new g(a,this.options);var h=this.render();this._placeContainer(h);var i=this.options.get("selectionAdapter");this.selection=new i(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,h);var j=this.options.get("dropdownAdapter");this.dropdown=new j(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,h);var k=this.options.get("resultsAdapter");this.results=new k(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var l=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){l.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),c.StoreData(a[0],"select2",this),a.data("select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b=b.replace(/(:|\.|\[|\]|,)/g,""),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return e<=0?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;h=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this.$element.on("focus.select2",function(a){b.trigger("focus",a)}),this._syncA=c.bind(this._syncAttributes,this),this._syncS=c.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._syncA),a.each(c,b._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",b._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",b._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",b._syncS,!1))},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var a=this;this.on("open",function(){a.$container.addClass("select2-container--open")}),this.on("close",function(){a.$container.removeClass("select2-container--open")}),this.on("enable",function(){a.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){a.$container.addClass("select2-container--disabled")}),this.on("blur",function(){a.$container.removeClass("select2-container--focus")}),this.on("query",function(b){a.isOpen()||a.trigger("open",{}),this.dataAdapter.query(b,function(c){a.trigger("results:all",{data:c,query:b})})}),this.on("query:append",function(b){this.dataAdapter.query(b,function(c){a.trigger("results:append",{data:c,query:b})})}),this.on("keypress",function(b){var c=b.which;a.isOpen()?c===d.ESC||c===d.TAB||c===d.UP&&b.altKey?(a.close(),b.preventDefault()):c===d.ENTER?(a.trigger("results:select",{}),b.preventDefault()):c===d.SPACE&&b.ctrlKey?(a.trigger("results:toggle",{}),b.preventDefault()):c===d.UP?(a.trigger("results:previous",{}),b.preventDefault()):c===d.DOWN&&(a.trigger("results:next",{}),b.preventDefault()):(c===d.ENTER||c===d.SPACE||c===d.DOWN&&b.altKey)&&(a.open(),b.preventDefault())})},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},e.prototype._syncSubtree=function(a,b){var c=!1,d=this;if(!a||!a.target||"OPTION"===a.target.nodeName||"OPTGROUP"===a.target.nodeName){if(b)if(b.addedNodes&&b.addedNodes.length>0)for(var e=0;e0&&(c=!0);else c=!0;c&&this.dataAdapter.current(function(a){d.trigger("selection:update",{data:a})})}},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting",clear:"clearing"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=a&&0!==a.length||(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",c.GetData(this.$element[0],"old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),c.RemoveData(this.$element[0]),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},e.prototype.render=function(){var b=a('');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),c.StoreData(b[0],"element",this.$element),b},e}),b.define("select2/compat/utils",["jquery"],function(a){function b(b,c,d){var e,f,g=[];e=a.trim(b.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each(function(){0===this.indexOf("select2-")&&g.push(this)})),e=a.trim(c.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each(function(){0!==this.indexOf("select2-")&&null!=(f=d(this))&&g.push(f)})),b.attr("class",g.join(" "))}return{syncCssClasses:b}}),b.define("select2/compat/containerCss",["jquery","./utils"],function(a,b){function c(a){return null}function d(){}return d.prototype.render=function(d){var e=d.call(this),f=this.options.get("containerCssClass")||"";a.isFunction(f)&&(f=f(this.$element));var g=this.options.get("adaptContainerCssClass");if(g=g||c,-1!==f.indexOf(":all:")){f=f.replace(":all:","");var h=g;g=function(a){var b=h(a);return null!=b?b+" "+a:a}}var i=this.options.get("containerCss")||{};return a.isFunction(i)&&(i=i(this.$element)),b.syncCssClasses(e,this.$element,g),e.css(i),e.addClass(f),e},d}),b.define("select2/compat/dropdownCss",["jquery","./utils"],function(a,b){function c(a){return null}function d(){}return d.prototype.render=function(d){var e=d.call(this),f=this.options.get("dropdownCssClass")||"";a.isFunction(f)&&(f=f(this.$element));var g=this.options.get("adaptDropdownCssClass");if(g=g||c,-1!==f.indexOf(":all:")){f=f.replace(":all:","");var h=g;g=function(a){var b=h(a);return null!=b?b+" "+a:a}}var i=this.options.get("dropdownCss")||{};return a.isFunction(i)&&(i=i(this.$element)),b.syncCssClasses(e,this.$element,g),e.css(i),e.addClass(f),e},d}),b.define("select2/compat/initSelection",["jquery"],function(a){function b(a,b,c){c.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `initSelection` option has been deprecated in favor of a custom data adapter that overrides the `current` method. This method is now called multiple times instead of a single time when the instance is initialized. Support will be removed for the `initSelection` option in future versions of Select2"),this.initSelection=c.get("initSelection"),this._isInitialized=!1,a.call(this,b,c)}return b.prototype.current=function(b,c){var d=this;if(this._isInitialized)return void b.call(this,c);this.initSelection.call(null,this.$element,function(b){d._isInitialized=!0,a.isArray(b)||(b=[b]),c(b)})},b}),b.define("select2/compat/inputData",["jquery","../utils"],function(a,b){function c(a,b,c){this._currentData=[],this._valueSeparator=c.get("valueSeparator")||",","hidden"===b.prop("type")&&c.get("debug")&&console&&console.warn&&console.warn("Select2: Using a hidden input with Select2 is no longer supported and may stop working in the future. It is recommended to use a `');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,d,e){var f=this;a.call(this,d,e),d.on("open",function(){f.$search.trigger("focus")}),d.on("close",function(){f.$search.val(""),f.$search.removeAttr("aria-activedescendant"),f.$search.trigger("focus")}),d.on("enable",function(){f.$search.prop("disabled",!1),f._transferTabIndex()}),d.on("disable",function(){f.$search.prop("disabled",!0)}),d.on("focus",function(a){f.$search.trigger("focus")}),d.on("results:focus",function(a){f.$search.attr("aria-activedescendant",a.id)}),this.$selection.on("focusin",".select2-search--inline",function(a){f.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){f._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){if(a.stopPropagation(),f.trigger("keypress",a),f._keyUpPrevented=a.isDefaultPrevented(),a.which===c.BACKSPACE&&""===f.$search.val()){var d=f.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var e=b.GetData(d[0],"data");f.searchRemoveChoice(e),a.preventDefault()}}});var g=document.documentMode,h=g&&g<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){if(h)return void f.$selection.off("input.search input.searchcheck");f.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(h&&"input"===a.type)return void f.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&f.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;if(this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c){this.$element.find("[data-select2-tag]").length?this.$element.focus():this.$search.focus()}},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{a=.75*(this.$search.val().length+1)+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting","clear","clearing"],g=["opening","closing","selecting","unselecting","clearing"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){return{"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Œ":"OE","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","œ":"oe","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ώ":"ω","ς":"σ","’":"'"}}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d=b.id+"-result-";return d+=a.generateChars(4),null!=c.id?d+="-"+c.id.toString():d+="-"+a.generateChars(4),d},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},j,l),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f)},function(){"status"in d&&(0===d.status||"0"===d.status)||e.trigger("results:message",{message:"errorLoading"})});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&null!=a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");void 0!==f&&(this.createTag=f);var g=d.get("insertTag");if(void 0!==g&&(this.insertTag=g),b.call(this,c,d),a.isArray(e))for(var h=0;h0&&b.term.length>this.maximumInputLength)return void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}});a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;if(d.maximumSelectionLength>0&&f>=d.maximumSelectionLength)return void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}});a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val(""),e.$search.blur()}),c.on("focus",function(){c.isOpen()||e.$search.focus()}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){e.showSearch(a)?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){e.$results.offset().top+e.$results.outerHeight(!1)+50>=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1)&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('
    • '),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a(""),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){b.StoreData(this,"select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(c){var d=b.GetData(this,"select2-scroll-position");a(this).scrollTop(d.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id;this.$container.parents().filter(b.hasScroll).off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=this.$container.offset();f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.topf.bottom+h.height,l={left:f.left,top:g.bottom},m=this.$dropdownParent;"static"===m.css("position")&&(m=m.offsetParent());var n=m.offset();l.top-=n.top,l.left-=n.left,c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-n.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.position="relative",a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),null==l.tokenSeparators&&null==l.tokenizer||(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){null==c(d,e.children[g])&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var h=b(e.text).toUpperCase(),i=b(d.term).toUpperCase();return h.indexOf(i)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,scrollAfterSelect:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(!0,this.defaults,f)},new D}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){function c(a,b){return b.toUpperCase()}var e=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),d.GetData(a[0],"select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),d.StoreData(a[0],"data",d.GetData(a[0],"select2Tags")),d.StoreData(a[0],"tags",!0)),d.GetData(a[0],"ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",d.GetData(a[0],"ajaxUrl")),d.StoreData(a[0],"ajax-Url",d.GetData(a[0],"ajaxUrl")));for(var f={},g=0;g-1||(b.isPlainObject(this.options[m])?b.extend(this.options[m],l[m]):this.options[m]=l[m]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,d){null!=c.GetData(a[0],"select2")&&c.GetData(a[0],"select2").destroy(),this.$element=a,this.id=this._generateId(a),d=d||{},this.options=new b(d,a),e.__super__.constructor.call(this);var f=a.attr("tabindex")||0;c.StoreData(a[0],"old-tabindex",f),a.attr("tabindex","-1");var g=this.options.get("dataAdapter");this.dataAdapter=new g(a,this.options);var h=this.render();this._placeContainer(h);var i=this.options.get("selectionAdapter");this.selection=new i(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,h);var j=this.options.get("dropdownAdapter");this.dropdown=new j(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,h);var k=this.options.get("resultsAdapter");this.results=new k(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var l=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){l.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),c.StoreData(a[0],"select2",this),a.data("select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b=b.replace(/(:|\.|\[|\]|,)/g,""),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return e<=0?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;h=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this.$element.on("focus.select2",function(a){b.trigger("focus",a)}),this._syncA=c.bind(this._syncAttributes,this),this._syncS=c.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._syncA),a.each(c,b._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",b._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",b._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",b._syncS,!1))},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var a=this;this.on("open",function(){a.$container.addClass("select2-container--open")}),this.on("close",function(){a.$container.removeClass("select2-container--open")}),this.on("enable",function(){a.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){a.$container.addClass("select2-container--disabled")}),this.on("blur",function(){a.$container.removeClass("select2-container--focus")}),this.on("query",function(b){a.isOpen()||a.trigger("open",{}),this.dataAdapter.query(b,function(c){a.trigger("results:all",{data:c,query:b})})}),this.on("query:append",function(b){this.dataAdapter.query(b,function(c){a.trigger("results:append",{data:c,query:b})})}),this.on("keypress",function(b){var c=b.which;a.isOpen()?c===d.ESC||c===d.TAB||c===d.UP&&b.altKey?(a.close(),b.preventDefault()):c===d.ENTER?(a.trigger("results:select",{}),b.preventDefault()):c===d.SPACE&&b.ctrlKey?(a.trigger("results:toggle",{}),b.preventDefault()):c===d.UP?(a.trigger("results:previous",{}),b.preventDefault()):c===d.DOWN&&(a.trigger("results:next",{}),b.preventDefault()):(c===d.ENTER||c===d.SPACE||c===d.DOWN&&b.altKey)&&(a.open(),b.preventDefault())})},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},e.prototype._syncSubtree=function(a,b){var c=!1,d=this;if(!a||!a.target||"OPTION"===a.target.nodeName||"OPTGROUP"===a.target.nodeName){if(b)if(b.addedNodes&&b.addedNodes.length>0)for(var e=0;e0&&(c=!0);else c=!0;c&&this.dataAdapter.current(function(a){d.trigger("selection:update",{data:a})})}},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting",clear:"clearing"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=a&&0!==a.length||(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",c.GetData(this.$element[0],"old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),c.RemoveData(this.$element[0]),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},e.prototype.render=function(){var b=a('');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),c.StoreData(b[0],"element",this.$element),b},e}),b.define("select2/compat/utils",["jquery"],function(a){function b(b,c,d){var e,f,g=[];e=a.trim(b.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each(function(){0===this.indexOf("select2-")&&g.push(this)})),e=a.trim(c.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each(function(){0!==this.indexOf("select2-")&&null!=(f=d(this))&&g.push(f)})),b.attr("class",g.join(" "))}return{syncCssClasses:b}}),b.define("select2/compat/containerCss",["jquery","./utils"],function(a,b){function c(a){return null}function d(){}return d.prototype.render=function(d){var e=d.call(this),f=this.options.get("containerCssClass")||"";a.isFunction(f)&&(f=f(this.$element));var g=this.options.get("adaptContainerCssClass");if(g=g||c,-1!==f.indexOf(":all:")){f=f.replace(":all:","");var h=g;g=function(a){var b=h(a);return null!=b?b+" "+a:a}}var i=this.options.get("containerCss")||{};return a.isFunction(i)&&(i=i(this.$element)),b.syncCssClasses(e,this.$element,g),e.css(i),e.addClass(f),e},d}),b.define("select2/compat/dropdownCss",["jquery","./utils"],function(a,b){function c(a){return null}function d(){}return d.prototype.render=function(d){var e=d.call(this),f=this.options.get("dropdownCssClass")||"";a.isFunction(f)&&(f=f(this.$element));var g=this.options.get("adaptDropdownCssClass");if(g=g||c,-1!==f.indexOf(":all:")){f=f.replace(":all:","");var h=g;g=function(a){var b=h(a);return null!=b?b+" "+a:a}}var i=this.options.get("dropdownCss")||{};return a.isFunction(i)&&(i=i(this.$element)),b.syncCssClasses(e,this.$element,g),e.css(i),e.addClass(f),e},d}),b.define("select2/compat/initSelection",["jquery"],function(a){function b(a,b,c){c.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `initSelection` option has been deprecated in favor of a custom data adapter that overrides the `current` method. This method is now called multiple times instead of a single time when the instance is initialized. Support will be removed for the `initSelection` option in future versions of Select2"),this.initSelection=c.get("initSelection"),this._isInitialized=!1,a.call(this,b,c)}return b.prototype.current=function(b,c){var d=this;if(this._isInitialized)return void b.call(this,c);this.initSelection.call(null,this.$element,function(b){d._isInitialized=!0,a.isArray(b)||(b=[b]),c(b)})},b}),b.define("select2/compat/inputData",["jquery","../utils"],function(a,b){function c(a,b,c){this._currentData=[],this._valueSeparator=c.get("valueSeparator")||",","hidden"===b.prop("type")&&c.get("debug")&&console&&console.warn&&console.warn("Select2: Using a hidden input with Select2 is no longer supported and may stop working in the future. It is recommended to use a ` + +

      +

      Plus You can set a specific size for + your Icons instances. +
      This is useful if you need a fixed size and will not style with css. +
      + + +

      + +
        +
      • +
        +

        #download-ebook-1

        +
        + + + +
        <svg class="theme-line-0"><use xlink:href="#download-ebook-1"></use></svg>
        +
        +
      • +
      • +
        +

        #bookmark-1

        +
        + + + +
        <svg class="theme-line-0"><use xlink:href="#bookmark-1"></use></svg>
        +
        +
      • +
      • +
        +

        #edit-entry-1

        +
        + + + +
        <svg class="theme-line-0"><use xlink:href="#edit-entry-1"></use></svg>
        +
        +
      • +
      • +
        +

        #download-manual-1

        +
        + + + +
        <svg class="theme-line-3"><use xlink:href="#download-manual-1"></use></svg>
        +
        +
      • +
      • +
        +

        #reading-1

        +
        + + + +
        <svg class="theme-line-0"><use xlink:href="#reading-1"></use></svg>
        +
        +
      • +
      • +
        +

        #bookmark-ribbon-1

        +
        + + + +
        <svg class="theme-line-3"><use xlink:href="#bookmark-ribbon-1"></use></svg>
        +
        +
      • +
      + +
      +

      CSS Styles and Variables

      +

      You selected the options to generate the SVG Sprite with external color + cssclasses. +
      That means that Orion detected if your icons + had different color layers and created a class and stylesheet for you to + edit the icons color properties. +
      Try me! The color classes below are editable. + Make your changes in real time and paste it directly into your project.

      + +

      Support: Since our Icons can have several + Layers, this technique take advantage of the CSS Custom Properties. +
      This has a good browser support except + for older IE versions. In those browsers the original color will be used + as a fallback.

      +
      +
      + +

      You can find a lot of information on the Internet about SVG. +
      We made a little selection for you if you want to learn more.

      + +
      + + + + + \ No newline at end of file diff --git a/src/interface/static/img/fractal-bg-dark.png b/src/interface/static/img/fractal-bg-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..722fc416ec41ee9b282e056c32176f32251eb0be GIT binary patch literal 126417 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 (%&ia<_27hd*K5JqxqU0EC5e|>7p~w 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 literal 0 HcmV?d00001 diff --git a/src/interface/static/img/icons/ico-9dot.png b/src/interface/static/img/icons/ico-9dot.png new file mode 100644 index 0000000000000000000000000000000000000000..e60baf573d6556520fb97f3c58439fe2dd689ac9 GIT binary patch literal 617 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GG!XV7ZFl&wk0|S$^ zr;B4q#hkY@H)h=q5NX@5JkzPY>1CL~4XI5#y185JoHLG39_@GMbK}OPt3Tgw-mp&ZKmUKrOLiAuf0cV) zX(u?*IrJ{Gz(ns*+qJ8*c15kN`*XJC+L!#h4R!nfJGs~~9_IZee&F^do%7o>&n>FE zruC1BC$yC94fFX!>GpG^nbMmNCTvM9e)ffR-G8&We$TTt?4tCh%QNJjRdfyP3H>TD zgIWLdrazLG=cNASQ8@qEQ)6DP2HSEY2f3cF)(&vfj96{@i7>1*~A)9dReX67_c`*r@Le*N`V^!D3-IcnJFt$HQ=z{};? z0mBdbbWUG2JNve2-(!nDAlmF*p?AS%!;9O?uYHeU$oc(kH zwSn_q1+In&&sxlXcl-C41BEijfvEF%apSW_*ZX!`_dRDyxV_zf?fab!H@>|MeqF66 xV107kBRDUhKk6%3_<~IBi+y{aGev*k-t+8I+R-$o1;Dh!;OXk;vd$@?2>_7|Dj)y= literal 0 HcmV?d00001 diff --git a/src/interface/static/img/icons/ico-bookmark-closed.png b/src/interface/static/img/icons/ico-bookmark-closed.png new file mode 100644 index 0000000000000000000000000000000000000000..ebb83b39962783b6760329b14b4b38fdfa0f5ccc GIT binary patch literal 962 zcmV;z13mnSP)k1xcH84ST`}MHB5FtwS zO!vIQq#qb&VEW^!-@IMjQ(X-YIZ}0nPN#DqNs==nvZ$)hh{(Yv#0KDc2;oH4l^(6K zuygLHh+G5?1Bg`4Z|sO}LD~2pfN52|Dk5irwGhG|&FM8yR0VW8ode}BKdq{#^F03y z&}P*}!y_>ZB}sAyIIOByC#mre8Gwi^mhWeopvFUF0IGVV{J7SjiwUt6kTfk~MWxdq z@B*+h>`uM+w}9hAZe}%v@Y1j@Q5CR{sxC3W#nS^Aw()gsqgn-s$m?mEE@fF(OJ^8D z7${8deQh0a)kENKRb6(@ot%^lp{QSAKXFxk@%~HUVQIJmqWXwReL$Y)cYp=pBjApz z-mS9!h>7YWsvZJ_5bgmVm#=}S>lps83aYaGN)<4Pv;kNPSknezEnrO>fVF@%Z2;B+ z*0cdw3s_V6zd+M?@4c#C5s~MBS3?Lln%v)5Re*Eu6tGq{9^kt7{zK{+g?b=k5rFr8 z);YHvr0_gYqX|p<`CpLg<0IK?0vpSOUF#duRQUb7O0>@p7dqj%ufgT!_gx1XCn>pEA9M>k%AcSp<|(46dF1^BwFe7h zl*PoRMYWnN@>SWXmSJIV)wkmye}clxxbE9Wy-&>FtGr$R^jT*1&Bex>_y2r*=G>io zy9GLVOdshg@UPm%dgtZFDB~7`;>d;Be?7J4#97bZea=IkcekL^3Dcy|tDm+-P7^dR zaAOGhs$Ebopl-0)S@5T>Qv8`W&K!xa7kye~rL5F{_D$o=y8;tG)}60C>5PnZdW|eNcoA;k(McC@?XL5LFFnn`eqNntFs@KxHSzGyj?{#?ob@}eSjrUoi*IrZH z!2D)KmTUy8*qIz%&q&}@sJT2Q@Ym*Tx*}9HNu_ZYnFqCzM_(b!PZ%V=r$}Jlr zmdJgGW}Ds+`5>@r55G<|M`0wJGskhIp!0pMOXl_U9V)!d-f`kr0#P|ckkZa*O|LcM33ihn1$2>-2<~1nlA`B&%7(}>h1&OR@Nu06*if32@??3xXw>>7MxP~6D%3UAAwj{hZ+9hsTdEO|7NmrJa)&dDqe7RE85{e$O01?HXYVfr*jEzZn&jw(EC^ z$}QRF6hG7R|NeMZu?A)<*=5>y8K!mf%qpo&_Xw3f@MmSt^oYdup$VOSH3e=xqJ0|= q`SH}Q*`U2Di*^5ckxm!CPyAU=C1(ECPrU}r3k;sFelF{r5}E*S32mGJ literal 0 HcmV?d00001 diff --git a/src/interface/static/img/icons/ico-box-l-arrow.png b/src/interface/static/img/icons/ico-box-l-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..a5c8374ebe6059b63dc8217fcaf34a70369f7cd5 GIT binary patch literal 957 zcmV;u148_XP)r&O%Rm@5XbQyYpup{{4@T`ulWnRe#}1{4u`iwip-PIXmk^J zBqG17F+&Z-AfbaLyeC(pDJb@pu;FHk|c!Rdlz$|zX*;3U9 z#+co_+PVz67;rxLdcD5W>2#jt(bi?j+<-C#4;dR!w%{Q{1IidYWMn{DgNKaP0nWL; z$n;+}5!rIi^{us8RQ)o3OVjjPR+UvN!7M5<#zbWu0-5xHPN(yvUa#+{>H`tk8jr_E zNs_E*QFq>CHU!FQLZH| z5WCd4ftIQs`$S62?BeR`>My`&z>Sra zm3JGB#!rL6;IBYhGbM_m<+Zi7uSMib;7<|x~zC#+Y8&vPrD9 z4d-0bZ_MuVZ;6w04{oUHw<2=ANWpods>dSo#cNY%=g<4Rx;>`ZRZV=3O^FyWo$A`a f;j5CT7oNWX)eMcu*GLjz00000NkvXXu0mjft7gc^ literal 0 HcmV?d00001 diff --git a/src/interface/static/img/icons/ico-box-r-arrow.png b/src/interface/static/img/icons/ico-box-r-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..ff0899e365f2381107756b97e95582b7de98fa26 GIT binary patch literal 942 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 literal 0 HcmV?d00001 diff --git a/src/interface/static/img/icons/ico-dl-book-rounded.png b/src/interface/static/img/icons/ico-dl-book-rounded.png new file mode 100644 index 0000000000000000000000000000000000000000..f9c07506a57936e3c170ee0246556fc6a8e5585c GIT binary patch literal 1747 zcmV;^1}yoBP)Ik<)Wf)k8{?2B|r;haR9pIh8{rK~s>qrPoR>ky0c;f?ish3u=Q@9NX_fs2!!T zY!~QO?C$$|@O!qgckSK8yR(w{N!EJb&dm4Ce`ns#_su-mgv=^zSfFHAM2U#`_HTDhrn*&QxQ2M zBA4>{e0b~Dtp}}ez%`2kB;Wi;EOh=H@OBhM|8wS9n^>Fz$*|uIoQtC94Re&*1i=t>>s~S(IK&Dj&I-SQBLZwp42mZ0LP%FOy*O=vRRQ0ecM_jQ|faBKMr(8MX z0<+@%H-O)`aKsfW1^5^66Kn0c%`y@Mz*?&SBJ#~z!B94vjc(t*ecz>{t>Q5Oq9~Fi zDEck%s#DKa(~|YT$|=B|J9nm|DEa}gUscZn|5VjZ2!&g+5L=ZHNr|H925_SlMw=xa zp{-!m2-s{q5x}(ru6ZJWYX@BOL;%+gxaNrft{req-IZXc(AU?OPye^pUITU|e*ja! zl&XGWjJc?)mz&LMuL_1X#On1J_4+@`&IP

      $pHdtn%kY*gD}7>*cYzOSkkRlSgG0zZaR0gA<9 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 literal 0 HcmV?d00001 diff --git a/src/interface/static/img/icons/ico-gear.png b/src/interface/static/img/icons/ico-gear.png new file mode 100644 index 0000000000000000000000000000000000000000..a00227e1c0ad05f6a7c7e55cc9d03ff785fb8c74 GIT binary patch literal 3060 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 Br&j;~ literal 0 HcmV?d00001 diff --git a/src/interface/static/img/icons/ico-github.png b/src/interface/static/img/icons/ico-github.png new file mode 100644 index 0000000000000000000000000000000000000000..e3d585503502cd3ed9e2da40ce4da886d3a5800e GIT binary patch literal 3764 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 literal 0 HcmV?d00001 diff --git a/src/interface/static/img/icons/ico-home.png b/src/interface/static/img/icons/ico-home.png new file mode 100644 index 0000000000000000000000000000000000000000..e9d9e7a01f1d5335c21e8860e1f1999fa06390d9 GIT binary patch literal 1322 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 DowUv% literal 0 HcmV?d00001 diff --git a/src/interface/static/img/icons/ico-open-book.png b/src/interface/static/img/icons/ico-open-book.png new file mode 100644 index 0000000000000000000000000000000000000000..a09c7d7167acd16e4bf52ae11ce0324f01b7e7bf GIT binary patch literal 1040 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GG!XV7ZFl&wk0|WCR zPZ!6KiaBp*`)0_7iX5+h-sh{ehh0T%IS* z3Vn~ChkSKS@c+#`vG4xPzjIBbESL`&^th%(h4Me$zE5~!@Tw}$P;u?4r_L7_7oYtv zrQD_T*5sap zR`%Qf|BTm!tv-Bg#zeQphDkk=q7x_ToOWxpc1_veAyaVfuC7vb&x{|gG1qo?%cy?m{gu=cO8 z1^*oW!yjgJ?BQ2Xvi}n7Zhfz;(Ztt2V!vM1$JcD{Z!gIAVy@x-;G5Zy&$v&M_k->M z^QDaYSbr=tIk27K{uH(!Vh?6tVz|##6D;*0x`9~5o1gMZbXXmnEzpu!5#b^ic-2{H zlk^Ve8*wQU8jTl3t>xPuwf3>nC!q-r;i8Y;Ua`tF319;%jbD9r);aBy4EsW^`u7;l zmrkzBGLh2u_V&Ks)njSE<`Vd2$*O(R<=ZTt&#BHWEG*o1y^#G-gGJx`u&bGZCquqg z%v!emhS$+ctA6oKSovzBiSPL@#^2bOx%6h{GKPnK?ds53@ygs$peAPh_5BZyt-6r- zz-895^vNof2B$YIR@&qr`n}@>-vXu_?SR|&*Iefk57fD+9>A8yy>4>lS*Sp^UNPMCya9A3uJ4dGqGYF#E3+ z*5)%*PS!oYquQXrAr}`BvEzYvxA`KCOLp@@H8eGMPTbFMx<0JauhP~Nn8g`9UHx3v IIVCg!09an&&Hw-a literal 0 HcmV?d00001 diff --git a/src/interface/static/img/icons/ico-open-in-window.png b/src/interface/static/img/icons/ico-open-in-window.png new file mode 100644 index 0000000000000000000000000000000000000000..012ab194f5901783515b810a903d6446accdd85e GIT binary patch literal 1595 zcma)-`#aMM0LH)D*d(`(#3JiiNG$0lT5egF(N?r?avMd3okr$TxomaLiRq%LL#^oy zN9@Z=$92LeC-cZW^)(!#okKa%Og%AeO-KL1`QiP%KfcfNzCXO&Bh&+?#%qlM05ByV zB!w)y-**|ImkA}D8(+2+$p^z&0I<^XyAS|hU;_Y#Dl*BRc3z<3pS>0dV!PS>lF`{e zW{Uj4BQxVHH6h_cqe0zcqb`dw9OvdV#&ioMyeh;GuDZmx3B2~_9V7pjH}f|0LrOaj z{u8vrS_$JVhJu z85AnDJ;deLqKt!ej=QZotT-s2h-wABX)wp!X!q}9w{I9I1)1$lO`5$iD{CzlxeW`y zgot*$UZFponuvDy@JJu_%D4*AO~0a=>yK5pt-A7e)9&{ZZK;vXA)*h5;8d?#)W6m| z%v1L)h~|>r0@H=U$!f*)&n#v`UY4n+13ns3BxZ^m7>M`37e9Sq?^ozha8+hBcP3_4 zZC|*q+c{r8b2~R3HY;;pYv@K(oa)#H>Tl>I#_RLTKu8;;ycGubLRyAeFGpd_>;&eq=j@`DZEw(##zH7U zr`0lXwzfn;B^CZ2n+fk2L)P^0?;~@Rg3*#nu9Lyw$mpdfBAn1JxtulorPaX4ol{y` z%DT3d4Y*;<5VitV0fJwAzPjsN>(fl>x@Kos>Pvx%%e_8MXZ+>?FwWxU2+3TiT>--^ zP!gF_9rZZfW_kJZlQJF!pAt%S)GYTg>qW`UlLbH{HeXM@P5Gh{kVYN*16~DkG=?$a zwqsx@N^KMS(905y>;9PE)6=8Er>qj+~X|{qh=JSjc{F$QGdv}C&_$z1Rl8sXVAL4-E)!F`_Z#e`qRB{J0KPNdp z-r4N3avQh~QG~!%=A_JE(3~7lWzCbmn0F@N3kDM#Om!OdH;rBQt_|>+4(*}TnTJtN zUcqBOioK)3A+D@s05e?Qoafg#D(4($3|&;S%?Ke1Ha3bCvwPzf=<^qO+lPKP+u&t1q7_2ovuvrSr_|#FGIok&YA@_ zDK4PUL0a*Xt^ncwd{>P}AUx97N=T^B1RHTdIsVN42EREqye4BD1iJCV0;A8dN0R(NHKK-aB=eUSw-xu7Cx`#odeb`Q>_Dj1^ za-;>X0C-Zu%9x_D&D~?JNfNTMzACV4H_m<_`#L)IMc-t-M}#-hx@Xgt{iMn6iHV7% zHK!gJt=%3|oM!?h(vN-%2r%ccX7kIguijUxM)w=EAXc9h#{Yj(H5)}mcbB5?nY*$| q5Sb}y!6x6#WB+|s5mdaexJB}pPf78Kw!q~#0Lc5Oq=$QBF8>F24ENpu literal 0 HcmV?d00001 diff --git a/src/interface/static/img/icons/ico-profile-card.png b/src/interface/static/img/icons/ico-profile-card.png new file mode 100644 index 0000000000000000000000000000000000000000..6dfebf0df74f2354cbc3c67933c6871661b095d8 GIT binary patch literal 1209 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 literal 0 HcmV?d00001 diff --git a/src/interface/static/img/icons/ico-thumb-up.png b/src/interface/static/img/icons/ico-thumb-up.png new file mode 100644 index 0000000000000000000000000000000000000000..58884ab9775569a54ecdfd7082e02ec533ff4dee GIT binary patch literal 1353 zcmV-P1-AN$P)rQfdXoi$}FfwOA1J&>qAsu3J46!R@}6?HXM}aZ&4&5$4PRqTrM{nTznPSFCs%CG8D9{zVE-2 z%jLEv8B?OTu6xXNU3Fb|Ukls5z;-Ojn39|UqN>jTh{*U=#w+KxB^Xn30(hQxUvS_5 zYK)n0w&!xWi$U}5q+)_(XTYPu@pLO=rBb;eXjYR6r%qx5sA@4do@!-ZSXfveG*c-+ z26zmj1#lcEy#jciw;i|>I6pf(doIH5#^Cr*5;27&B7myy37Q`R+R7)J&E63-FSfGB zMeG6;i^VLk2S8Onit_V)e?!o$#2r&3u?t{~c^bF}__0(fosIGnkwE}eO_u;7@@mjL zOvLmDP}L2Ae|iM)JnuoE2rMivE`Hd~S41`i$8wx8H501WJb-GodOoI@ zS`v!@p65MB{i&{0tybUarHF`sqQPgO?&eBV!ePq1eK6bglP%gf83 zh{ywg9T*sRaRuE+0Yqf7SMhX9Pc}u1#bVZ4`vI_5RsV7vXS*@xhi?13uKOD>*o#$*eM+Ao2Dn0AsB_pjxeO)Tmy0o)M8rRXt#>{em_R zI@bdtGOnseY1(zpHu<%@_<&2Q`b+Sz@|CKdu-2aCI=}EvGz$QLwf36S4C5qN2LL7- z&$kpHO*Afoz-3iE*l16s0Iuu)cUy*QR#<$s)=oA0rc!_i#*8sj%_kGB4kv}RR>G z{2!7k0U~Ib|3gx>2CO9ihonjX=sy34q)vd4Zr?gftpMGUS^+xc|B%#Wfo}7ENGb$a zP5uu_g#Zz>&Ho{(SOZp*|3gwC0IWR!hqSx}8tszE7V%eE|Li6)z)^SdU8a00000 LNkvXXu0mjfMCX1B literal 0 HcmV?d00001 diff --git a/src/interface/static/img/pysBook.png b/src/interface/static/img/pysBook.png new file mode 100644 index 0000000000000000000000000000000000000000..9aa7608dc651ba4ec500433b8da9e268137af903 GIT binary patch literal 2417 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 literal 0 HcmV?d00001 diff --git a/src/interface/templates/index.html b/src/interface/templates/index.html index 888a2ac..aa5249a 100755 --- a/src/interface/templates/index.html +++ b/src/interface/templates/index.html @@ -10,6 +10,7 @@ pyShelf E-Book Server + @@ -73,11 +74,30 @@ cover missing

      • {{ book.title }}
      • -
      • Author: {{ book.author }}
      • +
      • {{ book.author }}
      • + {% if book.description|length >= 300 %} + {% make_description_obj book.description as descr_obj %} +
      • {{ descr_obj }}
      • + {% else %} +
      • {{ book.description }}
      • + {% endif %} +
      • Tags: {{ book.tags }}
      • - fav - download - share + + + Like + + + + + Download + + + + +
      diff --git a/src/interface/templates/search.html b/src/interface/templates/search.html index 3ed5ce0..14854f1 100755 --- a/src/interface/templates/search.html +++ b/src/interface/templates/search.html @@ -60,11 +60,29 @@
      Your search for {{ Query }} returned {{ len_results }} results
      -
      +
        - {% for book in Books %} -
      • {{ book.title }}
      • - {% endfor %} + {% for book in Books %} +
      • + cover missing +
          +
        • {{ book.title }}
        • +
        • {{ book.author }}
        • + {% if book.description|length >= 300 %} + {% make_description_obj book.description as descr_obj %} +
        • {{ descr_obj }}
        • + {% else %} +
        • {{ book.description }}
        • + {% endif %} +
        • Tags: {{ book.tags }}
        • +
        • + fav + download + share +
        • +
        +
      • + {% endfor %}
      diff --git a/src/interface/templatetags/filters.py b/src/interface/templatetags/filters.py index 11482a8..b9c53b3 100755 --- a/src/interface/templatetags/filters.py +++ b/src/interface/templatetags/filters.py @@ -5,7 +5,15 @@ from django import template register = template.Library() -@register.filter +@register.filter(name='bin_2_img') def bin_2_img(_bin): if _bin is not None: return b64encode(_bin).decode("utf-8") + else: return None + + +@register.simple_tag(name='make_description_obj') +def make_description_obj(description): + if description is not None: + return description[0:300]+"..." + else: return None diff --git a/src/interface/views.py b/src/interface/views.py index c59abe7..0b9fc0a 100755 --- a/src/interface/views.py +++ b/src/interface/views.py @@ -187,7 +187,29 @@ def download(request, pk): response["Content-Disposition"] = "attachment; filename=%s" % _fn return response +def favorite(request, pk): + """ + Favorite book by primary key + """ + _book = Books.objects.all().filter(pk=pk)[0] + _fn = hr_name(_book) + response = HttpResponse( + open(os.path.abspath(_book.file_name), "rb"), content_type="application/zip" + ) + response["Content-Disposition"] = "attachment; filename=%s" % _fn + return response +def share(request, pk): + """ + Share book by primary key + """ + _book = Books.objects.all().filter(pk=pk)[0] + _fn = hr_name(_book) + response = HttpResponse( + open(os.path.abspath(_book.file_name), "rb"), content_type="application/zip" + ) + response["Content-Disposition"] = "attachment; filename=%s" % _fn + return response def hr_name(book): """ Nicer file names