From dbe508a41862a916c08d0d901fb0248ddef40cc3 Mon Sep 17 00:00:00 2001 From: Putu Agastya <agastya.indrayana@gmail.com> Date: Thu, 26 Mar 2020 16:02:30 +0700 Subject: [PATCH] [CHORES] Push staticfiles dirs --- digipus/__pycache__/settings.cpython-36.pyc | Bin 3147 -> 2967 bytes .../admin/css/autocomplete.781713f30664.css | 260 + .../css/autocomplete.781713f30664.css.gz | Bin 0 -> 1093 bytes static/admin/css/autocomplete.css | 260 + static/admin/css/autocomplete.css.gz | Bin 0 -> 1093 bytes static/admin/css/base.ae33e6383baa.css | 987 ++ static/admin/css/base.ae33e6383baa.css.gz | Bin 0 -> 3913 bytes static/admin/css/base.css | 987 ++ static/admin/css/base.css.gz | Bin 0 -> 3790 bytes static/admin/css/changelists.cfe316f81936.css | 345 + .../admin/css/changelists.cfe316f81936.css.gz | Bin 0 -> 1490 bytes static/admin/css/changelists.css | 345 + static/admin/css/changelists.css.gz | Bin 0 -> 1490 bytes static/admin/css/dashboard.7ac78187c567.css | 27 + .../admin/css/dashboard.7ac78187c567.css.gz | Bin 0 -> 251 bytes static/admin/css/dashboard.css | 27 + static/admin/css/dashboard.css.gz | Bin 0 -> 251 bytes static/admin/css/fonts.168bab448fee.css | 20 + static/admin/css/fonts.168bab448fee.css.gz | Bin 0 -> 189 bytes static/admin/css/fonts.css | 20 + static/admin/css/fonts.css.gz | Bin 0 -> 151 bytes static/admin/css/forms.9f1ffc442e9a.css | 532 + static/admin/css/forms.9f1ffc442e9a.css.gz | Bin 0 -> 2134 bytes static/admin/css/forms.css | 532 + static/admin/css/forms.css.gz | Bin 0 -> 2099 bytes static/admin/css/login.252ffabd6548.css | 79 + static/admin/css/login.252ffabd6548.css.gz | Bin 0 -> 498 bytes static/admin/css/login.css | 79 + static/admin/css/login.css.gz | Bin 0 -> 498 bytes static/admin/css/responsive.755ce0b07393.css | 996 ++ .../admin/css/responsive.755ce0b07393.css.gz | Bin 0 -> 3324 bytes static/admin/css/responsive.css | 996 ++ static/admin/css/responsive.css.gz | Bin 0 -> 3324 bytes .../admin/css/responsive_rtl.51c7445ceeff.css | 84 + .../css/responsive_rtl.51c7445ceeff.css.gz | Bin 0 -> 525 bytes static/admin/css/responsive_rtl.css | 84 + static/admin/css/responsive_rtl.css.gz | Bin 0 -> 525 bytes static/admin/css/rtl.30f903442dc5.css | 269 + static/admin/css/rtl.30f903442dc5.css.gz | Bin 0 -> 1118 bytes static/admin/css/rtl.css | 269 + static/admin/css/rtl.css.gz | Bin 0 -> 1118 bytes .../select2/LICENSE-SELECT2.f94142512c91.md | 21 + .../LICENSE-SELECT2.f94142512c91.md.gz | Bin 0 -> 685 bytes .../css/vendor/select2/LICENSE-SELECT2.md | 21 + .../css/vendor/select2/LICENSE-SELECT2.md.gz | Bin 0 -> 685 bytes static/admin/css/vendor/select2/select2.css | 484 + .../admin/css/vendor/select2/select2.css.gz | Bin 0 -> 2245 bytes .../vendor/select2/select2.fd9fe49d3d91.css | 484 + .../select2/select2.fd9fe49d3d91.css.gz | Bin 0 -> 2245 bytes .../select2/select2.min.af22a7e2bfec.css | 1 + .../select2/select2.min.af22a7e2bfec.css.gz | Bin 0 -> 1989 bytes .../admin/css/vendor/select2/select2.min.css | 1 + .../css/vendor/select2/select2.min.css.gz | Bin 0 -> 1989 bytes static/admin/css/widgets.8874c301e7bc.css | 564 + static/admin/css/widgets.8874c301e7bc.css.gz | Bin 0 -> 2298 bytes static/admin/css/widgets.css | 564 + static/admin/css/widgets.css.gz | Bin 0 -> 2205 bytes static/admin/fonts/LICENSE.d273d63619c9.txt | 202 + .../admin/fonts/LICENSE.d273d63619c9.txt.gz | Bin 0 -> 3982 bytes static/admin/fonts/LICENSE.txt | 202 + static/admin/fonts/LICENSE.txt.gz | Bin 0 -> 3982 bytes static/admin/fonts/README.ab99e6b541ea.txt | 3 + static/admin/fonts/README.ab99e6b541ea.txt.gz | Bin 0 -> 180 bytes static/admin/fonts/README.txt | 3 + static/admin/fonts/README.txt.gz | Bin 0 -> 180 bytes .../Roboto-Bold-webfont.50d75e48e0a3.woff | Bin 0 -> 86184 bytes static/admin/fonts/Roboto-Bold-webfont.woff | Bin 0 -> 86184 bytes .../Roboto-Light-webfont.c73eb1ceba33.woff | Bin 0 -> 85692 bytes static/admin/fonts/Roboto-Light-webfont.woff | Bin 0 -> 85692 bytes .../Roboto-Regular-webfont.35b07eb2f871.woff | Bin 0 -> 85876 bytes .../admin/fonts/Roboto-Regular-webfont.woff | Bin 0 -> 85876 bytes static/admin/img/LICENSE | 20 + static/admin/img/LICENSE.2c54f4e1ca1c | 20 + static/admin/img/LICENSE.2c54f4e1ca1c.gz | Bin 0 -> 656 bytes static/admin/img/LICENSE.gz | Bin 0 -> 656 bytes static/admin/img/README.a70711a38d87.txt | 7 + static/admin/img/README.a70711a38d87.txt.gz | Bin 0 -> 214 bytes static/admin/img/README.txt | 7 + static/admin/img/README.txt.gz | Bin 0 -> 214 bytes .../admin/img/calendar-icons.39b290681a8b.svg | 14 + .../img/calendar-icons.39b290681a8b.svg.gz | Bin 0 -> 385 bytes static/admin/img/calendar-icons.svg | 14 + static/admin/img/calendar-icons.svg.gz | Bin 0 -> 385 bytes .../img/gis/move_vertex_off.7a23bf31ef8a.svg | 1 + .../gis/move_vertex_off.7a23bf31ef8a.svg.gz | Bin 0 -> 470 bytes static/admin/img/gis/move_vertex_off.svg | 1 + static/admin/img/gis/move_vertex_off.svg.gz | Bin 0 -> 470 bytes .../img/gis/move_vertex_on.0047eba25b67.svg | 1 + .../gis/move_vertex_on.0047eba25b67.svg.gz | Bin 0 -> 472 bytes static/admin/img/gis/move_vertex_on.svg | 1 + static/admin/img/gis/move_vertex_on.svg.gz | Bin 0 -> 472 bytes .../admin/img/icon-addlink.d519b3bab011.svg | 3 + .../img/icon-addlink.d519b3bab011.svg.gz | Bin 0 -> 206 bytes static/admin/img/icon-addlink.svg | 3 + static/admin/img/icon-addlink.svg.gz | Bin 0 -> 206 bytes static/admin/img/icon-alert.034cc7d8a67f.svg | 3 + .../admin/img/icon-alert.034cc7d8a67f.svg.gz | Bin 0 -> 329 bytes static/admin/img/icon-alert.svg | 3 + static/admin/img/icon-alert.svg.gz | Bin 0 -> 329 bytes .../admin/img/icon-calendar.ac7aea671bea.svg | 9 + .../img/icon-calendar.ac7aea671bea.svg.gz | Bin 0 -> 438 bytes static/admin/img/icon-calendar.svg | 9 + static/admin/img/icon-calendar.svg.gz | Bin 0 -> 438 bytes .../img/icon-changelink.18d2fd706348.svg | 3 + .../img/icon-changelink.18d2fd706348.svg.gz | Bin 0 -> 269 bytes static/admin/img/icon-changelink.svg | 3 + static/admin/img/icon-changelink.svg.gz | Bin 0 -> 269 bytes static/admin/img/icon-clock.e1d4dfac3f2b.svg | 9 + .../admin/img/icon-clock.e1d4dfac3f2b.svg.gz | Bin 0 -> 357 bytes static/admin/img/icon-clock.svg | 9 + static/admin/img/icon-clock.svg.gz | Bin 0 -> 357 bytes .../img/icon-deletelink.564ef9dc3854.svg | 3 + .../img/icon-deletelink.564ef9dc3854.svg.gz | Bin 0 -> 221 bytes static/admin/img/icon-deletelink.svg | 3 + static/admin/img/icon-deletelink.svg.gz | Bin 0 -> 221 bytes static/admin/img/icon-no.439e821418cd.svg | 3 + static/admin/img/icon-no.439e821418cd.svg.gz | Bin 0 -> 297 bytes static/admin/img/icon-no.svg | 3 + static/admin/img/icon-no.svg.gz | Bin 0 -> 297 bytes .../img/icon-unknown-alt.81536e128bb6.svg | 3 + .../img/icon-unknown-alt.81536e128bb6.svg.gz | Bin 0 -> 377 bytes static/admin/img/icon-unknown-alt.svg | 3 + static/admin/img/icon-unknown-alt.svg.gz | Bin 0 -> 377 bytes .../admin/img/icon-unknown.a18cb4398978.svg | 3 + .../img/icon-unknown.a18cb4398978.svg.gz | Bin 0 -> 377 bytes static/admin/img/icon-unknown.svg | 3 + static/admin/img/icon-unknown.svg.gz | Bin 0 -> 377 bytes .../admin/img/icon-viewlink.41eb31f7826e.svg | 3 + .../img/icon-viewlink.41eb31f7826e.svg.gz | Bin 0 -> 346 bytes static/admin/img/icon-viewlink.svg | 3 + static/admin/img/icon-viewlink.svg.gz | Bin 0 -> 346 bytes static/admin/img/icon-yes.d2f9f035226a.svg | 3 + static/admin/img/icon-yes.d2f9f035226a.svg.gz | Bin 0 -> 266 bytes static/admin/img/icon-yes.svg | 3 + static/admin/img/icon-yes.svg.gz | Bin 0 -> 266 bytes .../admin/img/inline-delete.fec1b761f254.svg | 3 + .../img/inline-delete.fec1b761f254.svg.gz | Bin 0 -> 293 bytes static/admin/img/inline-delete.svg | 3 + static/admin/img/inline-delete.svg.gz | Bin 0 -> 293 bytes static/admin/img/search.7cf54ff789c6.svg | 3 + static/admin/img/search.7cf54ff789c6.svg.gz | Bin 0 -> 264 bytes static/admin/img/search.svg | 3 + static/admin/img/search.svg.gz | Bin 0 -> 264 bytes .../admin/img/selector-icons.b4555096cea2.svg | 34 + .../img/selector-icons.b4555096cea2.svg.gz | Bin 0 -> 770 bytes static/admin/img/selector-icons.svg | 34 + static/admin/img/selector-icons.svg.gz | Bin 0 -> 770 bytes .../admin/img/sorting-icons.3a097b59f104.svg | 19 + .../img/sorting-icons.3a097b59f104.svg.gz | Bin 0 -> 366 bytes static/admin/img/sorting-icons.svg | 19 + static/admin/img/sorting-icons.svg.gz | Bin 0 -> 366 bytes static/admin/img/tooltag-add.e59d620a9742.svg | 3 + .../admin/img/tooltag-add.e59d620a9742.svg.gz | Bin 0 -> 203 bytes static/admin/img/tooltag-add.svg | 3 + static/admin/img/tooltag-add.svg.gz | Bin 0 -> 203 bytes .../img/tooltag-arrowright.bbfb788a849e.svg | 3 + .../tooltag-arrowright.bbfb788a849e.svg.gz | Bin 0 -> 194 bytes static/admin/img/tooltag-arrowright.svg | 3 + static/admin/img/tooltag-arrowright.svg.gz | Bin 0 -> 194 bytes static/admin/js/SelectBox.99d0cfd2e80c.js | 144 + static/admin/js/SelectBox.99d0cfd2e80c.js.gz | Bin 0 -> 1184 bytes static/admin/js/SelectBox.js | 144 + static/admin/js/SelectBox.js.gz | Bin 0 -> 1184 bytes static/admin/js/SelectFilter2.c26733924aea.js | 246 + .../admin/js/SelectFilter2.c26733924aea.js.gz | Bin 0 -> 2749 bytes static/admin/js/SelectFilter2.js | 246 + static/admin/js/SelectFilter2.js.gz | Bin 0 -> 2749 bytes static/admin/js/actions.8d83e3af0fbd.js | 153 + static/admin/js/actions.8d83e3af0fbd.js.gz | Bin 0 -> 1593 bytes static/admin/js/actions.js | 153 + static/admin/js/actions.js.gz | Bin 0 -> 1593 bytes static/admin/js/actions.min.5fa8cb0403f1.js | 7 + .../admin/js/actions.min.5fa8cb0403f1.js.gz | Bin 0 -> 1122 bytes static/admin/js/actions.min.js | 7 + static/admin/js/actions.min.js.gz | Bin 0 -> 1122 bytes .../admin/DateTimeShortcuts.a9c6d180860b.js | 423 + .../DateTimeShortcuts.a9c6d180860b.js.gz | Bin 0 -> 3837 bytes static/admin/js/admin/DateTimeShortcuts.js | 423 + static/admin/js/admin/DateTimeShortcuts.js.gz | Bin 0 -> 3837 bytes .../RelatedObjectLookups.ea0683bea064.js | 181 + .../RelatedObjectLookups.ea0683bea064.js.gz | Bin 0 -> 1845 bytes static/admin/js/admin/RelatedObjectLookups.js | 181 + .../admin/js/admin/RelatedObjectLookups.js.gz | Bin 0 -> 1845 bytes static/admin/js/autocomplete.cfd2c4dc8981.js | 37 + .../admin/js/autocomplete.cfd2c4dc8981.js.gz | Bin 0 -> 437 bytes static/admin/js/autocomplete.js | 37 + static/admin/js/autocomplete.js.gz | Bin 0 -> 437 bytes static/admin/js/calendar.aae57adab5f6.js | 208 + static/admin/js/calendar.aae57adab5f6.js.gz | Bin 0 -> 2086 bytes static/admin/js/calendar.js | 208 + static/admin/js/calendar.js.gz | Bin 0 -> 2086 bytes static/admin/js/cancel.a2c3149a1c5e.js | 13 + static/admin/js/cancel.a2c3149a1c5e.js.gz | Bin 0 -> 241 bytes static/admin/js/cancel.js | 13 + static/admin/js/cancel.js.gz | Bin 0 -> 241 bytes static/admin/js/change_form.9e85003a1a38.js | 20 + .../admin/js/change_form.9e85003a1a38.js.gz | Bin 0 -> 369 bytes static/admin/js/change_form.js | 20 + static/admin/js/change_form.js.gz | Bin 0 -> 369 bytes static/admin/js/collapse.c5b851e91226.js | 55 + static/admin/js/collapse.c5b851e91226.js.gz | Bin 0 -> 729 bytes static/admin/js/collapse.js | 55 + static/admin/js/collapse.js.gz | Bin 0 -> 729 bytes static/admin/js/collapse.min.44dfdb427845.js | 3 + .../admin/js/collapse.min.44dfdb427845.js.gz | Bin 0 -> 501 bytes static/admin/js/collapse.min.js | 3 + static/admin/js/collapse.min.js.gz | Bin 0 -> 501 bytes static/admin/js/core.ea39b3bd34c3.js | 173 + static/admin/js/core.ea39b3bd34c3.js.gz | Bin 0 -> 1523 bytes static/admin/js/core.js | 173 + static/admin/js/core.js.gz | Bin 0 -> 1523 bytes static/admin/js/inlines.12d1af430335.js | 298 + static/admin/js/inlines.12d1af430335.js.gz | Bin 0 -> 3273 bytes static/admin/js/inlines.js | 298 + static/admin/js/inlines.js.gz | Bin 0 -> 3273 bytes static/admin/js/inlines.min.6d6c2416646e.js | 10 + .../admin/js/inlines.min.6d6c2416646e.js.gz | Bin 0 -> 1571 bytes static/admin/js/inlines.min.js | 10 + static/admin/js/inlines.min.js.gz | Bin 0 -> 1571 bytes static/admin/js/jquery.init.95b62fa19378.js | 8 + .../admin/js/jquery.init.95b62fa19378.js.gz | Bin 0 -> 240 bytes static/admin/js/jquery.init.js | 8 + static/admin/js/jquery.init.js.gz | Bin 0 -> 240 bytes .../admin/js/popup_response.6ce3197f8fc8.js | 16 + .../js/popup_response.6ce3197f8fc8.js.gz | Bin 0 -> 280 bytes static/admin/js/popup_response.js | 16 + static/admin/js/popup_response.js.gz | Bin 0 -> 280 bytes static/admin/js/prepopulate.2f90da7170ec.js | 42 + .../admin/js/prepopulate.2f90da7170ec.js.gz | Bin 0 -> 535 bytes static/admin/js/prepopulate.js | 42 + static/admin/js/prepopulate.js.gz | Bin 0 -> 535 bytes .../admin/js/prepopulate.min.85fd5e0fb706.js | 1 + .../js/prepopulate.min.85fd5e0fb706.js.gz | Bin 0 -> 247 bytes static/admin/js/prepopulate.min.js | 1 + static/admin/js/prepopulate.min.js.gz | Bin 0 -> 247 bytes .../admin/js/prepopulate_init.0d3b53c37074.js | 10 + .../js/prepopulate_init.0d3b53c37074.js.gz | Bin 0 -> 270 bytes static/admin/js/prepopulate_init.js | 10 + static/admin/js/prepopulate_init.js.gz | Bin 0 -> 270 bytes static/admin/js/urlify.67bae52223e0.js | 195 + static/admin/js/urlify.67bae52223e0.js.gz | Bin 0 -> 2925 bytes static/admin/js/urlify.js | 195 + static/admin/js/urlify.js.gz | Bin 0 -> 2925 bytes .../js/vendor/jquery/LICENSE.75308107741f.txt | 20 + .../vendor/jquery/LICENSE.75308107741f.txt.gz | Bin 0 -> 650 bytes static/admin/js/vendor/jquery/LICENSE.txt | 20 + static/admin/js/vendor/jquery/LICENSE.txt.gz | Bin 0 -> 650 bytes .../js/vendor/jquery/jquery.11c05eb286ed.js | 10598 ++++++++++++++++ .../vendor/jquery/jquery.11c05eb286ed.js.gz | Bin 0 -> 82889 bytes static/admin/js/vendor/jquery/jquery.js | 10598 ++++++++++++++++ static/admin/js/vendor/jquery/jquery.js.gz | Bin 0 -> 82889 bytes .../vendor/jquery/jquery.min.220afd743d9e.js | 2 + .../jquery/jquery.min.220afd743d9e.js.gz | Bin 0 -> 30638 bytes static/admin/js/vendor/jquery/jquery.min.js | 2 + .../admin/js/vendor/jquery/jquery.min.js.gz | Bin 0 -> 30638 bytes .../js/vendor/select2/LICENSE.f94142512c91.md | 21 + .../vendor/select2/LICENSE.f94142512c91.md.gz | Bin 0 -> 685 bytes static/admin/js/vendor/select2/LICENSE.md | 21 + static/admin/js/vendor/select2/LICENSE.md.gz | Bin 0 -> 685 bytes .../js/vendor/select2/i18n/af.c4a5cbd6a23f.js | 3 + .../vendor/select2/i18n/af.c4a5cbd6a23f.js.gz | Bin 0 -> 467 bytes static/admin/js/vendor/select2/i18n/af.js | 3 + static/admin/js/vendor/select2/i18n/af.js.gz | Bin 0 -> 467 bytes .../js/vendor/select2/i18n/ar.7dcfd5775174.js | 3 + .../vendor/select2/i18n/ar.7dcfd5775174.js.gz | Bin 0 -> 512 bytes static/admin/js/vendor/select2/i18n/ar.js | 3 + static/admin/js/vendor/select2/i18n/ar.js.gz | Bin 0 -> 512 bytes .../js/vendor/select2/i18n/az.1804c238d269.js | 3 + .../vendor/select2/i18n/az.1804c238d269.js.gz | Bin 0 -> 430 bytes static/admin/js/vendor/select2/i18n/az.js | 3 + static/admin/js/vendor/select2/i18n/az.js.gz | Bin 0 -> 430 bytes .../js/vendor/select2/i18n/bg.096f4410173b.js | 3 + .../vendor/select2/i18n/bg.096f4410173b.js.gz | Bin 0 -> 549 bytes static/admin/js/vendor/select2/i18n/bg.js | 3 + static/admin/js/vendor/select2/i18n/bg.js.gz | Bin 0 -> 549 bytes .../js/vendor/select2/i18n/bn.b33721dc9b8a.js | 3 + .../vendor/select2/i18n/bn.b33721dc9b8a.js.gz | Bin 0 -> 560 bytes static/admin/js/vendor/select2/i18n/bn.js | 3 + static/admin/js/vendor/select2/i18n/bn.js.gz | Bin 0 -> 560 bytes .../js/vendor/select2/i18n/bs.debce43cfca2.js | 3 + .../vendor/select2/i18n/bs.debce43cfca2.js.gz | Bin 0 -> 535 bytes static/admin/js/vendor/select2/i18n/bs.js | 3 + static/admin/js/vendor/select2/i18n/bs.js.gz | Bin 0 -> 535 bytes .../js/vendor/select2/i18n/ca.60f20182ff18.js | 3 + .../vendor/select2/i18n/ca.60f20182ff18.js.gz | Bin 0 -> 480 bytes static/admin/js/vendor/select2/i18n/ca.js | 3 + static/admin/js/vendor/select2/i18n/ca.js.gz | Bin 0 -> 480 bytes .../js/vendor/select2/i18n/cs.edd7167cdcb6.js | 3 + .../vendor/select2/i18n/cs.edd7167cdcb6.js.gz | Bin 0 -> 630 bytes static/admin/js/vendor/select2/i18n/cs.js | 3 + static/admin/js/vendor/select2/i18n/cs.js.gz | Bin 0 -> 630 bytes .../js/vendor/select2/i18n/da.6bbc262044b3.js | 3 + .../vendor/select2/i18n/da.6bbc262044b3.js.gz | Bin 0 -> 451 bytes static/admin/js/vendor/select2/i18n/da.js | 3 + static/admin/js/vendor/select2/i18n/da.js.gz | Bin 0 -> 451 bytes .../js/vendor/select2/i18n/de.630e81c65a7b.js | 3 + .../vendor/select2/i18n/de.630e81c65a7b.js.gz | Bin 0 -> 490 bytes static/admin/js/vendor/select2/i18n/de.js | 3 + static/admin/js/vendor/select2/i18n/de.js.gz | Bin 0 -> 490 bytes .../vendor/select2/i18n/dsb.9c2742bfc55a.js | 3 + .../select2/i18n/dsb.9c2742bfc55a.js.gz | Bin 0 -> 555 bytes static/admin/js/vendor/select2/i18n/dsb.js | 3 + static/admin/js/vendor/select2/i18n/dsb.js.gz | Bin 0 -> 555 bytes .../js/vendor/select2/i18n/el.01c46bf8c8b3.js | 3 + .../vendor/select2/i18n/el.01c46bf8c8b3.js.gz | Bin 0 -> 650 bytes static/admin/js/vendor/select2/i18n/el.js | 3 + static/admin/js/vendor/select2/i18n/el.js.gz | Bin 0 -> 650 bytes .../js/vendor/select2/i18n/en.aed9bad15375.js | 3 + .../vendor/select2/i18n/en.aed9bad15375.js.gz | Bin 0 -> 451 bytes static/admin/js/vendor/select2/i18n/en.js | 3 + static/admin/js/vendor/select2/i18n/en.js.gz | Bin 0 -> 451 bytes .../js/vendor/select2/i18n/es.8b21ebdb01ee.js | 3 + .../vendor/select2/i18n/es.8b21ebdb01ee.js.gz | Bin 0 -> 486 bytes static/admin/js/vendor/select2/i18n/es.js | 3 + static/admin/js/vendor/select2/i18n/es.js.gz | Bin 0 -> 486 bytes .../js/vendor/select2/i18n/et.32b0b17ba1a9.js | 3 + .../vendor/select2/i18n/et.32b0b17ba1a9.js.gz | Bin 0 -> 445 bytes static/admin/js/vendor/select2/i18n/et.js | 3 + static/admin/js/vendor/select2/i18n/et.js.gz | Bin 0 -> 445 bytes .../js/vendor/select2/i18n/eu.6c45eaf416fe.js | 3 + .../vendor/select2/i18n/eu.6c45eaf416fe.js.gz | Bin 0 -> 458 bytes static/admin/js/vendor/select2/i18n/eu.js | 3 + static/admin/js/vendor/select2/i18n/eu.js.gz | Bin 0 -> 458 bytes .../js/vendor/select2/i18n/fa.1738b003dd26.js | 3 + .../vendor/select2/i18n/fa.1738b003dd26.js.gz | Bin 0 -> 558 bytes static/admin/js/vendor/select2/i18n/fa.js | 3 + static/admin/js/vendor/select2/i18n/fa.js.gz | Bin 0 -> 558 bytes .../js/vendor/select2/i18n/fi.2858f3167855.js | 3 + .../vendor/select2/i18n/fi.2858f3167855.js.gz | Bin 0 -> 443 bytes static/admin/js/vendor/select2/i18n/fi.js | 3 + static/admin/js/vendor/select2/i18n/fi.js.gz | Bin 0 -> 443 bytes .../js/vendor/select2/i18n/fr.6129248732b9.js | 3 + .../vendor/select2/i18n/fr.6129248732b9.js.gz | Bin 0 -> 496 bytes static/admin/js/vendor/select2/i18n/fr.js | 3 + static/admin/js/vendor/select2/i18n/fr.js.gz | Bin 0 -> 496 bytes .../js/vendor/select2/i18n/gl.e2766036e78a.js | 3 + .../vendor/select2/i18n/gl.e2766036e78a.js.gz | Bin 0 -> 473 bytes static/admin/js/vendor/select2/i18n/gl.js | 3 + static/admin/js/vendor/select2/i18n/gl.js.gz | Bin 0 -> 473 bytes .../js/vendor/select2/i18n/he.4d933538516a.js | 3 + .../vendor/select2/i18n/he.4d933538516a.js.gz | Bin 0 -> 530 bytes static/admin/js/vendor/select2/i18n/he.js | 3 + static/admin/js/vendor/select2/i18n/he.js.gz | Bin 0 -> 530 bytes .../js/vendor/select2/i18n/hi.f81e979ec25f.js | 3 + .../vendor/select2/i18n/hi.f81e979ec25f.js.gz | Bin 0 -> 581 bytes static/admin/js/vendor/select2/i18n/hi.js | 3 + static/admin/js/vendor/select2/i18n/hi.js.gz | Bin 0 -> 581 bytes .../js/vendor/select2/i18n/hr.68583e607f1e.js | 3 + .../vendor/select2/i18n/hr.68583e607f1e.js.gz | Bin 0 -> 488 bytes static/admin/js/vendor/select2/i18n/hr.js | 3 + static/admin/js/vendor/select2/i18n/hr.js.gz | Bin 0 -> 488 bytes .../vendor/select2/i18n/hsb.50caaee90a0d.js | 3 + .../select2/i18n/hsb.50caaee90a0d.js.gz | Bin 0 -> 560 bytes static/admin/js/vendor/select2/i18n/hsb.js | 3 + static/admin/js/vendor/select2/i18n/hsb.js.gz | Bin 0 -> 560 bytes .../js/vendor/select2/i18n/hu.9edad4c24fd0.js | 3 + .../vendor/select2/i18n/hu.9edad4c24fd0.js.gz | Bin 0 -> 483 bytes static/admin/js/vendor/select2/i18n/hu.js | 3 + static/admin/js/vendor/select2/i18n/hu.js.gz | Bin 0 -> 483 bytes .../js/vendor/select2/i18n/hy.4c655f53f4e1.js | 3 + .../vendor/select2/i18n/hy.4c655f53f4e1.js.gz | Bin 0 -> 555 bytes static/admin/js/vendor/select2/i18n/hy.js | 3 + static/admin/js/vendor/select2/i18n/hy.js.gz | Bin 0 -> 555 bytes .../js/vendor/select2/i18n/id.322604a430a5.js | 3 + .../vendor/select2/i18n/id.322604a430a5.js.gz | Bin 0 -> 433 bytes static/admin/js/vendor/select2/i18n/id.js | 3 + static/admin/js/vendor/select2/i18n/id.js.gz | Bin 0 -> 433 bytes .../js/vendor/select2/i18n/is.a8a13c9122d7.js | 3 + .../vendor/select2/i18n/is.a8a13c9122d7.js.gz | Bin 0 -> 475 bytes static/admin/js/vendor/select2/i18n/is.js | 3 + static/admin/js/vendor/select2/i18n/is.js.gz | Bin 0 -> 475 bytes .../js/vendor/select2/i18n/it.110a0fa84968.js | 3 + .../vendor/select2/i18n/it.110a0fa84968.js.gz | Bin 0 -> 493 bytes static/admin/js/vendor/select2/i18n/it.js | 3 + static/admin/js/vendor/select2/i18n/it.js.gz | Bin 0 -> 493 bytes .../js/vendor/select2/i18n/ja.442146837f55.js | 3 + .../vendor/select2/i18n/ja.442146837f55.js.gz | Bin 0 -> 534 bytes static/admin/js/vendor/select2/i18n/ja.js | 3 + static/admin/js/vendor/select2/i18n/ja.js.gz | Bin 0 -> 534 bytes .../js/vendor/select2/i18n/ka.8ea0684cc301.js | 3 + .../vendor/select2/i18n/ka.8ea0684cc301.js.gz | Bin 0 -> 556 bytes static/admin/js/vendor/select2/i18n/ka.js | 3 + static/admin/js/vendor/select2/i18n/ka.js.gz | Bin 0 -> 556 bytes .../js/vendor/select2/i18n/km.8c337905305d.js | 3 + .../vendor/select2/i18n/km.8c337905305d.js.gz | Bin 0 -> 563 bytes static/admin/js/vendor/select2/i18n/km.js | 3 + static/admin/js/vendor/select2/i18n/km.js.gz | Bin 0 -> 563 bytes .../js/vendor/select2/i18n/ko.82358a9b6840.js | 3 + .../vendor/select2/i18n/ko.82358a9b6840.js.gz | Bin 0 -> 528 bytes static/admin/js/vendor/select2/i18n/ko.js | 3 + static/admin/js/vendor/select2/i18n/ko.js.gz | Bin 0 -> 528 bytes .../js/vendor/select2/i18n/lt.2c390a6bf650.js | 3 + .../vendor/select2/i18n/lt.2c390a6bf650.js.gz | Bin 0 -> 532 bytes static/admin/js/vendor/select2/i18n/lt.js | 3 + static/admin/js/vendor/select2/i18n/lt.js.gz | Bin 0 -> 532 bytes .../js/vendor/select2/i18n/lv.30bfb7fc3b63.js | 3 + .../vendor/select2/i18n/lv.30bfb7fc3b63.js.gz | Bin 0 -> 511 bytes static/admin/js/vendor/select2/i18n/lv.js | 3 + static/admin/js/vendor/select2/i18n/lv.js.gz | Bin 0 -> 511 bytes .../js/vendor/select2/i18n/mk.92f1d29581b7.js | 3 + .../vendor/select2/i18n/mk.92f1d29581b7.js.gz | Bin 0 -> 566 bytes static/admin/js/vendor/select2/i18n/mk.js | 3 + static/admin/js/vendor/select2/i18n/mk.js.gz | Bin 0 -> 566 bytes .../js/vendor/select2/i18n/ms.ade6aba46542.js | 3 + .../vendor/select2/i18n/ms.ade6aba46542.js.gz | Bin 0 -> 450 bytes static/admin/js/vendor/select2/i18n/ms.js | 3 + static/admin/js/vendor/select2/i18n/ms.js.gz | Bin 0 -> 450 bytes .../js/vendor/select2/i18n/nb.e535138ca26b.js | 3 + .../vendor/select2/i18n/nb.e535138ca26b.js.gz | Bin 0 -> 430 bytes static/admin/js/vendor/select2/i18n/nb.js | 3 + static/admin/js/vendor/select2/i18n/nb.js.gz | Bin 0 -> 430 bytes .../js/vendor/select2/i18n/ne.f61bf00bc3fe.js | 3 + .../vendor/select2/i18n/ne.f61bf00bc3fe.js.gz | Bin 0 -> 592 bytes static/admin/js/vendor/select2/i18n/ne.js | 3 + static/admin/js/vendor/select2/i18n/ne.js.gz | Bin 0 -> 592 bytes .../js/vendor/select2/i18n/nl.674c0d3da68d.js | 3 + .../vendor/select2/i18n/nl.674c0d3da68d.js.gz | Bin 0 -> 481 bytes static/admin/js/vendor/select2/i18n/nl.js | 3 + static/admin/js/vendor/select2/i18n/nl.js.gz | Bin 0 -> 481 bytes .../js/vendor/select2/i18n/pl.a10ee9248c07.js | 3 + .../vendor/select2/i18n/pl.a10ee9248c07.js.gz | Bin 0 -> 527 bytes static/admin/js/vendor/select2/i18n/pl.js | 3 + static/admin/js/vendor/select2/i18n/pl.js.gz | Bin 0 -> 527 bytes .../js/vendor/select2/i18n/ps.de1a40c46c09.js | 3 + .../vendor/select2/i18n/ps.de1a40c46c09.js.gz | Bin 0 -> 591 bytes static/admin/js/vendor/select2/i18n/ps.js | 3 + static/admin/js/vendor/select2/i18n/ps.js.gz | Bin 0 -> 591 bytes .../vendor/select2/i18n/pt-BR.455adefc2984.js | 3 + .../select2/i18n/pt-BR.455adefc2984.js.gz | Bin 0 -> 493 bytes static/admin/js/vendor/select2/i18n/pt-BR.js | 3 + .../admin/js/vendor/select2/i18n/pt-BR.js.gz | Bin 0 -> 493 bytes .../js/vendor/select2/i18n/pt.5b4ec8cb5b23.js | 3 + .../vendor/select2/i18n/pt.5b4ec8cb5b23.js.gz | Bin 0 -> 480 bytes static/admin/js/vendor/select2/i18n/pt.js | 3 + static/admin/js/vendor/select2/i18n/pt.js.gz | Bin 0 -> 480 bytes .../js/vendor/select2/i18n/ro.ea7e3b822b06.js | 3 + .../vendor/select2/i18n/ro.ea7e3b822b06.js.gz | Bin 0 -> 512 bytes static/admin/js/vendor/select2/i18n/ro.js | 3 + static/admin/js/vendor/select2/i18n/ro.js.gz | Bin 0 -> 512 bytes .../js/vendor/select2/i18n/ru.962f048c22f2.js | 3 + .../vendor/select2/i18n/ru.962f048c22f2.js.gz | Bin 0 -> 642 bytes static/admin/js/vendor/select2/i18n/ru.js | 3 + static/admin/js/vendor/select2/i18n/ru.js.gz | Bin 0 -> 642 bytes .../js/vendor/select2/i18n/sk.34019208b835.js | 3 + .../vendor/select2/i18n/sk.34019208b835.js.gz | Bin 0 -> 623 bytes static/admin/js/vendor/select2/i18n/sk.js | 3 + static/admin/js/vendor/select2/i18n/sk.js.gz | Bin 0 -> 623 bytes .../js/vendor/select2/i18n/sl.a5e262c643f2.js | 3 + .../vendor/select2/i18n/sl.a5e262c643f2.js.gz | Bin 0 -> 497 bytes static/admin/js/vendor/select2/i18n/sl.js | 3 + static/admin/js/vendor/select2/i18n/sl.js.gz | Bin 0 -> 497 bytes .../js/vendor/select2/i18n/sq.abf2d34b255a.js | 3 + .../vendor/select2/i18n/sq.abf2d34b255a.js.gz | Bin 0 -> 495 bytes static/admin/js/vendor/select2/i18n/sq.js | 3 + static/admin/js/vendor/select2/i18n/sq.js.gz | Bin 0 -> 495 bytes .../select2/i18n/sr-Cyrl.116365a2de65.js | 3 + .../select2/i18n/sr-Cyrl.116365a2de65.js.gz | Bin 0 -> 615 bytes .../admin/js/vendor/select2/i18n/sr-Cyrl.js | 3 + .../js/vendor/select2/i18n/sr-Cyrl.js.gz | Bin 0 -> 615 bytes .../js/vendor/select2/i18n/sr.c9f16b9e0f93.js | 3 + .../vendor/select2/i18n/sr.c9f16b9e0f93.js.gz | Bin 0 -> 562 bytes static/admin/js/vendor/select2/i18n/sr.js | 3 + static/admin/js/vendor/select2/i18n/sr.js.gz | Bin 0 -> 562 bytes .../js/vendor/select2/i18n/sv.725800c5e8fc.js | 3 + .../vendor/select2/i18n/sv.725800c5e8fc.js.gz | Bin 0 -> 449 bytes static/admin/js/vendor/select2/i18n/sv.js | 3 + static/admin/js/vendor/select2/i18n/sv.js.gz | Bin 0 -> 449 bytes .../js/vendor/select2/i18n/th.b013804dae9c.js | 3 + .../vendor/select2/i18n/th.b013804dae9c.js.gz | Bin 0 -> 536 bytes static/admin/js/vendor/select2/i18n/th.js | 3 + static/admin/js/vendor/select2/i18n/th.js.gz | Bin 0 -> 536 bytes .../js/vendor/select2/i18n/tk.5042dc8eca8e.js | 3 + .../vendor/select2/i18n/tk.5042dc8eca8e.js.gz | Bin 0 -> 457 bytes static/admin/js/vendor/select2/i18n/tk.js | 3 + static/admin/js/vendor/select2/i18n/tk.js.gz | Bin 0 -> 457 bytes .../js/vendor/select2/i18n/tr.dc697d893beb.js | 3 + .../vendor/select2/i18n/tr.dc697d893beb.js.gz | Bin 0 -> 447 bytes static/admin/js/vendor/select2/i18n/tr.js | 3 + static/admin/js/vendor/select2/i18n/tr.js.gz | Bin 0 -> 447 bytes .../js/vendor/select2/i18n/uk.e05ad5df6258.js | 3 + .../vendor/select2/i18n/uk.e05ad5df6258.js.gz | Bin 0 -> 644 bytes static/admin/js/vendor/select2/i18n/uk.js | 3 + static/admin/js/vendor/select2/i18n/uk.js.gz | Bin 0 -> 644 bytes .../js/vendor/select2/i18n/vi.0a60056920fc.js | 3 + .../vendor/select2/i18n/vi.0a60056920fc.js.gz | Bin 0 -> 498 bytes static/admin/js/vendor/select2/i18n/vi.js | 3 + static/admin/js/vendor/select2/i18n/vi.js.gz | Bin 0 -> 498 bytes .../vendor/select2/i18n/zh-CN.bde34fa3f064.js | 3 + .../select2/i18n/zh-CN.bde34fa3f064.js.gz | Bin 0 -> 489 bytes static/admin/js/vendor/select2/i18n/zh-CN.js | 3 + .../admin/js/vendor/select2/i18n/zh-CN.js.gz | Bin 0 -> 489 bytes .../vendor/select2/i18n/zh-TW.e727260f7094.js | 3 + .../select2/i18n/zh-TW.e727260f7094.js.gz | Bin 0 -> 470 bytes static/admin/js/vendor/select2/i18n/zh-TW.js | 3 + .../admin/js/vendor/select2/i18n/zh-TW.js.gz | Bin 0 -> 470 bytes .../select2/select2.full.d379d5235584.js | 6597 ++++++++++ .../select2/select2.full.d379d5235584.js.gz | Bin 0 -> 36735 bytes .../admin/js/vendor/select2/select2.full.js | 6597 ++++++++++ .../js/vendor/select2/select2.full.js.gz | Bin 0 -> 36735 bytes .../select2/select2.full.min.68e8d8f673b7.js | 1 + .../select2.full.min.68e8d8f673b7.js.gz | Bin 0 -> 21673 bytes .../js/vendor/select2/select2.full.min.js | 1 + .../js/vendor/select2/select2.full.min.js.gz | Bin 0 -> 21673 bytes .../vendor/xregexp/LICENSE.d64cecf4f157.txt | 21 + .../xregexp/LICENSE.d64cecf4f157.txt.gz | Bin 0 -> 679 bytes static/admin/js/vendor/xregexp/LICENSE.txt | 21 + static/admin/js/vendor/xregexp/LICENSE.txt.gz | Bin 0 -> 679 bytes .../js/vendor/xregexp/xregexp.1865b1cf5085.js | 2308 ++++ .../vendor/xregexp/xregexp.1865b1cf5085.js.gz | Bin 0 -> 39385 bytes static/admin/js/vendor/xregexp/xregexp.js | 2308 ++++ static/admin/js/vendor/xregexp/xregexp.js.gz | Bin 0 -> 39385 bytes .../xregexp/xregexp.min.c95393b8ca4d.js | 18 + .../xregexp/xregexp.min.c95393b8ca4d.js.gz | Bin 0 -> 23476 bytes static/admin/js/vendor/xregexp/xregexp.min.js | 18 + .../admin/js/vendor/xregexp/xregexp.min.js.gz | Bin 0 -> 23476 bytes static/staticfiles.json | 1 + staticfiles/temp | 1 + 517 files changed, 54068 insertions(+) create mode 100644 static/admin/css/autocomplete.781713f30664.css create mode 100644 static/admin/css/autocomplete.781713f30664.css.gz create mode 100644 static/admin/css/autocomplete.css create mode 100644 static/admin/css/autocomplete.css.gz create mode 100644 static/admin/css/base.ae33e6383baa.css create mode 100644 static/admin/css/base.ae33e6383baa.css.gz create mode 100644 static/admin/css/base.css create mode 100644 static/admin/css/base.css.gz create mode 100644 static/admin/css/changelists.cfe316f81936.css create mode 100644 static/admin/css/changelists.cfe316f81936.css.gz create mode 100644 static/admin/css/changelists.css create mode 100644 static/admin/css/changelists.css.gz create mode 100644 static/admin/css/dashboard.7ac78187c567.css create mode 100644 static/admin/css/dashboard.7ac78187c567.css.gz create mode 100644 static/admin/css/dashboard.css create mode 100644 static/admin/css/dashboard.css.gz create mode 100644 static/admin/css/fonts.168bab448fee.css create mode 100644 static/admin/css/fonts.168bab448fee.css.gz create mode 100644 static/admin/css/fonts.css create mode 100644 static/admin/css/fonts.css.gz create mode 100644 static/admin/css/forms.9f1ffc442e9a.css create mode 100644 static/admin/css/forms.9f1ffc442e9a.css.gz create mode 100644 static/admin/css/forms.css create mode 100644 static/admin/css/forms.css.gz create mode 100644 static/admin/css/login.252ffabd6548.css create mode 100644 static/admin/css/login.252ffabd6548.css.gz create mode 100644 static/admin/css/login.css create mode 100644 static/admin/css/login.css.gz create mode 100644 static/admin/css/responsive.755ce0b07393.css create mode 100644 static/admin/css/responsive.755ce0b07393.css.gz create mode 100644 static/admin/css/responsive.css create mode 100644 static/admin/css/responsive.css.gz create mode 100644 static/admin/css/responsive_rtl.51c7445ceeff.css create mode 100644 static/admin/css/responsive_rtl.51c7445ceeff.css.gz create mode 100644 static/admin/css/responsive_rtl.css create mode 100644 static/admin/css/responsive_rtl.css.gz create mode 100644 static/admin/css/rtl.30f903442dc5.css create mode 100644 static/admin/css/rtl.30f903442dc5.css.gz create mode 100644 static/admin/css/rtl.css create mode 100644 static/admin/css/rtl.css.gz create mode 100644 static/admin/css/vendor/select2/LICENSE-SELECT2.f94142512c91.md create mode 100644 static/admin/css/vendor/select2/LICENSE-SELECT2.f94142512c91.md.gz create mode 100644 static/admin/css/vendor/select2/LICENSE-SELECT2.md create mode 100644 static/admin/css/vendor/select2/LICENSE-SELECT2.md.gz create mode 100644 static/admin/css/vendor/select2/select2.css create mode 100644 static/admin/css/vendor/select2/select2.css.gz create mode 100644 static/admin/css/vendor/select2/select2.fd9fe49d3d91.css create mode 100644 static/admin/css/vendor/select2/select2.fd9fe49d3d91.css.gz create mode 100644 static/admin/css/vendor/select2/select2.min.af22a7e2bfec.css create mode 100644 static/admin/css/vendor/select2/select2.min.af22a7e2bfec.css.gz create mode 100644 static/admin/css/vendor/select2/select2.min.css create mode 100644 static/admin/css/vendor/select2/select2.min.css.gz create mode 100644 static/admin/css/widgets.8874c301e7bc.css create mode 100644 static/admin/css/widgets.8874c301e7bc.css.gz create mode 100644 static/admin/css/widgets.css create mode 100644 static/admin/css/widgets.css.gz create mode 100644 static/admin/fonts/LICENSE.d273d63619c9.txt create mode 100644 static/admin/fonts/LICENSE.d273d63619c9.txt.gz create mode 100644 static/admin/fonts/LICENSE.txt create mode 100644 static/admin/fonts/LICENSE.txt.gz create mode 100644 static/admin/fonts/README.ab99e6b541ea.txt create mode 100644 static/admin/fonts/README.ab99e6b541ea.txt.gz create mode 100644 static/admin/fonts/README.txt create mode 100644 static/admin/fonts/README.txt.gz create mode 100644 static/admin/fonts/Roboto-Bold-webfont.50d75e48e0a3.woff create mode 100644 static/admin/fonts/Roboto-Bold-webfont.woff create mode 100644 static/admin/fonts/Roboto-Light-webfont.c73eb1ceba33.woff create mode 100644 static/admin/fonts/Roboto-Light-webfont.woff create mode 100644 static/admin/fonts/Roboto-Regular-webfont.35b07eb2f871.woff create mode 100644 static/admin/fonts/Roboto-Regular-webfont.woff create mode 100644 static/admin/img/LICENSE create mode 100644 static/admin/img/LICENSE.2c54f4e1ca1c create mode 100644 static/admin/img/LICENSE.2c54f4e1ca1c.gz create mode 100644 static/admin/img/LICENSE.gz create mode 100644 static/admin/img/README.a70711a38d87.txt create mode 100644 static/admin/img/README.a70711a38d87.txt.gz create mode 100644 static/admin/img/README.txt create mode 100644 static/admin/img/README.txt.gz create mode 100644 static/admin/img/calendar-icons.39b290681a8b.svg create mode 100644 static/admin/img/calendar-icons.39b290681a8b.svg.gz create mode 100644 static/admin/img/calendar-icons.svg create mode 100644 static/admin/img/calendar-icons.svg.gz create mode 100644 static/admin/img/gis/move_vertex_off.7a23bf31ef8a.svg create mode 100644 static/admin/img/gis/move_vertex_off.7a23bf31ef8a.svg.gz create mode 100644 static/admin/img/gis/move_vertex_off.svg create mode 100644 static/admin/img/gis/move_vertex_off.svg.gz create mode 100644 static/admin/img/gis/move_vertex_on.0047eba25b67.svg create mode 100644 static/admin/img/gis/move_vertex_on.0047eba25b67.svg.gz create mode 100644 static/admin/img/gis/move_vertex_on.svg create mode 100644 static/admin/img/gis/move_vertex_on.svg.gz create mode 100644 static/admin/img/icon-addlink.d519b3bab011.svg create mode 100644 static/admin/img/icon-addlink.d519b3bab011.svg.gz create mode 100644 static/admin/img/icon-addlink.svg create mode 100644 static/admin/img/icon-addlink.svg.gz create mode 100644 static/admin/img/icon-alert.034cc7d8a67f.svg create mode 100644 static/admin/img/icon-alert.034cc7d8a67f.svg.gz create mode 100644 static/admin/img/icon-alert.svg create mode 100644 static/admin/img/icon-alert.svg.gz create mode 100644 static/admin/img/icon-calendar.ac7aea671bea.svg create mode 100644 static/admin/img/icon-calendar.ac7aea671bea.svg.gz create mode 100644 static/admin/img/icon-calendar.svg create mode 100644 static/admin/img/icon-calendar.svg.gz create mode 100644 static/admin/img/icon-changelink.18d2fd706348.svg create mode 100644 static/admin/img/icon-changelink.18d2fd706348.svg.gz create mode 100644 static/admin/img/icon-changelink.svg create mode 100644 static/admin/img/icon-changelink.svg.gz create mode 100644 static/admin/img/icon-clock.e1d4dfac3f2b.svg create mode 100644 static/admin/img/icon-clock.e1d4dfac3f2b.svg.gz create mode 100644 static/admin/img/icon-clock.svg create mode 100644 static/admin/img/icon-clock.svg.gz create mode 100644 static/admin/img/icon-deletelink.564ef9dc3854.svg create mode 100644 static/admin/img/icon-deletelink.564ef9dc3854.svg.gz create mode 100644 static/admin/img/icon-deletelink.svg create mode 100644 static/admin/img/icon-deletelink.svg.gz create mode 100644 static/admin/img/icon-no.439e821418cd.svg create mode 100644 static/admin/img/icon-no.439e821418cd.svg.gz create mode 100644 static/admin/img/icon-no.svg create mode 100644 static/admin/img/icon-no.svg.gz create mode 100644 static/admin/img/icon-unknown-alt.81536e128bb6.svg create mode 100644 static/admin/img/icon-unknown-alt.81536e128bb6.svg.gz create mode 100644 static/admin/img/icon-unknown-alt.svg create mode 100644 static/admin/img/icon-unknown-alt.svg.gz create mode 100644 static/admin/img/icon-unknown.a18cb4398978.svg create mode 100644 static/admin/img/icon-unknown.a18cb4398978.svg.gz create mode 100644 static/admin/img/icon-unknown.svg create mode 100644 static/admin/img/icon-unknown.svg.gz create mode 100644 static/admin/img/icon-viewlink.41eb31f7826e.svg create mode 100644 static/admin/img/icon-viewlink.41eb31f7826e.svg.gz create mode 100644 static/admin/img/icon-viewlink.svg create mode 100644 static/admin/img/icon-viewlink.svg.gz create mode 100644 static/admin/img/icon-yes.d2f9f035226a.svg create mode 100644 static/admin/img/icon-yes.d2f9f035226a.svg.gz create mode 100644 static/admin/img/icon-yes.svg create mode 100644 static/admin/img/icon-yes.svg.gz create mode 100644 static/admin/img/inline-delete.fec1b761f254.svg create mode 100644 static/admin/img/inline-delete.fec1b761f254.svg.gz create mode 100644 static/admin/img/inline-delete.svg create mode 100644 static/admin/img/inline-delete.svg.gz create mode 100644 static/admin/img/search.7cf54ff789c6.svg create mode 100644 static/admin/img/search.7cf54ff789c6.svg.gz create mode 100644 static/admin/img/search.svg create mode 100644 static/admin/img/search.svg.gz create mode 100644 static/admin/img/selector-icons.b4555096cea2.svg create mode 100644 static/admin/img/selector-icons.b4555096cea2.svg.gz create mode 100644 static/admin/img/selector-icons.svg create mode 100644 static/admin/img/selector-icons.svg.gz create mode 100644 static/admin/img/sorting-icons.3a097b59f104.svg create mode 100644 static/admin/img/sorting-icons.3a097b59f104.svg.gz create mode 100644 static/admin/img/sorting-icons.svg create mode 100644 static/admin/img/sorting-icons.svg.gz create mode 100644 static/admin/img/tooltag-add.e59d620a9742.svg create mode 100644 static/admin/img/tooltag-add.e59d620a9742.svg.gz create mode 100644 static/admin/img/tooltag-add.svg create mode 100644 static/admin/img/tooltag-add.svg.gz create mode 100644 static/admin/img/tooltag-arrowright.bbfb788a849e.svg create mode 100644 static/admin/img/tooltag-arrowright.bbfb788a849e.svg.gz create mode 100644 static/admin/img/tooltag-arrowright.svg create mode 100644 static/admin/img/tooltag-arrowright.svg.gz create mode 100644 static/admin/js/SelectBox.99d0cfd2e80c.js create mode 100644 static/admin/js/SelectBox.99d0cfd2e80c.js.gz create mode 100644 static/admin/js/SelectBox.js create mode 100644 static/admin/js/SelectBox.js.gz create mode 100644 static/admin/js/SelectFilter2.c26733924aea.js create mode 100644 static/admin/js/SelectFilter2.c26733924aea.js.gz create mode 100644 static/admin/js/SelectFilter2.js create mode 100644 static/admin/js/SelectFilter2.js.gz create mode 100644 static/admin/js/actions.8d83e3af0fbd.js create mode 100644 static/admin/js/actions.8d83e3af0fbd.js.gz create mode 100644 static/admin/js/actions.js create mode 100644 static/admin/js/actions.js.gz create mode 100644 static/admin/js/actions.min.5fa8cb0403f1.js create mode 100644 static/admin/js/actions.min.5fa8cb0403f1.js.gz create mode 100644 static/admin/js/actions.min.js create mode 100644 static/admin/js/actions.min.js.gz create mode 100644 static/admin/js/admin/DateTimeShortcuts.a9c6d180860b.js create mode 100644 static/admin/js/admin/DateTimeShortcuts.a9c6d180860b.js.gz create mode 100644 static/admin/js/admin/DateTimeShortcuts.js create mode 100644 static/admin/js/admin/DateTimeShortcuts.js.gz create mode 100644 static/admin/js/admin/RelatedObjectLookups.ea0683bea064.js create mode 100644 static/admin/js/admin/RelatedObjectLookups.ea0683bea064.js.gz create mode 100644 static/admin/js/admin/RelatedObjectLookups.js create mode 100644 static/admin/js/admin/RelatedObjectLookups.js.gz create mode 100644 static/admin/js/autocomplete.cfd2c4dc8981.js create mode 100644 static/admin/js/autocomplete.cfd2c4dc8981.js.gz create mode 100644 static/admin/js/autocomplete.js create mode 100644 static/admin/js/autocomplete.js.gz create mode 100644 static/admin/js/calendar.aae57adab5f6.js create mode 100644 static/admin/js/calendar.aae57adab5f6.js.gz create mode 100644 static/admin/js/calendar.js create mode 100644 static/admin/js/calendar.js.gz create mode 100644 static/admin/js/cancel.a2c3149a1c5e.js create mode 100644 static/admin/js/cancel.a2c3149a1c5e.js.gz create mode 100644 static/admin/js/cancel.js create mode 100644 static/admin/js/cancel.js.gz create mode 100644 static/admin/js/change_form.9e85003a1a38.js create mode 100644 static/admin/js/change_form.9e85003a1a38.js.gz create mode 100644 static/admin/js/change_form.js create mode 100644 static/admin/js/change_form.js.gz create mode 100644 static/admin/js/collapse.c5b851e91226.js create mode 100644 static/admin/js/collapse.c5b851e91226.js.gz create mode 100644 static/admin/js/collapse.js create mode 100644 static/admin/js/collapse.js.gz create mode 100644 static/admin/js/collapse.min.44dfdb427845.js create mode 100644 static/admin/js/collapse.min.44dfdb427845.js.gz create mode 100644 static/admin/js/collapse.min.js create mode 100644 static/admin/js/collapse.min.js.gz create mode 100644 static/admin/js/core.ea39b3bd34c3.js create mode 100644 static/admin/js/core.ea39b3bd34c3.js.gz create mode 100644 static/admin/js/core.js create mode 100644 static/admin/js/core.js.gz create mode 100644 static/admin/js/inlines.12d1af430335.js create mode 100644 static/admin/js/inlines.12d1af430335.js.gz create mode 100644 static/admin/js/inlines.js create mode 100644 static/admin/js/inlines.js.gz create mode 100644 static/admin/js/inlines.min.6d6c2416646e.js create mode 100644 static/admin/js/inlines.min.6d6c2416646e.js.gz create mode 100644 static/admin/js/inlines.min.js create mode 100644 static/admin/js/inlines.min.js.gz create mode 100644 static/admin/js/jquery.init.95b62fa19378.js create mode 100644 static/admin/js/jquery.init.95b62fa19378.js.gz create mode 100644 static/admin/js/jquery.init.js create mode 100644 static/admin/js/jquery.init.js.gz create mode 100644 static/admin/js/popup_response.6ce3197f8fc8.js create mode 100644 static/admin/js/popup_response.6ce3197f8fc8.js.gz create mode 100644 static/admin/js/popup_response.js create mode 100644 static/admin/js/popup_response.js.gz create mode 100644 static/admin/js/prepopulate.2f90da7170ec.js create mode 100644 static/admin/js/prepopulate.2f90da7170ec.js.gz create mode 100644 static/admin/js/prepopulate.js create mode 100644 static/admin/js/prepopulate.js.gz create mode 100644 static/admin/js/prepopulate.min.85fd5e0fb706.js create mode 100644 static/admin/js/prepopulate.min.85fd5e0fb706.js.gz create mode 100644 static/admin/js/prepopulate.min.js create mode 100644 static/admin/js/prepopulate.min.js.gz create mode 100644 static/admin/js/prepopulate_init.0d3b53c37074.js create mode 100644 static/admin/js/prepopulate_init.0d3b53c37074.js.gz create mode 100644 static/admin/js/prepopulate_init.js create mode 100644 static/admin/js/prepopulate_init.js.gz create mode 100644 static/admin/js/urlify.67bae52223e0.js create mode 100644 static/admin/js/urlify.67bae52223e0.js.gz create mode 100644 static/admin/js/urlify.js create mode 100644 static/admin/js/urlify.js.gz create mode 100644 static/admin/js/vendor/jquery/LICENSE.75308107741f.txt create mode 100644 static/admin/js/vendor/jquery/LICENSE.75308107741f.txt.gz create mode 100644 static/admin/js/vendor/jquery/LICENSE.txt create mode 100644 static/admin/js/vendor/jquery/LICENSE.txt.gz create mode 100644 static/admin/js/vendor/jquery/jquery.11c05eb286ed.js create mode 100644 static/admin/js/vendor/jquery/jquery.11c05eb286ed.js.gz create mode 100644 static/admin/js/vendor/jquery/jquery.js create mode 100644 static/admin/js/vendor/jquery/jquery.js.gz create mode 100644 static/admin/js/vendor/jquery/jquery.min.220afd743d9e.js create mode 100644 static/admin/js/vendor/jquery/jquery.min.220afd743d9e.js.gz create mode 100644 static/admin/js/vendor/jquery/jquery.min.js create mode 100644 static/admin/js/vendor/jquery/jquery.min.js.gz create mode 100644 static/admin/js/vendor/select2/LICENSE.f94142512c91.md create mode 100644 static/admin/js/vendor/select2/LICENSE.f94142512c91.md.gz create mode 100644 static/admin/js/vendor/select2/LICENSE.md create mode 100644 static/admin/js/vendor/select2/LICENSE.md.gz create mode 100644 static/admin/js/vendor/select2/i18n/af.c4a5cbd6a23f.js create mode 100644 static/admin/js/vendor/select2/i18n/af.c4a5cbd6a23f.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/af.js create mode 100644 static/admin/js/vendor/select2/i18n/af.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/ar.7dcfd5775174.js create mode 100644 static/admin/js/vendor/select2/i18n/ar.7dcfd5775174.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/ar.js create mode 100644 static/admin/js/vendor/select2/i18n/ar.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/az.1804c238d269.js create mode 100644 static/admin/js/vendor/select2/i18n/az.1804c238d269.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/az.js create mode 100644 static/admin/js/vendor/select2/i18n/az.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/bg.096f4410173b.js create mode 100644 static/admin/js/vendor/select2/i18n/bg.096f4410173b.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/bg.js create mode 100644 static/admin/js/vendor/select2/i18n/bg.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/bn.b33721dc9b8a.js create mode 100644 static/admin/js/vendor/select2/i18n/bn.b33721dc9b8a.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/bn.js create mode 100644 static/admin/js/vendor/select2/i18n/bn.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/bs.debce43cfca2.js create mode 100644 static/admin/js/vendor/select2/i18n/bs.debce43cfca2.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/bs.js create mode 100644 static/admin/js/vendor/select2/i18n/bs.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/ca.60f20182ff18.js create mode 100644 static/admin/js/vendor/select2/i18n/ca.60f20182ff18.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/ca.js create mode 100644 static/admin/js/vendor/select2/i18n/ca.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/cs.edd7167cdcb6.js create mode 100644 static/admin/js/vendor/select2/i18n/cs.edd7167cdcb6.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/cs.js create mode 100644 static/admin/js/vendor/select2/i18n/cs.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/da.6bbc262044b3.js create mode 100644 static/admin/js/vendor/select2/i18n/da.6bbc262044b3.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/da.js create mode 100644 static/admin/js/vendor/select2/i18n/da.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/de.630e81c65a7b.js create mode 100644 static/admin/js/vendor/select2/i18n/de.630e81c65a7b.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/de.js create mode 100644 static/admin/js/vendor/select2/i18n/de.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/dsb.9c2742bfc55a.js create mode 100644 static/admin/js/vendor/select2/i18n/dsb.9c2742bfc55a.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/dsb.js create mode 100644 static/admin/js/vendor/select2/i18n/dsb.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/el.01c46bf8c8b3.js create mode 100644 static/admin/js/vendor/select2/i18n/el.01c46bf8c8b3.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/el.js create mode 100644 static/admin/js/vendor/select2/i18n/el.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/en.aed9bad15375.js create mode 100644 static/admin/js/vendor/select2/i18n/en.aed9bad15375.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/en.js create mode 100644 static/admin/js/vendor/select2/i18n/en.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/es.8b21ebdb01ee.js create mode 100644 static/admin/js/vendor/select2/i18n/es.8b21ebdb01ee.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/es.js create mode 100644 static/admin/js/vendor/select2/i18n/es.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/et.32b0b17ba1a9.js create mode 100644 static/admin/js/vendor/select2/i18n/et.32b0b17ba1a9.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/et.js create mode 100644 static/admin/js/vendor/select2/i18n/et.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/eu.6c45eaf416fe.js create mode 100644 static/admin/js/vendor/select2/i18n/eu.6c45eaf416fe.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/eu.js create mode 100644 static/admin/js/vendor/select2/i18n/eu.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/fa.1738b003dd26.js create mode 100644 static/admin/js/vendor/select2/i18n/fa.1738b003dd26.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/fa.js create mode 100644 static/admin/js/vendor/select2/i18n/fa.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/fi.2858f3167855.js create mode 100644 static/admin/js/vendor/select2/i18n/fi.2858f3167855.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/fi.js create mode 100644 static/admin/js/vendor/select2/i18n/fi.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/fr.6129248732b9.js create mode 100644 static/admin/js/vendor/select2/i18n/fr.6129248732b9.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/fr.js create mode 100644 static/admin/js/vendor/select2/i18n/fr.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/gl.e2766036e78a.js create mode 100644 static/admin/js/vendor/select2/i18n/gl.e2766036e78a.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/gl.js create mode 100644 static/admin/js/vendor/select2/i18n/gl.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/he.4d933538516a.js create mode 100644 static/admin/js/vendor/select2/i18n/he.4d933538516a.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/he.js create mode 100644 static/admin/js/vendor/select2/i18n/he.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/hi.f81e979ec25f.js create mode 100644 static/admin/js/vendor/select2/i18n/hi.f81e979ec25f.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/hi.js create mode 100644 static/admin/js/vendor/select2/i18n/hi.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/hr.68583e607f1e.js create mode 100644 static/admin/js/vendor/select2/i18n/hr.68583e607f1e.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/hr.js create mode 100644 static/admin/js/vendor/select2/i18n/hr.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/hsb.50caaee90a0d.js create mode 100644 static/admin/js/vendor/select2/i18n/hsb.50caaee90a0d.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/hsb.js create mode 100644 static/admin/js/vendor/select2/i18n/hsb.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/hu.9edad4c24fd0.js create mode 100644 static/admin/js/vendor/select2/i18n/hu.9edad4c24fd0.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/hu.js create mode 100644 static/admin/js/vendor/select2/i18n/hu.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/hy.4c655f53f4e1.js create mode 100644 static/admin/js/vendor/select2/i18n/hy.4c655f53f4e1.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/hy.js create mode 100644 static/admin/js/vendor/select2/i18n/hy.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/id.322604a430a5.js create mode 100644 static/admin/js/vendor/select2/i18n/id.322604a430a5.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/id.js create mode 100644 static/admin/js/vendor/select2/i18n/id.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/is.a8a13c9122d7.js create mode 100644 static/admin/js/vendor/select2/i18n/is.a8a13c9122d7.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/is.js create mode 100644 static/admin/js/vendor/select2/i18n/is.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/it.110a0fa84968.js create mode 100644 static/admin/js/vendor/select2/i18n/it.110a0fa84968.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/it.js create mode 100644 static/admin/js/vendor/select2/i18n/it.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/ja.442146837f55.js create mode 100644 static/admin/js/vendor/select2/i18n/ja.442146837f55.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/ja.js create mode 100644 static/admin/js/vendor/select2/i18n/ja.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/ka.8ea0684cc301.js create mode 100644 static/admin/js/vendor/select2/i18n/ka.8ea0684cc301.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/ka.js create mode 100644 static/admin/js/vendor/select2/i18n/ka.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/km.8c337905305d.js create mode 100644 static/admin/js/vendor/select2/i18n/km.8c337905305d.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/km.js create mode 100644 static/admin/js/vendor/select2/i18n/km.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/ko.82358a9b6840.js create mode 100644 static/admin/js/vendor/select2/i18n/ko.82358a9b6840.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/ko.js create mode 100644 static/admin/js/vendor/select2/i18n/ko.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/lt.2c390a6bf650.js create mode 100644 static/admin/js/vendor/select2/i18n/lt.2c390a6bf650.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/lt.js create mode 100644 static/admin/js/vendor/select2/i18n/lt.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/lv.30bfb7fc3b63.js create mode 100644 static/admin/js/vendor/select2/i18n/lv.30bfb7fc3b63.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/lv.js create mode 100644 static/admin/js/vendor/select2/i18n/lv.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/mk.92f1d29581b7.js create mode 100644 static/admin/js/vendor/select2/i18n/mk.92f1d29581b7.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/mk.js create mode 100644 static/admin/js/vendor/select2/i18n/mk.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/ms.ade6aba46542.js create mode 100644 static/admin/js/vendor/select2/i18n/ms.ade6aba46542.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/ms.js create mode 100644 static/admin/js/vendor/select2/i18n/ms.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/nb.e535138ca26b.js create mode 100644 static/admin/js/vendor/select2/i18n/nb.e535138ca26b.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/nb.js create mode 100644 static/admin/js/vendor/select2/i18n/nb.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/ne.f61bf00bc3fe.js create mode 100644 static/admin/js/vendor/select2/i18n/ne.f61bf00bc3fe.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/ne.js create mode 100644 static/admin/js/vendor/select2/i18n/ne.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/nl.674c0d3da68d.js create mode 100644 static/admin/js/vendor/select2/i18n/nl.674c0d3da68d.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/nl.js create mode 100644 static/admin/js/vendor/select2/i18n/nl.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/pl.a10ee9248c07.js create mode 100644 static/admin/js/vendor/select2/i18n/pl.a10ee9248c07.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/pl.js create mode 100644 static/admin/js/vendor/select2/i18n/pl.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/ps.de1a40c46c09.js create mode 100644 static/admin/js/vendor/select2/i18n/ps.de1a40c46c09.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/ps.js create mode 100644 static/admin/js/vendor/select2/i18n/ps.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/pt-BR.455adefc2984.js create mode 100644 static/admin/js/vendor/select2/i18n/pt-BR.455adefc2984.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/pt-BR.js create mode 100644 static/admin/js/vendor/select2/i18n/pt-BR.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/pt.5b4ec8cb5b23.js create mode 100644 static/admin/js/vendor/select2/i18n/pt.5b4ec8cb5b23.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/pt.js create mode 100644 static/admin/js/vendor/select2/i18n/pt.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/ro.ea7e3b822b06.js create mode 100644 static/admin/js/vendor/select2/i18n/ro.ea7e3b822b06.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/ro.js create mode 100644 static/admin/js/vendor/select2/i18n/ro.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/ru.962f048c22f2.js create mode 100644 static/admin/js/vendor/select2/i18n/ru.962f048c22f2.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/ru.js create mode 100644 static/admin/js/vendor/select2/i18n/ru.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/sk.34019208b835.js create mode 100644 static/admin/js/vendor/select2/i18n/sk.34019208b835.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/sk.js create mode 100644 static/admin/js/vendor/select2/i18n/sk.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/sl.a5e262c643f2.js create mode 100644 static/admin/js/vendor/select2/i18n/sl.a5e262c643f2.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/sl.js create mode 100644 static/admin/js/vendor/select2/i18n/sl.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/sq.abf2d34b255a.js create mode 100644 static/admin/js/vendor/select2/i18n/sq.abf2d34b255a.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/sq.js create mode 100644 static/admin/js/vendor/select2/i18n/sq.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/sr-Cyrl.116365a2de65.js create mode 100644 static/admin/js/vendor/select2/i18n/sr-Cyrl.116365a2de65.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/sr-Cyrl.js create mode 100644 static/admin/js/vendor/select2/i18n/sr-Cyrl.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/sr.c9f16b9e0f93.js create mode 100644 static/admin/js/vendor/select2/i18n/sr.c9f16b9e0f93.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/sr.js create mode 100644 static/admin/js/vendor/select2/i18n/sr.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/sv.725800c5e8fc.js create mode 100644 static/admin/js/vendor/select2/i18n/sv.725800c5e8fc.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/sv.js create mode 100644 static/admin/js/vendor/select2/i18n/sv.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/th.b013804dae9c.js create mode 100644 static/admin/js/vendor/select2/i18n/th.b013804dae9c.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/th.js create mode 100644 static/admin/js/vendor/select2/i18n/th.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/tk.5042dc8eca8e.js create mode 100644 static/admin/js/vendor/select2/i18n/tk.5042dc8eca8e.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/tk.js create mode 100644 static/admin/js/vendor/select2/i18n/tk.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/tr.dc697d893beb.js create mode 100644 static/admin/js/vendor/select2/i18n/tr.dc697d893beb.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/tr.js create mode 100644 static/admin/js/vendor/select2/i18n/tr.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/uk.e05ad5df6258.js create mode 100644 static/admin/js/vendor/select2/i18n/uk.e05ad5df6258.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/uk.js create mode 100644 static/admin/js/vendor/select2/i18n/uk.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/vi.0a60056920fc.js create mode 100644 static/admin/js/vendor/select2/i18n/vi.0a60056920fc.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/vi.js create mode 100644 static/admin/js/vendor/select2/i18n/vi.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/zh-CN.bde34fa3f064.js create mode 100644 static/admin/js/vendor/select2/i18n/zh-CN.bde34fa3f064.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/zh-CN.js create mode 100644 static/admin/js/vendor/select2/i18n/zh-CN.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/zh-TW.e727260f7094.js create mode 100644 static/admin/js/vendor/select2/i18n/zh-TW.e727260f7094.js.gz create mode 100644 static/admin/js/vendor/select2/i18n/zh-TW.js create mode 100644 static/admin/js/vendor/select2/i18n/zh-TW.js.gz create mode 100644 static/admin/js/vendor/select2/select2.full.d379d5235584.js create mode 100644 static/admin/js/vendor/select2/select2.full.d379d5235584.js.gz create mode 100644 static/admin/js/vendor/select2/select2.full.js create mode 100644 static/admin/js/vendor/select2/select2.full.js.gz create mode 100644 static/admin/js/vendor/select2/select2.full.min.68e8d8f673b7.js create mode 100644 static/admin/js/vendor/select2/select2.full.min.68e8d8f673b7.js.gz create mode 100644 static/admin/js/vendor/select2/select2.full.min.js create mode 100644 static/admin/js/vendor/select2/select2.full.min.js.gz create mode 100644 static/admin/js/vendor/xregexp/LICENSE.d64cecf4f157.txt create mode 100644 static/admin/js/vendor/xregexp/LICENSE.d64cecf4f157.txt.gz create mode 100644 static/admin/js/vendor/xregexp/LICENSE.txt create mode 100644 static/admin/js/vendor/xregexp/LICENSE.txt.gz create mode 100644 static/admin/js/vendor/xregexp/xregexp.1865b1cf5085.js create mode 100644 static/admin/js/vendor/xregexp/xregexp.1865b1cf5085.js.gz create mode 100644 static/admin/js/vendor/xregexp/xregexp.js create mode 100644 static/admin/js/vendor/xregexp/xregexp.js.gz create mode 100644 static/admin/js/vendor/xregexp/xregexp.min.c95393b8ca4d.js create mode 100644 static/admin/js/vendor/xregexp/xregexp.min.c95393b8ca4d.js.gz create mode 100644 static/admin/js/vendor/xregexp/xregexp.min.js create mode 100644 static/admin/js/vendor/xregexp/xregexp.min.js.gz create mode 100644 static/staticfiles.json create mode 100644 staticfiles/temp diff --git a/digipus/__pycache__/settings.cpython-36.pyc b/digipus/__pycache__/settings.cpython-36.pyc index 8eb90013bc484f458e6bed1a868475f946f36ff5..27ec3f5eebfd64c589f6d58754d54a741ed991ed 100644 GIT binary patch delta 265 zcmX>tF<o5Qn3tEUKCdROUx0z(F#{6dU|?WyU|?V<UbIo!osltZayFx}PAY2_Tb58N zSBgzDQ<PGQZIm*yNIGMbN{U^SY6^2OgQopvDW<Ee!ra9ri6xoIX_+~x#YOxK3=CBs zlP59@Zx-O-WfY8JgUD8K=tCHjgE_63G}SiG;4EQu<_->V4Doc15Ayd9xy1$Lga-LU z!6aNfgMx1fLnPcheO!a%gG2m-9Nk@4G8E}EFfbJ9Pp;y&XRMpNi#tu4Re*zy83egF PSeT%YjgN_iS%3)uvZz0o delta 454 zcmbO(ep*7=n3tDpX;w{~q7VbaV+JI^!N9=az`(#z{Ar`IJ0oNI<ZMRc`V^ZerBtRA z+Z4ML`(CCf<y7SqyKJTjj74WsS+m%(gi^Uu9GaP;R8kzHR8yRy)Zn5f%}i11VBK6P z&f*Mdj8W35Tq!o<3{e_jHSA!LBbBq6v6(SS6U-Az)l7ltV-9A}bV<}<+<cbt5-U4f zaY<rHX7c9M?COkWRUG;duKq2a;1K^HM|aowkjMbnD7L)(qTIwBO~xV~1_p*G*4)&T z%)}~oeK0-wF^3g*6+2X`rq*V8&JxCYuHX>I5Krg$&>){85e5c^TU@@bE}o9@LH_<B zw>Tl}&>){%!Vq<Co<6R@@lZ=|aYF>bilca){e1(1T!VulT<(A%e=k?(ka!o*pp^_o zMhpxP;+M9IRZKvDPfTuNQC8;U=UjS>eUrtw)3jLx*x8stkc)$b2@2U*n0T1D82K1k Pm{~w1BNrnFlL#XKa-(tE diff --git a/static/admin/css/autocomplete.781713f30664.css b/static/admin/css/autocomplete.781713f30664.css new file mode 100644 index 0000000..3ef95d1 --- /dev/null +++ b/static/admin/css/autocomplete.781713f30664.css @@ -0,0 +1,260 @@ +select.admin-autocomplete { + width: 20em; +} + +.select2-container--admin-autocomplete.select2-container { + min-height: 30px; +} + +.select2-container--admin-autocomplete .select2-selection--single, +.select2-container--admin-autocomplete .select2-selection--multiple { + min-height: 30px; + padding: 0; +} + +.select2-container--admin-autocomplete.select2-container--focus .select2-selection, +.select2-container--admin-autocomplete.select2-container--open .select2-selection { + border-color: #999; + min-height: 30px; +} + +.select2-container--admin-autocomplete.select2-container--focus .select2-selection.select2-selection--single, +.select2-container--admin-autocomplete.select2-container--open .select2-selection.select2-selection--single { + padding: 0; +} + +.select2-container--admin-autocomplete.select2-container--focus .select2-selection.select2-selection--multiple, +.select2-container--admin-autocomplete.select2-container--open .select2-selection.select2-selection--multiple { + padding: 0; +} + +.select2-container--admin-autocomplete .select2-selection--single { + background-color: #fff; + border: 1px solid #ccc; + border-radius: 4px; +} + +.select2-container--admin-autocomplete .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 30px; +} + +.select2-container--admin-autocomplete .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; +} + +.select2-container--admin-autocomplete .select2-selection--single .select2-selection__placeholder { + color: #999; +} + +.select2-container--admin-autocomplete .select2-selection--single .select2-selection__arrow { + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; +} + +.select2-container--admin-autocomplete .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; +} + +.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; +} + +.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--single .select2-selection__arrow { + left: 1px; + right: auto; +} + +.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--single { + background-color: #eee; + cursor: default; +} + +.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--single .select2-selection__clear { + display: none; +} + +.select2-container--admin-autocomplete.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; +} + +.select2-container--admin-autocomplete .select2-selection--multiple { + background-color: white; + border: 1px solid #ccc; + border-radius: 4px; + cursor: text; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__rendered { + box-sizing: border-box; + list-style: none; + margin: 0; + padding: 0 5px; + width: 100%; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__rendered li { + list-style: none; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__placeholder { + color: #999; + margin-top: 5px; + float: left; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin: 5px; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #ccc; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice__remove { + color: #999; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #333; +} + +.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-search--inline { + float: right; +} + +.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + margin-left: 5px; + margin-right: auto; +} + +.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; +} + +.select2-container--admin-autocomplete.select2-container--focus .select2-selection--multiple { + border: solid #999 1px; + outline: 0; +} + +.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--multiple { + background-color: #eee; + cursor: default; +} + +.select2-container--admin-autocomplete.select2-container--disabled .select2-selection__choice__remove { + display: none; +} + +.select2-container--admin-autocomplete.select2-container--open.select2-container--above .select2-selection--single, .select2-container--admin-autocomplete.select2-container--open.select2-container--above .select2-selection--multiple { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.select2-container--admin-autocomplete.select2-container--open.select2-container--below .select2-selection--single, .select2-container--admin-autocomplete.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +.select2-container--admin-autocomplete .select2-search--dropdown .select2-search__field { + border: 1px solid #ccc; +} + +.select2-container--admin-autocomplete .select2-search--inline .select2-search__field { + background: transparent; + border: none; + outline: 0; + box-shadow: none; + -webkit-appearance: textfield; +} + +.select2-container--admin-autocomplete .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; +} + +.select2-container--admin-autocomplete .select2-results__option[role=group] { + padding: 0; +} + +.select2-container--admin-autocomplete .select2-results__option[aria-disabled=true] { + color: #999; +} + +.select2-container--admin-autocomplete .select2-results__option[aria-selected=true] { + background-color: #ddd; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option { + padding-left: 1em; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__group { + padding-left: 0; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option { + margin-left: -1em; + padding-left: 2em; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -2em; + padding-left: 3em; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -3em; + padding-left: 4em; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -4em; + padding-left: 5em; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -5em; + padding-left: 6em; +} + +.select2-container--admin-autocomplete .select2-results__option--highlighted[aria-selected] { + background-color: #79aec8; + color: white; +} + +.select2-container--admin-autocomplete .select2-results__group { + cursor: default; + display: block; + padding: 6px; +} diff --git a/static/admin/css/autocomplete.781713f30664.css.gz b/static/admin/css/autocomplete.781713f30664.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..7df4c80f1ab3b453f7fc53d5392f7bbcbdbcc2a6 GIT binary patch literal 1093 zcmb2|=3oE;rvG;%U;EuQ5czjLIAZoUet*SW$t6kpMhj1M#wI;HHu3SA)XVp3%O1^$ znd78)R!@O(tL*&uclH$*o#0TO_^0PXqng0eN$!6p7%6f7sARozePWU%`+@H#605(y ze)Xz2%;v%24t1f6EgT%X`OE!hzW#D>#)ah(Yza@7E@v!fs$TQQw~{H*ZL+%Cy5%v2 zCuT0m+AY2?&R6i5R|vx%&#;Dq^NVeYAMBV{pziPaXvZZDk)p<{D?5z!m_B^`_pi?S zs;INb>~~ukwZ3y3AKS4*{=DlAC$8;GRZ~tq@bzxfsHzjP@!!C^_HW((wXHD>d6$Gw zSS*&P=~=X5A3N(Ilk-d)=5;g6MDL!f&?)4$;b077?E34f63bX(8~W!&D7gi=HV5h% z^{PBIndmYl;aiU~t8<1)n(N7ScV_)3Jn;f?rvhA(R1X)GHXG`xiE|$8cT0N8`TyD{ zz4I&V#2G|Zd7M(!ysqls{XxsV^ONE4n__Fbt+u$x?aKW2?j4^;<0KtdEsoUt_j~7@ zc*3phIMc9~cky|*rISyIKbRUBynROcqnU56w)cKN8DJyi?{%_B^j7<sqD1Ex`%ho_ z=Ea=KF}>z+h)s>aq}qx(lZ@4Dw-}w~Snr;ed8q6_rlas{j%AWuGm};rws?1Z3_Pkn z<ITjR|EvakpX!#jCrz2opkkva{PD|`eHTyOoId^SlG3LM6RShj{8XohEqzz@L*lX) zZ~L_?RS_OVlQt*Ty3ghP>G|`S`^8d;oUD~vJ7=z$v96~#+-sA~w_BStg3V_<KXy4} zON(Al*vb2iHI5(iuRJuXkN(`V`1r#g&oYx=+1)=g!^7{0;qr@?VzIB^zl=;fx&3k9 ztjj)6Z|unWxa{|~of8U6uE_r=za(Dh=N{d)-1DM)dyo71_a7=!nd<|uHbwl+SbimI z>#U8_E7)gcZ)jK{)fy8dCltt&`0`I$e_Bz!=i#u+v#XBZ_S;k#dz<G$)XS?3FV8a- zo#<F}yIkUuam(^e|F&L!y7S7vxpoGYw?p>b<oMedw*7czvH7-h%bj)KpLxQgqj_0U zcUO|AV9x7>+jH~97slM*-?7o@P{{KAYc~E$-PJ2vr1|sVoV{l{KdQYpG8VHr`e(+L z^0M8wsyy2#?Z5lcM<B=RP~}Fmqs{xm*ZunKIJfPMv|G=Vs;|MTo^s4z*`nb))nkgw zlA7<DEd4>A6MQU9nB%Rzcgy;3J#Fm$O5NJ?i|y}z=DQ^;R#mj<H(Txve`0=6vhu<; zZ~5nvpSH0oI8J<ej9s(nlf~tL3z{qM<aic|F!p?uar$j8b<BkISK5X8eQq3Y^F-E_ zHhrAdcFDk}cwU6WGVY7<_u`T-{LcHbdO!bPg{@(ETd)0}5Y_x8cK6r2fB1j#867#6 z+i|;+hcR)Dm-OYQy${qf=RbU{|GmSd{C3qt1L3op9k1TJn6vkW*j}@V8(2SWn`8Bd Nt?fXF?GFV81^`&VB8&h4 literal 0 HcmV?d00001 diff --git a/static/admin/css/autocomplete.css b/static/admin/css/autocomplete.css new file mode 100644 index 0000000..3ef95d1 --- /dev/null +++ b/static/admin/css/autocomplete.css @@ -0,0 +1,260 @@ +select.admin-autocomplete { + width: 20em; +} + +.select2-container--admin-autocomplete.select2-container { + min-height: 30px; +} + +.select2-container--admin-autocomplete .select2-selection--single, +.select2-container--admin-autocomplete .select2-selection--multiple { + min-height: 30px; + padding: 0; +} + +.select2-container--admin-autocomplete.select2-container--focus .select2-selection, +.select2-container--admin-autocomplete.select2-container--open .select2-selection { + border-color: #999; + min-height: 30px; +} + +.select2-container--admin-autocomplete.select2-container--focus .select2-selection.select2-selection--single, +.select2-container--admin-autocomplete.select2-container--open .select2-selection.select2-selection--single { + padding: 0; +} + +.select2-container--admin-autocomplete.select2-container--focus .select2-selection.select2-selection--multiple, +.select2-container--admin-autocomplete.select2-container--open .select2-selection.select2-selection--multiple { + padding: 0; +} + +.select2-container--admin-autocomplete .select2-selection--single { + background-color: #fff; + border: 1px solid #ccc; + border-radius: 4px; +} + +.select2-container--admin-autocomplete .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 30px; +} + +.select2-container--admin-autocomplete .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; +} + +.select2-container--admin-autocomplete .select2-selection--single .select2-selection__placeholder { + color: #999; +} + +.select2-container--admin-autocomplete .select2-selection--single .select2-selection__arrow { + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; +} + +.select2-container--admin-autocomplete .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; +} + +.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; +} + +.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--single .select2-selection__arrow { + left: 1px; + right: auto; +} + +.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--single { + background-color: #eee; + cursor: default; +} + +.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--single .select2-selection__clear { + display: none; +} + +.select2-container--admin-autocomplete.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; +} + +.select2-container--admin-autocomplete .select2-selection--multiple { + background-color: white; + border: 1px solid #ccc; + border-radius: 4px; + cursor: text; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__rendered { + box-sizing: border-box; + list-style: none; + margin: 0; + padding: 0 5px; + width: 100%; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__rendered li { + list-style: none; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__placeholder { + color: #999; + margin-top: 5px; + float: left; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin: 5px; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #ccc; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice__remove { + color: #999; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #333; +} + +.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-search--inline { + float: right; +} + +.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + margin-left: 5px; + margin-right: auto; +} + +.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; +} + +.select2-container--admin-autocomplete.select2-container--focus .select2-selection--multiple { + border: solid #999 1px; + outline: 0; +} + +.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--multiple { + background-color: #eee; + cursor: default; +} + +.select2-container--admin-autocomplete.select2-container--disabled .select2-selection__choice__remove { + display: none; +} + +.select2-container--admin-autocomplete.select2-container--open.select2-container--above .select2-selection--single, .select2-container--admin-autocomplete.select2-container--open.select2-container--above .select2-selection--multiple { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.select2-container--admin-autocomplete.select2-container--open.select2-container--below .select2-selection--single, .select2-container--admin-autocomplete.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +.select2-container--admin-autocomplete .select2-search--dropdown .select2-search__field { + border: 1px solid #ccc; +} + +.select2-container--admin-autocomplete .select2-search--inline .select2-search__field { + background: transparent; + border: none; + outline: 0; + box-shadow: none; + -webkit-appearance: textfield; +} + +.select2-container--admin-autocomplete .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; +} + +.select2-container--admin-autocomplete .select2-results__option[role=group] { + padding: 0; +} + +.select2-container--admin-autocomplete .select2-results__option[aria-disabled=true] { + color: #999; +} + +.select2-container--admin-autocomplete .select2-results__option[aria-selected=true] { + background-color: #ddd; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option { + padding-left: 1em; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__group { + padding-left: 0; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option { + margin-left: -1em; + padding-left: 2em; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -2em; + padding-left: 3em; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -3em; + padding-left: 4em; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -4em; + padding-left: 5em; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -5em; + padding-left: 6em; +} + +.select2-container--admin-autocomplete .select2-results__option--highlighted[aria-selected] { + background-color: #79aec8; + color: white; +} + +.select2-container--admin-autocomplete .select2-results__group { + cursor: default; + display: block; + padding: 6px; +} diff --git a/static/admin/css/autocomplete.css.gz b/static/admin/css/autocomplete.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..7df4c80f1ab3b453f7fc53d5392f7bbcbdbcc2a6 GIT binary patch literal 1093 zcmb2|=3oE;rvG;%U;EuQ5czjLIAZoUet*SW$t6kpMhj1M#wI;HHu3SA)XVp3%O1^$ znd78)R!@O(tL*&uclH$*o#0TO_^0PXqng0eN$!6p7%6f7sARozePWU%`+@H#605(y ze)Xz2%;v%24t1f6EgT%X`OE!hzW#D>#)ah(Yza@7E@v!fs$TQQw~{H*ZL+%Cy5%v2 zCuT0m+AY2?&R6i5R|vx%&#;Dq^NVeYAMBV{pziPaXvZZDk)p<{D?5z!m_B^`_pi?S zs;INb>~~ukwZ3y3AKS4*{=DlAC$8;GRZ~tq@bzxfsHzjP@!!C^_HW((wXHD>d6$Gw zSS*&P=~=X5A3N(Ilk-d)=5;g6MDL!f&?)4$;b077?E34f63bX(8~W!&D7gi=HV5h% z^{PBIndmYl;aiU~t8<1)n(N7ScV_)3Jn;f?rvhA(R1X)GHXG`xiE|$8cT0N8`TyD{ zz4I&V#2G|Zd7M(!ysqls{XxsV^ONE4n__Fbt+u$x?aKW2?j4^;<0KtdEsoUt_j~7@ zc*3phIMc9~cky|*rISyIKbRUBynROcqnU56w)cKN8DJyi?{%_B^j7<sqD1Ex`%ho_ z=Ea=KF}>z+h)s>aq}qx(lZ@4Dw-}w~Snr;ed8q6_rlas{j%AWuGm};rws?1Z3_Pkn z<ITjR|EvakpX!#jCrz2opkkva{PD|`eHTyOoId^SlG3LM6RShj{8XohEqzz@L*lX) zZ~L_?RS_OVlQt*Ty3ghP>G|`S`^8d;oUD~vJ7=z$v96~#+-sA~w_BStg3V_<KXy4} zON(Al*vb2iHI5(iuRJuXkN(`V`1r#g&oYx=+1)=g!^7{0;qr@?VzIB^zl=;fx&3k9 ztjj)6Z|unWxa{|~of8U6uE_r=za(Dh=N{d)-1DM)dyo71_a7=!nd<|uHbwl+SbimI z>#U8_E7)gcZ)jK{)fy8dCltt&`0`I$e_Bz!=i#u+v#XBZ_S;k#dz<G$)XS?3FV8a- zo#<F}yIkUuam(^e|F&L!y7S7vxpoGYw?p>b<oMedw*7czvH7-h%bj)KpLxQgqj_0U zcUO|AV9x7>+jH~97slM*-?7o@P{{KAYc~E$-PJ2vr1|sVoV{l{KdQYpG8VHr`e(+L z^0M8wsyy2#?Z5lcM<B=RP~}Fmqs{xm*ZunKIJfPMv|G=Vs;|MTo^s4z*`nb))nkgw zlA7<DEd4>A6MQU9nB%Rzcgy;3J#Fm$O5NJ?i|y}z=DQ^;R#mj<H(Txve`0=6vhu<; zZ~5nvpSH0oI8J<ej9s(nlf~tL3z{qM<aic|F!p?uar$j8b<BkISK5X8eQq3Y^F-E_ zHhrAdcFDk}cwU6WGVY7<_u`T-{LcHbdO!bPg{@(ETd)0}5Y_x8cK6r2fB1j#867#6 z+i|;+hcR)Dm-OYQy${qf=RbU{|GmSd{C3qt1L3op9k1TJn6vkW*j}@V8(2SWn`8Bd Nt?fXF?GFV81^`&VB8&h4 literal 0 HcmV?d00001 diff --git a/static/admin/css/base.ae33e6383baa.css b/static/admin/css/base.ae33e6383baa.css new file mode 100644 index 0000000..579a691 --- /dev/null +++ b/static/admin/css/base.ae33e6383baa.css @@ -0,0 +1,987 @@ +/* + DJANGO Admin styles +*/ + +@import url("fonts.168bab448fee.css"); + +body { + margin: 0; + padding: 0; + font-size: 14px; + font-family: "Roboto","Lucida Grande","DejaVu Sans","Bitstream Vera Sans",Verdana,Arial,sans-serif; + color: #333; + background: #fff; +} + +/* LINKS */ + +a:link, a:visited { + color: #447e9b; + text-decoration: none; +} + +a:focus, a:hover { + color: #036; +} + +a:focus { + text-decoration: underline; +} + +a img { + border: none; +} + +a.section:link, a.section:visited { + color: #fff; + text-decoration: none; +} + +a.section:focus, a.section:hover { + text-decoration: underline; +} + +/* GLOBAL DEFAULTS */ + +p, ol, ul, dl { + margin: .2em 0 .8em 0; +} + +p { + padding: 0; + line-height: 140%; +} + +h1,h2,h3,h4,h5 { + font-weight: bold; +} + +h1 { + margin: 0 0 20px; + font-weight: 300; + font-size: 20px; + color: #666; +} + +h2 { + font-size: 16px; + margin: 1em 0 .5em 0; +} + +h2.subhead { + font-weight: normal; + margin-top: 0; +} + +h3 { + font-size: 14px; + margin: .8em 0 .3em 0; + color: #666; + font-weight: bold; +} + +h4 { + font-size: 12px; + margin: 1em 0 .8em 0; + padding-bottom: 3px; +} + +h5 { + font-size: 10px; + margin: 1.5em 0 .5em 0; + color: #666; + text-transform: uppercase; + letter-spacing: 1px; +} + +ul li { + list-style-type: square; + padding: 1px 0; +} + +li ul { + margin-bottom: 0; +} + +li, dt, dd { + font-size: 13px; + line-height: 20px; +} + +dt { + font-weight: bold; + margin-top: 4px; +} + +dd { + margin-left: 0; +} + +form { + margin: 0; + padding: 0; +} + +fieldset { + margin: 0; + padding: 0; + border: none; + border-top: 1px solid #eee; +} + +blockquote { + font-size: 11px; + color: #777; + margin-left: 2px; + padding-left: 10px; + border-left: 5px solid #ddd; +} + +code, pre { + font-family: "Bitstream Vera Sans Mono", Monaco, "Courier New", Courier, monospace; + color: #666; + font-size: 12px; +} + +pre.literal-block { + margin: 10px; + background: #eee; + padding: 6px 8px; +} + +code strong { + color: #930; +} + +hr { + clear: both; + color: #eee; + background-color: #eee; + height: 1px; + border: none; + margin: 0; + padding: 0; + font-size: 1px; + line-height: 1px; +} + +/* TEXT STYLES & MODIFIERS */ + +.small { + font-size: 11px; +} + +.tiny { + font-size: 10px; +} + +p.tiny { + margin-top: -2px; +} + +.mini { + font-size: 10px; +} + +p.mini { + margin-top: -3px; +} + +.help, p.help, form p.help, div.help, form div.help, div.help li { + font-size: 11px; + color: #999; +} + +div.help ul { + margin-bottom: 0; +} + +.help-tooltip { + cursor: help; +} + +p img, h1 img, h2 img, h3 img, h4 img, td img { + vertical-align: middle; +} + +.quiet, a.quiet:link, a.quiet:visited { + color: #999; + font-weight: normal; +} + +.float-right { + float: right; +} + +.float-left { + float: left; +} + +.clear { + clear: both; +} + +.align-left { + text-align: left; +} + +.align-right { + text-align: right; +} + +.example { + margin: 10px 0; + padding: 5px 10px; + background: #efefef; +} + +.nowrap { + white-space: nowrap; +} + +/* TABLES */ + +table { + border-collapse: collapse; + border-color: #ccc; +} + +td, th { + font-size: 13px; + line-height: 16px; + border-bottom: 1px solid #eee; + vertical-align: top; + padding: 8px; + font-family: "Roboto", "Lucida Grande", Verdana, Arial, sans-serif; +} + +th { + font-weight: 600; + text-align: left; +} + +thead th, +tfoot td { + color: #666; + padding: 5px 10px; + font-size: 11px; + background: #fff; + border: none; + border-top: 1px solid #eee; + border-bottom: 1px solid #eee; +} + +tfoot td { + border-bottom: none; + border-top: 1px solid #eee; +} + +thead th.required { + color: #000; +} + +tr.alt { + background: #f6f6f6; +} + +.row1 { + background: #fff; +} + +.row2 { + background: #f9f9f9; +} + +/* SORTABLE TABLES */ + +thead th { + padding: 5px 10px; + line-height: normal; + text-transform: uppercase; + background: #f6f6f6; +} + +thead th a:link, thead th a:visited { + color: #666; +} + +thead th.sorted { + background: #eee; +} + +thead th.sorted .text { + padding-right: 42px; +} + +table thead th .text span { + padding: 8px 10px; + display: block; +} + +table thead th .text a { + display: block; + cursor: pointer; + padding: 8px 10px; +} + +table thead th .text a:focus, table thead th .text a:hover { + background: #eee; +} + +thead th.sorted a.sortremove { + visibility: hidden; +} + +table thead th.sorted:hover a.sortremove { + visibility: visible; +} + +table thead th.sorted .sortoptions { + display: block; + padding: 9px 5px 0 5px; + float: right; + text-align: right; +} + +table thead th.sorted .sortpriority { + font-size: .8em; + min-width: 12px; + text-align: center; + vertical-align: 3px; + margin-left: 2px; + margin-right: 2px; +} + +table thead th.sorted .sortoptions a { + position: relative; + width: 14px; + height: 14px; + display: inline-block; + background: url("../img/sorting-icons.3a097b59f104.svg") 0 0 no-repeat; + background-size: 14px auto; +} + +table thead th.sorted .sortoptions a.sortremove { + background-position: 0 0; +} + +table thead th.sorted .sortoptions a.sortremove:after { + content: '\\'; + position: absolute; + top: -6px; + left: 3px; + font-weight: 200; + font-size: 18px; + color: #999; +} + +table thead th.sorted .sortoptions a.sortremove:focus:after, +table thead th.sorted .sortoptions a.sortremove:hover:after { + color: #447e9b; +} + +table thead th.sorted .sortoptions a.sortremove:focus, +table thead th.sorted .sortoptions a.sortremove:hover { + background-position: 0 -14px; +} + +table thead th.sorted .sortoptions a.ascending { + background-position: 0 -28px; +} + +table thead th.sorted .sortoptions a.ascending:focus, +table thead th.sorted .sortoptions a.ascending:hover { + background-position: 0 -42px; +} + +table thead th.sorted .sortoptions a.descending { + top: 1px; + background-position: 0 -56px; +} + +table thead th.sorted .sortoptions a.descending:focus, +table thead th.sorted .sortoptions a.descending:hover { + background-position: 0 -70px; +} + +/* FORM DEFAULTS */ + +input, textarea, select, .form-row p, form .button { + margin: 2px 0; + padding: 2px 3px; + vertical-align: middle; + font-family: "Roboto", "Lucida Grande", Verdana, Arial, sans-serif; + font-weight: normal; + font-size: 13px; +} +.form-row div.help { + padding: 2px 3px; +} + +textarea { + vertical-align: top; +} + +input[type=text], input[type=password], input[type=email], input[type=url], +input[type=number], input[type=tel], textarea, select, .vTextField { + border: 1px solid #ccc; + border-radius: 4px; + padding: 5px 6px; + margin-top: 0; +} + +input[type=text]:focus, input[type=password]:focus, input[type=email]:focus, +input[type=url]:focus, input[type=number]:focus, input[type=tel]:focus, +textarea:focus, select:focus, .vTextField:focus { + border-color: #999; +} + +select { + height: 30px; +} + +select[multiple] { + /* Allow HTML size attribute to override the height in the rule above. */ + height: auto; + min-height: 150px; +} + +/* FORM BUTTONS */ + +.button, input[type=submit], input[type=button], .submit-row input, a.button { + background: #79aec8; + padding: 10px 15px; + border: none; + border-radius: 4px; + color: #fff; + cursor: pointer; +} + +a.button { + padding: 4px 5px; +} + +.button:active, input[type=submit]:active, input[type=button]:active, +.button:focus, input[type=submit]:focus, input[type=button]:focus, +.button:hover, input[type=submit]:hover, input[type=button]:hover { + background: #609ab6; +} + +.button[disabled], input[type=submit][disabled], input[type=button][disabled] { + opacity: 0.4; +} + +.button.default, input[type=submit].default, .submit-row input.default { + float: right; + border: none; + font-weight: 400; + background: #417690; +} + +.button.default:active, input[type=submit].default:active, +.button.default:focus, input[type=submit].default:focus, +.button.default:hover, input[type=submit].default:hover { + background: #205067; +} + +.button[disabled].default, +input[type=submit][disabled].default, +input[type=button][disabled].default { + opacity: 0.4; +} + + +/* MODULES */ + +.module { + border: none; + margin-bottom: 30px; + background: #fff; +} + +.module p, .module ul, .module h3, .module h4, .module dl, .module pre { + padding-left: 10px; + padding-right: 10px; +} + +.module blockquote { + margin-left: 12px; +} + +.module ul, .module ol { + margin-left: 1.5em; +} + +.module h3 { + margin-top: .6em; +} + +.module h2, .module caption, .inline-group h2 { + margin: 0; + padding: 8px; + font-weight: 400; + font-size: 13px; + text-align: left; + background: #79aec8; + color: #fff; +} + +.module caption, +.inline-group h2 { + font-size: 12px; + letter-spacing: 0.5px; + text-transform: uppercase; +} + +.module table { + border-collapse: collapse; +} + +/* MESSAGES & ERRORS */ + +ul.messagelist { + padding: 0; + margin: 0; +} + +ul.messagelist li { + display: block; + font-weight: 400; + font-size: 13px; + padding: 10px 10px 10px 65px; + margin: 0 0 10px 0; + background: #dfd url("../img/icon-yes.d2f9f035226a.svg") 40px 12px no-repeat; + background-size: 16px auto; + color: #333; +} + +ul.messagelist li.warning { + background: #ffc url("../img/icon-alert.034cc7d8a67f.svg") 40px 14px no-repeat; + background-size: 14px auto; +} + +ul.messagelist li.error { + background: #ffefef url("../img/icon-no.439e821418cd.svg") 40px 12px no-repeat; + background-size: 16px auto; +} + +.errornote { + font-size: 14px; + font-weight: 700; + display: block; + padding: 10px 12px; + margin: 0 0 10px 0; + color: #ba2121; + border: 1px solid #ba2121; + border-radius: 4px; + background-color: #fff; + background-position: 5px 12px; +} + +ul.errorlist { + margin: 0 0 4px; + padding: 0; + color: #ba2121; + background: #fff; +} + +ul.errorlist li { + font-size: 13px; + display: block; + margin-bottom: 4px; +} + +ul.errorlist li:first-child { + margin-top: 0; +} + +ul.errorlist li a { + color: inherit; + text-decoration: underline; +} + +td ul.errorlist { + margin: 0; + padding: 0; +} + +td ul.errorlist li { + margin: 0; +} + +.form-row.errors { + margin: 0; + border: none; + border-bottom: 1px solid #eee; + background: none; +} + +.form-row.errors ul.errorlist li { + padding-left: 0; +} + +.errors input, .errors select, .errors textarea { + border: 1px solid #ba2121; +} + +div.system-message { + background: #ffc; + margin: 10px; + padding: 6px 8px; + font-size: .8em; +} + +div.system-message p.system-message-title { + padding: 4px 5px 4px 25px; + margin: 0; + color: #c11; + background: #ffefef url("../img/icon-no.439e821418cd.svg") 5px 5px no-repeat; +} + +.description { + font-size: 12px; + padding: 5px 0 0 12px; +} + +/* BREADCRUMBS */ + +div.breadcrumbs { + background: #79aec8; + padding: 10px 40px; + border: none; + font-size: 14px; + color: #c4dce8; + text-align: left; +} + +div.breadcrumbs a { + color: #fff; +} + +div.breadcrumbs a:focus, div.breadcrumbs a:hover { + color: #c4dce8; +} + +/* ACTION ICONS */ + +.viewlink, .inlineviewlink { + padding-left: 16px; + background: url("../img/icon-viewlink.41eb31f7826e.svg") 0 1px no-repeat; +} + +.addlink { + padding-left: 16px; + background: url("../img/icon-addlink.d519b3bab011.svg") 0 1px no-repeat; +} + +.changelink, .inlinechangelink { + padding-left: 16px; + background: url("../img/icon-changelink.18d2fd706348.svg") 0 1px no-repeat; +} + +.deletelink { + padding-left: 16px; + background: url("../img/icon-deletelink.564ef9dc3854.svg") 0 1px no-repeat; +} + +a.deletelink:link, a.deletelink:visited { + color: #CC3434; +} + +a.deletelink:focus, a.deletelink:hover { + color: #993333; + text-decoration: none; +} + +/* OBJECT TOOLS */ + +.object-tools { + font-size: 10px; + font-weight: bold; + padding-left: 0; + float: right; + position: relative; + margin-top: -48px; +} + +.form-row .object-tools { + margin-top: 5px; + margin-bottom: 5px; + float: none; + height: 2em; + padding-left: 3.5em; +} + +.object-tools li { + display: block; + float: left; + margin-left: 5px; + height: 16px; +} + +.object-tools a { + border-radius: 15px; +} + +.object-tools a:link, .object-tools a:visited { + display: block; + float: left; + padding: 3px 12px; + background: #999; + font-weight: 400; + font-size: 11px; + text-transform: uppercase; + letter-spacing: 0.5px; + color: #fff; +} + +.object-tools a:focus, .object-tools a:hover { + background-color: #417690; +} + +.object-tools a:focus{ + text-decoration: none; +} + +.object-tools a.viewsitelink, .object-tools a.golink,.object-tools a.addlink { + background-repeat: no-repeat; + background-position: right 7px center; + padding-right: 26px; +} + +.object-tools a.viewsitelink, .object-tools a.golink { + background-image: url("../img/tooltag-arrowright.bbfb788a849e.svg"); +} + +.object-tools a.addlink { + background-image: url("../img/tooltag-add.e59d620a9742.svg"); +} + +/* OBJECT HISTORY */ + +table#change-history { + width: 100%; +} + +table#change-history tbody th { + width: 16em; +} + +/* PAGE STRUCTURE */ + +#container { + position: relative; + width: 100%; + min-width: 980px; + padding: 0; +} + +#content { + padding: 20px 40px; +} + +.dashboard #content { + width: 600px; +} + +#content-main { + float: left; + width: 100%; +} + +#content-related { + float: right; + width: 260px; + position: relative; + margin-right: -300px; +} + +#footer { + clear: both; + padding: 10px; +} + +/* COLUMN TYPES */ + +.colMS { + margin-right: 300px; +} + +.colSM { + margin-left: 300px; +} + +.colSM #content-related { + float: left; + margin-right: 0; + margin-left: -300px; +} + +.colSM #content-main { + float: right; +} + +.popup .colM { + width: auto; +} + +/* HEADER */ + +#header { + width: auto; + height: auto; + display: flex; + justify-content: space-between; + align-items: center; + padding: 10px 40px; + background: #417690; + color: #ffc; + overflow: hidden; +} + +#header a:link, #header a:visited { + color: #fff; +} + +#header a:focus , #header a:hover { + text-decoration: underline; +} + +#branding { + float: left; +} + +#branding h1 { + padding: 0; + margin: 0 20px 0 0; + font-weight: 300; + font-size: 24px; + color: #f5dd5d; +} + +#branding h1, #branding h1 a:link, #branding h1 a:visited { + color: #f5dd5d; +} + +#branding h2 { + padding: 0 10px; + font-size: 14px; + margin: -8px 0 8px 0; + font-weight: normal; + color: #ffc; +} + +#branding a:hover { + text-decoration: none; +} + +#user-tools { + float: right; + padding: 0; + margin: 0 0 0 20px; + font-weight: 300; + font-size: 11px; + letter-spacing: 0.5px; + text-transform: uppercase; + text-align: right; +} + +#user-tools a { + border-bottom: 1px solid rgba(255, 255, 255, 0.25); +} + +#user-tools a:focus, #user-tools a:hover { + text-decoration: none; + border-bottom-color: #79aec8; + color: #79aec8; +} + +/* SIDEBAR */ + +#content-related { + background: #f8f8f8; +} + +#content-related .module { + background: none; +} + +#content-related h3 { + font-size: 14px; + color: #666; + padding: 0 16px; + margin: 0 0 16px; +} + +#content-related h4 { + font-size: 13px; +} + +#content-related p { + padding-left: 16px; + padding-right: 16px; +} + +#content-related .actionlist { + padding: 0; + margin: 16px; +} + +#content-related .actionlist li { + line-height: 1.2; + margin-bottom: 10px; + padding-left: 18px; +} + +#content-related .module h2 { + background: none; + padding: 16px; + margin-bottom: 16px; + border-bottom: 1px solid #eaeaea; + font-size: 18px; + color: #333; +} + +.delete-confirmation form input[type="submit"] { + background: #ba2121; + border-radius: 4px; + padding: 10px 15px; + color: #fff; +} + +.delete-confirmation form input[type="submit"]:active, +.delete-confirmation form input[type="submit"]:focus, +.delete-confirmation form input[type="submit"]:hover { + background: #a41515; +} + +.delete-confirmation form .cancel-link { + display: inline-block; + vertical-align: middle; + height: 15px; + line-height: 15px; + background: #ddd; + border-radius: 4px; + padding: 10px 15px; + color: #333; + margin: 0 0 0 10px; +} + +.delete-confirmation form .cancel-link:active, +.delete-confirmation form .cancel-link:focus, +.delete-confirmation form .cancel-link:hover { + background: #ccc; +} + +/* POPUP */ +.popup #content { + padding: 20px; +} + +.popup #container { + min-width: 0; +} + +.popup #header { + padding: 10px 20px; +} diff --git a/static/admin/css/base.ae33e6383baa.css.gz b/static/admin/css/base.ae33e6383baa.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..cbb88e8bedceffaf017e017e39ff5bf5c417eab5 GIT binary patch literal 3913 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 b_({^AF+?eF>ROqX{~6{8@OP|pU|;|MWp%H7 literal 0 HcmV?d00001 diff --git a/static/admin/css/base.css b/static/admin/css/base.css new file mode 100644 index 0000000..fd011a3 --- /dev/null +++ b/static/admin/css/base.css @@ -0,0 +1,987 @@ +/* + DJANGO Admin styles +*/ + +@import url(fonts.css); + +body { + margin: 0; + padding: 0; + font-size: 14px; + font-family: "Roboto","Lucida Grande","DejaVu Sans","Bitstream Vera Sans",Verdana,Arial,sans-serif; + color: #333; + background: #fff; +} + +/* LINKS */ + +a:link, a:visited { + color: #447e9b; + text-decoration: none; +} + +a:focus, a:hover { + color: #036; +} + +a:focus { + text-decoration: underline; +} + +a img { + border: none; +} + +a.section:link, a.section:visited { + color: #fff; + text-decoration: none; +} + +a.section:focus, a.section:hover { + text-decoration: underline; +} + +/* GLOBAL DEFAULTS */ + +p, ol, ul, dl { + margin: .2em 0 .8em 0; +} + +p { + padding: 0; + line-height: 140%; +} + +h1,h2,h3,h4,h5 { + font-weight: bold; +} + +h1 { + margin: 0 0 20px; + font-weight: 300; + font-size: 20px; + color: #666; +} + +h2 { + font-size: 16px; + margin: 1em 0 .5em 0; +} + +h2.subhead { + font-weight: normal; + margin-top: 0; +} + +h3 { + font-size: 14px; + margin: .8em 0 .3em 0; + color: #666; + font-weight: bold; +} + +h4 { + font-size: 12px; + margin: 1em 0 .8em 0; + padding-bottom: 3px; +} + +h5 { + font-size: 10px; + margin: 1.5em 0 .5em 0; + color: #666; + text-transform: uppercase; + letter-spacing: 1px; +} + +ul li { + list-style-type: square; + padding: 1px 0; +} + +li ul { + margin-bottom: 0; +} + +li, dt, dd { + font-size: 13px; + line-height: 20px; +} + +dt { + font-weight: bold; + margin-top: 4px; +} + +dd { + margin-left: 0; +} + +form { + margin: 0; + padding: 0; +} + +fieldset { + margin: 0; + padding: 0; + border: none; + border-top: 1px solid #eee; +} + +blockquote { + font-size: 11px; + color: #777; + margin-left: 2px; + padding-left: 10px; + border-left: 5px solid #ddd; +} + +code, pre { + font-family: "Bitstream Vera Sans Mono", Monaco, "Courier New", Courier, monospace; + color: #666; + font-size: 12px; +} + +pre.literal-block { + margin: 10px; + background: #eee; + padding: 6px 8px; +} + +code strong { + color: #930; +} + +hr { + clear: both; + color: #eee; + background-color: #eee; + height: 1px; + border: none; + margin: 0; + padding: 0; + font-size: 1px; + line-height: 1px; +} + +/* TEXT STYLES & MODIFIERS */ + +.small { + font-size: 11px; +} + +.tiny { + font-size: 10px; +} + +p.tiny { + margin-top: -2px; +} + +.mini { + font-size: 10px; +} + +p.mini { + margin-top: -3px; +} + +.help, p.help, form p.help, div.help, form div.help, div.help li { + font-size: 11px; + color: #999; +} + +div.help ul { + margin-bottom: 0; +} + +.help-tooltip { + cursor: help; +} + +p img, h1 img, h2 img, h3 img, h4 img, td img { + vertical-align: middle; +} + +.quiet, a.quiet:link, a.quiet:visited { + color: #999; + font-weight: normal; +} + +.float-right { + float: right; +} + +.float-left { + float: left; +} + +.clear { + clear: both; +} + +.align-left { + text-align: left; +} + +.align-right { + text-align: right; +} + +.example { + margin: 10px 0; + padding: 5px 10px; + background: #efefef; +} + +.nowrap { + white-space: nowrap; +} + +/* TABLES */ + +table { + border-collapse: collapse; + border-color: #ccc; +} + +td, th { + font-size: 13px; + line-height: 16px; + border-bottom: 1px solid #eee; + vertical-align: top; + padding: 8px; + font-family: "Roboto", "Lucida Grande", Verdana, Arial, sans-serif; +} + +th { + font-weight: 600; + text-align: left; +} + +thead th, +tfoot td { + color: #666; + padding: 5px 10px; + font-size: 11px; + background: #fff; + border: none; + border-top: 1px solid #eee; + border-bottom: 1px solid #eee; +} + +tfoot td { + border-bottom: none; + border-top: 1px solid #eee; +} + +thead th.required { + color: #000; +} + +tr.alt { + background: #f6f6f6; +} + +.row1 { + background: #fff; +} + +.row2 { + background: #f9f9f9; +} + +/* SORTABLE TABLES */ + +thead th { + padding: 5px 10px; + line-height: normal; + text-transform: uppercase; + background: #f6f6f6; +} + +thead th a:link, thead th a:visited { + color: #666; +} + +thead th.sorted { + background: #eee; +} + +thead th.sorted .text { + padding-right: 42px; +} + +table thead th .text span { + padding: 8px 10px; + display: block; +} + +table thead th .text a { + display: block; + cursor: pointer; + padding: 8px 10px; +} + +table thead th .text a:focus, table thead th .text a:hover { + background: #eee; +} + +thead th.sorted a.sortremove { + visibility: hidden; +} + +table thead th.sorted:hover a.sortremove { + visibility: visible; +} + +table thead th.sorted .sortoptions { + display: block; + padding: 9px 5px 0 5px; + float: right; + text-align: right; +} + +table thead th.sorted .sortpriority { + font-size: .8em; + min-width: 12px; + text-align: center; + vertical-align: 3px; + margin-left: 2px; + margin-right: 2px; +} + +table thead th.sorted .sortoptions a { + position: relative; + width: 14px; + height: 14px; + display: inline-block; + background: url(../img/sorting-icons.svg) 0 0 no-repeat; + background-size: 14px auto; +} + +table thead th.sorted .sortoptions a.sortremove { + background-position: 0 0; +} + +table thead th.sorted .sortoptions a.sortremove:after { + content: '\\'; + position: absolute; + top: -6px; + left: 3px; + font-weight: 200; + font-size: 18px; + color: #999; +} + +table thead th.sorted .sortoptions a.sortremove:focus:after, +table thead th.sorted .sortoptions a.sortremove:hover:after { + color: #447e9b; +} + +table thead th.sorted .sortoptions a.sortremove:focus, +table thead th.sorted .sortoptions a.sortremove:hover { + background-position: 0 -14px; +} + +table thead th.sorted .sortoptions a.ascending { + background-position: 0 -28px; +} + +table thead th.sorted .sortoptions a.ascending:focus, +table thead th.sorted .sortoptions a.ascending:hover { + background-position: 0 -42px; +} + +table thead th.sorted .sortoptions a.descending { + top: 1px; + background-position: 0 -56px; +} + +table thead th.sorted .sortoptions a.descending:focus, +table thead th.sorted .sortoptions a.descending:hover { + background-position: 0 -70px; +} + +/* FORM DEFAULTS */ + +input, textarea, select, .form-row p, form .button { + margin: 2px 0; + padding: 2px 3px; + vertical-align: middle; + font-family: "Roboto", "Lucida Grande", Verdana, Arial, sans-serif; + font-weight: normal; + font-size: 13px; +} +.form-row div.help { + padding: 2px 3px; +} + +textarea { + vertical-align: top; +} + +input[type=text], input[type=password], input[type=email], input[type=url], +input[type=number], input[type=tel], textarea, select, .vTextField { + border: 1px solid #ccc; + border-radius: 4px; + padding: 5px 6px; + margin-top: 0; +} + +input[type=text]:focus, input[type=password]:focus, input[type=email]:focus, +input[type=url]:focus, input[type=number]:focus, input[type=tel]:focus, +textarea:focus, select:focus, .vTextField:focus { + border-color: #999; +} + +select { + height: 30px; +} + +select[multiple] { + /* Allow HTML size attribute to override the height in the rule above. */ + height: auto; + min-height: 150px; +} + +/* FORM BUTTONS */ + +.button, input[type=submit], input[type=button], .submit-row input, a.button { + background: #79aec8; + padding: 10px 15px; + border: none; + border-radius: 4px; + color: #fff; + cursor: pointer; +} + +a.button { + padding: 4px 5px; +} + +.button:active, input[type=submit]:active, input[type=button]:active, +.button:focus, input[type=submit]:focus, input[type=button]:focus, +.button:hover, input[type=submit]:hover, input[type=button]:hover { + background: #609ab6; +} + +.button[disabled], input[type=submit][disabled], input[type=button][disabled] { + opacity: 0.4; +} + +.button.default, input[type=submit].default, .submit-row input.default { + float: right; + border: none; + font-weight: 400; + background: #417690; +} + +.button.default:active, input[type=submit].default:active, +.button.default:focus, input[type=submit].default:focus, +.button.default:hover, input[type=submit].default:hover { + background: #205067; +} + +.button[disabled].default, +input[type=submit][disabled].default, +input[type=button][disabled].default { + opacity: 0.4; +} + + +/* MODULES */ + +.module { + border: none; + margin-bottom: 30px; + background: #fff; +} + +.module p, .module ul, .module h3, .module h4, .module dl, .module pre { + padding-left: 10px; + padding-right: 10px; +} + +.module blockquote { + margin-left: 12px; +} + +.module ul, .module ol { + margin-left: 1.5em; +} + +.module h3 { + margin-top: .6em; +} + +.module h2, .module caption, .inline-group h2 { + margin: 0; + padding: 8px; + font-weight: 400; + font-size: 13px; + text-align: left; + background: #79aec8; + color: #fff; +} + +.module caption, +.inline-group h2 { + font-size: 12px; + letter-spacing: 0.5px; + text-transform: uppercase; +} + +.module table { + border-collapse: collapse; +} + +/* MESSAGES & ERRORS */ + +ul.messagelist { + padding: 0; + margin: 0; +} + +ul.messagelist li { + display: block; + font-weight: 400; + font-size: 13px; + padding: 10px 10px 10px 65px; + margin: 0 0 10px 0; + background: #dfd url(../img/icon-yes.svg) 40px 12px no-repeat; + background-size: 16px auto; + color: #333; +} + +ul.messagelist li.warning { + background: #ffc url(../img/icon-alert.svg) 40px 14px no-repeat; + background-size: 14px auto; +} + +ul.messagelist li.error { + background: #ffefef url(../img/icon-no.svg) 40px 12px no-repeat; + background-size: 16px auto; +} + +.errornote { + font-size: 14px; + font-weight: 700; + display: block; + padding: 10px 12px; + margin: 0 0 10px 0; + color: #ba2121; + border: 1px solid #ba2121; + border-radius: 4px; + background-color: #fff; + background-position: 5px 12px; +} + +ul.errorlist { + margin: 0 0 4px; + padding: 0; + color: #ba2121; + background: #fff; +} + +ul.errorlist li { + font-size: 13px; + display: block; + margin-bottom: 4px; +} + +ul.errorlist li:first-child { + margin-top: 0; +} + +ul.errorlist li a { + color: inherit; + text-decoration: underline; +} + +td ul.errorlist { + margin: 0; + padding: 0; +} + +td ul.errorlist li { + margin: 0; +} + +.form-row.errors { + margin: 0; + border: none; + border-bottom: 1px solid #eee; + background: none; +} + +.form-row.errors ul.errorlist li { + padding-left: 0; +} + +.errors input, .errors select, .errors textarea { + border: 1px solid #ba2121; +} + +div.system-message { + background: #ffc; + margin: 10px; + padding: 6px 8px; + font-size: .8em; +} + +div.system-message p.system-message-title { + padding: 4px 5px 4px 25px; + margin: 0; + color: #c11; + background: #ffefef url(../img/icon-no.svg) 5px 5px no-repeat; +} + +.description { + font-size: 12px; + padding: 5px 0 0 12px; +} + +/* BREADCRUMBS */ + +div.breadcrumbs { + background: #79aec8; + padding: 10px 40px; + border: none; + font-size: 14px; + color: #c4dce8; + text-align: left; +} + +div.breadcrumbs a { + color: #fff; +} + +div.breadcrumbs a:focus, div.breadcrumbs a:hover { + color: #c4dce8; +} + +/* ACTION ICONS */ + +.viewlink, .inlineviewlink { + padding-left: 16px; + background: url(../img/icon-viewlink.svg) 0 1px no-repeat; +} + +.addlink { + padding-left: 16px; + background: url(../img/icon-addlink.svg) 0 1px no-repeat; +} + +.changelink, .inlinechangelink { + padding-left: 16px; + background: url(../img/icon-changelink.svg) 0 1px no-repeat; +} + +.deletelink { + padding-left: 16px; + background: url(../img/icon-deletelink.svg) 0 1px no-repeat; +} + +a.deletelink:link, a.deletelink:visited { + color: #CC3434; +} + +a.deletelink:focus, a.deletelink:hover { + color: #993333; + text-decoration: none; +} + +/* OBJECT TOOLS */ + +.object-tools { + font-size: 10px; + font-weight: bold; + padding-left: 0; + float: right; + position: relative; + margin-top: -48px; +} + +.form-row .object-tools { + margin-top: 5px; + margin-bottom: 5px; + float: none; + height: 2em; + padding-left: 3.5em; +} + +.object-tools li { + display: block; + float: left; + margin-left: 5px; + height: 16px; +} + +.object-tools a { + border-radius: 15px; +} + +.object-tools a:link, .object-tools a:visited { + display: block; + float: left; + padding: 3px 12px; + background: #999; + font-weight: 400; + font-size: 11px; + text-transform: uppercase; + letter-spacing: 0.5px; + color: #fff; +} + +.object-tools a:focus, .object-tools a:hover { + background-color: #417690; +} + +.object-tools a:focus{ + text-decoration: none; +} + +.object-tools a.viewsitelink, .object-tools a.golink,.object-tools a.addlink { + background-repeat: no-repeat; + background-position: right 7px center; + padding-right: 26px; +} + +.object-tools a.viewsitelink, .object-tools a.golink { + background-image: url(../img/tooltag-arrowright.svg); +} + +.object-tools a.addlink { + background-image: url(../img/tooltag-add.svg); +} + +/* OBJECT HISTORY */ + +table#change-history { + width: 100%; +} + +table#change-history tbody th { + width: 16em; +} + +/* PAGE STRUCTURE */ + +#container { + position: relative; + width: 100%; + min-width: 980px; + padding: 0; +} + +#content { + padding: 20px 40px; +} + +.dashboard #content { + width: 600px; +} + +#content-main { + float: left; + width: 100%; +} + +#content-related { + float: right; + width: 260px; + position: relative; + margin-right: -300px; +} + +#footer { + clear: both; + padding: 10px; +} + +/* COLUMN TYPES */ + +.colMS { + margin-right: 300px; +} + +.colSM { + margin-left: 300px; +} + +.colSM #content-related { + float: left; + margin-right: 0; + margin-left: -300px; +} + +.colSM #content-main { + float: right; +} + +.popup .colM { + width: auto; +} + +/* HEADER */ + +#header { + width: auto; + height: auto; + display: flex; + justify-content: space-between; + align-items: center; + padding: 10px 40px; + background: #417690; + color: #ffc; + overflow: hidden; +} + +#header a:link, #header a:visited { + color: #fff; +} + +#header a:focus , #header a:hover { + text-decoration: underline; +} + +#branding { + float: left; +} + +#branding h1 { + padding: 0; + margin: 0 20px 0 0; + font-weight: 300; + font-size: 24px; + color: #f5dd5d; +} + +#branding h1, #branding h1 a:link, #branding h1 a:visited { + color: #f5dd5d; +} + +#branding h2 { + padding: 0 10px; + font-size: 14px; + margin: -8px 0 8px 0; + font-weight: normal; + color: #ffc; +} + +#branding a:hover { + text-decoration: none; +} + +#user-tools { + float: right; + padding: 0; + margin: 0 0 0 20px; + font-weight: 300; + font-size: 11px; + letter-spacing: 0.5px; + text-transform: uppercase; + text-align: right; +} + +#user-tools a { + border-bottom: 1px solid rgba(255, 255, 255, 0.25); +} + +#user-tools a:focus, #user-tools a:hover { + text-decoration: none; + border-bottom-color: #79aec8; + color: #79aec8; +} + +/* SIDEBAR */ + +#content-related { + background: #f8f8f8; +} + +#content-related .module { + background: none; +} + +#content-related h3 { + font-size: 14px; + color: #666; + padding: 0 16px; + margin: 0 0 16px; +} + +#content-related h4 { + font-size: 13px; +} + +#content-related p { + padding-left: 16px; + padding-right: 16px; +} + +#content-related .actionlist { + padding: 0; + margin: 16px; +} + +#content-related .actionlist li { + line-height: 1.2; + margin-bottom: 10px; + padding-left: 18px; +} + +#content-related .module h2 { + background: none; + padding: 16px; + margin-bottom: 16px; + border-bottom: 1px solid #eaeaea; + font-size: 18px; + color: #333; +} + +.delete-confirmation form input[type="submit"] { + background: #ba2121; + border-radius: 4px; + padding: 10px 15px; + color: #fff; +} + +.delete-confirmation form input[type="submit"]:active, +.delete-confirmation form input[type="submit"]:focus, +.delete-confirmation form input[type="submit"]:hover { + background: #a41515; +} + +.delete-confirmation form .cancel-link { + display: inline-block; + vertical-align: middle; + height: 15px; + line-height: 15px; + background: #ddd; + border-radius: 4px; + padding: 10px 15px; + color: #333; + margin: 0 0 0 10px; +} + +.delete-confirmation form .cancel-link:active, +.delete-confirmation form .cancel-link:focus, +.delete-confirmation form .cancel-link:hover { + background: #ccc; +} + +/* POPUP */ +.popup #content { + padding: 20px; +} + +.popup #container { + min-width: 0; +} + +.popup #header { + padding: 10px 20px; +} diff --git a/static/admin/css/base.css.gz b/static/admin/css/base.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..84ac3aac5960f7b72ccfce737b357988779dc180 GIT binary patch literal 3790 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 literal 0 HcmV?d00001 diff --git a/static/admin/css/changelists.cfe316f81936.css b/static/admin/css/changelists.cfe316f81936.css new file mode 100644 index 0000000..30a6386 --- /dev/null +++ b/static/admin/css/changelists.cfe316f81936.css @@ -0,0 +1,345 @@ +/* CHANGELISTS */ + +#changelist { + position: relative; + width: 100%; +} + +#changelist table { + width: 100%; +} + +.change-list .hiddenfields { display:none; } + +.change-list .filtered table { + border-right: none; +} + +.change-list .filtered { + min-height: 400px; +} + +.change-list .filtered .results, .change-list .filtered .paginator, +.filtered #toolbar, .filtered div.xfull { + margin-right: 280px; + width: auto; +} + +.change-list .filtered table tbody th { + padding-right: 1em; +} + +#changelist-form .results { + overflow-x: auto; +} + +#changelist .toplinks { + border-bottom: 1px solid #ddd; +} + +#changelist .paginator { + color: #666; + border-bottom: 1px solid #eee; + background: #fff; + overflow: hidden; +} + +/* CHANGELIST TABLES */ + +#changelist table thead th { + padding: 0; + white-space: nowrap; + vertical-align: middle; +} + +#changelist table thead th.action-checkbox-column { + width: 1.5em; + text-align: center; +} + +#changelist table tbody td.action-checkbox { + text-align: center; +} + +#changelist table tfoot { + color: #666; +} + +/* TOOLBAR */ + +#changelist #toolbar { + padding: 8px 10px; + margin-bottom: 15px; + border-top: 1px solid #eee; + border-bottom: 1px solid #eee; + background: #f8f8f8; + color: #666; +} + +#changelist #toolbar form input { + border-radius: 4px; + font-size: 14px; + padding: 5px; + color: #333; +} + +#changelist #toolbar form #searchbar { + height: 19px; + border: 1px solid #ccc; + padding: 2px 5px; + margin: 0; + vertical-align: top; + font-size: 13px; +} + +#changelist #toolbar form #searchbar:focus { + border-color: #999; +} + +#changelist #toolbar form input[type="submit"] { + border: 1px solid #ccc; + font-size: 13px; + padding: 4px 8px; + margin: 0; + vertical-align: middle; + background: #fff; + box-shadow: 0 -15px 20px -10px rgba(0, 0, 0, 0.15) inset; + cursor: pointer; + color: #333; +} + +#changelist #toolbar form input[type="submit"]:focus, +#changelist #toolbar form input[type="submit"]:hover { + border-color: #999; +} + +#changelist #changelist-search img { + vertical-align: middle; + margin-right: 4px; +} + +/* FILTER COLUMN */ + +#changelist-filter { + position: absolute; + top: 0; + right: 0; + z-index: 1000; + width: 240px; + background: #f8f8f8; + border-left: none; + margin: 0; +} + +#changelist-filter h2 { + font-size: 14px; + text-transform: uppercase; + letter-spacing: 0.5px; + padding: 5px 15px; + margin-bottom: 12px; + border-bottom: none; +} + +#changelist-filter h3 { + font-weight: 400; + font-size: 14px; + padding: 0 15px; + margin-bottom: 10px; +} + +#changelist-filter ul { + margin: 5px 0; + padding: 0 15px 15px; + border-bottom: 1px solid #eaeaea; +} + +#changelist-filter ul:last-child { + border-bottom: none; + padding-bottom: none; +} + +#changelist-filter li { + list-style-type: none; + margin-left: 0; + padding-left: 0; +} + +#changelist-filter a { + display: block; + color: #999; + text-overflow: ellipsis; + overflow-x: hidden; +} + +#changelist-filter li.selected { + border-left: 5px solid #eaeaea; + padding-left: 10px; + margin-left: -15px; +} + +#changelist-filter li.selected a { + color: #5b80b2; +} + +#changelist-filter a:focus, #changelist-filter a:hover, +#changelist-filter li.selected a:focus, +#changelist-filter li.selected a:hover { + color: #036; +} + +/* DATE DRILLDOWN */ + +.change-list ul.toplinks { + display: block; + float: left; + padding: 0; + margin: 0; + width: 100%; +} + +.change-list ul.toplinks li { + padding: 3px 6px; + font-weight: bold; + list-style-type: none; + display: inline-block; +} + +.change-list ul.toplinks .date-back a { + color: #999; +} + +.change-list ul.toplinks .date-back a:focus, +.change-list ul.toplinks .date-back a:hover { + color: #036; +} + +/* PAGINATOR */ + +.paginator { + font-size: 13px; + padding-top: 10px; + padding-bottom: 10px; + line-height: 22px; + margin: 0; + border-top: 1px solid #ddd; +} + +.paginator a:link, .paginator a:visited { + padding: 2px 6px; + background: #79aec8; + text-decoration: none; + color: #fff; +} + +.paginator a.showall { + padding: 0; + border: none; + background: none; + color: #5b80b2; +} + +.paginator a.showall:focus, .paginator a.showall:hover { + background: none; + color: #036; +} + +.paginator .end { + margin-right: 6px; +} + +.paginator .this-page { + padding: 2px 6px; + font-weight: bold; + font-size: 13px; + vertical-align: top; +} + +.paginator a:focus, .paginator a:hover { + color: white; + background: #036; +} + +/* ACTIONS */ + +.filtered .actions { + margin-right: 280px; + border-right: none; +} + +#changelist table input { + margin: 0; + vertical-align: baseline; +} + +#changelist table tbody tr.selected { + background-color: #FFFFCC; +} + +#changelist .actions { + padding: 10px; + background: #fff; + border-top: none; + border-bottom: none; + line-height: 24px; + color: #999; +} + +#changelist .actions.selected { + background: #fffccf; + border-top: 1px solid #fffee8; + border-bottom: 1px solid #edecd6; +} + +#changelist .actions span.all, +#changelist .actions span.action-counter, +#changelist .actions span.clear, +#changelist .actions span.question { + font-size: 13px; + margin: 0 0.5em; + display: none; +} + +#changelist .actions:last-child { + border-bottom: none; +} + +#changelist .actions select { + vertical-align: top; + height: 24px; + background: none; + color: #000; + border: 1px solid #ccc; + border-radius: 4px; + font-size: 14px; + padding: 0 0 0 4px; + margin: 0; + margin-left: 10px; +} + +#changelist .actions select:focus { + border-color: #999; +} + +#changelist .actions label { + display: inline-block; + vertical-align: middle; + font-size: 13px; +} + +#changelist .actions .button { + font-size: 13px; + border: 1px solid #ccc; + border-radius: 4px; + background: #fff; + box-shadow: 0 -15px 20px -10px rgba(0, 0, 0, 0.15) inset; + cursor: pointer; + height: 24px; + line-height: 1; + padding: 4px 8px; + margin: 0; + color: #333; +} + +#changelist .actions .button:focus, #changelist .actions .button:hover { + border-color: #999; +} diff --git a/static/admin/css/changelists.cfe316f81936.css.gz b/static/admin/css/changelists.cfe316f81936.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..5e84f4c651b5d74414d76c7d3a5967aceb1a8ff2 GIT binary patch literal 1490 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 MU3sNUPlAB~045{WumAu6 literal 0 HcmV?d00001 diff --git a/static/admin/css/changelists.css b/static/admin/css/changelists.css new file mode 100644 index 0000000..30a6386 --- /dev/null +++ b/static/admin/css/changelists.css @@ -0,0 +1,345 @@ +/* CHANGELISTS */ + +#changelist { + position: relative; + width: 100%; +} + +#changelist table { + width: 100%; +} + +.change-list .hiddenfields { display:none; } + +.change-list .filtered table { + border-right: none; +} + +.change-list .filtered { + min-height: 400px; +} + +.change-list .filtered .results, .change-list .filtered .paginator, +.filtered #toolbar, .filtered div.xfull { + margin-right: 280px; + width: auto; +} + +.change-list .filtered table tbody th { + padding-right: 1em; +} + +#changelist-form .results { + overflow-x: auto; +} + +#changelist .toplinks { + border-bottom: 1px solid #ddd; +} + +#changelist .paginator { + color: #666; + border-bottom: 1px solid #eee; + background: #fff; + overflow: hidden; +} + +/* CHANGELIST TABLES */ + +#changelist table thead th { + padding: 0; + white-space: nowrap; + vertical-align: middle; +} + +#changelist table thead th.action-checkbox-column { + width: 1.5em; + text-align: center; +} + +#changelist table tbody td.action-checkbox { + text-align: center; +} + +#changelist table tfoot { + color: #666; +} + +/* TOOLBAR */ + +#changelist #toolbar { + padding: 8px 10px; + margin-bottom: 15px; + border-top: 1px solid #eee; + border-bottom: 1px solid #eee; + background: #f8f8f8; + color: #666; +} + +#changelist #toolbar form input { + border-radius: 4px; + font-size: 14px; + padding: 5px; + color: #333; +} + +#changelist #toolbar form #searchbar { + height: 19px; + border: 1px solid #ccc; + padding: 2px 5px; + margin: 0; + vertical-align: top; + font-size: 13px; +} + +#changelist #toolbar form #searchbar:focus { + border-color: #999; +} + +#changelist #toolbar form input[type="submit"] { + border: 1px solid #ccc; + font-size: 13px; + padding: 4px 8px; + margin: 0; + vertical-align: middle; + background: #fff; + box-shadow: 0 -15px 20px -10px rgba(0, 0, 0, 0.15) inset; + cursor: pointer; + color: #333; +} + +#changelist #toolbar form input[type="submit"]:focus, +#changelist #toolbar form input[type="submit"]:hover { + border-color: #999; +} + +#changelist #changelist-search img { + vertical-align: middle; + margin-right: 4px; +} + +/* FILTER COLUMN */ + +#changelist-filter { + position: absolute; + top: 0; + right: 0; + z-index: 1000; + width: 240px; + background: #f8f8f8; + border-left: none; + margin: 0; +} + +#changelist-filter h2 { + font-size: 14px; + text-transform: uppercase; + letter-spacing: 0.5px; + padding: 5px 15px; + margin-bottom: 12px; + border-bottom: none; +} + +#changelist-filter h3 { + font-weight: 400; + font-size: 14px; + padding: 0 15px; + margin-bottom: 10px; +} + +#changelist-filter ul { + margin: 5px 0; + padding: 0 15px 15px; + border-bottom: 1px solid #eaeaea; +} + +#changelist-filter ul:last-child { + border-bottom: none; + padding-bottom: none; +} + +#changelist-filter li { + list-style-type: none; + margin-left: 0; + padding-left: 0; +} + +#changelist-filter a { + display: block; + color: #999; + text-overflow: ellipsis; + overflow-x: hidden; +} + +#changelist-filter li.selected { + border-left: 5px solid #eaeaea; + padding-left: 10px; + margin-left: -15px; +} + +#changelist-filter li.selected a { + color: #5b80b2; +} + +#changelist-filter a:focus, #changelist-filter a:hover, +#changelist-filter li.selected a:focus, +#changelist-filter li.selected a:hover { + color: #036; +} + +/* DATE DRILLDOWN */ + +.change-list ul.toplinks { + display: block; + float: left; + padding: 0; + margin: 0; + width: 100%; +} + +.change-list ul.toplinks li { + padding: 3px 6px; + font-weight: bold; + list-style-type: none; + display: inline-block; +} + +.change-list ul.toplinks .date-back a { + color: #999; +} + +.change-list ul.toplinks .date-back a:focus, +.change-list ul.toplinks .date-back a:hover { + color: #036; +} + +/* PAGINATOR */ + +.paginator { + font-size: 13px; + padding-top: 10px; + padding-bottom: 10px; + line-height: 22px; + margin: 0; + border-top: 1px solid #ddd; +} + +.paginator a:link, .paginator a:visited { + padding: 2px 6px; + background: #79aec8; + text-decoration: none; + color: #fff; +} + +.paginator a.showall { + padding: 0; + border: none; + background: none; + color: #5b80b2; +} + +.paginator a.showall:focus, .paginator a.showall:hover { + background: none; + color: #036; +} + +.paginator .end { + margin-right: 6px; +} + +.paginator .this-page { + padding: 2px 6px; + font-weight: bold; + font-size: 13px; + vertical-align: top; +} + +.paginator a:focus, .paginator a:hover { + color: white; + background: #036; +} + +/* ACTIONS */ + +.filtered .actions { + margin-right: 280px; + border-right: none; +} + +#changelist table input { + margin: 0; + vertical-align: baseline; +} + +#changelist table tbody tr.selected { + background-color: #FFFFCC; +} + +#changelist .actions { + padding: 10px; + background: #fff; + border-top: none; + border-bottom: none; + line-height: 24px; + color: #999; +} + +#changelist .actions.selected { + background: #fffccf; + border-top: 1px solid #fffee8; + border-bottom: 1px solid #edecd6; +} + +#changelist .actions span.all, +#changelist .actions span.action-counter, +#changelist .actions span.clear, +#changelist .actions span.question { + font-size: 13px; + margin: 0 0.5em; + display: none; +} + +#changelist .actions:last-child { + border-bottom: none; +} + +#changelist .actions select { + vertical-align: top; + height: 24px; + background: none; + color: #000; + border: 1px solid #ccc; + border-radius: 4px; + font-size: 14px; + padding: 0 0 0 4px; + margin: 0; + margin-left: 10px; +} + +#changelist .actions select:focus { + border-color: #999; +} + +#changelist .actions label { + display: inline-block; + vertical-align: middle; + font-size: 13px; +} + +#changelist .actions .button { + font-size: 13px; + border: 1px solid #ccc; + border-radius: 4px; + background: #fff; + box-shadow: 0 -15px 20px -10px rgba(0, 0, 0, 0.15) inset; + cursor: pointer; + height: 24px; + line-height: 1; + padding: 4px 8px; + margin: 0; + color: #333; +} + +#changelist .actions .button:focus, #changelist .actions .button:hover { + border-color: #999; +} diff --git a/static/admin/css/changelists.css.gz b/static/admin/css/changelists.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..5e84f4c651b5d74414d76c7d3a5967aceb1a8ff2 GIT binary patch literal 1490 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 MU3sNUPlAB~045{WumAu6 literal 0 HcmV?d00001 diff --git a/static/admin/css/dashboard.7ac78187c567.css b/static/admin/css/dashboard.7ac78187c567.css new file mode 100644 index 0000000..1560c7b --- /dev/null +++ b/static/admin/css/dashboard.7ac78187c567.css @@ -0,0 +1,27 @@ +/* DASHBOARD */ + +.dashboard .module table th { + width: 100%; +} + +.dashboard .module table td { + white-space: nowrap; +} + +.dashboard .module table td a { + display: block; + padding-right: .6em; +} + +/* RECENT ACTIONS MODULE */ + +.module ul.actionlist { + margin-left: 0; +} + +ul.actionlist li { + list-style-type: none; + overflow: hidden; + text-overflow: ellipsis; + -o-text-overflow: ellipsis; +} diff --git a/static/admin/css/dashboard.7ac78187c567.css.gz b/static/admin/css/dashboard.7ac78187c567.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..4e6554952c8023f64cd6b28254ebbcaefaf81af4 GIT binary patch literal 251 zcmb2|=3oE;rvI(}XZ;Qv@a+4pS@SSRGj?ae3%}I0EJAB8naL^S?m2eIcahrSkc{`| zu8Aq~HSkY+^Zxk1Fhh}_{~qo;RnB^3wT9P}FT1vF3ZGCCHdjLN#IIYXH7*4!8$&Kg z-dXnYtd-UOr2+9=zKpHqn-22y$X31l7kbKd^$F`~$!w;#pOxCaofFdKqg|C%dO~66 z;k-}LM>lAjKmEq=^Vx@p-0vS^MD_ij%H-@Uc;sT%xF+#aqUEKN`&5-B`o(vbeEQ{? z95v&*=MMv;E`wc~eFuMP|8Dy`@$H00wWSx%+-`X9SmS)c=iKD^j)_Ot|FHbUvgg;< JnR6H!7yttje@*}Z literal 0 HcmV?d00001 diff --git a/static/admin/css/dashboard.css b/static/admin/css/dashboard.css new file mode 100644 index 0000000..1560c7b --- /dev/null +++ b/static/admin/css/dashboard.css @@ -0,0 +1,27 @@ +/* DASHBOARD */ + +.dashboard .module table th { + width: 100%; +} + +.dashboard .module table td { + white-space: nowrap; +} + +.dashboard .module table td a { + display: block; + padding-right: .6em; +} + +/* RECENT ACTIONS MODULE */ + +.module ul.actionlist { + margin-left: 0; +} + +ul.actionlist li { + list-style-type: none; + overflow: hidden; + text-overflow: ellipsis; + -o-text-overflow: ellipsis; +} diff --git a/static/admin/css/dashboard.css.gz b/static/admin/css/dashboard.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..4e6554952c8023f64cd6b28254ebbcaefaf81af4 GIT binary patch literal 251 zcmb2|=3oE;rvI(}XZ;Qv@a+4pS@SSRGj?ae3%}I0EJAB8naL^S?m2eIcahrSkc{`| zu8Aq~HSkY+^Zxk1Fhh}_{~qo;RnB^3wT9P}FT1vF3ZGCCHdjLN#IIYXH7*4!8$&Kg z-dXnYtd-UOr2+9=zKpHqn-22y$X31l7kbKd^$F`~$!w;#pOxCaofFdKqg|C%dO~66 z;k-}LM>lAjKmEq=^Vx@p-0vS^MD_ij%H-@Uc;sT%xF+#aqUEKN`&5-B`o(vbeEQ{? z95v&*=MMv;E`wc~eFuMP|8Dy`@$H00wWSx%+-`X9SmS)c=iKD^j)_Ot|FHbUvgg;< JnR6H!7yttje@*}Z literal 0 HcmV?d00001 diff --git a/static/admin/css/fonts.168bab448fee.css b/static/admin/css/fonts.168bab448fee.css new file mode 100644 index 0000000..8355135 --- /dev/null +++ b/static/admin/css/fonts.168bab448fee.css @@ -0,0 +1,20 @@ +@font-face { + font-family: 'Roboto'; + src: url("../fonts/Roboto-Bold-webfont.50d75e48e0a3.woff"); + font-weight: 700; + font-style: normal; +} + +@font-face { + font-family: 'Roboto'; + src: url("../fonts/Roboto-Regular-webfont.35b07eb2f871.woff"); + font-weight: 400; + font-style: normal; +} + +@font-face { + font-family: 'Roboto'; + src: url("../fonts/Roboto-Light-webfont.c73eb1ceba33.woff"); + font-weight: 300; + font-style: normal; +} diff --git a/static/admin/css/fonts.168bab448fee.css.gz b/static/admin/css/fonts.168bab448fee.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..1cb6be85da5bae38676a2f467de1f0e3b31aa953 GIT binary patch literal 189 zcmb2|=3oE;rvG~<81gq62(*6x*VV=<+mNKFx<Mda{hwp>I**`?ATJKXf90;cyH2F+ zdAql~^7~V-)GBceJ;r!}edoQ)*Ul?`6YeIF{^yY(Z`iYnEmhB36SutKy=cte=XU)d zOOoN?DOYq_RhSQDT1YP4Q~Pn<yal=E^p5vT;4d%O+$Qt=SXqqti>`p5!W+0|1s3n# ubTLGL?a=}wvHEoHe}~GV`qrjQ3KZDLa`5G`>o3f1^0ub+be>~mU;qFVS5=(= literal 0 HcmV?d00001 diff --git a/static/admin/css/fonts.css b/static/admin/css/fonts.css new file mode 100644 index 0000000..c837e01 --- /dev/null +++ b/static/admin/css/fonts.css @@ -0,0 +1,20 @@ +@font-face { + font-family: 'Roboto'; + src: url('../fonts/Roboto-Bold-webfont.woff'); + font-weight: 700; + font-style: normal; +} + +@font-face { + font-family: 'Roboto'; + src: url('../fonts/Roboto-Regular-webfont.woff'); + font-weight: 400; + font-style: normal; +} + +@font-face { + font-family: 'Roboto'; + src: url('../fonts/Roboto-Light-webfont.woff'); + font-weight: 300; + font-style: normal; +} diff --git a/static/admin/css/fonts.css.gz b/static/admin/css/fonts.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..834a4582f6544b8f624c3959361274d68a432892 GIT binary patch literal 151 zcmb2|=3oE;rvJqrr_XC&^!4`f3tjOnh=EDN-rRWkB`-%?4SUV~D)D!vbV6gM<SY${ znzDG|y5-CHgTmMFPrP1w>b&PgU4LID&R0{PFJHPcJ4)F{+yAW3d5w)h2IdA1Lb`e@ z&v<SPI&oV6l<%31&sIHsRJ5Qgx+&<gcd<}6hxPFmy>lNKBi(Ko9{VB7%<zR#W$kiC G1_l7@Za-T9 literal 0 HcmV?d00001 diff --git a/static/admin/css/forms.9f1ffc442e9a.css b/static/admin/css/forms.9f1ffc442e9a.css new file mode 100644 index 0000000..54ef09e --- /dev/null +++ b/static/admin/css/forms.9f1ffc442e9a.css @@ -0,0 +1,532 @@ +@import url("widgets.8874c301e7bc.css"); + +/* FORM ROWS */ + +.form-row { + overflow: hidden; + padding: 10px; + font-size: 13px; + border-bottom: 1px solid #eee; +} + +.form-row img, .form-row input { + vertical-align: middle; +} + +.form-row label input[type="checkbox"] { + margin-top: 0; + vertical-align: 0; +} + +form .form-row p { + padding-left: 0; +} + +.hidden { + display: none; +} + +/* FORM LABELS */ + +label { + font-weight: normal; + color: #666; + font-size: 13px; +} + +.required label, label.required { + font-weight: bold; + color: #333; +} + +/* RADIO BUTTONS */ + +form ul.radiolist li { + list-style-type: none; +} + +form ul.radiolist label { + float: none; + display: inline; +} + +form ul.radiolist input[type="radio"] { + margin: -2px 4px 0 0; + padding: 0; +} + +form ul.inline { + margin-left: 0; + padding: 0; +} + +form ul.inline li { + float: left; + padding-right: 7px; +} + +/* ALIGNED FIELDSETS */ + +.aligned label { + display: block; + padding: 4px 10px 0 0; + float: left; + width: 160px; + word-wrap: break-word; + line-height: 1; +} + +.aligned label:not(.vCheckboxLabel):after { + content: ''; + display: inline-block; + vertical-align: middle; + height: 26px; +} + +.aligned label + p, .aligned label + div.help, .aligned label + div.readonly { + padding: 6px 0; + margin-top: 0; + margin-bottom: 0; + margin-left: 170px; +} + +.aligned ul label { + display: inline; + float: none; + width: auto; +} + +.aligned .form-row input { + margin-bottom: 0; +} + +.colMS .aligned .vLargeTextField, .colMS .aligned .vXMLLargeTextField { + width: 350px; +} + +form .aligned ul { + margin-left: 160px; + padding-left: 10px; +} + +form .aligned ul.radiolist { + display: inline-block; + margin: 0; + padding: 0; +} + +form .aligned p.help, +form .aligned div.help { + clear: left; + margin-top: 0; + margin-left: 160px; + padding-left: 10px; +} + +form .aligned label + p.help, +form .aligned label + div.help { + margin-left: 0; + padding-left: 0; +} + +form .aligned p.help:last-child, +form .aligned div.help:last-child { + margin-bottom: 0; + padding-bottom: 0; +} + +form .aligned input + p.help, +form .aligned textarea + p.help, +form .aligned select + p.help, +form .aligned input + div.help, +form .aligned textarea + div.help, +form .aligned select + div.help { + margin-left: 160px; + padding-left: 10px; +} + +form .aligned ul li { + list-style: none; +} + +form .aligned table p { + margin-left: 0; + padding-left: 0; +} + +.aligned .vCheckboxLabel { + float: none; + width: auto; + display: inline-block; + vertical-align: -3px; + padding: 0 0 5px 5px; +} + +.aligned .vCheckboxLabel + p.help, +.aligned .vCheckboxLabel + div.help { + margin-top: -4px; +} + +.colM .aligned .vLargeTextField, .colM .aligned .vXMLLargeTextField { + width: 610px; +} + +.checkbox-row p.help, +.checkbox-row div.help { + margin-left: 0; + padding-left: 0; +} + +fieldset .fieldBox { + float: left; + margin-right: 20px; +} + +/* WIDE FIELDSETS */ + +.wide label { + width: 200px; +} + +form .wide p, +form .wide input + p.help, +form .wide input + div.help { + margin-left: 200px; +} + +form .wide p.help, +form .wide div.help { + padding-left: 38px; +} + +form div.help ul { + padding-left: 0; + margin-left: 0; +} + +.colM fieldset.wide .vLargeTextField, .colM fieldset.wide .vXMLLargeTextField { + width: 450px; +} + +/* COLLAPSED FIELDSETS */ + +fieldset.collapsed * { + display: none; +} + +fieldset.collapsed h2, fieldset.collapsed { + display: block; +} + +fieldset.collapsed { + border: 1px solid #eee; + border-radius: 4px; + overflow: hidden; +} + +fieldset.collapsed h2 { + background: #f8f8f8; + color: #666; +} + +fieldset .collapse-toggle { + color: #fff; +} + +fieldset.collapsed .collapse-toggle { + background: transparent; + display: inline; + color: #447e9b; +} + +/* MONOSPACE TEXTAREAS */ + +fieldset.monospace textarea { + font-family: "Bitstream Vera Sans Mono", Monaco, "Courier New", Courier, monospace; +} + +/* SUBMIT ROW */ + +.submit-row { + padding: 12px 14px; + margin: 0 0 20px; + background: #f8f8f8; + border: 1px solid #eee; + border-radius: 4px; + text-align: right; + overflow: hidden; +} + +body.popup .submit-row { + overflow: auto; +} + +.submit-row input { + height: 35px; + line-height: 15px; + margin: 0 0 0 5px; +} + +.submit-row input.default { + margin: 0 0 0 8px; + text-transform: uppercase; +} + +.submit-row p { + margin: 0.3em; +} + +.submit-row p.deletelink-box { + float: left; + margin: 0; +} + +.submit-row a.deletelink { + display: block; + background: #ba2121; + border-radius: 4px; + padding: 10px 15px; + height: 15px; + line-height: 15px; + color: #fff; +} + +.submit-row a.closelink { + display: inline-block; + background: #bbbbbb; + border-radius: 4px; + padding: 10px 15px; + height: 15px; + line-height: 15px; + margin: 0 0 0 5px; + color: #fff; +} + +.submit-row a.deletelink:focus, +.submit-row a.deletelink:hover, +.submit-row a.deletelink:active { + background: #a41515; +} + +.submit-row a.closelink:focus, +.submit-row a.closelink:hover, +.submit-row a.closelink:active { + background: #aaaaaa; +} + +/* CUSTOM FORM FIELDS */ + +.vSelectMultipleField { + vertical-align: top; +} + +.vCheckboxField { + border: none; +} + +.vDateField, .vTimeField { + margin-right: 2px; + margin-bottom: 4px; +} + +.vDateField { + min-width: 6.85em; +} + +.vTimeField { + min-width: 4.7em; +} + +.vURLField { + width: 30em; +} + +.vLargeTextField, .vXMLLargeTextField { + width: 48em; +} + +.flatpages-flatpage #id_content { + height: 40.2em; +} + +.module table .vPositiveSmallIntegerField { + width: 2.2em; +} + +.vTextField, .vUUIDField { + width: 20em; +} + +.vIntegerField { + width: 5em; +} + +.vBigIntegerField { + width: 10em; +} + +.vForeignKeyRawIdAdminField { + width: 5em; +} + +/* INLINES */ + +.inline-group { + padding: 0; + margin: 0 0 30px; +} + +.inline-group thead th { + padding: 8px 10px; +} + +.inline-group .aligned label { + width: 160px; +} + +.inline-related { + position: relative; +} + +.inline-related h3 { + margin: 0; + color: #666; + padding: 5px; + font-size: 13px; + background: #f8f8f8; + border-top: 1px solid #eee; + border-bottom: 1px solid #eee; +} + +.inline-related h3 span.delete { + float: right; +} + +.inline-related h3 span.delete label { + margin-left: 2px; + font-size: 11px; +} + +.inline-related fieldset { + margin: 0; + background: #fff; + border: none; + width: 100%; +} + +.inline-related fieldset.module h3 { + margin: 0; + padding: 2px 5px 3px 5px; + font-size: 11px; + text-align: left; + font-weight: bold; + background: #bcd; + color: #fff; +} + +.inline-group .tabular fieldset.module { + border: none; +} + +.inline-related.tabular fieldset.module table { + width: 100%; +} + +.last-related fieldset { + border: none; +} + +.inline-group .tabular tr.has_original td { + padding-top: 2em; +} + +.inline-group .tabular tr td.original { + padding: 2px 0 0 0; + width: 0; + _position: relative; +} + +.inline-group .tabular th.original { + width: 0px; + padding: 0; +} + +.inline-group .tabular td.original p { + position: absolute; + left: 0; + height: 1.1em; + padding: 2px 9px; + overflow: hidden; + font-size: 9px; + font-weight: bold; + color: #666; + _width: 700px; +} + +.inline-group ul.tools { + padding: 0; + margin: 0; + list-style: none; +} + +.inline-group ul.tools li { + display: inline; + padding: 0 5px; +} + +.inline-group div.add-row, +.inline-group .tabular tr.add-row td { + color: #666; + background: #f8f8f8; + padding: 8px 10px; + border-bottom: 1px solid #eee; +} + +.inline-group .tabular tr.add-row td { + padding: 8px 10px; + border-bottom: 1px solid #eee; +} + +.inline-group ul.tools a.add, +.inline-group div.add-row a, +.inline-group .tabular tr.add-row td a { + background: url("../img/icon-addlink.d519b3bab011.svg") 0 1px no-repeat; + padding-left: 16px; + font-size: 12px; +} + +.empty-form { + display: none; +} + +/* RELATED FIELD ADD ONE / LOOKUP */ + +.add-another, .related-lookup { + margin-left: 5px; + display: inline-block; + vertical-align: middle; + background-repeat: no-repeat; + background-size: 14px; +} + +.add-another { + width: 16px; + height: 16px; + background-image: url("../img/icon-addlink.d519b3bab011.svg"); +} + +.related-lookup { + width: 16px; + height: 16px; + background-image: url("../img/search.7cf54ff789c6.svg"); +} + +form .related-widget-wrapper ul { + display: inline-block; + margin-left: 0; + padding-left: 0; +} + +.clearable-file-input input { + margin-top: 0; +} diff --git a/static/admin/css/forms.9f1ffc442e9a.css.gz b/static/admin/css/forms.9f1ffc442e9a.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..982d4763707310abef54292fac5eb58b606fff5c GIT binary patch literal 2134 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 R%k!i43?165#TyhE7yzNM9j*WX literal 0 HcmV?d00001 diff --git a/static/admin/css/forms.css b/static/admin/css/forms.css new file mode 100644 index 0000000..62a093f --- /dev/null +++ b/static/admin/css/forms.css @@ -0,0 +1,532 @@ +@import url('widgets.css'); + +/* FORM ROWS */ + +.form-row { + overflow: hidden; + padding: 10px; + font-size: 13px; + border-bottom: 1px solid #eee; +} + +.form-row img, .form-row input { + vertical-align: middle; +} + +.form-row label input[type="checkbox"] { + margin-top: 0; + vertical-align: 0; +} + +form .form-row p { + padding-left: 0; +} + +.hidden { + display: none; +} + +/* FORM LABELS */ + +label { + font-weight: normal; + color: #666; + font-size: 13px; +} + +.required label, label.required { + font-weight: bold; + color: #333; +} + +/* RADIO BUTTONS */ + +form ul.radiolist li { + list-style-type: none; +} + +form ul.radiolist label { + float: none; + display: inline; +} + +form ul.radiolist input[type="radio"] { + margin: -2px 4px 0 0; + padding: 0; +} + +form ul.inline { + margin-left: 0; + padding: 0; +} + +form ul.inline li { + float: left; + padding-right: 7px; +} + +/* ALIGNED FIELDSETS */ + +.aligned label { + display: block; + padding: 4px 10px 0 0; + float: left; + width: 160px; + word-wrap: break-word; + line-height: 1; +} + +.aligned label:not(.vCheckboxLabel):after { + content: ''; + display: inline-block; + vertical-align: middle; + height: 26px; +} + +.aligned label + p, .aligned label + div.help, .aligned label + div.readonly { + padding: 6px 0; + margin-top: 0; + margin-bottom: 0; + margin-left: 170px; +} + +.aligned ul label { + display: inline; + float: none; + width: auto; +} + +.aligned .form-row input { + margin-bottom: 0; +} + +.colMS .aligned .vLargeTextField, .colMS .aligned .vXMLLargeTextField { + width: 350px; +} + +form .aligned ul { + margin-left: 160px; + padding-left: 10px; +} + +form .aligned ul.radiolist { + display: inline-block; + margin: 0; + padding: 0; +} + +form .aligned p.help, +form .aligned div.help { + clear: left; + margin-top: 0; + margin-left: 160px; + padding-left: 10px; +} + +form .aligned label + p.help, +form .aligned label + div.help { + margin-left: 0; + padding-left: 0; +} + +form .aligned p.help:last-child, +form .aligned div.help:last-child { + margin-bottom: 0; + padding-bottom: 0; +} + +form .aligned input + p.help, +form .aligned textarea + p.help, +form .aligned select + p.help, +form .aligned input + div.help, +form .aligned textarea + div.help, +form .aligned select + div.help { + margin-left: 160px; + padding-left: 10px; +} + +form .aligned ul li { + list-style: none; +} + +form .aligned table p { + margin-left: 0; + padding-left: 0; +} + +.aligned .vCheckboxLabel { + float: none; + width: auto; + display: inline-block; + vertical-align: -3px; + padding: 0 0 5px 5px; +} + +.aligned .vCheckboxLabel + p.help, +.aligned .vCheckboxLabel + div.help { + margin-top: -4px; +} + +.colM .aligned .vLargeTextField, .colM .aligned .vXMLLargeTextField { + width: 610px; +} + +.checkbox-row p.help, +.checkbox-row div.help { + margin-left: 0; + padding-left: 0; +} + +fieldset .fieldBox { + float: left; + margin-right: 20px; +} + +/* WIDE FIELDSETS */ + +.wide label { + width: 200px; +} + +form .wide p, +form .wide input + p.help, +form .wide input + div.help { + margin-left: 200px; +} + +form .wide p.help, +form .wide div.help { + padding-left: 38px; +} + +form div.help ul { + padding-left: 0; + margin-left: 0; +} + +.colM fieldset.wide .vLargeTextField, .colM fieldset.wide .vXMLLargeTextField { + width: 450px; +} + +/* COLLAPSED FIELDSETS */ + +fieldset.collapsed * { + display: none; +} + +fieldset.collapsed h2, fieldset.collapsed { + display: block; +} + +fieldset.collapsed { + border: 1px solid #eee; + border-radius: 4px; + overflow: hidden; +} + +fieldset.collapsed h2 { + background: #f8f8f8; + color: #666; +} + +fieldset .collapse-toggle { + color: #fff; +} + +fieldset.collapsed .collapse-toggle { + background: transparent; + display: inline; + color: #447e9b; +} + +/* MONOSPACE TEXTAREAS */ + +fieldset.monospace textarea { + font-family: "Bitstream Vera Sans Mono", Monaco, "Courier New", Courier, monospace; +} + +/* SUBMIT ROW */ + +.submit-row { + padding: 12px 14px; + margin: 0 0 20px; + background: #f8f8f8; + border: 1px solid #eee; + border-radius: 4px; + text-align: right; + overflow: hidden; +} + +body.popup .submit-row { + overflow: auto; +} + +.submit-row input { + height: 35px; + line-height: 15px; + margin: 0 0 0 5px; +} + +.submit-row input.default { + margin: 0 0 0 8px; + text-transform: uppercase; +} + +.submit-row p { + margin: 0.3em; +} + +.submit-row p.deletelink-box { + float: left; + margin: 0; +} + +.submit-row a.deletelink { + display: block; + background: #ba2121; + border-radius: 4px; + padding: 10px 15px; + height: 15px; + line-height: 15px; + color: #fff; +} + +.submit-row a.closelink { + display: inline-block; + background: #bbbbbb; + border-radius: 4px; + padding: 10px 15px; + height: 15px; + line-height: 15px; + margin: 0 0 0 5px; + color: #fff; +} + +.submit-row a.deletelink:focus, +.submit-row a.deletelink:hover, +.submit-row a.deletelink:active { + background: #a41515; +} + +.submit-row a.closelink:focus, +.submit-row a.closelink:hover, +.submit-row a.closelink:active { + background: #aaaaaa; +} + +/* CUSTOM FORM FIELDS */ + +.vSelectMultipleField { + vertical-align: top; +} + +.vCheckboxField { + border: none; +} + +.vDateField, .vTimeField { + margin-right: 2px; + margin-bottom: 4px; +} + +.vDateField { + min-width: 6.85em; +} + +.vTimeField { + min-width: 4.7em; +} + +.vURLField { + width: 30em; +} + +.vLargeTextField, .vXMLLargeTextField { + width: 48em; +} + +.flatpages-flatpage #id_content { + height: 40.2em; +} + +.module table .vPositiveSmallIntegerField { + width: 2.2em; +} + +.vTextField, .vUUIDField { + width: 20em; +} + +.vIntegerField { + width: 5em; +} + +.vBigIntegerField { + width: 10em; +} + +.vForeignKeyRawIdAdminField { + width: 5em; +} + +/* INLINES */ + +.inline-group { + padding: 0; + margin: 0 0 30px; +} + +.inline-group thead th { + padding: 8px 10px; +} + +.inline-group .aligned label { + width: 160px; +} + +.inline-related { + position: relative; +} + +.inline-related h3 { + margin: 0; + color: #666; + padding: 5px; + font-size: 13px; + background: #f8f8f8; + border-top: 1px solid #eee; + border-bottom: 1px solid #eee; +} + +.inline-related h3 span.delete { + float: right; +} + +.inline-related h3 span.delete label { + margin-left: 2px; + font-size: 11px; +} + +.inline-related fieldset { + margin: 0; + background: #fff; + border: none; + width: 100%; +} + +.inline-related fieldset.module h3 { + margin: 0; + padding: 2px 5px 3px 5px; + font-size: 11px; + text-align: left; + font-weight: bold; + background: #bcd; + color: #fff; +} + +.inline-group .tabular fieldset.module { + border: none; +} + +.inline-related.tabular fieldset.module table { + width: 100%; +} + +.last-related fieldset { + border: none; +} + +.inline-group .tabular tr.has_original td { + padding-top: 2em; +} + +.inline-group .tabular tr td.original { + padding: 2px 0 0 0; + width: 0; + _position: relative; +} + +.inline-group .tabular th.original { + width: 0px; + padding: 0; +} + +.inline-group .tabular td.original p { + position: absolute; + left: 0; + height: 1.1em; + padding: 2px 9px; + overflow: hidden; + font-size: 9px; + font-weight: bold; + color: #666; + _width: 700px; +} + +.inline-group ul.tools { + padding: 0; + margin: 0; + list-style: none; +} + +.inline-group ul.tools li { + display: inline; + padding: 0 5px; +} + +.inline-group div.add-row, +.inline-group .tabular tr.add-row td { + color: #666; + background: #f8f8f8; + padding: 8px 10px; + border-bottom: 1px solid #eee; +} + +.inline-group .tabular tr.add-row td { + padding: 8px 10px; + border-bottom: 1px solid #eee; +} + +.inline-group ul.tools a.add, +.inline-group div.add-row a, +.inline-group .tabular tr.add-row td a { + background: url(../img/icon-addlink.svg) 0 1px no-repeat; + padding-left: 16px; + font-size: 12px; +} + +.empty-form { + display: none; +} + +/* RELATED FIELD ADD ONE / LOOKUP */ + +.add-another, .related-lookup { + margin-left: 5px; + display: inline-block; + vertical-align: middle; + background-repeat: no-repeat; + background-size: 14px; +} + +.add-another { + width: 16px; + height: 16px; + background-image: url(../img/icon-addlink.svg); +} + +.related-lookup { + width: 16px; + height: 16px; + background-image: url(../img/search.svg); +} + +form .related-widget-wrapper ul { + display: inline-block; + margin-left: 0; + padding-left: 0; +} + +.clearable-file-input input { + margin-top: 0; +} diff --git a/static/admin/css/forms.css.gz b/static/admin/css/forms.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..2ebe71d02175484fde2f9a14c323fafab423a4a5 GIT binary patch literal 2099 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 literal 0 HcmV?d00001 diff --git a/static/admin/css/login.252ffabd6548.css b/static/admin/css/login.252ffabd6548.css new file mode 100644 index 0000000..2ec241c --- /dev/null +++ b/static/admin/css/login.252ffabd6548.css @@ -0,0 +1,79 @@ +/* LOGIN FORM */ + +body.login { + background: #f8f8f8; +} + +.login #header { + height: auto; + padding: 15px 16px; + justify-content: center; +} + +.login #header h1 { + font-size: 18px; +} + +.login #header h1 a { + color: #fff; +} + +.login #content { + padding: 20px 20px 0; +} + +.login #container { + background: #fff; + border: 1px solid #eaeaea; + border-radius: 4px; + overflow: hidden; + width: 28em; + min-width: 300px; + margin: 100px auto; +} + +.login #content-main { + width: 100%; +} + +.login .form-row { + padding: 4px 0; + float: left; + width: 100%; + border-bottom: none; +} + +.login .form-row label { + padding-right: 0.5em; + line-height: 2em; + font-size: 1em; + clear: both; + color: #333; +} + +.login .form-row #id_username, .login .form-row #id_password { + clear: both; + padding: 8px; + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.login span.help { + font-size: 10px; + display: block; +} + +.login .submit-row { + clear: both; + padding: 1em 0 0 9.4em; + margin: 0; + border: none; + background: none; + text-align: left; +} + +.login .password-reset-link { + text-align: center; +} diff --git a/static/admin/css/login.252ffabd6548.css.gz b/static/admin/css/login.252ffabd6548.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..0ce63ae1e97afafb88d603a596a553ada7a61708 GIT binary patch literal 498 zcmb2|=3oE;rvI%W2m59l2<-hVI&D#0n5nnf%}}p*Yqhq<uCx!3v}uq|R=zzYW%a*m z_6?jWAxDMUAD%rk+x)zZ-30yh^X=-D<>U9)tMc~;PRXq6T&mZqv|qW&|JbMC%#zg= zUS>xZ+8=-6FH(778Pl<Y6$Pw|*2H*4y#7+yVbW8)@YIx?`Lm60?lXCA_;2%8KN0a+ z*-sr3z54PEvX`!2yFN}~TGU6jh_@HSqmCN&pWAw6+4C3??j`SE1Pbq8&hnFY{S&@( zEwkKWUR}H{x9C<v^^?}0VcrK%vPINCo4+zKW{a8X?*&c&SeH%M<?X3z!EWkieK5AQ zhcBSNF-qfA^KKQ+lcvTe1ggI&>i_&ZXG_{;y;@$M3iI}3t!AdCyLMkqv0r7Fp>KLv z*Hh!p$9>mwj`>(Ge?3KGZNlEp6v-2*+F5S*RX!Hah+Oo{<i|@*m*-*}8)KN9Uv4Zc zjmfFoetWI)4UT_{w<d_JerOx{_l`lf^&E{EFSi|Ea#3;3V?Tjgj%7l8qL$yMuzyjR z<o_yhYu#`8wjQSS$?Jq~wXNL2baPG2jFV<DH{3RHUz=cMugkJ2H%$5AYT<vjW~=;# zY~&yPeG>HkcuJ+JoARBwx!G3^-V9W8UD>oZt>=)`3P$d}MVfx|ZrQy3_5KI9)CQj1 Ii!2Nb0A*?J3;+NC literal 0 HcmV?d00001 diff --git a/static/admin/css/login.css b/static/admin/css/login.css new file mode 100644 index 0000000..2ec241c --- /dev/null +++ b/static/admin/css/login.css @@ -0,0 +1,79 @@ +/* LOGIN FORM */ + +body.login { + background: #f8f8f8; +} + +.login #header { + height: auto; + padding: 15px 16px; + justify-content: center; +} + +.login #header h1 { + font-size: 18px; +} + +.login #header h1 a { + color: #fff; +} + +.login #content { + padding: 20px 20px 0; +} + +.login #container { + background: #fff; + border: 1px solid #eaeaea; + border-radius: 4px; + overflow: hidden; + width: 28em; + min-width: 300px; + margin: 100px auto; +} + +.login #content-main { + width: 100%; +} + +.login .form-row { + padding: 4px 0; + float: left; + width: 100%; + border-bottom: none; +} + +.login .form-row label { + padding-right: 0.5em; + line-height: 2em; + font-size: 1em; + clear: both; + color: #333; +} + +.login .form-row #id_username, .login .form-row #id_password { + clear: both; + padding: 8px; + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.login span.help { + font-size: 10px; + display: block; +} + +.login .submit-row { + clear: both; + padding: 1em 0 0 9.4em; + margin: 0; + border: none; + background: none; + text-align: left; +} + +.login .password-reset-link { + text-align: center; +} diff --git a/static/admin/css/login.css.gz b/static/admin/css/login.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..0ce63ae1e97afafb88d603a596a553ada7a61708 GIT binary patch literal 498 zcmb2|=3oE;rvI%W2m59l2<-hVI&D#0n5nnf%}}p*Yqhq<uCx!3v}uq|R=zzYW%a*m z_6?jWAxDMUAD%rk+x)zZ-30yh^X=-D<>U9)tMc~;PRXq6T&mZqv|qW&|JbMC%#zg= zUS>xZ+8=-6FH(778Pl<Y6$Pw|*2H*4y#7+yVbW8)@YIx?`Lm60?lXCA_;2%8KN0a+ z*-sr3z54PEvX`!2yFN}~TGU6jh_@HSqmCN&pWAw6+4C3??j`SE1Pbq8&hnFY{S&@( zEwkKWUR}H{x9C<v^^?}0VcrK%vPINCo4+zKW{a8X?*&c&SeH%M<?X3z!EWkieK5AQ zhcBSNF-qfA^KKQ+lcvTe1ggI&>i_&ZXG_{;y;@$M3iI}3t!AdCyLMkqv0r7Fp>KLv z*Hh!p$9>mwj`>(Ge?3KGZNlEp6v-2*+F5S*RX!Hah+Oo{<i|@*m*-*}8)KN9Uv4Zc zjmfFoetWI)4UT_{w<d_JerOx{_l`lf^&E{EFSi|Ea#3;3V?Tjgj%7l8qL$yMuzyjR z<o_yhYu#`8wjQSS$?Jq~wXNL2baPG2jFV<DH{3RHUz=cMugkJ2H%$5AYT<vjW~=;# zY~&yPeG>HkcuJ+JoARBwx!G3^-V9W8UD>oZt>=)`3P$d}MVfx|ZrQy3_5KI9)CQj1 Ii!2Nb0A*?J3;+NC literal 0 HcmV?d00001 diff --git a/static/admin/css/responsive.755ce0b07393.css b/static/admin/css/responsive.755ce0b07393.css new file mode 100644 index 0000000..b3db28f --- /dev/null +++ b/static/admin/css/responsive.755ce0b07393.css @@ -0,0 +1,996 @@ +/* Tablets */ + +input[type="submit"], button { + -webkit-appearance: none; + appearance: none; +} + +@media (max-width: 1024px) { + /* Basic */ + + html { + -webkit-text-size-adjust: 100%; + } + + td, th { + padding: 10px; + font-size: 14px; + } + + .small { + font-size: 12px; + } + + /* Layout */ + + #container { + min-width: 0; + } + + #content { + padding: 20px 30px 30px; + } + + div.breadcrumbs { + padding: 10px 30px; + } + + /* Header */ + + #header { + flex-direction: column; + padding: 15px 30px; + justify-content: flex-start; + } + + #branding h1 { + margin: 0 0 8px; + font-size: 20px; + line-height: 1.2; + } + + #user-tools { + margin: 0; + font-weight: 400; + line-height: 1.85; + text-align: left; + } + + #user-tools a { + display: inline-block; + line-height: 1.4; + } + + /* Dashboard */ + + .dashboard #content { + width: auto; + } + + #content-related { + margin-right: -290px; + } + + .colSM #content-related { + margin-left: -290px; + } + + .colMS { + margin-right: 290px; + } + + .colSM { + margin-left: 290px; + } + + .dashboard .module table td a { + padding-right: 0; + } + + td .changelink, td .addlink { + font-size: 13px; + } + + /* Changelist */ + + #changelist #toolbar { + border: none; + padding: 15px; + } + + #changelist-search > div { + display: -webkit-flex; + display: flex; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + max-width: 480px; + } + + #changelist-search label { + line-height: 22px; + } + + #changelist #toolbar form #searchbar { + -webkit-flex: 1 0 auto; + flex: 1 0 auto; + width: 0; + height: 22px; + margin: 0 10px 0 6px; + } + + #changelist-search .quiet { + width: 100%; + margin: 5px 0 0 25px; + } + + #changelist .actions { + display: flex; + flex-wrap: wrap; + padding: 15px 0; + } + + #changelist .actions.selected { + border: none; + } + + #changelist .actions label { + display: flex; + } + + #changelist .actions select { + background: #fff; + } + + #changelist .actions .button { + min-width: 48px; + margin: 0 10px; + } + + #changelist .actions span.all, + #changelist .actions span.clear, + #changelist .actions span.question, + #changelist .actions span.action-counter { + font-size: 11px; + margin: 0 10px 0 0; + } + + #changelist-filter { + width: 200px; + } + + .change-list .filtered .results, + .change-list .filtered .paginator, + .filtered #toolbar, + .filtered .actions, + .filtered div.xfull { + margin-right: 230px; + } + + #changelist .paginator { + border-top-color: #eee; + } + + #changelist .results + .paginator { + border-top: none; + } + + /* Forms */ + + label { + font-size: 14px; + } + + .form-row input[type=text], + .form-row input[type=password], + .form-row input[type=email], + .form-row input[type=url], + .form-row input[type=tel], + .form-row input[type=number], + .form-row textarea, + .form-row select, + .form-row .vTextField { + box-sizing: border-box; + margin: 0; + padding: 6px 8px; + min-height: 36px; + font-size: 14px; + } + + .form-row select { + height: 36px; + } + + .form-row select[multiple] { + height: auto; + min-height: 0; + } + + fieldset .fieldBox { + float: none; + margin: 0 -10px; + padding: 0 10px; + } + + fieldset .fieldBox + .fieldBox { + margin-top: 10px; + padding-top: 10px; + border-top: 1px solid #eee; + } + + textarea { + max-width: 518px; + max-height: 120px; + } + + .aligned label { + padding-top: 6px; + } + + .aligned .add-another, + .aligned .related-lookup, + .aligned .datetimeshortcuts, + .aligned .related-lookup + strong { + align-self: center; + margin-left: 15px; + } + + form .aligned ul.radiolist { + margin-left: 2px; + } + + /* Related widget */ + + .related-widget-wrapper { + float: none; + } + + .related-widget-wrapper-link + .selector { + max-width: calc(100% - 30px); + margin-right: 15px; + } + + select + .related-widget-wrapper-link, + .related-widget-wrapper-link + .related-widget-wrapper-link { + margin-left: 10px; + } + + /* Selector */ + + .selector { + display: flex; + width: 100%; + } + + .selector .selector-filter { + display: flex; + align-items: center; + } + + .selector .selector-filter label { + margin: 0 8px 0 0; + } + + .selector .selector-filter input { + width: auto; + min-height: 0; + flex: 1 1; + } + + .selector-available, .selector-chosen { + width: auto; + flex: 1 1; + display: flex; + flex-direction: column; + } + + .selector select { + width: 100%; + flex: 1 0 auto; + margin-bottom: 5px; + } + + .selector ul.selector-chooser { + width: 26px; + height: 52px; + padding: 2px 0; + margin: auto 15px; + border-radius: 20px; + transform: translateY(-10px); + } + + .selector-add, .selector-remove { + width: 20px; + height: 20px; + background-size: 20px auto; + } + + .selector-add { + background-position: 0 -120px; + } + + .selector-remove { + background-position: 0 -80px; + } + + a.selector-chooseall, a.selector-clearall { + align-self: center; + } + + .stacked { + flex-direction: column; + max-width: 480px; + } + + .stacked > * { + flex: 0 1 auto; + } + + .stacked select { + margin-bottom: 0; + } + + .stacked .selector-available, .stacked .selector-chosen { + width: auto; + } + + .stacked ul.selector-chooser { + width: 52px; + height: 26px; + padding: 0 2px; + margin: 15px auto; + transform: none; + } + + .stacked .selector-chooser li { + padding: 3px; + } + + .stacked .selector-add, .stacked .selector-remove { + background-size: 20px auto; + } + + .stacked .selector-add { + background-position: 0 -40px; + } + + .stacked .active.selector-add { + background-position: 0 -60px; + } + + .stacked .selector-remove { + background-position: 0 0; + } + + .stacked .active.selector-remove { + background-position: 0 -20px; + } + + .help-tooltip, .selector .help-icon { + display: none; + } + + form .form-row p.datetime { + width: 100%; + } + + .datetime input { + width: 50%; + max-width: 120px; + } + + .datetime span { + font-size: 13px; + } + + .datetime .timezonewarning { + display: block; + font-size: 11px; + color: #999; + } + + .datetimeshortcuts { + color: #ccc; + } + + .form-row .datetime input.vDateField, .form-row .datetime input.vTimeField { + width: 75%; + } + + .inline-group { + overflow: auto; + } + + /* Messages */ + + ul.messagelist li { + padding-left: 55px; + background-position: 30px 12px; + } + + ul.messagelist li.error { + background-position: 30px 12px; + } + + ul.messagelist li.warning { + background-position: 30px 14px; + } + + /* Login */ + + .login #header { + padding: 15px 20px; + } + + .login #branding h1 { + margin: 0; + } + + /* GIS */ + + div.olMap { + max-width: calc(100vw - 30px); + max-height: 300px; + } + + .olMap + .clear_features { + display: block; + margin-top: 10px; + } + + /* Docs */ + + .module table.xfull { + width: 100%; + } + + pre.literal-block { + overflow: auto; + } +} + +/* Mobile */ + +@media (max-width: 767px) { + /* Layout */ + + #header, #content, #footer { + padding: 15px; + } + + #footer:empty { + padding: 0; + } + + div.breadcrumbs { + padding: 10px 15px; + } + + /* Dashboard */ + + .colMS, .colSM { + margin: 0; + } + + #content-related, .colSM #content-related { + width: 100%; + margin: 0; + } + + #content-related .module { + margin-bottom: 0; + } + + #content-related .module h2 { + padding: 10px 15px; + font-size: 16px; + } + + /* Changelist */ + + #changelist { + display: flex; + flex-direction: column; + } + + #changelist #toolbar { + order: 1; + padding: 10px; + } + + #changelist .xfull { + order: 2; + } + + #changelist-form { + order: 3; + } + + #changelist-filter { + order: 4; + } + + #changelist .actions label { + flex: 1 1; + } + + #changelist .actions select { + flex: 1 0; + width: 100%; + } + + #changelist .actions span { + flex: 1 0 100%; + } + + .change-list .filtered .results, .change-list .filtered .paginator, + .filtered #toolbar, .filtered .actions, .filtered div.xfull { + margin-right: 0; + } + + #changelist-filter { + position: static; + width: auto; + margin-top: 30px; + } + + .object-tools { + float: none; + margin: 0 0 15px; + padding: 0; + overflow: hidden; + } + + .object-tools li { + height: auto; + margin-left: 0; + } + + .object-tools li + li { + margin-left: 15px; + } + + /* Forms */ + + .form-row { + padding: 15px 0; + } + + .aligned .form-row, + .aligned .form-row > div { + display: flex; + flex-wrap: wrap; + max-width: 100vw; + } + + .aligned .form-row > div { + width: calc(100vw - 30px); + } + + textarea { + max-width: none; + } + + .vURLField { + width: auto; + } + + fieldset .fieldBox + .fieldBox { + margin-top: 15px; + padding-top: 15px; + } + + fieldset.collapsed .form-row { + display: none; + } + + .aligned label { + width: 100%; + padding: 0 0 10px; + } + + .aligned label:after { + max-height: 0; + } + + .aligned .form-row input, + .aligned .form-row select, + .aligned .form-row textarea { + flex: 1 1 auto; + max-width: 100%; + } + + .aligned .checkbox-row { + align-items: center; + } + + .aligned .checkbox-row input { + flex: 0 1 auto; + margin: 0; + } + + .aligned .vCheckboxLabel { + flex: 1 0; + padding: 1px 0 0 5px; + } + + .aligned label + p, + .aligned label + div.help, + .aligned label + div.readonly { + padding: 0; + margin-left: 0; + } + + .aligned p.file-upload { + margin-left: 0; + font-size: 13px; + } + + span.clearable-file-input { + margin-left: 15px; + } + + span.clearable-file-input label { + font-size: 13px; + padding-bottom: 0; + } + + .aligned .timezonewarning { + flex: 1 0 100%; + margin-top: 5px; + } + + form .aligned .form-row div.help { + width: 100%; + margin: 5px 0 0; + padding: 0; + } + + form .aligned ul { + margin-left: 0; + padding-left: 0; + } + + form .aligned ul.radiolist { + margin-right: 15px; + margin-bottom: -3px; + } + + form .aligned ul.radiolist li + li { + margin-top: 5px; + } + + /* Related widget */ + + .related-widget-wrapper { + width: 100%; + display: flex; + align-items: flex-start; + } + + .related-widget-wrapper .selector { + order: 1; + } + + .related-widget-wrapper > a { + order: 2; + } + + .related-widget-wrapper .radiolist ~ a { + align-self: flex-end; + } + + .related-widget-wrapper > select ~ a { + align-self: center; + } + + select + .related-widget-wrapper-link, + .related-widget-wrapper-link + .related-widget-wrapper-link { + margin-left: 15px; + } + + /* Selector */ + + .selector { + flex-direction: column; + } + + .selector > * { + float: none; + } + + .selector-available, .selector-chosen { + margin-bottom: 0; + flex: 1 1 auto; + } + + .selector select { + max-height: 96px; + } + + .selector ul.selector-chooser { + display: block; + float: none; + width: 52px; + height: 26px; + padding: 0 2px; + margin: 15px auto 20px; + transform: none; + } + + .selector ul.selector-chooser li { + float: left; + } + + .selector-remove { + background-position: 0 0; + } + + .selector-add { + background-position: 0 -40px; + } + + /* Inlines */ + + .inline-group[data-inline-type="stacked"] .inline-related { + border: 2px solid #eee; + border-radius: 4px; + margin-top: 15px; + overflow: auto; + } + + .inline-group[data-inline-type="stacked"] .inline-related > * { + box-sizing: border-box; + } + + .inline-group[data-inline-type="stacked"] .inline-related + .inline-related { + margin-top: 30px; + } + + .inline-group[data-inline-type="stacked"] .inline-related .module { + padding: 0 10px; + } + + .inline-group[data-inline-type="stacked"] .inline-related .module .form-row:last-child { + border-bottom: none; + } + + .inline-group[data-inline-type="stacked"] .inline-related h3 { + padding: 10px; + border-top-width: 0; + border-bottom-width: 2px; + display: flex; + flex-wrap: wrap; + align-items: center; + } + + .inline-group[data-inline-type="stacked"] .inline-related h3 .inline_label { + margin-right: auto; + } + + .inline-group[data-inline-type="stacked"] .inline-related h3 span.delete { + float: none; + flex: 1 1 100%; + margin-top: 5px; + } + + .inline-group[data-inline-type="stacked"] .aligned .form-row > div:not([class]) { + width: 100%; + } + + .inline-group[data-inline-type="stacked"] .aligned label { + width: 100%; + } + + .inline-group[data-inline-type="stacked"] div.add-row { + margin-top: 15px; + border: 1px solid #eee; + border-radius: 4px; + } + + .inline-group div.add-row, + .inline-group .tabular tr.add-row td { + padding: 0; + } + + .inline-group div.add-row a, + .inline-group .tabular tr.add-row td a { + display: block; + padding: 8px 10px 8px 26px; + background-position: 8px 9px; + } + + /* Submit row */ + + .submit-row { + padding: 10px 10px 0; + margin: 0 0 15px; + display: flex; + flex-direction: column; + } + + .submit-row > * { + width: 100%; + } + + .submit-row input, .submit-row input.default, .submit-row a, .submit-row a.closelink { + float: none; + margin: 0 0 10px; + text-align: center; + } + + .submit-row a.closelink { + padding: 10px 0; + } + + .submit-row p.deletelink-box { + order: 4; + } + + /* Messages */ + + ul.messagelist li { + padding-left: 40px; + background-position: 15px 12px; + } + + ul.messagelist li.error { + background-position: 15px 12px; + } + + ul.messagelist li.warning { + background-position: 15px 14px; + } + + /* Paginator */ + + .paginator .this-page, .paginator a:link, .paginator a:visited { + padding: 4px 10px; + } + + /* Login */ + + body.login { + padding: 0 15px; + } + + .login #container { + width: auto; + max-width: 480px; + margin: 50px auto; + } + + .login #header, + .login #content { + padding: 15px; + } + + .login #content-main { + float: none; + } + + .login .form-row { + padding: 0; + } + + .login .form-row + .form-row { + margin-top: 15px; + } + + .login .form-row label { + display: block; + margin: 0 0 5px; + padding: 0; + line-height: 1.2; + } + + .login .submit-row { + padding: 15px 0 0; + } + + .login br, .login .submit-row label { + display: none; + } + + .login .submit-row input { + margin: 0; + text-transform: uppercase; + } + + .errornote { + margin: 0 0 20px; + padding: 8px 12px; + font-size: 13px; + } + + /* Calendar and clock */ + + .calendarbox, .clockbox { + position: fixed !important; + top: 50% !important; + left: 50% !important; + transform: translate(-50%, -50%); + margin: 0; + border: none; + overflow: visible; + } + + .calendarbox:before, .clockbox:before { + content: ''; + position: fixed; + top: 50%; + left: 50%; + width: 100vw; + height: 100vh; + background: rgba(0, 0, 0, 0.75); + transform: translate(-50%, -50%); + } + + .calendarbox > *, .clockbox > * { + position: relative; + z-index: 1; + } + + .calendarbox > div:first-child { + z-index: 2; + } + + .calendarbox .calendar, .clockbox h2 { + border-radius: 4px 4px 0 0; + overflow: hidden; + } + + .calendarbox .calendar-cancel, .clockbox .calendar-cancel { + border-radius: 0 0 4px 4px; + overflow: hidden; + } + + .calendar-shortcuts { + padding: 10px 0; + font-size: 12px; + line-height: 12px; + } + + .calendar-shortcuts a { + margin: 0 4px; + } + + .timelist a { + background: #fff; + padding: 4px; + } + + .calendar-cancel { + padding: 8px 10px; + } + + .clockbox h2 { + padding: 8px 15px; + } + + .calendar caption { + padding: 10px; + } + + .calendarbox .calendarnav-previous, .calendarbox .calendarnav-next { + z-index: 1; + top: 10px; + } + + /* History */ + + table#change-history tbody th, table#change-history tbody td { + font-size: 13px; + word-break: break-word; + } + + table#change-history tbody th { + width: auto; + } + + /* Docs */ + + table.model tbody th, table.model tbody td { + font-size: 13px; + word-break: break-word; + } +} diff --git a/static/admin/css/responsive.755ce0b07393.css.gz b/static/admin/css/responsive.755ce0b07393.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..e4a95e900dd576784938540bdf4cb0dca2e05f9f GIT binary patch literal 3324 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 literal 0 HcmV?d00001 diff --git a/static/admin/css/responsive.css b/static/admin/css/responsive.css new file mode 100644 index 0000000..b3db28f --- /dev/null +++ b/static/admin/css/responsive.css @@ -0,0 +1,996 @@ +/* Tablets */ + +input[type="submit"], button { + -webkit-appearance: none; + appearance: none; +} + +@media (max-width: 1024px) { + /* Basic */ + + html { + -webkit-text-size-adjust: 100%; + } + + td, th { + padding: 10px; + font-size: 14px; + } + + .small { + font-size: 12px; + } + + /* Layout */ + + #container { + min-width: 0; + } + + #content { + padding: 20px 30px 30px; + } + + div.breadcrumbs { + padding: 10px 30px; + } + + /* Header */ + + #header { + flex-direction: column; + padding: 15px 30px; + justify-content: flex-start; + } + + #branding h1 { + margin: 0 0 8px; + font-size: 20px; + line-height: 1.2; + } + + #user-tools { + margin: 0; + font-weight: 400; + line-height: 1.85; + text-align: left; + } + + #user-tools a { + display: inline-block; + line-height: 1.4; + } + + /* Dashboard */ + + .dashboard #content { + width: auto; + } + + #content-related { + margin-right: -290px; + } + + .colSM #content-related { + margin-left: -290px; + } + + .colMS { + margin-right: 290px; + } + + .colSM { + margin-left: 290px; + } + + .dashboard .module table td a { + padding-right: 0; + } + + td .changelink, td .addlink { + font-size: 13px; + } + + /* Changelist */ + + #changelist #toolbar { + border: none; + padding: 15px; + } + + #changelist-search > div { + display: -webkit-flex; + display: flex; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + max-width: 480px; + } + + #changelist-search label { + line-height: 22px; + } + + #changelist #toolbar form #searchbar { + -webkit-flex: 1 0 auto; + flex: 1 0 auto; + width: 0; + height: 22px; + margin: 0 10px 0 6px; + } + + #changelist-search .quiet { + width: 100%; + margin: 5px 0 0 25px; + } + + #changelist .actions { + display: flex; + flex-wrap: wrap; + padding: 15px 0; + } + + #changelist .actions.selected { + border: none; + } + + #changelist .actions label { + display: flex; + } + + #changelist .actions select { + background: #fff; + } + + #changelist .actions .button { + min-width: 48px; + margin: 0 10px; + } + + #changelist .actions span.all, + #changelist .actions span.clear, + #changelist .actions span.question, + #changelist .actions span.action-counter { + font-size: 11px; + margin: 0 10px 0 0; + } + + #changelist-filter { + width: 200px; + } + + .change-list .filtered .results, + .change-list .filtered .paginator, + .filtered #toolbar, + .filtered .actions, + .filtered div.xfull { + margin-right: 230px; + } + + #changelist .paginator { + border-top-color: #eee; + } + + #changelist .results + .paginator { + border-top: none; + } + + /* Forms */ + + label { + font-size: 14px; + } + + .form-row input[type=text], + .form-row input[type=password], + .form-row input[type=email], + .form-row input[type=url], + .form-row input[type=tel], + .form-row input[type=number], + .form-row textarea, + .form-row select, + .form-row .vTextField { + box-sizing: border-box; + margin: 0; + padding: 6px 8px; + min-height: 36px; + font-size: 14px; + } + + .form-row select { + height: 36px; + } + + .form-row select[multiple] { + height: auto; + min-height: 0; + } + + fieldset .fieldBox { + float: none; + margin: 0 -10px; + padding: 0 10px; + } + + fieldset .fieldBox + .fieldBox { + margin-top: 10px; + padding-top: 10px; + border-top: 1px solid #eee; + } + + textarea { + max-width: 518px; + max-height: 120px; + } + + .aligned label { + padding-top: 6px; + } + + .aligned .add-another, + .aligned .related-lookup, + .aligned .datetimeshortcuts, + .aligned .related-lookup + strong { + align-self: center; + margin-left: 15px; + } + + form .aligned ul.radiolist { + margin-left: 2px; + } + + /* Related widget */ + + .related-widget-wrapper { + float: none; + } + + .related-widget-wrapper-link + .selector { + max-width: calc(100% - 30px); + margin-right: 15px; + } + + select + .related-widget-wrapper-link, + .related-widget-wrapper-link + .related-widget-wrapper-link { + margin-left: 10px; + } + + /* Selector */ + + .selector { + display: flex; + width: 100%; + } + + .selector .selector-filter { + display: flex; + align-items: center; + } + + .selector .selector-filter label { + margin: 0 8px 0 0; + } + + .selector .selector-filter input { + width: auto; + min-height: 0; + flex: 1 1; + } + + .selector-available, .selector-chosen { + width: auto; + flex: 1 1; + display: flex; + flex-direction: column; + } + + .selector select { + width: 100%; + flex: 1 0 auto; + margin-bottom: 5px; + } + + .selector ul.selector-chooser { + width: 26px; + height: 52px; + padding: 2px 0; + margin: auto 15px; + border-radius: 20px; + transform: translateY(-10px); + } + + .selector-add, .selector-remove { + width: 20px; + height: 20px; + background-size: 20px auto; + } + + .selector-add { + background-position: 0 -120px; + } + + .selector-remove { + background-position: 0 -80px; + } + + a.selector-chooseall, a.selector-clearall { + align-self: center; + } + + .stacked { + flex-direction: column; + max-width: 480px; + } + + .stacked > * { + flex: 0 1 auto; + } + + .stacked select { + margin-bottom: 0; + } + + .stacked .selector-available, .stacked .selector-chosen { + width: auto; + } + + .stacked ul.selector-chooser { + width: 52px; + height: 26px; + padding: 0 2px; + margin: 15px auto; + transform: none; + } + + .stacked .selector-chooser li { + padding: 3px; + } + + .stacked .selector-add, .stacked .selector-remove { + background-size: 20px auto; + } + + .stacked .selector-add { + background-position: 0 -40px; + } + + .stacked .active.selector-add { + background-position: 0 -60px; + } + + .stacked .selector-remove { + background-position: 0 0; + } + + .stacked .active.selector-remove { + background-position: 0 -20px; + } + + .help-tooltip, .selector .help-icon { + display: none; + } + + form .form-row p.datetime { + width: 100%; + } + + .datetime input { + width: 50%; + max-width: 120px; + } + + .datetime span { + font-size: 13px; + } + + .datetime .timezonewarning { + display: block; + font-size: 11px; + color: #999; + } + + .datetimeshortcuts { + color: #ccc; + } + + .form-row .datetime input.vDateField, .form-row .datetime input.vTimeField { + width: 75%; + } + + .inline-group { + overflow: auto; + } + + /* Messages */ + + ul.messagelist li { + padding-left: 55px; + background-position: 30px 12px; + } + + ul.messagelist li.error { + background-position: 30px 12px; + } + + ul.messagelist li.warning { + background-position: 30px 14px; + } + + /* Login */ + + .login #header { + padding: 15px 20px; + } + + .login #branding h1 { + margin: 0; + } + + /* GIS */ + + div.olMap { + max-width: calc(100vw - 30px); + max-height: 300px; + } + + .olMap + .clear_features { + display: block; + margin-top: 10px; + } + + /* Docs */ + + .module table.xfull { + width: 100%; + } + + pre.literal-block { + overflow: auto; + } +} + +/* Mobile */ + +@media (max-width: 767px) { + /* Layout */ + + #header, #content, #footer { + padding: 15px; + } + + #footer:empty { + padding: 0; + } + + div.breadcrumbs { + padding: 10px 15px; + } + + /* Dashboard */ + + .colMS, .colSM { + margin: 0; + } + + #content-related, .colSM #content-related { + width: 100%; + margin: 0; + } + + #content-related .module { + margin-bottom: 0; + } + + #content-related .module h2 { + padding: 10px 15px; + font-size: 16px; + } + + /* Changelist */ + + #changelist { + display: flex; + flex-direction: column; + } + + #changelist #toolbar { + order: 1; + padding: 10px; + } + + #changelist .xfull { + order: 2; + } + + #changelist-form { + order: 3; + } + + #changelist-filter { + order: 4; + } + + #changelist .actions label { + flex: 1 1; + } + + #changelist .actions select { + flex: 1 0; + width: 100%; + } + + #changelist .actions span { + flex: 1 0 100%; + } + + .change-list .filtered .results, .change-list .filtered .paginator, + .filtered #toolbar, .filtered .actions, .filtered div.xfull { + margin-right: 0; + } + + #changelist-filter { + position: static; + width: auto; + margin-top: 30px; + } + + .object-tools { + float: none; + margin: 0 0 15px; + padding: 0; + overflow: hidden; + } + + .object-tools li { + height: auto; + margin-left: 0; + } + + .object-tools li + li { + margin-left: 15px; + } + + /* Forms */ + + .form-row { + padding: 15px 0; + } + + .aligned .form-row, + .aligned .form-row > div { + display: flex; + flex-wrap: wrap; + max-width: 100vw; + } + + .aligned .form-row > div { + width: calc(100vw - 30px); + } + + textarea { + max-width: none; + } + + .vURLField { + width: auto; + } + + fieldset .fieldBox + .fieldBox { + margin-top: 15px; + padding-top: 15px; + } + + fieldset.collapsed .form-row { + display: none; + } + + .aligned label { + width: 100%; + padding: 0 0 10px; + } + + .aligned label:after { + max-height: 0; + } + + .aligned .form-row input, + .aligned .form-row select, + .aligned .form-row textarea { + flex: 1 1 auto; + max-width: 100%; + } + + .aligned .checkbox-row { + align-items: center; + } + + .aligned .checkbox-row input { + flex: 0 1 auto; + margin: 0; + } + + .aligned .vCheckboxLabel { + flex: 1 0; + padding: 1px 0 0 5px; + } + + .aligned label + p, + .aligned label + div.help, + .aligned label + div.readonly { + padding: 0; + margin-left: 0; + } + + .aligned p.file-upload { + margin-left: 0; + font-size: 13px; + } + + span.clearable-file-input { + margin-left: 15px; + } + + span.clearable-file-input label { + font-size: 13px; + padding-bottom: 0; + } + + .aligned .timezonewarning { + flex: 1 0 100%; + margin-top: 5px; + } + + form .aligned .form-row div.help { + width: 100%; + margin: 5px 0 0; + padding: 0; + } + + form .aligned ul { + margin-left: 0; + padding-left: 0; + } + + form .aligned ul.radiolist { + margin-right: 15px; + margin-bottom: -3px; + } + + form .aligned ul.radiolist li + li { + margin-top: 5px; + } + + /* Related widget */ + + .related-widget-wrapper { + width: 100%; + display: flex; + align-items: flex-start; + } + + .related-widget-wrapper .selector { + order: 1; + } + + .related-widget-wrapper > a { + order: 2; + } + + .related-widget-wrapper .radiolist ~ a { + align-self: flex-end; + } + + .related-widget-wrapper > select ~ a { + align-self: center; + } + + select + .related-widget-wrapper-link, + .related-widget-wrapper-link + .related-widget-wrapper-link { + margin-left: 15px; + } + + /* Selector */ + + .selector { + flex-direction: column; + } + + .selector > * { + float: none; + } + + .selector-available, .selector-chosen { + margin-bottom: 0; + flex: 1 1 auto; + } + + .selector select { + max-height: 96px; + } + + .selector ul.selector-chooser { + display: block; + float: none; + width: 52px; + height: 26px; + padding: 0 2px; + margin: 15px auto 20px; + transform: none; + } + + .selector ul.selector-chooser li { + float: left; + } + + .selector-remove { + background-position: 0 0; + } + + .selector-add { + background-position: 0 -40px; + } + + /* Inlines */ + + .inline-group[data-inline-type="stacked"] .inline-related { + border: 2px solid #eee; + border-radius: 4px; + margin-top: 15px; + overflow: auto; + } + + .inline-group[data-inline-type="stacked"] .inline-related > * { + box-sizing: border-box; + } + + .inline-group[data-inline-type="stacked"] .inline-related + .inline-related { + margin-top: 30px; + } + + .inline-group[data-inline-type="stacked"] .inline-related .module { + padding: 0 10px; + } + + .inline-group[data-inline-type="stacked"] .inline-related .module .form-row:last-child { + border-bottom: none; + } + + .inline-group[data-inline-type="stacked"] .inline-related h3 { + padding: 10px; + border-top-width: 0; + border-bottom-width: 2px; + display: flex; + flex-wrap: wrap; + align-items: center; + } + + .inline-group[data-inline-type="stacked"] .inline-related h3 .inline_label { + margin-right: auto; + } + + .inline-group[data-inline-type="stacked"] .inline-related h3 span.delete { + float: none; + flex: 1 1 100%; + margin-top: 5px; + } + + .inline-group[data-inline-type="stacked"] .aligned .form-row > div:not([class]) { + width: 100%; + } + + .inline-group[data-inline-type="stacked"] .aligned label { + width: 100%; + } + + .inline-group[data-inline-type="stacked"] div.add-row { + margin-top: 15px; + border: 1px solid #eee; + border-radius: 4px; + } + + .inline-group div.add-row, + .inline-group .tabular tr.add-row td { + padding: 0; + } + + .inline-group div.add-row a, + .inline-group .tabular tr.add-row td a { + display: block; + padding: 8px 10px 8px 26px; + background-position: 8px 9px; + } + + /* Submit row */ + + .submit-row { + padding: 10px 10px 0; + margin: 0 0 15px; + display: flex; + flex-direction: column; + } + + .submit-row > * { + width: 100%; + } + + .submit-row input, .submit-row input.default, .submit-row a, .submit-row a.closelink { + float: none; + margin: 0 0 10px; + text-align: center; + } + + .submit-row a.closelink { + padding: 10px 0; + } + + .submit-row p.deletelink-box { + order: 4; + } + + /* Messages */ + + ul.messagelist li { + padding-left: 40px; + background-position: 15px 12px; + } + + ul.messagelist li.error { + background-position: 15px 12px; + } + + ul.messagelist li.warning { + background-position: 15px 14px; + } + + /* Paginator */ + + .paginator .this-page, .paginator a:link, .paginator a:visited { + padding: 4px 10px; + } + + /* Login */ + + body.login { + padding: 0 15px; + } + + .login #container { + width: auto; + max-width: 480px; + margin: 50px auto; + } + + .login #header, + .login #content { + padding: 15px; + } + + .login #content-main { + float: none; + } + + .login .form-row { + padding: 0; + } + + .login .form-row + .form-row { + margin-top: 15px; + } + + .login .form-row label { + display: block; + margin: 0 0 5px; + padding: 0; + line-height: 1.2; + } + + .login .submit-row { + padding: 15px 0 0; + } + + .login br, .login .submit-row label { + display: none; + } + + .login .submit-row input { + margin: 0; + text-transform: uppercase; + } + + .errornote { + margin: 0 0 20px; + padding: 8px 12px; + font-size: 13px; + } + + /* Calendar and clock */ + + .calendarbox, .clockbox { + position: fixed !important; + top: 50% !important; + left: 50% !important; + transform: translate(-50%, -50%); + margin: 0; + border: none; + overflow: visible; + } + + .calendarbox:before, .clockbox:before { + content: ''; + position: fixed; + top: 50%; + left: 50%; + width: 100vw; + height: 100vh; + background: rgba(0, 0, 0, 0.75); + transform: translate(-50%, -50%); + } + + .calendarbox > *, .clockbox > * { + position: relative; + z-index: 1; + } + + .calendarbox > div:first-child { + z-index: 2; + } + + .calendarbox .calendar, .clockbox h2 { + border-radius: 4px 4px 0 0; + overflow: hidden; + } + + .calendarbox .calendar-cancel, .clockbox .calendar-cancel { + border-radius: 0 0 4px 4px; + overflow: hidden; + } + + .calendar-shortcuts { + padding: 10px 0; + font-size: 12px; + line-height: 12px; + } + + .calendar-shortcuts a { + margin: 0 4px; + } + + .timelist a { + background: #fff; + padding: 4px; + } + + .calendar-cancel { + padding: 8px 10px; + } + + .clockbox h2 { + padding: 8px 15px; + } + + .calendar caption { + padding: 10px; + } + + .calendarbox .calendarnav-previous, .calendarbox .calendarnav-next { + z-index: 1; + top: 10px; + } + + /* History */ + + table#change-history tbody th, table#change-history tbody td { + font-size: 13px; + word-break: break-word; + } + + table#change-history tbody th { + width: auto; + } + + /* Docs */ + + table.model tbody th, table.model tbody td { + font-size: 13px; + word-break: break-word; + } +} diff --git a/static/admin/css/responsive.css.gz b/static/admin/css/responsive.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..e4a95e900dd576784938540bdf4cb0dca2e05f9f GIT binary patch literal 3324 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 literal 0 HcmV?d00001 diff --git a/static/admin/css/responsive_rtl.51c7445ceeff.css b/static/admin/css/responsive_rtl.51c7445ceeff.css new file mode 100644 index 0000000..f999cb1 --- /dev/null +++ b/static/admin/css/responsive_rtl.51c7445ceeff.css @@ -0,0 +1,84 @@ +/* TABLETS */ + +@media (max-width: 1024px) { + [dir="rtl"] .colMS { + margin-right: 0; + } + + [dir="rtl"] #user-tools { + text-align: right; + } + + [dir="rtl"] #changelist .actions label { + padding-left: 10px; + padding-right: 0; + } + + [dir="rtl"] #changelist .actions select { + margin-left: 0; + margin-right: 15px; + } + + [dir="rtl"] .change-list .filtered .results, + [dir="rtl"] .change-list .filtered .paginator, + [dir="rtl"] .filtered #toolbar, + [dir="rtl"] .filtered div.xfull, + [dir="rtl"] .filtered .actions { + margin-right: 0; + margin-left: 230px; + } + + [dir="rtl"] .inline-group ul.tools a.add, + [dir="rtl"] .inline-group div.add-row a, + [dir="rtl"] .inline-group .tabular tr.add-row td a { + padding: 8px 26px 8px 10px; + background-position: calc(100% - 8px) 9px; + } + + [dir="rtl"] .related-widget-wrapper-link + .selector { + margin-right: 0; + margin-left: 15px; + } + + [dir="rtl"] .selector .selector-filter label { + margin-right: 0; + margin-left: 8px; + } + + [dir="rtl"] .object-tools li { + float: right; + } + + [dir="rtl"] .object-tools li + li { + margin-left: 0; + margin-right: 15px; + } + + [dir="rtl"] .dashboard .module table td a { + padding-left: 0; + padding-right: 16px; + } +} + +/* MOBILE */ + +@media (max-width: 767px) { + [dir="rtl"] .change-list .filtered .results, + [dir="rtl"] .change-list .filtered .paginator, + [dir="rtl"] .filtered #toolbar, + [dir="rtl"] .filtered div.xfull, + [dir="rtl"] .filtered .actions { + margin-left: 0; + } + + [dir="rtl"] .aligned .add-another, + [dir="rtl"] .aligned .related-lookup, + [dir="rtl"] .aligned .datetimeshortcuts { + margin-left: 0; + margin-right: 15px; + } + + [dir="rtl"] .aligned ul { + margin-right: 0; + } +} diff --git a/static/admin/css/responsive_rtl.51c7445ceeff.css.gz b/static/admin/css/responsive_rtl.51c7445ceeff.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..a4225768b79ed7db5e706abdba147d078d37015e GIT binary patch literal 525 zcmb2|=3oE;rvG<C1G8@%2-KZlZxO|o8)fOYZRy;@3EE#0FKlZ6miy*mj^?&$-KkGL zCrSK$Kl$-7@3iCZ7WiLo7I?Ayx8L&jlhu+d{?rtg|Ng=7_+-YH%(YA0ETWS&&7z8g z4qTbP_w=daAEr#^`#f{)=S3`={QiM!+dKJr=BqZkNxu$>kX4sy*ncC>rZ=i_x$C+$ z3CSAwyVF89Ib14~I$(D6;}4C4CSgm8+4z;Oshw>!2-z}S&snoniaW@Ao!`W%-Pi6F zERFTqsU%wX`;O`4{T7${U;d8ely!;oRmobmR4pvb^TV1`+>iczI?5<%<&~0b?Id+2 z^XhMbYQv!aUrwbuUSZFwGE!&?o1T{ccVFI%DJ831a(pK`I>xOP{c>k-EZ>6FyJUSL zHZ#gFRre%1W;Ess9}(KHb}_@c%|dC#=AqrrwyhFtSGBAZnR&AG>LdoGB`<Pb{myp? zQGEVk;rk<Df}18yeVuePDcSJ!9M71w+B+E5Uz@Y>|D6|gS4}f#PhIhTTk7)Z8)Lsu zocW=Bam6>=mwTUh8=Y`omwz-~My--p-0RHb3kyn5#Ysm_U{aru_3nzx?APntQ?33x zKYO8;yyJh>=cn(!-H5I>-EZ~n%D?pUhaI2q%1in!m=kOfos?w}82i;^!`%84GeReR nRa|;_W87*R!)c3~K8Ihs(6?g2!}T9Czeul%klotI&cFZw`Vk50 literal 0 HcmV?d00001 diff --git a/static/admin/css/responsive_rtl.css b/static/admin/css/responsive_rtl.css new file mode 100644 index 0000000..f999cb1 --- /dev/null +++ b/static/admin/css/responsive_rtl.css @@ -0,0 +1,84 @@ +/* TABLETS */ + +@media (max-width: 1024px) { + [dir="rtl"] .colMS { + margin-right: 0; + } + + [dir="rtl"] #user-tools { + text-align: right; + } + + [dir="rtl"] #changelist .actions label { + padding-left: 10px; + padding-right: 0; + } + + [dir="rtl"] #changelist .actions select { + margin-left: 0; + margin-right: 15px; + } + + [dir="rtl"] .change-list .filtered .results, + [dir="rtl"] .change-list .filtered .paginator, + [dir="rtl"] .filtered #toolbar, + [dir="rtl"] .filtered div.xfull, + [dir="rtl"] .filtered .actions { + margin-right: 0; + margin-left: 230px; + } + + [dir="rtl"] .inline-group ul.tools a.add, + [dir="rtl"] .inline-group div.add-row a, + [dir="rtl"] .inline-group .tabular tr.add-row td a { + padding: 8px 26px 8px 10px; + background-position: calc(100% - 8px) 9px; + } + + [dir="rtl"] .related-widget-wrapper-link + .selector { + margin-right: 0; + margin-left: 15px; + } + + [dir="rtl"] .selector .selector-filter label { + margin-right: 0; + margin-left: 8px; + } + + [dir="rtl"] .object-tools li { + float: right; + } + + [dir="rtl"] .object-tools li + li { + margin-left: 0; + margin-right: 15px; + } + + [dir="rtl"] .dashboard .module table td a { + padding-left: 0; + padding-right: 16px; + } +} + +/* MOBILE */ + +@media (max-width: 767px) { + [dir="rtl"] .change-list .filtered .results, + [dir="rtl"] .change-list .filtered .paginator, + [dir="rtl"] .filtered #toolbar, + [dir="rtl"] .filtered div.xfull, + [dir="rtl"] .filtered .actions { + margin-left: 0; + } + + [dir="rtl"] .aligned .add-another, + [dir="rtl"] .aligned .related-lookup, + [dir="rtl"] .aligned .datetimeshortcuts { + margin-left: 0; + margin-right: 15px; + } + + [dir="rtl"] .aligned ul { + margin-right: 0; + } +} diff --git a/static/admin/css/responsive_rtl.css.gz b/static/admin/css/responsive_rtl.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..a4225768b79ed7db5e706abdba147d078d37015e GIT binary patch literal 525 zcmb2|=3oE;rvG<C1G8@%2-KZlZxO|o8)fOYZRy;@3EE#0FKlZ6miy*mj^?&$-KkGL zCrSK$Kl$-7@3iCZ7WiLo7I?Ayx8L&jlhu+d{?rtg|Ng=7_+-YH%(YA0ETWS&&7z8g z4qTbP_w=daAEr#^`#f{)=S3`={QiM!+dKJr=BqZkNxu$>kX4sy*ncC>rZ=i_x$C+$ z3CSAwyVF89Ib14~I$(D6;}4C4CSgm8+4z;Oshw>!2-z}S&snoniaW@Ao!`W%-Pi6F zERFTqsU%wX`;O`4{T7${U;d8ely!;oRmobmR4pvb^TV1`+>iczI?5<%<&~0b?Id+2 z^XhMbYQv!aUrwbuUSZFwGE!&?o1T{ccVFI%DJ831a(pK`I>xOP{c>k-EZ>6FyJUSL zHZ#gFRre%1W;Ess9}(KHb}_@c%|dC#=AqrrwyhFtSGBAZnR&AG>LdoGB`<Pb{myp? zQGEVk;rk<Df}18yeVuePDcSJ!9M71w+B+E5Uz@Y>|D6|gS4}f#PhIhTTk7)Z8)Lsu zocW=Bam6>=mwTUh8=Y`omwz-~My--p-0RHb3kyn5#Ysm_U{aru_3nzx?APntQ?33x zKYO8;yyJh>=cn(!-H5I>-EZ~n%D?pUhaI2q%1in!m=kOfos?w}82i;^!`%84GeReR nRa|;_W87*R!)c3~K8Ihs(6?g2!}T9Czeul%klotI&cFZw`Vk50 literal 0 HcmV?d00001 diff --git a/static/admin/css/rtl.30f903442dc5.css b/static/admin/css/rtl.30f903442dc5.css new file mode 100644 index 0000000..b9e26bf --- /dev/null +++ b/static/admin/css/rtl.30f903442dc5.css @@ -0,0 +1,269 @@ +body { + direction: rtl; +} + +/* LOGIN */ + +.login .form-row { + float: right; +} + +.login .form-row label { + float: right; + padding-left: 0.5em; + padding-right: 0; + text-align: left; +} + +.login .submit-row { + clear: both; + padding: 1em 9.4em 0 0; +} + +/* GLOBAL */ + +th { + text-align: right; +} + +.module h2, .module caption { + text-align: right; +} + +.module ul, .module ol { + margin-left: 0; + margin-right: 1.5em; +} + +.viewlink, .addlink, .changelink { + padding-left: 0; + padding-right: 16px; + background-position: 100% 1px; +} + +.deletelink { + padding-left: 0; + padding-right: 16px; + background-position: 100% 1px; +} + +.object-tools { + float: left; +} + +thead th:first-child, +tfoot td:first-child { + border-left: none; +} + +/* LAYOUT */ + +#user-tools { + right: auto; + left: 0; + text-align: left; +} + +div.breadcrumbs { + text-align: right; +} + +#content-main { + float: right; +} + +#content-related { + float: left; + margin-left: -300px; + margin-right: auto; +} + +.colMS { + margin-left: 300px; + margin-right: 0; +} + +/* SORTABLE TABLES */ + +table thead th.sorted .sortoptions { + float: left; +} + +thead th.sorted .text { + padding-right: 0; + padding-left: 42px; +} + +/* dashboard styles */ + +.dashboard .module table td a { + padding-left: .6em; + padding-right: 16px; +} + +/* changelists styles */ + +.change-list .filtered table { + border-left: none; + border-right: 0px none; +} + +#changelist-filter { + right: auto; + left: 0; + border-left: none; + border-right: none; +} + +.change-list .filtered .results, .change-list .filtered .paginator, .filtered #toolbar, .filtered div.xfull { + margin-right: 0; + margin-left: 280px; +} + +#changelist-filter li.selected { + border-left: none; + padding-left: 10px; + margin-left: 0; + border-right: 5px solid #eaeaea; + padding-right: 10px; + margin-right: -15px; +} + +.filtered .actions { + margin-left: 280px; + margin-right: 0; +} + +#changelist table tbody td:first-child, #changelist table tbody th:first-child { + border-right: none; + border-left: none; +} + +/* FORMS */ + +.aligned label { + padding: 0 0 3px 1em; + float: right; +} + +.submit-row { + text-align: left +} + +.submit-row p.deletelink-box { + float: right; +} + +.submit-row input.default { + margin-left: 0; +} + +.vDateField, .vTimeField { + margin-left: 2px; +} + +.aligned .form-row input { + margin-left: 5px; +} + +form .aligned p.help, form .aligned div.help { + clear: right; +} + +form .aligned ul { + margin-right: 163px; + margin-left: 0; +} + +form ul.inline li { + float: right; + padding-right: 0; + padding-left: 7px; +} + +input[type=submit].default, .submit-row input.default { + float: left; +} + +fieldset .fieldBox { + float: right; + margin-left: 20px; + margin-right: 0; +} + +.errorlist li { + background-position: 100% 12px; + padding: 0; +} + +.errornote { + background-position: 100% 12px; + padding: 10px 12px; +} + +/* WIDGETS */ + +.calendarnav-previous { + top: 0; + left: auto; + right: 10px; +} + +.calendarnav-next { + top: 0; + right: auto; + left: 10px; +} + +.calendar caption, .calendarbox h2 { + text-align: center; +} + +.selector { + float: right; +} + +.selector .selector-filter { + text-align: right; +} + +.inline-deletelink { + float: left; +} + +form .form-row p.datetime { + overflow: hidden; +} + +.related-widget-wrapper { + float: right; +} + +/* MISC */ + +.inline-related h2, .inline-group h2 { + text-align: right +} + +.inline-related h3 span.delete { + padding-right: 20px; + padding-left: inherit; + left: 10px; + right: inherit; + float:left; +} + +.inline-related h3 span.delete label { + margin-left: inherit; + margin-right: 2px; +} + +/* IE7 specific bug fixes */ + +div.colM { + position: relative; +} + +.submit-row input { + float: left; +} diff --git a/static/admin/css/rtl.30f903442dc5.css.gz b/static/admin/css/rtl.30f903442dc5.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..d3dcef872c5903b76cb340e3b121641a2b7aacd6 GIT binary patch literal 1118 zcmb2|=3oE;rvF>R@8{n(6R7(h@2GIYJ8@;%r6sewZB??RSUl1ecn0zumecr{Qn=K! zaZwJt^Z)M?l{7o2y<lUW#?V=_%lcmbd+T||j&T?4jhEDOOr4;u^@GdvsNI=;=hO1< zFKGXI_wV}`XK&xsNlkLL^x{_B-YHU@9%j%u)okJHpsjAowr$1<lW(~NB|2%`SK;CM zn=~=*kXg;eSFg;&Ry|lCbmoOyd!|p5@@uu*L8csf=?zc0Qk|wYUKWiyB=&dGzRUIE z$F}-@dzV;S{P#lIYOm)>6%Q0nu2tY=4w-j;V*R<o)KlNJcDH>kJ0zaoz0~h;_@l!C z&$>2jd1}~KCi1Q4Q~s^~b0=+|sy>r8ke_pU@hiWuvdU1|H{CqX@0$gg%u$)TVkPV0 zqK!W|b$h!kr!g>p-9JxZ(|%JvVO5sZ&R0tQhN&hrh3wQ?u_koV^eGd6`iMGdEIASI zN+!igXo8-bo<+%regBgGKHd5DM`UpJ)Q21Os_tkcF6J+q<D#^1x5;FyT`^|2*VuKo zZjLEnjZuyEsqFEcJBg)Dbi&H6o(+>@bj0>OQf$c4TXtq=Lcf3Tf$m#nCY4e3b^G>J z?r?p3U;VWBoJ@`1$ChlJpmyWi{*26rS%TTA>4{mTENcsxS{ka$-xVx=th7VVxKY({ zYgJ;v?TuHxZ6C(0VR`7uvpjsFU`k@n`A<HpLuKcrJ?*Sq=&q2;wdCBXc@jq-IlL)e z%V+C%{?}ol*PlWeYOgxpRh)Ptn6vb7$X(v)6P;R3-8Kjn*-e-yDVJ(7K{8LKt4+3d z_lDh!BIoPlc69kqX}GxM+F_0No`RkhZ{B^9xEpL*Y#94W?@CkPT>ga5*1X*u@spk| zou65|wZKl{aLP8rN4#DS1n11WZ7ow#EOJ%*akC-A;ggL&Gynd)Xk?emKI>d&#s2c| ztM`RoY}LDesW@|wdQaZ#$DLJcLV5G%s|dHhU^CjVa8K5hZQ2{$3ZKl&U4Oa1YFFK& z1g#nG=DoaDH{;FZ_p9_B_P^S)-1laMiiGbK$*@e$HM156WK|?RdB}Hpxp<cO<&vnl z*dqn+Voh|G##|RNnOe7F-rQLS-^Ui^eyd+KovUuE?2pspb$xYLCO@uTXmEA?!nr2D zUaDPsTUhK@q`|7$nzQoa)0!kz%kTTDBKYqVEPSy4hr#DVCv}(ayH~$wcWv34Q-;ib z8=h254-qO0F}W+HxN04<+3mVd?3-Wwo+y9s{z_;0iLaC29A3ZenNWd}^ZrjYO*?kR zg*jNsZTlQ~!Xj|5(|3`$f{CiP4w*^5U8F3q)#v4nmCxJNc3!$u_A7}!==PiN6-!ze zw%@zEZ0Z}$n+;yygu+E#iZA@F-c$eUtl4?iXXRVJ-EN#LSrKwsHG3|v@as4F0kMhi zj@|nbc7@qaMfItw$Est!vL$vGHqQKdf2H4XBbi@}jLh>D+1V%T-(S1_uA?9Kti@|? nE@+aw!<Bk$exzURF4_6FJYMiEOaEiS@{jdn^SAR4_!t-fZYL~8 literal 0 HcmV?d00001 diff --git a/static/admin/css/rtl.css b/static/admin/css/rtl.css new file mode 100644 index 0000000..b9e26bf --- /dev/null +++ b/static/admin/css/rtl.css @@ -0,0 +1,269 @@ +body { + direction: rtl; +} + +/* LOGIN */ + +.login .form-row { + float: right; +} + +.login .form-row label { + float: right; + padding-left: 0.5em; + padding-right: 0; + text-align: left; +} + +.login .submit-row { + clear: both; + padding: 1em 9.4em 0 0; +} + +/* GLOBAL */ + +th { + text-align: right; +} + +.module h2, .module caption { + text-align: right; +} + +.module ul, .module ol { + margin-left: 0; + margin-right: 1.5em; +} + +.viewlink, .addlink, .changelink { + padding-left: 0; + padding-right: 16px; + background-position: 100% 1px; +} + +.deletelink { + padding-left: 0; + padding-right: 16px; + background-position: 100% 1px; +} + +.object-tools { + float: left; +} + +thead th:first-child, +tfoot td:first-child { + border-left: none; +} + +/* LAYOUT */ + +#user-tools { + right: auto; + left: 0; + text-align: left; +} + +div.breadcrumbs { + text-align: right; +} + +#content-main { + float: right; +} + +#content-related { + float: left; + margin-left: -300px; + margin-right: auto; +} + +.colMS { + margin-left: 300px; + margin-right: 0; +} + +/* SORTABLE TABLES */ + +table thead th.sorted .sortoptions { + float: left; +} + +thead th.sorted .text { + padding-right: 0; + padding-left: 42px; +} + +/* dashboard styles */ + +.dashboard .module table td a { + padding-left: .6em; + padding-right: 16px; +} + +/* changelists styles */ + +.change-list .filtered table { + border-left: none; + border-right: 0px none; +} + +#changelist-filter { + right: auto; + left: 0; + border-left: none; + border-right: none; +} + +.change-list .filtered .results, .change-list .filtered .paginator, .filtered #toolbar, .filtered div.xfull { + margin-right: 0; + margin-left: 280px; +} + +#changelist-filter li.selected { + border-left: none; + padding-left: 10px; + margin-left: 0; + border-right: 5px solid #eaeaea; + padding-right: 10px; + margin-right: -15px; +} + +.filtered .actions { + margin-left: 280px; + margin-right: 0; +} + +#changelist table tbody td:first-child, #changelist table tbody th:first-child { + border-right: none; + border-left: none; +} + +/* FORMS */ + +.aligned label { + padding: 0 0 3px 1em; + float: right; +} + +.submit-row { + text-align: left +} + +.submit-row p.deletelink-box { + float: right; +} + +.submit-row input.default { + margin-left: 0; +} + +.vDateField, .vTimeField { + margin-left: 2px; +} + +.aligned .form-row input { + margin-left: 5px; +} + +form .aligned p.help, form .aligned div.help { + clear: right; +} + +form .aligned ul { + margin-right: 163px; + margin-left: 0; +} + +form ul.inline li { + float: right; + padding-right: 0; + padding-left: 7px; +} + +input[type=submit].default, .submit-row input.default { + float: left; +} + +fieldset .fieldBox { + float: right; + margin-left: 20px; + margin-right: 0; +} + +.errorlist li { + background-position: 100% 12px; + padding: 0; +} + +.errornote { + background-position: 100% 12px; + padding: 10px 12px; +} + +/* WIDGETS */ + +.calendarnav-previous { + top: 0; + left: auto; + right: 10px; +} + +.calendarnav-next { + top: 0; + right: auto; + left: 10px; +} + +.calendar caption, .calendarbox h2 { + text-align: center; +} + +.selector { + float: right; +} + +.selector .selector-filter { + text-align: right; +} + +.inline-deletelink { + float: left; +} + +form .form-row p.datetime { + overflow: hidden; +} + +.related-widget-wrapper { + float: right; +} + +/* MISC */ + +.inline-related h2, .inline-group h2 { + text-align: right +} + +.inline-related h3 span.delete { + padding-right: 20px; + padding-left: inherit; + left: 10px; + right: inherit; + float:left; +} + +.inline-related h3 span.delete label { + margin-left: inherit; + margin-right: 2px; +} + +/* IE7 specific bug fixes */ + +div.colM { + position: relative; +} + +.submit-row input { + float: left; +} diff --git a/static/admin/css/rtl.css.gz b/static/admin/css/rtl.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..d3dcef872c5903b76cb340e3b121641a2b7aacd6 GIT binary patch literal 1118 zcmb2|=3oE;rvF>R@8{n(6R7(h@2GIYJ8@;%r6sewZB??RSUl1ecn0zumecr{Qn=K! zaZwJt^Z)M?l{7o2y<lUW#?V=_%lcmbd+T||j&T?4jhEDOOr4;u^@GdvsNI=;=hO1< zFKGXI_wV}`XK&xsNlkLL^x{_B-YHU@9%j%u)okJHpsjAowr$1<lW(~NB|2%`SK;CM zn=~=*kXg;eSFg;&Ry|lCbmoOyd!|p5@@uu*L8csf=?zc0Qk|wYUKWiyB=&dGzRUIE z$F}-@dzV;S{P#lIYOm)>6%Q0nu2tY=4w-j;V*R<o)KlNJcDH>kJ0zaoz0~h;_@l!C z&$>2jd1}~KCi1Q4Q~s^~b0=+|sy>r8ke_pU@hiWuvdU1|H{CqX@0$gg%u$)TVkPV0 zqK!W|b$h!kr!g>p-9JxZ(|%JvVO5sZ&R0tQhN&hrh3wQ?u_koV^eGd6`iMGdEIASI zN+!igXo8-bo<+%regBgGKHd5DM`UpJ)Q21Os_tkcF6J+q<D#^1x5;FyT`^|2*VuKo zZjLEnjZuyEsqFEcJBg)Dbi&H6o(+>@bj0>OQf$c4TXtq=Lcf3Tf$m#nCY4e3b^G>J z?r?p3U;VWBoJ@`1$ChlJpmyWi{*26rS%TTA>4{mTENcsxS{ka$-xVx=th7VVxKY({ zYgJ;v?TuHxZ6C(0VR`7uvpjsFU`k@n`A<HpLuKcrJ?*Sq=&q2;wdCBXc@jq-IlL)e z%V+C%{?}ol*PlWeYOgxpRh)Ptn6vb7$X(v)6P;R3-8Kjn*-e-yDVJ(7K{8LKt4+3d z_lDh!BIoPlc69kqX}GxM+F_0No`RkhZ{B^9xEpL*Y#94W?@CkPT>ga5*1X*u@spk| zou65|wZKl{aLP8rN4#DS1n11WZ7ow#EOJ%*akC-A;ggL&Gynd)Xk?emKI>d&#s2c| ztM`RoY}LDesW@|wdQaZ#$DLJcLV5G%s|dHhU^CjVa8K5hZQ2{$3ZKl&U4Oa1YFFK& z1g#nG=DoaDH{;FZ_p9_B_P^S)-1laMiiGbK$*@e$HM156WK|?RdB}Hpxp<cO<&vnl z*dqn+Voh|G##|RNnOe7F-rQLS-^Ui^eyd+KovUuE?2pspb$xYLCO@uTXmEA?!nr2D zUaDPsTUhK@q`|7$nzQoa)0!kz%kTTDBKYqVEPSy4hr#DVCv}(ayH~$wcWv34Q-;ib z8=h254-qO0F}W+HxN04<+3mVd?3-Wwo+y9s{z_;0iLaC29A3ZenNWd}^ZrjYO*?kR zg*jNsZTlQ~!Xj|5(|3`$f{CiP4w*^5U8F3q)#v4nmCxJNc3!$u_A7}!==PiN6-!ze zw%@zEZ0Z}$n+;yygu+E#iZA@F-c$eUtl4?iXXRVJ-EN#LSrKwsHG3|v@as4F0kMhi zj@|nbc7@qaMfItw$Est!vL$vGHqQKdf2H4XBbi@}jLh>D+1V%T-(S1_uA?9Kti@|? nE@+aw!<Bk$exzURF4_6FJYMiEOaEiS@{jdn^SAR4_!t-fZYL~8 literal 0 HcmV?d00001 diff --git a/static/admin/css/vendor/select2/LICENSE-SELECT2.f94142512c91.md b/static/admin/css/vendor/select2/LICENSE-SELECT2.f94142512c91.md new file mode 100644 index 0000000..8cb8a2b --- /dev/null +++ b/static/admin/css/vendor/select2/LICENSE-SELECT2.f94142512c91.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2012-2017 Kevin Brown, Igor Vaynberg, and Select2 contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/static/admin/css/vendor/select2/LICENSE-SELECT2.f94142512c91.md.gz b/static/admin/css/vendor/select2/LICENSE-SELECT2.f94142512c91.md.gz new file mode 100644 index 0000000000000000000000000000000000000000..1b839219b605ae2f5f7e57a797521d30b9e72785 GIT binary patch literal 685 zcmb2|=3oE;rvI@)zWI*~1or+8@2SdKnp3`g`qXb}Lcwd=EQ)+0`xFh2tWHqAE%Nbw zxlG3DbuCTLUhl2UU&F@hy>5ZY+-;7BZQ1x+p1iC0m}c*?<GtL2m&ea9&;Rk0RsYx7 zh#8gT+ay2i{rurp+?%l9wQOtOF1)z--6P?Wb8h+DmcOV`SaR)Of|J3yCQgHl_1nd7 z{J!RPH+{qBsOH;_=3DC48+Y(6)GN4R_n_hSv1<{@-!CY=`slR5n2$sFj^4cJ_3HP` zSgy|$`?#R|?#l(aImwT1&kSVW(Xa7&-A>;-wmvF*^W2-Vg5K_BNf%}>?|M+`z!-bz z#DN=mHeWN_zkkZ$dv<KXG4<6<ju(O*SToP_@U1i7{bjv+<nha8CW$8&m_K~QtLE(G zch3J`t-EuxoO=@o+xK}}>hj9JN<{XZyil=OW67Dyg7)=ZJ_@@hZ}(WaeCEA{slt!r zZ30g%`8HSDz1;88hm^gZU5E0WM5f(ZTYY)*wAbDn^d7CcE_#WvZ+`gRsfRA~Dd&7W zYw*N$+L9}~W#+$dK5}?=S<B+j!uS6h$xp05xInOY>#|9V`3t5!nkv4g!TMH0&Gdt_ zR<}lI9^muT-pXjm9+mr`HQbf$jlXW><%S6@`mZM$pZTbzAI`ddUSeDE)C2D4KW<fC zAvA#_KVXh2XU@r#eFr9-t2lX8O}Tj8suoLeA&n~`TJzR>X)TO98D+xrlDlPXh3WJY zho-Fw>OawCnXq2MVe^92nJYMAAAU1>%f54k`6PRN5gnIE1D|sed2Z>dyMq?4*t4W& zrlaHZFEf3EnF3WjbFaTm*qfj^^@qm4qNA=;Q=Tje5<1Ki>h;xd*E8PJ4PN(DoSy~h z7*Be0gwwF`LCn#08Yi=U6ba^deq5C(-w<FBr6e|Q`LCjV?w|Nw_9q&qurM$H0OWd8 Al>h($ literal 0 HcmV?d00001 diff --git a/static/admin/css/vendor/select2/LICENSE-SELECT2.md b/static/admin/css/vendor/select2/LICENSE-SELECT2.md new file mode 100644 index 0000000..8cb8a2b --- /dev/null +++ b/static/admin/css/vendor/select2/LICENSE-SELECT2.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2012-2017 Kevin Brown, Igor Vaynberg, and Select2 contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/static/admin/css/vendor/select2/LICENSE-SELECT2.md.gz b/static/admin/css/vendor/select2/LICENSE-SELECT2.md.gz new file mode 100644 index 0000000000000000000000000000000000000000..1b839219b605ae2f5f7e57a797521d30b9e72785 GIT binary patch literal 685 zcmb2|=3oE;rvI@)zWI*~1or+8@2SdKnp3`g`qXb}Lcwd=EQ)+0`xFh2tWHqAE%Nbw zxlG3DbuCTLUhl2UU&F@hy>5ZY+-;7BZQ1x+p1iC0m}c*?<GtL2m&ea9&;Rk0RsYx7 zh#8gT+ay2i{rurp+?%l9wQOtOF1)z--6P?Wb8h+DmcOV`SaR)Of|J3yCQgHl_1nd7 z{J!RPH+{qBsOH;_=3DC48+Y(6)GN4R_n_hSv1<{@-!CY=`slR5n2$sFj^4cJ_3HP` zSgy|$`?#R|?#l(aImwT1&kSVW(Xa7&-A>;-wmvF*^W2-Vg5K_BNf%}>?|M+`z!-bz z#DN=mHeWN_zkkZ$dv<KXG4<6<ju(O*SToP_@U1i7{bjv+<nha8CW$8&m_K~QtLE(G zch3J`t-EuxoO=@o+xK}}>hj9JN<{XZyil=OW67Dyg7)=ZJ_@@hZ}(WaeCEA{slt!r zZ30g%`8HSDz1;88hm^gZU5E0WM5f(ZTYY)*wAbDn^d7CcE_#WvZ+`gRsfRA~Dd&7W zYw*N$+L9}~W#+$dK5}?=S<B+j!uS6h$xp05xInOY>#|9V`3t5!nkv4g!TMH0&Gdt_ zR<}lI9^muT-pXjm9+mr`HQbf$jlXW><%S6@`mZM$pZTbzAI`ddUSeDE)C2D4KW<fC zAvA#_KVXh2XU@r#eFr9-t2lX8O}Tj8suoLeA&n~`TJzR>X)TO98D+xrlDlPXh3WJY zho-Fw>OawCnXq2MVe^92nJYMAAAU1>%f54k`6PRN5gnIE1D|sed2Z>dyMq?4*t4W& zrlaHZFEf3EnF3WjbFaTm*qfj^^@qm4qNA=;Q=Tje5<1Ki>h;xd*E8PJ4PN(DoSy~h z7*Be0gwwF`LCn#08Yi=U6ba^deq5C(-w<FBr6e|Q`LCjV?w|Nw_9q&qurM$H0OWd8 Al>h($ literal 0 HcmV?d00001 diff --git a/static/admin/css/vendor/select2/select2.css b/static/admin/css/vendor/select2/select2.css new file mode 100644 index 0000000..ce3afd1 --- /dev/null +++ b/static/admin/css/vendor/select2/select2.css @@ -0,0 +1,484 @@ +.select2-container { + box-sizing: border-box; + display: inline-block; + margin: 0; + position: relative; + vertical-align: middle; } + .select2-container .select2-selection--single { + box-sizing: border-box; + cursor: pointer; + display: block; + height: 28px; + user-select: none; + -webkit-user-select: none; } + .select2-container .select2-selection--single .select2-selection__rendered { + display: block; + padding-left: 8px; + padding-right: 20px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } + .select2-container .select2-selection--single .select2-selection__clear { + position: relative; } + .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered { + padding-right: 8px; + padding-left: 20px; } + .select2-container .select2-selection--multiple { + box-sizing: border-box; + cursor: pointer; + display: block; + min-height: 32px; + user-select: none; + -webkit-user-select: none; } + .select2-container .select2-selection--multiple .select2-selection__rendered { + display: inline-block; + overflow: hidden; + padding-left: 8px; + text-overflow: ellipsis; + white-space: nowrap; } + .select2-container .select2-search--inline { + float: left; } + .select2-container .select2-search--inline .select2-search__field { + box-sizing: border-box; + border: none; + font-size: 100%; + margin-top: 5px; + padding: 0; } + .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button { + -webkit-appearance: none; } + +.select2-dropdown { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + box-sizing: border-box; + display: block; + position: absolute; + left: -100000px; + width: 100%; + z-index: 1051; } + +.select2-results { + display: block; } + +.select2-results__options { + list-style: none; + margin: 0; + padding: 0; } + +.select2-results__option { + padding: 6px; + user-select: none; + -webkit-user-select: none; } + .select2-results__option[aria-selected] { + cursor: pointer; } + +.select2-container--open .select2-dropdown { + left: 0; } + +.select2-container--open .select2-dropdown--above { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } + +.select2-container--open .select2-dropdown--below { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.select2-search--dropdown { + display: block; + padding: 4px; } + .select2-search--dropdown .select2-search__field { + padding: 4px; + width: 100%; + box-sizing: border-box; } + .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button { + -webkit-appearance: none; } + .select2-search--dropdown.select2-search--hide { + display: none; } + +.select2-close-mask { + border: 0; + margin: 0; + padding: 0; + display: block; + position: fixed; + left: 0; + top: 0; + min-height: 100%; + min-width: 100%; + height: auto; + width: auto; + opacity: 0; + z-index: 99; + background-color: #fff; + filter: alpha(opacity=0); } + +.select2-hidden-accessible { + border: 0 !important; + clip: rect(0 0 0 0) !important; + -webkit-clip-path: inset(50%) !important; + clip-path: inset(50%) !important; + height: 1px !important; + overflow: hidden !important; + padding: 0 !important; + position: absolute !important; + width: 1px !important; + white-space: nowrap !important; } + +.select2-container--default .select2-selection--single { + background-color: #fff; + border: 1px solid #aaa; + border-radius: 4px; } + .select2-container--default .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 28px; } + .select2-container--default .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; } + .select2-container--default .select2-selection--single .select2-selection__placeholder { + color: #999; } + .select2-container--default .select2-selection--single .select2-selection__arrow { + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; } + .select2-container--default .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; } + +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; } + +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow { + left: 1px; + right: auto; } + +.select2-container--default.select2-container--disabled .select2-selection--single { + background-color: #eee; + cursor: default; } + .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear { + display: none; } + +.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; } + +.select2-container--default .select2-selection--multiple { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + cursor: text; } + .select2-container--default .select2-selection--multiple .select2-selection__rendered { + box-sizing: border-box; + list-style: none; + margin: 0; + padding: 0 5px; + width: 100%; } + .select2-container--default .select2-selection--multiple .select2-selection__rendered li { + list-style: none; } + .select2-container--default .select2-selection--multiple .select2-selection__placeholder { + color: #999; + margin-top: 5px; + float: left; } + .select2-container--default .select2-selection--multiple .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin-top: 5px; + margin-right: 10px; } + .select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #aaa; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; } + .select2-container--default .select2-selection--multiple .select2-selection__choice__remove { + color: #999; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; } + .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #333; } + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline { + float: right; } + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + margin-left: 5px; + margin-right: auto; } + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; } + +.select2-container--default.select2-container--focus .select2-selection--multiple { + border: solid black 1px; + outline: 0; } + +.select2-container--default.select2-container--disabled .select2-selection--multiple { + background-color: #eee; + cursor: default; } + +.select2-container--default.select2-container--disabled .select2-selection__choice__remove { + display: none; } + +.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple { + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } + +.select2-container--default .select2-search--dropdown .select2-search__field { + border: 1px solid #aaa; } + +.select2-container--default .select2-search--inline .select2-search__field { + background: transparent; + border: none; + outline: 0; + box-shadow: none; + -webkit-appearance: textfield; } + +.select2-container--default .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; } + +.select2-container--default .select2-results__option[role=group] { + padding: 0; } + +.select2-container--default .select2-results__option[aria-disabled=true] { + color: #999; } + +.select2-container--default .select2-results__option[aria-selected=true] { + background-color: #ddd; } + +.select2-container--default .select2-results__option .select2-results__option { + padding-left: 1em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__group { + padding-left: 0; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option { + margin-left: -1em; + padding-left: 2em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -2em; + padding-left: 3em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -3em; + padding-left: 4em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -4em; + padding-left: 5em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -5em; + padding-left: 6em; } + +.select2-container--default .select2-results__option--highlighted[aria-selected] { + background-color: #5897fb; + color: white; } + +.select2-container--default .select2-results__group { + cursor: default; + display: block; + padding: 6px; } + +.select2-container--classic .select2-selection--single { + background-color: #f7f7f7; + border: 1px solid #aaa; + border-radius: 4px; + outline: 0; + background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%); + background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%); + background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } + .select2-container--classic .select2-selection--single:focus { + border: 1px solid #5897fb; } + .select2-container--classic .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 28px; } + .select2-container--classic .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin-right: 10px; } + .select2-container--classic .select2-selection--single .select2-selection__placeholder { + color: #999; } + .select2-container--classic .select2-selection--single .select2-selection__arrow { + background-color: #ddd; + border: none; + border-left: 1px solid #aaa; + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; + background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%); + background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%); + background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); } + .select2-container--classic .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; } + +.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; } + +.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow { + border: none; + border-right: 1px solid #aaa; + border-radius: 0; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + left: 1px; + right: auto; } + +.select2-container--classic.select2-container--open .select2-selection--single { + border: 1px solid #5897fb; } + .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow { + background: transparent; + border: none; } + .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; } + +.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; + background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%); + background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%); + background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } + +.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%); + background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%); + background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); } + +.select2-container--classic .select2-selection--multiple { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + cursor: text; + outline: 0; } + .select2-container--classic .select2-selection--multiple:focus { + border: 1px solid #5897fb; } + .select2-container--classic .select2-selection--multiple .select2-selection__rendered { + list-style: none; + margin: 0; + padding: 0 5px; } + .select2-container--classic .select2-selection--multiple .select2-selection__clear { + display: none; } + .select2-container--classic .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #aaa; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; } + .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove { + color: #888; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; } + .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #555; } + +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + float: right; + margin-left: 5px; + margin-right: auto; } + +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; } + +.select2-container--classic.select2-container--open .select2-selection--multiple { + border: 1px solid #5897fb; } + +.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } + +.select2-container--classic .select2-search--dropdown .select2-search__field { + border: 1px solid #aaa; + outline: 0; } + +.select2-container--classic .select2-search--inline .select2-search__field { + outline: 0; + box-shadow: none; } + +.select2-container--classic .select2-dropdown { + background-color: white; + border: 1px solid transparent; } + +.select2-container--classic .select2-dropdown--above { + border-bottom: none; } + +.select2-container--classic .select2-dropdown--below { + border-top: none; } + +.select2-container--classic .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; } + +.select2-container--classic .select2-results__option[role=group] { + padding: 0; } + +.select2-container--classic .select2-results__option[aria-disabled=true] { + color: grey; } + +.select2-container--classic .select2-results__option--highlighted[aria-selected] { + background-color: #3875d7; + color: white; } + +.select2-container--classic .select2-results__group { + cursor: default; + display: block; + padding: 6px; } + +.select2-container--classic.select2-container--open .select2-dropdown { + border-color: #5897fb; } diff --git a/static/admin/css/vendor/select2/select2.css.gz b/static/admin/css/vendor/select2/select2.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..49c5d95177eef372c09e69dedeff28f6d9630ad3 GIT binary patch literal 2245 zcmb2|=3oE;rvGoFz4LEd2<&?vo)InL+n`a9WX;cd)BAg)?VGjjtX)bARBx#{bu+nM z_w4@r-rH-5oQP)NrYU9OuVp4pxKxm4@#jZj+ddD)HpShaoP~@Vl05e2tIyl6biS@@ z-=YfP5BoD&R-T{zuF}8d5=-;+1I~ue`hRQt98$lyk-4P#(Sg~W^+J=B+Bp7CcjA%w z#pL>0+(VL!@f)L?^u6uQfh`aBem8%=J3}kT<mvvM7W1`5^9|0F<Xpb=`H-zIC+`k5 zjkF2RdRsrWUYobQHDhyXV|nT96XD-A#i#U3Rv30B-g_he;1#Fg{+n|pFI;a)yZ%_Y z)zF;D?ULQ*Lw9y7bnOt3KWrMl@WSpl3ob2*yy?2*^Ys}rO!=qx@+DtA_rUn`X}=Cb zub?Tb-W?V*e6gI9W1+z}2S=lMI~Cg+#I{K#9TSqAujC?sFQDyyjoqcgvkr5GU$dR_ zbEE&1ci(0#Ou1umcj1ljjaK`smPY9EycAz+WwwQNf$5BPx3t}v4Q<i)&x=m!D*oBP zuPahe?C;xl?ca|bZUWQoGG|x&ZwpE9TYb1)WPQPAz4XoHt1OR)&!4FBVOp=MenI#v zyQXiB3z$6Y<eDs6Zp6QpR4z=6mP}Xh{L%bqq0t#XuA73Yo-TYpyR`-Eay4!q7Yyg` zzHmP6)4wHOj-`Hjvy^4=iE3^Jjp`aMr7ix<`4exy-{38(7_o>uqVVSLnj<zZYTl*) zJJ~81aAe!k*ZYh7T|Y#c=;*&r3!L%k>BO|KOy*hhs%um_FDTSAE}l|7eQ!d<xw=~J zwZ3aYqtw<^e6!kqu!Bo>MuPMM;RPHgo+o~Z^xMZ5Z7SNm;dAYz12>G>o!<S9JRe>w zzs5qtW17<QIqpx_nQXZ>=b@LN#pbknw!c%^f34cwBr|W-s}${!%dOjQiVDtM8@0kT zx_G|gkx&sGsoSB>PTE;lSyFXxE!v=GD{Civy!6Oyvn`pDTP_|nS7`m)Dn5IKXwoF7 zdiG1pPrW%cbMx9Od@mvwr%T)oPn!RKW~;Z}mQ9DX{kzT1{(L34A$<u`#H;v2<t|6! zmYiYQ_wL=h-Uq+S_QrM3Gd<)pgS}uA>++xzhu^GuH@W8ZH%Ey>Ca&5%uh)I7bK2b! zz?P(z(pGa^EJrV8xv~Cl%ggfujJ4){5mtEPP{?)jWzn~HXB5`Ho_VOYhJEGt7hjxT z>pc&6pYcZe7IRjal(H0u*H=#Ib1ntE7XQlT*1a*lnJvE6Kuz6L#$sVm?#75GJ0^ZS zbZcUE4)3aVF6EumO7xv$ZYoJ!chuUdWFZx+*~g)Hr|9H_ta&>ha~Hq4$gs4?dzDQ7 z`tHrW6FEH<c7^y~Oj5jB*6>Ngr198luIzJ4p_VVdeY=({^WkUGBgSJn_17b}CWYUW zy0B}B=^Xd&&;#Os7o}V|m27-<Li5*6jz?81*X)UU`r=<`>yqdgy}5CMx}vj74;~hD ze^Atz!9Kt9nD%1B@)<muQ8$lTv6+`G6#4L1U8-TSK-#<T2MX*jV_KcJzF=Bu#`S24 z%iNjY;tReWO^Z(drL-nTLn~wRR+Z~l7W`d1&0O;1f)&f6mWZ@1%$@JzaeLzZk~f!M zr1bXa`0~^!{M&W2A+YffZ|d>#*x$!0l6-4Sip&;gnR2yn(AJl}DrPNxs_9nl4IvRR zNe^Z&y(9frXK!Acoa<`(aI>K<TW~4=mAi{t|Ay!ZZrm5F$>O|cYkJD;m1n=r3}5-< z;g*%{o(IEZio3q9_L+VD`SEw}`Ml;-2cKNuaO6d^$)|%`m)h>VzR57VC1_oH)t?;~ zmI!WHxwdy!Sh(|6qtdmWJN#uO8d{dhObWB%nkQ1NQmvMDrcv|zvRqk}C9QUSE7}U3 z+!DK%eY07bwS2<!drz1p)&8AW^RjT(v&_5U1)a4DlfB*ivZTMses|f}YWhWP_3jB_ z>kb{LVbMHU!YUEcn!&9!@%!c13RiVDSxBTD-kH6AmA!rS+tzuq6?(#Pt4=K0H1S`z zbjPjL##0i0DAY`@SvS2Y?Qm+Es64A5f6u!_z39`CvWhWNCu<$z^^kVG_@K~cdeh81 zxAh*bW4~P@x8ml+vy;odE(l_q9oN{!{l#QjLDS23&7aP$*1W!O>$>k#FGXLkiOc%; zxAeV<mw9&FtfkW1R!Dtgp8YJLSb2KX)~M~(k=uXY&)7NHyJWe}Yrl(ki{|c574Yhc zdXd(B^c{<G@Y4GYr%vDAJ^SmceRudjZHcKD^)fMeA{2G%_I2HxM+KTqTpvz&b+h+} z<fPau8t$4>Zx6JYYaddSW4dy`<GN+F<x`$-Hs$kHFw99;=l*xHs3u)3Foj3cS1|6J z^jy}!6FVncsHX4#`#g))a$!pIq6gFW{}WhTD^il{`{Larf03X`lT3GOu=z<Yc+)(i zVamn!@A>tU=YM}L*Rwe4`1+ge<$v_z|NWTc5INsW*|A)M<)`JB*}Cj%%6~fqm#v$~ zcO~J=pJl;X#S1nuXD?@VUwzF_cgmL|HO2l-&Vf%hr3TGrzpk|WR#}I(+^j{5R?mLj z6vHK7w1H!@Kc`sjh1L6)h_Sp@Jkye-{4jzs+^Vnkgq@kpY=tTR^;eaPUtQW9zjj64 zp9)o<mkvuTyeb7(O+9?(R-UHV_nfsm)qlFYKeg}6feA(1RKGsi5!oN@aQ%Ddf}KTK zpD*t{v0USWxp@72rTXI5-J-v&d88(_%l)18Heg@e)8nTbbME@OsfWK8_?&F`btBVK zZEO3xUq4KKToGiK&g@t5cgc=V%DWewe01zoPglb$N%Q;f)dCmu-JHKq({{N{*SDR! zO`g<U`r)-Tu3x%(&Hp#HGnHeLcB&tiJoJ6Hy745>Y1KxjpMHus^-e0Qs_E$oX@$p` z=FfO1C{DRn!FYtD<?>{|({o!U?!Rj)D!eIPe#WoWMQx!~U)C~hx3<4Farb+Pk{Fo+ zxxydQV^=?4ckgg%t$tC%fob_>R^HWfqlLC5_U}}^sJZ#^v?FbYrXM`ie&y-2?dGRn h9NVdv9-eq;SIqhK9NChmg?|5MEPBG*u-%1$0RY%cTIK)% literal 0 HcmV?d00001 diff --git a/static/admin/css/vendor/select2/select2.fd9fe49d3d91.css b/static/admin/css/vendor/select2/select2.fd9fe49d3d91.css new file mode 100644 index 0000000..ce3afd1 --- /dev/null +++ b/static/admin/css/vendor/select2/select2.fd9fe49d3d91.css @@ -0,0 +1,484 @@ +.select2-container { + box-sizing: border-box; + display: inline-block; + margin: 0; + position: relative; + vertical-align: middle; } + .select2-container .select2-selection--single { + box-sizing: border-box; + cursor: pointer; + display: block; + height: 28px; + user-select: none; + -webkit-user-select: none; } + .select2-container .select2-selection--single .select2-selection__rendered { + display: block; + padding-left: 8px; + padding-right: 20px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } + .select2-container .select2-selection--single .select2-selection__clear { + position: relative; } + .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered { + padding-right: 8px; + padding-left: 20px; } + .select2-container .select2-selection--multiple { + box-sizing: border-box; + cursor: pointer; + display: block; + min-height: 32px; + user-select: none; + -webkit-user-select: none; } + .select2-container .select2-selection--multiple .select2-selection__rendered { + display: inline-block; + overflow: hidden; + padding-left: 8px; + text-overflow: ellipsis; + white-space: nowrap; } + .select2-container .select2-search--inline { + float: left; } + .select2-container .select2-search--inline .select2-search__field { + box-sizing: border-box; + border: none; + font-size: 100%; + margin-top: 5px; + padding: 0; } + .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button { + -webkit-appearance: none; } + +.select2-dropdown { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + box-sizing: border-box; + display: block; + position: absolute; + left: -100000px; + width: 100%; + z-index: 1051; } + +.select2-results { + display: block; } + +.select2-results__options { + list-style: none; + margin: 0; + padding: 0; } + +.select2-results__option { + padding: 6px; + user-select: none; + -webkit-user-select: none; } + .select2-results__option[aria-selected] { + cursor: pointer; } + +.select2-container--open .select2-dropdown { + left: 0; } + +.select2-container--open .select2-dropdown--above { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } + +.select2-container--open .select2-dropdown--below { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.select2-search--dropdown { + display: block; + padding: 4px; } + .select2-search--dropdown .select2-search__field { + padding: 4px; + width: 100%; + box-sizing: border-box; } + .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button { + -webkit-appearance: none; } + .select2-search--dropdown.select2-search--hide { + display: none; } + +.select2-close-mask { + border: 0; + margin: 0; + padding: 0; + display: block; + position: fixed; + left: 0; + top: 0; + min-height: 100%; + min-width: 100%; + height: auto; + width: auto; + opacity: 0; + z-index: 99; + background-color: #fff; + filter: alpha(opacity=0); } + +.select2-hidden-accessible { + border: 0 !important; + clip: rect(0 0 0 0) !important; + -webkit-clip-path: inset(50%) !important; + clip-path: inset(50%) !important; + height: 1px !important; + overflow: hidden !important; + padding: 0 !important; + position: absolute !important; + width: 1px !important; + white-space: nowrap !important; } + +.select2-container--default .select2-selection--single { + background-color: #fff; + border: 1px solid #aaa; + border-radius: 4px; } + .select2-container--default .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 28px; } + .select2-container--default .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; } + .select2-container--default .select2-selection--single .select2-selection__placeholder { + color: #999; } + .select2-container--default .select2-selection--single .select2-selection__arrow { + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; } + .select2-container--default .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; } + +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; } + +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow { + left: 1px; + right: auto; } + +.select2-container--default.select2-container--disabled .select2-selection--single { + background-color: #eee; + cursor: default; } + .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear { + display: none; } + +.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; } + +.select2-container--default .select2-selection--multiple { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + cursor: text; } + .select2-container--default .select2-selection--multiple .select2-selection__rendered { + box-sizing: border-box; + list-style: none; + margin: 0; + padding: 0 5px; + width: 100%; } + .select2-container--default .select2-selection--multiple .select2-selection__rendered li { + list-style: none; } + .select2-container--default .select2-selection--multiple .select2-selection__placeholder { + color: #999; + margin-top: 5px; + float: left; } + .select2-container--default .select2-selection--multiple .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin-top: 5px; + margin-right: 10px; } + .select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #aaa; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; } + .select2-container--default .select2-selection--multiple .select2-selection__choice__remove { + color: #999; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; } + .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #333; } + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline { + float: right; } + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + margin-left: 5px; + margin-right: auto; } + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; } + +.select2-container--default.select2-container--focus .select2-selection--multiple { + border: solid black 1px; + outline: 0; } + +.select2-container--default.select2-container--disabled .select2-selection--multiple { + background-color: #eee; + cursor: default; } + +.select2-container--default.select2-container--disabled .select2-selection__choice__remove { + display: none; } + +.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple { + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } + +.select2-container--default .select2-search--dropdown .select2-search__field { + border: 1px solid #aaa; } + +.select2-container--default .select2-search--inline .select2-search__field { + background: transparent; + border: none; + outline: 0; + box-shadow: none; + -webkit-appearance: textfield; } + +.select2-container--default .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; } + +.select2-container--default .select2-results__option[role=group] { + padding: 0; } + +.select2-container--default .select2-results__option[aria-disabled=true] { + color: #999; } + +.select2-container--default .select2-results__option[aria-selected=true] { + background-color: #ddd; } + +.select2-container--default .select2-results__option .select2-results__option { + padding-left: 1em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__group { + padding-left: 0; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option { + margin-left: -1em; + padding-left: 2em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -2em; + padding-left: 3em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -3em; + padding-left: 4em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -4em; + padding-left: 5em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -5em; + padding-left: 6em; } + +.select2-container--default .select2-results__option--highlighted[aria-selected] { + background-color: #5897fb; + color: white; } + +.select2-container--default .select2-results__group { + cursor: default; + display: block; + padding: 6px; } + +.select2-container--classic .select2-selection--single { + background-color: #f7f7f7; + border: 1px solid #aaa; + border-radius: 4px; + outline: 0; + background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%); + background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%); + background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } + .select2-container--classic .select2-selection--single:focus { + border: 1px solid #5897fb; } + .select2-container--classic .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 28px; } + .select2-container--classic .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin-right: 10px; } + .select2-container--classic .select2-selection--single .select2-selection__placeholder { + color: #999; } + .select2-container--classic .select2-selection--single .select2-selection__arrow { + background-color: #ddd; + border: none; + border-left: 1px solid #aaa; + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; + background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%); + background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%); + background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); } + .select2-container--classic .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; } + +.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; } + +.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow { + border: none; + border-right: 1px solid #aaa; + border-radius: 0; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + left: 1px; + right: auto; } + +.select2-container--classic.select2-container--open .select2-selection--single { + border: 1px solid #5897fb; } + .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow { + background: transparent; + border: none; } + .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; } + +.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; + background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%); + background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%); + background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } + +.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%); + background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%); + background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); } + +.select2-container--classic .select2-selection--multiple { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + cursor: text; + outline: 0; } + .select2-container--classic .select2-selection--multiple:focus { + border: 1px solid #5897fb; } + .select2-container--classic .select2-selection--multiple .select2-selection__rendered { + list-style: none; + margin: 0; + padding: 0 5px; } + .select2-container--classic .select2-selection--multiple .select2-selection__clear { + display: none; } + .select2-container--classic .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #aaa; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; } + .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove { + color: #888; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; } + .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #555; } + +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + float: right; + margin-left: 5px; + margin-right: auto; } + +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; } + +.select2-container--classic.select2-container--open .select2-selection--multiple { + border: 1px solid #5897fb; } + +.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } + +.select2-container--classic .select2-search--dropdown .select2-search__field { + border: 1px solid #aaa; + outline: 0; } + +.select2-container--classic .select2-search--inline .select2-search__field { + outline: 0; + box-shadow: none; } + +.select2-container--classic .select2-dropdown { + background-color: white; + border: 1px solid transparent; } + +.select2-container--classic .select2-dropdown--above { + border-bottom: none; } + +.select2-container--classic .select2-dropdown--below { + border-top: none; } + +.select2-container--classic .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; } + +.select2-container--classic .select2-results__option[role=group] { + padding: 0; } + +.select2-container--classic .select2-results__option[aria-disabled=true] { + color: grey; } + +.select2-container--classic .select2-results__option--highlighted[aria-selected] { + background-color: #3875d7; + color: white; } + +.select2-container--classic .select2-results__group { + cursor: default; + display: block; + padding: 6px; } + +.select2-container--classic.select2-container--open .select2-dropdown { + border-color: #5897fb; } diff --git a/static/admin/css/vendor/select2/select2.fd9fe49d3d91.css.gz b/static/admin/css/vendor/select2/select2.fd9fe49d3d91.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..49c5d95177eef372c09e69dedeff28f6d9630ad3 GIT binary patch literal 2245 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 literal 0 HcmV?d00001 diff --git a/static/admin/css/vendor/select2/select2.min.af22a7e2bfec.css b/static/admin/css/vendor/select2/select2.min.af22a7e2bfec.css new file mode 100644 index 0000000..60d5990 --- /dev/null +++ b/static/admin/css/vendor/select2/select2.min.af22a7e2bfec.css @@ -0,0 +1 @@ +.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb} diff --git a/static/admin/css/vendor/select2/select2.min.af22a7e2bfec.css.gz b/static/admin/css/vendor/select2/select2.min.af22a7e2bfec.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..4f6cf05982580bba50528de06bc1c5f0d712c224 GIT binary patch literal 1989 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 U_A1GS)&CNIZQ`luW6i(-0BoDnYXATM literal 0 HcmV?d00001 diff --git a/static/admin/css/vendor/select2/select2.min.css b/static/admin/css/vendor/select2/select2.min.css new file mode 100644 index 0000000..60d5990 --- /dev/null +++ b/static/admin/css/vendor/select2/select2.min.css @@ -0,0 +1 @@ +.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb} diff --git a/static/admin/css/vendor/select2/select2.min.css.gz b/static/admin/css/vendor/select2/select2.min.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..4f6cf05982580bba50528de06bc1c5f0d712c224 GIT binary patch literal 1989 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 U_A1GS)&CNIZQ`luW6i(-0BoDnYXATM literal 0 HcmV?d00001 diff --git a/static/admin/css/widgets.8874c301e7bc.css b/static/admin/css/widgets.8874c301e7bc.css new file mode 100644 index 0000000..a7ddeb5 --- /dev/null +++ b/static/admin/css/widgets.8874c301e7bc.css @@ -0,0 +1,564 @@ +/* SELECTOR (FILTER INTERFACE) */ + +.selector { + width: 800px; + float: left; +} + +.selector select { + width: 380px; + height: 17.2em; +} + +.selector-available, .selector-chosen { + float: left; + width: 380px; + text-align: center; + margin-bottom: 5px; +} + +.selector-chosen select { + border-top: none; +} + +.selector-available h2, .selector-chosen h2 { + border: 1px solid #ccc; + border-radius: 4px 4px 0 0; +} + +.selector-chosen h2 { + background: #79aec8; + color: #fff; +} + +.selector .selector-available h2 { + background: #f8f8f8; + color: #666; +} + +.selector .selector-filter { + background: white; + border: 1px solid #ccc; + border-width: 0 1px; + padding: 8px; + color: #999; + font-size: 10px; + margin: 0; + text-align: left; +} + +.selector .selector-filter label, +.inline-group .aligned .selector .selector-filter label { + float: left; + margin: 7px 0 0; + width: 18px; + height: 18px; + padding: 0; + overflow: hidden; + line-height: 1; +} + +.selector .selector-available input { + width: 320px; + margin-left: 8px; +} + +.selector ul.selector-chooser { + float: left; + width: 22px; + background-color: #eee; + border-radius: 10px; + margin: 10em 5px 0 5px; + padding: 0; +} + +.selector-chooser li { + margin: 0; + padding: 3px; + list-style-type: none; +} + +.selector select { + padding: 0 10px; + margin: 0 0 10px; + border-radius: 0 0 4px 4px; +} + +.selector-add, .selector-remove { + width: 16px; + height: 16px; + display: block; + text-indent: -3000px; + overflow: hidden; + cursor: default; + opacity: 0.3; +} + +.active.selector-add, .active.selector-remove { + opacity: 1; +} + +.active.selector-add:hover, .active.selector-remove:hover { + cursor: pointer; +} + +.selector-add { + background: url("../img/selector-icons.b4555096cea2.svg") 0 -96px no-repeat; +} + +.active.selector-add:focus, .active.selector-add:hover { + background-position: 0 -112px; +} + +.selector-remove { + background: url("../img/selector-icons.b4555096cea2.svg") 0 -64px no-repeat; +} + +.active.selector-remove:focus, .active.selector-remove:hover { + background-position: 0 -80px; +} + +a.selector-chooseall, a.selector-clearall { + display: inline-block; + height: 16px; + text-align: left; + margin: 1px auto 3px; + overflow: hidden; + font-weight: bold; + line-height: 16px; + color: #666; + text-decoration: none; + opacity: 0.3; +} + +a.active.selector-chooseall:focus, a.active.selector-clearall:focus, +a.active.selector-chooseall:hover, a.active.selector-clearall:hover { + color: #447e9b; +} + +a.active.selector-chooseall, a.active.selector-clearall { + opacity: 1; +} + +a.active.selector-chooseall:hover, a.active.selector-clearall:hover { + cursor: pointer; +} + +a.selector-chooseall { + padding: 0 18px 0 0; + background: url("../img/selector-icons.b4555096cea2.svg") right -160px no-repeat; + cursor: default; +} + +a.active.selector-chooseall:focus, a.active.selector-chooseall:hover { + background-position: 100% -176px; +} + +a.selector-clearall { + padding: 0 0 0 18px; + background: url("../img/selector-icons.b4555096cea2.svg") 0 -128px no-repeat; + cursor: default; +} + +a.active.selector-clearall:focus, a.active.selector-clearall:hover { + background-position: 0 -144px; +} + +/* STACKED SELECTORS */ + +.stacked { + float: left; + width: 490px; +} + +.stacked select { + width: 480px; + height: 10.1em; +} + +.stacked .selector-available, .stacked .selector-chosen { + width: 480px; +} + +.stacked .selector-available { + margin-bottom: 0; +} + +.stacked .selector-available input { + width: 422px; +} + +.stacked ul.selector-chooser { + height: 22px; + width: 50px; + margin: 0 0 10px 40%; + background-color: #eee; + border-radius: 10px; +} + +.stacked .selector-chooser li { + float: left; + padding: 3px 3px 3px 5px; +} + +.stacked .selector-chooseall, .stacked .selector-clearall { + display: none; +} + +.stacked .selector-add { + background: url("../img/selector-icons.b4555096cea2.svg") 0 -32px no-repeat; + cursor: default; +} + +.stacked .active.selector-add { + background-position: 0 -48px; + cursor: pointer; +} + +.stacked .selector-remove { + background: url("../img/selector-icons.b4555096cea2.svg") 0 0 no-repeat; + cursor: default; +} + +.stacked .active.selector-remove { + background-position: 0 -16px; + cursor: pointer; +} + +.selector .help-icon { + background: url("../img/icon-unknown.a18cb4398978.svg") 0 0 no-repeat; + display: inline-block; + vertical-align: middle; + margin: -2px 0 0 2px; + width: 13px; + height: 13px; +} + +.selector .selector-chosen .help-icon { + background: url("../img/icon-unknown-alt.81536e128bb6.svg") 0 0 no-repeat; +} + +.selector .search-label-icon { + background: url("../img/search.7cf54ff789c6.svg") 0 0 no-repeat; + display: inline-block; + height: 18px; + width: 18px; +} + +/* DATE AND TIME */ + +p.datetime { + line-height: 20px; + margin: 0; + padding: 0; + color: #666; + font-weight: bold; +} + +.datetime span { + white-space: nowrap; + font-weight: normal; + font-size: 11px; + color: #ccc; +} + +.datetime input, .form-row .datetime input.vDateField, .form-row .datetime input.vTimeField { + margin-left: 5px; + margin-bottom: 4px; +} + +table p.datetime { + font-size: 11px; + margin-left: 0; + padding-left: 0; +} + +.datetimeshortcuts .clock-icon, .datetimeshortcuts .date-icon { + position: relative; + display: inline-block; + vertical-align: middle; + height: 16px; + width: 16px; + overflow: hidden; +} + +.datetimeshortcuts .clock-icon { + background: url("../img/icon-clock.e1d4dfac3f2b.svg") 0 0 no-repeat; +} + +.datetimeshortcuts a:focus .clock-icon, +.datetimeshortcuts a:hover .clock-icon { + background-position: 0 -16px; +} + +.datetimeshortcuts .date-icon { + background: url("../img/icon-calendar.ac7aea671bea.svg") 0 0 no-repeat; + top: -1px; +} + +.datetimeshortcuts a:focus .date-icon, +.datetimeshortcuts a:hover .date-icon { + background-position: 0 -16px; +} + +.timezonewarning { + font-size: 11px; + color: #999; +} + +/* URL */ + +p.url { + line-height: 20px; + margin: 0; + padding: 0; + color: #666; + font-size: 11px; + font-weight: bold; +} + +.url a { + font-weight: normal; +} + +/* FILE UPLOADS */ + +p.file-upload { + line-height: 20px; + margin: 0; + padding: 0; + color: #666; + font-size: 11px; + font-weight: bold; +} + +.aligned p.file-upload { + margin-left: 170px; +} + +.file-upload a { + font-weight: normal; +} + +.file-upload .deletelink { + margin-left: 5px; +} + +span.clearable-file-input label { + color: #333; + font-size: 11px; + display: inline; + float: none; +} + +/* CALENDARS & CLOCKS */ + +.calendarbox, .clockbox { + margin: 5px auto; + font-size: 12px; + width: 19em; + text-align: center; + background: white; + border: 1px solid #ddd; + border-radius: 4px; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15); + overflow: hidden; + position: relative; +} + +.clockbox { + width: auto; +} + +.calendar { + margin: 0; + padding: 0; +} + +.calendar table { + margin: 0; + padding: 0; + border-collapse: collapse; + background: white; + width: 100%; +} + +.calendar caption, .calendarbox h2 { + margin: 0; + text-align: center; + border-top: none; + background: #f5dd5d; + font-weight: 700; + font-size: 12px; + color: #333; +} + +.calendar th { + padding: 8px 5px; + background: #f8f8f8; + border-bottom: 1px solid #ddd; + font-weight: 400; + font-size: 12px; + text-align: center; + color: #666; +} + +.calendar td { + font-weight: 400; + font-size: 12px; + text-align: center; + padding: 0; + border-top: 1px solid #eee; + border-bottom: none; +} + +.calendar td.selected a { + background: #79aec8; + color: #fff; +} + +.calendar td.nonday { + background: #f8f8f8; +} + +.calendar td.today a { + font-weight: 700; +} + +.calendar td a, .timelist a { + display: block; + font-weight: 400; + padding: 6px; + text-decoration: none; + color: #444; +} + +.calendar td a:focus, .timelist a:focus, +.calendar td a:hover, .timelist a:hover { + background: #79aec8; + color: white; +} + +.calendar td a:active, .timelist a:active { + background: #417690; + color: white; +} + +.calendarnav { + font-size: 10px; + text-align: center; + color: #ccc; + margin: 0; + padding: 1px 3px; +} + +.calendarnav a:link, #calendarnav a:visited, +#calendarnav a:focus, #calendarnav a:hover { + color: #999; +} + +.calendar-shortcuts { + background: white; + font-size: 11px; + line-height: 11px; + border-top: 1px solid #eee; + padding: 8px 0; + color: #ccc; +} + +.calendarbox .calendarnav-previous, .calendarbox .calendarnav-next { + display: block; + position: absolute; + top: 8px; + width: 15px; + height: 15px; + text-indent: -9999px; + padding: 0; +} + +.calendarnav-previous { + left: 10px; + background: url("../img/calendar-icons.39b290681a8b.svg") 0 0 no-repeat; +} + +.calendarbox .calendarnav-previous:focus, +.calendarbox .calendarnav-previous:hover { + background-position: 0 -15px; +} + +.calendarnav-next { + right: 10px; + background: url("../img/calendar-icons.39b290681a8b.svg") 0 -30px no-repeat; +} + +.calendarbox .calendarnav-next:focus, +.calendarbox .calendarnav-next:hover { + background-position: 0 -45px; +} + +.calendar-cancel { + margin: 0; + padding: 4px 0; + font-size: 12px; + background: #eee; + border-top: 1px solid #ddd; + color: #333; +} + +.calendar-cancel:focus, .calendar-cancel:hover { + background: #ddd; +} + +.calendar-cancel a { + color: black; + display: block; +} + +ul.timelist, .timelist li { + list-style-type: none; + margin: 0; + padding: 0; +} + +.timelist a { + padding: 2px; +} + +/* EDIT INLINE */ + +.inline-deletelink { + float: right; + text-indent: -9999px; + background: url("../img/inline-delete.fec1b761f254.svg") 0 0 no-repeat; + width: 16px; + height: 16px; + border: 0px none; +} + +.inline-deletelink:focus, .inline-deletelink:hover { + cursor: pointer; +} + +/* RELATED WIDGET WRAPPER */ +.related-widget-wrapper { + float: left; /* display properly in form rows with multiple fields */ + overflow: hidden; /* clear floated contents */ +} + +.related-widget-wrapper-link { + opacity: 0.3; +} + +.related-widget-wrapper-link:link { + opacity: .8; +} + +.related-widget-wrapper-link:link:focus, +.related-widget-wrapper-link:link:hover { + opacity: 1; +} + +select + .related-widget-wrapper-link, +.related-widget-wrapper-link + .related-widget-wrapper-link { + margin-left: 7px; +} diff --git a/static/admin/css/widgets.8874c301e7bc.css.gz b/static/admin/css/widgets.8874c301e7bc.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..279d4dd007a0d5717a138692d63e0bfbc3a63101 GIT binary patch literal 2298 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 literal 0 HcmV?d00001 diff --git a/static/admin/css/widgets.css b/static/admin/css/widgets.css new file mode 100644 index 0000000..6dbc58e --- /dev/null +++ b/static/admin/css/widgets.css @@ -0,0 +1,564 @@ +/* SELECTOR (FILTER INTERFACE) */ + +.selector { + width: 800px; + float: left; +} + +.selector select { + width: 380px; + height: 17.2em; +} + +.selector-available, .selector-chosen { + float: left; + width: 380px; + text-align: center; + margin-bottom: 5px; +} + +.selector-chosen select { + border-top: none; +} + +.selector-available h2, .selector-chosen h2 { + border: 1px solid #ccc; + border-radius: 4px 4px 0 0; +} + +.selector-chosen h2 { + background: #79aec8; + color: #fff; +} + +.selector .selector-available h2 { + background: #f8f8f8; + color: #666; +} + +.selector .selector-filter { + background: white; + border: 1px solid #ccc; + border-width: 0 1px; + padding: 8px; + color: #999; + font-size: 10px; + margin: 0; + text-align: left; +} + +.selector .selector-filter label, +.inline-group .aligned .selector .selector-filter label { + float: left; + margin: 7px 0 0; + width: 18px; + height: 18px; + padding: 0; + overflow: hidden; + line-height: 1; +} + +.selector .selector-available input { + width: 320px; + margin-left: 8px; +} + +.selector ul.selector-chooser { + float: left; + width: 22px; + background-color: #eee; + border-radius: 10px; + margin: 10em 5px 0 5px; + padding: 0; +} + +.selector-chooser li { + margin: 0; + padding: 3px; + list-style-type: none; +} + +.selector select { + padding: 0 10px; + margin: 0 0 10px; + border-radius: 0 0 4px 4px; +} + +.selector-add, .selector-remove { + width: 16px; + height: 16px; + display: block; + text-indent: -3000px; + overflow: hidden; + cursor: default; + opacity: 0.3; +} + +.active.selector-add, .active.selector-remove { + opacity: 1; +} + +.active.selector-add:hover, .active.selector-remove:hover { + cursor: pointer; +} + +.selector-add { + background: url(../img/selector-icons.svg) 0 -96px no-repeat; +} + +.active.selector-add:focus, .active.selector-add:hover { + background-position: 0 -112px; +} + +.selector-remove { + background: url(../img/selector-icons.svg) 0 -64px no-repeat; +} + +.active.selector-remove:focus, .active.selector-remove:hover { + background-position: 0 -80px; +} + +a.selector-chooseall, a.selector-clearall { + display: inline-block; + height: 16px; + text-align: left; + margin: 1px auto 3px; + overflow: hidden; + font-weight: bold; + line-height: 16px; + color: #666; + text-decoration: none; + opacity: 0.3; +} + +a.active.selector-chooseall:focus, a.active.selector-clearall:focus, +a.active.selector-chooseall:hover, a.active.selector-clearall:hover { + color: #447e9b; +} + +a.active.selector-chooseall, a.active.selector-clearall { + opacity: 1; +} + +a.active.selector-chooseall:hover, a.active.selector-clearall:hover { + cursor: pointer; +} + +a.selector-chooseall { + padding: 0 18px 0 0; + background: url(../img/selector-icons.svg) right -160px no-repeat; + cursor: default; +} + +a.active.selector-chooseall:focus, a.active.selector-chooseall:hover { + background-position: 100% -176px; +} + +a.selector-clearall { + padding: 0 0 0 18px; + background: url(../img/selector-icons.svg) 0 -128px no-repeat; + cursor: default; +} + +a.active.selector-clearall:focus, a.active.selector-clearall:hover { + background-position: 0 -144px; +} + +/* STACKED SELECTORS */ + +.stacked { + float: left; + width: 490px; +} + +.stacked select { + width: 480px; + height: 10.1em; +} + +.stacked .selector-available, .stacked .selector-chosen { + width: 480px; +} + +.stacked .selector-available { + margin-bottom: 0; +} + +.stacked .selector-available input { + width: 422px; +} + +.stacked ul.selector-chooser { + height: 22px; + width: 50px; + margin: 0 0 10px 40%; + background-color: #eee; + border-radius: 10px; +} + +.stacked .selector-chooser li { + float: left; + padding: 3px 3px 3px 5px; +} + +.stacked .selector-chooseall, .stacked .selector-clearall { + display: none; +} + +.stacked .selector-add { + background: url(../img/selector-icons.svg) 0 -32px no-repeat; + cursor: default; +} + +.stacked .active.selector-add { + background-position: 0 -48px; + cursor: pointer; +} + +.stacked .selector-remove { + background: url(../img/selector-icons.svg) 0 0 no-repeat; + cursor: default; +} + +.stacked .active.selector-remove { + background-position: 0 -16px; + cursor: pointer; +} + +.selector .help-icon { + background: url(../img/icon-unknown.svg) 0 0 no-repeat; + display: inline-block; + vertical-align: middle; + margin: -2px 0 0 2px; + width: 13px; + height: 13px; +} + +.selector .selector-chosen .help-icon { + background: url(../img/icon-unknown-alt.svg) 0 0 no-repeat; +} + +.selector .search-label-icon { + background: url(../img/search.svg) 0 0 no-repeat; + display: inline-block; + height: 18px; + width: 18px; +} + +/* DATE AND TIME */ + +p.datetime { + line-height: 20px; + margin: 0; + padding: 0; + color: #666; + font-weight: bold; +} + +.datetime span { + white-space: nowrap; + font-weight: normal; + font-size: 11px; + color: #ccc; +} + +.datetime input, .form-row .datetime input.vDateField, .form-row .datetime input.vTimeField { + margin-left: 5px; + margin-bottom: 4px; +} + +table p.datetime { + font-size: 11px; + margin-left: 0; + padding-left: 0; +} + +.datetimeshortcuts .clock-icon, .datetimeshortcuts .date-icon { + position: relative; + display: inline-block; + vertical-align: middle; + height: 16px; + width: 16px; + overflow: hidden; +} + +.datetimeshortcuts .clock-icon { + background: url(../img/icon-clock.svg) 0 0 no-repeat; +} + +.datetimeshortcuts a:focus .clock-icon, +.datetimeshortcuts a:hover .clock-icon { + background-position: 0 -16px; +} + +.datetimeshortcuts .date-icon { + background: url(../img/icon-calendar.svg) 0 0 no-repeat; + top: -1px; +} + +.datetimeshortcuts a:focus .date-icon, +.datetimeshortcuts a:hover .date-icon { + background-position: 0 -16px; +} + +.timezonewarning { + font-size: 11px; + color: #999; +} + +/* URL */ + +p.url { + line-height: 20px; + margin: 0; + padding: 0; + color: #666; + font-size: 11px; + font-weight: bold; +} + +.url a { + font-weight: normal; +} + +/* FILE UPLOADS */ + +p.file-upload { + line-height: 20px; + margin: 0; + padding: 0; + color: #666; + font-size: 11px; + font-weight: bold; +} + +.aligned p.file-upload { + margin-left: 170px; +} + +.file-upload a { + font-weight: normal; +} + +.file-upload .deletelink { + margin-left: 5px; +} + +span.clearable-file-input label { + color: #333; + font-size: 11px; + display: inline; + float: none; +} + +/* CALENDARS & CLOCKS */ + +.calendarbox, .clockbox { + margin: 5px auto; + font-size: 12px; + width: 19em; + text-align: center; + background: white; + border: 1px solid #ddd; + border-radius: 4px; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15); + overflow: hidden; + position: relative; +} + +.clockbox { + width: auto; +} + +.calendar { + margin: 0; + padding: 0; +} + +.calendar table { + margin: 0; + padding: 0; + border-collapse: collapse; + background: white; + width: 100%; +} + +.calendar caption, .calendarbox h2 { + margin: 0; + text-align: center; + border-top: none; + background: #f5dd5d; + font-weight: 700; + font-size: 12px; + color: #333; +} + +.calendar th { + padding: 8px 5px; + background: #f8f8f8; + border-bottom: 1px solid #ddd; + font-weight: 400; + font-size: 12px; + text-align: center; + color: #666; +} + +.calendar td { + font-weight: 400; + font-size: 12px; + text-align: center; + padding: 0; + border-top: 1px solid #eee; + border-bottom: none; +} + +.calendar td.selected a { + background: #79aec8; + color: #fff; +} + +.calendar td.nonday { + background: #f8f8f8; +} + +.calendar td.today a { + font-weight: 700; +} + +.calendar td a, .timelist a { + display: block; + font-weight: 400; + padding: 6px; + text-decoration: none; + color: #444; +} + +.calendar td a:focus, .timelist a:focus, +.calendar td a:hover, .timelist a:hover { + background: #79aec8; + color: white; +} + +.calendar td a:active, .timelist a:active { + background: #417690; + color: white; +} + +.calendarnav { + font-size: 10px; + text-align: center; + color: #ccc; + margin: 0; + padding: 1px 3px; +} + +.calendarnav a:link, #calendarnav a:visited, +#calendarnav a:focus, #calendarnav a:hover { + color: #999; +} + +.calendar-shortcuts { + background: white; + font-size: 11px; + line-height: 11px; + border-top: 1px solid #eee; + padding: 8px 0; + color: #ccc; +} + +.calendarbox .calendarnav-previous, .calendarbox .calendarnav-next { + display: block; + position: absolute; + top: 8px; + width: 15px; + height: 15px; + text-indent: -9999px; + padding: 0; +} + +.calendarnav-previous { + left: 10px; + background: url(../img/calendar-icons.svg) 0 0 no-repeat; +} + +.calendarbox .calendarnav-previous:focus, +.calendarbox .calendarnav-previous:hover { + background-position: 0 -15px; +} + +.calendarnav-next { + right: 10px; + background: url(../img/calendar-icons.svg) 0 -30px no-repeat; +} + +.calendarbox .calendarnav-next:focus, +.calendarbox .calendarnav-next:hover { + background-position: 0 -45px; +} + +.calendar-cancel { + margin: 0; + padding: 4px 0; + font-size: 12px; + background: #eee; + border-top: 1px solid #ddd; + color: #333; +} + +.calendar-cancel:focus, .calendar-cancel:hover { + background: #ddd; +} + +.calendar-cancel a { + color: black; + display: block; +} + +ul.timelist, .timelist li { + list-style-type: none; + margin: 0; + padding: 0; +} + +.timelist a { + padding: 2px; +} + +/* EDIT INLINE */ + +.inline-deletelink { + float: right; + text-indent: -9999px; + background: url(../img/inline-delete.svg) 0 0 no-repeat; + width: 16px; + height: 16px; + border: 0px none; +} + +.inline-deletelink:focus, .inline-deletelink:hover { + cursor: pointer; +} + +/* RELATED WIDGET WRAPPER */ +.related-widget-wrapper { + float: left; /* display properly in form rows with multiple fields */ + overflow: hidden; /* clear floated contents */ +} + +.related-widget-wrapper-link { + opacity: 0.3; +} + +.related-widget-wrapper-link:link { + opacity: .8; +} + +.related-widget-wrapper-link:link:focus, +.related-widget-wrapper-link:link:hover { + opacity: 1; +} + +select + .related-widget-wrapper-link, +.related-widget-wrapper-link + .related-widget-wrapper-link { + margin-left: 7px; +} diff --git a/static/admin/css/widgets.css.gz b/static/admin/css/widgets.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..623671e0d9472a8b0711cf7ebcd824bcb58be766 GIT binary patch literal 2205 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 literal 0 HcmV?d00001 diff --git a/static/admin/fonts/LICENSE.d273d63619c9.txt b/static/admin/fonts/LICENSE.d273d63619c9.txt new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/static/admin/fonts/LICENSE.d273d63619c9.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/static/admin/fonts/LICENSE.d273d63619c9.txt.gz b/static/admin/fonts/LICENSE.d273d63619c9.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..d3fd59265836773f6d068335982e32479c0f47f7 GIT binary patch literal 3982 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 literal 0 HcmV?d00001 diff --git a/static/admin/fonts/LICENSE.txt b/static/admin/fonts/LICENSE.txt new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/static/admin/fonts/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/static/admin/fonts/LICENSE.txt.gz b/static/admin/fonts/LICENSE.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..d3fd59265836773f6d068335982e32479c0f47f7 GIT binary patch literal 3982 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 literal 0 HcmV?d00001 diff --git a/static/admin/fonts/README.ab99e6b541ea.txt b/static/admin/fonts/README.ab99e6b541ea.txt new file mode 100644 index 0000000..b247bef --- /dev/null +++ b/static/admin/fonts/README.ab99e6b541ea.txt @@ -0,0 +1,3 @@ +Roboto webfont source: https://www.google.com/fonts/specimen/Roboto +WOFF files extracted using https://github.com/majodev/google-webfonts-helper +Weights used in this project: Light (300), Regular (400), Bold (700) diff --git a/static/admin/fonts/README.ab99e6b541ea.txt.gz b/static/admin/fonts/README.ab99e6b541ea.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..5c802db4f05aac3e09fb30f8d2e12fee8ec2ba5c GIT binary patch literal 180 zcmb2|=3oE;rvJ9R8@ZYt1YD~3CwVhp6c*x$Shj(SC1=gonD>6?qIbq7+u3J1?UGD; z=IblVd9drQgJVNxr<C^wCFAK{YhTZjR(foB-DKt7!(HiD@(wL{l|0Af{Hmsdl_>|d z9|`0BwqXPJv-5_2Z!XF9tdw1OeEP4X&G(Jd#s2mfW?qog-t*SHgInR6;hBkUSAq^D l^DFKZIr@^vbk@=Bf|p(=zJF5fkw4qdZuy0O?bjF>7ywnOQ=tF= literal 0 HcmV?d00001 diff --git a/static/admin/fonts/README.txt b/static/admin/fonts/README.txt new file mode 100644 index 0000000..b247bef --- /dev/null +++ b/static/admin/fonts/README.txt @@ -0,0 +1,3 @@ +Roboto webfont source: https://www.google.com/fonts/specimen/Roboto +WOFF files extracted using https://github.com/majodev/google-webfonts-helper +Weights used in this project: Light (300), Regular (400), Bold (700) diff --git a/static/admin/fonts/README.txt.gz b/static/admin/fonts/README.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..5c802db4f05aac3e09fb30f8d2e12fee8ec2ba5c GIT binary patch literal 180 zcmb2|=3oE;rvJ9R8@ZYt1YD~3CwVhp6c*x$Shj(SC1=gonD>6?qIbq7+u3J1?UGD; z=IblVd9drQgJVNxr<C^wCFAK{YhTZjR(foB-DKt7!(HiD@(wL{l|0Af{Hmsdl_>|d z9|`0BwqXPJv-5_2Z!XF9tdw1OeEP4X&G(Jd#s2mfW?qog-t*SHgInR6;hBkUSAq^D l^DFKZIr@^vbk@=Bf|p(=zJF5fkw4qdZuy0O?bjF>7ywnOQ=tF= literal 0 HcmV?d00001 diff --git a/static/admin/fonts/Roboto-Bold-webfont.50d75e48e0a3.woff b/static/admin/fonts/Roboto-Bold-webfont.50d75e48e0a3.woff new file mode 100644 index 0000000000000000000000000000000000000000..6e0f56267035c2321ca6b590adcfc0fc93b7dc51 GIT binary patch literal 86184 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 literal 0 HcmV?d00001 diff --git a/static/admin/fonts/Roboto-Bold-webfont.woff b/static/admin/fonts/Roboto-Bold-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..6e0f56267035c2321ca6b590adcfc0fc93b7dc51 GIT binary patch literal 86184 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 literal 0 HcmV?d00001 diff --git a/static/admin/fonts/Roboto-Light-webfont.c73eb1ceba33.woff b/static/admin/fonts/Roboto-Light-webfont.c73eb1ceba33.woff new file mode 100644 index 0000000000000000000000000000000000000000..b9e99185c8300c786fa77a0490fefdd26ab2e99e GIT binary patch literal 85692 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%0A>sVb<A)C%$o%L1 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 literal 0 HcmV?d00001 diff --git a/static/admin/fonts/Roboto-Light-webfont.woff b/static/admin/fonts/Roboto-Light-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..b9e99185c8300c786fa77a0490fefdd26ab2e99e GIT binary patch literal 85692 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%0A>sVb<A)C%$o%L1 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 literal 0 HcmV?d00001 diff --git a/static/admin/fonts/Roboto-Regular-webfont.35b07eb2f871.woff b/static/admin/fonts/Roboto-Regular-webfont.35b07eb2f871.woff new file mode 100644 index 0000000000000000000000000000000000000000..96c1986f01459bc3b7ca8e18fc06785e5e35dc45 GIT binary patch literal 85876 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 WsO{O{pqkviFa7yR{$QEVNelpC{qWcT literal 0 HcmV?d00001 diff --git a/static/admin/fonts/Roboto-Regular-webfont.woff b/static/admin/fonts/Roboto-Regular-webfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..96c1986f01459bc3b7ca8e18fc06785e5e35dc45 GIT binary patch literal 85876 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 WsO{O{pqkviFa7yR{$QEVNelpC{qWcT literal 0 HcmV?d00001 diff --git a/static/admin/img/LICENSE b/static/admin/img/LICENSE new file mode 100644 index 0000000..a4faaa1 --- /dev/null +++ b/static/admin/img/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2014 Code Charm Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/static/admin/img/LICENSE.2c54f4e1ca1c b/static/admin/img/LICENSE.2c54f4e1ca1c new file mode 100644 index 0000000..a4faaa1 --- /dev/null +++ b/static/admin/img/LICENSE.2c54f4e1ca1c @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2014 Code Charm Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/static/admin/img/LICENSE.2c54f4e1ca1c.gz b/static/admin/img/LICENSE.2c54f4e1ca1c.gz new file mode 100644 index 0000000000000000000000000000000000000000..9306e29e35879dd172010940c731782ee86a8631 GIT binary patch literal 656 zcmb2|=3oE;rvITq-ubr;c=o*x7qHygaM5<d<-ApEO%BPNoG>-b(rTMfcEOqhL1JI- z_m^DW%F4vD<ivZ|+xHGeMQPN&KK9}PUw8GfPX%=||7`RxxPI^O_x1Pd9OSInEARWL zYXl#Uc)DzI|HXE}nwERMdH<P?uaunp+Q`D^oTG(9H@EwAN3IJ!`UPddM_M=d_sajR zXkm+5a>#R9RZHi?3G2>2DcI4hcI?70wvP+A-#&eE?25`G>mLVQcX+R;4ZLqA_TAX? z`7FjiCtkdL%el_(>%&P2MTWlnRC{>ZZ#}#;v2FYFgY*CNHeO5rFX(tvbrJKWnFlpX z{yF^5+g7^o4ZHkr9xML~zr7EoEqNxB?q;{Ig>#WKo70CC)!%-t%bTb8GM&rhu98yR zj&BcH=FdrRX+LeEv~+g)u7-)JJd*!+m<6^U<4=@0G<D6^#5XpUUG|cje_VNUINrRv z()PWCkXP+g2X>47@n64*{ASzw{;saUldsAN-Ft7&JW=3NQPF>M{$Z2P7eCs2)jRx~ z+7PAxcA7NfrnXZr(jz;V#P%Gkns_km*3^3u2RIK;z1tYa6mI=PHFRR*k66jT>kD`% zzg{(ksXFNC(`6H0amp3?Xa1R_T6c&e%T(YYuUFTs1J@2c(boC7SZC?o)D2U@6xE`$ zm}Ru`)|@d{H4n)3S(@GWh4qlu%4uwoN1`--H>|nA{IQ4iigw&IW6}Eys*GQsF5PPU zDKj;3>1n5g&w&e!{zY)jSa~5Nu4w1E1rM_SxxC`Za54OR!}o5P>WZTi`XB3W57OQ= zF*}uan&d8%Z~tF~T~lJtOYv>g>2<5<5;iYz(VDV!N`>pf6%Q}F7PP$b)xEb>q-lCb V=;X)!hxy;gKUwo&t|bct0{{{!O5Fee literal 0 HcmV?d00001 diff --git a/static/admin/img/LICENSE.gz b/static/admin/img/LICENSE.gz new file mode 100644 index 0000000000000000000000000000000000000000..9306e29e35879dd172010940c731782ee86a8631 GIT binary patch literal 656 zcmb2|=3oE;rvITq-ubr;c=o*x7qHygaM5<d<-ApEO%BPNoG>-b(rTMfcEOqhL1JI- z_m^DW%F4vD<ivZ|+xHGeMQPN&KK9}PUw8GfPX%=||7`RxxPI^O_x1Pd9OSInEARWL zYXl#Uc)DzI|HXE}nwERMdH<P?uaunp+Q`D^oTG(9H@EwAN3IJ!`UPddM_M=d_sajR zXkm+5a>#R9RZHi?3G2>2DcI4hcI?70wvP+A-#&eE?25`G>mLVQcX+R;4ZLqA_TAX? z`7FjiCtkdL%el_(>%&P2MTWlnRC{>ZZ#}#;v2FYFgY*CNHeO5rFX(tvbrJKWnFlpX z{yF^5+g7^o4ZHkr9xML~zr7EoEqNxB?q;{Ig>#WKo70CC)!%-t%bTb8GM&rhu98yR zj&BcH=FdrRX+LeEv~+g)u7-)JJd*!+m<6^U<4=@0G<D6^#5XpUUG|cje_VNUINrRv z()PWCkXP+g2X>47@n64*{ASzw{;saUldsAN-Ft7&JW=3NQPF>M{$Z2P7eCs2)jRx~ z+7PAxcA7NfrnXZr(jz;V#P%Gkns_km*3^3u2RIK;z1tYa6mI=PHFRR*k66jT>kD`% zzg{(ksXFNC(`6H0amp3?Xa1R_T6c&e%T(YYuUFTs1J@2c(boC7SZC?o)D2U@6xE`$ zm}Ru`)|@d{H4n)3S(@GWh4qlu%4uwoN1`--H>|nA{IQ4iigw&IW6}Eys*GQsF5PPU zDKj;3>1n5g&w&e!{zY)jSa~5Nu4w1E1rM_SxxC`Za54OR!}o5P>WZTi`XB3W57OQ= zF*}uan&d8%Z~tF~T~lJtOYv>g>2<5<5;iYz(VDV!N`>pf6%Q}F7PP$b)xEb>q-lCb V=;X)!hxy;gKUwo&t|bct0{{{!O5Fee literal 0 HcmV?d00001 diff --git a/static/admin/img/README.a70711a38d87.txt b/static/admin/img/README.a70711a38d87.txt new file mode 100644 index 0000000..4eb2e49 --- /dev/null +++ b/static/admin/img/README.a70711a38d87.txt @@ -0,0 +1,7 @@ +All icons are taken from Font Awesome (http://fontawesome.io/) project. +The Font Awesome font is licensed under the SIL OFL 1.1: +- https://scripts.sil.org/OFL + +SVG icons source: https://github.com/encharm/Font-Awesome-SVG-PNG +Font-Awesome-SVG-PNG is licensed under the MIT license (see file license +in current folder). diff --git a/static/admin/img/README.a70711a38d87.txt.gz b/static/admin/img/README.a70711a38d87.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..d3afcbd6be7ba75414a71eea6660e14b2906d17c GIT binary patch literal 214 zcmb2|=3oE;rvIh=w%Lar1YCaq77f1D`mSL0x!&G`KN)6!IaQgOTeC}axB92=#Y$xg z6Snl5A3kHIS}-N&#gu?u(y3pxl*=Y@Z=0WDBoyYX87%D-pZNW(jdw(H(9Z=Cd#w4t zSZ`X9;QYwr=8GoFc#ptU<yJBuH(4h=HeZ{)p(I*&`wAP;&&N)7$2o`2vEKXk{coSN z-YfrJgzFvt^KNlZW08!N>|vt?JNYxRHdWT%+r9sR{o#3h&)JWiS~2f|3;!bv<#Ve- V>c39PN_%@(+;{7n`Sy$q3;<rBXubdd literal 0 HcmV?d00001 diff --git a/static/admin/img/README.txt b/static/admin/img/README.txt new file mode 100644 index 0000000..4eb2e49 --- /dev/null +++ b/static/admin/img/README.txt @@ -0,0 +1,7 @@ +All icons are taken from Font Awesome (http://fontawesome.io/) project. +The Font Awesome font is licensed under the SIL OFL 1.1: +- https://scripts.sil.org/OFL + +SVG icons source: https://github.com/encharm/Font-Awesome-SVG-PNG +Font-Awesome-SVG-PNG is licensed under the MIT license (see file license +in current folder). diff --git a/static/admin/img/README.txt.gz b/static/admin/img/README.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..d3afcbd6be7ba75414a71eea6660e14b2906d17c GIT binary patch literal 214 zcmb2|=3oE;rvIh=w%Lar1YCaq77f1D`mSL0x!&G`KN)6!IaQgOTeC}axB92=#Y$xg z6Snl5A3kHIS}-N&#gu?u(y3pxl*=Y@Z=0WDBoyYX87%D-pZNW(jdw(H(9Z=Cd#w4t zSZ`X9;QYwr=8GoFc#ptU<yJBuH(4h=HeZ{)p(I*&`wAP;&&N)7$2o`2vEKXk{coSN z-YfrJgzFvt^KNlZW08!N>|vt?JNYxRHdWT%+r9sR{o#3h&)JWiS~2f|3;!bv<#Ve- V>c39PN_%@(+;{7n`Sy$q3;<rBXubdd literal 0 HcmV?d00001 diff --git a/static/admin/img/calendar-icons.39b290681a8b.svg b/static/admin/img/calendar-icons.39b290681a8b.svg new file mode 100644 index 0000000..dbf21c3 --- /dev/null +++ b/static/admin/img/calendar-icons.39b290681a8b.svg @@ -0,0 +1,14 @@ +<svg width="15" height="60" viewBox="0 0 1792 7168" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <defs> + <g id="previous"> + <path d="M1037 1395l102-102q19-19 19-45t-19-45l-307-307 307-307q19-19 19-45t-19-45l-102-102q-19-19-45-19t-45 19l-454 454q-19 19-19 45t19 45l454 454q19 19 45 19t45-19zm627-499q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + <g id="next"> + <path d="M845 1395l454-454q19-19 19-45t-19-45l-454-454q-19-19-45-19t-45 19l-102 102q-19 19-19 45t19 45l307 307-307 307q-19 19-19 45t19 45l102 102q19 19 45 19t45-19zm819-499q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + </defs> + <use xlink:href="#previous" x="0" y="0" fill="#333333" /> + <use xlink:href="#previous" x="0" y="1792" fill="#000000" /> + <use xlink:href="#next" x="0" y="3584" fill="#333333" /> + <use xlink:href="#next" x="0" y="5376" fill="#000000" /> +</svg> diff --git a/static/admin/img/calendar-icons.39b290681a8b.svg.gz b/static/admin/img/calendar-icons.39b290681a8b.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..bef7ce14c70a627c7716a2687152f75174c01bc7 GIT binary patch literal 385 zcmb2|=3oE;rvGPyPv;$05ZLovJM2jhW3sgHP0KI$`d5e?-{v(>ZR70q@0;X3gTqg4 z^mwyqu4EX`1k>w6x2lp?&*_-q5PBswwRlni)Ad~$_xWP|ED8j?+84M?5_(aVcK^we zP2YATt;xN;VCun#F`Fh7pDQ@rxapP8-v4uyxz?I~)`-++*yOu0_YTu^)hn~-$ecgA z)h<TrQuxNYKO009KI!cUQCQN~`#|w%rO+%cUWvswg68u~joHcRJnv~w)hkDx#4R%> zq#3w2d^R~@u;`Mzv6CF*`R#Evw^bJ|ns`l}Ptjd)y253P1Jf2>a^$fKif3Z^J$3Qd z9|G!6&NZ^jsEPXMRNRnPd*XKEftGgtjotcI*2%fA&OMrQ^zy}jE&F4oH%4B+;3uI| zTlV&$S<Jk}J+CB_gRj53FExAPN7nS|%NYJ|3ctGZ#<LVl+tdR4&I8l?Z{Lz&St`$R v<8;(_es#<5kNtP<f3`d1Smu|k=jxd{p+?tDi|^O&{lRumzr)jwg@FM8jZV6( literal 0 HcmV?d00001 diff --git a/static/admin/img/calendar-icons.svg b/static/admin/img/calendar-icons.svg new file mode 100644 index 0000000..dbf21c3 --- /dev/null +++ b/static/admin/img/calendar-icons.svg @@ -0,0 +1,14 @@ +<svg width="15" height="60" viewBox="0 0 1792 7168" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <defs> + <g id="previous"> + <path d="M1037 1395l102-102q19-19 19-45t-19-45l-307-307 307-307q19-19 19-45t-19-45l-102-102q-19-19-45-19t-45 19l-454 454q-19 19-19 45t19 45l454 454q19 19 45 19t45-19zm627-499q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + <g id="next"> + <path d="M845 1395l454-454q19-19 19-45t-19-45l-454-454q-19-19-45-19t-45 19l-102 102q-19 19-19 45t19 45l307 307-307 307q-19 19-19 45t19 45l102 102q19 19 45 19t45-19zm819-499q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + </defs> + <use xlink:href="#previous" x="0" y="0" fill="#333333" /> + <use xlink:href="#previous" x="0" y="1792" fill="#000000" /> + <use xlink:href="#next" x="0" y="3584" fill="#333333" /> + <use xlink:href="#next" x="0" y="5376" fill="#000000" /> +</svg> diff --git a/static/admin/img/calendar-icons.svg.gz b/static/admin/img/calendar-icons.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..bef7ce14c70a627c7716a2687152f75174c01bc7 GIT binary patch literal 385 zcmb2|=3oE;rvGPyPv;$05ZLovJM2jhW3sgHP0KI$`d5e?-{v(>ZR70q@0;X3gTqg4 z^mwyqu4EX`1k>w6x2lp?&*_-q5PBswwRlni)Ad~$_xWP|ED8j?+84M?5_(aVcK^we zP2YATt;xN;VCun#F`Fh7pDQ@rxapP8-v4uyxz?I~)`-++*yOu0_YTu^)hn~-$ecgA z)h<TrQuxNYKO009KI!cUQCQN~`#|w%rO+%cUWvswg68u~joHcRJnv~w)hkDx#4R%> zq#3w2d^R~@u;`Mzv6CF*`R#Evw^bJ|ns`l}Ptjd)y253P1Jf2>a^$fKif3Z^J$3Qd z9|G!6&NZ^jsEPXMRNRnPd*XKEftGgtjotcI*2%fA&OMrQ^zy}jE&F4oH%4B+;3uI| zTlV&$S<Jk}J+CB_gRj53FExAPN7nS|%NYJ|3ctGZ#<LVl+tdR4&I8l?Z{Lz&St`$R v<8;(_es#<5kNtP<f3`d1Smu|k=jxd{p+?tDi|^O&{lRumzr)jwg@FM8jZV6( literal 0 HcmV?d00001 diff --git a/static/admin/img/gis/move_vertex_off.7a23bf31ef8a.svg b/static/admin/img/gis/move_vertex_off.7a23bf31ef8a.svg new file mode 100644 index 0000000..228854f --- /dev/null +++ b/static/admin/img/gis/move_vertex_off.7a23bf31ef8a.svg @@ -0,0 +1 @@ +<svg width="24" height="22" viewBox="0 0 847 779" xmlns="http://www.w3.org/2000/svg"><g><path fill="#EBECE6" d="M120 1h607c66 0 120 54 120 120v536c0 66-54 120-120 120h-607c-66 0-120-54-120-120v-536c0-66 54-120 120-120z"/><path fill="#9E9E93" d="M120 1h607c66 0 120 54 120 120v536c0 66-54 120-120 120h-607c-66 0-120-54-120-120v-536c0-66 54-120 120-120zm607 25h-607c-26 0-50 11-67 28-17 18-28 41-28 67v536c0 27 11 50 28 68 17 17 41 27 67 27h607c26 0 49-10 67-27 17-18 28-41 28-68v-536c0-26-11-49-28-67-18-17-41-28-67-28z"/><path stroke="#A9A8A4" stroke-width="20" d="M706 295l-68 281"/><path stroke="#E47474" stroke-width="20" d="M316 648l390-353M141 435l175 213"/><path stroke="#C9C9C9" stroke-width="20" d="M319 151l-178 284M706 295l-387-144"/><g fill="#040405"><path d="M319 111c22 0 40 18 40 40s-18 40-40 40-40-18-40-40 18-40 40-40zM141 395c22 0 40 18 40 40s-18 40-40 40c-23 0-41-18-41-40s18-40 41-40zM316 608c22 0 40 18 40 40 0 23-18 41-40 41s-40-18-40-41c0-22 18-40 40-40zM706 254c22 0 40 18 40 41 0 22-18 40-40 40s-40-18-40-40c0-23 18-41 40-41zM638 536c22 0 40 18 40 40s-18 40-40 40-40-18-40-40 18-40 40-40z"/></g></g></svg> \ No newline at end of file diff --git a/static/admin/img/gis/move_vertex_off.7a23bf31ef8a.svg.gz b/static/admin/img/gis/move_vertex_off.7a23bf31ef8a.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..f17ecfbdcda989b78277ecdcff4b1784a00969df GIT binary patch literal 470 zcmb2|=3oE;rvH0GZs*-L;Q1@+RGp^#YMmnA1hKj^?jo6K?8Va;nLSd9w+|}2RpR)4 zL%ZV!CAp6>a)C}^hgY_~{9sbH)yU6ryZx5CC$bkmD7oSP{rL8%%nK7@S|m0%ZGZmn zdcf*DnfQI-S517&C-1f1w{7ahsBoR-*H)M9t*Vr<{!#eicT{cmyV>n(8WpRqPU~TN z)zr6JAR^4^{VD!>_58zr&KwrWJ08e#F}5lSynnQ*`jFGawUT=-oLluPN6FmgO}*L2 zGa?3c3#ArT-Bab^QD4F_<$_9qN^ysG?qLhYbgmf=mz17!=pBhz(=D~5=SZ9~m#UKL z#HnXm6k}^<HpEN{W}T{{*Rym<i(2iMEQ$Dj`|o$w`rcc@yT4uXz-jJ_#s3%aC2V@X zlP!Evbk$>}{`D`WF|kaqnr#}Dzx_zt+^@E-{B3X6-f^Dxacd0Qrz@XV9_jnNAzgU> zHA}%9{r3*ma&fw<_kOxqCofr8W9yl=oLxs-hw=QS9hN%Xk~ZSs&3^B{{PUA;yq$UM zjvC3T2$vNdQ>MKrQ9d+rqie^rHxEy7oV+{heBP;>dw&OaxSWWw-X(TPDWzLrDvMQq ev#-MW=l6Fh>8`)^^s#;G*ZiINGI5zK3=9AvwBV5d literal 0 HcmV?d00001 diff --git a/static/admin/img/gis/move_vertex_off.svg b/static/admin/img/gis/move_vertex_off.svg new file mode 100644 index 0000000..228854f --- /dev/null +++ b/static/admin/img/gis/move_vertex_off.svg @@ -0,0 +1 @@ +<svg width="24" height="22" viewBox="0 0 847 779" xmlns="http://www.w3.org/2000/svg"><g><path fill="#EBECE6" d="M120 1h607c66 0 120 54 120 120v536c0 66-54 120-120 120h-607c-66 0-120-54-120-120v-536c0-66 54-120 120-120z"/><path fill="#9E9E93" d="M120 1h607c66 0 120 54 120 120v536c0 66-54 120-120 120h-607c-66 0-120-54-120-120v-536c0-66 54-120 120-120zm607 25h-607c-26 0-50 11-67 28-17 18-28 41-28 67v536c0 27 11 50 28 68 17 17 41 27 67 27h607c26 0 49-10 67-27 17-18 28-41 28-68v-536c0-26-11-49-28-67-18-17-41-28-67-28z"/><path stroke="#A9A8A4" stroke-width="20" d="M706 295l-68 281"/><path stroke="#E47474" stroke-width="20" d="M316 648l390-353M141 435l175 213"/><path stroke="#C9C9C9" stroke-width="20" d="M319 151l-178 284M706 295l-387-144"/><g fill="#040405"><path d="M319 111c22 0 40 18 40 40s-18 40-40 40-40-18-40-40 18-40 40-40zM141 395c22 0 40 18 40 40s-18 40-40 40c-23 0-41-18-41-40s18-40 41-40zM316 608c22 0 40 18 40 40 0 23-18 41-40 41s-40-18-40-41c0-22 18-40 40-40zM706 254c22 0 40 18 40 41 0 22-18 40-40 40s-40-18-40-40c0-23 18-41 40-41zM638 536c22 0 40 18 40 40s-18 40-40 40-40-18-40-40 18-40 40-40z"/></g></g></svg> \ No newline at end of file diff --git a/static/admin/img/gis/move_vertex_off.svg.gz b/static/admin/img/gis/move_vertex_off.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..f17ecfbdcda989b78277ecdcff4b1784a00969df GIT binary patch literal 470 zcmb2|=3oE;rvH0GZs*-L;Q1@+RGp^#YMmnA1hKj^?jo6K?8Va;nLSd9w+|}2RpR)4 zL%ZV!CAp6>a)C}^hgY_~{9sbH)yU6ryZx5CC$bkmD7oSP{rL8%%nK7@S|m0%ZGZmn zdcf*DnfQI-S517&C-1f1w{7ahsBoR-*H)M9t*Vr<{!#eicT{cmyV>n(8WpRqPU~TN z)zr6JAR^4^{VD!>_58zr&KwrWJ08e#F}5lSynnQ*`jFGawUT=-oLluPN6FmgO}*L2 zGa?3c3#ArT-Bab^QD4F_<$_9qN^ysG?qLhYbgmf=mz17!=pBhz(=D~5=SZ9~m#UKL z#HnXm6k}^<HpEN{W}T{{*Rym<i(2iMEQ$Dj`|o$w`rcc@yT4uXz-jJ_#s3%aC2V@X zlP!Evbk$>}{`D`WF|kaqnr#}Dzx_zt+^@E-{B3X6-f^Dxacd0Qrz@XV9_jnNAzgU> zHA}%9{r3*ma&fw<_kOxqCofr8W9yl=oLxs-hw=QS9hN%Xk~ZSs&3^B{{PUA;yq$UM zjvC3T2$vNdQ>MKrQ9d+rqie^rHxEy7oV+{heBP;>dw&OaxSWWw-X(TPDWzLrDvMQq ev#-MW=l6Fh>8`)^^s#;G*ZiINGI5zK3=9AvwBV5d literal 0 HcmV?d00001 diff --git a/static/admin/img/gis/move_vertex_on.0047eba25b67.svg b/static/admin/img/gis/move_vertex_on.0047eba25b67.svg new file mode 100644 index 0000000..96b87fd --- /dev/null +++ b/static/admin/img/gis/move_vertex_on.0047eba25b67.svg @@ -0,0 +1 @@ +<svg width="24" height="22" viewBox="0 0 847 779" xmlns="http://www.w3.org/2000/svg"><g><path fill="#F1C02A" d="M120 1h607c66 0 120 54 120 120v536c0 66-54 120-120 120h-607c-66 0-120-54-120-120v-536c0-66 54-120 120-120z"/><path fill="#9E9E93" d="M120 1h607c66 0 120 54 120 120v536c0 66-54 120-120 120h-607c-66 0-120-54-120-120v-536c0-66 54-120 120-120zm607 25h-607c-26 0-50 11-67 28-17 18-28 41-28 67v536c0 27 11 50 28 68 17 17 41 27 67 27h607c26 0 49-10 67-27 17-18 28-41 28-68v-536c0-26-11-49-28-67-18-17-41-28-67-28z"/><path stroke="#A9A8A4" stroke-width="20" d="M706 295l-68 281"/><path stroke="#E47474" stroke-width="20" d="M316 648l390-353M141 435l175 213"/><path stroke="#C9A741" stroke-width="20" d="M319 151l-178 284M706 295l-387-144"/><g fill="#040405"><path d="M319 111c22 0 40 18 40 40s-18 40-40 40-40-18-40-40 18-40 40-40zM141 395c22 0 40 18 40 40s-18 40-40 40c-23 0-41-18-41-40s18-40 41-40zM316 608c22 0 40 18 40 40 0 23-18 41-40 41s-40-18-40-41c0-22 18-40 40-40zM706 254c22 0 40 18 40 41 0 22-18 40-40 40s-40-18-40-40c0-23 18-41 40-41zM638 536c22 0 40 18 40 40s-18 40-40 40-40-18-40-40 18-40 40-40z"/></g></g></svg> \ No newline at end of file diff --git a/static/admin/img/gis/move_vertex_on.0047eba25b67.svg.gz b/static/admin/img/gis/move_vertex_on.0047eba25b67.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..8047dfd8dc24b074b40b980d87a9805696201c35 GIT binary patch literal 472 zcmb2|=3oE;rvH0GZs*-L;Q1@+RGX&zYMmnA1JS$Dc8ffMt!L~O*(xah^Vh^po0swK zYPaQS68+fm{6mM(CaFGMpWnwfuAW-Rwd?M_w{CILtjGW6{i>^2J(Z33q-%$vc188O zdfu(Cj(vO@9qN0z#QNs#!`ac2YfFz7W$n$nzIuB5#^&X<_piTt#(p>RvPQ+4t8G1O zubTR93q*uDy+6fY@1B1+%$dU?dB+1;F2+_xf%lI#RUdJhxK`5Uvfrv-8A|s*Z}@-n zh;i_NAFWv}uPUb-7|fZV6yP-Zz{E3(dRuuPv&_*<VDjvqqr5{Pd81y|10$j8UX3Xo zQ(VG~gxgBKr7{(H`iX{2+F>wllF+O#_f{v?*#5awxP8{0C2jW)^E~+3`eJ8&AiKfM z?=j8V7ft`(bCrv~sLRTs_th+W%e}k~UhCJ@U2;4(vv=;k<KiBFI#t2ncD~n}9p%+# zA2a6)AN=-*Z_DF{SA!n$&(Fy2F`2Sn{p6c34XLfF4<e<^+fxmjmp{6f_P^XJe&5s6 z&zEse*LUXc<`A8DNoejm7Yn0p92e)<#z-jcjQ)Jl*K&9H{8o>aGfNkHE9yFJ;|TOz ha9QmJ%cq)uYqc+ZS`};eFF4{qTdvP^`AilD1^@tE=6L`B literal 0 HcmV?d00001 diff --git a/static/admin/img/gis/move_vertex_on.svg b/static/admin/img/gis/move_vertex_on.svg new file mode 100644 index 0000000..96b87fd --- /dev/null +++ b/static/admin/img/gis/move_vertex_on.svg @@ -0,0 +1 @@ +<svg width="24" height="22" viewBox="0 0 847 779" xmlns="http://www.w3.org/2000/svg"><g><path fill="#F1C02A" d="M120 1h607c66 0 120 54 120 120v536c0 66-54 120-120 120h-607c-66 0-120-54-120-120v-536c0-66 54-120 120-120z"/><path fill="#9E9E93" d="M120 1h607c66 0 120 54 120 120v536c0 66-54 120-120 120h-607c-66 0-120-54-120-120v-536c0-66 54-120 120-120zm607 25h-607c-26 0-50 11-67 28-17 18-28 41-28 67v536c0 27 11 50 28 68 17 17 41 27 67 27h607c26 0 49-10 67-27 17-18 28-41 28-68v-536c0-26-11-49-28-67-18-17-41-28-67-28z"/><path stroke="#A9A8A4" stroke-width="20" d="M706 295l-68 281"/><path stroke="#E47474" stroke-width="20" d="M316 648l390-353M141 435l175 213"/><path stroke="#C9A741" stroke-width="20" d="M319 151l-178 284M706 295l-387-144"/><g fill="#040405"><path d="M319 111c22 0 40 18 40 40s-18 40-40 40-40-18-40-40 18-40 40-40zM141 395c22 0 40 18 40 40s-18 40-40 40c-23 0-41-18-41-40s18-40 41-40zM316 608c22 0 40 18 40 40 0 23-18 41-40 41s-40-18-40-41c0-22 18-40 40-40zM706 254c22 0 40 18 40 41 0 22-18 40-40 40s-40-18-40-40c0-23 18-41 40-41zM638 536c22 0 40 18 40 40s-18 40-40 40-40-18-40-40 18-40 40-40z"/></g></g></svg> \ No newline at end of file diff --git a/static/admin/img/gis/move_vertex_on.svg.gz b/static/admin/img/gis/move_vertex_on.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..8047dfd8dc24b074b40b980d87a9805696201c35 GIT binary patch literal 472 zcmb2|=3oE;rvH0GZs*-L;Q1@+RGX&zYMmnA1JS$Dc8ffMt!L~O*(xah^Vh^po0swK zYPaQS68+fm{6mM(CaFGMpWnwfuAW-Rwd?M_w{CILtjGW6{i>^2J(Z33q-%$vc188O zdfu(Cj(vO@9qN0z#QNs#!`ac2YfFz7W$n$nzIuB5#^&X<_piTt#(p>RvPQ+4t8G1O zubTR93q*uDy+6fY@1B1+%$dU?dB+1;F2+_xf%lI#RUdJhxK`5Uvfrv-8A|s*Z}@-n zh;i_NAFWv}uPUb-7|fZV6yP-Zz{E3(dRuuPv&_*<VDjvqqr5{Pd81y|10$j8UX3Xo zQ(VG~gxgBKr7{(H`iX{2+F>wllF+O#_f{v?*#5awxP8{0C2jW)^E~+3`eJ8&AiKfM z?=j8V7ft`(bCrv~sLRTs_th+W%e}k~UhCJ@U2;4(vv=;k<KiBFI#t2ncD~n}9p%+# zA2a6)AN=-*Z_DF{SA!n$&(Fy2F`2Sn{p6c34XLfF4<e<^+fxmjmp{6f_P^XJe&5s6 z&zEse*LUXc<`A8DNoejm7Yn0p92e)<#z-jcjQ)Jl*K&9H{8o>aGfNkHE9yFJ;|TOz ha9QmJ%cq)uYqc+ZS`};eFF4{qTdvP^`AilD1^@tE=6L`B literal 0 HcmV?d00001 diff --git a/static/admin/img/icon-addlink.d519b3bab011.svg b/static/admin/img/icon-addlink.d519b3bab011.svg new file mode 100644 index 0000000..e004fb1 --- /dev/null +++ b/static/admin/img/icon-addlink.d519b3bab011.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#70bf2b" d="M1600 796v192q0 40-28 68t-68 28h-416v416q0 40-28 68t-68 28h-192q-40 0-68-28t-28-68v-416h-416q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h416v-416q0-40 28-68t68-28h192q40 0 68 28t28 68v416h416q40 0 68 28t28 68z"/> +</svg> diff --git a/static/admin/img/icon-addlink.d519b3bab011.svg.gz b/static/admin/img/icon-addlink.d519b3bab011.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..81cea0d94e08178e43b866608ff6766952fc3507 GIT binary patch literal 206 zcmb2|=3oE;rvJJ9wtR;Scv`>DJ7iScIXNt|dlugt873B!si*c&4Vg2~qQ}5u)90r@ z_kLM#;54W2jqEF~gY%bN{Jfq2vSwa>w=)yd-4Zo<j?=08_Q_N|`|Y+;;;~iO>)XX4 zZ5<&|9nOpw?tg#t(B|ys!=cXYn=KV&WZ!L3ZCbY3vHY21KyYT%2Hok~STFzDbj@tZ zuXdNfYnpz$JUW7x>UF5R{&y%xS>gPgh2oRf{80Q9v(4e#6B&n39Z%Tz1oFD-*UNSB N*PUOJ?#;-+0077oVY~nU literal 0 HcmV?d00001 diff --git a/static/admin/img/icon-addlink.svg b/static/admin/img/icon-addlink.svg new file mode 100644 index 0000000..e004fb1 --- /dev/null +++ b/static/admin/img/icon-addlink.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#70bf2b" d="M1600 796v192q0 40-28 68t-68 28h-416v416q0 40-28 68t-68 28h-192q-40 0-68-28t-28-68v-416h-416q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h416v-416q0-40 28-68t68-28h192q40 0 68 28t28 68v416h416q40 0 68 28t28 68z"/> +</svg> diff --git a/static/admin/img/icon-addlink.svg.gz b/static/admin/img/icon-addlink.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..81cea0d94e08178e43b866608ff6766952fc3507 GIT binary patch literal 206 zcmb2|=3oE;rvJJ9wtR;Scv`>DJ7iScIXNt|dlugt873B!si*c&4Vg2~qQ}5u)90r@ z_kLM#;54W2jqEF~gY%bN{Jfq2vSwa>w=)yd-4Zo<j?=08_Q_N|`|Y+;;;~iO>)XX4 zZ5<&|9nOpw?tg#t(B|ys!=cXYn=KV&WZ!L3ZCbY3vHY21KyYT%2Hok~STFzDbj@tZ zuXdNfYnpz$JUW7x>UF5R{&y%xS>gPgh2oRf{80Q9v(4e#6B&n39Z%Tz1oFD-*UNSB N*PUOJ?#;-+0077oVY~nU literal 0 HcmV?d00001 diff --git a/static/admin/img/icon-alert.034cc7d8a67f.svg b/static/admin/img/icon-alert.034cc7d8a67f.svg new file mode 100644 index 0000000..e51ea83 --- /dev/null +++ b/static/admin/img/icon-alert.034cc7d8a67f.svg @@ -0,0 +1,3 @@ +<svg width="14" height="14" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#efb80b" d="M1024 1375v-190q0-14-9.5-23.5t-22.5-9.5h-192q-13 0-22.5 9.5t-9.5 23.5v190q0 14 9.5 23.5t22.5 9.5h192q13 0 22.5-9.5t9.5-23.5zm-2-374l18-459q0-12-10-19-13-11-24-11h-220q-11 0-24 11-10 7-10 21l17 457q0 10 10 16.5t24 6.5h185q14 0 23.5-6.5t10.5-16.5zm-14-934l768 1408q35 63-2 126-17 29-46.5 46t-63.5 17h-1536q-34 0-63.5-17t-46.5-46q-37-63-2-126l768-1408q17-31 47-49t65-18 65 18 47 49z"/> +</svg> diff --git a/static/admin/img/icon-alert.034cc7d8a67f.svg.gz b/static/admin/img/icon-alert.034cc7d8a67f.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..a7e64ac06ae1f1b7d9a508931a3fd91bc6831a81 GIT binary patch literal 329 zcmb2|=3oE;rvIjar~3{o@a*}nt@G^-OLOCftg0Ko>yCug258<ji=Gnl_t(~7S10A< z{`8)kcFT;<On27Zt7sO`H@$e}`-)vM&)47HY%Zn~a4L_H`TXk-zhC&S{QB?aw$C=^ zoAdMPpI?j2jutf8&3oY6zhLe;dWSE}?th$l|K{FC=lp#qt=K+k`gq*z6YDfIXPlew z<oaA?O7_G>(i3fNsIo_{W?HZ(^Ce4CgmI~==-bO?5ldgK`nPM5^Zbehe3mI&%RHJQ zYbJ2Wa*KW3{K)5(&g4k}3Yr#D8jS5ruDut&I#Y2~zPOv@3BAV)#7=lE5HY;wUL_aw zCMD~3ubsme4ee4v*DI+hicH750)M4m-PHKtaYvlV^f@119TJ*Q;v_mj-6iy>>r|mC mCchIq-7;S&bcLu(KKNtwHgEG){#&{K7&A}36#2o(zyJWfo|_v0 literal 0 HcmV?d00001 diff --git a/static/admin/img/icon-alert.svg b/static/admin/img/icon-alert.svg new file mode 100644 index 0000000..e51ea83 --- /dev/null +++ b/static/admin/img/icon-alert.svg @@ -0,0 +1,3 @@ +<svg width="14" height="14" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#efb80b" d="M1024 1375v-190q0-14-9.5-23.5t-22.5-9.5h-192q-13 0-22.5 9.5t-9.5 23.5v190q0 14 9.5 23.5t22.5 9.5h192q13 0 22.5-9.5t9.5-23.5zm-2-374l18-459q0-12-10-19-13-11-24-11h-220q-11 0-24 11-10 7-10 21l17 457q0 10 10 16.5t24 6.5h185q14 0 23.5-6.5t10.5-16.5zm-14-934l768 1408q35 63-2 126-17 29-46.5 46t-63.5 17h-1536q-34 0-63.5-17t-46.5-46q-37-63-2-126l768-1408q17-31 47-49t65-18 65 18 47 49z"/> +</svg> diff --git a/static/admin/img/icon-alert.svg.gz b/static/admin/img/icon-alert.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..a7e64ac06ae1f1b7d9a508931a3fd91bc6831a81 GIT binary patch literal 329 zcmb2|=3oE;rvIjar~3{o@a*}nt@G^-OLOCftg0Ko>yCug258<ji=Gnl_t(~7S10A< z{`8)kcFT;<On27Zt7sO`H@$e}`-)vM&)47HY%Zn~a4L_H`TXk-zhC&S{QB?aw$C=^ zoAdMPpI?j2jutf8&3oY6zhLe;dWSE}?th$l|K{FC=lp#qt=K+k`gq*z6YDfIXPlew z<oaA?O7_G>(i3fNsIo_{W?HZ(^Ce4CgmI~==-bO?5ldgK`nPM5^Zbehe3mI&%RHJQ zYbJ2Wa*KW3{K)5(&g4k}3Yr#D8jS5ruDut&I#Y2~zPOv@3BAV)#7=lE5HY;wUL_aw zCMD~3ubsme4ee4v*DI+hicH750)M4m-PHKtaYvlV^f@119TJ*Q;v_mj-6iy>>r|mC mCchIq-7;S&bcLu(KKNtwHgEG){#&{K7&A}36#2o(zyJWfo|_v0 literal 0 HcmV?d00001 diff --git a/static/admin/img/icon-calendar.ac7aea671bea.svg b/static/admin/img/icon-calendar.ac7aea671bea.svg new file mode 100644 index 0000000..97910a9 --- /dev/null +++ b/static/admin/img/icon-calendar.ac7aea671bea.svg @@ -0,0 +1,9 @@ +<svg width="16" height="32" viewBox="0 0 1792 3584" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <defs> + <g id="icon"> + <path d="M192 1664h288v-288h-288v288zm352 0h320v-288h-320v288zm-352-352h288v-320h-288v320zm352 0h320v-320h-320v320zm-352-384h288v-288h-288v288zm736 736h320v-288h-320v288zm-384-736h320v-288h-320v288zm768 736h288v-288h-288v288zm-384-352h320v-320h-320v320zm-352-864v-288q0-13-9.5-22.5t-22.5-9.5h-64q-13 0-22.5 9.5t-9.5 22.5v288q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5-9.5t9.5-22.5zm736 864h288v-320h-288v320zm-384-384h320v-288h-320v288zm384 0h288v-288h-288v288zm32-480v-288q0-13-9.5-22.5t-22.5-9.5h-64q-13 0-22.5 9.5t-9.5 22.5v288q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5-9.5t9.5-22.5zm384-64v1280q0 52-38 90t-90 38h-1408q-52 0-90-38t-38-90v-1280q0-52 38-90t90-38h128v-96q0-66 47-113t113-47h64q66 0 113 47t47 113v96h384v-96q0-66 47-113t113-47h64q66 0 113 47t47 113v96h128q52 0 90 38t38 90z"/> + </g> + </defs> + <use xlink:href="#icon" x="0" y="0" fill="#447e9b" /> + <use xlink:href="#icon" x="0" y="1792" fill="#003366" /> +</svg> diff --git a/static/admin/img/icon-calendar.ac7aea671bea.svg.gz b/static/admin/img/icon-calendar.ac7aea671bea.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..18b5080b655172bcf86c4acff1a933d06769e972 GIT binary patch literal 438 zcmb2|=3oE;rvH0`ef<v`@a+Apy{6#Yr=2D<!}#v}6g;qNSyE0<YuSg_8}Ev8uJkB) zC~&$`|9oZP>#r;G6JMCAUO&Xbxbx+$n5>6u8un$k-9EfiOv+@2R%F5H7p!yUm;Vmd zEz;E2UfPxz!IM{5kvsKjl(tTV<tD55yZ&Cj<2X4e=uFpa?S`+*ZqCy<xTQ5OxclA5 z4dTj8H%`}{Y<Mx(kzb8ves0g+BNH^g?68}6_fpfjbFa7^C543~qZV^K3~V`RE+{<3 z(6H;#8{eti4cY(Jy?DwWBdT;dO>0w+&c7!rZ0Bb!o_6fymI$wG@zaMUZi{5Aci}Q| zp3rfGVaw}CjuU<!Gx<`dOypYTl)B2+&e(77zkAy*>X)TIo5_*v{oHQCRJ&L8^=y$x z-$_cFuKKy!=~6^kvvc*a*A-K~NGmkO9Bhr$cV{%@5lJ&%wAY8RQ{X`OC5i9?&-jV# zM=mH>eGL65np%6PUh$WG_J?`OGnuwU-uT=eFkLZFx4(DRv$VfuSq;xKr^e6D)m>NF x(2y2>!1{RZ_S=dNYp*V0XM7cIHS3rD%4_FZ4_q?s{dxAPdSc|y3_BJE1^`gH)K&lh literal 0 HcmV?d00001 diff --git a/static/admin/img/icon-calendar.svg b/static/admin/img/icon-calendar.svg new file mode 100644 index 0000000..97910a9 --- /dev/null +++ b/static/admin/img/icon-calendar.svg @@ -0,0 +1,9 @@ +<svg width="16" height="32" viewBox="0 0 1792 3584" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <defs> + <g id="icon"> + <path d="M192 1664h288v-288h-288v288zm352 0h320v-288h-320v288zm-352-352h288v-320h-288v320zm352 0h320v-320h-320v320zm-352-384h288v-288h-288v288zm736 736h320v-288h-320v288zm-384-736h320v-288h-320v288zm768 736h288v-288h-288v288zm-384-352h320v-320h-320v320zm-352-864v-288q0-13-9.5-22.5t-22.5-9.5h-64q-13 0-22.5 9.5t-9.5 22.5v288q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5-9.5t9.5-22.5zm736 864h288v-320h-288v320zm-384-384h320v-288h-320v288zm384 0h288v-288h-288v288zm32-480v-288q0-13-9.5-22.5t-22.5-9.5h-64q-13 0-22.5 9.5t-9.5 22.5v288q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5-9.5t9.5-22.5zm384-64v1280q0 52-38 90t-90 38h-1408q-52 0-90-38t-38-90v-1280q0-52 38-90t90-38h128v-96q0-66 47-113t113-47h64q66 0 113 47t47 113v96h384v-96q0-66 47-113t113-47h64q66 0 113 47t47 113v96h128q52 0 90 38t38 90z"/> + </g> + </defs> + <use xlink:href="#icon" x="0" y="0" fill="#447e9b" /> + <use xlink:href="#icon" x="0" y="1792" fill="#003366" /> +</svg> diff --git a/static/admin/img/icon-calendar.svg.gz b/static/admin/img/icon-calendar.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..18b5080b655172bcf86c4acff1a933d06769e972 GIT binary patch literal 438 zcmb2|=3oE;rvH0`ef<v`@a+Apy{6#Yr=2D<!}#v}6g;qNSyE0<YuSg_8}Ev8uJkB) zC~&$`|9oZP>#r;G6JMCAUO&Xbxbx+$n5>6u8un$k-9EfiOv+@2R%F5H7p!yUm;Vmd zEz;E2UfPxz!IM{5kvsKjl(tTV<tD55yZ&Cj<2X4e=uFpa?S`+*ZqCy<xTQ5OxclA5 z4dTj8H%`}{Y<Mx(kzb8ves0g+BNH^g?68}6_fpfjbFa7^C543~qZV^K3~V`RE+{<3 z(6H;#8{eti4cY(Jy?DwWBdT;dO>0w+&c7!rZ0Bb!o_6fymI$wG@zaMUZi{5Aci}Q| zp3rfGVaw}CjuU<!Gx<`dOypYTl)B2+&e(77zkAy*>X)TIo5_*v{oHQCRJ&L8^=y$x z-$_cFuKKy!=~6^kvvc*a*A-K~NGmkO9Bhr$cV{%@5lJ&%wAY8RQ{X`OC5i9?&-jV# zM=mH>eGL65np%6PUh$WG_J?`OGnuwU-uT=eFkLZFx4(DRv$VfuSq;xKr^e6D)m>NF x(2y2>!1{RZ_S=dNYp*V0XM7cIHS3rD%4_FZ4_q?s{dxAPdSc|y3_BJE1^`gH)K&lh literal 0 HcmV?d00001 diff --git a/static/admin/img/icon-changelink.18d2fd706348.svg b/static/admin/img/icon-changelink.18d2fd706348.svg new file mode 100644 index 0000000..bbb137a --- /dev/null +++ b/static/admin/img/icon-changelink.18d2fd706348.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#efb80b" d="M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z"/> +</svg> diff --git a/static/admin/img/icon-changelink.18d2fd706348.svg.gz b/static/admin/img/icon-changelink.18d2fd706348.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..48960ffe07d13d9bfa0cf180ee2a14ddcc78fc25 GIT binary patch literal 269 zcmb2|=3oE;rvJJVZs#2~;AngQTja#<WrhOtmn{?DecyS_tAi8gY>iyJ<ke;V<x_tM zJh(5hXZLyWh+mJVSUV>v%>U&*FYe==`P0_FUTiF;6X3DOin)K`pL^Dmm%sdW)8zD~ z9PyiR|MhsIv!!!0zDYOSeVcx&;GOr&Gsj=nbbL#AaAW3sGr<YM@j?rwx}z^<Et;8g z;z(iGreo(1ZcKP&5tULW{nEyR(aG_;k%n^CvW$yNpKre~HE&xqNlW(dD&^eOnn8~) zO=4$VY@i`&I&*b3pB<NqeN;h{kiyNTC$<`2_iQ@$<gSLC>Z(Om>c3X$DQ|ocb>LE8 dRkY9*xi2PX>o%{RzvccPW~J>Je`**R7yy<Ch4=sf literal 0 HcmV?d00001 diff --git a/static/admin/img/icon-changelink.svg b/static/admin/img/icon-changelink.svg new file mode 100644 index 0000000..bbb137a --- /dev/null +++ b/static/admin/img/icon-changelink.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#efb80b" d="M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z"/> +</svg> diff --git a/static/admin/img/icon-changelink.svg.gz b/static/admin/img/icon-changelink.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..48960ffe07d13d9bfa0cf180ee2a14ddcc78fc25 GIT binary patch literal 269 zcmb2|=3oE;rvJJVZs#2~;AngQTja#<WrhOtmn{?DecyS_tAi8gY>iyJ<ke;V<x_tM zJh(5hXZLyWh+mJVSUV>v%>U&*FYe==`P0_FUTiF;6X3DOin)K`pL^Dmm%sdW)8zD~ z9PyiR|MhsIv!!!0zDYOSeVcx&;GOr&Gsj=nbbL#AaAW3sGr<YM@j?rwx}z^<Et;8g z;z(iGreo(1ZcKP&5tULW{nEyR(aG_;k%n^CvW$yNpKre~HE&xqNlW(dD&^eOnn8~) zO=4$VY@i`&I&*b3pB<NqeN;h{kiyNTC$<`2_iQ@$<gSLC>Z(Om>c3X$DQ|ocb>LE8 dRkY9*xi2PX>o%{RzvccPW~J>Je`**R7yy<Ch4=sf literal 0 HcmV?d00001 diff --git a/static/admin/img/icon-clock.e1d4dfac3f2b.svg b/static/admin/img/icon-clock.e1d4dfac3f2b.svg new file mode 100644 index 0000000..bf9985d --- /dev/null +++ b/static/admin/img/icon-clock.e1d4dfac3f2b.svg @@ -0,0 +1,9 @@ +<svg width="16" height="32" viewBox="0 0 1792 3584" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <defs> + <g id="icon"> + <path d="M1024 544v448q0 14-9 23t-23 9h-320q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h224v-352q0-14 9-23t23-9h64q14 0 23 9t9 23zm416 352q0-148-73-273t-198-198-273-73-273 73-198 198-73 273 73 273 198 198 273 73 273-73 198-198 73-273zm224 0q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + </defs> + <use xlink:href="#icon" x="0" y="0" fill="#447e9b" /> + <use xlink:href="#icon" x="0" y="1792" fill="#003366" /> +</svg> diff --git a/static/admin/img/icon-clock.e1d4dfac3f2b.svg.gz b/static/admin/img/icon-clock.e1d4dfac3f2b.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..c21e7e7907cb9893d3d0da1cd97d105d226c00ae GIT binary patch literal 357 zcmb2|=3oE;rvJT@&K5N*h_rsM>@qItRd~QJd3MonJD1xMrCD`LXFYpa?U-ylS8tcV zyT9jlhR^W6$ZvYA?DeckM>U;;x0XKkS|)n<LfGTaAES&oJ1sVIS)JrPTzX&j*Cf+( zbFVq|JeKISvWm-ExMWI`)VXP2w`TLp*Gnd6ujSCXy`~{4`fZhbK*Zv^)7I45%iVD4 zm>U<%yhwjz2wSINv*FK~=TdgGUh324y<M>O$;{(ylZx_Ww{PLMF-?ED^86fesikKQ zlrE|(F8Y=ABk!E~zPG+}9=$tLxoqdD7v&qz9(F%@#z9)J!t18XA+yWuN7SYM1b@x- zcW+uEt(jS=V_GuLh4ZfV=D?;6pBfw<iB#TRa{l$AKNTMqB(FU5=#X>0&Z*wcO0h+J zmj%Cn6q#S!YOt-ecx9PtHCJ&{y%JA+;@z#W?oEb~srMz0?0@y=ag^86D^|YFnGfSH Qr+wvp%dpmNDH8(&03^t-<NyEw literal 0 HcmV?d00001 diff --git a/static/admin/img/icon-clock.svg b/static/admin/img/icon-clock.svg new file mode 100644 index 0000000..bf9985d --- /dev/null +++ b/static/admin/img/icon-clock.svg @@ -0,0 +1,9 @@ +<svg width="16" height="32" viewBox="0 0 1792 3584" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <defs> + <g id="icon"> + <path d="M1024 544v448q0 14-9 23t-23 9h-320q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h224v-352q0-14 9-23t23-9h64q14 0 23 9t9 23zm416 352q0-148-73-273t-198-198-273-73-273 73-198 198-73 273 73 273 198 198 273 73 273-73 198-198 73-273zm224 0q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + </defs> + <use xlink:href="#icon" x="0" y="0" fill="#447e9b" /> + <use xlink:href="#icon" x="0" y="1792" fill="#003366" /> +</svg> diff --git a/static/admin/img/icon-clock.svg.gz b/static/admin/img/icon-clock.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..c21e7e7907cb9893d3d0da1cd97d105d226c00ae GIT binary patch literal 357 zcmb2|=3oE;rvJT@&K5N*h_rsM>@qItRd~QJd3MonJD1xMrCD`LXFYpa?U-ylS8tcV zyT9jlhR^W6$ZvYA?DeckM>U;;x0XKkS|)n<LfGTaAES&oJ1sVIS)JrPTzX&j*Cf+( zbFVq|JeKISvWm-ExMWI`)VXP2w`TLp*Gnd6ujSCXy`~{4`fZhbK*Zv^)7I45%iVD4 zm>U<%yhwjz2wSINv*FK~=TdgGUh324y<M>O$;{(ylZx_Ww{PLMF-?ED^86fesikKQ zlrE|(F8Y=ABk!E~zPG+}9=$tLxoqdD7v&qz9(F%@#z9)J!t18XA+yWuN7SYM1b@x- zcW+uEt(jS=V_GuLh4ZfV=D?;6pBfw<iB#TRa{l$AKNTMqB(FU5=#X>0&Z*wcO0h+J zmj%Cn6q#S!YOt-ecx9PtHCJ&{y%JA+;@z#W?oEb~srMz0?0@y=ag^86D^|YFnGfSH Qr+wvp%dpmNDH8(&03^t-<NyEw literal 0 HcmV?d00001 diff --git a/static/admin/img/icon-deletelink.564ef9dc3854.svg b/static/admin/img/icon-deletelink.564ef9dc3854.svg new file mode 100644 index 0000000..4059b15 --- /dev/null +++ b/static/admin/img/icon-deletelink.564ef9dc3854.svg @@ -0,0 +1,3 @@ +<svg width="14" height="14" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#dd4646" d="M1490 1322q0 40-28 68l-136 136q-28 28-68 28t-68-28l-294-294-294 294q-28 28-68 28t-68-28l-136-136q-28-28-28-68t28-68l294-294-294-294q-28-28-28-68t28-68l136-136q28-28 68-28t68 28l294 294 294-294q28-28 68-28t68 28l136 136q28 28 28 68t-28 68l-294 294 294 294q28 28 28 68z"/> +</svg> diff --git a/static/admin/img/icon-deletelink.564ef9dc3854.svg.gz b/static/admin/img/icon-deletelink.564ef9dc3854.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..4b93e9f3b3bd5ea621ad1a17922ad4d25c7b8c5d GIT binary patch literal 221 zcmb2|=3oE;rvJGUeEAM32(*5;J(?1uJVhwS_vN9z?FK8Ssr|6m>|H)R$<WPr24mZI zTeerfFEqZ7-o#ein()0g{pD7<UwiM*ac^c~d9vE;Sc`$&-IsY6gkrDFseV6wU&Oq8 z+38Lkay%PPGQ2w7rz2DKoJa3gSmsi}sOH--p$FGZ_@w2)spfrQX>#R4=fL>odv#{c zGiud*BRhGj7o+08Zl<$o?UgSkC6&qB%>J40xhPq3k*aIGc{~^AztAQ3lEVe~HTS-5 cZWI4|&1Qmmq-|})WLw5Xx8JyTFfuRz0R1Op00000 literal 0 HcmV?d00001 diff --git a/static/admin/img/icon-deletelink.svg b/static/admin/img/icon-deletelink.svg new file mode 100644 index 0000000..4059b15 --- /dev/null +++ b/static/admin/img/icon-deletelink.svg @@ -0,0 +1,3 @@ +<svg width="14" height="14" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#dd4646" d="M1490 1322q0 40-28 68l-136 136q-28 28-68 28t-68-28l-294-294-294 294q-28 28-68 28t-68-28l-136-136q-28-28-28-68t28-68l294-294-294-294q-28-28-28-68t28-68l136-136q28-28 68-28t68 28l294 294 294-294q28-28 68-28t68 28l136 136q28 28 28 68t-28 68l-294 294 294 294q28 28 28 68z"/> +</svg> diff --git a/static/admin/img/icon-deletelink.svg.gz b/static/admin/img/icon-deletelink.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..4b93e9f3b3bd5ea621ad1a17922ad4d25c7b8c5d GIT binary patch literal 221 zcmb2|=3oE;rvJGUeEAM32(*5;J(?1uJVhwS_vN9z?FK8Ssr|6m>|H)R$<WPr24mZI zTeerfFEqZ7-o#ein()0g{pD7<UwiM*ac^c~d9vE;Sc`$&-IsY6gkrDFseV6wU&Oq8 z+38Lkay%PPGQ2w7rz2DKoJa3gSmsi}sOH--p$FGZ_@w2)spfrQX>#R4=fL>odv#{c zGiud*BRhGj7o+08Zl<$o?UgSkC6&qB%>J40xhPq3k*aIGc{~^AztAQ3lEVe~HTS-5 cZWI4|&1Qmmq-|})WLw5Xx8JyTFfuRz0R1Op00000 literal 0 HcmV?d00001 diff --git a/static/admin/img/icon-no.439e821418cd.svg b/static/admin/img/icon-no.439e821418cd.svg new file mode 100644 index 0000000..2e0d383 --- /dev/null +++ b/static/admin/img/icon-no.439e821418cd.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#dd4646" d="M1277 1122q0-26-19-45l-181-181 181-181q19-19 19-45 0-27-19-46l-90-90q-19-19-46-19-26 0-45 19l-181 181-181-181q-19-19-45-19-27 0-46 19l-90 90q-19 19-19 46 0 26 19 45l181 181-181 181q-19 19-19 45 0 27 19 46l90 90q19 19 46 19 26 0 45-19l181-181 181 181q19 19 45 19 27 0 46-19l90-90q19-19 19-46zm387-226q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> +</svg> diff --git a/static/admin/img/icon-no.439e821418cd.svg.gz b/static/admin/img/icon-no.439e821418cd.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..251b7df996027858d7b6f3e17b90f6fae16778a9 GIT binary patch literal 297 zcmb2|=3oE;rvJVZ@Afq-2)MofEfRktTVz91&KB|N{rnp{?`ApG-<fpl%gb_!sO&|` zGv5~^BvtQ~HR!LEv0A9zm}oE8HskvCLi_r;@8<>tTsSAK$MikfBG%gQNX1W`)0OkO zcWRxhZ@;9m)Jv%AE?b7aec^%k5>D!Nzv{BLhb?%2WV_ip$LwS^)!wPMPUp%l$t$V) z_{Z<cH946ki{o>6FKJh)oisEJGM&b8XbXQfYj#}1*#+JUQZHzy@PG2W5@w*u9GkxM zVDRThuZ~zg%Q+#&ckt1YfCrBcc{SJsZ8Lr*G;N*yCztn?Zy!gP`bj0LTX_b?hpw2l zYlX7!gKnu9)$I<6ajH7c&+k&nXIm|ET2DtLtWM{o^OW7bv+LgEedeEkP=wcjiGcwC DT-S%4 literal 0 HcmV?d00001 diff --git a/static/admin/img/icon-no.svg b/static/admin/img/icon-no.svg new file mode 100644 index 0000000..2e0d383 --- /dev/null +++ b/static/admin/img/icon-no.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#dd4646" d="M1277 1122q0-26-19-45l-181-181 181-181q19-19 19-45 0-27-19-46l-90-90q-19-19-46-19-26 0-45 19l-181 181-181-181q-19-19-45-19-27 0-46 19l-90 90q-19 19-19 46 0 26 19 45l181 181-181 181q-19 19-19 45 0 27 19 46l90 90q19 19 46 19 26 0 45-19l181-181 181 181q19 19 45 19 27 0 46-19l90-90q19-19 19-46zm387-226q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> +</svg> diff --git a/static/admin/img/icon-no.svg.gz b/static/admin/img/icon-no.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..251b7df996027858d7b6f3e17b90f6fae16778a9 GIT binary patch literal 297 zcmb2|=3oE;rvJVZ@Afq-2)MofEfRktTVz91&KB|N{rnp{?`ApG-<fpl%gb_!sO&|` zGv5~^BvtQ~HR!LEv0A9zm}oE8HskvCLi_r;@8<>tTsSAK$MikfBG%gQNX1W`)0OkO zcWRxhZ@;9m)Jv%AE?b7aec^%k5>D!Nzv{BLhb?%2WV_ip$LwS^)!wPMPUp%l$t$V) z_{Z<cH946ki{o>6FKJh)oisEJGM&b8XbXQfYj#}1*#+JUQZHzy@PG2W5@w*u9GkxM zVDRThuZ~zg%Q+#&ckt1YfCrBcc{SJsZ8Lr*G;N*yCztn?Zy!gP`bj0LTX_b?hpw2l zYlX7!gKnu9)$I<6ajH7c&+k&nXIm|ET2DtLtWM{o^OW7bv+LgEedeEkP=wcjiGcwC DT-S%4 literal 0 HcmV?d00001 diff --git a/static/admin/img/icon-unknown-alt.81536e128bb6.svg b/static/admin/img/icon-unknown-alt.81536e128bb6.svg new file mode 100644 index 0000000..1c6b99f --- /dev/null +++ b/static/admin/img/icon-unknown-alt.81536e128bb6.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#ffffff" d="M1024 1376v-192q0-14-9-23t-23-9h-192q-14 0-23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23-9t9-23zm256-672q0-88-55.5-163t-138.5-116-170-41q-243 0-371 213-15 24 8 42l132 100q7 6 19 6 16 0 25-12 53-68 86-92 34-24 86-24 48 0 85.5 26t37.5 59q0 38-20 61t-68 45q-63 28-115.5 86.5t-52.5 125.5v36q0 14 9 23t23 9h192q14 0 23-9t9-23q0-19 21.5-49.5t54.5-49.5q32-18 49-28.5t46-35 44.5-48 28-60.5 12.5-81zm384 192q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> +</svg> diff --git a/static/admin/img/icon-unknown-alt.81536e128bb6.svg.gz b/static/admin/img/icon-unknown-alt.81536e128bb6.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..3f254adb089f47acc798e28d925ef53ce41df8cb GIT binary patch literal 377 zcmb2|=3oE;rvI%$zWKKec=kRI7q~TZqlecPlOvXI_Q@MA$dysZd=<8#`OmM3eiOc$ zF)v&BUC#dL-Rm_CPk&rGrZ|B`BEG+U<K4eMf9(3RE2dpQk?HHyaN!44c6;l26La1^ zPQR{udQ)sl^-r4;ndCP*i8t~Y%H->BapWJroXKH-@0$97(*kwDPgqp;p7WTxykp7+ zCGXARuXi-HIc_n&(k2@5ER?hD*Gfx6t0zVuHawHeOF!3jtNK!q!Sh_VAa9?bJF2d) zl+|WUm>j|Ql5+-&X7kq&g^!&_j`bA2a%@~B{Z&Zp>;%@W4uM-jJ)HOhx38SBB*HWy z_tI_i@Yi8nMJ!971#0@QV2WA88!mSDS=-FBs%8mdfB!e^(|LTd&GYJ`;;M?t29rb$ zC;Hx+v?#?xJ9^KuV_W;?a^F1{^oHqLYtb5yz%^Ijye){Y<=DQ%X&cwhYQ5c``G2SU l%X}cse_o?v)r07|3Zv~8-kMwg&;K@i|J0gj^L{1<1^^H=xViuU literal 0 HcmV?d00001 diff --git a/static/admin/img/icon-unknown-alt.svg b/static/admin/img/icon-unknown-alt.svg new file mode 100644 index 0000000..1c6b99f --- /dev/null +++ b/static/admin/img/icon-unknown-alt.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#ffffff" d="M1024 1376v-192q0-14-9-23t-23-9h-192q-14 0-23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23-9t9-23zm256-672q0-88-55.5-163t-138.5-116-170-41q-243 0-371 213-15 24 8 42l132 100q7 6 19 6 16 0 25-12 53-68 86-92 34-24 86-24 48 0 85.5 26t37.5 59q0 38-20 61t-68 45q-63 28-115.5 86.5t-52.5 125.5v36q0 14 9 23t23 9h192q14 0 23-9t9-23q0-19 21.5-49.5t54.5-49.5q32-18 49-28.5t46-35 44.5-48 28-60.5 12.5-81zm384 192q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> +</svg> diff --git a/static/admin/img/icon-unknown-alt.svg.gz b/static/admin/img/icon-unknown-alt.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..3f254adb089f47acc798e28d925ef53ce41df8cb GIT binary patch literal 377 zcmb2|=3oE;rvI%$zWKKec=kRI7q~TZqlecPlOvXI_Q@MA$dysZd=<8#`OmM3eiOc$ zF)v&BUC#dL-Rm_CPk&rGrZ|B`BEG+U<K4eMf9(3RE2dpQk?HHyaN!44c6;l26La1^ zPQR{udQ)sl^-r4;ndCP*i8t~Y%H->BapWJroXKH-@0$97(*kwDPgqp;p7WTxykp7+ zCGXARuXi-HIc_n&(k2@5ER?hD*Gfx6t0zVuHawHeOF!3jtNK!q!Sh_VAa9?bJF2d) zl+|WUm>j|Ql5+-&X7kq&g^!&_j`bA2a%@~B{Z&Zp>;%@W4uM-jJ)HOhx38SBB*HWy z_tI_i@Yi8nMJ!971#0@QV2WA88!mSDS=-FBs%8mdfB!e^(|LTd&GYJ`;;M?t29rb$ zC;Hx+v?#?xJ9^KuV_W;?a^F1{^oHqLYtb5yz%^Ijye){Y<=DQ%X&cwhYQ5c``G2SU l%X}cse_o?v)r07|3Zv~8-kMwg&;K@i|J0gj^L{1<1^^H=xViuU literal 0 HcmV?d00001 diff --git a/static/admin/img/icon-unknown.a18cb4398978.svg b/static/admin/img/icon-unknown.a18cb4398978.svg new file mode 100644 index 0000000..50b4f97 --- /dev/null +++ b/static/admin/img/icon-unknown.a18cb4398978.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#666666" d="M1024 1376v-192q0-14-9-23t-23-9h-192q-14 0-23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23-9t9-23zm256-672q0-88-55.5-163t-138.5-116-170-41q-243 0-371 213-15 24 8 42l132 100q7 6 19 6 16 0 25-12 53-68 86-92 34-24 86-24 48 0 85.5 26t37.5 59q0 38-20 61t-68 45q-63 28-115.5 86.5t-52.5 125.5v36q0 14 9 23t23 9h192q14 0 23-9t9-23q0-19 21.5-49.5t54.5-49.5q32-18 49-28.5t46-35 44.5-48 28-60.5 12.5-81zm384 192q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> +</svg> diff --git a/static/admin/img/icon-unknown.a18cb4398978.svg.gz b/static/admin/img/icon-unknown.a18cb4398978.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..5710ee7fd6543f95671bf739223b79881a19e9d2 GIT binary patch literal 377 zcmb2|=3oE;rvI%$r}G{g@a%c6&GGe2go<iZ)Dg=s_xd9i+_iAHbS?TI->0vta}{pi zmNM`?%QOGeyKK7yMK!sP1w5E~@{b?Bk@v5rCVHN|o^yvl<F8YzISVZ3-`n42u<hH= z)vu?e-qhRl_eb>$i(@w;4{f;5@W!rwyWl?=|K*A{FMqLA$R6T$^>euNx+kQv%Y##U zlS%c)KJ5$%7i;I-h{n{osR=9Q&k|njtjElsJ?~-Fvo$OBs_U{A-%C^3dPL=DY|s+B zq(z*TouU)wHF!=iituL@n(vWwMq;^~$ckNo`iU2LA_KTZT%%i6z6g}g?(*ykWxl4i zx3+j|-ckkkfGoMGpIWpI9KBVLdNDU|#?6={=Cq6d`CptinwK*pMAvTlZgWoMNI~J7 zOLR58+O}*unw=H%`o_)+Uv-Y^CB$kR?-Ds0b@m?L_p9v%-P$RuC(M4nNxFVJ|FijQ kbss)-G_`ZpJ!xkz=Dl0D`Sbs@{Xf|{UjAIs&&0q00Jv$g<^TWy literal 0 HcmV?d00001 diff --git a/static/admin/img/icon-unknown.svg b/static/admin/img/icon-unknown.svg new file mode 100644 index 0000000..50b4f97 --- /dev/null +++ b/static/admin/img/icon-unknown.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#666666" d="M1024 1376v-192q0-14-9-23t-23-9h-192q-14 0-23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23-9t9-23zm256-672q0-88-55.5-163t-138.5-116-170-41q-243 0-371 213-15 24 8 42l132 100q7 6 19 6 16 0 25-12 53-68 86-92 34-24 86-24 48 0 85.5 26t37.5 59q0 38-20 61t-68 45q-63 28-115.5 86.5t-52.5 125.5v36q0 14 9 23t23 9h192q14 0 23-9t9-23q0-19 21.5-49.5t54.5-49.5q32-18 49-28.5t46-35 44.5-48 28-60.5 12.5-81zm384 192q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> +</svg> diff --git a/static/admin/img/icon-unknown.svg.gz b/static/admin/img/icon-unknown.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..5710ee7fd6543f95671bf739223b79881a19e9d2 GIT binary patch literal 377 zcmb2|=3oE;rvI%$r}G{g@a%c6&GGe2go<iZ)Dg=s_xd9i+_iAHbS?TI->0vta}{pi zmNM`?%QOGeyKK7yMK!sP1w5E~@{b?Bk@v5rCVHN|o^yvl<F8YzISVZ3-`n42u<hH= z)vu?e-qhRl_eb>$i(@w;4{f;5@W!rwyWl?=|K*A{FMqLA$R6T$^>euNx+kQv%Y##U zlS%c)KJ5$%7i;I-h{n{osR=9Q&k|njtjElsJ?~-Fvo$OBs_U{A-%C^3dPL=DY|s+B zq(z*TouU)wHF!=iituL@n(vWwMq;^~$ckNo`iU2LA_KTZT%%i6z6g}g?(*ykWxl4i zx3+j|-ckkkfGoMGpIWpI9KBVLdNDU|#?6={=Cq6d`CptinwK*pMAvTlZgWoMNI~J7 zOLR58+O}*unw=H%`o_)+Uv-Y^CB$kR?-Ds0b@m?L_p9v%-P$RuC(M4nNxFVJ|FijQ kbss)-G_`ZpJ!xkz=Dl0D`Sbs@{Xf|{UjAIs&&0q00Jv$g<^TWy literal 0 HcmV?d00001 diff --git a/static/admin/img/icon-viewlink.41eb31f7826e.svg b/static/admin/img/icon-viewlink.41eb31f7826e.svg new file mode 100644 index 0000000..a1ca1d3 --- /dev/null +++ b/static/admin/img/icon-viewlink.41eb31f7826e.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#2b70bf" d="M1664 960q-152-236-381-353 61 104 61 225 0 185-131.5 316.5t-316.5 131.5-316.5-131.5-131.5-316.5q0-121 61-225-229 117-381 353 133 205 333.5 326.5t434.5 121.5 434.5-121.5 333.5-326.5zm-720-384q0-20-14-34t-34-14q-125 0-214.5 89.5t-89.5 214.5q0 20 14 34t34 14 34-14 14-34q0-86 61-147t147-61q20 0 34-14t14-34zm848 384q0 34-20 69-140 230-376.5 368.5t-499.5 138.5-499.5-139-376.5-368q-20-35-20-69t20-69q140-229 376.5-368t499.5-139 499.5 139 376.5 368q20 35 20 69z"/> +</svg> diff --git a/static/admin/img/icon-viewlink.41eb31f7826e.svg.gz b/static/admin/img/icon-viewlink.41eb31f7826e.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..a965b09941fe32694c82a774fdc359b6df6aece9 GIT binary patch literal 346 zcmb2|=3oE;rvJWyjzxzIc=mke>a7k-irki5&e4AFcZX5HBuR}W6�OYg_7GZl2n^ z<=$P5*RS6)eBPn$oZrFA^ZTR06xRF4{{AW3_x)HC>#I$xj~@72@@Ln#G>xa9Zf*N) zV{UBz{Jrz*HCxwm%sR`JQ2SGZxu)-Ua(>*MZJTfVGw;5)C%8whXp3-A!3zr|btgWa zi4AM6w--Cw20J8WF&P|H6IsK*VlAtF@}KK7btWlabhtQSa^s3%_5k)IwshD2$k4f~ zs=jHxy0Sberr>G9Qyae<mfBizPgp0oe-k>+J?Z>~4KF-WgRaeqT4<)GUFRUza=wnS zh;vm_$I=ynC(B*=+-A+u+g;@K)W+|m`igV6rWKws5{aDVF!x<^a!~O6;@G}DIuX|< ziF0wKUV0$2<ycJCT$knRUU+Jq@BX0v-8xj9_c&u#TYIMY>aG9Yo_)oBVbhxoS0)Aq E0G0x!#Q*>R literal 0 HcmV?d00001 diff --git a/static/admin/img/icon-viewlink.svg b/static/admin/img/icon-viewlink.svg new file mode 100644 index 0000000..a1ca1d3 --- /dev/null +++ b/static/admin/img/icon-viewlink.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#2b70bf" d="M1664 960q-152-236-381-353 61 104 61 225 0 185-131.5 316.5t-316.5 131.5-316.5-131.5-131.5-316.5q0-121 61-225-229 117-381 353 133 205 333.5 326.5t434.5 121.5 434.5-121.5 333.5-326.5zm-720-384q0-20-14-34t-34-14q-125 0-214.5 89.5t-89.5 214.5q0 20 14 34t34 14 34-14 14-34q0-86 61-147t147-61q20 0 34-14t14-34zm848 384q0 34-20 69-140 230-376.5 368.5t-499.5 138.5-499.5-139-376.5-368q-20-35-20-69t20-69q140-229 376.5-368t499.5-139 499.5 139 376.5 368q20 35 20 69z"/> +</svg> diff --git a/static/admin/img/icon-viewlink.svg.gz b/static/admin/img/icon-viewlink.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..a965b09941fe32694c82a774fdc359b6df6aece9 GIT binary patch literal 346 zcmb2|=3oE;rvJWyjzxzIc=mke>a7k-irki5&e4AFcZX5HBuR}W6�OYg_7GZl2n^ z<=$P5*RS6)eBPn$oZrFA^ZTR06xRF4{{AW3_x)HC>#I$xj~@72@@Ln#G>xa9Zf*N) zV{UBz{Jrz*HCxwm%sR`JQ2SGZxu)-Ua(>*MZJTfVGw;5)C%8whXp3-A!3zr|btgWa zi4AM6w--Cw20J8WF&P|H6IsK*VlAtF@}KK7btWlabhtQSa^s3%_5k)IwshD2$k4f~ zs=jHxy0Sberr>G9Qyae<mfBizPgp0oe-k>+J?Z>~4KF-WgRaeqT4<)GUFRUza=wnS zh;vm_$I=ynC(B*=+-A+u+g;@K)W+|m`igV6rWKws5{aDVF!x<^a!~O6;@G}DIuX|< ziF0wKUV0$2<ycJCT$knRUU+Jq@BX0v-8xj9_c&u#TYIMY>aG9Yo_)oBVbhxoS0)Aq E0G0x!#Q*>R literal 0 HcmV?d00001 diff --git a/static/admin/img/icon-yes.d2f9f035226a.svg b/static/admin/img/icon-yes.d2f9f035226a.svg new file mode 100644 index 0000000..5883d87 --- /dev/null +++ b/static/admin/img/icon-yes.d2f9f035226a.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#70bf2b" d="M1412 734q0-28-18-46l-91-90q-19-19-45-19t-45 19l-408 407-226-226q-19-19-45-19t-45 19l-91 90q-18 18-18 46 0 27 18 45l362 362q19 19 45 19 27 0 46-19l543-543q18-18 18-45zm252 162q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> +</svg> diff --git a/static/admin/img/icon-yes.d2f9f035226a.svg.gz b/static/admin/img/icon-yes.d2f9f035226a.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..c35e8df0c50244bae337e7a475a9a04e664446bf GIT binary patch literal 266 zcmb2|=3oE;rvJGCC-a&O1onOw^?!HM;2uNxfra1eTo$V|Jkc=;>-h9l*4edq#gj_8 zpSp6pciyc&^Vp7WZGc;XMbBS>>;LTJp7ozzEXvZfYEPWQgF>$7(b{bi>)*Q?o-ekW z{pZtN@mU>Qd?K-ICfC<nJg{iH(6zm*%zdx$jqQ(uBbNqBT2H*PHDv3S)CqB({*y!O zbYDv-=Lgt%c$?~k2E8`A`d?}Nh9B80rf^1oI<w0uE7o8s+w~<j-5Vo>JaryVc(7(- z%;hX!;hoPtt?TrwE!uuK85wLn9Xn;$r=5qJiY%EXXHQSj{@*SAdHF%^{<E#Vt<!6A X&IF6ZUR!eh?I!sx#*OJ)7#SD<UFChT literal 0 HcmV?d00001 diff --git a/static/admin/img/icon-yes.svg b/static/admin/img/icon-yes.svg new file mode 100644 index 0000000..5883d87 --- /dev/null +++ b/static/admin/img/icon-yes.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#70bf2b" d="M1412 734q0-28-18-46l-91-90q-19-19-45-19t-45 19l-408 407-226-226q-19-19-45-19t-45 19l-91 90q-18 18-18 46 0 27 18 45l362 362q19 19 45 19 27 0 46-19l543-543q18-18 18-45zm252 162q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> +</svg> diff --git a/static/admin/img/icon-yes.svg.gz b/static/admin/img/icon-yes.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..c35e8df0c50244bae337e7a475a9a04e664446bf GIT binary patch literal 266 zcmb2|=3oE;rvJGCC-a&O1onOw^?!HM;2uNxfra1eTo$V|Jkc=;>-h9l*4edq#gj_8 zpSp6pciyc&^Vp7WZGc;XMbBS>>;LTJp7ozzEXvZfYEPWQgF>$7(b{bi>)*Q?o-ekW z{pZtN@mU>Qd?K-ICfC<nJg{iH(6zm*%zdx$jqQ(uBbNqBT2H*PHDv3S)CqB({*y!O zbYDv-=Lgt%c$?~k2E8`A`d?}Nh9B80rf^1oI<w0uE7o8s+w~<j-5Vo>JaryVc(7(- z%;hX!;hoPtt?TrwE!uuK85wLn9Xn;$r=5qJiY%EXXHQSj{@*SAdHF%^{<E#Vt<!6A X&IF6ZUR!eh?I!sx#*OJ)7#SD<UFChT literal 0 HcmV?d00001 diff --git a/static/admin/img/inline-delete.fec1b761f254.svg b/static/admin/img/inline-delete.fec1b761f254.svg new file mode 100644 index 0000000..17d1ad6 --- /dev/null +++ b/static/admin/img/inline-delete.fec1b761f254.svg @@ -0,0 +1,3 @@ +<svg width="16" height="16" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#999999" d="M1277 1122q0-26-19-45l-181-181 181-181q19-19 19-45 0-27-19-46l-90-90q-19-19-46-19-26 0-45 19l-181 181-181-181q-19-19-45-19-27 0-46 19l-90 90q-19 19-19 46 0 26 19 45l181 181-181 181q-19 19-19 45 0 27 19 46l90 90q19 19 46 19 26 0 45-19l181-181 181 181q19 19 45 19 27 0 46-19l90-90q19-19 19-46zm387-226q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> +</svg> diff --git a/static/admin/img/inline-delete.fec1b761f254.svg.gz b/static/admin/img/inline-delete.fec1b761f254.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..75f97b7db8d358c4c11b5bdaf35ccd4e2a2fc1f1 GIT binary patch literal 293 zcmb2|=3oE;rvJVZ9rKzE1YEz*d2~8fIwv?MhOzryb%&QH<H<~?W~V8a%Wc$HSei}$ ze|#f&_UpA|N&e3lxN=$B9^c?Ej=F#B@u$jt+npR8t@C$q-0^?-{Z?1vJbiiBjXK`@ zru_W5UcV=3mBPXoMhkY<oM)~(CJ^=U*-s&hEswmVpD);IIC;`BueVRDMVG8At=X_o zJu91^&v8!jIkuOgcPBrYA+=G;n<ep9``#u~{|!kOTrU{C5S_%Hsh*`hV@6}&=F16J zZFXuE^;t?!YIWXVp(RqWdxNk-@02$^J3Ed(Za2A@9rxQ}>ek7}ZgiFfT?tn`wd>UC znQ9*@S=UX9USP0RY1*f)c_+IM>K*?kYQ|-4zwL=)mtOXx{<oXzbzbgUX~4w50087g Bjcfn_ literal 0 HcmV?d00001 diff --git a/static/admin/img/inline-delete.svg b/static/admin/img/inline-delete.svg new file mode 100644 index 0000000..17d1ad6 --- /dev/null +++ b/static/admin/img/inline-delete.svg @@ -0,0 +1,3 @@ +<svg width="16" height="16" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#999999" d="M1277 1122q0-26-19-45l-181-181 181-181q19-19 19-45 0-27-19-46l-90-90q-19-19-46-19-26 0-45 19l-181 181-181-181q-19-19-45-19-27 0-46 19l-90 90q-19 19-19 46 0 26 19 45l181 181-181 181q-19 19-19 45 0 27 19 46l90 90q19 19 46 19 26 0 45-19l181-181 181 181q19 19 45 19 27 0 46-19l90-90q19-19 19-46zm387-226q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> +</svg> diff --git a/static/admin/img/inline-delete.svg.gz b/static/admin/img/inline-delete.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..75f97b7db8d358c4c11b5bdaf35ccd4e2a2fc1f1 GIT binary patch literal 293 zcmb2|=3oE;rvJVZ9rKzE1YEz*d2~8fIwv?MhOzryb%&QH<H<~?W~V8a%Wc$HSei}$ ze|#f&_UpA|N&e3lxN=$B9^c?Ej=F#B@u$jt+npR8t@C$q-0^?-{Z?1vJbiiBjXK`@ zru_W5UcV=3mBPXoMhkY<oM)~(CJ^=U*-s&hEswmVpD);IIC;`BueVRDMVG8At=X_o zJu91^&v8!jIkuOgcPBrYA+=G;n<ep9``#u~{|!kOTrU{C5S_%Hsh*`hV@6}&=F16J zZFXuE^;t?!YIWXVp(RqWdxNk-@02$^J3Ed(Za2A@9rxQ}>ek7}ZgiFfT?tn`wd>UC znQ9*@S=UX9USP0RY1*f)c_+IM>K*?kYQ|-4zwL=)mtOXx{<oXzbzbgUX~4w50087g Bjcfn_ literal 0 HcmV?d00001 diff --git a/static/admin/img/search.7cf54ff789c6.svg b/static/admin/img/search.7cf54ff789c6.svg new file mode 100644 index 0000000..c8c69b2 --- /dev/null +++ b/static/admin/img/search.7cf54ff789c6.svg @@ -0,0 +1,3 @@ +<svg width="15" height="15" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#555555" d="M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z"/> +</svg> diff --git a/static/admin/img/search.7cf54ff789c6.svg.gz b/static/admin/img/search.7cf54ff789c6.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..28c49b8e472cc3cadb6b7820d768467566dba7fa GIT binary patch literal 264 zcmb2|=3oE;rvIq{7xS78cxs+&``s*7*yzbE{9(iQ+9ONK8eFb#a`U~qe!lYrhbWQT z%Rj$-vt*}zRm;aG?O~D24dxuL`@m^`toX+cyXe$}gnm<9&xe&W>)x%E+OvPJxGRSu z|D5>x-%UM+trDyBm}lLdF8{&SFL?F6J4GUXYkzG?;a@Q$ZE^0?Evd7u&wiU=J^$1^ zr$gSy`XWEtr-i<gi4#xPJlm{%Ry6BzY3_lmYhpQ-BW`#WpA<65u2j{TI_q^v?#V@q zl)IM}7y2qmJ~<;K=x)Zjp*dT8wbX28v)ngsPlW{Y|5^$ewRoM-n*4^nb7sHCb~F9Z Vl1SnGdrtpjxNf*<-zi201^{0GdZPdU literal 0 HcmV?d00001 diff --git a/static/admin/img/search.svg b/static/admin/img/search.svg new file mode 100644 index 0000000..c8c69b2 --- /dev/null +++ b/static/admin/img/search.svg @@ -0,0 +1,3 @@ +<svg width="15" height="15" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#555555" d="M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z"/> +</svg> diff --git a/static/admin/img/search.svg.gz b/static/admin/img/search.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..28c49b8e472cc3cadb6b7820d768467566dba7fa GIT binary patch literal 264 zcmb2|=3oE;rvIq{7xS78cxs+&``s*7*yzbE{9(iQ+9ONK8eFb#a`U~qe!lYrhbWQT z%Rj$-vt*}zRm;aG?O~D24dxuL`@m^`toX+cyXe$}gnm<9&xe&W>)x%E+OvPJxGRSu z|D5>x-%UM+trDyBm}lLdF8{&SFL?F6J4GUXYkzG?;a@Q$ZE^0?Evd7u&wiU=J^$1^ zr$gSy`XWEtr-i<gi4#xPJlm{%Ry6BzY3_lmYhpQ-BW`#WpA<65u2j{TI_q^v?#V@q zl)IM}7y2qmJ~<;K=x)Zjp*dT8wbX28v)ngsPlW{Y|5^$ewRoM-n*4^nb7sHCb~F9Z Vl1SnGdrtpjxNf*<-zi201^{0GdZPdU literal 0 HcmV?d00001 diff --git a/static/admin/img/selector-icons.b4555096cea2.svg b/static/admin/img/selector-icons.b4555096cea2.svg new file mode 100644 index 0000000..926b8e2 --- /dev/null +++ b/static/admin/img/selector-icons.b4555096cea2.svg @@ -0,0 +1,34 @@ +<svg width="16" height="192" viewBox="0 0 1792 21504" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <defs> + <g id="up"> + <path d="M1412 895q0-27-18-45l-362-362-91-91q-18-18-45-18t-45 18l-91 91-362 362q-18 18-18 45t18 45l91 91q18 18 45 18t45-18l189-189v502q0 26 19 45t45 19h128q26 0 45-19t19-45v-502l189 189q19 19 45 19t45-19l91-91q18-18 18-45zm252 1q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + <g id="down"> + <path d="M1412 897q0-27-18-45l-91-91q-18-18-45-18t-45 18l-189 189v-502q0-26-19-45t-45-19h-128q-26 0-45 19t-19 45v502l-189-189q-19-19-45-19t-45 19l-91 91q-18 18-18 45t18 45l362 362 91 91q18 18 45 18t45-18l91-91 362-362q18-18 18-45zm252-1q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + <g id="left"> + <path d="M1408 960v-128q0-26-19-45t-45-19h-502l189-189q19-19 19-45t-19-45l-91-91q-18-18-45-18t-45 18l-362 362-91 91q-18 18-18 45t18 45l91 91 362 362q18 18 45 18t45-18l91-91q18-18 18-45t-18-45l-189-189h502q26 0 45-19t19-45zm256-64q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + <g id="right"> + <path d="M1413 896q0-27-18-45l-91-91-362-362q-18-18-45-18t-45 18l-91 91q-18 18-18 45t18 45l189 189h-502q-26 0-45 19t-19 45v128q0 26 19 45t45 19h502l-189 189q-19 19-19 45t19 45l91 91q18 18 45 18t45-18l362-362 91-91q18-18 18-45zm251 0q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + <g id="clearall"> + <path transform="translate(336, 336) scale(0.75)" d="M1037 1395l102-102q19-19 19-45t-19-45l-307-307 307-307q19-19 19-45t-19-45l-102-102q-19-19-45-19t-45 19l-454 454q-19 19-19 45t19 45l454 454q19 19 45 19t45-19zm627-499q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + <g id="chooseall"> + <path transform="translate(336, 336) scale(0.75)" d="M845 1395l454-454q19-19 19-45t-19-45l-454-454q-19-19-45-19t-45 19l-102 102q-19 19-19 45t19 45l307 307-307 307q-19 19-19 45t19 45l102 102q19 19 45 19t45-19zm819-499q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + </defs> + <use xlink:href="#up" x="0" y="0" fill="#666666" /> + <use xlink:href="#up" x="0" y="1792" fill="#447e9b" /> + <use xlink:href="#down" x="0" y="3584" fill="#666666" /> + <use xlink:href="#down" x="0" y="5376" fill="#447e9b" /> + <use xlink:href="#left" x="0" y="7168" fill="#666666" /> + <use xlink:href="#left" x="0" y="8960" fill="#447e9b" /> + <use xlink:href="#right" x="0" y="10752" fill="#666666" /> + <use xlink:href="#right" x="0" y="12544" fill="#447e9b" /> + <use xlink:href="#clearall" x="0" y="14336" fill="#666666" /> + <use xlink:href="#clearall" x="0" y="16128" fill="#447e9b" /> + <use xlink:href="#chooseall" x="0" y="17920" fill="#666666" /> + <use xlink:href="#chooseall" x="0" y="19712" fill="#447e9b" /> +</svg> diff --git a/static/admin/img/selector-icons.b4555096cea2.svg.gz b/static/admin/img/selector-icons.b4555096cea2.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..99fe6212f0dc9bcbd574369519d08d8bfb9289cc GIT binary patch literal 770 zcmb2|=3oE;rvGQd4;I}r5ZL=&yX=a$QE=kPX*t@=mS67mFF2U6j45f&1C#jsSEJNe zSRT)eOGxs}_?~&RdiN%yTz>5r*SN#a&p0D_<!V)^wan}(2NPpU?aSXAt2s32_;9Vf z;$&EH|3<EL^48+@{+^dg?=Cs5w)?M^XR83Go@C6tdvB|Lt3T7|HRO!E`PsbT<)Wx< zbq$9_*N7W``*!NrdyCIj<)#nr=&wxST6(efLFU2KlT)|ZoDQz)IkNxQ`ALk??Xo8> zJ+fIKI+sEIJ<}6bFY7E_OA{0RmclI!Q<ok*C$q&vnlY2_QpJRF!>vB2*_N|Z#6Mng zuz<a9om^Y?47R<T4Z6A+Ir~rAS>=9Cp8QH=NqlUA&P2zsSDj@)n9sT}Z=JJ@q4)2J z-Cw_5kkg%SSCG`M%+(iHu*ptFS6+uxOJ%iwkxtp&Z@UzZiaX|U2zDq=vr&6~WR|jd zaIwGU_c@>DnfQIF{Kfft{xN5cr=IWsHXSldZGKVUn|Mp7MP`>k+x@);+oE=@Fj&Mg zxtlpqD$#0*=KIT2f|pI2yKA-*o7ehcKQ@U|Z@Hc?kJ+tQdZ;gJzTESrPgze^u6q|d zaj(7O<E@ht*FKrP)kr4MoNv9v*@ZJaPDfmw@acK`wE!;xFV3oue-}Nw<|(m_<07+9 z(~k1cxE#~_=hxZ_AA9@!cG=F``Ds0EW$#wC>zuA<Fzdgt?@aDj1+~_?l)W8F+74-K zH^nQg6h3ZzbkgOaJV))7^aJkw#!E#vtxsa&UDjQG`ncNhJweCr>=pT%cRlR?de@ir zd!{qJd|<0O-GqOe#@Q40EWGD3?Ixc8ZaAG$HgM6Gh3~>TGmT=lFU!wmE#a+R_5Etm zv3-yCa{uY=KNz1iJv+P5YB_&%3d^bcBK;0ayH5St$F-#TsJhAJrBc$Lc~)&!l9!$u zH*5X{r)N)ZtVj>AIe+xVioe|tThs$zl;qsuE?6~HO8RHTkGT&-#jf6XU|7?)e)`3a k{i6R(z1^ONmoNsO$e8E*w_f4={eO(#Tw*zH^Dr;~0PPlca{vGU literal 0 HcmV?d00001 diff --git a/static/admin/img/selector-icons.svg b/static/admin/img/selector-icons.svg new file mode 100644 index 0000000..926b8e2 --- /dev/null +++ b/static/admin/img/selector-icons.svg @@ -0,0 +1,34 @@ +<svg width="16" height="192" viewBox="0 0 1792 21504" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <defs> + <g id="up"> + <path d="M1412 895q0-27-18-45l-362-362-91-91q-18-18-45-18t-45 18l-91 91-362 362q-18 18-18 45t18 45l91 91q18 18 45 18t45-18l189-189v502q0 26 19 45t45 19h128q26 0 45-19t19-45v-502l189 189q19 19 45 19t45-19l91-91q18-18 18-45zm252 1q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + <g id="down"> + <path d="M1412 897q0-27-18-45l-91-91q-18-18-45-18t-45 18l-189 189v-502q0-26-19-45t-45-19h-128q-26 0-45 19t-19 45v502l-189-189q-19-19-45-19t-45 19l-91 91q-18 18-18 45t18 45l362 362 91 91q18 18 45 18t45-18l91-91 362-362q18-18 18-45zm252-1q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + <g id="left"> + <path d="M1408 960v-128q0-26-19-45t-45-19h-502l189-189q19-19 19-45t-19-45l-91-91q-18-18-45-18t-45 18l-362 362-91 91q-18 18-18 45t18 45l91 91 362 362q18 18 45 18t45-18l91-91q18-18 18-45t-18-45l-189-189h502q26 0 45-19t19-45zm256-64q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + <g id="right"> + <path d="M1413 896q0-27-18-45l-91-91-362-362q-18-18-45-18t-45 18l-91 91q-18 18-18 45t18 45l189 189h-502q-26 0-45 19t-19 45v128q0 26 19 45t45 19h502l-189 189q-19 19-19 45t19 45l91 91q18 18 45 18t45-18l362-362 91-91q18-18 18-45zm251 0q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + <g id="clearall"> + <path transform="translate(336, 336) scale(0.75)" d="M1037 1395l102-102q19-19 19-45t-19-45l-307-307 307-307q19-19 19-45t-19-45l-102-102q-19-19-45-19t-45 19l-454 454q-19 19-19 45t19 45l454 454q19 19 45 19t45-19zm627-499q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + <g id="chooseall"> + <path transform="translate(336, 336) scale(0.75)" d="M845 1395l454-454q19-19 19-45t-19-45l-454-454q-19-19-45-19t-45 19l-102 102q-19 19-19 45t19 45l307 307-307 307q-19 19-19 45t19 45l102 102q19 19 45 19t45-19zm819-499q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/> + </g> + </defs> + <use xlink:href="#up" x="0" y="0" fill="#666666" /> + <use xlink:href="#up" x="0" y="1792" fill="#447e9b" /> + <use xlink:href="#down" x="0" y="3584" fill="#666666" /> + <use xlink:href="#down" x="0" y="5376" fill="#447e9b" /> + <use xlink:href="#left" x="0" y="7168" fill="#666666" /> + <use xlink:href="#left" x="0" y="8960" fill="#447e9b" /> + <use xlink:href="#right" x="0" y="10752" fill="#666666" /> + <use xlink:href="#right" x="0" y="12544" fill="#447e9b" /> + <use xlink:href="#clearall" x="0" y="14336" fill="#666666" /> + <use xlink:href="#clearall" x="0" y="16128" fill="#447e9b" /> + <use xlink:href="#chooseall" x="0" y="17920" fill="#666666" /> + <use xlink:href="#chooseall" x="0" y="19712" fill="#447e9b" /> +</svg> diff --git a/static/admin/img/selector-icons.svg.gz b/static/admin/img/selector-icons.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..99fe6212f0dc9bcbd574369519d08d8bfb9289cc GIT binary patch literal 770 zcmb2|=3oE;rvGQd4;I}r5ZL=&yX=a$QE=kPX*t@=mS67mFF2U6j45f&1C#jsSEJNe zSRT)eOGxs}_?~&RdiN%yTz>5r*SN#a&p0D_<!V)^wan}(2NPpU?aSXAt2s32_;9Vf z;$&EH|3<EL^48+@{+^dg?=Cs5w)?M^XR83Go@C6tdvB|Lt3T7|HRO!E`PsbT<)Wx< zbq$9_*N7W``*!NrdyCIj<)#nr=&wxST6(efLFU2KlT)|ZoDQz)IkNxQ`ALk??Xo8> zJ+fIKI+sEIJ<}6bFY7E_OA{0RmclI!Q<ok*C$q&vnlY2_QpJRF!>vB2*_N|Z#6Mng zuz<a9om^Y?47R<T4Z6A+Ir~rAS>=9Cp8QH=NqlUA&P2zsSDj@)n9sT}Z=JJ@q4)2J z-Cw_5kkg%SSCG`M%+(iHu*ptFS6+uxOJ%iwkxtp&Z@UzZiaX|U2zDq=vr&6~WR|jd zaIwGU_c@>DnfQIF{Kfft{xN5cr=IWsHXSldZGKVUn|Mp7MP`>k+x@);+oE=@Fj&Mg zxtlpqD$#0*=KIT2f|pI2yKA-*o7ehcKQ@U|Z@Hc?kJ+tQdZ;gJzTESrPgze^u6q|d zaj(7O<E@ht*FKrP)kr4MoNv9v*@ZJaPDfmw@acK`wE!;xFV3oue-}Nw<|(m_<07+9 z(~k1cxE#~_=hxZ_AA9@!cG=F``Ds0EW$#wC>zuA<Fzdgt?@aDj1+~_?l)W8F+74-K zH^nQg6h3ZzbkgOaJV))7^aJkw#!E#vtxsa&UDjQG`ncNhJweCr>=pT%cRlR?de@ir zd!{qJd|<0O-GqOe#@Q40EWGD3?Ixc8ZaAG$HgM6Gh3~>TGmT=lFU!wmE#a+R_5Etm zv3-yCa{uY=KNz1iJv+P5YB_&%3d^bcBK;0ayH5St$F-#TsJhAJrBc$Lc~)&!l9!$u zH*5X{r)N)ZtVj>AIe+xVioe|tThs$zl;qsuE?6~HO8RHTkGT&-#jf6XU|7?)e)`3a k{i6R(z1^ONmoNsO$e8E*w_f4={eO(#Tw*zH^Dr;~0PPlca{vGU literal 0 HcmV?d00001 diff --git a/static/admin/img/sorting-icons.3a097b59f104.svg b/static/admin/img/sorting-icons.3a097b59f104.svg new file mode 100644 index 0000000..7c31ec9 --- /dev/null +++ b/static/admin/img/sorting-icons.3a097b59f104.svg @@ -0,0 +1,19 @@ +<svg width="14" height="84" viewBox="0 0 1792 10752" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <defs> + <g id="sort"> + <path d="M1408 1088q0 26-19 45l-448 448q-19 19-45 19t-45-19l-448-448q-19-19-19-45t19-45 45-19h896q26 0 45 19t19 45zm0-384q0 26-19 45t-45 19h-896q-26 0-45-19t-19-45 19-45l448-448q19-19 45-19t45 19l448 448q19 19 19 45z"/> + </g> + <g id="ascending"> + <path d="M1408 1216q0 26-19 45t-45 19h-896q-26 0-45-19t-19-45 19-45l448-448q19-19 45-19t45 19l448 448q19 19 19 45z"/> + </g> + <g id="descending"> + <path d="M1408 704q0 26-19 45l-448 448q-19 19-45 19t-45-19l-448-448q-19-19-19-45t19-45 45-19h896q26 0 45 19t19 45z"/> + </g> + </defs> + <use xlink:href="#sort" x="0" y="0" fill="#999999" /> + <use xlink:href="#sort" x="0" y="1792" fill="#447e9b" /> + <use xlink:href="#ascending" x="0" y="3584" fill="#999999" /> + <use xlink:href="#ascending" x="0" y="5376" fill="#447e9b" /> + <use xlink:href="#descending" x="0" y="7168" fill="#999999" /> + <use xlink:href="#descending" x="0" y="8960" fill="#447e9b" /> +</svg> diff --git a/static/admin/img/sorting-icons.3a097b59f104.svg.gz b/static/admin/img/sorting-icons.3a097b59f104.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..f5a302d3eb644205e5cf846beb2453044f377585 GIT binary patch literal 366 zcmb2|=3oE;rvFES&lWW+2<&^VS@vQkLl>9i*@fTjT%tNHRG+y^UAC)b-0Eqa_G)Rc z`}NfS`}oUF-Y#a1jg5*`I3}188h%U6!{Tqu>UV|pngXm`I+FzrW~mA`ojzxh+qh+G zyQpI9b=}<+JMBYN7EKWfFXV`f^|`ypkJU(1l{0Qj9K(~Px3<L<X0et=E-0(tv|_u( z?ZjkLi`T-BLoCFcWHeng(}XIL44yOHDgTnKX6Qd>%e&{-4tBCX|M2O^w?IWF?wN9n zujFn#&uwa7CUU&#{(>9()*Q2w`Taxgz$3wnp2khA3-;~f^)oKw5n0IYm~z8-<-Xjy z%llR=TQmFBJ5Cp!zv_8QfAz+={fsYv&c1U_&*#bew{jhdS^LE^m-~wV8|NPZ<qH0y zXz9l?Mm8KL*4Wtpi(fe>-OKL2@7`_iXUVJob35BS@09-|ow?ohmltI>_AE`(Ydp!c XPOzlQ@tyvks*jvvVl3x9Sr`}qDypQ> literal 0 HcmV?d00001 diff --git a/static/admin/img/sorting-icons.svg b/static/admin/img/sorting-icons.svg new file mode 100644 index 0000000..7c31ec9 --- /dev/null +++ b/static/admin/img/sorting-icons.svg @@ -0,0 +1,19 @@ +<svg width="14" height="84" viewBox="0 0 1792 10752" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <defs> + <g id="sort"> + <path d="M1408 1088q0 26-19 45l-448 448q-19 19-45 19t-45-19l-448-448q-19-19-19-45t19-45 45-19h896q26 0 45 19t19 45zm0-384q0 26-19 45t-45 19h-896q-26 0-45-19t-19-45 19-45l448-448q19-19 45-19t45 19l448 448q19 19 19 45z"/> + </g> + <g id="ascending"> + <path d="M1408 1216q0 26-19 45t-45 19h-896q-26 0-45-19t-19-45 19-45l448-448q19-19 45-19t45 19l448 448q19 19 19 45z"/> + </g> + <g id="descending"> + <path d="M1408 704q0 26-19 45l-448 448q-19 19-45 19t-45-19l-448-448q-19-19-19-45t19-45 45-19h896q26 0 45 19t19 45z"/> + </g> + </defs> + <use xlink:href="#sort" x="0" y="0" fill="#999999" /> + <use xlink:href="#sort" x="0" y="1792" fill="#447e9b" /> + <use xlink:href="#ascending" x="0" y="3584" fill="#999999" /> + <use xlink:href="#ascending" x="0" y="5376" fill="#447e9b" /> + <use xlink:href="#descending" x="0" y="7168" fill="#999999" /> + <use xlink:href="#descending" x="0" y="8960" fill="#447e9b" /> +</svg> diff --git a/static/admin/img/sorting-icons.svg.gz b/static/admin/img/sorting-icons.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..f5a302d3eb644205e5cf846beb2453044f377585 GIT binary patch literal 366 zcmb2|=3oE;rvFES&lWW+2<&^VS@vQkLl>9i*@fTjT%tNHRG+y^UAC)b-0Eqa_G)Rc z`}NfS`}oUF-Y#a1jg5*`I3}188h%U6!{Tqu>UV|pngXm`I+FzrW~mA`ojzxh+qh+G zyQpI9b=}<+JMBYN7EKWfFXV`f^|`ypkJU(1l{0Qj9K(~Px3<L<X0et=E-0(tv|_u( z?ZjkLi`T-BLoCFcWHeng(}XIL44yOHDgTnKX6Qd>%e&{-4tBCX|M2O^w?IWF?wN9n zujFn#&uwa7CUU&#{(>9()*Q2w`Taxgz$3wnp2khA3-;~f^)oKw5n0IYm~z8-<-Xjy z%llR=TQmFBJ5Cp!zv_8QfAz+={fsYv&c1U_&*#bew{jhdS^LE^m-~wV8|NPZ<qH0y zXz9l?Mm8KL*4Wtpi(fe>-OKL2@7`_iXUVJob35BS@09-|ow?ohmltI>_AE`(Ydp!c XPOzlQ@tyvks*jvvVl3x9Sr`}qDypQ> literal 0 HcmV?d00001 diff --git a/static/admin/img/tooltag-add.e59d620a9742.svg b/static/admin/img/tooltag-add.e59d620a9742.svg new file mode 100644 index 0000000..1ca64ae --- /dev/null +++ b/static/admin/img/tooltag-add.e59d620a9742.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#ffffff" d="M1600 736v192q0 40-28 68t-68 28h-416v416q0 40-28 68t-68 28h-192q-40 0-68-28t-28-68v-416h-416q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h416v-416q0-40 28-68t68-28h192q40 0 68 28t28 68v416h416q40 0 68 28t28 68z"/> +</svg> diff --git a/static/admin/img/tooltag-add.e59d620a9742.svg.gz b/static/admin/img/tooltag-add.e59d620a9742.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..dcd1df184ad790f963d5d372424eedc14adfcc26 GIT binary patch literal 203 zcmb2|=3oE;rvJJ9cliz}@U*`FF5<g)p2)TbCduOWeha9*iZJ>wZD6-|OPrRc=flTe zWPYVfDf+YbG3GW4^k0_vd3*WG8QZUiJ1{Zrj<UWh5cmA&CmxBJ`O?Wn=T6_zS>J!r zLdhsqflt(-{&sQ8Ws~!a;_9&+?G4tiI}@({NV)#b??TX9s}Hi*_c32Tx@)W5)L-o` zf!kI6c4~BZPu1&mDXm|4i{pZ^c2ClxE_tQ%saz}6vl&h*Pm=%OW*oBjPvr``6sF71 Iy%`x80M)cx3IG5A literal 0 HcmV?d00001 diff --git a/static/admin/img/tooltag-add.svg b/static/admin/img/tooltag-add.svg new file mode 100644 index 0000000..1ca64ae --- /dev/null +++ b/static/admin/img/tooltag-add.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#ffffff" d="M1600 736v192q0 40-28 68t-68 28h-416v416q0 40-28 68t-68 28h-192q-40 0-68-28t-28-68v-416h-416q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h416v-416q0-40 28-68t68-28h192q40 0 68 28t28 68v416h416q40 0 68 28t28 68z"/> +</svg> diff --git a/static/admin/img/tooltag-add.svg.gz b/static/admin/img/tooltag-add.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..dcd1df184ad790f963d5d372424eedc14adfcc26 GIT binary patch literal 203 zcmb2|=3oE;rvJJ9cliz}@U*`FF5<g)p2)TbCduOWeha9*iZJ>wZD6-|OPrRc=flTe zWPYVfDf+YbG3GW4^k0_vd3*WG8QZUiJ1{Zrj<UWh5cmA&CmxBJ`O?Wn=T6_zS>J!r zLdhsqflt(-{&sQ8Ws~!a;_9&+?G4tiI}@({NV)#b??TX9s}Hi*_c32Tx@)W5)L-o` zf!kI6c4~BZPu1&mDXm|4i{pZ^c2ClxE_tQ%saz}6vl&h*Pm=%OW*oBjPvr``6sF71 Iy%`x80M)cx3IG5A literal 0 HcmV?d00001 diff --git a/static/admin/img/tooltag-arrowright.bbfb788a849e.svg b/static/admin/img/tooltag-arrowright.bbfb788a849e.svg new file mode 100644 index 0000000..b664d61 --- /dev/null +++ b/static/admin/img/tooltag-arrowright.bbfb788a849e.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#ffffff" d="M1363 877l-742 742q-19 19-45 19t-45-19l-166-166q-19-19-19-45t19-45l531-531-531-531q-19-19-19-45t19-45l166-166q19-19 45-19t45 19l742 742q19 19 19 45t-19 45z"/> +</svg> diff --git a/static/admin/img/tooltag-arrowright.bbfb788a849e.svg.gz b/static/admin/img/tooltag-arrowright.bbfb788a849e.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..54b1c3f51661ec8240c56c300149aa8281c1a7c1 GIT binary patch literal 194 zcmb2|=3oE;rvJJAxA~e3cxs<(&-!Jv-B2${f`8v{LA4k+Bi5yfN7k3~c-CxqX_<Td zor&)9oy^y-r<i!PCd}Gryya=}{T-(_WQZs@Jad)dNZfh*_>zkPz3J!X7P~L+JG}bw zMuDbk$2Cd~MSCVTZrdLAcp-0FK=vN5shSo~ccxYfH6NdRk}2ijq$|chA7r0SnYK1! zcD#QOS5C0%P5ytqZ}uNHX7S|uRTeK*=9F>C?6X^(>(eR+(OQOiXWCv%FfuRz0NqGf Awg3PC literal 0 HcmV?d00001 diff --git a/static/admin/img/tooltag-arrowright.svg b/static/admin/img/tooltag-arrowright.svg new file mode 100644 index 0000000..b664d61 --- /dev/null +++ b/static/admin/img/tooltag-arrowright.svg @@ -0,0 +1,3 @@ +<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"> + <path fill="#ffffff" d="M1363 877l-742 742q-19 19-45 19t-45-19l-166-166q-19-19-19-45t19-45l531-531-531-531q-19-19-19-45t19-45l166-166q19-19 45-19t45 19l742 742q19 19 19 45t-19 45z"/> +</svg> diff --git a/static/admin/img/tooltag-arrowright.svg.gz b/static/admin/img/tooltag-arrowright.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..54b1c3f51661ec8240c56c300149aa8281c1a7c1 GIT binary patch literal 194 zcmb2|=3oE;rvJJAxA~e3cxs<(&-!Jv-B2${f`8v{LA4k+Bi5yfN7k3~c-CxqX_<Td zor&)9oy^y-r<i!PCd}Gryya=}{T-(_WQZs@Jad)dNZfh*_>zkPz3J!X7P~L+JG}bw zMuDbk$2Cd~MSCVTZrdLAcp-0FK=vN5shSo~ccxYfH6NdRk}2ijq$|chA7r0SnYK1! zcD#QOS5C0%P5ytqZ}uNHX7S|uRTeK*=9F>C?6X^(>(eR+(OQOiXWCv%FfuRz0NqGf Awg3PC literal 0 HcmV?d00001 diff --git a/static/admin/js/SelectBox.99d0cfd2e80c.js b/static/admin/js/SelectBox.99d0cfd2e80c.js new file mode 100644 index 0000000..2073f03 --- /dev/null +++ b/static/admin/js/SelectBox.99d0cfd2e80c.js @@ -0,0 +1,144 @@ +(function($) { + 'use strict'; + var SelectBox = { + cache: {}, + init: function(id) { + var box = document.getElementById(id); + var node; + SelectBox.cache[id] = []; + var cache = SelectBox.cache[id]; + var boxOptions = box.options; + var boxOptionsLength = boxOptions.length; + for (var i = 0, j = boxOptionsLength; i < j; i++) { + node = boxOptions[i]; + cache.push({value: node.value, text: node.text, displayed: 1}); + } + }, + redisplay: function(id) { + // Repopulate HTML select box from cache + var box = document.getElementById(id); + var node; + $(box).empty(); // clear all options + var new_options = box.outerHTML.slice(0, -9); // grab just the opening tag + var cache = SelectBox.cache[id]; + for (var i = 0, j = cache.length; i < j; i++) { + node = cache[i]; + if (node.displayed) { + var new_option = new Option(node.text, node.value, false, false); + // Shows a tooltip when hovering over the option + new_option.setAttribute("title", node.text); + new_options += new_option.outerHTML; + } + } + new_options += '</select>'; + box.outerHTML = new_options; + }, + filter: function(id, text) { + // Redisplay the HTML select box, displaying only the choices containing ALL + // the words in text. (It's an AND search.) + var tokens = text.toLowerCase().split(/\s+/); + var node, token; + var cache = SelectBox.cache[id]; + for (var i = 0, j = cache.length; i < j; i++) { + node = cache[i]; + node.displayed = 1; + var node_text = node.text.toLowerCase(); + var numTokens = tokens.length; + for (var k = 0; k < numTokens; k++) { + token = tokens[k]; + if (node_text.indexOf(token) === -1) { + node.displayed = 0; + break; // Once the first token isn't found we're done + } + } + } + SelectBox.redisplay(id); + }, + delete_from_cache: function(id, value) { + var node, delete_index = null; + var cache = SelectBox.cache[id]; + for (var i = 0, j = cache.length; i < j; i++) { + node = cache[i]; + if (node.value === value) { + delete_index = i; + break; + } + } + cache.splice(delete_index, 1); + }, + add_to_cache: function(id, option) { + SelectBox.cache[id].push({value: option.value, text: option.text, displayed: 1}); + }, + cache_contains: function(id, value) { + // Check if an item is contained in the cache + var node; + var cache = SelectBox.cache[id]; + for (var i = 0, j = cache.length; i < j; i++) { + node = cache[i]; + if (node.value === value) { + return true; + } + } + return false; + }, + move: function(from, to) { + var from_box = document.getElementById(from); + var option; + var boxOptions = from_box.options; + var boxOptionsLength = boxOptions.length; + for (var i = 0, j = boxOptionsLength; i < j; i++) { + option = boxOptions[i]; + var option_value = option.value; + if (option.selected && SelectBox.cache_contains(from, option_value)) { + SelectBox.add_to_cache(to, {value: option_value, text: option.text, displayed: 1}); + SelectBox.delete_from_cache(from, option_value); + } + } + SelectBox.redisplay(from); + SelectBox.redisplay(to); + }, + move_all: function(from, to) { + var from_box = document.getElementById(from); + var option; + var boxOptions = from_box.options; + var boxOptionsLength = boxOptions.length; + for (var i = 0, j = boxOptionsLength; i < j; i++) { + option = boxOptions[i]; + var option_value = option.value; + if (SelectBox.cache_contains(from, option_value)) { + SelectBox.add_to_cache(to, {value: option_value, text: option.text, displayed: 1}); + SelectBox.delete_from_cache(from, option_value); + } + } + SelectBox.redisplay(from); + SelectBox.redisplay(to); + }, + sort: function(id) { + SelectBox.cache[id].sort(function(a, b) { + a = a.text.toLowerCase(); + b = b.text.toLowerCase(); + try { + if (a > b) { + return 1; + } + if (a < b) { + return -1; + } + } + catch (e) { + // silently fail on IE 'unknown' exception + } + return 0; + } ); + }, + select_all: function(id) { + var box = document.getElementById(id); + var boxOptions = box.options; + var boxOptionsLength = boxOptions.length; + for (var i = 0; i < boxOptionsLength; i++) { + boxOptions[i].selected = 'selected'; + } + } + }; + window.SelectBox = SelectBox; +})(django.jQuery); diff --git a/static/admin/js/SelectBox.99d0cfd2e80c.js.gz b/static/admin/js/SelectBox.99d0cfd2e80c.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..1736d8c1a16a61f5f5033765719ea1f780e432d8 GIT binary patch literal 1184 zcmb2|=3oE;rvGmvZs*;06R7<j&eNozk~p(VE<1{Gj)?>B3e#Ip&YHG}T22aERK{AA z8ENq4{oL3f5q)phtl4Iahs5utrKLZgvva~b6XAuAf_AL8t=P$6HAlzQBlM8-Q<i5Z zg}omLACp-1{gY%{>l`~Lv2!1#;>z}Z5)_Y#b<UjT9_Lz@pPTf?#pq0!#uR(!uZC{5 zKkKT+Gv_W?s+7|5b@@{7eT9!3-TPC%Jlwc8``%^iZnuQbZ|m09`g=C#)y%vvJ6UGo zjFpvo@iw25Kd)J5I+b%r)YQpuZp-OpY3-ca5O?oDli&2|XK%c8W?!`I+X3m_8WTTW zkF+X}pBFJl&@1Yq`E}cXA8WeQe{EtH^uKO+JE?@XIac}4?oaEQikn(b1#b9V`-Ay< z(cGgxihn-+ye_zejm5b!Qz?As^7wYe^|3~ef9{A{z4kTht=R@{LaBv3tZQ<OcSxSL zVl-;){C3wrS#FW{f!M!OX3tj5Vd~ZiUC@zO)Z5f8sbTi}x6GD86?bF1cKOy)Zqpwk zG0iodJJ0%9%cM-nQ%Ij1{m^e}M6lTM-;>27)&||MJNs0PmCfr^#7EPdXBr85^9?RO zy!>2gUX|wRiOtb<U9Z9d_s$aVd8d6ev}b)4dtP}(VC&DKh^^s=?uOloExB*XV`ct# z&dc|6cFmPqykJ++(jy^4xu=qa)}=<y+kY)a+rac;_LAtCPt=YnoohX`Q^jw&fY(9^ z^Dld4duO$6ed4AT==Jrk&b#L7<uZo?4!q5`zpSOh`F!8?MSCZCn{=j3nIdzNS4}>m zYu)q7#xXnp+Fw3h=Wg}A=<fsRbIYpKCcappyZQdP2zE#3eb3Wu6=b_^zABb<DNfAQ z-FjB<YZ|lFU70H{ukCZKl{oyAiT|{F^`$r7?KeBlySAMF9(-M+(m;mqVb+DMO{QV_ z&3-pMn{qO<-t6VLC{S=pI5wkqwT)=sBHnbRCSEJfp!EV7Ten$j_wx5>S;y?X8xmx! z6xo`5_t>$c8X>2Hf`xNG`=5L3bhjmNvr_lt2h}g6)1uk(Ub9JGyqVvBd*iu6JMKj_ z;k&8=jMuHZ)Z8emA?BK_x>n-p((OChy|=tR9CA@R>v71(H$NOgKc1Q)C*Epq+iE?9 zSN@rVo~c+!<<3K*sfYHJ1$(`GwWfPl>9Q<-kNf5ag+d~or2UL+`W;#qNd~Psu_l9M z<%5O7G24}*wPruDw_BSf=-qt!<)>Eu344F$ztvtM!@2*1Y|)JuI~=x7vnmss(mXd! zW#g~2v(>CmuhHDFQtx5u$EOL4qxe_UeqAu{+T+icZ|(D2?Reu3@4v$OO#)}s+*sbF z{GMUgS!eLCKKT!SRlRN1awE%s?x(K3**You)do4AoWyh%J?qR#^D`dJQCT@Dm;Jyj z4W4^9V>7>Ob1ZnIQ)5t5Jn7-;$-3`#?3adEuy5bI@N&iEqEqp%_m>49OaA56y1V~D zN|NRiH;abzinsoAZV}i1lUtMYW<j$`8*{JLkM)1|{CWRR^I7PbpxbX;*M^<u<1Obn z_wUxrKjInd%6`7)J$t|Carl3s>DLb)Jy*P#RoM8Ye%*P4n?WuAm{cU@{;3pWU;qFE C&O`?Q literal 0 HcmV?d00001 diff --git a/static/admin/js/SelectBox.js b/static/admin/js/SelectBox.js new file mode 100644 index 0000000..2073f03 --- /dev/null +++ b/static/admin/js/SelectBox.js @@ -0,0 +1,144 @@ +(function($) { + 'use strict'; + var SelectBox = { + cache: {}, + init: function(id) { + var box = document.getElementById(id); + var node; + SelectBox.cache[id] = []; + var cache = SelectBox.cache[id]; + var boxOptions = box.options; + var boxOptionsLength = boxOptions.length; + for (var i = 0, j = boxOptionsLength; i < j; i++) { + node = boxOptions[i]; + cache.push({value: node.value, text: node.text, displayed: 1}); + } + }, + redisplay: function(id) { + // Repopulate HTML select box from cache + var box = document.getElementById(id); + var node; + $(box).empty(); // clear all options + var new_options = box.outerHTML.slice(0, -9); // grab just the opening tag + var cache = SelectBox.cache[id]; + for (var i = 0, j = cache.length; i < j; i++) { + node = cache[i]; + if (node.displayed) { + var new_option = new Option(node.text, node.value, false, false); + // Shows a tooltip when hovering over the option + new_option.setAttribute("title", node.text); + new_options += new_option.outerHTML; + } + } + new_options += '</select>'; + box.outerHTML = new_options; + }, + filter: function(id, text) { + // Redisplay the HTML select box, displaying only the choices containing ALL + // the words in text. (It's an AND search.) + var tokens = text.toLowerCase().split(/\s+/); + var node, token; + var cache = SelectBox.cache[id]; + for (var i = 0, j = cache.length; i < j; i++) { + node = cache[i]; + node.displayed = 1; + var node_text = node.text.toLowerCase(); + var numTokens = tokens.length; + for (var k = 0; k < numTokens; k++) { + token = tokens[k]; + if (node_text.indexOf(token) === -1) { + node.displayed = 0; + break; // Once the first token isn't found we're done + } + } + } + SelectBox.redisplay(id); + }, + delete_from_cache: function(id, value) { + var node, delete_index = null; + var cache = SelectBox.cache[id]; + for (var i = 0, j = cache.length; i < j; i++) { + node = cache[i]; + if (node.value === value) { + delete_index = i; + break; + } + } + cache.splice(delete_index, 1); + }, + add_to_cache: function(id, option) { + SelectBox.cache[id].push({value: option.value, text: option.text, displayed: 1}); + }, + cache_contains: function(id, value) { + // Check if an item is contained in the cache + var node; + var cache = SelectBox.cache[id]; + for (var i = 0, j = cache.length; i < j; i++) { + node = cache[i]; + if (node.value === value) { + return true; + } + } + return false; + }, + move: function(from, to) { + var from_box = document.getElementById(from); + var option; + var boxOptions = from_box.options; + var boxOptionsLength = boxOptions.length; + for (var i = 0, j = boxOptionsLength; i < j; i++) { + option = boxOptions[i]; + var option_value = option.value; + if (option.selected && SelectBox.cache_contains(from, option_value)) { + SelectBox.add_to_cache(to, {value: option_value, text: option.text, displayed: 1}); + SelectBox.delete_from_cache(from, option_value); + } + } + SelectBox.redisplay(from); + SelectBox.redisplay(to); + }, + move_all: function(from, to) { + var from_box = document.getElementById(from); + var option; + var boxOptions = from_box.options; + var boxOptionsLength = boxOptions.length; + for (var i = 0, j = boxOptionsLength; i < j; i++) { + option = boxOptions[i]; + var option_value = option.value; + if (SelectBox.cache_contains(from, option_value)) { + SelectBox.add_to_cache(to, {value: option_value, text: option.text, displayed: 1}); + SelectBox.delete_from_cache(from, option_value); + } + } + SelectBox.redisplay(from); + SelectBox.redisplay(to); + }, + sort: function(id) { + SelectBox.cache[id].sort(function(a, b) { + a = a.text.toLowerCase(); + b = b.text.toLowerCase(); + try { + if (a > b) { + return 1; + } + if (a < b) { + return -1; + } + } + catch (e) { + // silently fail on IE 'unknown' exception + } + return 0; + } ); + }, + select_all: function(id) { + var box = document.getElementById(id); + var boxOptions = box.options; + var boxOptionsLength = boxOptions.length; + for (var i = 0; i < boxOptionsLength; i++) { + boxOptions[i].selected = 'selected'; + } + } + }; + window.SelectBox = SelectBox; +})(django.jQuery); diff --git a/static/admin/js/SelectBox.js.gz b/static/admin/js/SelectBox.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..1736d8c1a16a61f5f5033765719ea1f780e432d8 GIT binary patch literal 1184 zcmb2|=3oE;rvGmvZs*;06R7<j&eNozk~p(VE<1{Gj)?>B3e#Ip&YHG}T22aERK{AA z8ENq4{oL3f5q)phtl4Iahs5utrKLZgvva~b6XAuAf_AL8t=P$6HAlzQBlM8-Q<i5Z zg}omLACp-1{gY%{>l`~Lv2!1#;>z}Z5)_Y#b<UjT9_Lz@pPTf?#pq0!#uR(!uZC{5 zKkKT+Gv_W?s+7|5b@@{7eT9!3-TPC%Jlwc8``%^iZnuQbZ|m09`g=C#)y%vvJ6UGo zjFpvo@iw25Kd)J5I+b%r)YQpuZp-OpY3-ca5O?oDli&2|XK%c8W?!`I+X3m_8WTTW zkF+X}pBFJl&@1Yq`E}cXA8WeQe{EtH^uKO+JE?@XIac}4?oaEQikn(b1#b9V`-Ay< z(cGgxihn-+ye_zejm5b!Qz?As^7wYe^|3~ef9{A{z4kTht=R@{LaBv3tZQ<OcSxSL zVl-;){C3wrS#FW{f!M!OX3tj5Vd~ZiUC@zO)Z5f8sbTi}x6GD86?bF1cKOy)Zqpwk zG0iodJJ0%9%cM-nQ%Ij1{m^e}M6lTM-;>27)&||MJNs0PmCfr^#7EPdXBr85^9?RO zy!>2gUX|wRiOtb<U9Z9d_s$aVd8d6ev}b)4dtP}(VC&DKh^^s=?uOloExB*XV`ct# z&dc|6cFmPqykJ++(jy^4xu=qa)}=<y+kY)a+rac;_LAtCPt=YnoohX`Q^jw&fY(9^ z^Dld4duO$6ed4AT==Jrk&b#L7<uZo?4!q5`zpSOh`F!8?MSCZCn{=j3nIdzNS4}>m zYu)q7#xXnp+Fw3h=Wg}A=<fsRbIYpKCcappyZQdP2zE#3eb3Wu6=b_^zABb<DNfAQ z-FjB<YZ|lFU70H{ukCZKl{oyAiT|{F^`$r7?KeBlySAMF9(-M+(m;mqVb+DMO{QV_ z&3-pMn{qO<-t6VLC{S=pI5wkqwT)=sBHnbRCSEJfp!EV7Ten$j_wx5>S;y?X8xmx! z6xo`5_t>$c8X>2Hf`xNG`=5L3bhjmNvr_lt2h}g6)1uk(Ub9JGyqVvBd*iu6JMKj_ z;k&8=jMuHZ)Z8emA?BK_x>n-p((OChy|=tR9CA@R>v71(H$NOgKc1Q)C*Epq+iE?9 zSN@rVo~c+!<<3K*sfYHJ1$(`GwWfPl>9Q<-kNf5ag+d~or2UL+`W;#qNd~Psu_l9M z<%5O7G24}*wPruDw_BSf=-qt!<)>Eu344F$ztvtM!@2*1Y|)JuI~=x7vnmss(mXd! zW#g~2v(>CmuhHDFQtx5u$EOL4qxe_UeqAu{+T+icZ|(D2?Reu3@4v$OO#)}s+*sbF z{GMUgS!eLCKKT!SRlRN1awE%s?x(K3**You)do4AoWyh%J?qR#^D`dJQCT@Dm;Jyj z4W4^9V>7>Ob1ZnIQ)5t5Jn7-;$-3`#?3adEuy5bI@N&iEqEqp%_m>49OaA56y1V~D zN|NRiH;abzinsoAZV}i1lUtMYW<j$`8*{JLkM)1|{CWRR^I7PbpxbX;*M^<u<1Obn z_wUxrKjInd%6`7)J$t|Carl3s>DLb)Jy*P#RoM8Ye%*P4n?WuAm{cU@{;3pWU;qFE C&O`?Q literal 0 HcmV?d00001 diff --git a/static/admin/js/SelectFilter2.c26733924aea.js b/static/admin/js/SelectFilter2.c26733924aea.js new file mode 100644 index 0000000..46056b8 --- /dev/null +++ b/static/admin/js/SelectFilter2.c26733924aea.js @@ -0,0 +1,246 @@ +/*global SelectBox, gettext, interpolate, quickElement, SelectFilter*/ +/* +SelectFilter2 - Turns a multiple-select box into a filter interface. + +Requires jQuery, core.js, and SelectBox.js. +*/ +(function($) { + 'use strict'; + function findForm(node) { + // returns the node of the form containing the given node + if (node.tagName.toLowerCase() !== 'form') { + return findForm(node.parentNode); + } + return node; + } + + window.SelectFilter = { + init: function(field_id, field_name, is_stacked) { + if (field_id.match(/__prefix__/)) { + // Don't initialize on empty forms. + return; + } + var from_box = document.getElementById(field_id); + from_box.id += '_from'; // change its ID + from_box.className = 'filtered'; + + var ps = from_box.parentNode.getElementsByTagName('p'); + for (var i = 0; i < ps.length; i++) { + if (ps[i].className.indexOf("info") !== -1) { + // Remove <p class="info">, because it just gets in the way. + from_box.parentNode.removeChild(ps[i]); + } else if (ps[i].className.indexOf("help") !== -1) { + // Move help text up to the top so it isn't below the select + // boxes or wrapped off on the side to the right of the add + // button: + from_box.parentNode.insertBefore(ps[i], from_box.parentNode.firstChild); + } + } + + // <div class="selector"> or <div class="selector stacked"> + var selector_div = quickElement('div', from_box.parentNode); + selector_div.className = is_stacked ? 'selector stacked' : 'selector'; + + // <div class="selector-available"> + var selector_available = quickElement('div', selector_div); + selector_available.className = 'selector-available'; + var title_available = quickElement('h2', selector_available, interpolate(gettext('Available %s') + ' ', [field_name])); + quickElement( + 'span', title_available, '', + 'class', 'help help-tooltip help-icon', + 'title', interpolate( + gettext( + 'This is the list of available %s. You may choose some by ' + + 'selecting them in the box below and then clicking the ' + + '"Choose" arrow between the two boxes.' + ), + [field_name] + ) + ); + + var filter_p = quickElement('p', selector_available, '', 'id', field_id + '_filter'); + filter_p.className = 'selector-filter'; + + var search_filter_label = quickElement('label', filter_p, '', 'for', field_id + '_input'); + + quickElement( + 'span', search_filter_label, '', + 'class', 'help-tooltip search-label-icon', + 'title', interpolate(gettext("Type into this box to filter down the list of available %s."), [field_name]) + ); + + filter_p.appendChild(document.createTextNode(' ')); + + var filter_input = quickElement('input', filter_p, '', 'type', 'text', 'placeholder', gettext("Filter")); + filter_input.id = field_id + '_input'; + + selector_available.appendChild(from_box); + var choose_all = quickElement('a', selector_available, gettext('Choose all'), 'title', interpolate(gettext('Click to choose all %s at once.'), [field_name]), 'href', '#', 'id', field_id + '_add_all_link'); + choose_all.className = 'selector-chooseall'; + + // <ul class="selector-chooser"> + var selector_chooser = quickElement('ul', selector_div); + selector_chooser.className = 'selector-chooser'; + var add_link = quickElement('a', quickElement('li', selector_chooser), gettext('Choose'), 'title', gettext('Choose'), 'href', '#', 'id', field_id + '_add_link'); + add_link.className = 'selector-add'; + var remove_link = quickElement('a', quickElement('li', selector_chooser), gettext('Remove'), 'title', gettext('Remove'), 'href', '#', 'id', field_id + '_remove_link'); + remove_link.className = 'selector-remove'; + + // <div class="selector-chosen"> + var selector_chosen = quickElement('div', selector_div); + selector_chosen.className = 'selector-chosen'; + var title_chosen = quickElement('h2', selector_chosen, interpolate(gettext('Chosen %s') + ' ', [field_name])); + quickElement( + 'span', title_chosen, '', + 'class', 'help help-tooltip help-icon', + 'title', interpolate( + gettext( + 'This is the list of chosen %s. You may remove some by ' + + 'selecting them in the box below and then clicking the ' + + '"Remove" arrow between the two boxes.' + ), + [field_name] + ) + ); + + var to_box = quickElement('select', selector_chosen, '', 'id', field_id + '_to', 'multiple', 'multiple', 'size', from_box.size, 'name', from_box.getAttribute('name')); + to_box.className = 'filtered'; + var clear_all = quickElement('a', selector_chosen, gettext('Remove all'), 'title', interpolate(gettext('Click to remove all chosen %s at once.'), [field_name]), 'href', '#', 'id', field_id + '_remove_all_link'); + clear_all.className = 'selector-clearall'; + + from_box.setAttribute('name', from_box.getAttribute('name') + '_old'); + + // Set up the JavaScript event handlers for the select box filter interface + var move_selection = function(e, elem, move_func, from, to) { + if (elem.className.indexOf('active') !== -1) { + move_func(from, to); + SelectFilter.refresh_icons(field_id); + } + e.preventDefault(); + }; + choose_all.addEventListener('click', function(e) { + move_selection(e, this, SelectBox.move_all, field_id + '_from', field_id + '_to'); + }); + add_link.addEventListener('click', function(e) { + move_selection(e, this, SelectBox.move, field_id + '_from', field_id + '_to'); + }); + remove_link.addEventListener('click', function(e) { + move_selection(e, this, SelectBox.move, field_id + '_to', field_id + '_from'); + }); + clear_all.addEventListener('click', function(e) { + move_selection(e, this, SelectBox.move_all, field_id + '_to', field_id + '_from'); + }); + filter_input.addEventListener('keypress', function(e) { + SelectFilter.filter_key_press(e, field_id); + }); + filter_input.addEventListener('keyup', function(e) { + SelectFilter.filter_key_up(e, field_id); + }); + filter_input.addEventListener('keydown', function(e) { + SelectFilter.filter_key_down(e, field_id); + }); + selector_div.addEventListener('change', function(e) { + if (e.target.tagName === 'SELECT') { + SelectFilter.refresh_icons(field_id); + } + }); + selector_div.addEventListener('dblclick', function(e) { + if (e.target.tagName === 'OPTION') { + if (e.target.closest('select').id === field_id + '_to') { + SelectBox.move(field_id + '_to', field_id + '_from'); + } else { + SelectBox.move(field_id + '_from', field_id + '_to'); + } + SelectFilter.refresh_icons(field_id); + } + }); + findForm(from_box).addEventListener('submit', function() { + SelectBox.select_all(field_id + '_to'); + }); + SelectBox.init(field_id + '_from'); + SelectBox.init(field_id + '_to'); + // Move selected from_box options to to_box + SelectBox.move(field_id + '_from', field_id + '_to'); + + if (!is_stacked) { + // In horizontal mode, give the same height to the two boxes. + var j_from_box = $('#' + field_id + '_from'); + var j_to_box = $('#' + field_id + '_to'); + j_to_box.height($(filter_p).outerHeight() + j_from_box.outerHeight()); + } + + // Initial icon refresh + SelectFilter.refresh_icons(field_id); + }, + any_selected: function(field) { + var any_selected = false; + try { + // Temporarily add the required attribute and check validity. + // This is much faster in WebKit browsers than the fallback. + field.attr('required', 'required'); + any_selected = field.is(':valid'); + } catch (e) { + // Browsers that don't support :valid (IE < 10) + any_selected = field.find('option:selected').length > 0; + } + field.removeAttr('required'); + return any_selected; + }, + refresh_icons: function(field_id) { + var from = $('#' + field_id + '_from'); + var to = $('#' + field_id + '_to'); + // Active if at least one item is selected + $('#' + field_id + '_add_link').toggleClass('active', SelectFilter.any_selected(from)); + $('#' + field_id + '_remove_link').toggleClass('active', SelectFilter.any_selected(to)); + // Active if the corresponding box isn't empty + $('#' + field_id + '_add_all_link').toggleClass('active', from.find('option').length > 0); + $('#' + field_id + '_remove_all_link').toggleClass('active', to.find('option').length > 0); + }, + filter_key_press: function(event, field_id) { + var from = document.getElementById(field_id + '_from'); + // don't submit form if user pressed Enter + if ((event.which && event.which === 13) || (event.keyCode && event.keyCode === 13)) { + from.selectedIndex = 0; + SelectBox.move(field_id + '_from', field_id + '_to'); + from.selectedIndex = 0; + event.preventDefault(); + return false; + } + }, + filter_key_up: function(event, field_id) { + var from = document.getElementById(field_id + '_from'); + var temp = from.selectedIndex; + SelectBox.filter(field_id + '_from', document.getElementById(field_id + '_input').value); + from.selectedIndex = temp; + return true; + }, + filter_key_down: function(event, field_id) { + var from = document.getElementById(field_id + '_from'); + // right arrow -- move across + if ((event.which && event.which === 39) || (event.keyCode && event.keyCode === 39)) { + var old_index = from.selectedIndex; + SelectBox.move(field_id + '_from', field_id + '_to'); + from.selectedIndex = (old_index === from.length) ? from.length - 1 : old_index; + return false; + } + // down arrow -- wrap around + if ((event.which && event.which === 40) || (event.keyCode && event.keyCode === 40)) { + from.selectedIndex = (from.length === from.selectedIndex + 1) ? 0 : from.selectedIndex + 1; + } + // up arrow -- wrap around + if ((event.which && event.which === 38) || (event.keyCode && event.keyCode === 38)) { + from.selectedIndex = (from.selectedIndex === 0) ? from.length - 1 : from.selectedIndex - 1; + } + return true; + } + }; + + window.addEventListener('load', function(e) { + $('select.selectfilter, select.selectfilterstacked').each(function() { + var $el = $(this), + data = $el.data(); + SelectFilter.init($el.attr('id'), data.fieldName, parseInt(data.isStacked, 10)); + }); + }); + +})(django.jQuery); diff --git a/static/admin/js/SelectFilter2.c26733924aea.js.gz b/static/admin/js/SelectFilter2.c26733924aea.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..3d851e6f161ffd1c677e521d3755c7cef72329cf GIT binary patch literal 2749 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 literal 0 HcmV?d00001 diff --git a/static/admin/js/SelectFilter2.js b/static/admin/js/SelectFilter2.js new file mode 100644 index 0000000..46056b8 --- /dev/null +++ b/static/admin/js/SelectFilter2.js @@ -0,0 +1,246 @@ +/*global SelectBox, gettext, interpolate, quickElement, SelectFilter*/ +/* +SelectFilter2 - Turns a multiple-select box into a filter interface. + +Requires jQuery, core.js, and SelectBox.js. +*/ +(function($) { + 'use strict'; + function findForm(node) { + // returns the node of the form containing the given node + if (node.tagName.toLowerCase() !== 'form') { + return findForm(node.parentNode); + } + return node; + } + + window.SelectFilter = { + init: function(field_id, field_name, is_stacked) { + if (field_id.match(/__prefix__/)) { + // Don't initialize on empty forms. + return; + } + var from_box = document.getElementById(field_id); + from_box.id += '_from'; // change its ID + from_box.className = 'filtered'; + + var ps = from_box.parentNode.getElementsByTagName('p'); + for (var i = 0; i < ps.length; i++) { + if (ps[i].className.indexOf("info") !== -1) { + // Remove <p class="info">, because it just gets in the way. + from_box.parentNode.removeChild(ps[i]); + } else if (ps[i].className.indexOf("help") !== -1) { + // Move help text up to the top so it isn't below the select + // boxes or wrapped off on the side to the right of the add + // button: + from_box.parentNode.insertBefore(ps[i], from_box.parentNode.firstChild); + } + } + + // <div class="selector"> or <div class="selector stacked"> + var selector_div = quickElement('div', from_box.parentNode); + selector_div.className = is_stacked ? 'selector stacked' : 'selector'; + + // <div class="selector-available"> + var selector_available = quickElement('div', selector_div); + selector_available.className = 'selector-available'; + var title_available = quickElement('h2', selector_available, interpolate(gettext('Available %s') + ' ', [field_name])); + quickElement( + 'span', title_available, '', + 'class', 'help help-tooltip help-icon', + 'title', interpolate( + gettext( + 'This is the list of available %s. You may choose some by ' + + 'selecting them in the box below and then clicking the ' + + '"Choose" arrow between the two boxes.' + ), + [field_name] + ) + ); + + var filter_p = quickElement('p', selector_available, '', 'id', field_id + '_filter'); + filter_p.className = 'selector-filter'; + + var search_filter_label = quickElement('label', filter_p, '', 'for', field_id + '_input'); + + quickElement( + 'span', search_filter_label, '', + 'class', 'help-tooltip search-label-icon', + 'title', interpolate(gettext("Type into this box to filter down the list of available %s."), [field_name]) + ); + + filter_p.appendChild(document.createTextNode(' ')); + + var filter_input = quickElement('input', filter_p, '', 'type', 'text', 'placeholder', gettext("Filter")); + filter_input.id = field_id + '_input'; + + selector_available.appendChild(from_box); + var choose_all = quickElement('a', selector_available, gettext('Choose all'), 'title', interpolate(gettext('Click to choose all %s at once.'), [field_name]), 'href', '#', 'id', field_id + '_add_all_link'); + choose_all.className = 'selector-chooseall'; + + // <ul class="selector-chooser"> + var selector_chooser = quickElement('ul', selector_div); + selector_chooser.className = 'selector-chooser'; + var add_link = quickElement('a', quickElement('li', selector_chooser), gettext('Choose'), 'title', gettext('Choose'), 'href', '#', 'id', field_id + '_add_link'); + add_link.className = 'selector-add'; + var remove_link = quickElement('a', quickElement('li', selector_chooser), gettext('Remove'), 'title', gettext('Remove'), 'href', '#', 'id', field_id + '_remove_link'); + remove_link.className = 'selector-remove'; + + // <div class="selector-chosen"> + var selector_chosen = quickElement('div', selector_div); + selector_chosen.className = 'selector-chosen'; + var title_chosen = quickElement('h2', selector_chosen, interpolate(gettext('Chosen %s') + ' ', [field_name])); + quickElement( + 'span', title_chosen, '', + 'class', 'help help-tooltip help-icon', + 'title', interpolate( + gettext( + 'This is the list of chosen %s. You may remove some by ' + + 'selecting them in the box below and then clicking the ' + + '"Remove" arrow between the two boxes.' + ), + [field_name] + ) + ); + + var to_box = quickElement('select', selector_chosen, '', 'id', field_id + '_to', 'multiple', 'multiple', 'size', from_box.size, 'name', from_box.getAttribute('name')); + to_box.className = 'filtered'; + var clear_all = quickElement('a', selector_chosen, gettext('Remove all'), 'title', interpolate(gettext('Click to remove all chosen %s at once.'), [field_name]), 'href', '#', 'id', field_id + '_remove_all_link'); + clear_all.className = 'selector-clearall'; + + from_box.setAttribute('name', from_box.getAttribute('name') + '_old'); + + // Set up the JavaScript event handlers for the select box filter interface + var move_selection = function(e, elem, move_func, from, to) { + if (elem.className.indexOf('active') !== -1) { + move_func(from, to); + SelectFilter.refresh_icons(field_id); + } + e.preventDefault(); + }; + choose_all.addEventListener('click', function(e) { + move_selection(e, this, SelectBox.move_all, field_id + '_from', field_id + '_to'); + }); + add_link.addEventListener('click', function(e) { + move_selection(e, this, SelectBox.move, field_id + '_from', field_id + '_to'); + }); + remove_link.addEventListener('click', function(e) { + move_selection(e, this, SelectBox.move, field_id + '_to', field_id + '_from'); + }); + clear_all.addEventListener('click', function(e) { + move_selection(e, this, SelectBox.move_all, field_id + '_to', field_id + '_from'); + }); + filter_input.addEventListener('keypress', function(e) { + SelectFilter.filter_key_press(e, field_id); + }); + filter_input.addEventListener('keyup', function(e) { + SelectFilter.filter_key_up(e, field_id); + }); + filter_input.addEventListener('keydown', function(e) { + SelectFilter.filter_key_down(e, field_id); + }); + selector_div.addEventListener('change', function(e) { + if (e.target.tagName === 'SELECT') { + SelectFilter.refresh_icons(field_id); + } + }); + selector_div.addEventListener('dblclick', function(e) { + if (e.target.tagName === 'OPTION') { + if (e.target.closest('select').id === field_id + '_to') { + SelectBox.move(field_id + '_to', field_id + '_from'); + } else { + SelectBox.move(field_id + '_from', field_id + '_to'); + } + SelectFilter.refresh_icons(field_id); + } + }); + findForm(from_box).addEventListener('submit', function() { + SelectBox.select_all(field_id + '_to'); + }); + SelectBox.init(field_id + '_from'); + SelectBox.init(field_id + '_to'); + // Move selected from_box options to to_box + SelectBox.move(field_id + '_from', field_id + '_to'); + + if (!is_stacked) { + // In horizontal mode, give the same height to the two boxes. + var j_from_box = $('#' + field_id + '_from'); + var j_to_box = $('#' + field_id + '_to'); + j_to_box.height($(filter_p).outerHeight() + j_from_box.outerHeight()); + } + + // Initial icon refresh + SelectFilter.refresh_icons(field_id); + }, + any_selected: function(field) { + var any_selected = false; + try { + // Temporarily add the required attribute and check validity. + // This is much faster in WebKit browsers than the fallback. + field.attr('required', 'required'); + any_selected = field.is(':valid'); + } catch (e) { + // Browsers that don't support :valid (IE < 10) + any_selected = field.find('option:selected').length > 0; + } + field.removeAttr('required'); + return any_selected; + }, + refresh_icons: function(field_id) { + var from = $('#' + field_id + '_from'); + var to = $('#' + field_id + '_to'); + // Active if at least one item is selected + $('#' + field_id + '_add_link').toggleClass('active', SelectFilter.any_selected(from)); + $('#' + field_id + '_remove_link').toggleClass('active', SelectFilter.any_selected(to)); + // Active if the corresponding box isn't empty + $('#' + field_id + '_add_all_link').toggleClass('active', from.find('option').length > 0); + $('#' + field_id + '_remove_all_link').toggleClass('active', to.find('option').length > 0); + }, + filter_key_press: function(event, field_id) { + var from = document.getElementById(field_id + '_from'); + // don't submit form if user pressed Enter + if ((event.which && event.which === 13) || (event.keyCode && event.keyCode === 13)) { + from.selectedIndex = 0; + SelectBox.move(field_id + '_from', field_id + '_to'); + from.selectedIndex = 0; + event.preventDefault(); + return false; + } + }, + filter_key_up: function(event, field_id) { + var from = document.getElementById(field_id + '_from'); + var temp = from.selectedIndex; + SelectBox.filter(field_id + '_from', document.getElementById(field_id + '_input').value); + from.selectedIndex = temp; + return true; + }, + filter_key_down: function(event, field_id) { + var from = document.getElementById(field_id + '_from'); + // right arrow -- move across + if ((event.which && event.which === 39) || (event.keyCode && event.keyCode === 39)) { + var old_index = from.selectedIndex; + SelectBox.move(field_id + '_from', field_id + '_to'); + from.selectedIndex = (old_index === from.length) ? from.length - 1 : old_index; + return false; + } + // down arrow -- wrap around + if ((event.which && event.which === 40) || (event.keyCode && event.keyCode === 40)) { + from.selectedIndex = (from.length === from.selectedIndex + 1) ? 0 : from.selectedIndex + 1; + } + // up arrow -- wrap around + if ((event.which && event.which === 38) || (event.keyCode && event.keyCode === 38)) { + from.selectedIndex = (from.selectedIndex === 0) ? from.length - 1 : from.selectedIndex - 1; + } + return true; + } + }; + + window.addEventListener('load', function(e) { + $('select.selectfilter, select.selectfilterstacked').each(function() { + var $el = $(this), + data = $el.data(); + SelectFilter.init($el.attr('id'), data.fieldName, parseInt(data.isStacked, 10)); + }); + }); + +})(django.jQuery); diff --git a/static/admin/js/SelectFilter2.js.gz b/static/admin/js/SelectFilter2.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..3d851e6f161ffd1c677e521d3755c7cef72329cf GIT binary patch literal 2749 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 literal 0 HcmV?d00001 diff --git a/static/admin/js/actions.8d83e3af0fbd.js b/static/admin/js/actions.8d83e3af0fbd.js new file mode 100644 index 0000000..27c60a6 --- /dev/null +++ b/static/admin/js/actions.8d83e3af0fbd.js @@ -0,0 +1,153 @@ +/*global gettext, interpolate, ngettext*/ +(function($) { + 'use strict'; + var lastChecked; + + $.fn.actions = function(opts) { + var options = $.extend({}, $.fn.actions.defaults, opts); + var actionCheckboxes = $(this); + var list_editable_changed = false; + var showQuestion = function() { + $(options.acrossClears).hide(); + $(options.acrossQuestions).show(); + $(options.allContainer).hide(); + }, + showClear = function() { + $(options.acrossClears).show(); + $(options.acrossQuestions).hide(); + $(options.actionContainer).toggleClass(options.selectedClass); + $(options.allContainer).show(); + $(options.counterContainer).hide(); + }, + reset = function() { + $(options.acrossClears).hide(); + $(options.acrossQuestions).hide(); + $(options.allContainer).hide(); + $(options.counterContainer).show(); + }, + clearAcross = function() { + reset(); + $(options.acrossInput).val(0); + $(options.actionContainer).removeClass(options.selectedClass); + }, + checker = function(checked) { + if (checked) { + showQuestion(); + } else { + reset(); + } + $(actionCheckboxes).prop("checked", checked) + .parent().parent().toggleClass(options.selectedClass, checked); + }, + updateCounter = function() { + var sel = $(actionCheckboxes).filter(":checked").length; + // data-actions-icnt is defined in the generated HTML + // and contains the total amount of objects in the queryset + var actions_icnt = $('.action-counter').data('actionsIcnt'); + $(options.counterContainer).html(interpolate( + ngettext('%(sel)s of %(cnt)s selected', '%(sel)s of %(cnt)s selected', sel), { + sel: sel, + cnt: actions_icnt + }, true)); + $(options.allToggle).prop("checked", function() { + var value; + if (sel === actionCheckboxes.length) { + value = true; + showQuestion(); + } else { + value = false; + clearAcross(); + } + return value; + }); + }; + // Show counter by default + $(options.counterContainer).show(); + // Check state of checkboxes and reinit state if needed + $(this).filter(":checked").each(function(i) { + $(this).parent().parent().toggleClass(options.selectedClass); + updateCounter(); + if ($(options.acrossInput).val() === 1) { + showClear(); + } + }); + $(options.allToggle).show().on('click', function() { + checker($(this).prop("checked")); + updateCounter(); + }); + $("a", options.acrossQuestions).on('click', function(event) { + event.preventDefault(); + $(options.acrossInput).val(1); + showClear(); + }); + $("a", options.acrossClears).on('click', function(event) { + event.preventDefault(); + $(options.allToggle).prop("checked", false); + clearAcross(); + checker(0); + updateCounter(); + }); + lastChecked = null; + $(actionCheckboxes).on('click', function(event) { + if (!event) { event = window.event; } + var target = event.target ? event.target : event.srcElement; + if (lastChecked && $.data(lastChecked) !== $.data(target) && event.shiftKey === true) { + var inrange = false; + $(lastChecked).prop("checked", target.checked) + .parent().parent().toggleClass(options.selectedClass, target.checked); + $(actionCheckboxes).each(function() { + if ($.data(this) === $.data(lastChecked) || $.data(this) === $.data(target)) { + inrange = (inrange) ? false : true; + } + if (inrange) { + $(this).prop("checked", target.checked) + .parent().parent().toggleClass(options.selectedClass, target.checked); + } + }); + } + $(target).parent().parent().toggleClass(options.selectedClass, target.checked); + lastChecked = target; + updateCounter(); + }); + $('form#changelist-form table#result_list tr').on('change', 'td:gt(0) :input', function() { + list_editable_changed = true; + }); + $('form#changelist-form button[name="index"]').on('click', function(event) { + if (list_editable_changed) { + return confirm(gettext("You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost.")); + } + }); + $('form#changelist-form input[name="_save"]').on('click', function(event) { + var action_changed = false; + $('select option:selected', options.actionContainer).each(function() { + if ($(this).val()) { + action_changed = true; + } + }); + if (action_changed) { + if (list_editable_changed) { + return confirm(gettext("You have selected an action, but you haven't saved your changes to individual fields yet. Please click OK to save. You'll need to re-run the action.")); + } else { + return confirm(gettext("You have selected an action, and you haven't made any changes on individual fields. You're probably looking for the Go button rather than the Save button.")); + } + } + }); + }; + /* Setup plugin defaults */ + $.fn.actions.defaults = { + actionContainer: "div.actions", + counterContainer: "span.action-counter", + allContainer: "div.actions span.all", + acrossInput: "div.actions input.select-across", + acrossQuestions: "div.actions span.question", + acrossClears: "div.actions span.clear", + allToggle: "#action-toggle", + selectedClass: "selected" + }; + $(document).ready(function() { + var $actionsEls = $('tr input.action-select'); + if ($actionsEls.length > 0) { + $actionsEls.actions(); + } + }); +})(django.jQuery); diff --git a/static/admin/js/actions.8d83e3af0fbd.js.gz b/static/admin/js/actions.8d83e3af0fbd.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..95a332b230d9183e2fd13ff276b9190bc9db4740 GIT binary patch literal 1593 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 Vf1d*5Cq2AWuk?nWD^H4n0RU-m7n1-0 literal 0 HcmV?d00001 diff --git a/static/admin/js/actions.js b/static/admin/js/actions.js new file mode 100644 index 0000000..27c60a6 --- /dev/null +++ b/static/admin/js/actions.js @@ -0,0 +1,153 @@ +/*global gettext, interpolate, ngettext*/ +(function($) { + 'use strict'; + var lastChecked; + + $.fn.actions = function(opts) { + var options = $.extend({}, $.fn.actions.defaults, opts); + var actionCheckboxes = $(this); + var list_editable_changed = false; + var showQuestion = function() { + $(options.acrossClears).hide(); + $(options.acrossQuestions).show(); + $(options.allContainer).hide(); + }, + showClear = function() { + $(options.acrossClears).show(); + $(options.acrossQuestions).hide(); + $(options.actionContainer).toggleClass(options.selectedClass); + $(options.allContainer).show(); + $(options.counterContainer).hide(); + }, + reset = function() { + $(options.acrossClears).hide(); + $(options.acrossQuestions).hide(); + $(options.allContainer).hide(); + $(options.counterContainer).show(); + }, + clearAcross = function() { + reset(); + $(options.acrossInput).val(0); + $(options.actionContainer).removeClass(options.selectedClass); + }, + checker = function(checked) { + if (checked) { + showQuestion(); + } else { + reset(); + } + $(actionCheckboxes).prop("checked", checked) + .parent().parent().toggleClass(options.selectedClass, checked); + }, + updateCounter = function() { + var sel = $(actionCheckboxes).filter(":checked").length; + // data-actions-icnt is defined in the generated HTML + // and contains the total amount of objects in the queryset + var actions_icnt = $('.action-counter').data('actionsIcnt'); + $(options.counterContainer).html(interpolate( + ngettext('%(sel)s of %(cnt)s selected', '%(sel)s of %(cnt)s selected', sel), { + sel: sel, + cnt: actions_icnt + }, true)); + $(options.allToggle).prop("checked", function() { + var value; + if (sel === actionCheckboxes.length) { + value = true; + showQuestion(); + } else { + value = false; + clearAcross(); + } + return value; + }); + }; + // Show counter by default + $(options.counterContainer).show(); + // Check state of checkboxes and reinit state if needed + $(this).filter(":checked").each(function(i) { + $(this).parent().parent().toggleClass(options.selectedClass); + updateCounter(); + if ($(options.acrossInput).val() === 1) { + showClear(); + } + }); + $(options.allToggle).show().on('click', function() { + checker($(this).prop("checked")); + updateCounter(); + }); + $("a", options.acrossQuestions).on('click', function(event) { + event.preventDefault(); + $(options.acrossInput).val(1); + showClear(); + }); + $("a", options.acrossClears).on('click', function(event) { + event.preventDefault(); + $(options.allToggle).prop("checked", false); + clearAcross(); + checker(0); + updateCounter(); + }); + lastChecked = null; + $(actionCheckboxes).on('click', function(event) { + if (!event) { event = window.event; } + var target = event.target ? event.target : event.srcElement; + if (lastChecked && $.data(lastChecked) !== $.data(target) && event.shiftKey === true) { + var inrange = false; + $(lastChecked).prop("checked", target.checked) + .parent().parent().toggleClass(options.selectedClass, target.checked); + $(actionCheckboxes).each(function() { + if ($.data(this) === $.data(lastChecked) || $.data(this) === $.data(target)) { + inrange = (inrange) ? false : true; + } + if (inrange) { + $(this).prop("checked", target.checked) + .parent().parent().toggleClass(options.selectedClass, target.checked); + } + }); + } + $(target).parent().parent().toggleClass(options.selectedClass, target.checked); + lastChecked = target; + updateCounter(); + }); + $('form#changelist-form table#result_list tr').on('change', 'td:gt(0) :input', function() { + list_editable_changed = true; + }); + $('form#changelist-form button[name="index"]').on('click', function(event) { + if (list_editable_changed) { + return confirm(gettext("You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost.")); + } + }); + $('form#changelist-form input[name="_save"]').on('click', function(event) { + var action_changed = false; + $('select option:selected', options.actionContainer).each(function() { + if ($(this).val()) { + action_changed = true; + } + }); + if (action_changed) { + if (list_editable_changed) { + return confirm(gettext("You have selected an action, but you haven't saved your changes to individual fields yet. Please click OK to save. You'll need to re-run the action.")); + } else { + return confirm(gettext("You have selected an action, and you haven't made any changes on individual fields. You're probably looking for the Go button rather than the Save button.")); + } + } + }); + }; + /* Setup plugin defaults */ + $.fn.actions.defaults = { + actionContainer: "div.actions", + counterContainer: "span.action-counter", + allContainer: "div.actions span.all", + acrossInput: "div.actions input.select-across", + acrossQuestions: "div.actions span.question", + acrossClears: "div.actions span.clear", + allToggle: "#action-toggle", + selectedClass: "selected" + }; + $(document).ready(function() { + var $actionsEls = $('tr input.action-select'); + if ($actionsEls.length > 0) { + $actionsEls.actions(); + } + }); +})(django.jQuery); diff --git a/static/admin/js/actions.js.gz b/static/admin/js/actions.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..95a332b230d9183e2fd13ff276b9190bc9db4740 GIT binary patch literal 1593 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 Vf1d*5Cq2AWuk?nWD^H4n0RU-m7n1-0 literal 0 HcmV?d00001 diff --git a/static/admin/js/actions.min.5fa8cb0403f1.js b/static/admin/js/actions.min.5fa8cb0403f1.js new file mode 100644 index 0000000..31e83c1 --- /dev/null +++ b/static/admin/js/actions.min.5fa8cb0403f1.js @@ -0,0 +1,7 @@ +(function(a){var f;a.fn.actions=function(e){var b=a.extend({},a.fn.actions.defaults,e),g=a(this),k=!1,l=function(){a(b.acrossClears).hide();a(b.acrossQuestions).show();a(b.allContainer).hide()},m=function(){a(b.acrossClears).show();a(b.acrossQuestions).hide();a(b.actionContainer).toggleClass(b.selectedClass);a(b.allContainer).show();a(b.counterContainer).hide()},n=function(){a(b.acrossClears).hide();a(b.acrossQuestions).hide();a(b.allContainer).hide();a(b.counterContainer).show()},p=function(){n(); +a(b.acrossInput).val(0);a(b.actionContainer).removeClass(b.selectedClass)},q=function(c){c?l():n();a(g).prop("checked",c).parent().parent().toggleClass(b.selectedClass,c)},h=function(){var c=a(g).filter(":checked").length,d=a(".action-counter").data("actionsIcnt");a(b.counterContainer).html(interpolate(ngettext("%(sel)s of %(cnt)s selected","%(sel)s of %(cnt)s selected",c),{sel:c,cnt:d},!0));a(b.allToggle).prop("checked",function(){if(c===g.length){var a=!0;l()}else a=!1,p();return a})};a(b.counterContainer).show(); +a(this).filter(":checked").each(function(c){a(this).parent().parent().toggleClass(b.selectedClass);h();1===a(b.acrossInput).val()&&m()});a(b.allToggle).show().on("click",function(){q(a(this).prop("checked"));h()});a("a",b.acrossQuestions).on("click",function(c){c.preventDefault();a(b.acrossInput).val(1);m()});a("a",b.acrossClears).on("click",function(c){c.preventDefault();a(b.allToggle).prop("checked",!1);p();q(0);h()});f=null;a(g).on("click",function(c){c||(c=window.event);var d=c.target?c.target: +c.srcElement;if(f&&a.data(f)!==a.data(d)&&!0===c.shiftKey){var e=!1;a(f).prop("checked",d.checked).parent().parent().toggleClass(b.selectedClass,d.checked);a(g).each(function(){if(a.data(this)===a.data(f)||a.data(this)===a.data(d))e=e?!1:!0;e&&a(this).prop("checked",d.checked).parent().parent().toggleClass(b.selectedClass,d.checked)})}a(d).parent().parent().toggleClass(b.selectedClass,d.checked);f=d;h()});a("form#changelist-form table#result_list tr").on("change","td:gt(0) :input",function(){k=!0}); +a('form#changelist-form button[name="index"]').on("click",function(a){if(k)return confirm(gettext("You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost."))});a('form#changelist-form input[name="_save"]').on("click",function(c){var d=!1;a("select option:selected",b.actionContainer).each(function(){a(this).val()&&(d=!0)});if(d)return k?confirm(gettext("You have selected an action, but you haven't saved your changes to individual fields yet. Please click OK to save. You'll need to re-run the action.")): +confirm(gettext("You have selected an action, and you haven't made any changes on individual fields. You're probably looking for the Go button rather than the Save button."))})};a.fn.actions.defaults={actionContainer:"div.actions",counterContainer:"span.action-counter",allContainer:"div.actions span.all",acrossInput:"div.actions input.select-across",acrossQuestions:"div.actions span.question",acrossClears:"div.actions span.clear",allToggle:"#action-toggle",selectedClass:"selected"};a(document).ready(function(){var e= +a("tr input.action-select");0<e.length&&e.actions()})})(django.jQuery); diff --git a/static/admin/js/actions.min.5fa8cb0403f1.js.gz b/static/admin/js/actions.min.5fa8cb0403f1.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..f87738f4233dd78f233b5aa2077c7158fcdd0056 GIT binary patch literal 1122 zcmb2|=3oE;rvGch4(2^J6WIGc`~ufCMMl?xbwRB%mlkn+yCC*<sYVy8Z=cTE%u@?B z(s|wg-&54Qxk;J*#3F|tk0%+=&dxS>zO?A-p|GvX=E#=anV|I8bD{7%@!5ZN@FrHz z{LHd1`obi+T@^XAJTxj+=Lj=*hg&Y+wnj>9{pXvtYy9eNG+tJ%OMbPiGUR~o;Yph& zIYgG-`mwn6n02aW@HPFz^Md-fZrgJyp{;*c#piwRKYpLS@BE`(TPIdWuMgvr6U~>p zljqR5LE-Ojky(Kff!l92&1_gzKd0^EJr>?@CialnJ+kb_;=jEVdE%KLeR`5?cu8R^ zH}mYO^44y>Iy+18HwtnhsVl!t2-CSatIAtBuqmRsC#g~UPQ$j6FCX}>{%{nZp8UnH zMd|y#Zm+~$CSL5{bpjWJZ|hN&a;cRox7FRDz4PeTxb^-{w_ju(edBiVlx|-3QQd&O zOxb}yOn&(YDrS4cPB<@8``|HyW!L@tqB?dDqP3Flc&3V<7kd+NdA|*JzJ&DBIMI+N zmHS?8=85@Gv+cx$PkbTF@7~(oQ~Jr4lWp=)_VvB1ZNW|XS2WEUyC?N^Ti>W#(Wawq zc+OU7zKHDX^X44?dHEURn;MlDYHhSz{Ai}!!Z{a@))>6kc@$`K(IfcZoSch-Zw#i- zKP+PX`mo@w>S?)ZOgy@O9N&kpwmWRGuIKzZb!Ru%b<s<m!ehBV|LWqZT)AaUypVi< zs-Lovc;{0#)jtL{OXj;=lK9x*fhV{MY%^M%e_W{0C%(>tHe)ZI{)5f|3_m+AKc zYlo$&=e`N;^7(bVf7`E@hbKJQ`D@Rg>VSQpehMZZjEi4hu97_A@ZmRhN7Wd83W7}j zv!}c<7Jqj<Sg)vZQeNQfv%MOYezKva-_Gq7K0Tc)kH<t~!TP+J5$0F+i0#qrlh?jH z)%EOzEk(0zUrX9_iqFmeaoh9%>1(&5{xAN?_KCxk<^JOO{N-DZ)tX*gGv8>@HP=+L zFBZ!G*F^_?lARD{{=<Kg0Qd1lYA<%)3f=Uyt6@z|(2^AnC)E`FS#LgGzU=79)_S{$ zH`C5Y`|D2)O5t?5+UvXFy=~#;&PuIcd-hrBhkq7wyls?W&2?1i>$Tiv%Ps8+UE;b* z1ETC7YV3-!=<%2>lM!tnqn^iM_KcDH$;(2vU)Lr%bfl*z9KDuY$GkR$-%N4;<Ca6r zhthrOem~N=`<?UPgzX+n*}k-Pv%Qn~yRF4;owE4yqwN!lbk9%7+u>4PRqx8~{8Lth znPqoz=cXIUxvxu?hO?}G!T2}oyOL_#<K59u7+=lj^Sr^G^kUP=-I;YeR>Vjtb{*vL zf6<+6)H_S}`gHToiW*ky&kjvHgEES(tj_uFk@@XdAijp}^<zuZhhKKym(Dpn(Ku1# zPTO$_zUd~rUVdy36gisitkK(ds4Sc{viq7W=eujipU#Vm*{g8;r(ope^o!Pfav#jL o{^0y|`(zCtvyS;yE4QcSYij4#99B6i_xwV=5A&RJ)jSLg08)4$00000 literal 0 HcmV?d00001 diff --git a/static/admin/js/actions.min.js b/static/admin/js/actions.min.js new file mode 100644 index 0000000..31e83c1 --- /dev/null +++ b/static/admin/js/actions.min.js @@ -0,0 +1,7 @@ +(function(a){var f;a.fn.actions=function(e){var b=a.extend({},a.fn.actions.defaults,e),g=a(this),k=!1,l=function(){a(b.acrossClears).hide();a(b.acrossQuestions).show();a(b.allContainer).hide()},m=function(){a(b.acrossClears).show();a(b.acrossQuestions).hide();a(b.actionContainer).toggleClass(b.selectedClass);a(b.allContainer).show();a(b.counterContainer).hide()},n=function(){a(b.acrossClears).hide();a(b.acrossQuestions).hide();a(b.allContainer).hide();a(b.counterContainer).show()},p=function(){n(); +a(b.acrossInput).val(0);a(b.actionContainer).removeClass(b.selectedClass)},q=function(c){c?l():n();a(g).prop("checked",c).parent().parent().toggleClass(b.selectedClass,c)},h=function(){var c=a(g).filter(":checked").length,d=a(".action-counter").data("actionsIcnt");a(b.counterContainer).html(interpolate(ngettext("%(sel)s of %(cnt)s selected","%(sel)s of %(cnt)s selected",c),{sel:c,cnt:d},!0));a(b.allToggle).prop("checked",function(){if(c===g.length){var a=!0;l()}else a=!1,p();return a})};a(b.counterContainer).show(); +a(this).filter(":checked").each(function(c){a(this).parent().parent().toggleClass(b.selectedClass);h();1===a(b.acrossInput).val()&&m()});a(b.allToggle).show().on("click",function(){q(a(this).prop("checked"));h()});a("a",b.acrossQuestions).on("click",function(c){c.preventDefault();a(b.acrossInput).val(1);m()});a("a",b.acrossClears).on("click",function(c){c.preventDefault();a(b.allToggle).prop("checked",!1);p();q(0);h()});f=null;a(g).on("click",function(c){c||(c=window.event);var d=c.target?c.target: +c.srcElement;if(f&&a.data(f)!==a.data(d)&&!0===c.shiftKey){var e=!1;a(f).prop("checked",d.checked).parent().parent().toggleClass(b.selectedClass,d.checked);a(g).each(function(){if(a.data(this)===a.data(f)||a.data(this)===a.data(d))e=e?!1:!0;e&&a(this).prop("checked",d.checked).parent().parent().toggleClass(b.selectedClass,d.checked)})}a(d).parent().parent().toggleClass(b.selectedClass,d.checked);f=d;h()});a("form#changelist-form table#result_list tr").on("change","td:gt(0) :input",function(){k=!0}); +a('form#changelist-form button[name="index"]').on("click",function(a){if(k)return confirm(gettext("You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost."))});a('form#changelist-form input[name="_save"]').on("click",function(c){var d=!1;a("select option:selected",b.actionContainer).each(function(){a(this).val()&&(d=!0)});if(d)return k?confirm(gettext("You have selected an action, but you haven't saved your changes to individual fields yet. Please click OK to save. You'll need to re-run the action.")): +confirm(gettext("You have selected an action, and you haven't made any changes on individual fields. You're probably looking for the Go button rather than the Save button."))})};a.fn.actions.defaults={actionContainer:"div.actions",counterContainer:"span.action-counter",allContainer:"div.actions span.all",acrossInput:"div.actions input.select-across",acrossQuestions:"div.actions span.question",acrossClears:"div.actions span.clear",allToggle:"#action-toggle",selectedClass:"selected"};a(document).ready(function(){var e= +a("tr input.action-select");0<e.length&&e.actions()})})(django.jQuery); diff --git a/static/admin/js/actions.min.js.gz b/static/admin/js/actions.min.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..f87738f4233dd78f233b5aa2077c7158fcdd0056 GIT binary patch literal 1122 zcmb2|=3oE;rvGch4(2^J6WIGc`~ufCMMl?xbwRB%mlkn+yCC*<sYVy8Z=cTE%u@?B z(s|wg-&54Qxk;J*#3F|tk0%+=&dxS>zO?A-p|GvX=E#=anV|I8bD{7%@!5ZN@FrHz z{LHd1`obi+T@^XAJTxj+=Lj=*hg&Y+wnj>9{pXvtYy9eNG+tJ%OMbPiGUR~o;Yph& zIYgG-`mwn6n02aW@HPFz^Md-fZrgJyp{;*c#piwRKYpLS@BE`(TPIdWuMgvr6U~>p zljqR5LE-Ojky(Kff!l92&1_gzKd0^EJr>?@CialnJ+kb_;=jEVdE%KLeR`5?cu8R^ zH}mYO^44y>Iy+18HwtnhsVl!t2-CSatIAtBuqmRsC#g~UPQ$j6FCX}>{%{nZp8UnH zMd|y#Zm+~$CSL5{bpjWJZ|hN&a;cRox7FRDz4PeTxb^-{w_ju(edBiVlx|-3QQd&O zOxb}yOn&(YDrS4cPB<@8``|HyW!L@tqB?dDqP3Flc&3V<7kd+NdA|*JzJ&DBIMI+N zmHS?8=85@Gv+cx$PkbTF@7~(oQ~Jr4lWp=)_VvB1ZNW|XS2WEUyC?N^Ti>W#(Wawq zc+OU7zKHDX^X44?dHEURn;MlDYHhSz{Ai}!!Z{a@))>6kc@$`K(IfcZoSch-Zw#i- zKP+PX`mo@w>S?)ZOgy@O9N&kpwmWRGuIKzZb!Ru%b<s<m!ehBV|LWqZT)AaUypVi< zs-Lovc;{0#)jtL{OXj;=lK9x*fhV{MY%^M%e_W{0C%(>tHe)ZI{)5f|3_m+AKc zYlo$&=e`N;^7(bVf7`E@hbKJQ`D@Rg>VSQpehMZZjEi4hu97_A@ZmRhN7Wd83W7}j zv!}c<7Jqj<Sg)vZQeNQfv%MOYezKva-_Gq7K0Tc)kH<t~!TP+J5$0F+i0#qrlh?jH z)%EOzEk(0zUrX9_iqFmeaoh9%>1(&5{xAN?_KCxk<^JOO{N-DZ)tX*gGv8>@HP=+L zFBZ!G*F^_?lARD{{=<Kg0Qd1lYA<%)3f=Uyt6@z|(2^AnC)E`FS#LgGzU=79)_S{$ zH`C5Y`|D2)O5t?5+UvXFy=~#;&PuIcd-hrBhkq7wyls?W&2?1i>$Tiv%Ps8+UE;b* z1ETC7YV3-!=<%2>lM!tnqn^iM_KcDH$;(2vU)Lr%bfl*z9KDuY$GkR$-%N4;<Ca6r zhthrOem~N=`<?UPgzX+n*}k-Pv%Qn~yRF4;owE4yqwN!lbk9%7+u>4PRqx8~{8Lth znPqoz=cXIUxvxu?hO?}G!T2}oyOL_#<K59u7+=lj^Sr^G^kUP=-I;YeR>Vjtb{*vL zf6<+6)H_S}`gHToiW*ky&kjvHgEES(tj_uFk@@XdAijp}^<zuZhhKKym(Dpn(Ku1# zPTO$_zUd~rUVdy36gisitkK(ds4Sc{viq7W=eujipU#Vm*{g8;r(ope^o!Pfav#jL o{^0y|`(zCtvyS;yE4QcSYij4#99B6i_xwV=5A&RJ)jSLg08)4$00000 literal 0 HcmV?d00001 diff --git a/static/admin/js/admin/DateTimeShortcuts.a9c6d180860b.js b/static/admin/js/admin/DateTimeShortcuts.a9c6d180860b.js new file mode 100644 index 0000000..f803523 --- /dev/null +++ b/static/admin/js/admin/DateTimeShortcuts.a9c6d180860b.js @@ -0,0 +1,423 @@ +/*global Calendar, findPosX, findPosY, get_format, gettext, gettext_noop, interpolate, ngettext, quickElement*/ +// Inserts shortcut buttons after all of the following: +// <input type="text" class="vDateField"> +// <input type="text" class="vTimeField"> +(function() { + 'use strict'; + var DateTimeShortcuts = { + calendars: [], + calendarInputs: [], + clockInputs: [], + clockHours: { + default_: [ + [gettext_noop('Now'), -1], + [gettext_noop('Midnight'), 0], + [gettext_noop('6 a.m.'), 6], + [gettext_noop('Noon'), 12], + [gettext_noop('6 p.m.'), 18] + ] + }, + dismissClockFunc: [], + dismissCalendarFunc: [], + calendarDivName1: 'calendarbox', // name of calendar <div> that gets toggled + calendarDivName2: 'calendarin', // name of <div> that contains calendar + calendarLinkName: 'calendarlink', // name of the link that is used to toggle + clockDivName: 'clockbox', // name of clock <div> that gets toggled + clockLinkName: 'clocklink', // name of the link that is used to toggle + shortCutsClass: 'datetimeshortcuts', // class of the clock and cal shortcuts + timezoneWarningClass: 'timezonewarning', // class of the warning for timezone mismatch + timezoneOffset: 0, + init: function() { + var body = document.getElementsByTagName('body')[0]; + var serverOffset = body.getAttribute('data-admin-utc-offset'); + if (serverOffset) { + var localOffset = new Date().getTimezoneOffset() * -60; + DateTimeShortcuts.timezoneOffset = localOffset - serverOffset; + } + + var inputs = document.getElementsByTagName('input'); + for (var i = 0; i < inputs.length; i++) { + var inp = inputs[i]; + if (inp.getAttribute('type') === 'text' && inp.className.match(/vTimeField/)) { + DateTimeShortcuts.addClock(inp); + DateTimeShortcuts.addTimezoneWarning(inp); + } + else if (inp.getAttribute('type') === 'text' && inp.className.match(/vDateField/)) { + DateTimeShortcuts.addCalendar(inp); + DateTimeShortcuts.addTimezoneWarning(inp); + } + } + }, + // Return the current time while accounting for the server timezone. + now: function() { + var body = document.getElementsByTagName('body')[0]; + var serverOffset = body.getAttribute('data-admin-utc-offset'); + if (serverOffset) { + var localNow = new Date(); + var localOffset = localNow.getTimezoneOffset() * -60; + localNow.setTime(localNow.getTime() + 1000 * (serverOffset - localOffset)); + return localNow; + } else { + return new Date(); + } + }, + // Add a warning when the time zone in the browser and backend do not match. + addTimezoneWarning: function(inp) { + var warningClass = DateTimeShortcuts.timezoneWarningClass; + var timezoneOffset = DateTimeShortcuts.timezoneOffset / 3600; + + // Only warn if there is a time zone mismatch. + if (!timezoneOffset) { + return; + } + + // Check if warning is already there. + if (inp.parentNode.querySelectorAll('.' + warningClass).length) { + return; + } + + var message; + if (timezoneOffset > 0) { + message = ngettext( + 'Note: You are %s hour ahead of server time.', + 'Note: You are %s hours ahead of server time.', + timezoneOffset + ); + } + else { + timezoneOffset *= -1; + message = ngettext( + 'Note: You are %s hour behind server time.', + 'Note: You are %s hours behind server time.', + timezoneOffset + ); + } + message = interpolate(message, [timezoneOffset]); + + var warning = document.createElement('span'); + warning.className = warningClass; + warning.textContent = message; + inp.parentNode.appendChild(document.createElement('br')); + inp.parentNode.appendChild(warning); + }, + // Add clock widget to a given field + addClock: function(inp) { + var num = DateTimeShortcuts.clockInputs.length; + DateTimeShortcuts.clockInputs[num] = inp; + DateTimeShortcuts.dismissClockFunc[num] = function() { DateTimeShortcuts.dismissClock(num); return true; }; + + // Shortcut links (clock icon and "Now" link) + var shortcuts_span = document.createElement('span'); + shortcuts_span.className = DateTimeShortcuts.shortCutsClass; + inp.parentNode.insertBefore(shortcuts_span, inp.nextSibling); + var now_link = document.createElement('a'); + now_link.setAttribute('href', "#"); + now_link.textContent = gettext('Now'); + now_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleClockQuicklink(num, -1); + }); + var clock_link = document.createElement('a'); + clock_link.setAttribute('href', '#'); + clock_link.id = DateTimeShortcuts.clockLinkName + num; + clock_link.addEventListener('click', function(e) { + e.preventDefault(); + // avoid triggering the document click handler to dismiss the clock + e.stopPropagation(); + DateTimeShortcuts.openClock(num); + }); + + quickElement( + 'span', clock_link, '', + 'class', 'clock-icon', + 'title', gettext('Choose a Time') + ); + shortcuts_span.appendChild(document.createTextNode('\u00A0')); + shortcuts_span.appendChild(now_link); + shortcuts_span.appendChild(document.createTextNode('\u00A0|\u00A0')); + shortcuts_span.appendChild(clock_link); + + // Create clock link div + // + // Markup looks like: + // <div id="clockbox1" class="clockbox module"> + // <h2>Choose a time</h2> + // <ul class="timelist"> + // <li><a href="#">Now</a></li> + // <li><a href="#">Midnight</a></li> + // <li><a href="#">6 a.m.</a></li> + // <li><a href="#">Noon</a></li> + // <li><a href="#">6 p.m.</a></li> + // </ul> + // <p class="calendar-cancel"><a href="#">Cancel</a></p> + // </div> + + var clock_box = document.createElement('div'); + clock_box.style.display = 'none'; + clock_box.style.position = 'absolute'; + clock_box.className = 'clockbox module'; + clock_box.setAttribute('id', DateTimeShortcuts.clockDivName + num); + document.body.appendChild(clock_box); + clock_box.addEventListener('click', function(e) { e.stopPropagation(); }); + + quickElement('h2', clock_box, gettext('Choose a time')); + var time_list = quickElement('ul', clock_box); + time_list.className = 'timelist'; + // The list of choices can be overridden in JavaScript like this: + // DateTimeShortcuts.clockHours.name = [['3 a.m.', 3]]; + // where name is the name attribute of the <input>. + var name = typeof DateTimeShortcuts.clockHours[inp.name] === 'undefined' ? 'default_' : inp.name; + DateTimeShortcuts.clockHours[name].forEach(function(element) { + var time_link = quickElement('a', quickElement('li', time_list), gettext(element[0]), 'href', '#'); + time_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleClockQuicklink(num, element[1]); + }); + }); + + var cancel_p = quickElement('p', clock_box); + cancel_p.className = 'calendar-cancel'; + var cancel_link = quickElement('a', cancel_p, gettext('Cancel'), 'href', '#'); + cancel_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.dismissClock(num); + }); + + document.addEventListener('keyup', function(event) { + if (event.which === 27) { + // ESC key closes popup + DateTimeShortcuts.dismissClock(num); + event.preventDefault(); + } + }); + }, + openClock: function(num) { + var clock_box = document.getElementById(DateTimeShortcuts.clockDivName + num); + var clock_link = document.getElementById(DateTimeShortcuts.clockLinkName + num); + + // Recalculate the clockbox position + // is it left-to-right or right-to-left layout ? + if (window.getComputedStyle(document.body).direction !== 'rtl') { + clock_box.style.left = findPosX(clock_link) + 17 + 'px'; + } + else { + // since style's width is in em, it'd be tough to calculate + // px value of it. let's use an estimated px for now + // TODO: IE returns wrong value for findPosX when in rtl mode + // (it returns as it was left aligned), needs to be fixed. + clock_box.style.left = findPosX(clock_link) - 110 + 'px'; + } + clock_box.style.top = Math.max(0, findPosY(clock_link) - 30) + 'px'; + + // Show the clock box + clock_box.style.display = 'block'; + document.addEventListener('click', DateTimeShortcuts.dismissClockFunc[num]); + }, + dismissClock: function(num) { + document.getElementById(DateTimeShortcuts.clockDivName + num).style.display = 'none'; + document.removeEventListener('click', DateTimeShortcuts.dismissClockFunc[num]); + }, + handleClockQuicklink: function(num, val) { + var d; + if (val === -1) { + d = DateTimeShortcuts.now(); + } + else { + d = new Date(1970, 1, 1, val, 0, 0, 0); + } + DateTimeShortcuts.clockInputs[num].value = d.strftime(get_format('TIME_INPUT_FORMATS')[0]); + DateTimeShortcuts.clockInputs[num].focus(); + DateTimeShortcuts.dismissClock(num); + }, + // Add calendar widget to a given field. + addCalendar: function(inp) { + var num = DateTimeShortcuts.calendars.length; + + DateTimeShortcuts.calendarInputs[num] = inp; + DateTimeShortcuts.dismissCalendarFunc[num] = function() { DateTimeShortcuts.dismissCalendar(num); return true; }; + + // Shortcut links (calendar icon and "Today" link) + var shortcuts_span = document.createElement('span'); + shortcuts_span.className = DateTimeShortcuts.shortCutsClass; + inp.parentNode.insertBefore(shortcuts_span, inp.nextSibling); + var today_link = document.createElement('a'); + today_link.setAttribute('href', '#'); + today_link.appendChild(document.createTextNode(gettext('Today'))); + today_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleCalendarQuickLink(num, 0); + }); + var cal_link = document.createElement('a'); + cal_link.setAttribute('href', '#'); + cal_link.id = DateTimeShortcuts.calendarLinkName + num; + cal_link.addEventListener('click', function(e) { + e.preventDefault(); + // avoid triggering the document click handler to dismiss the calendar + e.stopPropagation(); + DateTimeShortcuts.openCalendar(num); + }); + quickElement( + 'span', cal_link, '', + 'class', 'date-icon', + 'title', gettext('Choose a Date') + ); + shortcuts_span.appendChild(document.createTextNode('\u00A0')); + shortcuts_span.appendChild(today_link); + shortcuts_span.appendChild(document.createTextNode('\u00A0|\u00A0')); + shortcuts_span.appendChild(cal_link); + + // Create calendarbox div. + // + // Markup looks like: + // + // <div id="calendarbox3" class="calendarbox module"> + // <h2> + // <a href="#" class="link-previous">‹</a> + // <a href="#" class="link-next">›</a> February 2003 + // </h2> + // <div class="calendar" id="calendarin3"> + // <!-- (cal) --> + // </div> + // <div class="calendar-shortcuts"> + // <a href="#">Yesterday</a> | <a href="#">Today</a> | <a href="#">Tomorrow</a> + // </div> + // <p class="calendar-cancel"><a href="#">Cancel</a></p> + // </div> + var cal_box = document.createElement('div'); + cal_box.style.display = 'none'; + cal_box.style.position = 'absolute'; + cal_box.className = 'calendarbox module'; + cal_box.setAttribute('id', DateTimeShortcuts.calendarDivName1 + num); + document.body.appendChild(cal_box); + cal_box.addEventListener('click', function(e) { e.stopPropagation(); }); + + // next-prev links + var cal_nav = quickElement('div', cal_box); + var cal_nav_prev = quickElement('a', cal_nav, '<', 'href', '#'); + cal_nav_prev.className = 'calendarnav-previous'; + cal_nav_prev.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.drawPrev(num); + }); + + var cal_nav_next = quickElement('a', cal_nav, '>', 'href', '#'); + cal_nav_next.className = 'calendarnav-next'; + cal_nav_next.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.drawNext(num); + }); + + // main box + var cal_main = quickElement('div', cal_box, '', 'id', DateTimeShortcuts.calendarDivName2 + num); + cal_main.className = 'calendar'; + DateTimeShortcuts.calendars[num] = new Calendar(DateTimeShortcuts.calendarDivName2 + num, DateTimeShortcuts.handleCalendarCallback(num)); + DateTimeShortcuts.calendars[num].drawCurrent(); + + // calendar shortcuts + var shortcuts = quickElement('div', cal_box); + shortcuts.className = 'calendar-shortcuts'; + var day_link = quickElement('a', shortcuts, gettext('Yesterday'), 'href', '#'); + day_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleCalendarQuickLink(num, -1); + }); + shortcuts.appendChild(document.createTextNode('\u00A0|\u00A0')); + day_link = quickElement('a', shortcuts, gettext('Today'), 'href', '#'); + day_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleCalendarQuickLink(num, 0); + }); + shortcuts.appendChild(document.createTextNode('\u00A0|\u00A0')); + day_link = quickElement('a', shortcuts, gettext('Tomorrow'), 'href', '#'); + day_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleCalendarQuickLink(num, +1); + }); + + // cancel bar + var cancel_p = quickElement('p', cal_box); + cancel_p.className = 'calendar-cancel'; + var cancel_link = quickElement('a', cancel_p, gettext('Cancel'), 'href', '#'); + cancel_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.dismissCalendar(num); + }); + document.addEventListener('keyup', function(event) { + if (event.which === 27) { + // ESC key closes popup + DateTimeShortcuts.dismissCalendar(num); + event.preventDefault(); + } + }); + }, + openCalendar: function(num) { + var cal_box = document.getElementById(DateTimeShortcuts.calendarDivName1 + num); + var cal_link = document.getElementById(DateTimeShortcuts.calendarLinkName + num); + var inp = DateTimeShortcuts.calendarInputs[num]; + + // Determine if the current value in the input has a valid date. + // If so, draw the calendar with that date's year and month. + if (inp.value) { + var format = get_format('DATE_INPUT_FORMATS')[0]; + var selected = inp.value.strptime(format); + var year = selected.getUTCFullYear(); + var month = selected.getUTCMonth() + 1; + var re = /\d{4}/; + if (re.test(year.toString()) && month >= 1 && month <= 12) { + DateTimeShortcuts.calendars[num].drawDate(month, year, selected); + } + } + + // Recalculate the clockbox position + // is it left-to-right or right-to-left layout ? + if (window.getComputedStyle(document.body).direction !== 'rtl') { + cal_box.style.left = findPosX(cal_link) + 17 + 'px'; + } + else { + // since style's width is in em, it'd be tough to calculate + // px value of it. let's use an estimated px for now + // TODO: IE returns wrong value for findPosX when in rtl mode + // (it returns as it was left aligned), needs to be fixed. + cal_box.style.left = findPosX(cal_link) - 180 + 'px'; + } + cal_box.style.top = Math.max(0, findPosY(cal_link) - 75) + 'px'; + + cal_box.style.display = 'block'; + document.addEventListener('click', DateTimeShortcuts.dismissCalendarFunc[num]); + }, + dismissCalendar: function(num) { + document.getElementById(DateTimeShortcuts.calendarDivName1 + num).style.display = 'none'; + document.removeEventListener('click', DateTimeShortcuts.dismissCalendarFunc[num]); + }, + drawPrev: function(num) { + DateTimeShortcuts.calendars[num].drawPreviousMonth(); + }, + drawNext: function(num) { + DateTimeShortcuts.calendars[num].drawNextMonth(); + }, + handleCalendarCallback: function(num) { + var format = get_format('DATE_INPUT_FORMATS')[0]; + // the format needs to be escaped a little + format = format.replace('\\', '\\\\') + .replace('\r', '\\r') + .replace('\n', '\\n') + .replace('\t', '\\t') + .replace("'", "\\'"); + return function(y, m, d) { + DateTimeShortcuts.calendarInputs[num].value = new Date(y, m - 1, d).strftime(format); + DateTimeShortcuts.calendarInputs[num].focus(); + document.getElementById(DateTimeShortcuts.calendarDivName1 + num).style.display = 'none'; + }; + }, + handleCalendarQuickLink: function(num, offset) { + var d = DateTimeShortcuts.now(); + d.setDate(d.getDate() + offset); + DateTimeShortcuts.calendarInputs[num].value = d.strftime(get_format('DATE_INPUT_FORMATS')[0]); + DateTimeShortcuts.calendarInputs[num].focus(); + DateTimeShortcuts.dismissCalendar(num); + } + }; + + window.addEventListener('load', DateTimeShortcuts.init); + window.DateTimeShortcuts = DateTimeShortcuts; +})(); diff --git a/static/admin/js/admin/DateTimeShortcuts.a9c6d180860b.js.gz b/static/admin/js/admin/DateTimeShortcuts.a9c6d180860b.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..0fb580935ad9e9b3f4a96b550294efa0339a7981 GIT binary patch literal 3837 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 literal 0 HcmV?d00001 diff --git a/static/admin/js/admin/DateTimeShortcuts.js b/static/admin/js/admin/DateTimeShortcuts.js new file mode 100644 index 0000000..f803523 --- /dev/null +++ b/static/admin/js/admin/DateTimeShortcuts.js @@ -0,0 +1,423 @@ +/*global Calendar, findPosX, findPosY, get_format, gettext, gettext_noop, interpolate, ngettext, quickElement*/ +// Inserts shortcut buttons after all of the following: +// <input type="text" class="vDateField"> +// <input type="text" class="vTimeField"> +(function() { + 'use strict'; + var DateTimeShortcuts = { + calendars: [], + calendarInputs: [], + clockInputs: [], + clockHours: { + default_: [ + [gettext_noop('Now'), -1], + [gettext_noop('Midnight'), 0], + [gettext_noop('6 a.m.'), 6], + [gettext_noop('Noon'), 12], + [gettext_noop('6 p.m.'), 18] + ] + }, + dismissClockFunc: [], + dismissCalendarFunc: [], + calendarDivName1: 'calendarbox', // name of calendar <div> that gets toggled + calendarDivName2: 'calendarin', // name of <div> that contains calendar + calendarLinkName: 'calendarlink', // name of the link that is used to toggle + clockDivName: 'clockbox', // name of clock <div> that gets toggled + clockLinkName: 'clocklink', // name of the link that is used to toggle + shortCutsClass: 'datetimeshortcuts', // class of the clock and cal shortcuts + timezoneWarningClass: 'timezonewarning', // class of the warning for timezone mismatch + timezoneOffset: 0, + init: function() { + var body = document.getElementsByTagName('body')[0]; + var serverOffset = body.getAttribute('data-admin-utc-offset'); + if (serverOffset) { + var localOffset = new Date().getTimezoneOffset() * -60; + DateTimeShortcuts.timezoneOffset = localOffset - serverOffset; + } + + var inputs = document.getElementsByTagName('input'); + for (var i = 0; i < inputs.length; i++) { + var inp = inputs[i]; + if (inp.getAttribute('type') === 'text' && inp.className.match(/vTimeField/)) { + DateTimeShortcuts.addClock(inp); + DateTimeShortcuts.addTimezoneWarning(inp); + } + else if (inp.getAttribute('type') === 'text' && inp.className.match(/vDateField/)) { + DateTimeShortcuts.addCalendar(inp); + DateTimeShortcuts.addTimezoneWarning(inp); + } + } + }, + // Return the current time while accounting for the server timezone. + now: function() { + var body = document.getElementsByTagName('body')[0]; + var serverOffset = body.getAttribute('data-admin-utc-offset'); + if (serverOffset) { + var localNow = new Date(); + var localOffset = localNow.getTimezoneOffset() * -60; + localNow.setTime(localNow.getTime() + 1000 * (serverOffset - localOffset)); + return localNow; + } else { + return new Date(); + } + }, + // Add a warning when the time zone in the browser and backend do not match. + addTimezoneWarning: function(inp) { + var warningClass = DateTimeShortcuts.timezoneWarningClass; + var timezoneOffset = DateTimeShortcuts.timezoneOffset / 3600; + + // Only warn if there is a time zone mismatch. + if (!timezoneOffset) { + return; + } + + // Check if warning is already there. + if (inp.parentNode.querySelectorAll('.' + warningClass).length) { + return; + } + + var message; + if (timezoneOffset > 0) { + message = ngettext( + 'Note: You are %s hour ahead of server time.', + 'Note: You are %s hours ahead of server time.', + timezoneOffset + ); + } + else { + timezoneOffset *= -1; + message = ngettext( + 'Note: You are %s hour behind server time.', + 'Note: You are %s hours behind server time.', + timezoneOffset + ); + } + message = interpolate(message, [timezoneOffset]); + + var warning = document.createElement('span'); + warning.className = warningClass; + warning.textContent = message; + inp.parentNode.appendChild(document.createElement('br')); + inp.parentNode.appendChild(warning); + }, + // Add clock widget to a given field + addClock: function(inp) { + var num = DateTimeShortcuts.clockInputs.length; + DateTimeShortcuts.clockInputs[num] = inp; + DateTimeShortcuts.dismissClockFunc[num] = function() { DateTimeShortcuts.dismissClock(num); return true; }; + + // Shortcut links (clock icon and "Now" link) + var shortcuts_span = document.createElement('span'); + shortcuts_span.className = DateTimeShortcuts.shortCutsClass; + inp.parentNode.insertBefore(shortcuts_span, inp.nextSibling); + var now_link = document.createElement('a'); + now_link.setAttribute('href', "#"); + now_link.textContent = gettext('Now'); + now_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleClockQuicklink(num, -1); + }); + var clock_link = document.createElement('a'); + clock_link.setAttribute('href', '#'); + clock_link.id = DateTimeShortcuts.clockLinkName + num; + clock_link.addEventListener('click', function(e) { + e.preventDefault(); + // avoid triggering the document click handler to dismiss the clock + e.stopPropagation(); + DateTimeShortcuts.openClock(num); + }); + + quickElement( + 'span', clock_link, '', + 'class', 'clock-icon', + 'title', gettext('Choose a Time') + ); + shortcuts_span.appendChild(document.createTextNode('\u00A0')); + shortcuts_span.appendChild(now_link); + shortcuts_span.appendChild(document.createTextNode('\u00A0|\u00A0')); + shortcuts_span.appendChild(clock_link); + + // Create clock link div + // + // Markup looks like: + // <div id="clockbox1" class="clockbox module"> + // <h2>Choose a time</h2> + // <ul class="timelist"> + // <li><a href="#">Now</a></li> + // <li><a href="#">Midnight</a></li> + // <li><a href="#">6 a.m.</a></li> + // <li><a href="#">Noon</a></li> + // <li><a href="#">6 p.m.</a></li> + // </ul> + // <p class="calendar-cancel"><a href="#">Cancel</a></p> + // </div> + + var clock_box = document.createElement('div'); + clock_box.style.display = 'none'; + clock_box.style.position = 'absolute'; + clock_box.className = 'clockbox module'; + clock_box.setAttribute('id', DateTimeShortcuts.clockDivName + num); + document.body.appendChild(clock_box); + clock_box.addEventListener('click', function(e) { e.stopPropagation(); }); + + quickElement('h2', clock_box, gettext('Choose a time')); + var time_list = quickElement('ul', clock_box); + time_list.className = 'timelist'; + // The list of choices can be overridden in JavaScript like this: + // DateTimeShortcuts.clockHours.name = [['3 a.m.', 3]]; + // where name is the name attribute of the <input>. + var name = typeof DateTimeShortcuts.clockHours[inp.name] === 'undefined' ? 'default_' : inp.name; + DateTimeShortcuts.clockHours[name].forEach(function(element) { + var time_link = quickElement('a', quickElement('li', time_list), gettext(element[0]), 'href', '#'); + time_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleClockQuicklink(num, element[1]); + }); + }); + + var cancel_p = quickElement('p', clock_box); + cancel_p.className = 'calendar-cancel'; + var cancel_link = quickElement('a', cancel_p, gettext('Cancel'), 'href', '#'); + cancel_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.dismissClock(num); + }); + + document.addEventListener('keyup', function(event) { + if (event.which === 27) { + // ESC key closes popup + DateTimeShortcuts.dismissClock(num); + event.preventDefault(); + } + }); + }, + openClock: function(num) { + var clock_box = document.getElementById(DateTimeShortcuts.clockDivName + num); + var clock_link = document.getElementById(DateTimeShortcuts.clockLinkName + num); + + // Recalculate the clockbox position + // is it left-to-right or right-to-left layout ? + if (window.getComputedStyle(document.body).direction !== 'rtl') { + clock_box.style.left = findPosX(clock_link) + 17 + 'px'; + } + else { + // since style's width is in em, it'd be tough to calculate + // px value of it. let's use an estimated px for now + // TODO: IE returns wrong value for findPosX when in rtl mode + // (it returns as it was left aligned), needs to be fixed. + clock_box.style.left = findPosX(clock_link) - 110 + 'px'; + } + clock_box.style.top = Math.max(0, findPosY(clock_link) - 30) + 'px'; + + // Show the clock box + clock_box.style.display = 'block'; + document.addEventListener('click', DateTimeShortcuts.dismissClockFunc[num]); + }, + dismissClock: function(num) { + document.getElementById(DateTimeShortcuts.clockDivName + num).style.display = 'none'; + document.removeEventListener('click', DateTimeShortcuts.dismissClockFunc[num]); + }, + handleClockQuicklink: function(num, val) { + var d; + if (val === -1) { + d = DateTimeShortcuts.now(); + } + else { + d = new Date(1970, 1, 1, val, 0, 0, 0); + } + DateTimeShortcuts.clockInputs[num].value = d.strftime(get_format('TIME_INPUT_FORMATS')[0]); + DateTimeShortcuts.clockInputs[num].focus(); + DateTimeShortcuts.dismissClock(num); + }, + // Add calendar widget to a given field. + addCalendar: function(inp) { + var num = DateTimeShortcuts.calendars.length; + + DateTimeShortcuts.calendarInputs[num] = inp; + DateTimeShortcuts.dismissCalendarFunc[num] = function() { DateTimeShortcuts.dismissCalendar(num); return true; }; + + // Shortcut links (calendar icon and "Today" link) + var shortcuts_span = document.createElement('span'); + shortcuts_span.className = DateTimeShortcuts.shortCutsClass; + inp.parentNode.insertBefore(shortcuts_span, inp.nextSibling); + var today_link = document.createElement('a'); + today_link.setAttribute('href', '#'); + today_link.appendChild(document.createTextNode(gettext('Today'))); + today_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleCalendarQuickLink(num, 0); + }); + var cal_link = document.createElement('a'); + cal_link.setAttribute('href', '#'); + cal_link.id = DateTimeShortcuts.calendarLinkName + num; + cal_link.addEventListener('click', function(e) { + e.preventDefault(); + // avoid triggering the document click handler to dismiss the calendar + e.stopPropagation(); + DateTimeShortcuts.openCalendar(num); + }); + quickElement( + 'span', cal_link, '', + 'class', 'date-icon', + 'title', gettext('Choose a Date') + ); + shortcuts_span.appendChild(document.createTextNode('\u00A0')); + shortcuts_span.appendChild(today_link); + shortcuts_span.appendChild(document.createTextNode('\u00A0|\u00A0')); + shortcuts_span.appendChild(cal_link); + + // Create calendarbox div. + // + // Markup looks like: + // + // <div id="calendarbox3" class="calendarbox module"> + // <h2> + // <a href="#" class="link-previous">‹</a> + // <a href="#" class="link-next">›</a> February 2003 + // </h2> + // <div class="calendar" id="calendarin3"> + // <!-- (cal) --> + // </div> + // <div class="calendar-shortcuts"> + // <a href="#">Yesterday</a> | <a href="#">Today</a> | <a href="#">Tomorrow</a> + // </div> + // <p class="calendar-cancel"><a href="#">Cancel</a></p> + // </div> + var cal_box = document.createElement('div'); + cal_box.style.display = 'none'; + cal_box.style.position = 'absolute'; + cal_box.className = 'calendarbox module'; + cal_box.setAttribute('id', DateTimeShortcuts.calendarDivName1 + num); + document.body.appendChild(cal_box); + cal_box.addEventListener('click', function(e) { e.stopPropagation(); }); + + // next-prev links + var cal_nav = quickElement('div', cal_box); + var cal_nav_prev = quickElement('a', cal_nav, '<', 'href', '#'); + cal_nav_prev.className = 'calendarnav-previous'; + cal_nav_prev.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.drawPrev(num); + }); + + var cal_nav_next = quickElement('a', cal_nav, '>', 'href', '#'); + cal_nav_next.className = 'calendarnav-next'; + cal_nav_next.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.drawNext(num); + }); + + // main box + var cal_main = quickElement('div', cal_box, '', 'id', DateTimeShortcuts.calendarDivName2 + num); + cal_main.className = 'calendar'; + DateTimeShortcuts.calendars[num] = new Calendar(DateTimeShortcuts.calendarDivName2 + num, DateTimeShortcuts.handleCalendarCallback(num)); + DateTimeShortcuts.calendars[num].drawCurrent(); + + // calendar shortcuts + var shortcuts = quickElement('div', cal_box); + shortcuts.className = 'calendar-shortcuts'; + var day_link = quickElement('a', shortcuts, gettext('Yesterday'), 'href', '#'); + day_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleCalendarQuickLink(num, -1); + }); + shortcuts.appendChild(document.createTextNode('\u00A0|\u00A0')); + day_link = quickElement('a', shortcuts, gettext('Today'), 'href', '#'); + day_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleCalendarQuickLink(num, 0); + }); + shortcuts.appendChild(document.createTextNode('\u00A0|\u00A0')); + day_link = quickElement('a', shortcuts, gettext('Tomorrow'), 'href', '#'); + day_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleCalendarQuickLink(num, +1); + }); + + // cancel bar + var cancel_p = quickElement('p', cal_box); + cancel_p.className = 'calendar-cancel'; + var cancel_link = quickElement('a', cancel_p, gettext('Cancel'), 'href', '#'); + cancel_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.dismissCalendar(num); + }); + document.addEventListener('keyup', function(event) { + if (event.which === 27) { + // ESC key closes popup + DateTimeShortcuts.dismissCalendar(num); + event.preventDefault(); + } + }); + }, + openCalendar: function(num) { + var cal_box = document.getElementById(DateTimeShortcuts.calendarDivName1 + num); + var cal_link = document.getElementById(DateTimeShortcuts.calendarLinkName + num); + var inp = DateTimeShortcuts.calendarInputs[num]; + + // Determine if the current value in the input has a valid date. + // If so, draw the calendar with that date's year and month. + if (inp.value) { + var format = get_format('DATE_INPUT_FORMATS')[0]; + var selected = inp.value.strptime(format); + var year = selected.getUTCFullYear(); + var month = selected.getUTCMonth() + 1; + var re = /\d{4}/; + if (re.test(year.toString()) && month >= 1 && month <= 12) { + DateTimeShortcuts.calendars[num].drawDate(month, year, selected); + } + } + + // Recalculate the clockbox position + // is it left-to-right or right-to-left layout ? + if (window.getComputedStyle(document.body).direction !== 'rtl') { + cal_box.style.left = findPosX(cal_link) + 17 + 'px'; + } + else { + // since style's width is in em, it'd be tough to calculate + // px value of it. let's use an estimated px for now + // TODO: IE returns wrong value for findPosX when in rtl mode + // (it returns as it was left aligned), needs to be fixed. + cal_box.style.left = findPosX(cal_link) - 180 + 'px'; + } + cal_box.style.top = Math.max(0, findPosY(cal_link) - 75) + 'px'; + + cal_box.style.display = 'block'; + document.addEventListener('click', DateTimeShortcuts.dismissCalendarFunc[num]); + }, + dismissCalendar: function(num) { + document.getElementById(DateTimeShortcuts.calendarDivName1 + num).style.display = 'none'; + document.removeEventListener('click', DateTimeShortcuts.dismissCalendarFunc[num]); + }, + drawPrev: function(num) { + DateTimeShortcuts.calendars[num].drawPreviousMonth(); + }, + drawNext: function(num) { + DateTimeShortcuts.calendars[num].drawNextMonth(); + }, + handleCalendarCallback: function(num) { + var format = get_format('DATE_INPUT_FORMATS')[0]; + // the format needs to be escaped a little + format = format.replace('\\', '\\\\') + .replace('\r', '\\r') + .replace('\n', '\\n') + .replace('\t', '\\t') + .replace("'", "\\'"); + return function(y, m, d) { + DateTimeShortcuts.calendarInputs[num].value = new Date(y, m - 1, d).strftime(format); + DateTimeShortcuts.calendarInputs[num].focus(); + document.getElementById(DateTimeShortcuts.calendarDivName1 + num).style.display = 'none'; + }; + }, + handleCalendarQuickLink: function(num, offset) { + var d = DateTimeShortcuts.now(); + d.setDate(d.getDate() + offset); + DateTimeShortcuts.calendarInputs[num].value = d.strftime(get_format('DATE_INPUT_FORMATS')[0]); + DateTimeShortcuts.calendarInputs[num].focus(); + DateTimeShortcuts.dismissCalendar(num); + } + }; + + window.addEventListener('load', DateTimeShortcuts.init); + window.DateTimeShortcuts = DateTimeShortcuts; +})(); diff --git a/static/admin/js/admin/DateTimeShortcuts.js.gz b/static/admin/js/admin/DateTimeShortcuts.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..0fb580935ad9e9b3f4a96b550294efa0339a7981 GIT binary patch literal 3837 zcmb2|=3oE;rvGnaa*J=93H^H)-?*w+b*jgvCwEl$o+wi<oV4?fiGKL*;^~DpauF>m zJ(^9bj@tXK{r_9WxKDV2#%<rrai%kGu$7A+Nc#9DN&L#Y=2m^Z75;rI&NKD9F&jN^ z{2q7Y|H=B_1`6D2=btM@1+J`{{wDb2=}H9`3k91AI$W*(s?rk_)PHF{+<bbvUGzo= zyBl|J-c?=SJj2yU?PHKj(KL^ui5{9wGcH(qC|vp8IYW47N{U`h{F=%Q6<swyZa#P9 zkojbl!fyL!fqR-=@8jlsSGiyO5KZ5A-TI9~?V)hXt=9fcGoL6G{C@IWHl<|JjENC$ zHEMHLX6;-gcu;P_dkfhLAHJZfKWBnikNKZ`d2_+VKT_>M_0PI*F8zAY-lgeKm)wWP z8!dfnD*3)lE&DTPn)s2@dtF;E%TIW?MCFFlueNH&cpcSC{pOSH)k?NVDSmu>_DFs! z$Apqi*If%{aLuc!4pY?ow@Y(Lg-zT?3p=OWy-lWTv<$0f={ZbRh@K_>=ap{k#*@L1 zQhdc9O*U3YaAUM_C_W=Mp|(F>wy89z^P9Y|rWp79O0$L4stavaoYLu>)#(t#SFNx( z_r&jc?9(+isGM(Kw#wy>$&FR5pJp`3RvR2CnG*Wj%e{l?<N0S(HkN*_nYhZv;?M7I z%E1c?Sfn3um}{N*oN(FmMu}w9k*IaIj?YZ64U(!@u~sJhQH;i?|KTie?wfEi_!?b| z{2XO2&9dB|p<_`D2jgNUnK`=BkM5s+ZaCTh<PHNvxq^(02j1TtLv{+>GiB&hPvcB_ z!m(w}q0~QrezoWYtY6n0;`hI##w?eE!DMgJ#CI|*imF_dYK;3Cq8cSjJld~Be@vKh z;%0zG(DHcEqtB1%cCYF;ea%<m`*)A|g?WcuxA)i13o&85T<g%*fBbUW9JWb)tE^ZK zKFw>JY8iI)?i&-4MFIBr)&#qThcoMKUA?5C;iE|1o8?UI8(xbQar*Mh-<rZa<-oF+ z{y!s&pRGu(h>2GC65uyqMn<L~lu5?w$?W`qQy!7ZePv60&fV3Oxt@35gky8r%IBIB zj;#BA`JIpY)!yX9{h3<~<o`UMyL?vlm)zyE9zA|O<8ALrea4<Y2U3JsrRGl3U^*Ra z;CRjZov~B8@kAD*cCiJQ#O5WR)DRcz_$n{xs9?47!0|22H&S|TJNTXx&X(J*#}Xkw z>12fs8|T!A%x|XbdN1uJ@zV92%C!d1_f7M2W45ilt@CQ;bHQ2FOTJFZd>s_F^pDVW zUh#<$$0gjGt@kY0?0thPK`Oy*(u&^Dh_K5~yxZE2<!{(pdb0IU*Nw(KZ?b2LU2pi^ zE0;Lkrpl)6>)H;ct$VotWSeT4*w3gxVz6t0>fV%pRaXqItzT99Wo`G>S49Z|?%r&S z935w-v9~{P?>TfVBsuF_?*#E6mbUGOk{8bx5{s2Lo_}^p$Go5WUiZjsIK64t@0HBE zo*D$c6>vLRa&Xq|ZOh&`8<~BbwCV9a-^XRwJJtz&_U>S{?`S!|b22_@Q_E(ah28-i zZDFcwq%E6uU5-SbT;aFMG3jpkPWJ4q1<RJRvlr}{b#MDTy&FP&_sTB@m2;L~3^Y7@ z>E?akX!a*tw0^I#zq|3E=gsP~3Aa6_Ss7gKbe6gz>w7A+h3CNjZI682dS4f?JlFYh zlzrOTfV)#nco=Q_52RMF%dHWg7+lV)8+2*o6p2|1>-~+h-!;B{z}Y#8bwAUV`N<j~ zZ26*>a@*c0L`pJln^Jqi>Gs@j5-X1sas{0)S+Towb)DDwh|`8=+04WveqBCOd`crR zxajg1R>{p)na7S?o%N((N7%g$>~_1B&-*%CG2q&JOQ}24zD1<2n~_=^cU3rV_0xi> zn$_nN+*0zkPHtSpdtgcb&(?U;l{F8K{)(Bq^X=w^UstBsNa#&{v_JL8vjV$!wRbmP z3@;C7tG41yO=J|V<80I2|J-oH#uKG!cJmV-DVX!76*=dKxbaBFzet&(S&{RqmQ(G4 zajM_{LvvL47~gUkr<Bex)(F0N>Dnuu9cQ>o_vJl&Ft7H0nxuG#U;<y5;QnP@iH9$0 zGd8z)>Wb+&$sA`e3FZro6<qtBW1`O8ORndRUC7sQ{b47h7#qOL7ke#?;n1{(MH^>K zZ7Xuy^>X@GHu))2I98_=%<H@LbVo~9QHMsd(&U(5XCy_eA7yB=91)xHKxB@V(ALLZ z-PTr&7da%?eKwTrpWiEOx6(CaoBaE=pX0a5J1=}&Cw#3xM1N&`i1mfX;iikM&Pz+h zswv8xWwBtIAHQjNDVI-<&^y^Lo8CNES<jcEo1(hsNc!HxR_nF&biVU_-g+b;y<R-3 zXG-UMPd6+1Z;K+AD1H0+&`!03pPgZQJHvwCyT26Fi{IM)Ddpv#wUVVt_1R`VAMY<( zUl1Jsdv|Akoxn5isn4p~jHS-ZxWBrjaLKI_@kHkf|MZq^E7$SpKb_BB^}vMLd;?=k z>~EgO(=RNaF{6-)qiJs0tAHaiANfwcbk(W(AQU#OsNvz2o~!r#kNz*<H#qqy`qH6> zGTp6_&$t3T7d;beo42Ow<%^ykzXawU>(hH>HZRl`zT?HZy|!5Ik&L-&#%3*(kEflo z*H}iET5gh!i)P=jT{x7fF>k}RO(HeNHrx?Dkl4#%vCQ?(XN6PG8GowpU37eNM|+T> z_zrJ5^9QFlm95IK;QEr_=RendSBSYn|G9Hg%2BIJI+dQ?(q4T(Gfgd0(&c&}zx!E^ z;P1_ru?o4;msWCxH~#TiUN`wba<QDjdByvJ>Z`M?o@k!ru$Fb(lA~JA68Op6Dq8Gn z%(Ckjr?vTr2e6i0EnR+Y!L>)l8K=Vc#NP<Nb^PTI9;vs1u_qJW2}~{RJ+qCsVY8>t zIiH{Jd_PV(<kPz4d7|^w#M6AIW@J@_xt647y*{(6Wab?su8hdF*&#x|XZEX|U7WZ3 zSg}AJ-{(oO>WQf{!l&srWZHi%*b?{YW>D_wz3OJ0nYUC_*0?y>=%w>q5bZMHw4QaZ zjq};9;KMi99F%^Yxps>0$@45rc{s~*PfU=otqXLmtowVbIRByc+vCUbHmy##aZdQd z+<ex^+u&{3oRtMqktTuZ3{##z2)Pl%w^YJSLRm;q@GJMW2f|E_-5x4G*G*K3`+VSX z>15@NOzj8uB=^ML@$$LQezb2!koixpiFT7VyypoE?QaOV&;Il6;!hJ9xJ~>Y*sK3} zaz`nXTe#oyP3|JAqNFoxPc98|bC7r-KfSL#FQO}D<B{g9bzzg&d=Or<X1>Pz6Hhs= zXv&t(Z)`A5H#}ftQ039K)z%_*X3LyC)gRw!R{k|Qn|W}C665o9U5TGYwlBQ+c|^W+ zD9$VN`1SbEt+YogqF$Q*38-3X7vHd%^$)ki=MQ4+=gQC78|IfRpDH=&WXhey%vVN= z2bd@3uZZaj`!d;DPjB|sBlc3?i$Av2+}~Bg$g-ro_k{k3iN<fcR!ROS_sN^ZxYFlV zpJ(}@1%Ai-_q2DcRrvA8bXhi+`Krru3wF-_a3fo6MMF^Kiiby9RG+y>=GcBWbCp{k zGh^PLznl`!UH&#Z@|=kHpDnt_vefR9wQLR3nsAfjH!kSvMeaIx^0m4C`S|^{{~w?H zxw_nbPi0xrnyl}CbA!JKh@PKx<8A)rCF?6QoLiN4^Q3DAg?OF0ncHJ6qP1!E)XJGj zlZCX(_3{H(X~at2*%UP~)^=y=L8aiFz|9tda(n;PuZr@R^Wj?Ox2DzEi}oJ5sJeZo zyy}%Ei@$Z<JMJ%9H!-TO>DK$tlke{EPHp~m`?_h+ymO(wJ@>*cuee)eI?Z&&|D)oj zueO)JU%W1`amux;Zz67beBH5fU88w^e&DqOku{vDy-CjhmbLbV+|*6&eRRt5nyFj4 zZqAL@GOq6ZRbT&9PS0xB-OTUby`)-ALf!Vr-(#*q-}&}`O#T(Dv}{Jt{W!iVo(Y1Y zMkln(1XWFTsZ~Gzs9gN<Kv<t+>y>5qS7&sv_eXJ=#PhbF3O@WYB||fM#UZET>)LmI zz42Q|``HKPIfjue$JT!N;Qe%Fk>9azQ#+Jmy>1nq_#TmESUK<QYn@puqo*!)y1n$+ zBqIsqN#B&bulX()@_xH^a_(uJUHaWY@3tRldY^ybT=4CP_7%red0vDn^LKNbD?B?m z?Z>&P8O1{3f(`Pw%5QDn)~fJ%)4|I!9dpE<ouBi$_r)*U52Yu+PZMq9-sG6rK3Alz z=?&N6<$m0cpNC(I<}tR?;O;4Nt-Nr8E!8W8Kl*GatJ{*t|Lz*UyT3+xbJN_+<IFjA zWk*X~<T%P?FDE?CWUTvD;U4pH>;Ahdt}K#ySuP!OSm{an&1b(OdLO?I`ye=dlI*fw zfghJe2$y-epMJ)7O42(q_g&8IZ1?y_H}fBF-R3m$y8v_k+M8cw{#IXp^@BTnRo~~j z`l?!smke*LKB<Ur75?^&Yl~{eug(8*{NuJo{d~WTDR=&(_2DgfY6o&lUp%YKC}v%8 zy717nXRmek26mb4|8YxG^!}Y|`Vv2Gi1J7L;tT(GYKh*YCHmW5>K8`@)$Hb$E9g&X zTQyH#as6`@G3KU=o~r8Z*JAX(zJ7k<`H?5H0{_ms<Hb^xS?B8Ad!Ve@Lp=LS>GwTF zpC8@qTv?P{x8E=<zsAsix_U`|gaB8lqeu6aJyI*(>L+*~*!t(=lNX_ne#<}TeB0_} zdR6VVbk4PWr&&LhjvTw&fA4(#-kYZTugYwk*phJaXkqUXi)k~gOMlna><|B5RpFp^ zH2(L8>v7+|SMeTPzUsVYBJ<K-N4wR0>)-y{_%0~qlT2?_?X>1UpXH7|-|K#{Ftjb@ zQ|@wW5z)$Aa}BRW^Z%SJsy{T#efRg>f?u<;et+%oyZ7nbzmJ>mOnPDQ(M0%)-DAIw zA9lXQOAGSe@)c`-zaZO{`TEqHoEtLickit~BzG-dW+}^*?;73dCMiF-_MTt*CGxMg zeM$Q-@re8lU6OL=?UGjf6SUhpNvzH*WujX5t(8o^qFaJJeN}I-sPfBqs4`gf>vzS= z-sYIY*O{3PyqP)2ZFz$3{^gV6I~+SXA~m+|*qy{1y6bDwo~56Dn*H)+|9tlR>aX5D zhkiU|)Vh7;Yt*FnrOZoXMJK#m-`c>rWYKc#?eXTP|0<o%+Z7rf9cO4He{jp{)9+3! rc^G*4_K&7nmpA?J^<KGS%FQpOxxL$7p7WJ&|7Ty?!<)e2&%gixVlHwp literal 0 HcmV?d00001 diff --git a/static/admin/js/admin/RelatedObjectLookups.ea0683bea064.js b/static/admin/js/admin/RelatedObjectLookups.ea0683bea064.js new file mode 100644 index 0000000..f4c57c4 --- /dev/null +++ b/static/admin/js/admin/RelatedObjectLookups.ea0683bea064.js @@ -0,0 +1,181 @@ +/*global SelectBox, interpolate*/ +// Handles related-objects functionality: lookup link for raw_id_fields +// and Add Another links. + +(function($) { + 'use strict'; + + // IE doesn't accept periods or dashes in the window name, but the element IDs + // we use to generate popup window names may contain them, therefore we map them + // to allowed characters in a reversible way so that we can locate the correct + // element when the popup window is dismissed. + function id_to_windowname(text) { + text = text.replace(/\./g, '__dot__'); + text = text.replace(/\-/g, '__dash__'); + return text; + } + + function windowname_to_id(text) { + text = text.replace(/__dot__/g, '.'); + text = text.replace(/__dash__/g, '-'); + return text; + } + + function showAdminPopup(triggeringLink, name_regexp, add_popup) { + var name = triggeringLink.id.replace(name_regexp, ''); + name = id_to_windowname(name); + var href = triggeringLink.href; + if (add_popup) { + if (href.indexOf('?') === -1) { + href += '?_popup=1'; + } else { + href += '&_popup=1'; + } + } + var win = window.open(href, name, 'height=500,width=800,resizable=yes,scrollbars=yes'); + win.focus(); + return false; + } + + function showRelatedObjectLookupPopup(triggeringLink) { + return showAdminPopup(triggeringLink, /^lookup_/, true); + } + + function dismissRelatedLookupPopup(win, chosenId) { + var name = windowname_to_id(win.name); + var elem = document.getElementById(name); + if (elem.className.indexOf('vManyToManyRawIdAdminField') !== -1 && elem.value) { + elem.value += ',' + chosenId; + } else { + document.getElementById(name).value = chosenId; + } + win.close(); + } + + function showRelatedObjectPopup(triggeringLink) { + return showAdminPopup(triggeringLink, /^(change|add|delete)_/, false); + } + + function updateRelatedObjectLinks(triggeringLink) { + var $this = $(triggeringLink); + var siblings = $this.nextAll('.view-related, .change-related, .delete-related'); + if (!siblings.length) { + return; + } + var value = $this.val(); + if (value) { + siblings.each(function() { + var elm = $(this); + elm.attr('href', elm.attr('data-href-template').replace('__fk__', value)); + }); + } else { + siblings.removeAttr('href'); + } + } + + function dismissAddRelatedObjectPopup(win, newId, newRepr) { + var name = windowname_to_id(win.name); + var elem = document.getElementById(name); + if (elem) { + var elemName = elem.nodeName.toUpperCase(); + if (elemName === 'SELECT') { + elem.options[elem.options.length] = new Option(newRepr, newId, true, true); + } else if (elemName === 'INPUT') { + if (elem.className.indexOf('vManyToManyRawIdAdminField') !== -1 && elem.value) { + elem.value += ',' + newId; + } else { + elem.value = newId; + } + } + // Trigger a change event to update related links if required. + $(elem).trigger('change'); + } else { + var toId = name + "_to"; + var o = new Option(newRepr, newId); + SelectBox.add_to_cache(toId, o); + SelectBox.redisplay(toId); + } + win.close(); + } + + function dismissChangeRelatedObjectPopup(win, objId, newRepr, newId) { + var id = windowname_to_id(win.name).replace(/^edit_/, ''); + var selectsSelector = interpolate('#%s, #%s_from, #%s_to', [id, id, id]); + var selects = $(selectsSelector); + selects.find('option').each(function() { + if (this.value === objId) { + this.textContent = newRepr; + this.value = newId; + } + }); + selects.next().find('.select2-selection__rendered').each(function() { + // The element can have a clear button as a child. + // Use the lastChild to modify only the displayed value. + this.lastChild.textContent = newRepr; + this.title = newRepr; + }); + win.close(); + } + + function dismissDeleteRelatedObjectPopup(win, objId) { + var id = windowname_to_id(win.name).replace(/^delete_/, ''); + var selectsSelector = interpolate('#%s, #%s_from, #%s_to', [id, id, id]); + var selects = $(selectsSelector); + selects.find('option').each(function() { + if (this.value === objId) { + $(this).remove(); + } + }).trigger('change'); + win.close(); + } + + // Global for testing purposes + window.id_to_windowname = id_to_windowname; + window.windowname_to_id = windowname_to_id; + + window.showRelatedObjectLookupPopup = showRelatedObjectLookupPopup; + window.dismissRelatedLookupPopup = dismissRelatedLookupPopup; + window.showRelatedObjectPopup = showRelatedObjectPopup; + window.updateRelatedObjectLinks = updateRelatedObjectLinks; + window.dismissAddRelatedObjectPopup = dismissAddRelatedObjectPopup; + window.dismissChangeRelatedObjectPopup = dismissChangeRelatedObjectPopup; + window.dismissDeleteRelatedObjectPopup = dismissDeleteRelatedObjectPopup; + + // Kept for backward compatibility + window.showAddAnotherPopup = showRelatedObjectPopup; + window.dismissAddAnotherPopup = dismissAddRelatedObjectPopup; + + $(document).ready(function() { + $("a[data-popup-opener]").on('click', function(event) { + event.preventDefault(); + opener.dismissRelatedLookupPopup(window, $(this).data("popup-opener")); + }); + $('body').on('click', '.related-widget-wrapper-link', function(e) { + e.preventDefault(); + if (this.href) { + var event = $.Event('django:show-related', {href: this.href}); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showRelatedObjectPopup(this); + } + } + }); + $('body').on('change', '.related-widget-wrapper select', function(e) { + var event = $.Event('django:update-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + updateRelatedObjectLinks(this); + } + }); + $('.related-widget-wrapper select').trigger('change'); + $('body').on('click', '.related-lookup', function(e) { + e.preventDefault(); + var event = $.Event('django:lookup-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showRelatedObjectLookupPopup(this); + } + }); + }); + +})(django.jQuery); diff --git a/static/admin/js/admin/RelatedObjectLookups.ea0683bea064.js.gz b/static/admin/js/admin/RelatedObjectLookups.ea0683bea064.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..09be86331d07e19c665299053db60338d5609c31 GIT binary patch literal 1845 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 b#eev9zc{>Jd)+pJZ|alIi8r%JGcW)EWPX^> literal 0 HcmV?d00001 diff --git a/static/admin/js/admin/RelatedObjectLookups.js b/static/admin/js/admin/RelatedObjectLookups.js new file mode 100644 index 0000000..f4c57c4 --- /dev/null +++ b/static/admin/js/admin/RelatedObjectLookups.js @@ -0,0 +1,181 @@ +/*global SelectBox, interpolate*/ +// Handles related-objects functionality: lookup link for raw_id_fields +// and Add Another links. + +(function($) { + 'use strict'; + + // IE doesn't accept periods or dashes in the window name, but the element IDs + // we use to generate popup window names may contain them, therefore we map them + // to allowed characters in a reversible way so that we can locate the correct + // element when the popup window is dismissed. + function id_to_windowname(text) { + text = text.replace(/\./g, '__dot__'); + text = text.replace(/\-/g, '__dash__'); + return text; + } + + function windowname_to_id(text) { + text = text.replace(/__dot__/g, '.'); + text = text.replace(/__dash__/g, '-'); + return text; + } + + function showAdminPopup(triggeringLink, name_regexp, add_popup) { + var name = triggeringLink.id.replace(name_regexp, ''); + name = id_to_windowname(name); + var href = triggeringLink.href; + if (add_popup) { + if (href.indexOf('?') === -1) { + href += '?_popup=1'; + } else { + href += '&_popup=1'; + } + } + var win = window.open(href, name, 'height=500,width=800,resizable=yes,scrollbars=yes'); + win.focus(); + return false; + } + + function showRelatedObjectLookupPopup(triggeringLink) { + return showAdminPopup(triggeringLink, /^lookup_/, true); + } + + function dismissRelatedLookupPopup(win, chosenId) { + var name = windowname_to_id(win.name); + var elem = document.getElementById(name); + if (elem.className.indexOf('vManyToManyRawIdAdminField') !== -1 && elem.value) { + elem.value += ',' + chosenId; + } else { + document.getElementById(name).value = chosenId; + } + win.close(); + } + + function showRelatedObjectPopup(triggeringLink) { + return showAdminPopup(triggeringLink, /^(change|add|delete)_/, false); + } + + function updateRelatedObjectLinks(triggeringLink) { + var $this = $(triggeringLink); + var siblings = $this.nextAll('.view-related, .change-related, .delete-related'); + if (!siblings.length) { + return; + } + var value = $this.val(); + if (value) { + siblings.each(function() { + var elm = $(this); + elm.attr('href', elm.attr('data-href-template').replace('__fk__', value)); + }); + } else { + siblings.removeAttr('href'); + } + } + + function dismissAddRelatedObjectPopup(win, newId, newRepr) { + var name = windowname_to_id(win.name); + var elem = document.getElementById(name); + if (elem) { + var elemName = elem.nodeName.toUpperCase(); + if (elemName === 'SELECT') { + elem.options[elem.options.length] = new Option(newRepr, newId, true, true); + } else if (elemName === 'INPUT') { + if (elem.className.indexOf('vManyToManyRawIdAdminField') !== -1 && elem.value) { + elem.value += ',' + newId; + } else { + elem.value = newId; + } + } + // Trigger a change event to update related links if required. + $(elem).trigger('change'); + } else { + var toId = name + "_to"; + var o = new Option(newRepr, newId); + SelectBox.add_to_cache(toId, o); + SelectBox.redisplay(toId); + } + win.close(); + } + + function dismissChangeRelatedObjectPopup(win, objId, newRepr, newId) { + var id = windowname_to_id(win.name).replace(/^edit_/, ''); + var selectsSelector = interpolate('#%s, #%s_from, #%s_to', [id, id, id]); + var selects = $(selectsSelector); + selects.find('option').each(function() { + if (this.value === objId) { + this.textContent = newRepr; + this.value = newId; + } + }); + selects.next().find('.select2-selection__rendered').each(function() { + // The element can have a clear button as a child. + // Use the lastChild to modify only the displayed value. + this.lastChild.textContent = newRepr; + this.title = newRepr; + }); + win.close(); + } + + function dismissDeleteRelatedObjectPopup(win, objId) { + var id = windowname_to_id(win.name).replace(/^delete_/, ''); + var selectsSelector = interpolate('#%s, #%s_from, #%s_to', [id, id, id]); + var selects = $(selectsSelector); + selects.find('option').each(function() { + if (this.value === objId) { + $(this).remove(); + } + }).trigger('change'); + win.close(); + } + + // Global for testing purposes + window.id_to_windowname = id_to_windowname; + window.windowname_to_id = windowname_to_id; + + window.showRelatedObjectLookupPopup = showRelatedObjectLookupPopup; + window.dismissRelatedLookupPopup = dismissRelatedLookupPopup; + window.showRelatedObjectPopup = showRelatedObjectPopup; + window.updateRelatedObjectLinks = updateRelatedObjectLinks; + window.dismissAddRelatedObjectPopup = dismissAddRelatedObjectPopup; + window.dismissChangeRelatedObjectPopup = dismissChangeRelatedObjectPopup; + window.dismissDeleteRelatedObjectPopup = dismissDeleteRelatedObjectPopup; + + // Kept for backward compatibility + window.showAddAnotherPopup = showRelatedObjectPopup; + window.dismissAddAnotherPopup = dismissAddRelatedObjectPopup; + + $(document).ready(function() { + $("a[data-popup-opener]").on('click', function(event) { + event.preventDefault(); + opener.dismissRelatedLookupPopup(window, $(this).data("popup-opener")); + }); + $('body').on('click', '.related-widget-wrapper-link', function(e) { + e.preventDefault(); + if (this.href) { + var event = $.Event('django:show-related', {href: this.href}); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showRelatedObjectPopup(this); + } + } + }); + $('body').on('change', '.related-widget-wrapper select', function(e) { + var event = $.Event('django:update-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + updateRelatedObjectLinks(this); + } + }); + $('.related-widget-wrapper select').trigger('change'); + $('body').on('click', '.related-lookup', function(e) { + e.preventDefault(); + var event = $.Event('django:lookup-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showRelatedObjectLookupPopup(this); + } + }); + }); + +})(django.jQuery); diff --git a/static/admin/js/admin/RelatedObjectLookups.js.gz b/static/admin/js/admin/RelatedObjectLookups.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..09be86331d07e19c665299053db60338d5609c31 GIT binary patch literal 1845 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 b#eev9zc{>Jd)+pJZ|alIi8r%JGcW)EWPX^> literal 0 HcmV?d00001 diff --git a/static/admin/js/autocomplete.cfd2c4dc8981.js b/static/admin/js/autocomplete.cfd2c4dc8981.js new file mode 100644 index 0000000..65c0702 --- /dev/null +++ b/static/admin/js/autocomplete.cfd2c4dc8981.js @@ -0,0 +1,37 @@ +(function($) { + 'use strict'; + var init = function($element, options) { + var settings = $.extend({ + ajax: { + data: function(params) { + return { + term: params.term, + page: params.page + }; + } + } + }, options); + $element.select2(settings); + }; + + $.fn.djangoAdminSelect2 = function(options) { + var settings = $.extend({}, options); + $.each(this, function(i, element) { + var $element = $(element); + init($element, settings); + }); + return this; + }; + + $(function() { + // Initialize all autocomplete widgets except the one in the template + // form used when a new formset is added. + $('.admin-autocomplete').not('[name*=__prefix__]').djangoAdminSelect2(); + }); + + $(document).on('formset:added', (function() { + return function(event, $newFormset) { + return $newFormset.find('.admin-autocomplete').djangoAdminSelect2(); + }; + })(this)); +}(django.jQuery)); diff --git a/static/admin/js/autocomplete.cfd2c4dc8981.js.gz b/static/admin/js/autocomplete.cfd2c4dc8981.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..a2d1c504108572411758a9668258dfb28b9e0940 GIT binary patch literal 437 zcmb2|=3oE;rvFoe59ZxA;Mx0KyMiO3@<T|%aS_`uK?%nbk0)|)bo+_in51~ociW-= zah@BKRekxM9u@lf!^7^<B1xaKx1=^|J^ahqB-*V0;Z4ceqrso{EM(3#Ic%&`khN0z zu;>jtt3NV!>=jAZ(q21X@VYedq{c>tMGxirvv+)P4L-3W&gkol4Z9bdKP$+8?oMUT zu_wDs=Xj*-2`OJ_oA;8ZclzuTA74(cuGvv5EnYfpL8Rr&!wa9uCxvAlV)^$a_T({- zt?rw*>aV)|>^tW?{)gI^?yqwdx@LXQ`t9o0uyBK`6>F<f=D+TLlXNULOK7_4?Fp;d zf+ydsluFcj<i%L1r>XzsqhMVdi&XUA`3$$k3KF7kugmY`<crGfw7sx#**s?5MpKb2 zFZX2(&dcVk-MFrK!&fdoYomsQ7Zc_zEVv*Spczyo=qn=h*k#}I%I+Yk(~Ev2Z&;jv zezx!X6&H`6eU@MG)5guvf47bK>Kt1Y!_<r&Gd`^k{<Ns+c9hSpx%Xe_YVPBb-7}A4 xox6o=3dhYC8x+c`cEwkI)9*=*T4=PV=aGow_x)@|{};Vx7JbzdlET8k005)e)T96a literal 0 HcmV?d00001 diff --git a/static/admin/js/autocomplete.js b/static/admin/js/autocomplete.js new file mode 100644 index 0000000..65c0702 --- /dev/null +++ b/static/admin/js/autocomplete.js @@ -0,0 +1,37 @@ +(function($) { + 'use strict'; + var init = function($element, options) { + var settings = $.extend({ + ajax: { + data: function(params) { + return { + term: params.term, + page: params.page + }; + } + } + }, options); + $element.select2(settings); + }; + + $.fn.djangoAdminSelect2 = function(options) { + var settings = $.extend({}, options); + $.each(this, function(i, element) { + var $element = $(element); + init($element, settings); + }); + return this; + }; + + $(function() { + // Initialize all autocomplete widgets except the one in the template + // form used when a new formset is added. + $('.admin-autocomplete').not('[name*=__prefix__]').djangoAdminSelect2(); + }); + + $(document).on('formset:added', (function() { + return function(event, $newFormset) { + return $newFormset.find('.admin-autocomplete').djangoAdminSelect2(); + }; + })(this)); +}(django.jQuery)); diff --git a/static/admin/js/autocomplete.js.gz b/static/admin/js/autocomplete.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..a2d1c504108572411758a9668258dfb28b9e0940 GIT binary patch literal 437 zcmb2|=3oE;rvFoe59ZxA;Mx0KyMiO3@<T|%aS_`uK?%nbk0)|)bo+_in51~ociW-= zah@BKRekxM9u@lf!^7^<B1xaKx1=^|J^ahqB-*V0;Z4ceqrso{EM(3#Ic%&`khN0z zu;>jtt3NV!>=jAZ(q21X@VYedq{c>tMGxirvv+)P4L-3W&gkol4Z9bdKP$+8?oMUT zu_wDs=Xj*-2`OJ_oA;8ZclzuTA74(cuGvv5EnYfpL8Rr&!wa9uCxvAlV)^$a_T({- zt?rw*>aV)|>^tW?{)gI^?yqwdx@LXQ`t9o0uyBK`6>F<f=D+TLlXNULOK7_4?Fp;d zf+ydsluFcj<i%L1r>XzsqhMVdi&XUA`3$$k3KF7kugmY`<crGfw7sx#**s?5MpKb2 zFZX2(&dcVk-MFrK!&fdoYomsQ7Zc_zEVv*Spczyo=qn=h*k#}I%I+Yk(~Ev2Z&;jv zezx!X6&H`6eU@MG)5guvf47bK>Kt1Y!_<r&Gd`^k{<Ns+c9hSpx%Xe_YVPBb-7}A4 xox6o=3dhYC8x+c`cEwkI)9*=*T4=PV=aGow_x)@|{};Vx7JbzdlET8k005)e)T96a literal 0 HcmV?d00001 diff --git a/static/admin/js/calendar.aae57adab5f6.js b/static/admin/js/calendar.aae57adab5f6.js new file mode 100644 index 0000000..a4c047a --- /dev/null +++ b/static/admin/js/calendar.aae57adab5f6.js @@ -0,0 +1,208 @@ +/*global gettext, pgettext, get_format, quickElement, removeChildren*/ +/* +calendar.js - Calendar functions by Adrian Holovaty +depends on core.js for utility functions like removeChildren or quickElement +*/ + +(function() { + 'use strict'; + // CalendarNamespace -- Provides a collection of HTML calendar-related helper functions + var CalendarNamespace = { + monthsOfYear: [ + gettext('January'), + gettext('February'), + gettext('March'), + gettext('April'), + gettext('May'), + gettext('June'), + gettext('July'), + gettext('August'), + gettext('September'), + gettext('October'), + gettext('November'), + gettext('December') + ], + daysOfWeek: [ + pgettext('one letter Sunday', 'S'), + pgettext('one letter Monday', 'M'), + pgettext('one letter Tuesday', 'T'), + pgettext('one letter Wednesday', 'W'), + pgettext('one letter Thursday', 'T'), + pgettext('one letter Friday', 'F'), + pgettext('one letter Saturday', 'S') + ], + firstDayOfWeek: parseInt(get_format('FIRST_DAY_OF_WEEK')), + isLeapYear: function(year) { + return (((year % 4) === 0) && ((year % 100) !== 0 ) || ((year % 400) === 0)); + }, + getDaysInMonth: function(month, year) { + var days; + if (month === 1 || month === 3 || month === 5 || month === 7 || month === 8 || month === 10 || month === 12) { + days = 31; + } + else if (month === 4 || month === 6 || month === 9 || month === 11) { + days = 30; + } + else if (month === 2 && CalendarNamespace.isLeapYear(year)) { + days = 29; + } + else { + days = 28; + } + return days; + }, + draw: function(month, year, div_id, callback, selected) { // month = 1-12, year = 1-9999 + var today = new Date(); + var todayDay = today.getDate(); + var todayMonth = today.getMonth() + 1; + var todayYear = today.getFullYear(); + var todayClass = ''; + + // Use UTC functions here because the date field does not contain time + // and using the UTC function variants prevent the local time offset + // from altering the date, specifically the day field. For example: + // + // ``` + // var x = new Date('2013-10-02'); + // var day = x.getDate(); + // ``` + // + // The day variable above will be 1 instead of 2 in, say, US Pacific time + // zone. + var isSelectedMonth = false; + if (typeof selected !== 'undefined') { + isSelectedMonth = (selected.getUTCFullYear() === year && (selected.getUTCMonth() + 1) === month); + } + + month = parseInt(month); + year = parseInt(year); + var calDiv = document.getElementById(div_id); + removeChildren(calDiv); + var calTable = document.createElement('table'); + quickElement('caption', calTable, CalendarNamespace.monthsOfYear[month - 1] + ' ' + year); + var tableBody = quickElement('tbody', calTable); + + // Draw days-of-week header + var tableRow = quickElement('tr', tableBody); + for (var i = 0; i < 7; i++) { + quickElement('th', tableRow, CalendarNamespace.daysOfWeek[(i + CalendarNamespace.firstDayOfWeek) % 7]); + } + + var startingPos = new Date(year, month - 1, 1 - CalendarNamespace.firstDayOfWeek).getDay(); + var days = CalendarNamespace.getDaysInMonth(month, year); + + var nonDayCell; + + // Draw blanks before first of month + tableRow = quickElement('tr', tableBody); + for (i = 0; i < startingPos; i++) { + nonDayCell = quickElement('td', tableRow, ' '); + nonDayCell.className = "nonday"; + } + + function calendarMonth(y, m) { + function onClick(e) { + e.preventDefault(); + callback(y, m, this.textContent); + } + return onClick; + } + + // Draw days of month + var currentDay = 1; + for (i = startingPos; currentDay <= days; i++) { + if (i % 7 === 0 && currentDay !== 1) { + tableRow = quickElement('tr', tableBody); + } + if ((currentDay === todayDay) && (month === todayMonth) && (year === todayYear)) { + todayClass = 'today'; + } else { + todayClass = ''; + } + + // use UTC function; see above for explanation. + if (isSelectedMonth && currentDay === selected.getUTCDate()) { + if (todayClass !== '') { + todayClass += " "; + } + todayClass += "selected"; + } + + var cell = quickElement('td', tableRow, '', 'class', todayClass); + var link = quickElement('a', cell, currentDay, 'href', '#'); + link.addEventListener('click', calendarMonth(year, month)); + currentDay++; + } + + // Draw blanks after end of month (optional, but makes for valid code) + while (tableRow.childNodes.length < 7) { + nonDayCell = quickElement('td', tableRow, ' '); + nonDayCell.className = "nonday"; + } + + calDiv.appendChild(calTable); + } + }; + + // Calendar -- A calendar instance + function Calendar(div_id, callback, selected) { + // div_id (string) is the ID of the element in which the calendar will + // be displayed + // callback (string) is the name of a JavaScript function that will be + // called with the parameters (year, month, day) when a day in the + // calendar is clicked + this.div_id = div_id; + this.callback = callback; + this.today = new Date(); + this.currentMonth = this.today.getMonth() + 1; + this.currentYear = this.today.getFullYear(); + if (typeof selected !== 'undefined') { + this.selected = selected; + } + } + Calendar.prototype = { + drawCurrent: function() { + CalendarNamespace.draw(this.currentMonth, this.currentYear, this.div_id, this.callback, this.selected); + }, + drawDate: function(month, year, selected) { + this.currentMonth = month; + this.currentYear = year; + + if(selected) { + this.selected = selected; + } + + this.drawCurrent(); + }, + drawPreviousMonth: function() { + if (this.currentMonth === 1) { + this.currentMonth = 12; + this.currentYear--; + } + else { + this.currentMonth--; + } + this.drawCurrent(); + }, + drawNextMonth: function() { + if (this.currentMonth === 12) { + this.currentMonth = 1; + this.currentYear++; + } + else { + this.currentMonth++; + } + this.drawCurrent(); + }, + drawPreviousYear: function() { + this.currentYear--; + this.drawCurrent(); + }, + drawNextYear: function() { + this.currentYear++; + this.drawCurrent(); + } + }; + window.Calendar = Calendar; + window.CalendarNamespace = CalendarNamespace; +})(); diff --git a/static/admin/js/calendar.aae57adab5f6.js.gz b/static/admin/js/calendar.aae57adab5f6.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..a77ce303a0bfa13302f0b490e268a5b31e1915c3 GIT binary patch literal 2086 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 US+?(Tn!n_)>+5e%lw)8309%e1%m4rY literal 0 HcmV?d00001 diff --git a/static/admin/js/calendar.js b/static/admin/js/calendar.js new file mode 100644 index 0000000..a4c047a --- /dev/null +++ b/static/admin/js/calendar.js @@ -0,0 +1,208 @@ +/*global gettext, pgettext, get_format, quickElement, removeChildren*/ +/* +calendar.js - Calendar functions by Adrian Holovaty +depends on core.js for utility functions like removeChildren or quickElement +*/ + +(function() { + 'use strict'; + // CalendarNamespace -- Provides a collection of HTML calendar-related helper functions + var CalendarNamespace = { + monthsOfYear: [ + gettext('January'), + gettext('February'), + gettext('March'), + gettext('April'), + gettext('May'), + gettext('June'), + gettext('July'), + gettext('August'), + gettext('September'), + gettext('October'), + gettext('November'), + gettext('December') + ], + daysOfWeek: [ + pgettext('one letter Sunday', 'S'), + pgettext('one letter Monday', 'M'), + pgettext('one letter Tuesday', 'T'), + pgettext('one letter Wednesday', 'W'), + pgettext('one letter Thursday', 'T'), + pgettext('one letter Friday', 'F'), + pgettext('one letter Saturday', 'S') + ], + firstDayOfWeek: parseInt(get_format('FIRST_DAY_OF_WEEK')), + isLeapYear: function(year) { + return (((year % 4) === 0) && ((year % 100) !== 0 ) || ((year % 400) === 0)); + }, + getDaysInMonth: function(month, year) { + var days; + if (month === 1 || month === 3 || month === 5 || month === 7 || month === 8 || month === 10 || month === 12) { + days = 31; + } + else if (month === 4 || month === 6 || month === 9 || month === 11) { + days = 30; + } + else if (month === 2 && CalendarNamespace.isLeapYear(year)) { + days = 29; + } + else { + days = 28; + } + return days; + }, + draw: function(month, year, div_id, callback, selected) { // month = 1-12, year = 1-9999 + var today = new Date(); + var todayDay = today.getDate(); + var todayMonth = today.getMonth() + 1; + var todayYear = today.getFullYear(); + var todayClass = ''; + + // Use UTC functions here because the date field does not contain time + // and using the UTC function variants prevent the local time offset + // from altering the date, specifically the day field. For example: + // + // ``` + // var x = new Date('2013-10-02'); + // var day = x.getDate(); + // ``` + // + // The day variable above will be 1 instead of 2 in, say, US Pacific time + // zone. + var isSelectedMonth = false; + if (typeof selected !== 'undefined') { + isSelectedMonth = (selected.getUTCFullYear() === year && (selected.getUTCMonth() + 1) === month); + } + + month = parseInt(month); + year = parseInt(year); + var calDiv = document.getElementById(div_id); + removeChildren(calDiv); + var calTable = document.createElement('table'); + quickElement('caption', calTable, CalendarNamespace.monthsOfYear[month - 1] + ' ' + year); + var tableBody = quickElement('tbody', calTable); + + // Draw days-of-week header + var tableRow = quickElement('tr', tableBody); + for (var i = 0; i < 7; i++) { + quickElement('th', tableRow, CalendarNamespace.daysOfWeek[(i + CalendarNamespace.firstDayOfWeek) % 7]); + } + + var startingPos = new Date(year, month - 1, 1 - CalendarNamespace.firstDayOfWeek).getDay(); + var days = CalendarNamespace.getDaysInMonth(month, year); + + var nonDayCell; + + // Draw blanks before first of month + tableRow = quickElement('tr', tableBody); + for (i = 0; i < startingPos; i++) { + nonDayCell = quickElement('td', tableRow, ' '); + nonDayCell.className = "nonday"; + } + + function calendarMonth(y, m) { + function onClick(e) { + e.preventDefault(); + callback(y, m, this.textContent); + } + return onClick; + } + + // Draw days of month + var currentDay = 1; + for (i = startingPos; currentDay <= days; i++) { + if (i % 7 === 0 && currentDay !== 1) { + tableRow = quickElement('tr', tableBody); + } + if ((currentDay === todayDay) && (month === todayMonth) && (year === todayYear)) { + todayClass = 'today'; + } else { + todayClass = ''; + } + + // use UTC function; see above for explanation. + if (isSelectedMonth && currentDay === selected.getUTCDate()) { + if (todayClass !== '') { + todayClass += " "; + } + todayClass += "selected"; + } + + var cell = quickElement('td', tableRow, '', 'class', todayClass); + var link = quickElement('a', cell, currentDay, 'href', '#'); + link.addEventListener('click', calendarMonth(year, month)); + currentDay++; + } + + // Draw blanks after end of month (optional, but makes for valid code) + while (tableRow.childNodes.length < 7) { + nonDayCell = quickElement('td', tableRow, ' '); + nonDayCell.className = "nonday"; + } + + calDiv.appendChild(calTable); + } + }; + + // Calendar -- A calendar instance + function Calendar(div_id, callback, selected) { + // div_id (string) is the ID of the element in which the calendar will + // be displayed + // callback (string) is the name of a JavaScript function that will be + // called with the parameters (year, month, day) when a day in the + // calendar is clicked + this.div_id = div_id; + this.callback = callback; + this.today = new Date(); + this.currentMonth = this.today.getMonth() + 1; + this.currentYear = this.today.getFullYear(); + if (typeof selected !== 'undefined') { + this.selected = selected; + } + } + Calendar.prototype = { + drawCurrent: function() { + CalendarNamespace.draw(this.currentMonth, this.currentYear, this.div_id, this.callback, this.selected); + }, + drawDate: function(month, year, selected) { + this.currentMonth = month; + this.currentYear = year; + + if(selected) { + this.selected = selected; + } + + this.drawCurrent(); + }, + drawPreviousMonth: function() { + if (this.currentMonth === 1) { + this.currentMonth = 12; + this.currentYear--; + } + else { + this.currentMonth--; + } + this.drawCurrent(); + }, + drawNextMonth: function() { + if (this.currentMonth === 12) { + this.currentMonth = 1; + this.currentYear++; + } + else { + this.currentMonth++; + } + this.drawCurrent(); + }, + drawPreviousYear: function() { + this.currentYear--; + this.drawCurrent(); + }, + drawNextYear: function() { + this.currentYear++; + this.drawCurrent(); + } + }; + window.Calendar = Calendar; + window.CalendarNamespace = CalendarNamespace; +})(); diff --git a/static/admin/js/calendar.js.gz b/static/admin/js/calendar.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..a77ce303a0bfa13302f0b490e268a5b31e1915c3 GIT binary patch literal 2086 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 US+?(Tn!n_)>+5e%lw)8309%e1%m4rY literal 0 HcmV?d00001 diff --git a/static/admin/js/cancel.a2c3149a1c5e.js b/static/admin/js/cancel.a2c3149a1c5e.js new file mode 100644 index 0000000..8809ee7 --- /dev/null +++ b/static/admin/js/cancel.a2c3149a1c5e.js @@ -0,0 +1,13 @@ +(function($) { + 'use strict'; + $(function() { + $('.cancel-link').on('click', function(e) { + e.preventDefault(); + if (window.location.search.indexOf('&_popup=1') === -1) { + window.history.back(); // Go back if not a popup. + } else { + window.close(); // Otherwise, close the popup. + } + }); + }); +})(django.jQuery); diff --git a/static/admin/js/cancel.a2c3149a1c5e.js.gz b/static/admin/js/cancel.a2c3149a1c5e.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..41ae011ac89367a2f480f0ca0412186225bb298a GIT binary patch literal 241 zcmb2|=3oE;rvIfA&iWlT5NLUCb5u?%$9wJSd8_YCun4nZG`h`Om|Us+UqEY0`EfqQ zMI6tP-d22*zPahF+~ib!b1u7g3p}292n27Kaip-!tjM>veP7PPixn!{i?4lmdMPCE zLg!l&_iL`dcUCIdvQ#P0ms??aQ*~vZ`S)$CmQnT30<GPG6|E+5-gx=w((jd1AN{L* zpvZsLQ6pm(TUq;k-B9kOn+*$hyb^D&)olJNCnxzTWVemFfx+W1yopRjPqqIYUG&(4 x`~4IvuEo7uT5q-){XZGAJhQUYR$cYH_~ZD<_<2UH*&FQ`Yl|$u%w%L>0061uZ7~1< literal 0 HcmV?d00001 diff --git a/static/admin/js/cancel.js b/static/admin/js/cancel.js new file mode 100644 index 0000000..8809ee7 --- /dev/null +++ b/static/admin/js/cancel.js @@ -0,0 +1,13 @@ +(function($) { + 'use strict'; + $(function() { + $('.cancel-link').on('click', function(e) { + e.preventDefault(); + if (window.location.search.indexOf('&_popup=1') === -1) { + window.history.back(); // Go back if not a popup. + } else { + window.close(); // Otherwise, close the popup. + } + }); + }); +})(django.jQuery); diff --git a/static/admin/js/cancel.js.gz b/static/admin/js/cancel.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..41ae011ac89367a2f480f0ca0412186225bb298a GIT binary patch literal 241 zcmb2|=3oE;rvIfA&iWlT5NLUCb5u?%$9wJSd8_YCun4nZG`h`Om|Us+UqEY0`EfqQ zMI6tP-d22*zPahF+~ib!b1u7g3p}292n27Kaip-!tjM>veP7PPixn!{i?4lmdMPCE zLg!l&_iL`dcUCIdvQ#P0ms??aQ*~vZ`S)$CmQnT30<GPG6|E+5-gx=w((jd1AN{L* zpvZsLQ6pm(TUq;k-B9kOn+*$hyb^D&)olJNCnxzTWVemFfx+W1yopRjPqqIYUG&(4 x`~4IvuEo7uT5q-){XZGAJhQUYR$cYH_~ZD<_<2UH*&FQ`Yl|$u%w%L>0061uZ7~1< literal 0 HcmV?d00001 diff --git a/static/admin/js/change_form.9e85003a1a38.js b/static/admin/js/change_form.9e85003a1a38.js new file mode 100644 index 0000000..4797383 --- /dev/null +++ b/static/admin/js/change_form.9e85003a1a38.js @@ -0,0 +1,20 @@ +/*global showAddAnotherPopup, showRelatedObjectLookupPopup showRelatedObjectPopup updateRelatedObjectLinks*/ + +(function($) { + 'use strict'; + $(document).ready(function() { + var modelName = $('#django-admin-form-add-constants').data('modelName'); + $('body').on('click', '.add-another', function(e) { + e.preventDefault(); + var event = $.Event('django:add-another-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showAddAnotherPopup(this); + } + }); + + if (modelName) { + $('form#' + modelName + '_form :input:visible:enabled:first').focus(); + } + }); +})(django.jQuery); diff --git a/static/admin/js/change_form.9e85003a1a38.js.gz b/static/admin/js/change_form.9e85003a1a38.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..b955181ea70683ef20fe74ce89c48fa39f22d639 GIT binary patch literal 369 zcmb2|=3oE;rvJG?r~M8a2<&;T-4k`v@Ai`KAu?JAc^x0JPms<J+TJPqGcaV~KkL^s z+5~QRzll8mCd2Ht>)jW&`5m?|`qv6XFTKln#;<%|^w$T{CU+VuZptq#@sFBcbG`h( znerR!#tZq=LezIhsB^B~qc!(R*V*7tGX->B=?c8=(UHCT<-{D$*k58(yo;G*V(KEy zgH{-uFS*JzEBzkRPIsxfoyy@`&+W)qdP*xd%BE}0l~Y#h<}A(ZyJxYOxqsPgM*-Gv zQ86C`{T8JvpB9c4oW;&5mwfQ|1J+|{PLB5^Ef&9JU$G-!MmqC8&-cFxX7xPkZi^o$ znJ60@T3IbTKhxS{_A`ml*yhB&SDy5);n@9Jdgqq=W@Q&eIHvi@w*N|hUw9$^>Fa{s zN$QgPGKc1zN?wr2ZtOK}v9B&?Ex&>0l2?1Q&s{oI%gn0LCm$GcDWctb#Rv5bk9iii c8vL8JX-0Hi&DR7yj#|c5b_VlKFflLy03?R01ONa4 literal 0 HcmV?d00001 diff --git a/static/admin/js/change_form.js b/static/admin/js/change_form.js new file mode 100644 index 0000000..4797383 --- /dev/null +++ b/static/admin/js/change_form.js @@ -0,0 +1,20 @@ +/*global showAddAnotherPopup, showRelatedObjectLookupPopup showRelatedObjectPopup updateRelatedObjectLinks*/ + +(function($) { + 'use strict'; + $(document).ready(function() { + var modelName = $('#django-admin-form-add-constants').data('modelName'); + $('body').on('click', '.add-another', function(e) { + e.preventDefault(); + var event = $.Event('django:add-another-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showAddAnotherPopup(this); + } + }); + + if (modelName) { + $('form#' + modelName + '_form :input:visible:enabled:first').focus(); + } + }); +})(django.jQuery); diff --git a/static/admin/js/change_form.js.gz b/static/admin/js/change_form.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..b955181ea70683ef20fe74ce89c48fa39f22d639 GIT binary patch literal 369 zcmb2|=3oE;rvJG?r~M8a2<&;T-4k`v@Ai`KAu?JAc^x0JPms<J+TJPqGcaV~KkL^s z+5~QRzll8mCd2Ht>)jW&`5m?|`qv6XFTKln#;<%|^w$T{CU+VuZptq#@sFBcbG`h( znerR!#tZq=LezIhsB^B~qc!(R*V*7tGX->B=?c8=(UHCT<-{D$*k58(yo;G*V(KEy zgH{-uFS*JzEBzkRPIsxfoyy@`&+W)qdP*xd%BE}0l~Y#h<}A(ZyJxYOxqsPgM*-Gv zQ86C`{T8JvpB9c4oW;&5mwfQ|1J+|{PLB5^Ef&9JU$G-!MmqC8&-cFxX7xPkZi^o$ znJ60@T3IbTKhxS{_A`ml*yhB&SDy5);n@9Jdgqq=W@Q&eIHvi@w*N|hUw9$^>Fa{s zN$QgPGKc1zN?wr2ZtOK}v9B&?Ex&>0l2?1Q&s{oI%gn0LCm$GcDWctb#Rv5bk9iii c8vL8JX-0Hi&DR7yj#|c5b_VlKFflLy03?R01ONa4 literal 0 HcmV?d00001 diff --git a/static/admin/js/collapse.c5b851e91226.js b/static/admin/js/collapse.c5b851e91226.js new file mode 100644 index 0000000..20e7030 --- /dev/null +++ b/static/admin/js/collapse.c5b851e91226.js @@ -0,0 +1,55 @@ +/*global gettext*/ +(function() { + 'use strict'; + var closestElem = function(elem, tagName) { + if (elem.nodeName === tagName.toUpperCase()) { + return elem; + } + if (elem.parentNode.nodeName === 'BODY') { + return null; + } + return elem.parentNode && closestElem(elem.parentNode, tagName); + }; + + window.addEventListener('load', function() { + // Add anchor tag for Show/Hide link + var fieldsets = document.querySelectorAll('fieldset.collapse'); + for (var i = 0; i < fieldsets.length; i++) { + var elem = fieldsets[i]; + // Don't hide if fields in this fieldset have errors + if (elem.querySelectorAll('div.errors').length === 0) { + elem.classList.add('collapsed'); + var h2 = elem.querySelector('h2'); + var link = document.createElement('a'); + link.setAttribute('id', 'fieldsetcollapser' + i); + link.setAttribute('class', 'collapse-toggle'); + link.setAttribute('href', '#'); + link.textContent = gettext('Show'); + h2.appendChild(document.createTextNode(' (')); + h2.appendChild(link); + h2.appendChild(document.createTextNode(')')); + } + } + // Add toggle to hide/show anchor tag + var toggleFunc = function(ev) { + if (ev.target.matches('.collapse-toggle')) { + ev.preventDefault(); + ev.stopPropagation(); + var fieldset = closestElem(ev.target, 'fieldset'); + if (fieldset.classList.contains('collapsed')) { + // Show + ev.target.textContent = gettext('Hide'); + fieldset.classList.remove('collapsed'); + } else { + // Hide + ev.target.textContent = gettext('Show'); + fieldset.classList.add('collapsed'); + } + } + }; + var inlineDivs = document.querySelectorAll('fieldset.module'); + for (i = 0; i < inlineDivs.length; i++) { + inlineDivs[i].addEventListener('click', toggleFunc); + } + }); +})(); diff --git a/static/admin/js/collapse.c5b851e91226.js.gz b/static/admin/js/collapse.c5b851e91226.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..7784ca7cb5333c327dcd8274e1915dd436de5f62 GIT binary patch literal 729 zcmb2|=3oE;rvFPrz4Naa2<-bF9^tfV?zWWGano(5<O#BeOyFW~vDk4kC+TW7`)yCh zjQ`fgH_v8IzQ9$pQRsZl=U-`Qh0`*BE0~^EVEG|=PE0*1c$SJrw#$*a`35$7z8t72 z(BiC#{J(NZa_2U=njKd+q-tN&Vyuhbps?9`XDeG{->nV549(0~t5Q~9T_xDl{5MGC zLEaK}!LL_eSa2*g?%6W^?cuzh7!P)}JBt4<aMb@U{5$phf>}YYHLuLOC}&`8`_{cK zXM1-I|IX-nSH4d+T3OqbI_qAT#xKX83~X~A+&VQSena57mpWo^tbAvhc;?A6ZsxuB zeP?adp70l4Vb3;-E}N7i^5Tl~hlmMR)Sim@9<}!>*#GY0d6kIrwOb$bM$Cy=oBFWP zJ(lT2i-JL`!gTLF_eyqbWSiV7^MBra`Q?*K9yqkQ{hR%3pA1K$M|O5af+cH1>+No% z)QA&P^Gzf5v=bi8DXn9;aIH!vY}KlY^#>O>FE0J6-*3A#I9VmC%75#ELmc;(D8GHa zSU#?<^<eK>?s@TNR|fR{y6Pcwg26@hk5G)?%ZYwHo;&z%6!WJt92A|nL^tN~ipOu} ztemcRWuuVC;y+e5bS{5zVlQHszEo$b?f>}kF{vk|2O9W4yA&*XJ;kq1)cZ}v<a<xN zmOs*PoF6#-muG=m#g{!+l^^8Y7ESEEd&I@!%VWFzimNJd6+9cRFK%wT)4lKTGr67< zuVzd%UA@}EqrI|wyOD}z#lgpcYt>f99BpNm($2ndB8c5^BB#iwgJSdN=%%QBUz|2; zV=ni)w&rz(>yIB^xhqKHZbPQDj$@if>YoLtmo2hXnU!Ju^V-tPwgMBW<ua?=Z{ILv zkB&ZQe0Klgb;o5bUhCfcW1j!~R`Rji&!1n(>pOOu(Rk{?X^mS~#qHAGW~TeKBKXTT t7xtgqO)q*rESeF~(HVA9*>Bdm(nXKo?m29~yW_`i_SL-&TKhQ|7y#pSYNr4I literal 0 HcmV?d00001 diff --git a/static/admin/js/collapse.js b/static/admin/js/collapse.js new file mode 100644 index 0000000..20e7030 --- /dev/null +++ b/static/admin/js/collapse.js @@ -0,0 +1,55 @@ +/*global gettext*/ +(function() { + 'use strict'; + var closestElem = function(elem, tagName) { + if (elem.nodeName === tagName.toUpperCase()) { + return elem; + } + if (elem.parentNode.nodeName === 'BODY') { + return null; + } + return elem.parentNode && closestElem(elem.parentNode, tagName); + }; + + window.addEventListener('load', function() { + // Add anchor tag for Show/Hide link + var fieldsets = document.querySelectorAll('fieldset.collapse'); + for (var i = 0; i < fieldsets.length; i++) { + var elem = fieldsets[i]; + // Don't hide if fields in this fieldset have errors + if (elem.querySelectorAll('div.errors').length === 0) { + elem.classList.add('collapsed'); + var h2 = elem.querySelector('h2'); + var link = document.createElement('a'); + link.setAttribute('id', 'fieldsetcollapser' + i); + link.setAttribute('class', 'collapse-toggle'); + link.setAttribute('href', '#'); + link.textContent = gettext('Show'); + h2.appendChild(document.createTextNode(' (')); + h2.appendChild(link); + h2.appendChild(document.createTextNode(')')); + } + } + // Add toggle to hide/show anchor tag + var toggleFunc = function(ev) { + if (ev.target.matches('.collapse-toggle')) { + ev.preventDefault(); + ev.stopPropagation(); + var fieldset = closestElem(ev.target, 'fieldset'); + if (fieldset.classList.contains('collapsed')) { + // Show + ev.target.textContent = gettext('Hide'); + fieldset.classList.remove('collapsed'); + } else { + // Hide + ev.target.textContent = gettext('Show'); + fieldset.classList.add('collapsed'); + } + } + }; + var inlineDivs = document.querySelectorAll('fieldset.module'); + for (i = 0; i < inlineDivs.length; i++) { + inlineDivs[i].addEventListener('click', toggleFunc); + } + }); +})(); diff --git a/static/admin/js/collapse.js.gz b/static/admin/js/collapse.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..7784ca7cb5333c327dcd8274e1915dd436de5f62 GIT binary patch literal 729 zcmb2|=3oE;rvFPrz4Naa2<-bF9^tfV?zWWGano(5<O#BeOyFW~vDk4kC+TW7`)yCh zjQ`fgH_v8IzQ9$pQRsZl=U-`Qh0`*BE0~^EVEG|=PE0*1c$SJrw#$*a`35$7z8t72 z(BiC#{J(NZa_2U=njKd+q-tN&Vyuhbps?9`XDeG{->nV549(0~t5Q~9T_xDl{5MGC zLEaK}!LL_eSa2*g?%6W^?cuzh7!P)}JBt4<aMb@U{5$phf>}YYHLuLOC}&`8`_{cK zXM1-I|IX-nSH4d+T3OqbI_qAT#xKX83~X~A+&VQSena57mpWo^tbAvhc;?A6ZsxuB zeP?adp70l4Vb3;-E}N7i^5Tl~hlmMR)Sim@9<}!>*#GY0d6kIrwOb$bM$Cy=oBFWP zJ(lT2i-JL`!gTLF_eyqbWSiV7^MBra`Q?*K9yqkQ{hR%3pA1K$M|O5af+cH1>+No% z)QA&P^Gzf5v=bi8DXn9;aIH!vY}KlY^#>O>FE0J6-*3A#I9VmC%75#ELmc;(D8GHa zSU#?<^<eK>?s@TNR|fR{y6Pcwg26@hk5G)?%ZYwHo;&z%6!WJt92A|nL^tN~ipOu} ztemcRWuuVC;y+e5bS{5zVlQHszEo$b?f>}kF{vk|2O9W4yA&*XJ;kq1)cZ}v<a<xN zmOs*PoF6#-muG=m#g{!+l^^8Y7ESEEd&I@!%VWFzimNJd6+9cRFK%wT)4lKTGr67< zuVzd%UA@}EqrI|wyOD}z#lgpcYt>f99BpNm($2ndB8c5^BB#iwgJSdN=%%QBUz|2; zV=ni)w&rz(>yIB^xhqKHZbPQDj$@if>YoLtmo2hXnU!Ju^V-tPwgMBW<ua?=Z{ILv zkB&ZQe0Klgb;o5bUhCfcW1j!~R`Rji&!1n(>pOOu(Rk{?X^mS~#qHAGW~TeKBKXTT t7xtgqO)q*rESeF~(HVA9*>Bdm(nXKo?m29~yW_`i_SL-&TKhQ|7y#pSYNr4I literal 0 HcmV?d00001 diff --git a/static/admin/js/collapse.min.44dfdb427845.js b/static/admin/js/collapse.min.44dfdb427845.js new file mode 100644 index 0000000..9e16a21 --- /dev/null +++ b/static/admin/js/collapse.min.44dfdb427845.js @@ -0,0 +1,3 @@ +(function(){var e=function(b,a){return b.nodeName===a.toUpperCase()?b:"BODY"===b.parentNode.nodeName?null:b.parentNode&&e(b.parentNode,a)};window.addEventListener("load",function(){for(var b=document.querySelectorAll("fieldset.collapse"),a=0;a<b.length;a++){var c=b[a];if(0===c.querySelectorAll("div.errors").length){c.classList.add("collapsed");c=c.querySelector("h2");var d=document.createElement("a");d.setAttribute("id","fieldsetcollapser"+a);d.setAttribute("class","collapse-toggle");d.setAttribute("href", +"#");d.textContent=gettext("Show");c.appendChild(document.createTextNode(" ("));c.appendChild(d);c.appendChild(document.createTextNode(")"))}}b=function(a){if(a.target.matches(".collapse-toggle")){a.preventDefault();a.stopPropagation();var b=e(a.target,"fieldset");b.classList.contains("collapsed")?(a.target.textContent=gettext("Hide"),b.classList.remove("collapsed")):(a.target.textContent=gettext("Show"),b.classList.add("collapsed"))}};c=document.querySelectorAll("fieldset.module");for(a=0;a<c.length;a++)c[a].addEventListener("click", +b)})})(); diff --git a/static/admin/js/collapse.min.44dfdb427845.js.gz b/static/admin/js/collapse.min.44dfdb427845.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..c70249f06b261580ae2b2c4ba437298d8eb8c61d GIT binary patch literal 501 zcmb2|=3oE;rvJUczTLMC1opmP&!MFw<azW`a*Xh{o2_!EwrzNusA=1?WTWmXk99ig zx{CkzE?(j}hyTT+$xF=h@9n947W%$))4}46aZWOcl{*521zvZo?5|t0gr9AGLSt%V zlh4EG+ever+hfjLnNs`X&xb=VJWq-#{rcka!ujNx@8^8m{kLyF(VqTli)Prh*&8M$ zoOwLyo&8O{g~w0K<W9JeqOgT)V*18aCXU~^nNG*s9<x9HB4D||`?-(TY<l6-?)mD0 z%obTA!^ThR8oqm3eJRc2lISlFejQZXF5kNLhb-^H^&2F2PmxIOkQM%a>S&br+Xb&T zUDBDoxmNqI%fj=O7TNbM*1k*cJ5=i8@#BTTd<$kL3C~UMgS*1Ma$0US`I|VWw)@1f z0?xay6u-!QHEZ2fR?)hpGh*XO-s;V@-ao9*Hme^Fj!Zt~es13E4X2tt7Nk}i=dUsT z<MSij=^1a4*(0BrhWJ?B6&0HUkADgLmLV%*+M(j1r|^=^`rMPF8A-gGdS@7aZV>&V zR~XpvCMaY7kqb_|yKji>KJlROONN&3O19lsp0GsRpQ}?+CQ^KLZU40=9lVuFdWVGk zBaVErH?h9#pK)%nt6Si%IN`sp27k+b|Lnin8qa@tz2?{OI*Ye!{&_wONOG39EdMNi MU0mNxorQq`0G62hB>(^b literal 0 HcmV?d00001 diff --git a/static/admin/js/collapse.min.js b/static/admin/js/collapse.min.js new file mode 100644 index 0000000..9e16a21 --- /dev/null +++ b/static/admin/js/collapse.min.js @@ -0,0 +1,3 @@ +(function(){var e=function(b,a){return b.nodeName===a.toUpperCase()?b:"BODY"===b.parentNode.nodeName?null:b.parentNode&&e(b.parentNode,a)};window.addEventListener("load",function(){for(var b=document.querySelectorAll("fieldset.collapse"),a=0;a<b.length;a++){var c=b[a];if(0===c.querySelectorAll("div.errors").length){c.classList.add("collapsed");c=c.querySelector("h2");var d=document.createElement("a");d.setAttribute("id","fieldsetcollapser"+a);d.setAttribute("class","collapse-toggle");d.setAttribute("href", +"#");d.textContent=gettext("Show");c.appendChild(document.createTextNode(" ("));c.appendChild(d);c.appendChild(document.createTextNode(")"))}}b=function(a){if(a.target.matches(".collapse-toggle")){a.preventDefault();a.stopPropagation();var b=e(a.target,"fieldset");b.classList.contains("collapsed")?(a.target.textContent=gettext("Hide"),b.classList.remove("collapsed")):(a.target.textContent=gettext("Show"),b.classList.add("collapsed"))}};c=document.querySelectorAll("fieldset.module");for(a=0;a<c.length;a++)c[a].addEventListener("click", +b)})})(); diff --git a/static/admin/js/collapse.min.js.gz b/static/admin/js/collapse.min.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..c70249f06b261580ae2b2c4ba437298d8eb8c61d GIT binary patch literal 501 zcmb2|=3oE;rvJUczTLMC1opmP&!MFw<azW`a*Xh{o2_!EwrzNusA=1?WTWmXk99ig zx{CkzE?(j}hyTT+$xF=h@9n947W%$))4}46aZWOcl{*521zvZo?5|t0gr9AGLSt%V zlh4EG+ever+hfjLnNs`X&xb=VJWq-#{rcka!ujNx@8^8m{kLyF(VqTli)Prh*&8M$ zoOwLyo&8O{g~w0K<W9JeqOgT)V*18aCXU~^nNG*s9<x9HB4D||`?-(TY<l6-?)mD0 z%obTA!^ThR8oqm3eJRc2lISlFejQZXF5kNLhb-^H^&2F2PmxIOkQM%a>S&br+Xb&T zUDBDoxmNqI%fj=O7TNbM*1k*cJ5=i8@#BTTd<$kL3C~UMgS*1Ma$0US`I|VWw)@1f z0?xay6u-!QHEZ2fR?)hpGh*XO-s;V@-ao9*Hme^Fj!Zt~es13E4X2tt7Nk}i=dUsT z<MSij=^1a4*(0BrhWJ?B6&0HUkADgLmLV%*+M(j1r|^=^`rMPF8A-gGdS@7aZV>&V zR~XpvCMaY7kqb_|yKji>KJlROONN&3O19lsp0GsRpQ}?+CQ^KLZU40=9lVuFdWVGk zBaVErH?h9#pK)%nt6Si%IN`sp27k+b|Lnin8qa@tz2?{OI*Ye!{&_wONOG39EdMNi MU0mNxorQq`0G62hB>(^b literal 0 HcmV?d00001 diff --git a/static/admin/js/core.ea39b3bd34c3.js b/static/admin/js/core.ea39b3bd34c3.js new file mode 100644 index 0000000..e3ca0b6 --- /dev/null +++ b/static/admin/js/core.ea39b3bd34c3.js @@ -0,0 +1,173 @@ +// Core javascript helper functions + +// basic browser identification & version +var isOpera = (navigator.userAgent.indexOf("Opera") >= 0) && parseFloat(navigator.appVersion); +var isIE = ((document.all) && (!isOpera)) && parseFloat(navigator.appVersion.split("MSIE ")[1].split(";")[0]); + +// quickElement(tagType, parentReference [, textInChildNode, attribute, attributeValue ...]); +function quickElement() { + 'use strict'; + var obj = document.createElement(arguments[0]); + if (arguments[2]) { + var textNode = document.createTextNode(arguments[2]); + obj.appendChild(textNode); + } + var len = arguments.length; + for (var i = 3; i < len; i += 2) { + obj.setAttribute(arguments[i], arguments[i + 1]); + } + arguments[1].appendChild(obj); + return obj; +} + +// "a" is reference to an object +function removeChildren(a) { + 'use strict'; + while (a.hasChildNodes()) { + a.removeChild(a.lastChild); + } +} + +// ---------------------------------------------------------------------------- +// Find-position functions by PPK +// See https://www.quirksmode.org/js/findpos.html +// ---------------------------------------------------------------------------- +function findPosX(obj) { + 'use strict'; + var curleft = 0; + if (obj.offsetParent) { + while (obj.offsetParent) { + curleft += obj.offsetLeft - ((isOpera) ? 0 : obj.scrollLeft); + obj = obj.offsetParent; + } + // IE offsetParent does not include the top-level + if (isIE && obj.parentElement) { + curleft += obj.offsetLeft - obj.scrollLeft; + } + } else if (obj.x) { + curleft += obj.x; + } + return curleft; +} + +function findPosY(obj) { + 'use strict'; + var curtop = 0; + if (obj.offsetParent) { + while (obj.offsetParent) { + curtop += obj.offsetTop - ((isOpera) ? 0 : obj.scrollTop); + obj = obj.offsetParent; + } + // IE offsetParent does not include the top-level + if (isIE && obj.parentElement) { + curtop += obj.offsetTop - obj.scrollTop; + } + } else if (obj.y) { + curtop += obj.y; + } + return curtop; +} + +//----------------------------------------------------------------------------- +// Date object extensions +// ---------------------------------------------------------------------------- +(function() { + 'use strict'; + Date.prototype.getTwelveHours = function() { + return this.getHours() % 12 || 12; + }; + + Date.prototype.getTwoDigitMonth = function() { + return (this.getMonth() < 9) ? '0' + (this.getMonth() + 1) : (this.getMonth() + 1); + }; + + Date.prototype.getTwoDigitDate = function() { + return (this.getDate() < 10) ? '0' + this.getDate() : this.getDate(); + }; + + Date.prototype.getTwoDigitTwelveHour = function() { + return (this.getTwelveHours() < 10) ? '0' + this.getTwelveHours() : this.getTwelveHours(); + }; + + Date.prototype.getTwoDigitHour = function() { + return (this.getHours() < 10) ? '0' + this.getHours() : this.getHours(); + }; + + Date.prototype.getTwoDigitMinute = function() { + return (this.getMinutes() < 10) ? '0' + this.getMinutes() : this.getMinutes(); + }; + + Date.prototype.getTwoDigitSecond = function() { + return (this.getSeconds() < 10) ? '0' + this.getSeconds() : this.getSeconds(); + }; + + Date.prototype.getFullMonthName = function() { + return typeof window.CalendarNamespace === "undefined" + ? this.getTwoDigitMonth() + : window.CalendarNamespace.monthsOfYear[this.getMonth()]; + }; + + Date.prototype.strftime = function(format) { + var fields = { + B: this.getFullMonthName(), + c: this.toString(), + d: this.getTwoDigitDate(), + H: this.getTwoDigitHour(), + I: this.getTwoDigitTwelveHour(), + m: this.getTwoDigitMonth(), + M: this.getTwoDigitMinute(), + p: (this.getHours() >= 12) ? 'PM' : 'AM', + S: this.getTwoDigitSecond(), + w: '0' + this.getDay(), + x: this.toLocaleDateString(), + X: this.toLocaleTimeString(), + y: ('' + this.getFullYear()).substr(2, 4), + Y: '' + this.getFullYear(), + '%': '%' + }; + var result = '', i = 0; + while (i < format.length) { + if (format.charAt(i) === '%') { + result = result + fields[format.charAt(i + 1)]; + ++i; + } + else { + result = result + format.charAt(i); + } + ++i; + } + return result; + }; + + // ---------------------------------------------------------------------------- + // String object extensions + // ---------------------------------------------------------------------------- + String.prototype.strptime = function(format) { + var split_format = format.split(/[.\-/]/); + var date = this.split(/[.\-/]/); + var i = 0; + var day, month, year; + while (i < split_format.length) { + switch (split_format[i]) { + case "%d": + day = date[i]; + break; + case "%m": + month = date[i] - 1; + break; + case "%Y": + year = date[i]; + break; + case "%y": + year = date[i]; + break; + } + ++i; + } + // Create Date object from UTC since the parsed value is supposed to be + // in UTC, not local time. Also, the calendar uses UTC functions for + // date extraction. + return new Date(Date.UTC(year, month, day)); + }; + +})(); diff --git a/static/admin/js/core.ea39b3bd34c3.js.gz b/static/admin/js/core.ea39b3bd34c3.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..17421723994ab5078c6f8940893043173d948aaa GIT binary patch literal 1523 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 literal 0 HcmV?d00001 diff --git a/static/admin/js/core.js b/static/admin/js/core.js new file mode 100644 index 0000000..e3ca0b6 --- /dev/null +++ b/static/admin/js/core.js @@ -0,0 +1,173 @@ +// Core javascript helper functions + +// basic browser identification & version +var isOpera = (navigator.userAgent.indexOf("Opera") >= 0) && parseFloat(navigator.appVersion); +var isIE = ((document.all) && (!isOpera)) && parseFloat(navigator.appVersion.split("MSIE ")[1].split(";")[0]); + +// quickElement(tagType, parentReference [, textInChildNode, attribute, attributeValue ...]); +function quickElement() { + 'use strict'; + var obj = document.createElement(arguments[0]); + if (arguments[2]) { + var textNode = document.createTextNode(arguments[2]); + obj.appendChild(textNode); + } + var len = arguments.length; + for (var i = 3; i < len; i += 2) { + obj.setAttribute(arguments[i], arguments[i + 1]); + } + arguments[1].appendChild(obj); + return obj; +} + +// "a" is reference to an object +function removeChildren(a) { + 'use strict'; + while (a.hasChildNodes()) { + a.removeChild(a.lastChild); + } +} + +// ---------------------------------------------------------------------------- +// Find-position functions by PPK +// See https://www.quirksmode.org/js/findpos.html +// ---------------------------------------------------------------------------- +function findPosX(obj) { + 'use strict'; + var curleft = 0; + if (obj.offsetParent) { + while (obj.offsetParent) { + curleft += obj.offsetLeft - ((isOpera) ? 0 : obj.scrollLeft); + obj = obj.offsetParent; + } + // IE offsetParent does not include the top-level + if (isIE && obj.parentElement) { + curleft += obj.offsetLeft - obj.scrollLeft; + } + } else if (obj.x) { + curleft += obj.x; + } + return curleft; +} + +function findPosY(obj) { + 'use strict'; + var curtop = 0; + if (obj.offsetParent) { + while (obj.offsetParent) { + curtop += obj.offsetTop - ((isOpera) ? 0 : obj.scrollTop); + obj = obj.offsetParent; + } + // IE offsetParent does not include the top-level + if (isIE && obj.parentElement) { + curtop += obj.offsetTop - obj.scrollTop; + } + } else if (obj.y) { + curtop += obj.y; + } + return curtop; +} + +//----------------------------------------------------------------------------- +// Date object extensions +// ---------------------------------------------------------------------------- +(function() { + 'use strict'; + Date.prototype.getTwelveHours = function() { + return this.getHours() % 12 || 12; + }; + + Date.prototype.getTwoDigitMonth = function() { + return (this.getMonth() < 9) ? '0' + (this.getMonth() + 1) : (this.getMonth() + 1); + }; + + Date.prototype.getTwoDigitDate = function() { + return (this.getDate() < 10) ? '0' + this.getDate() : this.getDate(); + }; + + Date.prototype.getTwoDigitTwelveHour = function() { + return (this.getTwelveHours() < 10) ? '0' + this.getTwelveHours() : this.getTwelveHours(); + }; + + Date.prototype.getTwoDigitHour = function() { + return (this.getHours() < 10) ? '0' + this.getHours() : this.getHours(); + }; + + Date.prototype.getTwoDigitMinute = function() { + return (this.getMinutes() < 10) ? '0' + this.getMinutes() : this.getMinutes(); + }; + + Date.prototype.getTwoDigitSecond = function() { + return (this.getSeconds() < 10) ? '0' + this.getSeconds() : this.getSeconds(); + }; + + Date.prototype.getFullMonthName = function() { + return typeof window.CalendarNamespace === "undefined" + ? this.getTwoDigitMonth() + : window.CalendarNamespace.monthsOfYear[this.getMonth()]; + }; + + Date.prototype.strftime = function(format) { + var fields = { + B: this.getFullMonthName(), + c: this.toString(), + d: this.getTwoDigitDate(), + H: this.getTwoDigitHour(), + I: this.getTwoDigitTwelveHour(), + m: this.getTwoDigitMonth(), + M: this.getTwoDigitMinute(), + p: (this.getHours() >= 12) ? 'PM' : 'AM', + S: this.getTwoDigitSecond(), + w: '0' + this.getDay(), + x: this.toLocaleDateString(), + X: this.toLocaleTimeString(), + y: ('' + this.getFullYear()).substr(2, 4), + Y: '' + this.getFullYear(), + '%': '%' + }; + var result = '', i = 0; + while (i < format.length) { + if (format.charAt(i) === '%') { + result = result + fields[format.charAt(i + 1)]; + ++i; + } + else { + result = result + format.charAt(i); + } + ++i; + } + return result; + }; + + // ---------------------------------------------------------------------------- + // String object extensions + // ---------------------------------------------------------------------------- + String.prototype.strptime = function(format) { + var split_format = format.split(/[.\-/]/); + var date = this.split(/[.\-/]/); + var i = 0; + var day, month, year; + while (i < split_format.length) { + switch (split_format[i]) { + case "%d": + day = date[i]; + break; + case "%m": + month = date[i] - 1; + break; + case "%Y": + year = date[i]; + break; + case "%y": + year = date[i]; + break; + } + ++i; + } + // Create Date object from UTC since the parsed value is supposed to be + // in UTC, not local time. Also, the calendar uses UTC functions for + // date extraction. + return new Date(Date.UTC(year, month, day)); + }; + +})(); diff --git a/static/admin/js/core.js.gz b/static/admin/js/core.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..17421723994ab5078c6f8940893043173d948aaa GIT binary patch literal 1523 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 literal 0 HcmV?d00001 diff --git a/static/admin/js/inlines.12d1af430335.js b/static/admin/js/inlines.12d1af430335.js new file mode 100644 index 0000000..ba8c9cd --- /dev/null +++ b/static/admin/js/inlines.12d1af430335.js @@ -0,0 +1,298 @@ +/*global DateTimeShortcuts, SelectFilter*/ +/** + * Django admin inlines + * + * Based on jQuery Formset 1.1 + * @author Stanislaus Madueke (stan DOT madueke AT gmail DOT com) + * @requires jQuery 1.2.6 or later + * + * Copyright (c) 2009, Stanislaus Madueke + * All rights reserved. + * + * Spiced up with Code from Zain Memon's GSoC project 2009 + * and modified for Django by Jannis Leidel, Travis Swicegood and Julien Phalip. + * + * Licensed under the New BSD License + * See: https://opensource.org/licenses/bsd-license.php + */ +(function($) { + 'use strict'; + $.fn.formset = function(opts) { + var options = $.extend({}, $.fn.formset.defaults, opts); + var $this = $(this); + var $parent = $this.parent(); + var updateElementIndex = function(el, prefix, ndx) { + var id_regex = new RegExp("(" + prefix + "-(\\d+|__prefix__))"); + var replacement = prefix + "-" + ndx; + if ($(el).prop("for")) { + $(el).prop("for", $(el).prop("for").replace(id_regex, replacement)); + } + if (el.id) { + el.id = el.id.replace(id_regex, replacement); + } + if (el.name) { + el.name = el.name.replace(id_regex, replacement); + } + }; + var totalForms = $("#id_" + options.prefix + "-TOTAL_FORMS").prop("autocomplete", "off"); + var nextIndex = parseInt(totalForms.val(), 10); + var maxForms = $("#id_" + options.prefix + "-MAX_NUM_FORMS").prop("autocomplete", "off"); + // only show the add button if we are allowed to add more items, + // note that max_num = None translates to a blank string. + var showAddButton = maxForms.val() === '' || (maxForms.val() - totalForms.val()) > 0; + $this.each(function(i) { + $(this).not("." + options.emptyCssClass).addClass(options.formCssClass); + }); + if ($this.length && showAddButton) { + var addButton = options.addButton; + if (addButton === null) { + if ($this.prop("tagName") === "TR") { + // If forms are laid out as table rows, insert the + // "add" button in a new table row: + var numCols = this.eq(-1).children().length; + $parent.append('<tr class="' + options.addCssClass + '"><td colspan="' + numCols + '"><a href="#">' + options.addText + "</a></tr>"); + addButton = $parent.find("tr:last a"); + } else { + // Otherwise, insert it immediately after the last form: + $this.filter(":last").after('<div class="' + options.addCssClass + '"><a href="#">' + options.addText + "</a></div>"); + addButton = $this.filter(":last").next().find("a"); + } + } + addButton.on('click', function(e) { + e.preventDefault(); + var template = $("#" + options.prefix + "-empty"); + var row = template.clone(true); + row.removeClass(options.emptyCssClass) + .addClass(options.formCssClass) + .attr("id", options.prefix + "-" + nextIndex); + if (row.is("tr")) { + // If the forms are laid out in table rows, insert + // the remove button into the last table cell: + row.children(":last").append('<div><a class="' + options.deleteCssClass + '" href="#">' + options.deleteText + "</a></div>"); + } else if (row.is("ul") || row.is("ol")) { + // If they're laid out as an ordered/unordered list, + // insert an <li> after the last list item: + row.append('<li><a class="' + options.deleteCssClass + '" href="#">' + options.deleteText + "</a></li>"); + } else { + // Otherwise, just insert the remove button as the + // last child element of the form's container: + row.children(":first").append('<span><a class="' + options.deleteCssClass + '" href="#">' + options.deleteText + "</a></span>"); + } + row.find("*").each(function() { + updateElementIndex(this, options.prefix, totalForms.val()); + }); + // Insert the new form when it has been fully edited + row.insertBefore($(template)); + // Update number of total forms + $(totalForms).val(parseInt(totalForms.val(), 10) + 1); + nextIndex += 1; + // Hide add button in case we've hit the max, except we want to add infinitely + if ((maxForms.val() !== '') && (maxForms.val() - totalForms.val()) <= 0) { + addButton.parent().hide(); + } + // The delete button of each row triggers a bunch of other things + row.find("a." + options.deleteCssClass).on('click', function(e1) { + e1.preventDefault(); + // Remove the parent form containing this button: + row.remove(); + nextIndex -= 1; + // If a post-delete callback was provided, call it with the deleted form: + if (options.removed) { + options.removed(row); + } + $(document).trigger('formset:removed', [row, options.prefix]); + // Update the TOTAL_FORMS form count. + var forms = $("." + options.formCssClass); + $("#id_" + options.prefix + "-TOTAL_FORMS").val(forms.length); + // Show add button again once we drop below max + if ((maxForms.val() === '') || (maxForms.val() - forms.length) > 0) { + addButton.parent().show(); + } + // Also, update names and ids for all remaining form controls + // so they remain in sequence: + var i, formCount; + var updateElementCallback = function() { + updateElementIndex(this, options.prefix, i); + }; + for (i = 0, formCount = forms.length; i < formCount; i++) { + updateElementIndex($(forms).get(i), options.prefix, i); + $(forms.get(i)).find("*").each(updateElementCallback); + } + }); + // If a post-add callback was supplied, call it with the added form: + if (options.added) { + options.added(row); + } + $(document).trigger('formset:added', [row, options.prefix]); + }); + } + return this; + }; + + /* Setup plugin defaults */ + $.fn.formset.defaults = { + prefix: "form", // The form prefix for your django formset + addText: "add another", // Text for the add link + deleteText: "remove", // Text for the delete link + addCssClass: "add-row", // CSS class applied to the add link + deleteCssClass: "delete-row", // CSS class applied to the delete link + emptyCssClass: "empty-row", // CSS class applied to the empty row + formCssClass: "dynamic-form", // CSS class applied to each form in a formset + added: null, // Function called each time a new form is added + removed: null, // Function called each time a form is deleted + addButton: null // Existing add button to use + }; + + + // Tabular inlines --------------------------------------------------------- + $.fn.tabularFormset = function(selector, options) { + var $rows = $(this); + var alternatingRows = function(row) { + $(selector).not(".add-row").removeClass("row1 row2") + .filter(":even").addClass("row1").end() + .filter(":odd").addClass("row2"); + }; + + var reinitDateTimeShortCuts = function() { + // Reinitialize the calendar and clock widgets by force + if (typeof DateTimeShortcuts !== "undefined") { + $(".datetimeshortcuts").remove(); + DateTimeShortcuts.init(); + } + }; + + var updateSelectFilter = function() { + // If any SelectFilter widgets are a part of the new form, + // instantiate a new SelectFilter instance for it. + if (typeof SelectFilter !== 'undefined') { + $('.selectfilter').each(function(index, value) { + var namearr = value.name.split('-'); + SelectFilter.init(value.id, namearr[namearr.length - 1], false); + }); + $('.selectfilterstacked').each(function(index, value) { + var namearr = value.name.split('-'); + SelectFilter.init(value.id, namearr[namearr.length - 1], true); + }); + } + }; + + var initPrepopulatedFields = function(row) { + row.find('.prepopulated_field').each(function() { + var field = $(this), + input = field.find('input, select, textarea'), + dependency_list = input.data('dependency_list') || [], + dependencies = []; + $.each(dependency_list, function(i, field_name) { + dependencies.push('#' + row.find('.field-' + field_name).find('input, select, textarea').attr('id')); + }); + if (dependencies.length) { + input.prepopulate(dependencies, input.attr('maxlength')); + } + }); + }; + + $rows.formset({ + prefix: options.prefix, + addText: options.addText, + formCssClass: "dynamic-" + options.prefix, + deleteCssClass: "inline-deletelink", + deleteText: options.deleteText, + emptyCssClass: "empty-form", + removed: alternatingRows, + added: function(row) { + initPrepopulatedFields(row); + reinitDateTimeShortCuts(); + updateSelectFilter(); + alternatingRows(row); + }, + addButton: options.addButton + }); + + return $rows; + }; + + // Stacked inlines --------------------------------------------------------- + $.fn.stackedFormset = function(selector, options) { + var $rows = $(this); + var updateInlineLabel = function(row) { + $(selector).find(".inline_label").each(function(i) { + var count = i + 1; + $(this).html($(this).html().replace(/(#\d+)/g, "#" + count)); + }); + }; + + var reinitDateTimeShortCuts = function() { + // Reinitialize the calendar and clock widgets by force, yuck. + if (typeof DateTimeShortcuts !== "undefined") { + $(".datetimeshortcuts").remove(); + DateTimeShortcuts.init(); + } + }; + + var updateSelectFilter = function() { + // If any SelectFilter widgets were added, instantiate a new instance. + if (typeof SelectFilter !== "undefined") { + $(".selectfilter").each(function(index, value) { + var namearr = value.name.split('-'); + SelectFilter.init(value.id, namearr[namearr.length - 1], false); + }); + $(".selectfilterstacked").each(function(index, value) { + var namearr = value.name.split('-'); + SelectFilter.init(value.id, namearr[namearr.length - 1], true); + }); + } + }; + + var initPrepopulatedFields = function(row) { + row.find('.prepopulated_field').each(function() { + var field = $(this), + input = field.find('input, select, textarea'), + dependency_list = input.data('dependency_list') || [], + dependencies = []; + $.each(dependency_list, function(i, field_name) { + dependencies.push('#' + row.find('.form-row .field-' + field_name).find('input, select, textarea').attr('id')); + }); + if (dependencies.length) { + input.prepopulate(dependencies, input.attr('maxlength')); + } + }); + }; + + $rows.formset({ + prefix: options.prefix, + addText: options.addText, + formCssClass: "dynamic-" + options.prefix, + deleteCssClass: "inline-deletelink", + deleteText: options.deleteText, + emptyCssClass: "empty-form", + removed: updateInlineLabel, + added: function(row) { + initPrepopulatedFields(row); + reinitDateTimeShortCuts(); + updateSelectFilter(); + updateInlineLabel(row); + }, + addButton: options.addButton + }); + + return $rows; + }; + + $(document).ready(function() { + $(".js-inline-admin-formset").each(function() { + var data = $(this).data(), + inlineOptions = data.inlineFormset, + selector; + switch(data.inlineType) { + case "stacked": + selector = inlineOptions.name + "-group .inline-related"; + $(selector).stackedFormset(selector, inlineOptions.options); + break; + case "tabular": + selector = inlineOptions.name + "-group .tabular.inline-related tbody:first > tr"; + $(selector).tabularFormset(selector, inlineOptions.options); + break; + } + }); + }); +})(django.jQuery); diff --git a/static/admin/js/inlines.12d1af430335.js.gz b/static/admin/js/inlines.12d1af430335.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..64c540c89d6bed358f22f2d1b4ca1c51aa146101 GIT binary patch literal 3273 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 U=Dw5T<^7CLpGqA)Ys$a?0D_`4S^xk5 literal 0 HcmV?d00001 diff --git a/static/admin/js/inlines.js b/static/admin/js/inlines.js new file mode 100644 index 0000000..ba8c9cd --- /dev/null +++ b/static/admin/js/inlines.js @@ -0,0 +1,298 @@ +/*global DateTimeShortcuts, SelectFilter*/ +/** + * Django admin inlines + * + * Based on jQuery Formset 1.1 + * @author Stanislaus Madueke (stan DOT madueke AT gmail DOT com) + * @requires jQuery 1.2.6 or later + * + * Copyright (c) 2009, Stanislaus Madueke + * All rights reserved. + * + * Spiced up with Code from Zain Memon's GSoC project 2009 + * and modified for Django by Jannis Leidel, Travis Swicegood and Julien Phalip. + * + * Licensed under the New BSD License + * See: https://opensource.org/licenses/bsd-license.php + */ +(function($) { + 'use strict'; + $.fn.formset = function(opts) { + var options = $.extend({}, $.fn.formset.defaults, opts); + var $this = $(this); + var $parent = $this.parent(); + var updateElementIndex = function(el, prefix, ndx) { + var id_regex = new RegExp("(" + prefix + "-(\\d+|__prefix__))"); + var replacement = prefix + "-" + ndx; + if ($(el).prop("for")) { + $(el).prop("for", $(el).prop("for").replace(id_regex, replacement)); + } + if (el.id) { + el.id = el.id.replace(id_regex, replacement); + } + if (el.name) { + el.name = el.name.replace(id_regex, replacement); + } + }; + var totalForms = $("#id_" + options.prefix + "-TOTAL_FORMS").prop("autocomplete", "off"); + var nextIndex = parseInt(totalForms.val(), 10); + var maxForms = $("#id_" + options.prefix + "-MAX_NUM_FORMS").prop("autocomplete", "off"); + // only show the add button if we are allowed to add more items, + // note that max_num = None translates to a blank string. + var showAddButton = maxForms.val() === '' || (maxForms.val() - totalForms.val()) > 0; + $this.each(function(i) { + $(this).not("." + options.emptyCssClass).addClass(options.formCssClass); + }); + if ($this.length && showAddButton) { + var addButton = options.addButton; + if (addButton === null) { + if ($this.prop("tagName") === "TR") { + // If forms are laid out as table rows, insert the + // "add" button in a new table row: + var numCols = this.eq(-1).children().length; + $parent.append('<tr class="' + options.addCssClass + '"><td colspan="' + numCols + '"><a href="#">' + options.addText + "</a></tr>"); + addButton = $parent.find("tr:last a"); + } else { + // Otherwise, insert it immediately after the last form: + $this.filter(":last").after('<div class="' + options.addCssClass + '"><a href="#">' + options.addText + "</a></div>"); + addButton = $this.filter(":last").next().find("a"); + } + } + addButton.on('click', function(e) { + e.preventDefault(); + var template = $("#" + options.prefix + "-empty"); + var row = template.clone(true); + row.removeClass(options.emptyCssClass) + .addClass(options.formCssClass) + .attr("id", options.prefix + "-" + nextIndex); + if (row.is("tr")) { + // If the forms are laid out in table rows, insert + // the remove button into the last table cell: + row.children(":last").append('<div><a class="' + options.deleteCssClass + '" href="#">' + options.deleteText + "</a></div>"); + } else if (row.is("ul") || row.is("ol")) { + // If they're laid out as an ordered/unordered list, + // insert an <li> after the last list item: + row.append('<li><a class="' + options.deleteCssClass + '" href="#">' + options.deleteText + "</a></li>"); + } else { + // Otherwise, just insert the remove button as the + // last child element of the form's container: + row.children(":first").append('<span><a class="' + options.deleteCssClass + '" href="#">' + options.deleteText + "</a></span>"); + } + row.find("*").each(function() { + updateElementIndex(this, options.prefix, totalForms.val()); + }); + // Insert the new form when it has been fully edited + row.insertBefore($(template)); + // Update number of total forms + $(totalForms).val(parseInt(totalForms.val(), 10) + 1); + nextIndex += 1; + // Hide add button in case we've hit the max, except we want to add infinitely + if ((maxForms.val() !== '') && (maxForms.val() - totalForms.val()) <= 0) { + addButton.parent().hide(); + } + // The delete button of each row triggers a bunch of other things + row.find("a." + options.deleteCssClass).on('click', function(e1) { + e1.preventDefault(); + // Remove the parent form containing this button: + row.remove(); + nextIndex -= 1; + // If a post-delete callback was provided, call it with the deleted form: + if (options.removed) { + options.removed(row); + } + $(document).trigger('formset:removed', [row, options.prefix]); + // Update the TOTAL_FORMS form count. + var forms = $("." + options.formCssClass); + $("#id_" + options.prefix + "-TOTAL_FORMS").val(forms.length); + // Show add button again once we drop below max + if ((maxForms.val() === '') || (maxForms.val() - forms.length) > 0) { + addButton.parent().show(); + } + // Also, update names and ids for all remaining form controls + // so they remain in sequence: + var i, formCount; + var updateElementCallback = function() { + updateElementIndex(this, options.prefix, i); + }; + for (i = 0, formCount = forms.length; i < formCount; i++) { + updateElementIndex($(forms).get(i), options.prefix, i); + $(forms.get(i)).find("*").each(updateElementCallback); + } + }); + // If a post-add callback was supplied, call it with the added form: + if (options.added) { + options.added(row); + } + $(document).trigger('formset:added', [row, options.prefix]); + }); + } + return this; + }; + + /* Setup plugin defaults */ + $.fn.formset.defaults = { + prefix: "form", // The form prefix for your django formset + addText: "add another", // Text for the add link + deleteText: "remove", // Text for the delete link + addCssClass: "add-row", // CSS class applied to the add link + deleteCssClass: "delete-row", // CSS class applied to the delete link + emptyCssClass: "empty-row", // CSS class applied to the empty row + formCssClass: "dynamic-form", // CSS class applied to each form in a formset + added: null, // Function called each time a new form is added + removed: null, // Function called each time a form is deleted + addButton: null // Existing add button to use + }; + + + // Tabular inlines --------------------------------------------------------- + $.fn.tabularFormset = function(selector, options) { + var $rows = $(this); + var alternatingRows = function(row) { + $(selector).not(".add-row").removeClass("row1 row2") + .filter(":even").addClass("row1").end() + .filter(":odd").addClass("row2"); + }; + + var reinitDateTimeShortCuts = function() { + // Reinitialize the calendar and clock widgets by force + if (typeof DateTimeShortcuts !== "undefined") { + $(".datetimeshortcuts").remove(); + DateTimeShortcuts.init(); + } + }; + + var updateSelectFilter = function() { + // If any SelectFilter widgets are a part of the new form, + // instantiate a new SelectFilter instance for it. + if (typeof SelectFilter !== 'undefined') { + $('.selectfilter').each(function(index, value) { + var namearr = value.name.split('-'); + SelectFilter.init(value.id, namearr[namearr.length - 1], false); + }); + $('.selectfilterstacked').each(function(index, value) { + var namearr = value.name.split('-'); + SelectFilter.init(value.id, namearr[namearr.length - 1], true); + }); + } + }; + + var initPrepopulatedFields = function(row) { + row.find('.prepopulated_field').each(function() { + var field = $(this), + input = field.find('input, select, textarea'), + dependency_list = input.data('dependency_list') || [], + dependencies = []; + $.each(dependency_list, function(i, field_name) { + dependencies.push('#' + row.find('.field-' + field_name).find('input, select, textarea').attr('id')); + }); + if (dependencies.length) { + input.prepopulate(dependencies, input.attr('maxlength')); + } + }); + }; + + $rows.formset({ + prefix: options.prefix, + addText: options.addText, + formCssClass: "dynamic-" + options.prefix, + deleteCssClass: "inline-deletelink", + deleteText: options.deleteText, + emptyCssClass: "empty-form", + removed: alternatingRows, + added: function(row) { + initPrepopulatedFields(row); + reinitDateTimeShortCuts(); + updateSelectFilter(); + alternatingRows(row); + }, + addButton: options.addButton + }); + + return $rows; + }; + + // Stacked inlines --------------------------------------------------------- + $.fn.stackedFormset = function(selector, options) { + var $rows = $(this); + var updateInlineLabel = function(row) { + $(selector).find(".inline_label").each(function(i) { + var count = i + 1; + $(this).html($(this).html().replace(/(#\d+)/g, "#" + count)); + }); + }; + + var reinitDateTimeShortCuts = function() { + // Reinitialize the calendar and clock widgets by force, yuck. + if (typeof DateTimeShortcuts !== "undefined") { + $(".datetimeshortcuts").remove(); + DateTimeShortcuts.init(); + } + }; + + var updateSelectFilter = function() { + // If any SelectFilter widgets were added, instantiate a new instance. + if (typeof SelectFilter !== "undefined") { + $(".selectfilter").each(function(index, value) { + var namearr = value.name.split('-'); + SelectFilter.init(value.id, namearr[namearr.length - 1], false); + }); + $(".selectfilterstacked").each(function(index, value) { + var namearr = value.name.split('-'); + SelectFilter.init(value.id, namearr[namearr.length - 1], true); + }); + } + }; + + var initPrepopulatedFields = function(row) { + row.find('.prepopulated_field').each(function() { + var field = $(this), + input = field.find('input, select, textarea'), + dependency_list = input.data('dependency_list') || [], + dependencies = []; + $.each(dependency_list, function(i, field_name) { + dependencies.push('#' + row.find('.form-row .field-' + field_name).find('input, select, textarea').attr('id')); + }); + if (dependencies.length) { + input.prepopulate(dependencies, input.attr('maxlength')); + } + }); + }; + + $rows.formset({ + prefix: options.prefix, + addText: options.addText, + formCssClass: "dynamic-" + options.prefix, + deleteCssClass: "inline-deletelink", + deleteText: options.deleteText, + emptyCssClass: "empty-form", + removed: updateInlineLabel, + added: function(row) { + initPrepopulatedFields(row); + reinitDateTimeShortCuts(); + updateSelectFilter(); + updateInlineLabel(row); + }, + addButton: options.addButton + }); + + return $rows; + }; + + $(document).ready(function() { + $(".js-inline-admin-formset").each(function() { + var data = $(this).data(), + inlineOptions = data.inlineFormset, + selector; + switch(data.inlineType) { + case "stacked": + selector = inlineOptions.name + "-group .inline-related"; + $(selector).stackedFormset(selector, inlineOptions.options); + break; + case "tabular": + selector = inlineOptions.name + "-group .tabular.inline-related tbody:first > tr"; + $(selector).tabularFormset(selector, inlineOptions.options); + break; + } + }); + }); +})(django.jQuery); diff --git a/static/admin/js/inlines.js.gz b/static/admin/js/inlines.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..64c540c89d6bed358f22f2d1b4ca1c51aa146101 GIT binary patch literal 3273 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 U=Dw5T<^7CLpGqA)Ys$a?0D_`4S^xk5 literal 0 HcmV?d00001 diff --git a/static/admin/js/inlines.min.6d6c2416646e.js b/static/admin/js/inlines.min.6d6c2416646e.js new file mode 100644 index 0000000..0b818ca --- /dev/null +++ b/static/admin/js/inlines.min.6d6c2416646e.js @@ -0,0 +1,10 @@ +(function(b){b.fn.formset=function(c){var a=b.extend({},b.fn.formset.defaults,c),d=b(this);c=d.parent();var h=function(a,e,f){var c=new RegExp("("+e+"-(\\d+|__prefix__))");e=e+"-"+f;b(a).prop("for")&&b(a).prop("for",b(a).prop("for").replace(c,e));a.id&&(a.id=a.id.replace(c,e));a.name&&(a.name=a.name.replace(c,e))},g=b("#id_"+a.prefix+"-TOTAL_FORMS").prop("autocomplete","off"),k=parseInt(g.val(),10),e=b("#id_"+a.prefix+"-MAX_NUM_FORMS").prop("autocomplete","off"),f=""===e.val()||0<e.val()-g.val(); +d.each(function(e){b(this).not("."+a.emptyCssClass).addClass(a.formCssClass)});if(d.length&&f){var m=a.addButton;null===m&&("TR"===d.prop("tagName")?(d=this.eq(-1).children().length,c.append('<tr class="'+a.addCssClass+'"><td colspan="'+d+'"><a href="#">'+a.addText+"</a></tr>"),m=c.find("tr:last a")):(d.filter(":last").after('<div class="'+a.addCssClass+'"><a href="#">'+a.addText+"</a></div>"),m=d.filter(":last").next().find("a")));m.on("click",function(f){f.preventDefault();f=b("#"+a.prefix+"-empty"); +var c=f.clone(!0);c.removeClass(a.emptyCssClass).addClass(a.formCssClass).attr("id",a.prefix+"-"+k);c.is("tr")?c.children(":last").append('<div><a class="'+a.deleteCssClass+'" href="#">'+a.deleteText+"</a></div>"):c.is("ul")||c.is("ol")?c.append('<li><a class="'+a.deleteCssClass+'" href="#">'+a.deleteText+"</a></li>"):c.children(":first").append('<span><a class="'+a.deleteCssClass+'" href="#">'+a.deleteText+"</a></span>");c.find("*").each(function(){h(this,a.prefix,g.val())});c.insertBefore(b(f)); +b(g).val(parseInt(g.val(),10)+1);k+=1;""!==e.val()&&0>=e.val()-g.val()&&m.parent().hide();c.find("a."+a.deleteCssClass).on("click",function(f){f.preventDefault();c.remove();--k;a.removed&&a.removed(c);b(document).trigger("formset:removed",[c,a.prefix]);f=b("."+a.formCssClass);b("#id_"+a.prefix+"-TOTAL_FORMS").val(f.length);(""===e.val()||0<e.val()-f.length)&&m.parent().show();var d,g=function(){h(this,a.prefix,l)};var l=0;for(d=f.length;l<d;l++)h(b(f).get(l),a.prefix,l),b(f.get(l)).find("*").each(g)}); +a.added&&a.added(c);b(document).trigger("formset:added",[c,a.prefix])})}return this};b.fn.formset.defaults={prefix:"form",addText:"add another",deleteText:"remove",addCssClass:"add-row",deleteCssClass:"delete-row",emptyCssClass:"empty-row",formCssClass:"dynamic-form",added:null,removed:null,addButton:null};b.fn.tabularFormset=function(c,a){var d=b(this),h=function(a){b(c).not(".add-row").removeClass("row1 row2").filter(":even").addClass("row1").end().filter(":odd").addClass("row2")},g=function(){"undefined"!== +typeof SelectFilter&&(b(".selectfilter").each(function(a,b){a=b.name.split("-");SelectFilter.init(b.id,a[a.length-1],!1)}),b(".selectfilterstacked").each(function(a,b){a=b.name.split("-");SelectFilter.init(b.id,a[a.length-1],!0)}))},k=function(a){a.find(".prepopulated_field").each(function(){var c=b(this).find("input, select, textarea"),e=c.data("dependency_list")||[],d=[];b.each(e,function(b,c){d.push("#"+a.find(".field-"+c).find("input, select, textarea").attr("id"))});d.length&&c.prepopulate(d, +c.attr("maxlength"))})};d.formset({prefix:a.prefix,addText:a.addText,formCssClass:"dynamic-"+a.prefix,deleteCssClass:"inline-deletelink",deleteText:a.deleteText,emptyCssClass:"empty-form",removed:h,added:function(a){k(a);"undefined"!==typeof DateTimeShortcuts&&(b(".datetimeshortcuts").remove(),DateTimeShortcuts.init());g();h(a)},addButton:a.addButton});return d};b.fn.stackedFormset=function(c,a){var d=b(this),h=function(a){b(c).find(".inline_label").each(function(a){a+=1;b(this).html(b(this).html().replace(/(#\d+)/g, +"#"+a))})},g=function(){"undefined"!==typeof SelectFilter&&(b(".selectfilter").each(function(a,b){a=b.name.split("-");SelectFilter.init(b.id,a[a.length-1],!1)}),b(".selectfilterstacked").each(function(a,b){a=b.name.split("-");SelectFilter.init(b.id,a[a.length-1],!0)}))},k=function(a){a.find(".prepopulated_field").each(function(){var c=b(this).find("input, select, textarea"),d=c.data("dependency_list")||[],e=[];b.each(d,function(b,c){e.push("#"+a.find(".form-row .field-"+c).find("input, select, textarea").attr("id"))}); +e.length&&c.prepopulate(e,c.attr("maxlength"))})};d.formset({prefix:a.prefix,addText:a.addText,formCssClass:"dynamic-"+a.prefix,deleteCssClass:"inline-deletelink",deleteText:a.deleteText,emptyCssClass:"empty-form",removed:h,added:function(a){k(a);"undefined"!==typeof DateTimeShortcuts&&(b(".datetimeshortcuts").remove(),DateTimeShortcuts.init());g();h(a)},addButton:a.addButton});return d};b(document).ready(function(){b(".js-inline-admin-formset").each(function(){var c=b(this).data(),a=c.inlineFormset; +switch(c.inlineType){case "stacked":c=a.name+"-group .inline-related";b(c).stackedFormset(c,a.options);break;case "tabular":c=a.name+"-group .tabular.inline-related tbody:first > tr",b(c).tabularFormset(c,a.options)}})})})(django.jQuery); diff --git a/static/admin/js/inlines.min.6d6c2416646e.js.gz b/static/admin/js/inlines.min.6d6c2416646e.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..da2d27e038c119fd2558509c99235656ab4a1f5e GIT binary patch literal 1571 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 literal 0 HcmV?d00001 diff --git a/static/admin/js/inlines.min.js b/static/admin/js/inlines.min.js new file mode 100644 index 0000000..0b818ca --- /dev/null +++ b/static/admin/js/inlines.min.js @@ -0,0 +1,10 @@ +(function(b){b.fn.formset=function(c){var a=b.extend({},b.fn.formset.defaults,c),d=b(this);c=d.parent();var h=function(a,e,f){var c=new RegExp("("+e+"-(\\d+|__prefix__))");e=e+"-"+f;b(a).prop("for")&&b(a).prop("for",b(a).prop("for").replace(c,e));a.id&&(a.id=a.id.replace(c,e));a.name&&(a.name=a.name.replace(c,e))},g=b("#id_"+a.prefix+"-TOTAL_FORMS").prop("autocomplete","off"),k=parseInt(g.val(),10),e=b("#id_"+a.prefix+"-MAX_NUM_FORMS").prop("autocomplete","off"),f=""===e.val()||0<e.val()-g.val(); +d.each(function(e){b(this).not("."+a.emptyCssClass).addClass(a.formCssClass)});if(d.length&&f){var m=a.addButton;null===m&&("TR"===d.prop("tagName")?(d=this.eq(-1).children().length,c.append('<tr class="'+a.addCssClass+'"><td colspan="'+d+'"><a href="#">'+a.addText+"</a></tr>"),m=c.find("tr:last a")):(d.filter(":last").after('<div class="'+a.addCssClass+'"><a href="#">'+a.addText+"</a></div>"),m=d.filter(":last").next().find("a")));m.on("click",function(f){f.preventDefault();f=b("#"+a.prefix+"-empty"); +var c=f.clone(!0);c.removeClass(a.emptyCssClass).addClass(a.formCssClass).attr("id",a.prefix+"-"+k);c.is("tr")?c.children(":last").append('<div><a class="'+a.deleteCssClass+'" href="#">'+a.deleteText+"</a></div>"):c.is("ul")||c.is("ol")?c.append('<li><a class="'+a.deleteCssClass+'" href="#">'+a.deleteText+"</a></li>"):c.children(":first").append('<span><a class="'+a.deleteCssClass+'" href="#">'+a.deleteText+"</a></span>");c.find("*").each(function(){h(this,a.prefix,g.val())});c.insertBefore(b(f)); +b(g).val(parseInt(g.val(),10)+1);k+=1;""!==e.val()&&0>=e.val()-g.val()&&m.parent().hide();c.find("a."+a.deleteCssClass).on("click",function(f){f.preventDefault();c.remove();--k;a.removed&&a.removed(c);b(document).trigger("formset:removed",[c,a.prefix]);f=b("."+a.formCssClass);b("#id_"+a.prefix+"-TOTAL_FORMS").val(f.length);(""===e.val()||0<e.val()-f.length)&&m.parent().show();var d,g=function(){h(this,a.prefix,l)};var l=0;for(d=f.length;l<d;l++)h(b(f).get(l),a.prefix,l),b(f.get(l)).find("*").each(g)}); +a.added&&a.added(c);b(document).trigger("formset:added",[c,a.prefix])})}return this};b.fn.formset.defaults={prefix:"form",addText:"add another",deleteText:"remove",addCssClass:"add-row",deleteCssClass:"delete-row",emptyCssClass:"empty-row",formCssClass:"dynamic-form",added:null,removed:null,addButton:null};b.fn.tabularFormset=function(c,a){var d=b(this),h=function(a){b(c).not(".add-row").removeClass("row1 row2").filter(":even").addClass("row1").end().filter(":odd").addClass("row2")},g=function(){"undefined"!== +typeof SelectFilter&&(b(".selectfilter").each(function(a,b){a=b.name.split("-");SelectFilter.init(b.id,a[a.length-1],!1)}),b(".selectfilterstacked").each(function(a,b){a=b.name.split("-");SelectFilter.init(b.id,a[a.length-1],!0)}))},k=function(a){a.find(".prepopulated_field").each(function(){var c=b(this).find("input, select, textarea"),e=c.data("dependency_list")||[],d=[];b.each(e,function(b,c){d.push("#"+a.find(".field-"+c).find("input, select, textarea").attr("id"))});d.length&&c.prepopulate(d, +c.attr("maxlength"))})};d.formset({prefix:a.prefix,addText:a.addText,formCssClass:"dynamic-"+a.prefix,deleteCssClass:"inline-deletelink",deleteText:a.deleteText,emptyCssClass:"empty-form",removed:h,added:function(a){k(a);"undefined"!==typeof DateTimeShortcuts&&(b(".datetimeshortcuts").remove(),DateTimeShortcuts.init());g();h(a)},addButton:a.addButton});return d};b.fn.stackedFormset=function(c,a){var d=b(this),h=function(a){b(c).find(".inline_label").each(function(a){a+=1;b(this).html(b(this).html().replace(/(#\d+)/g, +"#"+a))})},g=function(){"undefined"!==typeof SelectFilter&&(b(".selectfilter").each(function(a,b){a=b.name.split("-");SelectFilter.init(b.id,a[a.length-1],!1)}),b(".selectfilterstacked").each(function(a,b){a=b.name.split("-");SelectFilter.init(b.id,a[a.length-1],!0)}))},k=function(a){a.find(".prepopulated_field").each(function(){var c=b(this).find("input, select, textarea"),d=c.data("dependency_list")||[],e=[];b.each(d,function(b,c){e.push("#"+a.find(".form-row .field-"+c).find("input, select, textarea").attr("id"))}); +e.length&&c.prepopulate(e,c.attr("maxlength"))})};d.formset({prefix:a.prefix,addText:a.addText,formCssClass:"dynamic-"+a.prefix,deleteCssClass:"inline-deletelink",deleteText:a.deleteText,emptyCssClass:"empty-form",removed:h,added:function(a){k(a);"undefined"!==typeof DateTimeShortcuts&&(b(".datetimeshortcuts").remove(),DateTimeShortcuts.init());g();h(a)},addButton:a.addButton});return d};b(document).ready(function(){b(".js-inline-admin-formset").each(function(){var c=b(this).data(),a=c.inlineFormset; +switch(c.inlineType){case "stacked":c=a.name+"-group .inline-related";b(c).stackedFormset(c,a.options);break;case "tabular":c=a.name+"-group .tabular.inline-related tbody:first > tr",b(c).tabularFormset(c,a.options)}})})})(django.jQuery); diff --git a/static/admin/js/inlines.min.js.gz b/static/admin/js/inlines.min.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..da2d27e038c119fd2558509c99235656ab4a1f5e GIT binary patch literal 1571 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 literal 0 HcmV?d00001 diff --git a/static/admin/js/jquery.init.95b62fa19378.js b/static/admin/js/jquery.init.95b62fa19378.js new file mode 100644 index 0000000..f3ac162 --- /dev/null +++ b/static/admin/js/jquery.init.95b62fa19378.js @@ -0,0 +1,8 @@ +/*global django:true, jQuery:false*/ +/* Puts the included jQuery into our own namespace using noConflict and passing + * it 'true'. This ensures that the included jQuery doesn't pollute the global + * namespace (i.e. this preserves pre-existing values for both window.$ and + * window.jQuery). + */ +var django = django || {}; +django.jQuery = jQuery.noConflict(true); diff --git a/static/admin/js/jquery.init.95b62fa19378.js.gz b/static/admin/js/jquery.init.95b62fa19378.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..00e42fb5f9397f190dbf587bd84bee9583acd19b GIT binary patch literal 240 zcmb2|=3oE;rvJGCj(LX-cy>P*wc+uQUUP2mQNP~@*xoSbtx?gl(cbWM$>Cl5&*vF^ z*)-cjP-W>hNtyXun|Ef|e+YD1lpb?WxOIK<`q(AQ*4|>v_f$$ziMYQr<wVY`p4Nk! z4dVRk?KS;&DKE+R%W!`Eo9cAy#&2ws`&!psIKcI4QmA%Kk6BZVPor1MwEAM6;4fPf zlAcex5W6`{zpVek+|VVT%&PrvPB`TA{iQ>=^wKG_wtCNeZTaAgQPReH9~RB?I{Ikq yL(}s0Mpwf&^WAR$@X7p6-j9Elq1v~eRPN?`RrqV&ot^ff`>#*<UZ2g#zyJWMu6P>& literal 0 HcmV?d00001 diff --git a/static/admin/js/jquery.init.js b/static/admin/js/jquery.init.js new file mode 100644 index 0000000..f3ac162 --- /dev/null +++ b/static/admin/js/jquery.init.js @@ -0,0 +1,8 @@ +/*global django:true, jQuery:false*/ +/* Puts the included jQuery into our own namespace using noConflict and passing + * it 'true'. This ensures that the included jQuery doesn't pollute the global + * namespace (i.e. this preserves pre-existing values for both window.$ and + * window.jQuery). + */ +var django = django || {}; +django.jQuery = jQuery.noConflict(true); diff --git a/static/admin/js/jquery.init.js.gz b/static/admin/js/jquery.init.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..00e42fb5f9397f190dbf587bd84bee9583acd19b GIT binary patch literal 240 zcmb2|=3oE;rvJGCj(LX-cy>P*wc+uQUUP2mQNP~@*xoSbtx?gl(cbWM$>Cl5&*vF^ z*)-cjP-W>hNtyXun|Ef|e+YD1lpb?WxOIK<`q(AQ*4|>v_f$$ziMYQr<wVY`p4Nk! z4dVRk?KS;&DKE+R%W!`Eo9cAy#&2ws`&!psIKcI4QmA%Kk6BZVPor1MwEAM6;4fPf zlAcex5W6`{zpVek+|VVT%&PrvPB`TA{iQ>=^wKG_wtCNeZTaAgQPReH9~RB?I{Ikq yL(}s0Mpwf&^WAR$@X7p6-j9Elq1v~eRPN?`RrqV&ot^ff`>#*<UZ2g#zyJWMu6P>& literal 0 HcmV?d00001 diff --git a/static/admin/js/popup_response.6ce3197f8fc8.js b/static/admin/js/popup_response.6ce3197f8fc8.js new file mode 100644 index 0000000..b4a07e7 --- /dev/null +++ b/static/admin/js/popup_response.6ce3197f8fc8.js @@ -0,0 +1,16 @@ +/*global opener */ +(function() { + 'use strict'; + var initData = JSON.parse(document.getElementById('django-admin-popup-response-constants').dataset.popupResponse); + switch(initData.action) { + case 'change': + opener.dismissChangeRelatedObjectPopup(window, initData.value, initData.obj, initData.new_value); + break; + case 'delete': + opener.dismissDeleteRelatedObjectPopup(window, initData.value); + break; + default: + opener.dismissAddRelatedObjectPopup(window, initData.value, initData.obj); + break; + } +})(); diff --git a/static/admin/js/popup_response.6ce3197f8fc8.js.gz b/static/admin/js/popup_response.6ce3197f8fc8.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..a68e772f710d40128e88a6567842ef7a60cee043 GIT binary patch literal 280 zcmb2|=3oE;rvG#MH~Jkm5NP{u*J^GpT3D{dwt&YVAViKK_D%My2RA0x=CuUepL--X zur18#PxI5=zu&&!e{|2beN3lo+WDAg>!&5no}=`5uEve;J-m-JmAXZGl=hvOYs->0 zXQ8OT2J3I1_SH?5ZRv2To*Gr6lD$N|`|;O@uOqqFNf&I@ciet#>fHB1;cPu~%LTnn z=dkoC=`WGn*W+OnZKm#Cc;wi<3AZ|pBc0Aw_N{Cy?^%8KfMeb4=*4}rJ#&+?lWNX9 z=8aOg@_Ln{YreAQmt&dt@Bdk+`aMC|FDu@3@~OoC6J?iYEMC>{VdtEbiy0HwrAI#f mIDd1DTIL<6O(ngB>%ZDh-`it-hObq^&7R4_Kgg1afdK$|=Y-h+ literal 0 HcmV?d00001 diff --git a/static/admin/js/popup_response.js b/static/admin/js/popup_response.js new file mode 100644 index 0000000..b4a07e7 --- /dev/null +++ b/static/admin/js/popup_response.js @@ -0,0 +1,16 @@ +/*global opener */ +(function() { + 'use strict'; + var initData = JSON.parse(document.getElementById('django-admin-popup-response-constants').dataset.popupResponse); + switch(initData.action) { + case 'change': + opener.dismissChangeRelatedObjectPopup(window, initData.value, initData.obj, initData.new_value); + break; + case 'delete': + opener.dismissDeleteRelatedObjectPopup(window, initData.value); + break; + default: + opener.dismissAddRelatedObjectPopup(window, initData.value, initData.obj); + break; + } +})(); diff --git a/static/admin/js/popup_response.js.gz b/static/admin/js/popup_response.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..a68e772f710d40128e88a6567842ef7a60cee043 GIT binary patch literal 280 zcmb2|=3oE;rvG#MH~Jkm5NP{u*J^GpT3D{dwt&YVAViKK_D%My2RA0x=CuUepL--X zur18#PxI5=zu&&!e{|2beN3lo+WDAg>!&5no}=`5uEve;J-m-JmAXZGl=hvOYs->0 zXQ8OT2J3I1_SH?5ZRv2To*Gr6lD$N|`|;O@uOqqFNf&I@ciet#>fHB1;cPu~%LTnn z=dkoC=`WGn*W+OnZKm#Cc;wi<3AZ|pBc0Aw_N{Cy?^%8KfMeb4=*4}rJ#&+?lWNX9 z=8aOg@_Ln{YreAQmt&dt@Bdk+`aMC|FDu@3@~OoC6J?iYEMC>{VdtEbiy0HwrAI#f mIDd1DTIL<6O(ngB>%ZDh-`it-hObq^&7R4_Kgg1afdK$|=Y-h+ literal 0 HcmV?d00001 diff --git a/static/admin/js/prepopulate.2f90da7170ec.js b/static/admin/js/prepopulate.2f90da7170ec.js new file mode 100644 index 0000000..bef45a3 --- /dev/null +++ b/static/admin/js/prepopulate.2f90da7170ec.js @@ -0,0 +1,42 @@ +/*global URLify*/ +(function($) { + 'use strict'; + $.fn.prepopulate = function(dependencies, maxLength, allowUnicode) { + /* + Depends on urlify.js + Populates a selected field with the values of the dependent fields, + URLifies and shortens the string. + dependencies - array of dependent fields ids + maxLength - maximum length of the URLify'd string + allowUnicode - Unicode support of the URLify'd string + */ + return this.each(function() { + var prepopulatedField = $(this); + + var populate = function() { + // Bail if the field's value has been changed by the user + if (prepopulatedField.data('_changed')) { + return; + } + + var values = []; + $.each(dependencies, function(i, field) { + field = $(field); + if (field.val().length > 0) { + values.push(field.val()); + } + }); + prepopulatedField.val(URLify(values.join(' '), maxLength, allowUnicode)); + }; + + prepopulatedField.data('_changed', false); + prepopulatedField.on('change', function() { + prepopulatedField.data('_changed', true); + }); + + if (!prepopulatedField.val()) { + $(dependencies.join(',')).on('keyup change focus', populate); + } + }); + }; +})(django.jQuery); diff --git a/static/admin/js/prepopulate.2f90da7170ec.js.gz b/static/admin/js/prepopulate.2f90da7170ec.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..b0011c20b16671a7974509f667b437b8b565fb8d GIT binary patch literal 535 zcmb2|=3oE;rvJSmr~57&h}?aytrw)K9_n#3d@ifgnlwg_%}yLUKl(m?bZer#amb4Q zee#*hDyJOOzP|7KoyWy~yCUUVZUr;?-<PW_j?3S)r*PA@n3FZ32j=tqQ97p}vAQz% zq}jYRtK7oo9`h^p3+Ud^ys$U1ebT};ma~NXzI<0c)tu|Sz-h&F^^@60KXA!jOS8>6 z{7d9FuLh?dxBn`uS%C+q*R5dWVq?7~CTSwW+AN+Iy+QYovFJJR6>9%>1#Mb+W{UEj zA0=`RRG2So<p$2WA%0JX|LTfg-zq=It+@6@=9y1ALwfS9W}$tj-~T*0*I`NXytGdZ z8|vPz_#I}$UvO9Qdg;6m(H!@#zYbem8ucqHPisl(?^oZ~swdh8^P0<TJ|Fl<cFm^? zF*%znzdFe*TXFFtZ_Sbz2LCmS6OO1{Ua*wyTZhoAX{VaEm(}-$+O<@*JrVpQdAuvo zyZF;)c7>xt?cuuHHt+T}v*tSg+Ieg9d;4d$tCu{p_}k32$7lVX<4YvB_@>@Iy6VHN ziug*c%D}H5D;xN~7YKiK*!^lwX8!K?XLg*q8nI$dwwyumpHFoU0t;sfD;)h>-^lqX zb<#@nxnEZWB^EFl=YQs#aK-slz58c-x2U(vg!M14SG4$=7rEr9$vU@#FPCc97Ab#? xuPBTCZ|kr)E8V77`^ywBv#)1YS7{cNeYv~Js;+d!`G3#!onD<i^^28(0RS~<4G91M literal 0 HcmV?d00001 diff --git a/static/admin/js/prepopulate.js b/static/admin/js/prepopulate.js new file mode 100644 index 0000000..bef45a3 --- /dev/null +++ b/static/admin/js/prepopulate.js @@ -0,0 +1,42 @@ +/*global URLify*/ +(function($) { + 'use strict'; + $.fn.prepopulate = function(dependencies, maxLength, allowUnicode) { + /* + Depends on urlify.js + Populates a selected field with the values of the dependent fields, + URLifies and shortens the string. + dependencies - array of dependent fields ids + maxLength - maximum length of the URLify'd string + allowUnicode - Unicode support of the URLify'd string + */ + return this.each(function() { + var prepopulatedField = $(this); + + var populate = function() { + // Bail if the field's value has been changed by the user + if (prepopulatedField.data('_changed')) { + return; + } + + var values = []; + $.each(dependencies, function(i, field) { + field = $(field); + if (field.val().length > 0) { + values.push(field.val()); + } + }); + prepopulatedField.val(URLify(values.join(' '), maxLength, allowUnicode)); + }; + + prepopulatedField.data('_changed', false); + prepopulatedField.on('change', function() { + prepopulatedField.data('_changed', true); + }); + + if (!prepopulatedField.val()) { + $(dependencies.join(',')).on('keyup change focus', populate); + } + }); + }; +})(django.jQuery); diff --git a/static/admin/js/prepopulate.js.gz b/static/admin/js/prepopulate.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..b0011c20b16671a7974509f667b437b8b565fb8d GIT binary patch literal 535 zcmb2|=3oE;rvJSmr~57&h}?aytrw)K9_n#3d@ifgnlwg_%}yLUKl(m?bZer#amb4Q zee#*hDyJOOzP|7KoyWy~yCUUVZUr;?-<PW_j?3S)r*PA@n3FZ32j=tqQ97p}vAQz% zq}jYRtK7oo9`h^p3+Ud^ys$U1ebT};ma~NXzI<0c)tu|Sz-h&F^^@60KXA!jOS8>6 z{7d9FuLh?dxBn`uS%C+q*R5dWVq?7~CTSwW+AN+Iy+QYovFJJR6>9%>1#Mb+W{UEj zA0=`RRG2So<p$2WA%0JX|LTfg-zq=It+@6@=9y1ALwfS9W}$tj-~T*0*I`NXytGdZ z8|vPz_#I}$UvO9Qdg;6m(H!@#zYbem8ucqHPisl(?^oZ~swdh8^P0<TJ|Fl<cFm^? zF*%znzdFe*TXFFtZ_Sbz2LCmS6OO1{Ua*wyTZhoAX{VaEm(}-$+O<@*JrVpQdAuvo zyZF;)c7>xt?cuuHHt+T}v*tSg+Ieg9d;4d$tCu{p_}k32$7lVX<4YvB_@>@Iy6VHN ziug*c%D}H5D;xN~7YKiK*!^lwX8!K?XLg*q8nI$dwwyumpHFoU0t;sfD;)h>-^lqX zb<#@nxnEZWB^EFl=YQs#aK-slz58c-x2U(vg!M14SG4$=7rEr9$vU@#FPCc97Ab#? xuPBTCZ|kr)E8V77`^ywBv#)1YS7{cNeYv~Js;+d!`G3#!onD<i^^28(0RS~<4G91M literal 0 HcmV?d00001 diff --git a/static/admin/js/prepopulate.min.85fd5e0fb706.js b/static/admin/js/prepopulate.min.85fd5e0fb706.js new file mode 100644 index 0000000..43c1b79 --- /dev/null +++ b/static/admin/js/prepopulate.min.85fd5e0fb706.js @@ -0,0 +1 @@ +(function(b){b.fn.prepopulate=function(d,f,g){return this.each(function(){var a=b(this),h=function(){if(!a.data("_changed")){var e=[];b.each(d,function(a,c){c=b(c);0<c.val().length&&e.push(c.val())});a.val(URLify(e.join(" "),f,g))}};a.data("_changed",!1);a.on("change",function(){a.data("_changed",!0)});if(!a.val())b(d.join(",")).on("keyup change focus",h)})}})(django.jQuery); diff --git a/static/admin/js/prepopulate.min.85fd5e0fb706.js.gz b/static/admin/js/prepopulate.min.85fd5e0fb706.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..b55b34dc970d8c9f651c0cc284a75da31edc090c GIT binary patch literal 247 zcmb2|=3oE;rvJJ92eS?v2)Mle%jMp_f!k?G`t|w?-rTlR1+INMwJA9z*_$!>&-<xs zO;~Q-Hri~QFYZ%t%Y1LM(DWe5<!uw&>o{a9_2kl2d)E|7-fX{^de3Zf(j_rD?j3hB z&aBW#G!DG==wud;j7R7b&LghTMW*3Q!7bhIi{qAU^Z3a-@yd=D5z7tj_hyzZ<_jo& zla=4^9_Bnl=T2&j;qux)ziRT&@T|GDuTa6L@%P;w>we1bv)Plk@r014(5IJA>aY1r ztM8q(K{cd&LeKp-zTxu@Pgv@cRwb*Zn0scew$oL&t>JIo9~2(@^OU{!epzreBLf2f DxXE+w literal 0 HcmV?d00001 diff --git a/static/admin/js/prepopulate.min.js b/static/admin/js/prepopulate.min.js new file mode 100644 index 0000000..43c1b79 --- /dev/null +++ b/static/admin/js/prepopulate.min.js @@ -0,0 +1 @@ +(function(b){b.fn.prepopulate=function(d,f,g){return this.each(function(){var a=b(this),h=function(){if(!a.data("_changed")){var e=[];b.each(d,function(a,c){c=b(c);0<c.val().length&&e.push(c.val())});a.val(URLify(e.join(" "),f,g))}};a.data("_changed",!1);a.on("change",function(){a.data("_changed",!0)});if(!a.val())b(d.join(",")).on("keyup change focus",h)})}})(django.jQuery); diff --git a/static/admin/js/prepopulate.min.js.gz b/static/admin/js/prepopulate.min.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..b55b34dc970d8c9f651c0cc284a75da31edc090c GIT binary patch literal 247 zcmb2|=3oE;rvJJ92eS?v2)Mle%jMp_f!k?G`t|w?-rTlR1+INMwJA9z*_$!>&-<xs zO;~Q-Hri~QFYZ%t%Y1LM(DWe5<!uw&>o{a9_2kl2d)E|7-fX{^de3Zf(j_rD?j3hB z&aBW#G!DG==wud;j7R7b&LghTMW*3Q!7bhIi{qAU^Z3a-@yd=D5z7tj_hyzZ<_jo& zla=4^9_Bnl=T2&j;qux)ziRT&@T|GDuTa6L@%P;w>we1bv)Plk@r014(5IJA>aY1r ztM8q(K{cd&LeKp-zTxu@Pgv@cRwb*Zn0scew$oL&t>JIo9~2(@^OU{!epzreBLf2f DxXE+w literal 0 HcmV?d00001 diff --git a/static/admin/js/prepopulate_init.0d3b53c37074.js b/static/admin/js/prepopulate_init.0d3b53c37074.js new file mode 100644 index 0000000..184df92 --- /dev/null +++ b/static/admin/js/prepopulate_init.0d3b53c37074.js @@ -0,0 +1,10 @@ +(function($) { + 'use strict'; + var fields = $('#django-admin-prepopulated-fields-constants').data('prepopulatedFields'); + $.each(fields, function(index, field) { + $('.empty-form .form-row .field-' + field.name + ', .empty-form.form-row .field-' + field.name).addClass('prepopulated_field'); + $(field.id).data('dependency_list', field.dependency_list).prepopulate( + field.dependency_ids, field.maxLength, field.allowUnicode + ); + }); +})(django.jQuery); diff --git a/static/admin/js/prepopulate_init.0d3b53c37074.js.gz b/static/admin/js/prepopulate_init.0d3b53c37074.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..4cc52e56545b231674177b99a7f4b37a35c17389 GIT binary patch literal 270 zcmb2|=3oE;rvI%I_vRf|5NZ8x#~P%|xauM6D!-{#sV^^B?rM77!qLpSqf_+h-DbsY zcgkMK{;;%q{)uso^jxoF*4GM(YL#}rkeGNxq{r*aR*m}t9_bfedEE0j{9?0Rqjd%2 zE^|K~Mt1uiF`=x$T&GHL;T<BH)1`zAc9qtO2tVCgtt@zD;?)%IFonk^akr{I918o> z<MpQ9r1M<+yc3lo2j_pz+Q#J-m*rvg!Z1I>+pMwvPfXLb_hLzZPVUj4*1EIk%9M+z zWli~JESx**+qEMu@*h4;KlgN*Vf62_UytXXnk=%l{WRZQMOksiHD90Wr%$=QqpXtQ c-lv+!YwD)h)b>d%)49v|TQacVJtG4H0P~%IssI20 literal 0 HcmV?d00001 diff --git a/static/admin/js/prepopulate_init.js b/static/admin/js/prepopulate_init.js new file mode 100644 index 0000000..184df92 --- /dev/null +++ b/static/admin/js/prepopulate_init.js @@ -0,0 +1,10 @@ +(function($) { + 'use strict'; + var fields = $('#django-admin-prepopulated-fields-constants').data('prepopulatedFields'); + $.each(fields, function(index, field) { + $('.empty-form .form-row .field-' + field.name + ', .empty-form.form-row .field-' + field.name).addClass('prepopulated_field'); + $(field.id).data('dependency_list', field.dependency_list).prepopulate( + field.dependency_ids, field.maxLength, field.allowUnicode + ); + }); +})(django.jQuery); diff --git a/static/admin/js/prepopulate_init.js.gz b/static/admin/js/prepopulate_init.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..4cc52e56545b231674177b99a7f4b37a35c17389 GIT binary patch literal 270 zcmb2|=3oE;rvI%I_vRf|5NZ8x#~P%|xauM6D!-{#sV^^B?rM77!qLpSqf_+h-DbsY zcgkMK{;;%q{)uso^jxoF*4GM(YL#}rkeGNxq{r*aR*m}t9_bfedEE0j{9?0Rqjd%2 zE^|K~Mt1uiF`=x$T&GHL;T<BH)1`zAc9qtO2tVCgtt@zD;?)%IFonk^akr{I918o> z<MpQ9r1M<+yc3lo2j_pz+Q#J-m*rvg!Z1I>+pMwvPfXLb_hLzZPVUj4*1EIk%9M+z zWli~JESx**+qEMu@*h4;KlgN*Vf62_UytXXnk=%l{WRZQMOksiHD90Wr%$=QqpXtQ c-lv+!YwD)h)b>d%)49v|TQacVJtG4H0P~%IssI20 literal 0 HcmV?d00001 diff --git a/static/admin/js/urlify.67bae52223e0.js b/static/admin/js/urlify.67bae52223e0.js new file mode 100644 index 0000000..c3342b9 --- /dev/null +++ b/static/admin/js/urlify.67bae52223e0.js @@ -0,0 +1,195 @@ +/*global XRegExp*/ +(function() { + 'use strict'; + + var LATIN_MAP = { + 'À': 'A', 'Á': 'A', 'Â': 'A', 'Ã': 'A', 'Ä': 'A', 'Å': 'A', 'Æ': 'AE', + 'Ç': 'C', 'È': 'E', 'É': 'E', 'Ê': 'E', 'Ë': 'E', 'Ì': 'I', 'Í': 'I', + 'Î': 'I', 'Ï': 'I', 'Ð': 'D', 'Ñ': 'N', 'Ò': 'O', 'Ó': 'O', 'Ô': 'O', + 'Õ': 'O', 'Ö': 'O', 'Ő': 'O', 'Ø': 'O', 'Ù': 'U', 'Ú': 'U', 'Û': 'U', + 'Ü': 'U', 'Ű': 'U', 'Ý': 'Y', 'Þ': 'TH', 'Ÿ': 'Y', 'ß': 'ss', 'à': 'a', + 'á': 'a', 'â': 'a', 'ã': 'a', 'ä': 'a', 'å': 'a', 'æ': 'ae', 'ç': 'c', + 'è': 'e', 'é': 'e', 'ê': 'e', 'ë': 'e', 'ì': 'i', 'í': 'i', 'î': 'i', + 'ï': 'i', 'ð': 'd', 'ñ': 'n', 'ò': 'o', 'ó': 'o', 'ô': 'o', 'õ': 'o', + 'ö': 'o', 'ő': 'o', 'ø': 'o', 'ù': 'u', 'ú': 'u', 'û': 'u', 'ü': 'u', + 'ű': 'u', 'ý': 'y', 'þ': 'th', 'ÿ': 'y' + }; + var LATIN_SYMBOLS_MAP = { + '©': '(c)' + }; + var GREEK_MAP = { + 'α': 'a', 'β': 'b', 'γ': 'g', 'δ': 'd', 'ε': 'e', 'ζ': 'z', 'η': 'h', + 'θ': '8', 'ι': 'i', 'κ': 'k', 'λ': 'l', 'μ': 'm', 'ν': 'n', 'ξ': '3', + 'ο': 'o', 'π': 'p', 'ρ': 'r', 'σ': 's', 'τ': 't', 'υ': 'y', 'φ': 'f', + 'χ': 'x', 'ψ': 'ps', 'ω': 'w', 'ά': 'a', 'έ': 'e', 'ί': 'i', 'ό': 'o', + 'ύ': 'y', 'ή': 'h', 'ώ': 'w', 'ς': 's', 'ϊ': 'i', 'ΰ': 'y', 'ϋ': 'y', + 'ΐ': 'i', 'Α': 'A', 'Β': 'B', 'Γ': 'G', 'Δ': 'D', 'Ε': 'E', 'Ζ': 'Z', + 'Η': 'H', 'Θ': '8', 'Ι': 'I', 'Κ': 'K', 'Λ': 'L', 'Μ': 'M', 'Ν': 'N', + 'Ξ': '3', 'Ο': 'O', 'Π': 'P', 'Ρ': 'R', 'Σ': 'S', 'Τ': 'T', 'Υ': 'Y', + 'Φ': 'F', 'Χ': 'X', 'Ψ': 'PS', 'Ω': 'W', 'Ά': 'A', 'Έ': 'E', 'Ί': 'I', + 'Ό': 'O', 'Ύ': 'Y', 'Ή': 'H', 'Ώ': 'W', 'Ϊ': 'I', 'Ϋ': 'Y' + }; + var TURKISH_MAP = { + 'ş': 's', 'Ş': 'S', 'ı': 'i', 'İ': 'I', 'ç': 'c', 'Ç': 'C', 'ü': 'u', + 'Ü': 'U', 'ö': 'o', 'Ö': 'O', 'ğ': 'g', 'Ğ': 'G' + }; + var ROMANIAN_MAP = { + 'ă': 'a', 'î': 'i', 'ș': 's', 'ț': 't', 'â': 'a', + 'Ă': 'A', 'Î': 'I', 'Ș': 'S', 'Ț': 'T', 'Â': 'A' + }; + var RUSSIAN_MAP = { + 'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd', 'е': 'e', 'ё': 'yo', + 'ж': 'zh', 'з': 'z', 'и': 'i', 'й': 'j', 'к': 'k', 'л': 'l', 'м': 'm', + 'н': 'n', 'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't', 'у': 'u', + 'ф': 'f', 'х': 'h', 'ц': 'c', 'ч': 'ch', 'ш': 'sh', 'щ': 'sh', 'ъ': '', + 'ы': 'y', 'ь': '', 'э': 'e', 'ю': 'yu', 'я': 'ya', + 'А': 'A', 'Б': 'B', 'В': 'V', 'Г': 'G', 'Д': 'D', 'Е': 'E', 'Ё': 'Yo', + 'Ж': 'Zh', 'З': 'Z', 'И': 'I', 'Й': 'J', 'К': 'K', 'Л': 'L', 'М': 'M', + 'Н': 'N', 'О': 'O', 'П': 'P', 'Р': 'R', 'С': 'S', 'Т': 'T', 'У': 'U', + 'Ф': 'F', 'Х': 'H', 'Ц': 'C', 'Ч': 'Ch', 'Ш': 'Sh', 'Щ': 'Sh', 'Ъ': '', + 'Ы': 'Y', 'Ь': '', 'Э': 'E', 'Ю': 'Yu', 'Я': 'Ya' + }; + var UKRAINIAN_MAP = { + 'Є': 'Ye', 'І': 'I', 'Ї': 'Yi', 'Ґ': 'G', 'є': 'ye', 'і': 'i', + 'ї': 'yi', 'ґ': 'g' + }; + var CZECH_MAP = { + 'č': 'c', 'ď': 'd', 'ě': 'e', 'ň': 'n', 'ř': 'r', 'š': 's', 'ť': 't', + 'ů': 'u', 'ž': 'z', 'Č': 'C', 'Ď': 'D', 'Ě': 'E', 'Ň': 'N', 'Ř': 'R', + 'Š': 'S', 'Ť': 'T', 'Ů': 'U', 'Ž': 'Z' + }; + var SLOVAK_MAP = { + 'á': 'a', 'ä': 'a', 'č': 'c', 'ď': 'd', 'é': 'e', 'í': 'i', 'ľ': 'l', + 'ĺ': 'l', 'ň': 'n', 'ó': 'o', 'ô': 'o', 'ŕ': 'r', 'š': 's', 'ť': 't', + 'ú': 'u', 'ý': 'y', 'ž': 'z', + 'Á': 'a', 'Ä': 'A', 'Č': 'C', 'Ď': 'D', 'É': 'E', 'Í': 'I', 'Ľ': 'L', + 'Ĺ': 'L', 'Ň': 'N', 'Ó': 'O', 'Ô': 'O', 'Ŕ': 'R', 'Š': 'S', 'Ť': 'T', + 'Ú': 'U', 'Ý': 'Y', 'Ž': 'Z' + }; + var POLISH_MAP = { + 'ą': 'a', 'ć': 'c', 'ę': 'e', 'ł': 'l', 'ń': 'n', 'ó': 'o', 'ś': 's', + 'ź': 'z', 'ż': 'z', + 'Ą': 'A', 'Ć': 'C', 'Ę': 'E', 'Ł': 'L', 'Ń': 'N', 'Ó': 'O', 'Ś': 'S', + 'Ź': 'Z', 'Ż': 'Z' + }; + var LATVIAN_MAP = { + 'ā': 'a', 'č': 'c', 'ē': 'e', 'ģ': 'g', 'ī': 'i', 'ķ': 'k', 'ļ': 'l', + 'ņ': 'n', 'š': 's', 'ū': 'u', 'ž': 'z', + 'Ā': 'A', 'Č': 'C', 'Ē': 'E', 'Ģ': 'G', 'Ī': 'I', 'Ķ': 'K', 'Ļ': 'L', + 'Ņ': 'N', 'Š': 'S', 'Ū': 'U', 'Ž': 'Z' + }; + var ARABIC_MAP = { + 'أ': 'a', 'ب': 'b', 'ت': 't', 'ث': 'th', 'ج': 'g', 'ح': 'h', 'خ': 'kh', 'د': 'd', + 'ذ': 'th', 'ر': 'r', 'ز': 'z', 'س': 's', 'ش': 'sh', 'ص': 's', 'ض': 'd', 'ط': 't', + 'ظ': 'th', 'ع': 'aa', 'غ': 'gh', 'ف': 'f', 'ق': 'k', 'ك': 'k', 'ل': 'l', 'م': 'm', + 'ن': 'n', 'ه': 'h', 'و': 'o', 'ي': 'y' + }; + var LITHUANIAN_MAP = { + 'ą': 'a', 'č': 'c', 'ę': 'e', 'ė': 'e', 'į': 'i', 'š': 's', 'ų': 'u', + 'ū': 'u', 'ž': 'z', + 'Ą': 'A', 'Č': 'C', 'Ę': 'E', 'Ė': 'E', 'Į': 'I', 'Š': 'S', 'Ų': 'U', + 'Ū': 'U', 'Ž': 'Z' + }; + var SERBIAN_MAP = { + 'ђ': 'dj', 'ј': 'j', 'љ': 'lj', 'њ': 'nj', 'ћ': 'c', 'џ': 'dz', + 'đ': 'dj', 'Ђ': 'Dj', 'Ј': 'j', 'Љ': 'Lj', 'Њ': 'Nj', 'Ћ': 'C', + 'Џ': 'Dz', 'Đ': 'Dj' + }; + var AZERBAIJANI_MAP = { + 'ç': 'c', 'ə': 'e', 'ğ': 'g', 'ı': 'i', 'ö': 'o', 'ş': 's', 'ü': 'u', + 'Ç': 'C', 'Ə': 'E', 'Ğ': 'G', 'İ': 'I', 'Ö': 'O', 'Ş': 'S', 'Ü': 'U' + }; + var GEORGIAN_MAP = { + 'ა': 'a', 'ბ': 'b', 'გ': 'g', 'დ': 'd', 'ე': 'e', 'ვ': 'v', 'ზ': 'z', + 'თ': 't', 'ი': 'i', 'კ': 'k', 'ლ': 'l', 'მ': 'm', 'ნ': 'n', 'ო': 'o', + 'პ': 'p', 'ჟ': 'j', 'რ': 'r', 'ს': 's', 'ტ': 't', 'უ': 'u', 'ფ': 'f', + 'ქ': 'q', 'ღ': 'g', 'ყ': 'y', 'შ': 'sh', 'ჩ': 'ch', 'ც': 'c', 'ძ': 'dz', + 'წ': 'w', 'ჭ': 'ch', 'ხ': 'x', 'ჯ': 'j', 'ჰ': 'h' + }; + + var ALL_DOWNCODE_MAPS = [ + LATIN_MAP, + LATIN_SYMBOLS_MAP, + GREEK_MAP, + TURKISH_MAP, + ROMANIAN_MAP, + RUSSIAN_MAP, + UKRAINIAN_MAP, + CZECH_MAP, + SLOVAK_MAP, + POLISH_MAP, + LATVIAN_MAP, + ARABIC_MAP, + LITHUANIAN_MAP, + SERBIAN_MAP, + AZERBAIJANI_MAP, + GEORGIAN_MAP + ]; + + var Downcoder = { + 'Initialize': function() { + if (Downcoder.map) { // already made + return; + } + Downcoder.map = {}; + Downcoder.chars = []; + for (var i = 0; i < ALL_DOWNCODE_MAPS.length; i++) { + var lookup = ALL_DOWNCODE_MAPS[i]; + for (var c in lookup) { + if (lookup.hasOwnProperty(c)) { + Downcoder.map[c] = lookup[c]; + } + } + } + for (var k in Downcoder.map) { + if (Downcoder.map.hasOwnProperty(k)) { + Downcoder.chars.push(k); + } + } + Downcoder.regex = new RegExp(Downcoder.chars.join('|'), 'g'); + } + }; + + function downcode(slug) { + Downcoder.Initialize(); + return slug.replace(Downcoder.regex, function(m) { + return Downcoder.map[m]; + }); + } + + + function URLify(s, num_chars, allowUnicode) { + // changes, e.g., "Petty theft" to "petty-theft" + // remove all these words from the string before urlifying + if (!allowUnicode) { + s = downcode(s); + } + var hasUnicodeChars = /[^\u0000-\u007f]/.test(s); + // Remove English words only if the string contains ASCII (English) + // characters. + if (!hasUnicodeChars) { + var removeList = [ + "a", "an", "as", "at", "before", "but", "by", "for", "from", + "is", "in", "into", "like", "of", "off", "on", "onto", "per", + "since", "than", "the", "this", "that", "to", "up", "via", + "with" + ]; + var r = new RegExp('\\b(' + removeList.join('|') + ')\\b', 'gi'); + s = s.replace(r, ''); + } + // if downcode doesn't hit, the char will be stripped here + if (allowUnicode) { + // Keep Unicode letters including both lowercase and uppercase + // characters, whitespace, and dash; remove other characters. + s = XRegExp.replace(s, XRegExp('[^-_\\p{L}\\p{N}\\s]', 'g'), ''); + } else { + s = s.replace(/[^-\w\s]/g, ''); // remove unneeded chars + } + s = s.replace(/^\s+|\s+$/g, ''); // trim leading/trailing spaces + s = s.replace(/[-\s]+/g, '-'); // convert spaces to hyphens + s = s.substring(0, num_chars); // trim to first num_chars chars + s = s.replace(/-+$/g, ''); // trim any trailing hyphens + return s.toLowerCase(); // convert to lowercase + } + window.URLify = URLify; +})(); diff --git a/static/admin/js/urlify.67bae52223e0.js.gz b/static/admin/js/urlify.67bae52223e0.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..b3801f4a80001b03d09460e0b93e8333a24d9601 GIT binary patch literal 2925 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 Z4K0=zIkPez-o9PW=(gnd-M2~%3;+!Ku7dyo literal 0 HcmV?d00001 diff --git a/static/admin/js/urlify.js b/static/admin/js/urlify.js new file mode 100644 index 0000000..c3342b9 --- /dev/null +++ b/static/admin/js/urlify.js @@ -0,0 +1,195 @@ +/*global XRegExp*/ +(function() { + 'use strict'; + + var LATIN_MAP = { + 'À': 'A', 'Á': 'A', 'Â': 'A', 'Ã': 'A', 'Ä': 'A', 'Å': 'A', 'Æ': 'AE', + 'Ç': 'C', 'È': 'E', 'É': 'E', 'Ê': 'E', 'Ë': 'E', 'Ì': 'I', 'Í': 'I', + 'Î': 'I', 'Ï': 'I', 'Ð': 'D', 'Ñ': 'N', 'Ò': 'O', 'Ó': 'O', 'Ô': 'O', + 'Õ': 'O', 'Ö': 'O', 'Ő': 'O', 'Ø': 'O', 'Ù': 'U', 'Ú': 'U', 'Û': 'U', + 'Ü': 'U', 'Ű': 'U', 'Ý': 'Y', 'Þ': 'TH', 'Ÿ': 'Y', 'ß': 'ss', 'à': 'a', + 'á': 'a', 'â': 'a', 'ã': 'a', 'ä': 'a', 'å': 'a', 'æ': 'ae', 'ç': 'c', + 'è': 'e', 'é': 'e', 'ê': 'e', 'ë': 'e', 'ì': 'i', 'í': 'i', 'î': 'i', + 'ï': 'i', 'ð': 'd', 'ñ': 'n', 'ò': 'o', 'ó': 'o', 'ô': 'o', 'õ': 'o', + 'ö': 'o', 'ő': 'o', 'ø': 'o', 'ù': 'u', 'ú': 'u', 'û': 'u', 'ü': 'u', + 'ű': 'u', 'ý': 'y', 'þ': 'th', 'ÿ': 'y' + }; + var LATIN_SYMBOLS_MAP = { + '©': '(c)' + }; + var GREEK_MAP = { + 'α': 'a', 'β': 'b', 'γ': 'g', 'δ': 'd', 'ε': 'e', 'ζ': 'z', 'η': 'h', + 'θ': '8', 'ι': 'i', 'κ': 'k', 'λ': 'l', 'μ': 'm', 'ν': 'n', 'ξ': '3', + 'ο': 'o', 'π': 'p', 'ρ': 'r', 'σ': 's', 'τ': 't', 'υ': 'y', 'φ': 'f', + 'χ': 'x', 'ψ': 'ps', 'ω': 'w', 'ά': 'a', 'έ': 'e', 'ί': 'i', 'ό': 'o', + 'ύ': 'y', 'ή': 'h', 'ώ': 'w', 'ς': 's', 'ϊ': 'i', 'ΰ': 'y', 'ϋ': 'y', + 'ΐ': 'i', 'Α': 'A', 'Β': 'B', 'Γ': 'G', 'Δ': 'D', 'Ε': 'E', 'Ζ': 'Z', + 'Η': 'H', 'Θ': '8', 'Ι': 'I', 'Κ': 'K', 'Λ': 'L', 'Μ': 'M', 'Ν': 'N', + 'Ξ': '3', 'Ο': 'O', 'Π': 'P', 'Ρ': 'R', 'Σ': 'S', 'Τ': 'T', 'Υ': 'Y', + 'Φ': 'F', 'Χ': 'X', 'Ψ': 'PS', 'Ω': 'W', 'Ά': 'A', 'Έ': 'E', 'Ί': 'I', + 'Ό': 'O', 'Ύ': 'Y', 'Ή': 'H', 'Ώ': 'W', 'Ϊ': 'I', 'Ϋ': 'Y' + }; + var TURKISH_MAP = { + 'ş': 's', 'Ş': 'S', 'ı': 'i', 'İ': 'I', 'ç': 'c', 'Ç': 'C', 'ü': 'u', + 'Ü': 'U', 'ö': 'o', 'Ö': 'O', 'ğ': 'g', 'Ğ': 'G' + }; + var ROMANIAN_MAP = { + 'ă': 'a', 'î': 'i', 'ș': 's', 'ț': 't', 'â': 'a', + 'Ă': 'A', 'Î': 'I', 'Ș': 'S', 'Ț': 'T', 'Â': 'A' + }; + var RUSSIAN_MAP = { + 'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd', 'е': 'e', 'ё': 'yo', + 'ж': 'zh', 'з': 'z', 'и': 'i', 'й': 'j', 'к': 'k', 'л': 'l', 'м': 'm', + 'н': 'n', 'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't', 'у': 'u', + 'ф': 'f', 'х': 'h', 'ц': 'c', 'ч': 'ch', 'ш': 'sh', 'щ': 'sh', 'ъ': '', + 'ы': 'y', 'ь': '', 'э': 'e', 'ю': 'yu', 'я': 'ya', + 'А': 'A', 'Б': 'B', 'В': 'V', 'Г': 'G', 'Д': 'D', 'Е': 'E', 'Ё': 'Yo', + 'Ж': 'Zh', 'З': 'Z', 'И': 'I', 'Й': 'J', 'К': 'K', 'Л': 'L', 'М': 'M', + 'Н': 'N', 'О': 'O', 'П': 'P', 'Р': 'R', 'С': 'S', 'Т': 'T', 'У': 'U', + 'Ф': 'F', 'Х': 'H', 'Ц': 'C', 'Ч': 'Ch', 'Ш': 'Sh', 'Щ': 'Sh', 'Ъ': '', + 'Ы': 'Y', 'Ь': '', 'Э': 'E', 'Ю': 'Yu', 'Я': 'Ya' + }; + var UKRAINIAN_MAP = { + 'Є': 'Ye', 'І': 'I', 'Ї': 'Yi', 'Ґ': 'G', 'є': 'ye', 'і': 'i', + 'ї': 'yi', 'ґ': 'g' + }; + var CZECH_MAP = { + 'č': 'c', 'ď': 'd', 'ě': 'e', 'ň': 'n', 'ř': 'r', 'š': 's', 'ť': 't', + 'ů': 'u', 'ž': 'z', 'Č': 'C', 'Ď': 'D', 'Ě': 'E', 'Ň': 'N', 'Ř': 'R', + 'Š': 'S', 'Ť': 'T', 'Ů': 'U', 'Ž': 'Z' + }; + var SLOVAK_MAP = { + 'á': 'a', 'ä': 'a', 'č': 'c', 'ď': 'd', 'é': 'e', 'í': 'i', 'ľ': 'l', + 'ĺ': 'l', 'ň': 'n', 'ó': 'o', 'ô': 'o', 'ŕ': 'r', 'š': 's', 'ť': 't', + 'ú': 'u', 'ý': 'y', 'ž': 'z', + 'Á': 'a', 'Ä': 'A', 'Č': 'C', 'Ď': 'D', 'É': 'E', 'Í': 'I', 'Ľ': 'L', + 'Ĺ': 'L', 'Ň': 'N', 'Ó': 'O', 'Ô': 'O', 'Ŕ': 'R', 'Š': 'S', 'Ť': 'T', + 'Ú': 'U', 'Ý': 'Y', 'Ž': 'Z' + }; + var POLISH_MAP = { + 'ą': 'a', 'ć': 'c', 'ę': 'e', 'ł': 'l', 'ń': 'n', 'ó': 'o', 'ś': 's', + 'ź': 'z', 'ż': 'z', + 'Ą': 'A', 'Ć': 'C', 'Ę': 'E', 'Ł': 'L', 'Ń': 'N', 'Ó': 'O', 'Ś': 'S', + 'Ź': 'Z', 'Ż': 'Z' + }; + var LATVIAN_MAP = { + 'ā': 'a', 'č': 'c', 'ē': 'e', 'ģ': 'g', 'ī': 'i', 'ķ': 'k', 'ļ': 'l', + 'ņ': 'n', 'š': 's', 'ū': 'u', 'ž': 'z', + 'Ā': 'A', 'Č': 'C', 'Ē': 'E', 'Ģ': 'G', 'Ī': 'I', 'Ķ': 'K', 'Ļ': 'L', + 'Ņ': 'N', 'Š': 'S', 'Ū': 'U', 'Ž': 'Z' + }; + var ARABIC_MAP = { + 'أ': 'a', 'ب': 'b', 'ت': 't', 'ث': 'th', 'ج': 'g', 'ح': 'h', 'خ': 'kh', 'د': 'd', + 'ذ': 'th', 'ر': 'r', 'ز': 'z', 'س': 's', 'ش': 'sh', 'ص': 's', 'ض': 'd', 'ط': 't', + 'ظ': 'th', 'ع': 'aa', 'غ': 'gh', 'ف': 'f', 'ق': 'k', 'ك': 'k', 'ل': 'l', 'م': 'm', + 'ن': 'n', 'ه': 'h', 'و': 'o', 'ي': 'y' + }; + var LITHUANIAN_MAP = { + 'ą': 'a', 'č': 'c', 'ę': 'e', 'ė': 'e', 'į': 'i', 'š': 's', 'ų': 'u', + 'ū': 'u', 'ž': 'z', + 'Ą': 'A', 'Č': 'C', 'Ę': 'E', 'Ė': 'E', 'Į': 'I', 'Š': 'S', 'Ų': 'U', + 'Ū': 'U', 'Ž': 'Z' + }; + var SERBIAN_MAP = { + 'ђ': 'dj', 'ј': 'j', 'љ': 'lj', 'њ': 'nj', 'ћ': 'c', 'џ': 'dz', + 'đ': 'dj', 'Ђ': 'Dj', 'Ј': 'j', 'Љ': 'Lj', 'Њ': 'Nj', 'Ћ': 'C', + 'Џ': 'Dz', 'Đ': 'Dj' + }; + var AZERBAIJANI_MAP = { + 'ç': 'c', 'ə': 'e', 'ğ': 'g', 'ı': 'i', 'ö': 'o', 'ş': 's', 'ü': 'u', + 'Ç': 'C', 'Ə': 'E', 'Ğ': 'G', 'İ': 'I', 'Ö': 'O', 'Ş': 'S', 'Ü': 'U' + }; + var GEORGIAN_MAP = { + 'ა': 'a', 'ბ': 'b', 'გ': 'g', 'დ': 'd', 'ე': 'e', 'ვ': 'v', 'ზ': 'z', + 'თ': 't', 'ი': 'i', 'კ': 'k', 'ლ': 'l', 'მ': 'm', 'ნ': 'n', 'ო': 'o', + 'პ': 'p', 'ჟ': 'j', 'რ': 'r', 'ს': 's', 'ტ': 't', 'უ': 'u', 'ფ': 'f', + 'ქ': 'q', 'ღ': 'g', 'ყ': 'y', 'შ': 'sh', 'ჩ': 'ch', 'ც': 'c', 'ძ': 'dz', + 'წ': 'w', 'ჭ': 'ch', 'ხ': 'x', 'ჯ': 'j', 'ჰ': 'h' + }; + + var ALL_DOWNCODE_MAPS = [ + LATIN_MAP, + LATIN_SYMBOLS_MAP, + GREEK_MAP, + TURKISH_MAP, + ROMANIAN_MAP, + RUSSIAN_MAP, + UKRAINIAN_MAP, + CZECH_MAP, + SLOVAK_MAP, + POLISH_MAP, + LATVIAN_MAP, + ARABIC_MAP, + LITHUANIAN_MAP, + SERBIAN_MAP, + AZERBAIJANI_MAP, + GEORGIAN_MAP + ]; + + var Downcoder = { + 'Initialize': function() { + if (Downcoder.map) { // already made + return; + } + Downcoder.map = {}; + Downcoder.chars = []; + for (var i = 0; i < ALL_DOWNCODE_MAPS.length; i++) { + var lookup = ALL_DOWNCODE_MAPS[i]; + for (var c in lookup) { + if (lookup.hasOwnProperty(c)) { + Downcoder.map[c] = lookup[c]; + } + } + } + for (var k in Downcoder.map) { + if (Downcoder.map.hasOwnProperty(k)) { + Downcoder.chars.push(k); + } + } + Downcoder.regex = new RegExp(Downcoder.chars.join('|'), 'g'); + } + }; + + function downcode(slug) { + Downcoder.Initialize(); + return slug.replace(Downcoder.regex, function(m) { + return Downcoder.map[m]; + }); + } + + + function URLify(s, num_chars, allowUnicode) { + // changes, e.g., "Petty theft" to "petty-theft" + // remove all these words from the string before urlifying + if (!allowUnicode) { + s = downcode(s); + } + var hasUnicodeChars = /[^\u0000-\u007f]/.test(s); + // Remove English words only if the string contains ASCII (English) + // characters. + if (!hasUnicodeChars) { + var removeList = [ + "a", "an", "as", "at", "before", "but", "by", "for", "from", + "is", "in", "into", "like", "of", "off", "on", "onto", "per", + "since", "than", "the", "this", "that", "to", "up", "via", + "with" + ]; + var r = new RegExp('\\b(' + removeList.join('|') + ')\\b', 'gi'); + s = s.replace(r, ''); + } + // if downcode doesn't hit, the char will be stripped here + if (allowUnicode) { + // Keep Unicode letters including both lowercase and uppercase + // characters, whitespace, and dash; remove other characters. + s = XRegExp.replace(s, XRegExp('[^-_\\p{L}\\p{N}\\s]', 'g'), ''); + } else { + s = s.replace(/[^-\w\s]/g, ''); // remove unneeded chars + } + s = s.replace(/^\s+|\s+$/g, ''); // trim leading/trailing spaces + s = s.replace(/[-\s]+/g, '-'); // convert spaces to hyphens + s = s.substring(0, num_chars); // trim to first num_chars chars + s = s.replace(/-+$/g, ''); // trim any trailing hyphens + return s.toLowerCase(); // convert to lowercase + } + window.URLify = URLify; +})(); diff --git a/static/admin/js/urlify.js.gz b/static/admin/js/urlify.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..b3801f4a80001b03d09460e0b93e8333a24d9601 GIT binary patch literal 2925 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 Z4K0=zIkPez-o9PW=(gnd-M2~%3;+!Ku7dyo literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/jquery/LICENSE.75308107741f.txt b/static/admin/js/vendor/jquery/LICENSE.75308107741f.txt new file mode 100644 index 0000000..e3dbacb --- /dev/null +++ b/static/admin/js/vendor/jquery/LICENSE.75308107741f.txt @@ -0,0 +1,20 @@ +Copyright JS Foundation and other contributors, https://js.foundation/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/static/admin/js/vendor/jquery/LICENSE.75308107741f.txt.gz b/static/admin/js/vendor/jquery/LICENSE.75308107741f.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..696bd413c4c361bbd9a719cdc69e4475184872a2 GIT binary patch literal 650 zcmb2|=3oE;rvI@)-u<%;1onN_cC*|n<n^w)_(0Abp`M=2w`DkIJP<v|G289ucUkM3 z;Y&SEe5*O{nY8Ton)7>`<3&@_ByZo!G<LGxmJqW(E#u6KwA!dSGjn<N7Ei9dm2>aS zuHQ56xdg6!*1heT^H$a)D=+h&E4H<|dhEhkuf~@PUcUahCaHjpHP2w>O{D{KV%ECb z&RZ;Xb=mCsCAOC$F7M2?UHxF$wreK4-0U)ZH^*Fg@h;5TR)gFALe7>|avfLCD_mMt z#bB#6yXm|7j;!mmj~-m3!<KF1-s60B!<Ku8e}7(}|7+ochYM9+dy02+?l~`^x9sZN z|EmPDqx_n;)yizWb<g^+_iKG=(<+f?H)cq#kzzZ);9~iSUoZ8}Ebub<>2!DTq6O7& z&pxddTC*bhnV@Q@^dqS?IvV>{9;+0yzc(|{AiU>U_|2^OC+u7&9$Ee?<=?6aPyfkF z^g6FD=dNSC{5(wFf7|+tzdc>Q9|{nEy>|bRnS1w??x^U!>z~F~_5XOx;(vWkM~#1a zv9N|YYX0E%&g9Y#dRQrXSbMT{-Gm0=CXr7ZHq1dX56!hNSuCpea$L=|gJGL~vD;;d zh>1_yr-+{4;2LvK^-0col}TQFaUUFyYCPJM;qSWXu=34Kb517nNKS5jerCcH2hWz2 zlZxt0r<ye?T?6fUx#Bh`39oSazGXsoh^yuT{fdSx_fIw+6Pb63AB;bAdU3*eYfkHV z%SH6Jo1Buo`Rt2c>%vKMHq`QH-kh8+6(AGI@?&HB?(4F=;VaxfO!qj}&0+0Xp~xzi z?4$XF{max)6E>xYr`#u5+^gc%l`0e*V;tY>?92MGO;G0Jb7xoky-TJ%IT2d<;rheU PFZ|~xURmbO!oUCk#cDmP literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/jquery/LICENSE.txt b/static/admin/js/vendor/jquery/LICENSE.txt new file mode 100644 index 0000000..e3dbacb --- /dev/null +++ b/static/admin/js/vendor/jquery/LICENSE.txt @@ -0,0 +1,20 @@ +Copyright JS Foundation and other contributors, https://js.foundation/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/static/admin/js/vendor/jquery/LICENSE.txt.gz b/static/admin/js/vendor/jquery/LICENSE.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..696bd413c4c361bbd9a719cdc69e4475184872a2 GIT binary patch literal 650 zcmb2|=3oE;rvI@)-u<%;1onN_cC*|n<n^w)_(0Abp`M=2w`DkIJP<v|G289ucUkM3 z;Y&SEe5*O{nY8Ton)7>`<3&@_ByZo!G<LGxmJqW(E#u6KwA!dSGjn<N7Ei9dm2>aS zuHQ56xdg6!*1heT^H$a)D=+h&E4H<|dhEhkuf~@PUcUahCaHjpHP2w>O{D{KV%ECb z&RZ;Xb=mCsCAOC$F7M2?UHxF$wreK4-0U)ZH^*Fg@h;5TR)gFALe7>|avfLCD_mMt z#bB#6yXm|7j;!mmj~-m3!<KF1-s60B!<Ku8e}7(}|7+ochYM9+dy02+?l~`^x9sZN z|EmPDqx_n;)yizWb<g^+_iKG=(<+f?H)cq#kzzZ);9~iSUoZ8}Ebub<>2!DTq6O7& z&pxddTC*bhnV@Q@^dqS?IvV>{9;+0yzc(|{AiU>U_|2^OC+u7&9$Ee?<=?6aPyfkF z^g6FD=dNSC{5(wFf7|+tzdc>Q9|{nEy>|bRnS1w??x^U!>z~F~_5XOx;(vWkM~#1a zv9N|YYX0E%&g9Y#dRQrXSbMT{-Gm0=CXr7ZHq1dX56!hNSuCpea$L=|gJGL~vD;;d zh>1_yr-+{4;2LvK^-0col}TQFaUUFyYCPJM;qSWXu=34Kb517nNKS5jerCcH2hWz2 zlZxt0r<ye?T?6fUx#Bh`39oSazGXsoh^yuT{fdSx_fIw+6Pb63AB;bAdU3*eYfkHV z%SH6Jo1Buo`Rt2c>%vKMHq`QH-kh8+6(AGI@?&HB?(4F=;VaxfO!qj}&0+0Xp~xzi z?4$XF{max)6E>xYr`#u5+^gc%l`0e*V;tY>?92MGO;G0Jb7xoky-TJ%IT2d<;rheU PFZ|~xURmbO!oUCk#cDmP literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/jquery/jquery.11c05eb286ed.js b/static/admin/js/vendor/jquery/jquery.11c05eb286ed.js new file mode 100644 index 0000000..773ad95 --- /dev/null +++ b/static/admin/js/vendor/jquery/jquery.11c05eb286ed.js @@ -0,0 +1,10598 @@ +/*! + * jQuery JavaScript Library v3.4.1 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2019-05-01T21:04Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var document = window.document; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML <object> elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + return typeof obj === "function" && typeof obj.nodeType !== "number"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + + + + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; + + function DOMEval( code, node, doc ) { + doc = doc || document; + + var i, val, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[ i ] || node.getAttribute && node.getAttribute( i ); + if ( val ) { + script.setAttribute( i, val ); + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.4.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // 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 = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + copy = options[ name ]; + + // Prevent Object.prototype pollution + // Prevent never-ending loop + if ( name === "__proto__" || target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; + + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; + } else { + clone = src; + } + copyIsArray = false; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a global context + globalEval: function( code, options ) { + DOMEval( code, { nonce: options && options.nonce } ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + 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 || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.4 + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://js.foundation/ + * + * Date: 2019-04-08 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + nonnativeSelectorCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = 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 ) { + return i; + } + } + return -1; + }, + + 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])+", + + // 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 + + "*\\]", + + 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" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + rdescend = new RegExp( whitespace + "|>" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "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" ), + "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" ) + }, + + rhtml = /HTML$/i, + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // 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 : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + inDisabledFieldset = addCombinator( + function( elem ) { + return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + 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) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + 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 )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !nonnativeSelectorCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) && + + // Support: IE 8 only + // Exclude object elements + (nodeType !== 1 || context.nodeName.toLowerCase() !== "object") ) { + + newSelector = selector; + newContext = context; + + // qSA considers elements outside a scoping root when evaluating child or + // 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. + // Thanks to Andrew Dupont for this technique. + if ( nodeType === 1 && rdescend.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) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + nonnativeSelectorCache( selector, true ); + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +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; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + inDisabledFieldset( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + 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]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + var namespace = elem.namespaceURI, + docElem = (elem.ownerDocument || elem).documentElement; + + // Support: IE <=8 + // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes + // https://bugs.jquery.com/ticket/4833 + return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( preferredDoc !== document && + (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( el ) { + el.className = "i"; + 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: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // 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 ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID filter and find + if ( support.getById ) { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + 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 ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + 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 ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( (elem = elems[i++]) ) { + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + 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++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( el ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" + + "<select id='" + expando + "-\r\\' msallowcapture=''>" + + "<option selected=''></option></select>"; + + // Support: IE8, Opera 11-12.16 + // 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 ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + 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("~="); + } + + // 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"); + } + + // 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(".#.+[+~]"); + } + }); + + assert(function( el ) { + el.innerHTML = "<a href='' disabled='disabled'></a>" + + "<select disabled='disabled'><option/></select>"; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + 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 ) { + 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 ) { + 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 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( el ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // 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("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!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) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + if ( support.matchesSelector && documentIsHTML && + !nonnativeSelectorCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( 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 ) { + return ret; + } + } catch (e) { + nonnativeSelectorCache( expr, true ); + } + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + 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 ) { + 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 ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + 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 ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + 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 ); + + 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) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + 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" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + 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 )) && + // advance to the next closing parenthesis + (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 ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + 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") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = 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 ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // 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()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "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 + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + 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] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + 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); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "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 + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // 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 || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.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 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "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); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // 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.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? + argument + length : + argument > length ? + length : + argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "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"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + 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 ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } 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 ]); + } 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 )) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + 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, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // 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 ( 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]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + 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 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + 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) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (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) ]; + } else { + 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 ] ) { + 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 === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + 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), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + 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 ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + 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] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +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) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + 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 ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + 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 is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +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 ) { + // Should return 1, but returns 4 (following) + 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 ) { + el.innerHTML = "<a href='#'></a>"; + 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 ) { + el.innerHTML = "<input/>"; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +}) ) { + 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; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +}; +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( typeof elem.contentDocument !== "undefined" ) { + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + 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 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var documentElement = document.documentElement; + + + + var isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ); + }, + composed = { composed: true }; + + // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only + // Check attachment across shadow DOM boundaries when possible (gh-3504) + // Support: iOS 10.0-10.2 only + // Early iOS 10 versions support `attachShadow` but not `getRootNode`, + // leading to errors. We need to check for `getRootNode`. + if ( documentElement.getRootNode ) { + isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ) || + elem.getRootNode( composed ) === elem.ownerDocument; + }; + } +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + isAttached( elem ) && + + 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 ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = elem.nodeType && + ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE <=9 only + option: [ 1, "<select multiple='multiple'>", "</select>" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting <tbody> or other required elements. + thead: [ 1, "<table>", "</table>" ], + col: [ 2, "<table><colgroup>", "</colgroup></table>" ], + tr: [ 2, "<table><tbody>", "</tbody></table>" ], + td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], + + _default: [ 0, "", "" ] +}; + +// Support: IE <=9 only +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, attached, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + attached = isAttached( elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( attached ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +( 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 = "<textarea>x</textarea>"; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 - 11+ +// focus() and blur() are asynchronous, except when they are no-op. +// So expect focus to be synchronous when the element is already active, +// and blur to be synchronous when the element is not already active. +// (focus and blur are always synchronous in other supported browsers, +// this just defines when we can count on it). +function expectSync( elem, type ) { + return ( elem === safeActiveElement() ) === ( type === "focus" ); +} + +// Support: IE <=9 only +// Accessing document.activeElement can throw unexpectedly +// https://bugs.jquery.com/ticket/13393 +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + 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 ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + 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 ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // If the event is namespaced, then each handler is only invoked if it is + // specially universal or its namespaces are a superset of the event's. + if ( !event.rnamespace || handleObj.namespace === false || + event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG <use> instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + + // Utilize native event to ensure correct state for checkable inputs + setup: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Claim the first handler + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + // dataPriv.set( el, "click", ... ) + leverageNative( el, "click", returnTrue ); + } + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Force setup before triggering a click + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + leverageNative( el, "click" ); + } + + // Return non-false to allow normal event-path propagation + return true; + }, + + // For cross-browser consistency, suppress native .click() on links + // Also prevent it if we're currently inside a leveraged native-event stack + _default: function( event ) { + var target = event.target; + return rcheckableType.test( target.type ) && + target.click && nodeName( target, "input" ) && + dataPriv.get( target, "click" ) || + nodeName( target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +// Ensure the presence of an event listener that handles manually-triggered +// synthetic events by interrupting progress until reinvoked in response to +// *native* events that it fires directly, ensuring that state changes have +// already occurred before other listeners are invoked. +function leverageNative( el, type, expectSync ) { + + // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add + if ( !expectSync ) { + if ( dataPriv.get( el, type ) === undefined ) { + jQuery.event.add( el, type, returnTrue ); + } + return; + } + + // Register the controller as a special universal handler for all event namespaces + dataPriv.set( el, type, false ); + jQuery.event.add( el, type, { + namespace: false, + handler: function( event ) { + var notAsync, result, + saved = dataPriv.get( this, type ); + + if ( ( event.isTrigger & 1 ) && this[ type ] ) { + + // Interrupt processing of the outer synthetic .trigger()ed event + // Saved data should be false in such cases, but might be a leftover capture object + // from an async native handler (gh-4350) + if ( !saved.length ) { + + // Store arguments for use when handling the inner native event + // There will always be at least one argument (an event object), so this array + // will not be confused with a leftover capture object. + saved = slice.call( arguments ); + dataPriv.set( this, type, saved ); + + // Trigger the native event and capture its result + // Support: IE <=9 - 11+ + // focus() and blur() are asynchronous + notAsync = expectSync( this, type ); + this[ type ](); + result = dataPriv.get( this, type ); + if ( saved !== result || notAsync ) { + dataPriv.set( this, type, false ); + } else { + result = {}; + } + if ( saved !== result ) { + + // Cancel the outer synthetic event + event.stopImmediatePropagation(); + event.preventDefault(); + return result.value; + } + + // If this is an inner synthetic event for an event with a bubbling surrogate + // (focus or blur), assume that the surrogate already propagated from triggering the + // native event and prevent that from happening again here. + // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the + // bubbling surrogate propagates *after* the non-bubbling base), but that seems + // less bad than duplication. + } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { + event.stopPropagation(); + } + + // If this is a native event triggered above, everything is now in order + // Fire an inner synthetic event with the original arguments + } else if ( saved.length ) { + + // ...and capture the result + dataPriv.set( this, type, { + value: jQuery.event.trigger( + + // Support: IE <=9 - 11+ + // Extend with the prototype to reset the above stopImmediatePropagation() + jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), + saved.slice( 1 ), + this + ) + } ); + + // Abort handling of the native event + event.stopImmediatePropagation(); + } + } + } ); +} + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + code: true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { + jQuery.event.special[ type ] = { + + // Utilize native event if possible so blur/focus sequence is correct + setup: function() { + + // Claim the first handler + // dataPriv.set( this, "focus", ... ) + // dataPriv.set( this, "blur", ... ) + leverageNative( this, type, expectSync ); + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function() { + + // Force setup before trigger + leverageNative( this, type ); + + // Return non-false to allow normal event-path propagation + return true; + }, + + delegateType: delegateType + }; +} ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +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/ + rnoInnerhtml = /<script|<style|<link/i, + + // checked="checked" or checked + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl && !node.noModule ) { + jQuery._evalUrl( node.src, { + nonce: node.nonce || node.getAttribute( "nonce" ) + } ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && isAttached( node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1></$2>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = isAttached( elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + // Support: Chrome <=64 + // Don't get tricked when zoom affects offsetWidth (gh-4029) + div.style.position = "absolute"; + scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !isAttached( elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style, + vendorProps = {}; + +// Return a vendor-prefixed property or undefined +function vendorPropName( name ) { + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a potentially-mapped jQuery.cssProps or vendor prefixed property +function finalPropName( name ) { + var final = jQuery.cssProps[ name ] || vendorProps[ name ]; + + if ( final ) { + return final; + } + if ( name in emptyStyle ) { + return name; + } + return vendorProps[ name ] = vendorPropName( name ) || name; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }; + +function setPositiveNumber( elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + if ( box === "margin" ) { + delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + + // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter + // Use an explicit zero to avoid NaN (gh-3964) + ) ) || 0; + } + + return delta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). + // Fake content-box until we know it's needed to know the true value. + boxSizingNeeded = !support.boxSizingReliable() || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox, + + val = curCSS( elem, dimension, styles ), + offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + + // 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 + if ( ( !support.boxSizingReliable() && isBorderBox || + val === "auto" || + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && + elem.getClientRects().length ) { + + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Where available, offsetWidth/offsetHeight approximate border box dimensions. + // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the + // retrieved value as a content box dimension. + valueIsBorderBox = offsetProp in elem; + if ( valueIsBorderBox ) { + val = elem[ offsetProp ]; + } + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "gridArea": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnStart": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowStart": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append + // "px" to a few hardcoded values. + if ( type === "number" && !isCustomProp ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + + // Only read styles.position if the test has a chance to fail + // to avoid forcing a reflow. + scrollboxSizeBuggy = !support.scrollboxSize() && + styles.position === "absolute", + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) + boxSizingNeeded = scrollboxSizeBuggy || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra ? + boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ) : + 0; + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && scrollboxSizeBuggy ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && ( + jQuery.cssHooks[ tween.prop ] || + tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +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" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return 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 ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( isValidValue ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = classesToArray( value ); + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +support.focusin = "onfocusin" in window; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = Date.now(); + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + if ( a == null ) { + return ""; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() + " " ] = + ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) + .concat( match[ 2 ] ); + } + } + match = responseHeaders[ key.toLowerCase() + " " ]; + } + return match == null ? null : match.join( ", " ); + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + + +jQuery._evalUrl = function( url, options ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + + // Only evaluate the response if it is successful (gh-4126) + // dataFilter is not invoked for failure responses, so using it instead + // of the default converter is kludgy but it works. + converters: { + "text script": function() {} + }, + dataFilter: function( response ) { + jQuery.globalEval( response, options ); + } + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain or forced-by-attrs requests + if ( s.crossDomain || s.scriptAttrs ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( "<script>" ) + .attr( s.scriptAttrs || {} ) + .prop( { charset: s.scriptCharset, src: s.url } ) + .on( "load error", callback = function( evt ) { + script.remove(); + callback = null; + if ( evt ) { + complete( evt.type === "error" ? 404 : 200, evt.type ); + } + } ); + + // Use native DOM manipulation to avoid our domManip AJAX trickery + document.head.appendChild( script[ 0 ] ); + }, + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +var oldCallbacks = [], + rjsonp = /(=)\?(?=&|$)|\?\?/; + +// Default jsonp settings +jQuery.ajaxSetup( { + jsonp: "callback", + jsonpCallback: function() { + var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) ); + this[ callback ] = true; + return callback; + } +} ); + +// Detect, normalize options and install callbacks for jsonp requests +jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { + + var callbackName, overwritten, responseContainer, + jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? + "url" : + typeof s.data === "string" && + ( s.contentType || "" ) + .indexOf( "application/x-www-form-urlencoded" ) === 0 && + rjsonp.test( s.data ) && "data" + ); + + // Handle iff the expected data type is "jsonp" or we have a parameter to set + if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { + + // Get callback name, remembering preexisting value associated with it + callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ? + s.jsonpCallback() : + s.jsonpCallback; + + // Insert callback into url or form data + if ( jsonProp ) { + s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); + } else if ( s.jsonp !== false ) { + s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; + } + + // Use data converter to retrieve json after script execution + s.converters[ "script json" ] = function() { + if ( !responseContainer ) { + jQuery.error( callbackName + " was not called" ); + } + return responseContainer[ 0 ]; + }; + + // Force json dataType + s.dataTypes[ 0 ] = "json"; + + // Install callback + overwritten = window[ callbackName ]; + window[ callbackName ] = function() { + responseContainer = arguments; + }; + + // Clean-up function (fires after converters) + jqXHR.always( function() { + + // If previous value didn't exist - remove it + if ( overwritten === undefined ) { + jQuery( window ).removeProp( callbackName ); + + // Otherwise restore preexisting value + } else { + window[ callbackName ] = overwritten; + } + + // Save back as free + if ( s[ callbackName ] ) { + + // Make sure that re-using the options doesn't screw things around + s.jsonpCallback = originalSettings.jsonpCallback; + + // Save the callback name for future use + oldCallbacks.push( callbackName ); + } + + // Call if it was a function and we have a response + if ( responseContainer && isFunction( overwritten ) ) { + overwritten( responseContainer[ 0 ] ); + } + + responseContainer = overwritten = undefined; + } ); + + // Delegate to script + return "script"; + } +} ); + + + + +// Support: Safari 8 only +// In Safari 8 documents created via document.implementation.createHTMLDocument +// collapse sibling forms: the second one becomes a child of the first one. +// Because of that, this security measure has to be disabled in Safari 8. +// https://bugs.webkit.org/show_bug.cgi?id=137337 +support.createHTMLDocument = ( function() { + var body = document.implementation.createHTMLDocument( "" ).body; + body.innerHTML = "<form></form><form></form>"; + return body.childNodes.length === 2; +} )(); + + +// Argument "data" should be string of html +// context (optional): If specified, the fragment will be created in this context, +// defaults to document +// keepScripts (optional): If true, will include scripts passed in the html string +jQuery.parseHTML = function( data, context, keepScripts ) { + if ( typeof data !== "string" ) { + return []; + } + if ( typeof context === "boolean" ) { + keepScripts = context; + context = false; + } + + var base, parsed, scripts; + + if ( !context ) { + + // Stop scripts or inline event handlers from being executed immediately + // by using document.implementation + if ( support.createHTMLDocument ) { + context = document.implementation.createHTMLDocument( "" ); + + // Set the base href for the created document + // so any parsed elements with URLs + // are based on the document's URL (gh-2965) + base = context.createElement( "base" ); + base.href = document.location.href; + context.head.appendChild( base ); + } else { + context = document; + } + } + + parsed = rsingleTag.exec( data ); + scripts = !keepScripts && []; + + // Single tag + if ( parsed ) { + return [ context.createElement( parsed[ 1 ] ) ]; + } + + parsed = buildFragment( [ data ], context, scripts ); + + if ( scripts && scripts.length ) { + jQuery( scripts ).remove(); + } + + return jQuery.merge( [], parsed.childNodes ); +}; + + +/** + * Load a url into a page + */ +jQuery.fn.load = function( url, params, callback ) { + var selector, type, response, + self = this, + off = url.indexOf( " " ); + + if ( off > -1 ) { + selector = stripAndCollapse( url.slice( off ) ); + url = url.slice( 0, off ); + } + + // If it's a function + if ( isFunction( params ) ) { + + // We assume that it's the callback + callback = params; + params = undefined; + + // Otherwise, build a param string + } else if ( params && typeof params === "object" ) { + type = "POST"; + } + + // If we have elements to modify, make the request + if ( self.length > 0 ) { + jQuery.ajax( { + url: url, + + // If "type" variable is undefined, then "GET" method will be used. + // Make value of this field explicit since + // user can override it through ajaxSetup method + type: type || "GET", + dataType: "html", + data: params + } ).done( function( responseText ) { + + // Save response for use in complete callback + response = arguments; + + self.html( selector ? + + // If a selector was specified, locate the right elements in a dummy div + // Exclude scripts to avoid IE 'Permission Denied' errors + jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) : + + // Otherwise use the full result + responseText ); + + // If the request succeeds, this function gets "data", "status", "jqXHR" + // but they are ignored because response was set above. + // If it fails, this function gets "jqXHR", "status", "error" + } ).always( callback && function( jqXHR, status ) { + self.each( function() { + callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] ); + } ); + } ); + } + + return this; +}; + + + + +// 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; + } ).length; +}; + + + + +jQuery.offset = { + setOffset: function( elem, options, i ) { + var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, + position = jQuery.css( elem, "position" ), + curElem = jQuery( elem ), + props = {}; + + // Set position first, in-case top/left are set even on static elem + if ( position === "static" ) { + elem.style.position = "relative"; + } + + curOffset = curElem.offset(); + curCSSTop = jQuery.css( elem, "top" ); + curCSSLeft = jQuery.css( elem, "left" ); + calculatePosition = ( position === "absolute" || position === "fixed" ) && + ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1; + + // Need to be able to calculate position if either + // top or left is auto and position is either absolute or fixed + if ( calculatePosition ) { + curPosition = curElem.position(); + curTop = curPosition.top; + curLeft = curPosition.left; + + } else { + curTop = parseFloat( curCSSTop ) || 0; + curLeft = parseFloat( curCSSLeft ) || 0; + } + + if ( isFunction( options ) ) { + + // Use jQuery.extend here to allow modification of coordinates argument (gh-1848) + options = options.call( elem, i, jQuery.extend( {}, curOffset ) ); + } + + if ( options.top != null ) { + props.top = ( options.top - curOffset.top ) + curTop; + } + if ( options.left != null ) { + props.left = ( options.left - curOffset.left ) + curLeft; + } + + if ( "using" in options ) { + options.using.call( elem, props ); + + } else { + curElem.css( props ); + } + } +}; + +jQuery.fn.extend( { + + // offset() relates an element's border box to the document origin + offset: function( options ) { + + // Preserve chaining for setter + if ( arguments.length ) { + return options === undefined ? + this : + this.each( function( i ) { + jQuery.offset.setOffset( this, options, i ); + } ); + } + + var rect, win, + elem = this[ 0 ]; + + if ( !elem ) { + return; + } + + // Return zeros for disconnected and hidden (display: none) elements (gh-2310) + // Support: IE <=11 only + // Running getBoundingClientRect on a + // disconnected node in IE throws an error + if ( !elem.getClientRects().length ) { + return { top: 0, left: 0 }; + } + + // Get document-relative position by adding viewport scroll to viewport-relative gBCR + rect = elem.getBoundingClientRect(); + win = elem.ownerDocument.defaultView; + return { + top: rect.top + win.pageYOffset, + left: rect.left + win.pageXOffset + }; + }, + + // position() relates an element's margin box to its offset parent's padding box + // This corresponds to the behavior of CSS absolute positioning + position: function() { + if ( !this[ 0 ] ) { + return; + } + + var offsetParent, offset, doc, + elem = this[ 0 ], + parentOffset = { top: 0, left: 0 }; + + // position:fixed elements are offset from the viewport, which itself always has zero offset + if ( jQuery.css( elem, "position" ) === "fixed" ) { + + // Assume position:fixed implies availability of getBoundingClientRect + offset = elem.getBoundingClientRect(); + + } else { + offset = this.offset(); + + // Account for the *real* offset parent, which can be the document or its root element + // when a statically positioned element is identified + doc = elem.ownerDocument; + offsetParent = elem.offsetParent || doc.documentElement; + while ( offsetParent && + ( offsetParent === doc.body || offsetParent === doc.documentElement ) && + jQuery.css( offsetParent, "position" ) === "static" ) { + + offsetParent = offsetParent.parentNode; + } + if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) { + + // Incorporate borders into its offset, since they are outside its content origin + parentOffset = jQuery( offsetParent ).offset(); + parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true ); + parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true ); + } + } + + // Subtract parent offsets and element margins + return { + top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), + left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true ) + }; + }, + + // This method will return documentElement in the following cases: + // 1) For the element inside the iframe without offsetParent, this method will return + // documentElement of the parent window + // 2) For the hidden or detached element + // 3) For body or html element, i.e. in case of the html node - it will return itself + // + // but those exceptions were never presented as a real life use-cases + // and might be considered as more preferable results. + // + // This logic, however, is not guaranteed and can change at any point in the future + offsetParent: function() { + return this.map( function() { + var offsetParent = this.offsetParent; + + while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) { + offsetParent = offsetParent.offsetParent; + } + + return offsetParent || documentElement; + } ); + } +} ); + +// Create scrollLeft and scrollTop methods +jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { + var top = "pageYOffset" === prop; + + jQuery.fn[ method ] = function( val ) { + return access( this, function( elem, method, val ) { + + // Coalesce documents and windows + var win; + if ( isWindow( elem ) ) { + win = elem; + } else if ( elem.nodeType === 9 ) { + win = elem.defaultView; + } + + if ( val === undefined ) { + return win ? win[ prop ] : elem[ method ]; + } + + if ( win ) { + win.scrollTo( + !top ? val : win.pageXOffset, + top ? val : win.pageYOffset + ); + + } else { + elem[ method ] = val; + } + }, method, val, arguments.length ); + }; +} ); + +// Support: Safari <=7 - 9.1, Chrome <=37 - 49 +// Add the top/left cssHooks using jQuery.fn.position +// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 +// 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.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, + function( elem, computed ) { + if ( computed ) { + computed = curCSS( elem, prop ); + + // If curCSS returns percentage, fallback to offset + return rnumnonpx.test( computed ) ? + jQuery( elem ).position()[ prop ] + "px" : + computed; + } + } + ); +} ); + + +// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods +jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { + jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, + function( defaultExtra, funcName ) { + + // Margin is only for outerHeight, outerWidth + jQuery.fn[ funcName ] = function( margin, value ) { + var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), + extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); + + return access( this, function( elem, type, value ) { + var doc; + + if ( isWindow( elem ) ) { + + // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729) + return funcName.indexOf( "outer" ) === 0 ? + elem[ "inner" + name ] : + elem.document.documentElement[ "client" + name ]; + } + + // Get document width or height + if ( elem.nodeType === 9 ) { + doc = elem.documentElement; + + // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], + // whichever is greatest + return Math.max( + elem.body[ "scroll" + name ], doc[ "scroll" + name ], + elem.body[ "offset" + name ], doc[ "offset" + name ], + doc[ "client" + name ] + ); + } + + return value === undefined ? + + // Get width or height on the element, requesting but not forcing parseFloat + jQuery.css( elem, type, extra ) : + + // Set width or height on the element + jQuery.style( elem, type, value, extra ); + }, type, chainable ? margin : undefined, chainable ); + }; + } ); +} ); + + +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.fn.extend( { + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +} ); + + + + +jQuery.fn.extend( { + + bind: function( types, data, fn ) { + return this.on( types, null, data, fn ); + }, + unbind: function( types, fn ) { + return this.off( types, null, fn ); + }, + + delegate: function( selector, types, data, fn ) { + return this.on( types, selector, data, fn ); + }, + undelegate: function( selector, types, fn ) { + + // ( namespace ) or ( selector, types [, fn] ) + return arguments.length === 1 ? + this.off( selector, "**" ) : + this.off( types, selector || "**", fn ); + } +} ); + +// Bind a function to a context, optionally partially applying any +// arguments. +// jQuery.proxy is deprecated to promote standards (specifically Function#bind) +// However, it is not slated for removal any time soon +jQuery.proxy = function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; +}; + +jQuery.holdReady = function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } +}; +jQuery.isArray = Array.isArray; +jQuery.parseJSON = JSON.parse; +jQuery.nodeName = nodeName; +jQuery.isFunction = isFunction; +jQuery.isWindow = isWindow; +jQuery.camelCase = camelCase; +jQuery.type = toType; + +jQuery.now = Date.now; + +jQuery.isNumeric = function( obj ) { + + // As of jQuery 3.0, isNumeric is limited to + // strings and numbers (primitives or objects) + // that can be coerced to finite numbers (gh-2662) + var type = jQuery.type( obj ); + return ( type === "number" || type === "string" ) && + + // parseFloat NaNs numeric-cast false positives ("") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + !isNaN( obj - parseFloat( obj ) ); +}; + + + + +// Register as a named AMD module, since jQuery can be concatenated with other +// files that may use define, but not via a proper concatenation script that +// understands anonymous AMD modules. A named AMD is safest and most robust +// way to register. Lowercase jquery is used because AMD module names are +// derived from file names, and jQuery is normally delivered in a lowercase +// file name. Do this after creating the global so that if an AMD module wants +// to call noConflict to hide this version of jQuery, it will work. + +// Note that for maximum portability, libraries that are not jQuery should +// declare themselves as anonymous modules, and avoid setting a global if an +// AMD loader is present. jQuery is a special case. For more information, see +// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon + +if ( typeof define === "function" && define.amd ) { + define( "jquery", [], function() { + return jQuery; + } ); +} + + + + +var + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$; + +jQuery.noConflict = function( deep ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; +}; + +// 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 ) { + window.jQuery = window.$ = jQuery; +} + + + + +return jQuery; +} ); diff --git a/static/admin/js/vendor/jquery/jquery.11c05eb286ed.js.gz b/static/admin/js/vendor/jquery/jquery.11c05eb286ed.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..97ceba5e4d0f021615dec38149906c10b6c0a228 GIT binary patch literal 82889 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%0DxVE59#l7a*f0uJ=hs-~I zQC?>2x~7qnTg$mvL?wFTwRMcw6=&X8p5nXrdq+Z2=<H`Jt*UvOulb||@?OgefB5DG z<1U%`OMl)d)n0o};6)>!Czs>4le;E~@Z^^XyprPC(^B-8Eoj=id%J#%{+!-?rDIbg zPwMKG^FO>iP_<rlfsW*&Gbj6Yl%1a8JGt%HB!kFbUwIUcEWhEk=jq~@=zROb3@7ts zbh$40Hr$FkcQ`OXQ!w4yp85DO_h&Dsl&HmroRm?uGI+*2soQ4uPX+$W|8hHXUAp3U zE1v(#-oWniNTZOW^Xszut4Em}7Bficq?%=GF3XgOT4y<XW{m6E_;RH(wi&PNk|xIo zSjpJ*&ztSMA=1UmWxKRN&)I7{&mKuX39-`E&5Hi$xku!(@2O*!YcKHD%sV`FZRO<e z!o8QHgmi*>s>?E8%Co<2eiN$g$#~~XQuM0b>(4!t{Ga#j-qA{9k+4SQBfRauHsrtD zsQXE|cE@_V6Dk%)e{byX5;|#lHUH}qzAIOcgr139%WEvPqow2cW=0Lot8X&?u1z)l zyRk)btKH=_yd2y;i%y?;y<&0Ez4N<Yen_r+abfYQw9QL=Tf%3_KFZvvCFjm;(&DY0 zd2$_pT>f&_F0EFLY=hwS3-lZESzgo{UK0Mj%(P<hKJ9+DnoXN`U0q`2rLffh`)v=^ z=ufxxHl3J%RU>f4oEgeyc8&MydLF!U3FK}I;OOD=xGUNCJ;AH^Oj_-O=d2v-8Y(Uv zcy#n<@s!uMzN9bUl{0tVFr#Y0;`sr-%QGYOZ0B!!!eX~Fam5|s9VJprmapa$yc=>o zI;>PA_tE2ZA5=MdekZ2)G@RNRJxzQ4ycZ`IUtbZhvRa0%E&INc@I=Ai=2uHJ)E%_t z=RR>bv($Xv=F8C$vVorGkHyY#wvg|?c;WbgR+r{AZw@@VnkZjYmX}#^Qdoxf+^fGD z;qp=|55C<hq~IO)JM!rrkBY`9_bHwXX8ol$fr1qgv*S&tKQ4c8FXlI&+@<V?uNE`) zoVaP;>2{GZ_g&f6@1B>tuNS^;KBg_Z>aKaT;Jk;w-kZPc;&b;++WkmR<*AOwE9S#7 zE^{j%e78NJ{^-HsfH~&71w<s`XKtNgy3<(G==iF-CjNqADGT%0h2E^vi(A+aUJd_z z&9hJPSI2L;_>UV79$kCaLgJ>atmn?CIi@1)r}6^(j0<YJY{j0M{<C(v$+zHy?9ceK z>CgY?SKhyO_t?a{Kg~aCMolngQ(>s_*rrloVIyUml&*Vv;uFc|9$l9iW~D?cNI5bu zve>ro_r3DFtMVp%QJH+#*4lDo$GcZm*Vq33bJtkpQ8U}wKP^_gj)&HHt~<fWZ@%Yr zj6>L(UpIChdi?rDRQZPNEQwsPuaT8ag~!dV%T3b~h`ST8(pglkqd4^sS5|3COe|ZP zZ?pZ~#dE_dYom|fxwW<KxKDVoNnwIUjNg%>7QV}q7u>ThTvt(06nWJxgI{W%cIbkg z9f|ucBwRUkwb+v9^53n8Z>mqo>D|c6Vr;1>&)mHuxo6$;!tD~76RU50jM-uv)Mvla z_kU8x{(#j-Eu#`U&$>SLetN^>OGs=m$AOdTkBnDOp6n-;!*D)DGjUmyjvnLsyrVo7 z0?YKZs!l%^__f+nE7hXoNmZ}2d28IQqNsPdF_Tw(QnGtBOKQ=B<0{v^8#s=8{dguX zWW784o%!yR`7-}H_pE6$4Dhmc@%kU2Fz?WlQ{1amVvamn>fYUvdZD%PO<9@yql~}r zm%Ur*7`0VNdEKW2M^7zHEL>Rssnh4-8UcOdzU5^{YeIJ1;s5Z>;M3K9r5*mCB0nyZ zGVg!8i_6`7m#NjkuBrNZS62z-d{Or}#&arSPqkrz2HyecmF$_9_X^48O<ZsIB<;zk z#`o6FE3Z!oVY=mb;DE7)hfYfw?-lzZM~U1thbJE<UYfWq(Cb8V&CMxOw%17{`FYMP zo|0SM$Hm1tMcG*?ZOyLjds)SPX`erCBC@*0e@jaF&#udzI{GKCGu&RQeI<%@@zeml zYl?mjX{%pt?L6_w{k6#HJx{m2h??L!QP9%mR{F-Y)yri13tCRkY7%mdSiSkvpFJ}Y znS?Kv8f}xV?YSp2@iAZd;?rA8_QuWAnVqt)S0<(@f93prg5eIG5%TP9hB=|x^V*-j z;ApRxiT<PQoc&|z#E7&iZT4%|jXJoq_xLT^kx;L7DD`jnKdougBsCXC{abxu<A>Cw z`45vAUzD6Je6=dnf8HmSs9=}y7!`y27TLYLrWU-JzWc3<WS3_hKL6lR{)Z!WCN0;x z4dV`}AJPh#Z1dNSAu>~Gn#2AAg%`|4_x%t4x>K~2jd_mR!gY)6I!o_ds_7^`dcS;g zo<K5dS(l4kder0l%*HY1HW#P-W0#!OJNcemYdnkeB#Wc0KVw~T4o{rwJF)Ki{b%_T zC626^9d@_Zx?x@D>a$LJx=KavnZJBhS6RQ{{M;)6?A{K>mR&RcJ^WxWPg75%>R1D> zyUq;B12YoMq*qU<dwzpW=jER%<(C%qy>mI<);HtbiiDC&TpX2YtB$>B4Bv3nPkZMQ zuXu$&`)-`v5yk1PmMU$T6!XMXsJQKFi1JJ6dlQpNFDa~FnPGT3v|zgV*TW6WRZEz( z);l}yad+x^d~D&irjlhQ9|Y`IADyW0zqRJ=8J_c-ug~U8O!1mK>6nJt=DB7pIpwO{ zx)luJ7ntK_y!O)*zfk&Yu52K?-@ms38d0YVST8n(Ulf?!xASQ7Kl4k{(GDy>KeYV* zmNIXC+LLvGbuMC#b1!_nUm(xsU$*<;;l9N&pZgSZ*DMgar?#zRNBSm<RZS%ojpBKq zb8em8cX>rYitT63hwrP8H938+<ap)rm4AWU^~s&_>z4}7Gyhq;L}6aDfW3+dV=B+P z^IIoxEZ=L}@T_@N_lvqeF6F(wyT6t?U+`rA)^<cxp!V_JS2IMmyY4-oV*P4e%OW0? zZOIGPWorJ&o3lbzrT=+cRIEk%jANTuf06ABS+JvO(PIvCKj-g;E430T#bTf7uC!lV zvvW@TtAhqL%Q_C5Sh^pIy}7e%`%TkLeNNwhT10pG&B(hpN7n1Yk-7X?TpHo$6N~1D ziFa=-b4adc`}FB}YQ<6Q#P#<s1hrn@R1(6VdL@5hnEF1?v-6+6J$=@y?(Ejr*=z4i zzrbd9{6(2f`nk+E`xB2oKFV2FcwOJ!<y+uGu4;q6S9vRBJ=lAnE{=Hit-Ixod+&tT zhgCM0dl~eaUEp54Ldft=pic6(o*=<f0aNCSu*~S5H;W_D`Ir-z>)VO<xn#>S#8gj- z?y?HFSaZ+Z+`~-ii}EM$0HaH+yWa~(S;<JLe$9KleNp34kIEM3hJX8AVsANJSANqx z(XTbx*QtMzWjMFle!Dj=x=iiuzQ;<VQ~n2TtAD>?@|66XhBBUJjajGmnsOI1IC<O_ zUuc+lG`w-jnvbHdg(RJrr<KpC-MiiW`Np=*RU5W1kGvegeB$}RW}iFvZ!gx8v|~!N z|B$qTr6GNvW$W#{qM5di=1<?uPO58~BiL@LZ|Gfcwv+ea>&;)QBKynB^}9}L#QUCa zNR<d(9sFl+^@i>Hx0k<v@bBKgzwF=T-y{WUST=g4msWD!p0FlqcS(Qmv~=$u3GXky zyVra-UPJz}z`CV>imqo~d*PU@&Lb1OA?^7lhB<|I7DX*}dLOF5SjP9iF*WOHs<q(K z!k_||n-3Crm8LdK;^O&ZeJYAU=7;brhPiUbcbeM1eNruSZ7ti{xU1|niI+Ehi{c31 z84(oElhe$baXw<}jl&578Va7`Hw{0mx)kHo)qS*4uGeDk`N^A$>|W>opLcfMl4zyh z`et^Qe7vTFd2DXV^LBfE>B1|w=~slOymEMbp`>jxlhn~SAE))QbMJ`}IL2%ym!Pn_ zw=6lJ(q~gcVxx?n;$ywEDF^yCwI{H#S>`<3eq^cB=MR6j)@Z!SU;F&lF?szI)90bR zv-Xy*J?OtgZk|ZN8kRDf`BSH!dFOlWUqHB%ZQt%Gej0JIt3>3b4;k3~=&lj0tyeKU zaBazHe#La7l!F0c&Z-}(_Wo*nbbRm0ik(ue;<rm)M?8Ap;68QNhu6}~#e5xH51#(o zvGk%?+mhHjQ<pjW-cn~5yLGBKU;c|(N4WPH@u0Ul7E<PY=WKh71e*@*?S9dqcOuM4 zh)+jWF?Gt-?}bH&T<3Hb2tHTfvFG3RT%qP&!$Xg!zH@qB`|GW&Nqs$0_mH-)DBG`% zr4zp`FciPbawck-#O<uPzV~+qq&KwBQ;axgd33e+FWECkHy?U(K~GSA)4$a<OfK@< zllDEjvSGztM>$><vzM_ple@TIEILqM_3`fItW_M6f(KkI97@WZmK@B8t!=Lriuv(f z(Q>+d!4ofoLyIL<!<x85`n6-G=vmlrTN*p@uYMy_$050BKNqg~w<q1w<D9i(z5nv7 zXROm0j=i11y!PZ4i;U}U*UorxM^xkhOGE{?Sh_NI#5Pmrh%47E{@nT=H1$K@f5vT% zWzJS>WjVPcc{Cq2pDVRU?o#pD(K=(sp)*Hc{NBe=ZR+*xw5@g7<dv4SopraCrR-<2 zSvP4@MYYyMmAEBOcXb-S_;@shD?`PP=c4+??5fkOp<Pc@gEzgH@b`Au?(V(s)P6p7 zidw#)m49mC6R#!J`EUBBO*#H{yKiyUhW}gGt*zB2uHrNo$n@&%KG`nti|L@Gq4Ih2 z{J5Iw6ORY*HdQxPh8R3`a5P}I?%V2qUg=YxOzfPeue*aEy+7Z$Rdf2!%#GcBUw$qZ zoVH8W?Ba)pIU62)|9)lHv(;BvZ@=2Lgk80!ignQuzJ=L|cHezCt_A-1pxb%*{oSHq z)5NU1l6{Asy#3ee`QunnMfal<vQzp3kC_=9HY@s^z1)$%+3c<ovqx9H+3|A4r>Sdx zY(96^V}-eM?$X3{6&5#teAv)9x#RV=r>|D5KAV-*z5DmONAKQgYModYz?o!}Ht9X{ z>Fbkbob$Muc)YlGZI^O=@8zjC6S`hRe`~&cJ8F}Fnf{p#s`;&_zVrl6n?L7LMWCDU znFZT?9F;S2S=={ot82T{ZNpqLQCs_syF~d!+b8QP{2kr1_qIt)zTen+^zx!(VQstn zvy(Eaui3}kelqjJtBc<RKdqNCPy8RQuFzWWX3GI@q1b=DN9W(4aF^wr)_>lz=ewf5 z?7yKam|bM0zg+&0`_KFcuK4`P0uxsL{;kSV=JxZh&>?=^-g^;F7bI*nK3@C&xbo-8 z`JB@~zn7|1oZD32v*!U*<3IJMt@qDrmFu({`!D>$JNFQ)z_~{=*3bKMSZv*G#(V0P zlKDpz|I0r}=argru;}rRXKNKc{kJ$4dilo=PLbttGb0maKXYbAwbbUEyeg4+Y|BGm zSHbyP4sH!<n)Il`|I^m(#?cvtyrs_~gD(6qF5{Z9fY~yp%VCYz7p8{ROYhfRoO18} z{rmraJ-D~G+A+Aw=>8OA37cJ8123N3W96#)^6=fgfA8*f-@W_|yM;*o0mV1Z7si=6 zO9<YMmlQ7TxOMxX{?Frk=B+#Rv?}~}Yr(ymhP#%niR(`>?K?8#+Fo|{zXIFUuEr^* zmTc{5T-4pMZvHaGFqZrObhQ?3IiYa-zIW2X4O~A@=?Msi_PP}AifMkwH~rYOCN0ei zpErjVDy>}j=-u0`sgoq%$uINSEx_HG$uMtY_cf!0y!nUcdj#*kTp4%$$CQ6R<|RLs z-F|c3r^jc?SRa29-WIu}z@#Uz#nO4X$f4}>YBSbN3j7t$y6JuPXX&f&KXRXJI}qjN z*|5|m(lMi-BV1hDn3MCu)r0K}%}yH_o@vKFN^Y|}8OE{qPHf2GvrLmSc_*gpoM;Lt z_xyg)L2EO^^k&Hi*3$wc{lwK~X{KkSCiB$K<Gr#<ui^fyBaaq_uc?xr*sRE3bzS#n z+-9~Y?`u{KhD#s6*2>{#jS*1V88?S<zKuhx2j_x0f5N#te)>H=s}c3Z?a$OrnYoz^ z|CX~&`C|LBU;*=O_u9pY$1iQ_w-<Wea?UUOq@~<$JvE`DJ&V3Pw)y`>)-eA|cGQ{Y z>o4Z@TIxUj&fm1dXMULYhpL0`SMB`Ed-<DE{H6IK4L{RQ)_EM&aDTEna_6z!yKndS zU%s|<536Cz%1Q4$lw^8K)9g(Z?jG5u5LLMEh`|kogNHXZ<axyCc7CsTWBu<Fqh;z; z^Om2tUnJ~W^4j^e>><;@X@>)<JtRG5>Q3ty->e?A?RtXh^{eekiBA8;BJElJyioOy z@2y*Ts`W`%^6XW|rQ+=!PrdwBGV8zo3fqwU0;$&pGuVnhXT0bXSpP9LaQ{l7Ig+M- z<2aosuPC)ES2|kaUAE_0`t`F{(xvtO{n>NY$Y}OOom_8Lk3I{VpkAlBd0}7X?>8{# z%>Vz*d_oIbPtO5=>%gcTZY*w1CyQG*O#VAbqv2|9<`UcKx0KpVU-(4SolLvB{fk6n z^wfzH%S&EowY~FhWO1~}n4%&m*`2)7$TPiL^-V^!Tvj97gHjJiC+R<Vrz1C2X*#D) z`w$S3$#BEyh{pZws67TX0xFZ|wXbqJlC#(5;=K>cFXeo5=i%YxT)y$;ZufmXsZ+wf zE^B=m%#?mcrNryTq0OJ3ELmWE=#x>t*qn=^GlX9-%W<4sAzLPssJP9?e@*4qpGx<y zd?;MhyY}{q0}8(uoORyy^0r*}@BjUBCf9%dKNXpLZ1qC1%$Jg<+0EYGefK|C-E6@- z#kj?WE+-ZU{V-kGFjLnpJg@33$A-xDdIr&klh^(Gzc)R;&-sGk{YKUO%stl2zR$>t z%U%68>emN#fu<m)LYMh#yPn#(|KD&doq6|-|NocDypg-<XUQgW@Rzu;x}deF%;YJP z6O;m-cNQ&kj(e?V%*Xtrt!&y-!JL$}$NV-;S#Z!)XnxM`7ZH4wHMPM4hI=z6&7RWn zXD-XSJ8lo|$b7$YWqQ!gO`cExeBn2_)Gq(y&C~tXuTDOx%@R$SHQBKu?Dvi(CEI%S z3}v)rPJBwXyzRjLvfAw3&nbJaq-PuuG1(Ygk?~ckYW4)te;)fY4L986tZS+ZjdTo< z{&qL>r(mFcM8Hb!GsZ1UKlV&1@HqIOv9ABzr>JWxHFB*Mi3>B_cNVqndn1_sWAX;; z=u_6b{xjZm8(XmD&AY5p+_;=yD!kCj|J=k_$2_IWd!KLU_;cXy8KZ4^6`ZM|2PHm4 zWs4v9`T2a<kLUAuH$OYTd`^IQlVs3G$*0vk&c_#A61q5h-;$DU(_cOR*d-PJCqLNa zqH~2)@^#T=_s}n1jJ3)EW=x)nKQ?pL1w5Buc&g~GeB^|+j<&uQFByKZF1*qea4>}R z&LMg4b1RR|Pv-vlXws*vU)RRZ$i1W$u!dp&?Maho2YaxDc{3cBNqZW!`B(OVqYIX- zKg6q8t$(I+%IU+bI}ZI9*b&`$;I>lX<JOReQ}@3xPtZH7veaF(%R&6i@hR@9uTmro z8yUY=he?R9J+!1@c42}{(VbHwofDI#ldlN;>2>7N>9RL5%wA*?^>Npw(~*za?A6=6 zDr={_-533KUY@b>p;>XN3?6=Jo7P?2o&R=~^a|H|YB}eZd)zw}aogsYW1OQZ|Jx4D zu3l-2%ZiIrs})1Lm(S8T-{_{ca&DWd$78$gGn#jq{K>oQb9Gf|c=XiEyVdios`edi z{IX}&^^`IZQPDYRCV|!~>K~Tgh+iog{&qH>&YCw(3Y#ldY5E3RPkMgk)0u@{(>|I^ zs4$B1Na`uh3ud`{KW%<-hTX+yj^Ve}E|*mB`U_d871kE*X-}Ehw@K(Y+mS1r`fq~{ z{GUDhlm5dULUz2qK7Y5VEMM1U;qj4om)`D^Pv`71ef7y?`Z^!8#I2vCe#@Cp(k}>p z^JQ+zMAN?LPdY~?=zn>7_nZIhn(fI+J6!oEviY+`cX&K9oc3<!gPIiy)po0jwG$JT zZWe0OeZPJg=NZ!l%naYx^Ql)kOka0*#~a5L-<JE$+1YdE+ukehe8XcV&96CdS>(lu zz||XP@0wS2zjj~a_Ljc7H9t&QqDuBowX6`#GwsZpt{ma}NA25zg>wzdWa4uK?s%`c z-qNu%Wr+??O#J+X7xlI6e7QTVUfjL6|Nqy+>)9p${Qj`Iz4o|wT%y;8pzvP|+h+1! zvYHjX(=Erb{&23`G!2*eF~*<s9tGw+%XAP@KKVX{>B*@NH`X&2I6bLOPrS5V{MoNZ zOR}^qj>Kp)s|P1ZNBo;1e(6C%dD*$o{@?m$@A2kz5%sy|Y*ro7<?*qrM<PUJY0|-E zKC9%_w`KLE$6eZYW6nIu6{{p2c>i2zp5gTS#)59QEkB=li2hM&QQ5XT(xv*#?R5V3 z{xe&XHqQy<SyR@uIBdbs;w>S}mM`zx{dl$d?>=Fk>Ro5wDlgzu)$QIT!ti@xmqu{_ zmxAvW@oVWb>gD!+yZWRj=xo#H?32t}<Gn+-FNxJ&5X1M$^4F!A+H2<+MMt<7xa8Fs zEb!3C+9aJS!t1#*<Df)U<}0N+bFS8@=eVhVJ>7Luw)#cZU+t%wtv?-IrJ~*z?^&`U z?2fO^@vYlMA0#h-nO$YTE-UBme)js)32Q$*b6))R$GfZ(&yI)LMycnn4&!+w{i~N- zN^Vbm@0;xxI-~_StZ$UL*J~uno;)!3z_!P0gaR#P?tKy1x^x<2Uz(Xn>56A<hCepF zaNtN=UG)8_)34cg-WUZuJ6+m+V$W42%g&h0*SWzGjdJX3bG_YWFS&2%Th$k*^=d&- zv6`2cs$-p;NPh!|)(Srd|5Br_plhb7YeQcr{)}E)eeJ1QV*9%8(|$e5Z@z~f{{35& zP2@_Ax0i*Yk5KjT1<#dty<K*IL#D-`z_I718Gpl!+e(Z7ub(?R=Z*9em(IPvEpA+V zKEdN#d)yiy9j9U)5BXzq;+{5bY(Z{;_g>y8IBdFSi?C?^?45RxzD{|6^uWbJp-mqx z#U7kI_0VaLg_g+?b%Q;94_}vCSxFV?X@8vHWc;c5M-bm3+nzl$;zL$Homr*go%rjy z`LFz~k^awShyL%5Jt*h={=uIq4s!EYzJ!}=8Yv&u(7Y@BrfEv{)%o(8*O?q&uRC@5 zvc#Q`dyCRM-%hZo5sM4ode2fsRY&dA*Plfbe9eR{≧|*cnxDVe^l3*=q9{8I?U1 zG+!HU*eGArbbjKMpbmZYiOZYzDU0=P-cwh(G2ltsJ5~0Z0Z$}t6WMZf)?am<9&x5B zS~Tp?^<;j|y$p-v++&Rb_oND)d8TbHv!raw5$6z-mk~+nFCve=ox#7w;QAXjSxY<f z(1a%pcWeF>R4-9^yFT_#><owGO1G4dvIlx^b~}H(Cp=a6n9sZ^+GiW5tu<I}ZnKx; zXIHL$_vR%D>OW=8CY=pE6ZF|9=j=iMxo-<ZBDqa9C+Z#7nH<H>swne#TKDBgmnS8! z)T}-0Zp4_>AK<ja_Qq>-Gv=+Y!>=<xXq}|o_Uh^Oe}!8oE%$g`aXfo%qDk`CUWfFI zB`)Qx+5O^d=S`(LKeN6(IdlIM&l<PG2|w;Sehd1?ddMX*&Cu6VV!5W?kDG$~t6wYS zCx~h7FzI`HWg}l@V2sOK&6q~F6Gf$R>=L$1?YtIE@6(9PaNXp&)9(Ch{>N|l6?Q1F z#y)A`QnlRw+PR|8LBHkHw<GydH(U0V$?0jX{h+bT=J<!N7Q4$cRC7%qu?o*Ohz-)) z{i*fx`TkO^IML<j?Q|bLzPJDXw|93}^uNBkM)Dp5tNh)@`uf-9k$dkPmXE)nKQH3b z#wnr89;`V#sh88Fa>E6YZ_(=}y3Q2o+1JT8ZQ=1*S_(|bPi}|sMeMWU?eY22!#QC& zqyMuL)0G26V^U;3`AcMZRETW8^-KN7?^n)iB5yCu+j_|I&(;Mghw}DJ72Nl{GUL;c zn$0aq+xq2#uc_?Ro?@4@ZhmN8qvytptEVqsmS{A=F6-jr8ShRcGnOd#UR^)`@EzCc zu7%4t?wGWCntRvJBik1?7|JbuQRchpcgW+tscTLbxE?NS_vY{a{YLp$Z~)(uH|xL8 zd$D69x590^sw10plh$8g^}fAgQ+DcsHj@e^8TT?rlL?8se$TJ6JX^jiLS*&ws+Et< z@`~D9?6`m5N_~3?o7hy7(;Bzym%2$68a;f+pZQy$VX1}dmD)xR!=AvrO_l9CqTW?a zIDR8m<)h}mH^C7HtAF_~&ggg*(&oJJO7nd7`1=vAOPtc=C*Sl@o54GqWBrTiimyc% zU%uFockZdo;<UyXrM2@!B@9`vU%NbA|CeKBpYOqc6K~tb$)9KVy1h(hl|<*_zwxJ< zf`lF_%Ngkl+fDW}7q+(74{tPDoxDFMIAiJK7?wGi^KGYY(LR{gzT0`__GFj%;$O4p z@hYdyC|M`_x{Sq1kL}dPw##ojHlF8n<#c;gtGZg%yqiadYw{b_go#IXmHph&IrU5U z1de-EexLTPD!66$bk@|ugxTWeY17Ppt$fnFFX@$F{>Jx<tBqc5`5<br|HIelzd!d~ zR61n2>(~c#Hanf`{tIotvUPt8+7Z9*-O_@E7u7XiUe>yJjPF0!A;0zaOAhv5zqQ%v z{-W60ptE|$D_w=eGfh0tg$1O{J>4OhE2Mw7(_eQf^Y!c8BHkjcZqG&Dd4(3fEZ)s@ z$j~KZ)3w_U+j{2zZ;8`-&8`wvp`yTlvvQ-|>a;4cr%LKFx|d!p+&D{F@O44NS;j+8 zx+?a)$S@X^nBeu<+tl{dU54$BomCPkP7k7fRQ*2~xBqcS<*vVrc(_H%)!CQSf4wT8 z8PQ&KJn6&vM?X(bcPccA7j=A~<RrMK>F6U)!TX%T>;7mKXzA$)SU+xUV(Xn|C2;Cm zL9FtMKa&j}AL1)45qzdRJGte=(wMLpEr;whCvLTwT7So{pa06$D@JNFUQBke`BlE; z>miNYXIHns<ob28;_oI_+4uKvOMkojQ@=Fhb&h4<_h;HX>(`gB{Zis18($#raC`a{ zcc+*0L%CTT{%EXQQd+rh=H@k$F+Pp6-+6dE>G?Q)BKJ@JM_E+|82+^BWdFBsng9At zhN`biWtz6@3a(0Ssmh5_Pq)@xSbQNq>8i>RkyZ2fi~mN=n&0br=hDuHxfiwxY|vz5 zdY#nBWiWZ7rOBt<%&Tf2Ib`d8_D)<s>0C<}o1J5OVvx7vPWE+gn9k-Mp1AC2uv%N~ zu0_s!ni$=0Xtpi(@J-p}x5~f6qkO-zkHo*QWbv0<C(AC8?kJhErD@6<?saVoBV*KO zU*13UbETct`XBLIb|@LWKK~)j#8$We^v#Rc`Q>dYelWc1-1X&2PAKEdW;xpyuJ`s* zDeFHA?-0JAXYM5YY4OE6_fU`CxP`M;7|fQL!XP;RiqD^_1B~-kIaHQ*n8=^bT9;X_ zTJrPJqok6;{$GEdUDdnOa`^p&&p$uho3O27Z}seK=^*Ye-zWU{ZY;Te*2i|%BZ<>z zEloGxxjKJ$YHWU2m3ZZsqQ2mg|Nj=Z$J=^1xr82nJ@sSL*3-#y>9L`I`7*xzTHwU6 zkmIV@<(@_6Kh&r1cQrcuwBq=jN%a?mw#nXe)+*z6PY7Z(eqy>ty6ejfj?HGd^UT)p zr3M`hT=nqmEx*~9R>+kVPN?iXq+rMP!7k)UQP39dM-~aD5etqcJuXz+^Ov`6h30K3 zCqc_nk0ilan-+az_|SElG4upab@Wf&-zq8F)-2Nv*IGZp=k|h`+f&lBo0-{^9)($) zHJ<t5x1RW`T_?hgozngt=a;{0pJ%|j_WKXf%>rr-`*UV~RB3(wjg#BfOO@4GL-qH` zJ+rd9WF5_~s<-DPM22t&y>WeTGNn?nBx2IPviq{{yAHD7d><Nm-MP2=e~F!X0%ORc ztRuRQcoaVL+FLyoJ9z4$_U8PHvl*29?DKPZABg0ADHh&id}xkBK1b=5l`Ov>SO%=W z{$`WMA;+CRIszG*mUfyyR5fi)K2)fDT46KWmapt<m=4bVy?BY))ib3R<u-E1d;91L zs9e!ttriY{vvm^VDarc>bq?5TXmYQQ`2X{hZ`~<B-q@_t&^2MAzm9Efvb*f9@oQ}l zPgtVQzI|%b+HQnJHJ?w)XkI=!)GwUj*Ta3a-{<vYu2x^auln4)oyXsc?Oy(4#XX;M z-dj#Cl3EzHTE<?~Wa0f&pZ{$6(R;_I&YE%3>JLtz-hN%-BHwlTa?(ZhD~jFH^Kwr8 z<e8>uzg{z1VQx#-CvLgTHDO7TCQ}!lI$0+5_{0`=vBk?)zW?0VC~%mg=FQ5$b={vQ z&W_o&YsFrUjMvF2`em^Pzh21{^_Bf@C75yZ`Xnbyr^Ax1Y*!R+Jk_2Sni!LKLw;(S z#K{c;%zq?glUE;|V1K?UM%QZI1l>jbnd=1qHM$&Q4LB8QnJPYi;)?!5KHMn`<$v<7 z)pq~Zw8%Bfk&$oS92=IFT=e4T`+Kvkr~i2^?t9{M&a=n$Q+(gL=*{2$hevrrRjYJh zxbZ9B+m}9BM@NS>Oe%9I>EAR%clKE~|D%;2KRT6OZh7l`HS2e3*Dq!7C4W1`X6`!7 zR-V>=m@PD4DT1l!<)%BOOZK^aU-yc|zOi|WcAWZCrsm&9%U&ma=Tfn@?|)G$$E!9+ z{iW0`0gkiv2WtEFwVEB>`tYe%Q54_1HP4bK-7aTda{Ma$rZ)>RQ-eQ$`y!_z`@Z+a zvstpH6?Y8P7k}8Jp0@0Z<$SdXnL0cSKlSX??Dzfp=2^OrWuD;M8Uveq7u`3AN9f)N zdc~#x=)hM)w&X`zy3Fr(h4kH@*CM)nf(#$8mf>OJ4Ue9)THoF1oAdgf#Ma3N=Y;O~ zaJ)nDp{IT-N4))lu(-|tp5Ck0yEXAdy8GItEynUD5$3nvykR=qY1iakC=eu_&YryD zkEL)>o9v6Q&ynJ3FN|IXW{CXRXur$cO5u|E{E1x>Su>`JFq;-szFR6}#j)f0GU*4I z4%2q=xHxq%M9$hS%o#Cpd(;=Mt_9k^Pfb{_veR6d{o@+1c{#nzq1vzHcSZj1Dw*-C z^x}i5!X{~NwztNfG~c8COL1!am!#<45cbL&=0cW}4wX4Nhi52U`d(5xzvSf7CS!Kx zkF(B7{XQYW@A9xO$s)7!F4tAp2M4}gE$p7WaPJj?Th6|R_9m~iz5U21lym*LziBRx zQ}iv2UhG?-x2l5ss_6XllQ+#c-(a@?>h$-UyR(jVRMe@xwBl^PaL8hoY4@=^#$m6* zA1QOYT%YqH?;i6~`9+5<-fyqilz8PpSKX7OfUf<oc58N<Gi-8;Q=hWy{qcjE?Q^x8 z-G%<B%F7m~a(L`{y!}XniIPLzQtsH8`!YSsf(7E6TkaU<>@8niE>iPrr>@D9{R_QT zOjwg{x5jD4w`SWXi~qk&=&$^|dCsSKZ|}+7P5fsYzvi^MhUTNo_ijJ7-}C-|&6jWY z|9|+$x7SYllVti;#<-f2=R54{X77#OzyEUe@Ao&Fzn3=@+S`kUzJJReUtgL(;cnfI z`VXRiKVLmKgXN6nyf>w$YoD=Pu@hb8y1wp$d6&A?%7(k=r+feTuXwCs(Gr7Q)+$VG zeoZO{3*LOV?P}Sa`2D!e6xXjUhV!?qs;~R@Y<vDZ+qzSA^{bcWzr6cy_ubf6-{+nY znta&u^t+VbwJh<wRrpIE82XtNt2i8xS-a{co8T-<UlA`KoreY=j_ChfemDMA)<&7X zLEg_ct@$w}dDlU^tJMx)ud#;qe4CMEwoLrP{={$3)6d86t76;!mHn*Hl*e~BtO%^* zJt}8k|M`vReW#DQ40|Oe3b@+@cdS@Dk!w-egOz(krYo%Y5H~+!>ZIN{E4ixD{r=}Y z>|9R=)>hgz&U}6E<s|p3Eoo_PuKQmdHh5^Y#4q5Ni{Guo&rD?-L;cs>o}E9h)?ees z)1>BG+qpk&K5)yBZAOCXhIg^^J>{mx%uhXfFJo(I+qW!<Rl0Y#3CiB7aWT->$@_Ot zaBkS`wvBwU+Y&YMHvUjc+VrTh)QjQ41v`VN6%{Y<-n)Oh`pbs;8FMG+-zth+P%Nx? zJaP9?cZ&s#T&(9sd;C=2zngpa9mg|Cx4Vn$zHWVb^b1e3c+tJAMGHDh7p_>Twb1Tg z_`V%Vm7eF!SL^#F^u0K%X{GwBHsfcXkxORt+Fb`Vo~`>FFa0ocQ?e&>seaDa<|q6< z2WM-|c|3jf2Inft?G1i2&J-&&t7m`Lahj3HU#1X#V?ji9c4W}wO-WNjV>s_ipZfRf z#?fhPw~M$gKX=z%%5Pek8pOG-@cPkZ>)u57yT0GIHhOixGWYs}_Swwb6AP;=;<tQW zc<Ru(&L?>}+vJ+rBY$4FXx78M&2VyYZ0Erv1qrXVvKU6o#s8VHCP3%={Zhwcx@UW` z{FZOipZK?2B<l3rh1(a_zn8qf?5U-%NX)6(th;xd`qC2dl3~?>%vn)WcGu_6esg3A z?>1)BS3kAITRglBUbMBxbqbsh5$|_e5clxN$>rDQS@M2g*z&?d^3zZ6+7GAe|9v^D z9T|A8*R|A0X+?{IScQDl*(GJX&u4ym#Cqve<=;tiyLg{Y>WuDF?{S(EHaYW}z-$kX zy-DwEFaP+gaOUCZtDj{!?<`F(`I>B=eIe!Z?0a7?i`z^SiW0v1wzIe3({`!N-v89j zzWgA%mtQ@AdEJ{SZGZ25TWV#y^z@}5HO7_>=Uvi!{VIM&?>(b<Ixk<fMQJvJY}wK0 z6AI5+-I34_7F#4*ck9EVr7WAismAWD`XtBh9y96W%$v>CXAe1W9$`Il(9~m5={4J# z&tI=|_5UXJM#0jNeO;2~RFTbgv-cVrz52GeonL;(X~9=@YLE8Ml6igA<i#5g`Sz&~ zCmy~Q7ZosXcUgS#jSAaOsz;b3E@ujT-^#I-d)|etU(@3D<{x)`pSsRVw{lHgRI=Ab zUS(BTk-w!b|5|?3NBufsn#3jIdp=f2Si8gT7?<<3Qm-8`d%peY3xC&lz~>6f6CPXL z4)YV0O<&oh${U(xlyq+P><r-hXpnT#T0bpypW6BjUs)eb;SPFRuy#+%N6!@t>aIMu zGTk%(M?{PL@whWL_RqDx;+SR}RsQai_FIEBtrvP5rCk>skYHDg6rFg*CN!>Ta-x0d zn$|B;-#MQ3Kap?tJCm_vbJ2=dI)_wGnZJ1SS~4T%WrkWyw7|=y$vjR)zdAPDy;yBK zK}kINP=w#>vKdTX>m&Nloh~k3zU-%CW7P7u(vzAVN_00^)*Rj#xN%t@<9438nPE?g zH>*6m+0N=^S=S=_TB5wwe?s5gXV-7{eOb7ZW6}4lPd-=lgWo^8<FqiA>(^Y)f=}{~ zZg`t3m0Z^1`gl&we%76DeXS1W-*VK`4y9~8<+|xDi{6J!?eoX)Id_(Q=Z#syWDvAy z=7m${%M5Z)-kcmeJ>g&`b8_pHg7C>#XUAR<t;-LdRd&1P!{nP&+!lX+to6}9R`uTe zKTD6OF5KH}m%zT$jsMYogEcF@od_#v<lcU8i*(*z3nkgBtLJ%#FVW-i`<SFV<yf+` zka3Q(rwwD_^E-D1_8)k?uyF6cTbcI{dCu)!W4`HE{^X|jXA{cU%PP*L`%YrH)-yr< zRhiO@GmObo_J4?<cPp*`xv5-#=~}6(s?V4G?K}0tZF^>f2lt#;n_G8Cdcup%*OI2} zS`(jdaXj<H1HPyH8XhG_9bG>}A9B5TGFoHHo6O6W7o@^h^LtHMc6HJkhsLz*FCx!o zJBKjw{9T>)l=IdcOV3?rua-sW7lp)U{1fI=FZpYEe)=8O(+MVrSMSaf>aD%aShH=T z&?AF86HSBO@frTR%k)fce#xpgdlx@4nmdoHwY%lG(gimIeU&?#7NzyxiLvnH+jUjo zXRo-_%TIR8c|TqAx*4`Sw7xpk(@+0s{^C0`L>4W0{@rr5|AN>ZuJ+S5Pq_I>EKjJ+ z?)uu+gOSSLr&eZhEw%58`+i4{SNlDK<;q6ox1SW*zr~sEWMg~1yk}uUcj(8|v-1vQ z@ICyXATw<mpB7tLw!^nYn<t07v}EnAnZ%cve%5WVcaHM%pUoGyY(2C}sVH`x<<uEh zW_js`9M*lw^lZ+B`!73gW<}K~OwaHtOpcyb-8=i6#^>KNUR{#b&Jo(dRI~Ek+#i1z zvd@iKuwVHuC$rFo1z%I+*3Idc-kN=Da)A`T(c%T!;z#9HJ#)I6w)YOh%#zE(N{2VJ zu<}$VBz^TucPhAI7JH5FY}1RPt@bVlEMk@j*y}ZW?n{$f8M^PYY=_V3mbRu_*~!=J z-0n^}YpPuk%y?JB{#kL*r#7#(87mq~Wd!Als^3@6(=AaBG+FrF#dpeUo|(!#^HUs; zT-5zJ|Nb^z-V5t;UrwB>Hh03|51V=!uZF&DFPi^${Q;Ms&*w)sWcIv@4CkyDS(>ut zKuc!XL35Mpiv~J*Pmdp!S*d7wsxa@NOmljrdSS*Xhd<wv{ypC_Sw}`N<f8$P@zWQY z)3{1Xq%+o8$=>_$T5SEH6GfTEJ`JZH-^eaV$bb2L27A#Q#ShNkf1ir|=kvPY_w9v_ zwv`L?x0STN%@*gDPGh+mceO^l)RHej=9pyqtU^Vhk{xE;2REELx9X>luT+nCM-N|H zUL!+uoQ|p&&!6fuKcfVfX|KP2Sp39?DH|T;{B8L;XVZJG4KDMqof0q8NOM2k7nvBj z=JVx^2GMcphZM4AU#*e3?Zh^%dHe74=kHzkGyQ9MhIp%@`?o;B*Ke{nrv=U6YM)cc zaH=6Me)G@P_R89wGuq}WS?qiG%#dsSlU?QZy!v{2Z7)&`Tl6+RKmBHcPVj+Oa({n3 z`}rYp`p=Wr77P>SHty-adFjAw*N3`&&OH7OJ&_w%M$cccS?JE|%^zCQZ2mlPHc6{h zu;uVGez#I$b*g5W#PZJ0{W=HuV)i}u;Z1pD{*SZj+`OG4@n_l@&dU9g`2TGA{1=HP zq0c`%rseGo;pjc!sad0P)aljsJa@w_AuZGWg0y$PSNrgO_sMmy`D_l`m&F=?;P~HA z6c&BP^q19cwfTE~tb6Ug{`~y|=Q9L;J&KRp|Htl&_+!3{vt;f@fA~<($eq99k)-;< zvsD@<E3S$@+pm9Zs}vtw^t$URjvXFK3#GbZC1y!j*DF4}Ad);QCFF(GdV{~5r_b!W zKCR;?ucC37<hg`v%7^M%wzJ&kFIXR({$kRC)a6aFwt7J)jlY~caL{lQ&#YU8%VL&w zeX!lv@V@ZX4aGZIivESGnWm}LeCfR9BlGm{k;Rd^OqW)lUv;+TSR{XP?}r)tcdRix zBDOGvzka<@kjqBl=4&p6tDkb#H@tQ(T>M3qJO6~7*(~97%ll~sZ3(@__SZB{=czcY zDCyX4|IV3n{%@H@?2#oY`T;lW)ITScarJUEW#*pS^<w9#T~WV!zFk^!i1%rS0q+^R z)Sop=v;+gq7K_fXS<t}0FG8_n*^Z-CtUE4#)3~Mf;@Z~E6RhXv$-OrFVQj_z=-b)L zj1%84zI<zY=7(sL&r>WEP3*SCde0B?URQF<!@G5r41d70iHUVJTkqbD6#O`;%jf&` znpeG5n?&OlEOUE2ZKIz3*9{BLTzIj^KQZ=U?~grN_xg{{ar)o(d+~ZBm*b}|E}MSi z&Bx1ayDL~CIaK*l?U!d5%|Bc@SM1@DNq3J~UH&*Vbfsr&EN7`&Pt~6vudHu9D0rIo zVxMWszm}S&7ZwlwHB2~Go@p(g#C@sz>zZ5ZriPi_kI*eT?fpV1R_@Oe-anhU_C_aq z^(e*XOq1NX;NqJN)*Y_}S6}P6eY$FLQdFWE58vneI)aumyvaG$_f9C66wMTOTk=$0 z=E?-UrY&zYc6e~?YY9>k*B9F?q&Lm<P+LjF->5&vQ+W=nEC}Pht1jELx9RS&4rT8z zY?A`YBxHI6??omCR!zKaoXJ~Sd6+Z*)^)Sfaz^@z>g}&oF6}<o67|XJ^I`Qr8Z(mY z0%M{jrieMnnaz{(`8@Lq(`EI#M=f(3^cF=rOmpf;{Q4kx-(;sdx2zKN7JEuF#_^Vl zoV5OE82-J+TXXWa;J;rMpYV|WbomiW%8aD2VyFCnf@(4G-cz>cEnD8(WcJb4MY4Hu zP28OD)u-1*&%VB)+x%;R+c^ylrfmO}Z)e@JI~aLnWug7c1<|@i_f8njoy(u?b*DE% zY{e&W#;_&*`DY9#&%FC&XWF#FulAu|x;SSYcvw1jzSy0ES08i!mM>YpVy@fu#NTf! z|1CUWH+QX%;mU){tXr;qnDun)-bT*HC9AJ`WeZ4r=y|+z&c}w2OOij|vfvZo+@u}k zSme<)$?fG!|I07$dc6qOVLraTk7cjc$$Lj5%H3yH?eDv=->~DB;K?lo?Q_4G-7Csn z^3vnW#WfjK`5hZ4ZGQN@POr{>;UwA5KPKn%E2(-f^1iw8;xgUCN?Xh&6CE|Gm9Iuv zbT<@SPVV)VV7Yql`G&-}r{a3H40%1rKUeNCe>H7IT&~5NmdCo@CS?Mu>+Y({D0pk+ zgv1q@t&RV=_{sLA#iz>-Jos4VBYRnQYVB#pr#m(*o2m5X`s_NU*$vE+x9xn2Pi<c} z-_6`5_>0hyHKCTpdi)!E@12cSb&c;(v_0DSLst0NnveI^RZZrL_wAC^{dU(mJH#b- z8CRp)++MCN7v-0C)Vb}uQ1kJ*caKBl#A&AQI)p9@J~jyw&OiFG!TRO-9GOF!HD3R= zpI#`HZ76V4>H&iaPp(oUFYD!`uY%V$%u=4yr7B?}`>$us(~k;&WA;8Zde7;(?PtY- zxzml_uMfKwx3kLs#kY^g!uzu4PB`$ONIg*go`LX#YrPU{%@4J-7@gocDf>LU^lpK| zZO*z|%2`{Uuj&cBSe|Au*>=bGC@+)t8#e<*+8ewKi+Q^K^+xUeJn540iv0OChc5=M z`6&E$+pRB~<_T{(ck*_}UPFVHwU0kPR;aH%DRj|ENZ?43N%ide((EiBUaE3m-cj!3 zH!133G{f2ZFJ>sLG4NJwjgbA^Uuh|Bw@Ys0gcfm~f3A7rpWK%SJ-u*J?|z2f2iJD{ zjEjwj*mv)a?Jtjfwsm2h;V!EzjuSUms5y8XG~T(le#7?i`M=a1qhCE$k9Yq5<z$pZ z*#C1!%Qr6Adun-hy1%%Of4WS%__YM1RQKdlQ!AXsbLPzbZgwTdtAcy;D;xFs;?vf6 zDKWP^I<#xfgM$e(ENW6Gzizvcx8s1uja4h(EsrU6TH(8Dx1HL8%hP5*QaotLvnhS^ zWu@Ep2jb&1|GeMq#wF_1uQa(qarvV-$6rxvu1()@+vSq|`R6OnItTV-JOA-uJu<OD z=D~z>$N9h82`beYY`8JOB(Je7W5eWayb38dHf-q9Z+v}JC1PQ*$=xUN#;zW<J^Plq zJ`@gk^wmmz%dT&ENBC8?r|dC{6e*i1*R%U$_N%*Vl^+^Ay*+zA=Jbc&9gmKETWV4K zaFswVx8#IH2ZTaAGfa%QXXLR=Q{51=nzuak&mp~3;cponUv8;{Fuur`J0WeB<#Nks z9-144xZcIc?FhK}H>B%Kg<Tt$BCAUD>kMg$PMHevu2UPg{E>)NTlC=PGVbG-jxKo{ z^Eg}n6yJr~6<I&pXB+vfWNz!Y%<Aq|==A@rvnh}9@zpnPs^w=sP}%ly_y6ln*ZME4 z7Si?UwGs}z@Z>AI(aNe9Wxw3M3aJZf3F(y;+||+SKKWSOzg=1+X>(PS&Zp4Ghkw6b z{b#o{ylB^4mZLMmr~F=4{5hQcZTA_G$I35it{#lk4dL3l;!|5sNBR3nn+o)I3+1f! zo+Zbl{`%PIe~*h!&I{Oc{ia<0bfN!@;Vhz$wI6M0Y?XPGpi#JD!>bVfWec{vI1#NF z7IdcT(uAu&t)@R&xFUzgE-`+R(%VaSqBb7cuAXKfyU$I>-B{_(p^`(l-!}$J?OVVp z)~uBkFIc_$@#ci!3@v9Sz2`3q+LnB@iJx-%Y|NuOzFSu=xw(=3$4)i&CspwY)544k z6xf$coVsg`O^55#G%toze`+klRbFH{E=y^9*T%>EyZE4W-A=_C)|7*Loi6Os+URP< z()|3R=N+AfU`che$O$J|Jr_+-H1R9ABT&z{SuN{COTky6OQHc&rq~@_a@t^F>Ad$! zn-6*TzY1To-e57a5^vAucZSM43g$lCwde1P*X``dzOLSHGZ$2MW~}t6G2c2j-AYsX z)A|<enSZBoFR={U=>E;MPhwioq==<eA0lopIm2_@(p;hJ?z&A^Ii*i4ElDh|-I&kC zvwffW{Dtq%yYuupuZWs*{q?$)Qy+i)>#*wEti3*WJ{*}Z@_PBqB|ols3Nk&|bnoTO zg8v8iHrw5IK2z2%TKe|nT#j_+ju+Gamu&d1nzvN{ecjB!t_PE@98UU|eumXaaN1=j zUfG(nH{UE`n7dY7oxM6@Ps7LkflN1F#|oP8pN)IG?Wz5pSF#N)Zi)5tuI-yv632U~ zRP?Hp!0n9<|7X>ouv{j^{idn<vFy30N+0ei<sYtM=`Wi2Px!BJQ|Z#XZ}`@&Hz{<u zemi6C{D1F`9S&(}n=NWup*uJAVf9}Vt+|ii@N8AyTld~V%4h%Ibvsj+-{8#H*YJI5 zu5`G_DMOE}{JXmSHz&L38}`;HJmq4lo_wy;p-<fN$IoqX6K>95ow~l;El099Iws;? zTJQBqr76!}8I|iUFsWVsZ^iL7v-f7NGxS)^xB0)#E$O#!%S9Jw&)MeMn8#L{&8YmO zPF1VSyZ891Ws_>RpHI5`XPc`Q`$C<k8QvDDr?M31@dV|Fhqk{7a9SAhldG7=hr`*i z{Kk@ob0X_M{^C*5w3(vf*17ZKoR6<LCeNwKVa|S2!Mbf_M~~rR9!0H;8TS)Td30aX zlvA}+GGO0hxVdtx!i@JlzNW{dDz*8pUNYS$-^}-55(k&ljRkSPr%3I0W7*xJ-ZcO7 znqv0Ix1s%6ydE6u{Tk8_hU@&iId8$8PR0{TD{ctPd!2Pqt%5N|{l*G;e#ujuJ~f-y zwO!nGKkLQs3Z27$8Go8Z9j=PBF!zy5FsN|6{=GSh*?f|CY0rzQLPyTr%Sp4i*aKq4 zH}AMnS3N(?bcfrd$zDQ+d9&~8h(3wwO5gV0ny<@-<LJiFJB<IHOj=Ua-oT*2^*k!; z)z*l@Kl{$_3TieM-ns0L4$IQs%_=(@5|^J`dvdp`StrjAmv8H@WbD!M;GU|xy2_U4 z9=qQ9{O4NLD)li-W+sU4+nZ2eIH_CmX7_6D-J3FYhVXureX03!Lc-~_M|k-(j`$=U zHreKJPFwRZ`y`=<TUQ>76?mcG-C@M~B)fz|r}>}b@!Ra0bGiQ;7O05@9$NmEHS&2$ z<0Z*Q<_k<V{Ls+4`|DQkt8WeQmDj$l*nN19!+FV@W@~h{?566R=>Bv+KQ!0TOlQ~n zH94n`sXi9|B+@6=c+G!r)vJ~X`X3%yo(&fc2{_^>{2?*lQS)j5k6p8Glgr)K&Q7zq z$m%H*f6bjcqeRW&U)Fh^wq391)Ed}!uCdtopl{y7{>_ti=|1uA390zizxnr^k2lng zzEn=RJtrr^W^2acfWv`h8{9qbJUJ-8x%$KG9J4R8KYe<8cl)dVI|~+Co;ZJFmf0iQ zy}SRMZC?0THLN!=!oX*5Z=94y&C}_*hV?S04xBd{etfk)JMWIk9sN@u@`6|XxR`Tc zMiS5B^Uvklx!Yze`X9IOIoHPYboWfARrj{J1-qa7rud@WcU`Ym`8wgszBh|+1eGt| zx4@?Ov7SlGd|hAmMgBPpf{kB3Y1OUUP;P%?a)f^Kja0r3YKzv~byeM3%Ktd*+O_F^ zQfGwcuXt;^ersEvi1M<B_tzX^JM}wtt=<EN#At<_MOCG<C)Y-weZ6%eb9L@2IZmgK z?_V^oo48nY`<?FdYZn~Pn)z5uv*PGiKFd$6yBdUpG+nC_YVNlv<k$FTl}}x|x<f-D zciPK}GRq6c-WxBjuD-|aG|kKS<ncn|zM#oF)@*vwX_0NIe)z<42lj#)`zGG|DrH`# zaKvcE?u(%ZwKx3cVc**N?~TQO>z<6Y&*Z!JPkX&tjPrHw1EZ|ti$5&Qh}m#IX<d@c zhig?+r<ZO0G|8;u^=ey>KXVrHyPW^&?BP3ce|(Ym|JWeM8RwEG3aFTIJuNDF@NHvs z;+p0c-nN;KbD8Uv?u5*?e!}s)=JUy|S0?{wHT2khS&8fAOtJNBcYY|<+5Ve;+@8^M zk%oczF0MCU3^rY@n7>#1t;y9*x0@DS&Ghhna)jwS7hAQ-pG!02{B*;Exv%Iw-IuM& zvq-abA`5$s#?M)Y+NI9k*}!;vQlPfbq$!mg7fqI0U1`ix5@~;w@@mBj!RZ{+Pd#00 zS1sRIzrF90%@LQUZHkL#2$vSGyXJ6ig_gg^o2eGPW+qmiYKqx!f*w`YKX!iaq#O8> zZS(fCbN~1L*xAu5W&2Zk|GPEEJu5ZJH5|<@P3?^OQI{N8(EoLlo6cgk6Aye!b)Jg& zr?otN{wbjFimY$8`kmFu(mJgIsc&c8wU9gX|Eayo(VYiQoKm+Jm;d~;KgDZ@(yK+K zHDW(K9t+-<i3>?d)UaE)Y5x|N0tq>f&8zuZV|ZF$o?UtLbI!Dk*LUrI%raW5CO9Rr zsw8^%j6*6Cmzvm3n}Xy@oZ2oOO4_%lBGrzgQCGeBMD2?yKin%h*tV4!HrOiHE!>r} zS!)lA-@Xu)6YDv(SY`yT^GxD3VNC2OX{)k7W4<}~%q;h3?oHitrcBRu_W7u(d|Uqa z&O{xng~#XZYLR$+V$)g`oB7oS9Jl$nRxb>A@;2g$`0ARU6?Wgx1~$YsygDqzD1Ycu zm#dms{kNyZ-Xgn}&C&YNuTd5&+PROrut(&h^yhz0r|l9`_BqwCFs(jf&bVAkTfU`g zGLQ4$z>o87Q{K5<w#-a6dF~(Jc4NA3W$DJXg2&(epILI{wwnX%Y>C&_*1dajidt74 zw|4Xsj+kJPXWJ<5_hzF0?QYjsy6r3V_C(bmX?r!#U-$aUC4Q4iwmxLo7pwE=?DMk2 zrrx!#|8}q8X<H`|edpGjrO_!4@|x#w-ukGU`Hdyv(~`y%y8s4$XTRnkws~TSb6y{| z==T3np~CL2u6Xk6p?PltcAncet*d}P_u6`kx*wmTXMa{%+Lry>ZS#GjpJr^=PZa)+ z>ba|Nhrz77grnzi#LA@pUq{qW@0VtDWpm^Ay_HeFPb+oN*9e}|XSlfe>|~g1HU!=~ zQc|tHU9*k5e_H9rnW0}_teMleK=AoQ<A|E0TXKGXNRCuyiaNi^gK6g8MR!bf?_8R4 zQ(e83anco@GT8#}cQ?&hEyZ6uD|GrlQ}ubJJtN@8-gApvU+nEQ>zeEO@{7jIw9seT z9rYfozh3Tszb|tA^d#{&TT{;d^63pcw_)?t4(s)yxBgxYDmvf&z+QLNPVca5of$sw zUROU`P_bb<`}}vkANilMC4E2d{_1DvJiXuF_cv{tVJ>j>sOhwTEyw;gH&?G&sek?4 z)aMO*`aV9L@&6e2j5def9|BuS{&fUo@Ey%`ZS>im=X!tAdw=n}v*$JZIK~jFU@)y) zM~h7~)3znCa*C>L$7<W2X;*mC{;hDoqi{4xqTj#hxp4A6)qT5HUCeN_o6YiJNrv_k z>uY@)-^KIU9l5*Hn2eXG3KyQf!#t-xLq*y1(~+Y(i<+}ExzYm4XHQeg`&@QStfcVC z*%eHWw0~~gBm7gLZb?mDh0~eLD6azJNyoY7Ev(!q<RfF&*BxiY#&p@`%EI?O5)+$j zCZ7G*6=V^#?VP-6_r-2qufSftQy0?oSM&z<BwVrY=4?`3y3?1b&#C>^y=_-6`|B3l z^Tw|fzAB)(hd*EFNvm1>?^yzyHFnMWvhd9{ZA*m{tIPaKjMI&EEZyrgG!+!j*J=8{ z{-YF~_wSoIi`XuW8~;BFEn{?Zs9Ul0(BEqcdJ$ot=2>`g8_pJav$<=b{plprkl!Cv z)_b4&+4_rjqMlFNtKSO~{oXx0p?AW#{FGkOqn}Ohc0W3`;Py#LmZ*MdIp^XhFO~`4 zE$#EL4i~p>IxZ;qV%h2rufX)*pJxBi;pIF!_tLAfOC?qxeQh|MN|!j^5c@bSjn5<b zWYW>IenHtT<}+RT8$!Z<o@wp-<Qy9Od40?u#~;&YImhnM+`nL|%F;bLo0paJUpUhg z*|gVtQH0@|6Fb+L1RObZeAZl}M%UX#TiGOx?_7WWlj*K=r0dx@e&!z!CbD$@_{4O- z^>|{TB$J^<lS@oMq)NZ;+>aHGZ<fg(l3}v+Hk=Y-&YJvKy6MruoQ`(Q1yQ%fWyQB^ z_ni76<(K+?!iS1{`#)9um*2d(Z-1luK^CX2+!ni9<p+#^_M3g!>Q?TYUt24<`Rldw zSE_fm&Hmf5+pu8q{ygD=m<!59Iq@Mk{qOIwQkd)R@z6?B{3n<2?zNv@7RWDq`nv9m zsgUI_o?PoSyXUR$R!Vz(amqQ5f|Fan{#)E$D?ht;uK5y`(pc3EiZ}SSSpR50&V8rw z_ld<iM;(=q=Pj+9+Ss!=f7AJ{GKE$N!{vc*pQmh!Uc9n8F(Uf$A=B{C2O1XbhKlp+ zuI$OSo+lxx7_4={Z)cKHYKmsf+x~#)7grZ+JmU&pwN=3I#WIfUnE_6J84MRxEW9XO z<s4qT;mgH`-@j}Y-5AHdPQ~nD?(F3m+ADLP9KKyRZ_2r+O@D>Yu4MIdT=~7|t-kO* z!GpofRrU70foaD*V>#3GEEGkP-S}f7?UG+*^oazk>GyLKhE&Hgdbeb~uV5B9{CHvL z6zNrq=Q76dnl<10s_AYm;d0nl=G3}fp_6rQW-qV%d-&U8fp`BK-X4-p*ww075FM58 zd-IacC#hFYE_Vs$+q^63FX4OsB56|aGKuGv*S`PZepNo@WmoO8+GAXYI2Qcyy*pnw zE??<P-CuzvK|yuvkFfhOGcBk)_K(SnVf7I{p`G17cI#Z5t1Yfr)ZKmNR*meEi}!v# zo%Snemaw{2_+D<+dp{D7evE%2Embrv(S#@SXtvnphh>3_T^jx@U9w87;IGuX_+5$y zrxxj^P8IKLy`R&$;;CcH7f$7O?Zqiq7%j}>G?VW=)#Y%SEAe%MSaqT~qrwt}MGb*3 z=6T<{r6II<#=Pxy-!modl|=RmK9<b-y!*Y{-p7V!pQY<AK7Za4qap9g)}8yUE9dPV z?I<6?*8*MZy(|i^|ByMmJfi=k&X?3&%Seq&ynh|<IORqrZPv?;&*`@C$``19KJC{k zT_rQ0O@&8)KRU14*70%KfttK@m#ni7cf}@d-uqg1TT8$qhp%QTM|qxYp3t!~bII0) z0UeqrGA5r++!wb#OWf?Hky267qi6ELnbW6wZkxXSLfq0tKX<xXCcAr>Zog~)X|a8& zs7iXv-Z!dy6%5q056(=k4?S^tqiEeBevQU+5s$VXPQS5I&(OJP`RuJ;?ML1FEf0$J zTlnb3c)mN$5U-qKu<pP~`434~1h(~U{$2fIQRk{N0gDPxSC(<l)Y^GZkoin|;w4kR zPHsVOA+v+rH7D1JA2{b{FCw*P`2q$FpKiq_A2-{`7bjXwf3RPwyAyr2M$F)fis8?$ zPo+W6E-(JK`|-Vx7v<}IFZzFb_v7;8yK8ocm~?Y%#kg6YU22qk<iex03$J|6Z@GKy zz@9phsp;#w7pvwtc<z=h`Q<QOi%Z#OF-IoT4V?_pUovT3Q$_fuEmrW?RDXS-^1w<l z@s|lVIpi1G^qMG^UDz(*ama1yBEzMeC(kflN}0vucl-A|hv@<H+biZ2tY_(ud{WY| zMB$f$^0h_zwyumt-<>8%ygXdFQ}@x#y|Nx(ULCq0E4E=>N584b?rRKgij4K)5{uI^ z`>ZwMbS`|?`*-uI$LfO0sp{%y-&im5TwD2TdhC)5ipBm684LH=t#a9ZQ~A@KX~~{i z+<sOsI&x?CF5DO<B;Ol#?CC0n`PF}BD{lU@Yuz%AHj~HMEj4a`joOzMJ1yRBzAQiW z=cMDdoT1)wyDL^4`uL{jeb?;9{7uEBTK&&mm3{BGxlai=^1rNb`ISvBJokIQ6^X>E zd{5pLtGh;Y_tl<*+xFh(IPk2i!AWN6S+@x0N0#qpJUwFCYWZZ0l%<}l|A@#7PM$V3 zme*2X2}||Lz4<e~1%=pIZ|ZcM7h7HZ(MR##9oKVJR@3}<+ifuQ{E{3R{fV(TCP^Sn zYI^snoOi_^x7`-Ayq-A2c%ie{!!Ks<Oil0pTb5ciOSo7>=KdnbgpkuoJ0jac=GuN) zvnF-rp;ce3HFrfgpA;}kn{sv8w9l5>oY!ai=`NkUc*kEOmIl}6{LpTV%SR8ZH(Q2% zV%`}1QuD=<odJmk*&#(H9`1*?C%*o&OHZwCugAX^d!El&v6MrxuynDMyqV*?tc=P; z-4m-M@^~(~t@mUNY1$kRlOoa`YMsAuu3Dh?`u$>FqK^w)TBiLyZZ?IfG<dU?YMPt| zd(Pxn7WwgauD?0#rr44gEcmNj`C_#43AH!jr<6o8w%k`a$a~uMZLa0UK=Ipst~KA1 zzMnaBaN!wluJwn1_jUw7s1JFQxq{7S?++{cli{h~CWQ95Fds60nvw13IzLtZv`s_& z!iRk_izVjvoUZx&>}dHbuC}j<8WH=}Ts&tU=rE~Rpwe=R%-Qyqt?MS7a9Dg&(%XhX z_y6q<m;Fhzlz&L=J#+m{Q`^>@glT%4KPxTo?ba%8ws*TLt(f;>#R|2S<ExJE-aVQ3 z&C%|pPYYxES6zLXR~r`lhlk(&^5suE=E%OiUtRG2Uh{*R3ld7Kf=5jFW?CNVwfH3) zd^I_M;}4%0_kYH7T-z9@Ia>X7pR>*WZ{hU+AMFbYQ+K}H{9wUiJ}r?vXTEhQYnIPh z^D5%ZoN1pgCp_a{E-|;if>pA9$MTnlekXICcVcBa>iEfP?Wf?f&}kZWca2o5Su;(W z`5a%g$2>OP9%(0X^wZWC%O*XuDAx>)(_8lW>>2}Iv0W?~&aA(EI5$l_udQG#x!hPj zV*8?P&3=cMO5`2hJE^n&_dQLMC&F{hlGM~gTer`wdv@FE(xi4-Z(f0wo+<86U*viz zAM{B7Cz08Zy4uKgV#WIegDrl6ttXc~msos4%kf%fHkW?e(u8H~>YrkQR9Egk|0GD~ zW%Rerj=VYcYKp0Id)|MS>(z)6zAmZW;`q@-%A<VFTaAAU*4@zX3Ko}%>s0;!@oM>2 zk;4kdI8&bm+i<UZc6!!@^b;=MUc6rK@nPYy+^13o4L_nH&HqF<zRkHH$n<34?3rRu z8Mj{LxR`%#$?4bX$+oA$=EObmt<zd?PAA#%;;n7>b@xj@EP6cUyT#=>vr^{HKczQ0 z>+#zCxk5WOq?y#z&-jwlwBhFY){KN5tY6>kwVrV6@V>X7tV)9Z_1txxD!o~M@1&DU zV}&*q#I5mjEIa7)?9SRFJ16e>RrdbQ!9COOFPx+;t`lhVMn}+3=5rLAeZC>L8Y8nx z<F(8^UMEiVU3@yH`Np18)^E;gy*vG5vz1_ii+VwNthsr_1OJ-^@un+YeXDfYQt(q^ z+vGb(uIRQtKXl$@u9Bzhq1}5K_xA;@6q*#8FyG2oKUFTDfnD%P$Twr2jEH%sU%R}r zU-w{wk!oP5XH4XrXT4^VxPGx^N-R}+62;WFFzoi3(uG;i<>U5=?JZX4Wc$kZd5)&Y z#|C>5!>;uzdGqJLVB_5&*c&m?BEn_X>vft>H%0L)+Z<qYzda!@Cb_TX&7T#IBPzv8 zwG7iICdU|jztR-%ep61WQRC?@RUTL4Nf{ztZjzBEUHtBxGnZJzwX4tj8QvI{*%rH} z@cWFDEP+gEPZ&=(w8+g=u6<A`pl$t1zR$ME@8WU0d*=M-1KkRE_$IzSwA6fitiz4V zo6r9IscJA=-uX-JnT0dBe%?;MIo)0%is7jr)4f{8ul1VmtS7qM{HuJW-KwTI(|_j7 zV?AHpXSCWDvCFeRcb;q|x^IRNkD-t|i`;@6=VaN7v)rP({%NLd{cumsb#9VZLYkW4 zuD+PK5Bif%@0LxEnx4Y1s+gp3`lQX?wbH(|j&@w~C;$4t<Z~6s&73j2Gb$~);f-l1 zkHl2QB!RLxkqeopH16oV_50+urXcs(^jDknofR%5u}<WeY-JEL$>h-W-9Os1yXL;M zpM62i;g+S(6Q+Ny#%pDhWw$2U9Xe>yzEV-R^~bs+8++%<wx71#5P$VjT}weoWrE}O zK#z5Q-2~?QNhwS2VS3xQ#pm6>SvH=3CTm`BxXZ=<#j5LKcE9!s@u!t~J1lPh{dcu# zm)5khB^OSz*v{Yny~DXFAbzKW=NA4vZMAnR|J%Fs7u*y0@mTe*jQZT74}MFHIh!<o zJBLno*G=91Z=FTtWqJR&{dK{*Fa7^c*S@wr$Y{R5=IzN>o2+v*?VI}lZdtcgKDPGu z)DGDd?<LzEGz}j`K3NrZHORP=WsgO6!{5vX9X`q1Tch5c<L=5$ZI3NFeYD2?#5@0$ zNmJ#V)FaOwVtQ8LAt>?nS5aKgorGOo%6Cmm*PrE9Pp%U?WO*YiE%>ILxFVC)nXGD0 znQ3Ca>T|a+eXRK88GF`o&nu<Uj`+D#=HIYb^de_rfBD@<$7W2NUD`Td;q-Fuk9$=N z-2IiFNIvj?9ho8YY?sDIqZb|JH-wftN2$0ZU6nb%utxW(u`H7$--h#Z6IS{hTmLBT z#@Rf}Em?-ipZcDCkE&w1dujS6mVdh6rn$*_x<v8cop8QUGXD2UmB)|bf-*O2oZm9_ z@10EUBiw=Veg2Nx&LX$ZM6wmyo&4Y9=oazrw1;EB+O!$MLRaHf^(z`&ZvTE$aPvfM zU#BA#?9-avG`^<0i%(h0ue@PG4_B_f;11ilSyhEoL}c2eUY5`Q{zN)%{`t(iTl%B4 z=YQ@|cdh+eJnz?TukVlUm3y*YEIlacS+`42v}0LEXXyUi)ffDhe9mdTlKgCgZQ1t2 z6HoehNgUjl;BJt{=D2KT0aKIb*Un4&7OG7d2du3_ADd+?`}o^2XokcU!Pxg1y~~5W zFDIVK6*ANmpO!oKM9#sw?MEDX-=5cQaxY&botrX!W|7T5u3-J$8(w~}i=MdjuM@-j zSf6zgYkAfh#9Wd4>7!e*z9OVvJ52Pm)#gp}!n#?b8z;tjh9vSE-#h#Hv|(z+dv>?E zSIobE`~E9;W3J*_#%)_8FU(<1|Cw%*dEma{yZ)Frs(0>|Cn`p!I%%<g73gu>VcTI4 zwKsmEPVzLvMW;Wwf4g~}EoxC|GVfO|9+B#z&XZ~<XM~7}Ke@=##NqLOhvwJ7AMd`L z_m2}?ZXBC^rTF!QnKAJJn;82heM!8peDUQ!)>r<2XJi;e*auG7y+hV*h22l{hY1^a z_@{6Q%5p5NdldBQnbJ$c!>X6+M9x2Kn8Iz_rTWTYrcP19o9Qdeo_RJY9pvmeP(3kq z{?)1$bykjlsjfe_JZ$2)zM!m8gzwklhhLNu=48s$Z#sT5wcY9m^VfWZ{Q^4*Z&j7e zkY0S~*oQ6er0*GDv){Gz@J@$gK51<w2Q8BBDi;)R-eFGT-x?@1xAB>%O~<E5b+?#% zha%MG_&M~ZZVk9(-E>5sM||I$#g**K_Ls(A5?x?i@b#PTI>z5!tbC7!w&n*nT{Haq zX>RDm^Y4%R_E_%mAy8<N|L?re&}9Y_W}SR*Caxy&ZngL9h7BfD-Zwi%ir(hY%CoI% zPt@5{xn@c|n+$J=!KHhh^QP?!O=wxMr}F<1Q~8O9X7YrxxZeF{lzG_Vw(NfQM|bbt z(T-zCn4D$f^#Afh4;70CCnr3*pK)Pf^3**XFReDJ|1P{Wopl0-g^b8zhwFP&eE3w{ z7RLHq56r!0s(nSrv-KnMS?4uQ;a9HKsT?_S-ypQNbxKOv&gBQT1kR~0PnaRoyKBae zdkc)7T!_l*7Px3G?6&Z+*b+I%Rnzt!EZLQ}+i;b^uEc8+A2#$pD#*<bn5a0nXu9`P zw;3TC=eJ$!Xx^$dd3MJ;-t}!$8<#A1cr#gD)Qfq^GDgmwa>25{Yq_pRvAc-5njdq2 z%K2+Uq|lQJ%WH4X25<eae~Wlh#B|Zb{X$yR0=pFUh-`{HI%~6?#NVb#-*>1?Z0Hg+ z{$g9uv^Xh6GGvLNmZQw22{HzER6bs9x?0xMwP6)EyVac71rkR;9-ML~f8#U>o*wa8 z>7PHfOqsQ$aE0}(i*t<+`*NLo%O*X|-b%cE_T(g2r%eum{cE_l%=!Fk%N#y|)!P&{ zRCCU=x%*^>{9=K5!kznA%${bO8HFv4e#xtT^V{pI3H*Cbtrk6__LS$*>#q49r*3WS zNw3$xy0`DeG24Q5Iy#Le`t!d$`YCg8eXE1=voKGg^EYqG*Dc~Xf7|9_+P_z)`V&1G zQ{V6%+WyHc;#}Uho2!4bWcRonOqiEkXz`CnozweakM+_t?N7Il*T`iHTJH01T^=I8 zV(x|WJj)H{i+|lxaL?k&CKvVX*JPRO`DJac#J^m-(q8t#<_~OgQIlfdOib)}x7S^F z{?eFzI+j-({^ot3H2Gn&>G2=;x7%ENFE~d~i}&*Mu*yV1#Vef?*DYgtcJGj=)v~tZ zD|aXu*5<1IJIli5JfUOG+edbVVmAx6yK<XmOgy}I)vlvgU-i55H}Kd=z2)DeuAs>j z`~UGp+nSR9f$pFF2(V4h@_TrrE;v*^tMDMlEKb|qvPK&gaSKm4fB9o??QA}|x3+uy z^FluteO&nTwr1J-J992yKOOsbXEf9KxGTFW%%>EudAYj1|J~jChR}r-(R1}L_C7Jy z%H|bin_PRb)j5;l>ZW6Bw)T{i2d%w+^`~Cs4Ze+L37gJo{0!O0VHP%nKV)g{v(_aF zf%Uu(Pyf8D@SF7@$MR_l7ROAsTF3aw!;Syyvt?{O4*X2KOOI}lt!Y_gcH;4mFSjQ@ zVA{-Lnf9*q!^_P1r%YUT<h?vBTV0^?%5(kAPmDVE=Xo@i9828Ke_`ecr=ZmveqLQz zvC%R<r2DD5?+cNtiA$EG7d;Z$Va8wH=vVhD>&&)m4=kK)GL!akw#<vY!;zMGz`kR# ziw##@*+Kip*B6Ui{=6`EHp|^9w8LQ5f|vXeNm_Pp6BM3ACjUBr?+<VB)G)PKOh0D) z>R9*ePpiS_ChwW0y8~K&EpxT7yZdvF;ZK#4w08{Ft7pA>&$?Py;4n+`g@Wh14)WhQ z(X7oF=MWZJ!)o|_){_rv*1}n0#cn6FCKz<deT*&byyCLHNc&q>a#nP}&Be!--{RjT z*U{eAen+*sXw4ck%O9IN67%BCciC6+KFWD&5wgSl>71PXGP)8!xSyYveO49zZC+f; z?(|139xvy-2%7a|byUzqS({hp1px)QbAGy+bsjscA;)yz=A+)>>`Qyi9$HP^^l-PP zruCurOquQ1r9WL%`ZxEOnA!_1zXPuoq<H4~J~G}W{_)73uf{*@R!^CoYxn%!@$>9q znlB?gI2sNYdVO*Jl=|9cf5U60iWmO2_OTjE3vRG|QT5?{dG*%3?KRPy@2A(@uF$*x z>2`^sm0Z2jv3?%+gR5WVKG~6TGVA5s^rY!O(kIvzZ&piWT^yoma55)mqThYaoi#;2 zzRWt`F{^BSp5>}ZZ#L^5zxZm}1@}tvj0+ouItp2?=e+;ju2r1=S7hb%P7|xxbLJ8k zOzvL!6ThPGpX)@)B{n^ug-tDVc<;1sJ~`+Af*0@KRkrR6zRJ2m>WBC)tB3nVgq`Xa z#!vaPHS)8(M%O80g_eK`tA%Dx_*>ARI%5v=_m2yAEV=bCeo9jIA7&}Ra`zdhd98k5 zIbFF^?7rO%e?jw29O14Uoyqn0JUwrn^H7U4S<hTn={Hwe>dSwBuSsVFo7Y>LyyC4< zP1a6vc*M=S&p>X6DEoJw^kSLHm^~_<(*N$RiN51_s3tpd##)2Vwm${*#A>D4ZMQ^! zDY$oxvoF;4hLQioXs^3-_^xrj%@K>v%3c5diONcYkgE$@7D(K=*!IoxN9|tT`CGsI zaC_^)eP+c6uj}3{b6%#mSWc^%u=l9{z4X7@Wm2!h@5UXz$?>)1{hgO?x6hoPwsU8o z+fVDe21{6U4zT{7@O)jRM0U%;IeQKZ8VfN>UR>Ip@K{VlK=@bB{wtjMp|!h~{0U~2 zd8WBj*75F#AA6iwk4f>R@0-QwuCR$O`{&i>2WIak*ex`g(RNZ`*DK4=<DJ!we;VF& ztx_!sI`wLmQ3=~S=Qr-D?=Jgw7w%Kh+^V+l;pL^3Jll_I9=XW-LG#*v1Nr<k&6o*H znzDWxe}DWm`f>W-YqpnK-0>2R9vZ7~?l8G^E5UEV9{!NTwqn=&(kxcD0*#+I&npzu z+jCow>zcx(26gGvdA$?aTq??YCkxD+I*q@!E_Pmi#k0afD{G6?7q-3oE<6fJh)$d! zd%-VT$MFis1*wnxS0tUyW>ti*k$LR3{6)p3TP$BAUSu3UZaXK>i>v>Zj@OP)rjwj| zr*>p@<eNV5yDxlW*Ll<a@3(y13>I0P+^PGM+iDG8@rTdv?jC+HS7Y|cO7A(LpKoe6 zd48EKG=EpatPjEOwVd*QWyh`CShc?M<9p^Vi|P!CP5&QX)jH1hGX8I^gzLYANn9F@ z|35HS_r|PaNqRkh-K#KxjPLWFa#WqJzqMO4#H3!yQ0dq9y;uM6h~~X9sO4VuS~JJ- zkFkyZ>-UM?YffdFtiAeV`T=g6Wg(wq>~@>qa&FyP*K+HPkc5DzeLtgN$%)9`6F=%4 zmQT~x38~Z3i0Ih+$Z*p%zvMjW^r(eVjUBRc<X4zpakx2g|1py@E@c%H@=jcOF0k%d zp^#{L0L$4aQhy)vXB{(3Gy84#f8Vidg;Q4ij`udO%vLW@*qaxA$JTAJ;H19KLOYxm zxH@cp*uwa@!RPXX+t)HBKg2fh<<7YDZp{yt&+PXVq<q%z{?57TQdIWF{E3g1+hP`L zPFTj;d)>hGf~yAS7LI=p9`Y+sH;y~9ul!SO=p3bYce;3GDvqDqbX<Sltf+3^?oC&= zX?S>axi&~G2<eWv>uIUa!XPwp>xIj+H18jH!qW5d46E^_(AMUl8L~fQw4GP&T(q0l z+<)s1mw%_fu9HjckDYF4W^C`czHrm=5RY}MIRkRna0j0Z6tLqjpHj<i{;+F}+x~zz z_N_Ko&N<s`IlP9Q@l24xL$0vuWAC^v;_7S{grzQek>$FDpXu97=buxbB%XhEYn`8X zt({Yc(XKX?TQaPEz0K3!SWmn2mnGIe=DS`|$<DMFwkoeLe4CtA$doc~LGF2-)9fXS z#qu5Ay*ThDdB%+-7wbpAvvdoMPY5;CaEo89Y>RUH*duX(ZSI;+p)0j}&C+8cC2iQt zKZW={w`?sFe}2I3q2$TGL8pv9T`4@$lyKmH%gGg)Tb8VBV@y6G?ENHZru0t9^U4!e z3QF>x{KMAHBHlcAPUGtDf;*RQs5KWpb9DFb(^;D$Yc<LOx9Nr-)&Kg=_2<Gne+w-a zFO|qT^XEcay)-vZq0L-Bk$s-gaWw%gElT@3_eeZ_UZnmp-=%1wZO6$Od;E5&UY@|Y zv}?~{k)N*nmN-bw?n@B7y5ZfT&7U{#*?MQ=ChkdA1?OuwuI<u4bUpsZ=_6$^Dhy&r zFU21FC408#OY3oodnxwyiatWMPNoOWxXRx9wYT^EbA#wi8M$Elu33>`&z!xZKXgA} zZ2tH2iA~(4z{8*R-sb=Ioi8tW3$s?@_lLK#Z@X@p^y|Ek%bL6E_f<KZF*p0zlBD|Y zsj2Kb&Z0R64_P-hb*#9(dvE>w)$8}a`&_nb>k5mF;{8UlOJ<u$OXYT#?Aej{&wMer Kq_~bd3j+WT<$W>$ literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/jquery/jquery.js b/static/admin/js/vendor/jquery/jquery.js new file mode 100644 index 0000000..773ad95 --- /dev/null +++ b/static/admin/js/vendor/jquery/jquery.js @@ -0,0 +1,10598 @@ +/*! + * jQuery JavaScript Library v3.4.1 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2019-05-01T21:04Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var document = window.document; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML <object> elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + return typeof obj === "function" && typeof obj.nodeType !== "number"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + + + + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; + + function DOMEval( code, node, doc ) { + doc = doc || document; + + var i, val, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[ i ] || node.getAttribute && node.getAttribute( i ); + if ( val ) { + script.setAttribute( i, val ); + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.4.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // 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 = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + copy = options[ name ]; + + // Prevent Object.prototype pollution + // Prevent never-ending loop + if ( name === "__proto__" || target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; + + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; + } else { + clone = src; + } + copyIsArray = false; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a global context + globalEval: function( code, options ) { + DOMEval( code, { nonce: options && options.nonce } ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + 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 || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.4 + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://js.foundation/ + * + * Date: 2019-04-08 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + nonnativeSelectorCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = 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 ) { + return i; + } + } + return -1; + }, + + 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])+", + + // 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 + + "*\\]", + + 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" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + rdescend = new RegExp( whitespace + "|>" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "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" ), + "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" ) + }, + + rhtml = /HTML$/i, + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // 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 : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + inDisabledFieldset = addCombinator( + function( elem ) { + return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + 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) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + 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 )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !nonnativeSelectorCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) && + + // Support: IE 8 only + // Exclude object elements + (nodeType !== 1 || context.nodeName.toLowerCase() !== "object") ) { + + newSelector = selector; + newContext = context; + + // qSA considers elements outside a scoping root when evaluating child or + // 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. + // Thanks to Andrew Dupont for this technique. + if ( nodeType === 1 && rdescend.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) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + nonnativeSelectorCache( selector, true ); + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +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; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + inDisabledFieldset( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + 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]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + var namespace = elem.namespaceURI, + docElem = (elem.ownerDocument || elem).documentElement; + + // Support: IE <=8 + // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes + // https://bugs.jquery.com/ticket/4833 + return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( preferredDoc !== document && + (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( el ) { + el.className = "i"; + 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: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // 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 ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID filter and find + if ( support.getById ) { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + 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 ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + 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 ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( (elem = elems[i++]) ) { + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + 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++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( el ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" + + "<select id='" + expando + "-\r\\' msallowcapture=''>" + + "<option selected=''></option></select>"; + + // Support: IE8, Opera 11-12.16 + // 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 ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + 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("~="); + } + + // 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"); + } + + // 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(".#.+[+~]"); + } + }); + + assert(function( el ) { + el.innerHTML = "<a href='' disabled='disabled'></a>" + + "<select disabled='disabled'><option/></select>"; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + 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 ) { + 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 ) { + 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 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( el ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // 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("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!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) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + if ( support.matchesSelector && documentIsHTML && + !nonnativeSelectorCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( 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 ) { + return ret; + } + } catch (e) { + nonnativeSelectorCache( expr, true ); + } + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + 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 ) { + 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 ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + 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 ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + 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 ); + + 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) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + 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" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + 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 )) && + // advance to the next closing parenthesis + (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 ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + 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") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = 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 ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // 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()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "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 + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + 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] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + 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); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "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 + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // 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 || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.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 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "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); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // 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.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? + argument + length : + argument > length ? + length : + argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "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"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + 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 ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } 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 ]); + } 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 )) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + 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, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // 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 ( 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]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + 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 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + 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) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (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) ]; + } else { + 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 ] ) { + 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 === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + 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), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + 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 ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + 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] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +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) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + 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 ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + 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 is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +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 ) { + // Should return 1, but returns 4 (following) + 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 ) { + el.innerHTML = "<a href='#'></a>"; + 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 ) { + el.innerHTML = "<input/>"; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +}) ) { + 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; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +}; +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( typeof elem.contentDocument !== "undefined" ) { + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + 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 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var documentElement = document.documentElement; + + + + var isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ); + }, + composed = { composed: true }; + + // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only + // Check attachment across shadow DOM boundaries when possible (gh-3504) + // Support: iOS 10.0-10.2 only + // Early iOS 10 versions support `attachShadow` but not `getRootNode`, + // leading to errors. We need to check for `getRootNode`. + if ( documentElement.getRootNode ) { + isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ) || + elem.getRootNode( composed ) === elem.ownerDocument; + }; + } +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + isAttached( elem ) && + + 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 ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = elem.nodeType && + ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE <=9 only + option: [ 1, "<select multiple='multiple'>", "</select>" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting <tbody> or other required elements. + thead: [ 1, "<table>", "</table>" ], + col: [ 2, "<table><colgroup>", "</colgroup></table>" ], + tr: [ 2, "<table><tbody>", "</tbody></table>" ], + td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], + + _default: [ 0, "", "" ] +}; + +// Support: IE <=9 only +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, attached, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + attached = isAttached( elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( attached ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +( 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 = "<textarea>x</textarea>"; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 - 11+ +// focus() and blur() are asynchronous, except when they are no-op. +// So expect focus to be synchronous when the element is already active, +// and blur to be synchronous when the element is not already active. +// (focus and blur are always synchronous in other supported browsers, +// this just defines when we can count on it). +function expectSync( elem, type ) { + return ( elem === safeActiveElement() ) === ( type === "focus" ); +} + +// Support: IE <=9 only +// Accessing document.activeElement can throw unexpectedly +// https://bugs.jquery.com/ticket/13393 +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + 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 ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + 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 ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // If the event is namespaced, then each handler is only invoked if it is + // specially universal or its namespaces are a superset of the event's. + if ( !event.rnamespace || handleObj.namespace === false || + event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG <use> instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + + // Utilize native event to ensure correct state for checkable inputs + setup: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Claim the first handler + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + // dataPriv.set( el, "click", ... ) + leverageNative( el, "click", returnTrue ); + } + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Force setup before triggering a click + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + leverageNative( el, "click" ); + } + + // Return non-false to allow normal event-path propagation + return true; + }, + + // For cross-browser consistency, suppress native .click() on links + // Also prevent it if we're currently inside a leveraged native-event stack + _default: function( event ) { + var target = event.target; + return rcheckableType.test( target.type ) && + target.click && nodeName( target, "input" ) && + dataPriv.get( target, "click" ) || + nodeName( target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +// Ensure the presence of an event listener that handles manually-triggered +// synthetic events by interrupting progress until reinvoked in response to +// *native* events that it fires directly, ensuring that state changes have +// already occurred before other listeners are invoked. +function leverageNative( el, type, expectSync ) { + + // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add + if ( !expectSync ) { + if ( dataPriv.get( el, type ) === undefined ) { + jQuery.event.add( el, type, returnTrue ); + } + return; + } + + // Register the controller as a special universal handler for all event namespaces + dataPriv.set( el, type, false ); + jQuery.event.add( el, type, { + namespace: false, + handler: function( event ) { + var notAsync, result, + saved = dataPriv.get( this, type ); + + if ( ( event.isTrigger & 1 ) && this[ type ] ) { + + // Interrupt processing of the outer synthetic .trigger()ed event + // Saved data should be false in such cases, but might be a leftover capture object + // from an async native handler (gh-4350) + if ( !saved.length ) { + + // Store arguments for use when handling the inner native event + // There will always be at least one argument (an event object), so this array + // will not be confused with a leftover capture object. + saved = slice.call( arguments ); + dataPriv.set( this, type, saved ); + + // Trigger the native event and capture its result + // Support: IE <=9 - 11+ + // focus() and blur() are asynchronous + notAsync = expectSync( this, type ); + this[ type ](); + result = dataPriv.get( this, type ); + if ( saved !== result || notAsync ) { + dataPriv.set( this, type, false ); + } else { + result = {}; + } + if ( saved !== result ) { + + // Cancel the outer synthetic event + event.stopImmediatePropagation(); + event.preventDefault(); + return result.value; + } + + // If this is an inner synthetic event for an event with a bubbling surrogate + // (focus or blur), assume that the surrogate already propagated from triggering the + // native event and prevent that from happening again here. + // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the + // bubbling surrogate propagates *after* the non-bubbling base), but that seems + // less bad than duplication. + } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { + event.stopPropagation(); + } + + // If this is a native event triggered above, everything is now in order + // Fire an inner synthetic event with the original arguments + } else if ( saved.length ) { + + // ...and capture the result + dataPriv.set( this, type, { + value: jQuery.event.trigger( + + // Support: IE <=9 - 11+ + // Extend with the prototype to reset the above stopImmediatePropagation() + jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), + saved.slice( 1 ), + this + ) + } ); + + // Abort handling of the native event + event.stopImmediatePropagation(); + } + } + } ); +} + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + code: true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { + jQuery.event.special[ type ] = { + + // Utilize native event if possible so blur/focus sequence is correct + setup: function() { + + // Claim the first handler + // dataPriv.set( this, "focus", ... ) + // dataPriv.set( this, "blur", ... ) + leverageNative( this, type, expectSync ); + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function() { + + // Force setup before trigger + leverageNative( this, type ); + + // Return non-false to allow normal event-path propagation + return true; + }, + + delegateType: delegateType + }; +} ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +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/ + rnoInnerhtml = /<script|<style|<link/i, + + // checked="checked" or checked + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; + + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl && !node.noModule ) { + jQuery._evalUrl( node.src, { + nonce: node.nonce || node.getAttribute( "nonce" ) + } ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && isAttached( node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1></$2>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = isAttached( elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + // Support: Chrome <=64 + // Don't get tricked when zoom affects offsetWidth (gh-4029) + div.style.position = "absolute"; + scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !isAttached( elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style, + vendorProps = {}; + +// Return a vendor-prefixed property or undefined +function vendorPropName( name ) { + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a potentially-mapped jQuery.cssProps or vendor prefixed property +function finalPropName( name ) { + var final = jQuery.cssProps[ name ] || vendorProps[ name ]; + + if ( final ) { + return final; + } + if ( name in emptyStyle ) { + return name; + } + return vendorProps[ name ] = vendorPropName( name ) || name; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }; + +function setPositiveNumber( elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + if ( box === "margin" ) { + delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + + // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter + // Use an explicit zero to avoid NaN (gh-3964) + ) ) || 0; + } + + return delta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). + // Fake content-box until we know it's needed to know the true value. + boxSizingNeeded = !support.boxSizingReliable() || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox, + + val = curCSS( elem, dimension, styles ), + offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + + // 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 + if ( ( !support.boxSizingReliable() && isBorderBox || + val === "auto" || + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && + elem.getClientRects().length ) { + + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Where available, offsetWidth/offsetHeight approximate border box dimensions. + // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the + // retrieved value as a content box dimension. + valueIsBorderBox = offsetProp in elem; + if ( valueIsBorderBox ) { + val = elem[ offsetProp ]; + } + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "gridArea": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnStart": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowStart": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append + // "px" to a few hardcoded values. + if ( type === "number" && !isCustomProp ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + + // Only read styles.position if the test has a chance to fail + // to avoid forcing a reflow. + scrollboxSizeBuggy = !support.scrollboxSize() && + styles.position === "absolute", + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) + boxSizingNeeded = scrollboxSizeBuggy || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra ? + boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ) : + 0; + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && scrollboxSizeBuggy ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && ( + jQuery.cssHooks[ tween.prop ] || + tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +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" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return 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 ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( isValidValue ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = classesToArray( value ); + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +support.focusin = "onfocusin" in window; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = Date.now(); + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + if ( a == null ) { + return ""; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() + " " ] = + ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) + .concat( match[ 2 ] ); + } + } + match = responseHeaders[ key.toLowerCase() + " " ]; + } + return match == null ? null : match.join( ", " ); + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + + +jQuery._evalUrl = function( url, options ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + + // Only evaluate the response if it is successful (gh-4126) + // dataFilter is not invoked for failure responses, so using it instead + // of the default converter is kludgy but it works. + converters: { + "text script": function() {} + }, + dataFilter: function( response ) { + jQuery.globalEval( response, options ); + } + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain or forced-by-attrs requests + if ( s.crossDomain || s.scriptAttrs ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( "<script>" ) + .attr( s.scriptAttrs || {} ) + .prop( { charset: s.scriptCharset, src: s.url } ) + .on( "load error", callback = function( evt ) { + script.remove(); + callback = null; + if ( evt ) { + complete( evt.type === "error" ? 404 : 200, evt.type ); + } + } ); + + // Use native DOM manipulation to avoid our domManip AJAX trickery + document.head.appendChild( script[ 0 ] ); + }, + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +var oldCallbacks = [], + rjsonp = /(=)\?(?=&|$)|\?\?/; + +// Default jsonp settings +jQuery.ajaxSetup( { + jsonp: "callback", + jsonpCallback: function() { + var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) ); + this[ callback ] = true; + return callback; + } +} ); + +// Detect, normalize options and install callbacks for jsonp requests +jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { + + var callbackName, overwritten, responseContainer, + jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? + "url" : + typeof s.data === "string" && + ( s.contentType || "" ) + .indexOf( "application/x-www-form-urlencoded" ) === 0 && + rjsonp.test( s.data ) && "data" + ); + + // Handle iff the expected data type is "jsonp" or we have a parameter to set + if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { + + // Get callback name, remembering preexisting value associated with it + callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ? + s.jsonpCallback() : + s.jsonpCallback; + + // Insert callback into url or form data + if ( jsonProp ) { + s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); + } else if ( s.jsonp !== false ) { + s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; + } + + // Use data converter to retrieve json after script execution + s.converters[ "script json" ] = function() { + if ( !responseContainer ) { + jQuery.error( callbackName + " was not called" ); + } + return responseContainer[ 0 ]; + }; + + // Force json dataType + s.dataTypes[ 0 ] = "json"; + + // Install callback + overwritten = window[ callbackName ]; + window[ callbackName ] = function() { + responseContainer = arguments; + }; + + // Clean-up function (fires after converters) + jqXHR.always( function() { + + // If previous value didn't exist - remove it + if ( overwritten === undefined ) { + jQuery( window ).removeProp( callbackName ); + + // Otherwise restore preexisting value + } else { + window[ callbackName ] = overwritten; + } + + // Save back as free + if ( s[ callbackName ] ) { + + // Make sure that re-using the options doesn't screw things around + s.jsonpCallback = originalSettings.jsonpCallback; + + // Save the callback name for future use + oldCallbacks.push( callbackName ); + } + + // Call if it was a function and we have a response + if ( responseContainer && isFunction( overwritten ) ) { + overwritten( responseContainer[ 0 ] ); + } + + responseContainer = overwritten = undefined; + } ); + + // Delegate to script + return "script"; + } +} ); + + + + +// Support: Safari 8 only +// In Safari 8 documents created via document.implementation.createHTMLDocument +// collapse sibling forms: the second one becomes a child of the first one. +// Because of that, this security measure has to be disabled in Safari 8. +// https://bugs.webkit.org/show_bug.cgi?id=137337 +support.createHTMLDocument = ( function() { + var body = document.implementation.createHTMLDocument( "" ).body; + body.innerHTML = "<form></form><form></form>"; + return body.childNodes.length === 2; +} )(); + + +// Argument "data" should be string of html +// context (optional): If specified, the fragment will be created in this context, +// defaults to document +// keepScripts (optional): If true, will include scripts passed in the html string +jQuery.parseHTML = function( data, context, keepScripts ) { + if ( typeof data !== "string" ) { + return []; + } + if ( typeof context === "boolean" ) { + keepScripts = context; + context = false; + } + + var base, parsed, scripts; + + if ( !context ) { + + // Stop scripts or inline event handlers from being executed immediately + // by using document.implementation + if ( support.createHTMLDocument ) { + context = document.implementation.createHTMLDocument( "" ); + + // Set the base href for the created document + // so any parsed elements with URLs + // are based on the document's URL (gh-2965) + base = context.createElement( "base" ); + base.href = document.location.href; + context.head.appendChild( base ); + } else { + context = document; + } + } + + parsed = rsingleTag.exec( data ); + scripts = !keepScripts && []; + + // Single tag + if ( parsed ) { + return [ context.createElement( parsed[ 1 ] ) ]; + } + + parsed = buildFragment( [ data ], context, scripts ); + + if ( scripts && scripts.length ) { + jQuery( scripts ).remove(); + } + + return jQuery.merge( [], parsed.childNodes ); +}; + + +/** + * Load a url into a page + */ +jQuery.fn.load = function( url, params, callback ) { + var selector, type, response, + self = this, + off = url.indexOf( " " ); + + if ( off > -1 ) { + selector = stripAndCollapse( url.slice( off ) ); + url = url.slice( 0, off ); + } + + // If it's a function + if ( isFunction( params ) ) { + + // We assume that it's the callback + callback = params; + params = undefined; + + // Otherwise, build a param string + } else if ( params && typeof params === "object" ) { + type = "POST"; + } + + // If we have elements to modify, make the request + if ( self.length > 0 ) { + jQuery.ajax( { + url: url, + + // If "type" variable is undefined, then "GET" method will be used. + // Make value of this field explicit since + // user can override it through ajaxSetup method + type: type || "GET", + dataType: "html", + data: params + } ).done( function( responseText ) { + + // Save response for use in complete callback + response = arguments; + + self.html( selector ? + + // If a selector was specified, locate the right elements in a dummy div + // Exclude scripts to avoid IE 'Permission Denied' errors + jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) : + + // Otherwise use the full result + responseText ); + + // If the request succeeds, this function gets "data", "status", "jqXHR" + // but they are ignored because response was set above. + // If it fails, this function gets "jqXHR", "status", "error" + } ).always( callback && function( jqXHR, status ) { + self.each( function() { + callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] ); + } ); + } ); + } + + return this; +}; + + + + +// 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; + } ).length; +}; + + + + +jQuery.offset = { + setOffset: function( elem, options, i ) { + var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, + position = jQuery.css( elem, "position" ), + curElem = jQuery( elem ), + props = {}; + + // Set position first, in-case top/left are set even on static elem + if ( position === "static" ) { + elem.style.position = "relative"; + } + + curOffset = curElem.offset(); + curCSSTop = jQuery.css( elem, "top" ); + curCSSLeft = jQuery.css( elem, "left" ); + calculatePosition = ( position === "absolute" || position === "fixed" ) && + ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1; + + // Need to be able to calculate position if either + // top or left is auto and position is either absolute or fixed + if ( calculatePosition ) { + curPosition = curElem.position(); + curTop = curPosition.top; + curLeft = curPosition.left; + + } else { + curTop = parseFloat( curCSSTop ) || 0; + curLeft = parseFloat( curCSSLeft ) || 0; + } + + if ( isFunction( options ) ) { + + // Use jQuery.extend here to allow modification of coordinates argument (gh-1848) + options = options.call( elem, i, jQuery.extend( {}, curOffset ) ); + } + + if ( options.top != null ) { + props.top = ( options.top - curOffset.top ) + curTop; + } + if ( options.left != null ) { + props.left = ( options.left - curOffset.left ) + curLeft; + } + + if ( "using" in options ) { + options.using.call( elem, props ); + + } else { + curElem.css( props ); + } + } +}; + +jQuery.fn.extend( { + + // offset() relates an element's border box to the document origin + offset: function( options ) { + + // Preserve chaining for setter + if ( arguments.length ) { + return options === undefined ? + this : + this.each( function( i ) { + jQuery.offset.setOffset( this, options, i ); + } ); + } + + var rect, win, + elem = this[ 0 ]; + + if ( !elem ) { + return; + } + + // Return zeros for disconnected and hidden (display: none) elements (gh-2310) + // Support: IE <=11 only + // Running getBoundingClientRect on a + // disconnected node in IE throws an error + if ( !elem.getClientRects().length ) { + return { top: 0, left: 0 }; + } + + // Get document-relative position by adding viewport scroll to viewport-relative gBCR + rect = elem.getBoundingClientRect(); + win = elem.ownerDocument.defaultView; + return { + top: rect.top + win.pageYOffset, + left: rect.left + win.pageXOffset + }; + }, + + // position() relates an element's margin box to its offset parent's padding box + // This corresponds to the behavior of CSS absolute positioning + position: function() { + if ( !this[ 0 ] ) { + return; + } + + var offsetParent, offset, doc, + elem = this[ 0 ], + parentOffset = { top: 0, left: 0 }; + + // position:fixed elements are offset from the viewport, which itself always has zero offset + if ( jQuery.css( elem, "position" ) === "fixed" ) { + + // Assume position:fixed implies availability of getBoundingClientRect + offset = elem.getBoundingClientRect(); + + } else { + offset = this.offset(); + + // Account for the *real* offset parent, which can be the document or its root element + // when a statically positioned element is identified + doc = elem.ownerDocument; + offsetParent = elem.offsetParent || doc.documentElement; + while ( offsetParent && + ( offsetParent === doc.body || offsetParent === doc.documentElement ) && + jQuery.css( offsetParent, "position" ) === "static" ) { + + offsetParent = offsetParent.parentNode; + } + if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) { + + // Incorporate borders into its offset, since they are outside its content origin + parentOffset = jQuery( offsetParent ).offset(); + parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true ); + parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true ); + } + } + + // Subtract parent offsets and element margins + return { + top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), + left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true ) + }; + }, + + // This method will return documentElement in the following cases: + // 1) For the element inside the iframe without offsetParent, this method will return + // documentElement of the parent window + // 2) For the hidden or detached element + // 3) For body or html element, i.e. in case of the html node - it will return itself + // + // but those exceptions were never presented as a real life use-cases + // and might be considered as more preferable results. + // + // This logic, however, is not guaranteed and can change at any point in the future + offsetParent: function() { + return this.map( function() { + var offsetParent = this.offsetParent; + + while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) { + offsetParent = offsetParent.offsetParent; + } + + return offsetParent || documentElement; + } ); + } +} ); + +// Create scrollLeft and scrollTop methods +jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { + var top = "pageYOffset" === prop; + + jQuery.fn[ method ] = function( val ) { + return access( this, function( elem, method, val ) { + + // Coalesce documents and windows + var win; + if ( isWindow( elem ) ) { + win = elem; + } else if ( elem.nodeType === 9 ) { + win = elem.defaultView; + } + + if ( val === undefined ) { + return win ? win[ prop ] : elem[ method ]; + } + + if ( win ) { + win.scrollTo( + !top ? val : win.pageXOffset, + top ? val : win.pageYOffset + ); + + } else { + elem[ method ] = val; + } + }, method, val, arguments.length ); + }; +} ); + +// Support: Safari <=7 - 9.1, Chrome <=37 - 49 +// Add the top/left cssHooks using jQuery.fn.position +// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 +// 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.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, + function( elem, computed ) { + if ( computed ) { + computed = curCSS( elem, prop ); + + // If curCSS returns percentage, fallback to offset + return rnumnonpx.test( computed ) ? + jQuery( elem ).position()[ prop ] + "px" : + computed; + } + } + ); +} ); + + +// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods +jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { + jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, + function( defaultExtra, funcName ) { + + // Margin is only for outerHeight, outerWidth + jQuery.fn[ funcName ] = function( margin, value ) { + var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), + extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); + + return access( this, function( elem, type, value ) { + var doc; + + if ( isWindow( elem ) ) { + + // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729) + return funcName.indexOf( "outer" ) === 0 ? + elem[ "inner" + name ] : + elem.document.documentElement[ "client" + name ]; + } + + // Get document width or height + if ( elem.nodeType === 9 ) { + doc = elem.documentElement; + + // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], + // whichever is greatest + return Math.max( + elem.body[ "scroll" + name ], doc[ "scroll" + name ], + elem.body[ "offset" + name ], doc[ "offset" + name ], + doc[ "client" + name ] + ); + } + + return value === undefined ? + + // Get width or height on the element, requesting but not forcing parseFloat + jQuery.css( elem, type, extra ) : + + // Set width or height on the element + jQuery.style( elem, type, value, extra ); + }, type, chainable ? margin : undefined, chainable ); + }; + } ); +} ); + + +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.fn.extend( { + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +} ); + + + + +jQuery.fn.extend( { + + bind: function( types, data, fn ) { + return this.on( types, null, data, fn ); + }, + unbind: function( types, fn ) { + return this.off( types, null, fn ); + }, + + delegate: function( selector, types, data, fn ) { + return this.on( types, selector, data, fn ); + }, + undelegate: function( selector, types, fn ) { + + // ( namespace ) or ( selector, types [, fn] ) + return arguments.length === 1 ? + this.off( selector, "**" ) : + this.off( types, selector || "**", fn ); + } +} ); + +// Bind a function to a context, optionally partially applying any +// arguments. +// jQuery.proxy is deprecated to promote standards (specifically Function#bind) +// However, it is not slated for removal any time soon +jQuery.proxy = function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; +}; + +jQuery.holdReady = function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } +}; +jQuery.isArray = Array.isArray; +jQuery.parseJSON = JSON.parse; +jQuery.nodeName = nodeName; +jQuery.isFunction = isFunction; +jQuery.isWindow = isWindow; +jQuery.camelCase = camelCase; +jQuery.type = toType; + +jQuery.now = Date.now; + +jQuery.isNumeric = function( obj ) { + + // As of jQuery 3.0, isNumeric is limited to + // strings and numbers (primitives or objects) + // that can be coerced to finite numbers (gh-2662) + var type = jQuery.type( obj ); + return ( type === "number" || type === "string" ) && + + // parseFloat NaNs numeric-cast false positives ("") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + !isNaN( obj - parseFloat( obj ) ); +}; + + + + +// Register as a named AMD module, since jQuery can be concatenated with other +// files that may use define, but not via a proper concatenation script that +// understands anonymous AMD modules. A named AMD is safest and most robust +// way to register. Lowercase jquery is used because AMD module names are +// derived from file names, and jQuery is normally delivered in a lowercase +// file name. Do this after creating the global so that if an AMD module wants +// to call noConflict to hide this version of jQuery, it will work. + +// Note that for maximum portability, libraries that are not jQuery should +// declare themselves as anonymous modules, and avoid setting a global if an +// AMD loader is present. jQuery is a special case. For more information, see +// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon + +if ( typeof define === "function" && define.amd ) { + define( "jquery", [], function() { + return jQuery; + } ); +} + + + + +var + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$; + +jQuery.noConflict = function( deep ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; +}; + +// 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 ) { + window.jQuery = window.$ = jQuery; +} + + + + +return jQuery; +} ); diff --git a/static/admin/js/vendor/jquery/jquery.js.gz b/static/admin/js/vendor/jquery/jquery.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..97ceba5e4d0f021615dec38149906c10b6c0a228 GIT binary patch literal 82889 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%0DxVE59#l7a*f0uJ=hs-~I zQC?>2x~7qnTg$mvL?wFTwRMcw6=&X8p5nXrdq+Z2=<H`Jt*UvOulb||@?OgefB5DG z<1U%`OMl)d)n0o};6)>!Czs>4le;E~@Z^^XyprPC(^B-8Eoj=id%J#%{+!-?rDIbg zPwMKG^FO>iP_<rlfsW*&Gbj6Yl%1a8JGt%HB!kFbUwIUcEWhEk=jq~@=zROb3@7ts zbh$40Hr$FkcQ`OXQ!w4yp85DO_h&Dsl&HmroRm?uGI+*2soQ4uPX+$W|8hHXUAp3U zE1v(#-oWniNTZOW^Xszut4Em}7Bficq?%=GF3XgOT4y<XW{m6E_;RH(wi&PNk|xIo zSjpJ*&ztSMA=1UmWxKRN&)I7{&mKuX39-`E&5Hi$xku!(@2O*!YcKHD%sV`FZRO<e z!o8QHgmi*>s>?E8%Co<2eiN$g$#~~XQuM0b>(4!t{Ga#j-qA{9k+4SQBfRauHsrtD zsQXE|cE@_V6Dk%)e{byX5;|#lHUH}qzAIOcgr139%WEvPqow2cW=0Lot8X&?u1z)l zyRk)btKH=_yd2y;i%y?;y<&0Ez4N<Yen_r+abfYQw9QL=Tf%3_KFZvvCFjm;(&DY0 zd2$_pT>f&_F0EFLY=hwS3-lZESzgo{UK0Mj%(P<hKJ9+DnoXN`U0q`2rLffh`)v=^ z=ufxxHl3J%RU>f4oEgeyc8&MydLF!U3FK}I;OOD=xGUNCJ;AH^Oj_-O=d2v-8Y(Uv zcy#n<@s!uMzN9bUl{0tVFr#Y0;`sr-%QGYOZ0B!!!eX~Fam5|s9VJprmapa$yc=>o zI;>PA_tE2ZA5=MdekZ2)G@RNRJxzQ4ycZ`IUtbZhvRa0%E&INc@I=Ai=2uHJ)E%_t z=RR>bv($Xv=F8C$vVorGkHyY#wvg|?c;WbgR+r{AZw@@VnkZjYmX}#^Qdoxf+^fGD z;qp=|55C<hq~IO)JM!rrkBY`9_bHwXX8ol$fr1qgv*S&tKQ4c8FXlI&+@<V?uNE`) zoVaP;>2{GZ_g&f6@1B>tuNS^;KBg_Z>aKaT;Jk;w-kZPc;&b;++WkmR<*AOwE9S#7 zE^{j%e78NJ{^-HsfH~&71w<s`XKtNgy3<(G==iF-CjNqADGT%0h2E^vi(A+aUJd_z z&9hJPSI2L;_>UV79$kCaLgJ>atmn?CIi@1)r}6^(j0<YJY{j0M{<C(v$+zHy?9ceK z>CgY?SKhyO_t?a{Kg~aCMolngQ(>s_*rrloVIyUml&*Vv;uFc|9$l9iW~D?cNI5bu zve>ro_r3DFtMVp%QJH+#*4lDo$GcZm*Vq33bJtkpQ8U}wKP^_gj)&HHt~<fWZ@%Yr zj6>L(UpIChdi?rDRQZPNEQwsPuaT8ag~!dV%T3b~h`ST8(pglkqd4^sS5|3COe|ZP zZ?pZ~#dE_dYom|fxwW<KxKDVoNnwIUjNg%>7QV}q7u>ThTvt(06nWJxgI{W%cIbkg z9f|ucBwRUkwb+v9^53n8Z>mqo>D|c6Vr;1>&)mHuxo6$;!tD~76RU50jM-uv)Mvla z_kU8x{(#j-Eu#`U&$>SLetN^>OGs=m$AOdTkBnDOp6n-;!*D)DGjUmyjvnLsyrVo7 z0?YKZs!l%^__f+nE7hXoNmZ}2d28IQqNsPdF_Tw(QnGtBOKQ=B<0{v^8#s=8{dguX zWW784o%!yR`7-}H_pE6$4Dhmc@%kU2Fz?WlQ{1amVvamn>fYUvdZD%PO<9@yql~}r zm%Ur*7`0VNdEKW2M^7zHEL>Rssnh4-8UcOdzU5^{YeIJ1;s5Z>;M3K9r5*mCB0nyZ zGVg!8i_6`7m#NjkuBrNZS62z-d{Or}#&arSPqkrz2HyecmF$_9_X^48O<ZsIB<;zk z#`o6FE3Z!oVY=mb;DE7)hfYfw?-lzZM~U1thbJE<UYfWq(Cb8V&CMxOw%17{`FYMP zo|0SM$Hm1tMcG*?ZOyLjds)SPX`erCBC@*0e@jaF&#udzI{GKCGu&RQeI<%@@zeml zYl?mjX{%pt?L6_w{k6#HJx{m2h??L!QP9%mR{F-Y)yri13tCRkY7%mdSiSkvpFJ}Y znS?Kv8f}xV?YSp2@iAZd;?rA8_QuWAnVqt)S0<(@f93prg5eIG5%TP9hB=|x^V*-j z;ApRxiT<PQoc&|z#E7&iZT4%|jXJoq_xLT^kx;L7DD`jnKdougBsCXC{abxu<A>Cw z`45vAUzD6Je6=dnf8HmSs9=}y7!`y27TLYLrWU-JzWc3<WS3_hKL6lR{)Z!WCN0;x z4dV`}AJPh#Z1dNSAu>~Gn#2AAg%`|4_x%t4x>K~2jd_mR!gY)6I!o_ds_7^`dcS;g zo<K5dS(l4kder0l%*HY1HW#P-W0#!OJNcemYdnkeB#Wc0KVw~T4o{rwJF)Ki{b%_T zC626^9d@_Zx?x@D>a$LJx=KavnZJBhS6RQ{{M;)6?A{K>mR&RcJ^WxWPg75%>R1D> zyUq;B12YoMq*qU<dwzpW=jER%<(C%qy>mI<);HtbiiDC&TpX2YtB$>B4Bv3nPkZMQ zuXu$&`)-`v5yk1PmMU$T6!XMXsJQKFi1JJ6dlQpNFDa~FnPGT3v|zgV*TW6WRZEz( z);l}yad+x^d~D&irjlhQ9|Y`IADyW0zqRJ=8J_c-ug~U8O!1mK>6nJt=DB7pIpwO{ zx)luJ7ntK_y!O)*zfk&Yu52K?-@ms38d0YVST8n(Ulf?!xASQ7Kl4k{(GDy>KeYV* zmNIXC+LLvGbuMC#b1!_nUm(xsU$*<;;l9N&pZgSZ*DMgar?#zRNBSm<RZS%ojpBKq zb8em8cX>rYitT63hwrP8H938+<ap)rm4AWU^~s&_>z4}7Gyhq;L}6aDfW3+dV=B+P z^IIoxEZ=L}@T_@N_lvqeF6F(wyT6t?U+`rA)^<cxp!V_JS2IMmyY4-oV*P4e%OW0? zZOIGPWorJ&o3lbzrT=+cRIEk%jANTuf06ABS+JvO(PIvCKj-g;E430T#bTf7uC!lV zvvW@TtAhqL%Q_C5Sh^pIy}7e%`%TkLeNNwhT10pG&B(hpN7n1Yk-7X?TpHo$6N~1D ziFa=-b4adc`}FB}YQ<6Q#P#<s1hrn@R1(6VdL@5hnEF1?v-6+6J$=@y?(Ejr*=z4i zzrbd9{6(2f`nk+E`xB2oKFV2FcwOJ!<y+uGu4;q6S9vRBJ=lAnE{=Hit-Ixod+&tT zhgCM0dl~eaUEp54Ldft=pic6(o*=<f0aNCSu*~S5H;W_D`Ir-z>)VO<xn#>S#8gj- z?y?HFSaZ+Z+`~-ii}EM$0HaH+yWa~(S;<JLe$9KleNp34kIEM3hJX8AVsANJSANqx z(XTbx*QtMzWjMFle!Dj=x=iiuzQ;<VQ~n2TtAD>?@|66XhBBUJjajGmnsOI1IC<O_ zUuc+lG`w-jnvbHdg(RJrr<KpC-MiiW`Np=*RU5W1kGvegeB$}RW}iFvZ!gx8v|~!N z|B$qTr6GNvW$W#{qM5di=1<?uPO58~BiL@LZ|Gfcwv+ea>&;)QBKynB^}9}L#QUCa zNR<d(9sFl+^@i>Hx0k<v@bBKgzwF=T-y{WUST=g4msWD!p0FlqcS(Qmv~=$u3GXky zyVra-UPJz}z`CV>imqo~d*PU@&Lb1OA?^7lhB<|I7DX*}dLOF5SjP9iF*WOHs<q(K z!k_||n-3Crm8LdK;^O&ZeJYAU=7;brhPiUbcbeM1eNruSZ7ti{xU1|niI+Ehi{c31 z84(oElhe$baXw<}jl&578Va7`Hw{0mx)kHo)qS*4uGeDk`N^A$>|W>opLcfMl4zyh z`et^Qe7vTFd2DXV^LBfE>B1|w=~slOymEMbp`>jxlhn~SAE))QbMJ`}IL2%ym!Pn_ zw=6lJ(q~gcVxx?n;$ywEDF^yCwI{H#S>`<3eq^cB=MR6j)@Z!SU;F&lF?szI)90bR zv-Xy*J?OtgZk|ZN8kRDf`BSH!dFOlWUqHB%ZQt%Gej0JIt3>3b4;k3~=&lj0tyeKU zaBazHe#La7l!F0c&Z-}(_Wo*nbbRm0ik(ue;<rm)M?8Ap;68QNhu6}~#e5xH51#(o zvGk%?+mhHjQ<pjW-cn~5yLGBKU;c|(N4WPH@u0Ul7E<PY=WKh71e*@*?S9dqcOuM4 zh)+jWF?Gt-?}bH&T<3Hb2tHTfvFG3RT%qP&!$Xg!zH@qB`|GW&Nqs$0_mH-)DBG`% zr4zp`FciPbawck-#O<uPzV~+qq&KwBQ;axgd33e+FWECkHy?U(K~GSA)4$a<OfK@< zllDEjvSGztM>$><vzM_ple@TIEILqM_3`fItW_M6f(KkI97@WZmK@B8t!=Lriuv(f z(Q>+d!4ofoLyIL<!<x85`n6-G=vmlrTN*p@uYMy_$050BKNqg~w<q1w<D9i(z5nv7 zXROm0j=i11y!PZ4i;U}U*UorxM^xkhOGE{?Sh_NI#5Pmrh%47E{@nT=H1$K@f5vT% zWzJS>WjVPcc{Cq2pDVRU?o#pD(K=(sp)*Hc{NBe=ZR+*xw5@g7<dv4SopraCrR-<2 zSvP4@MYYyMmAEBOcXb-S_;@shD?`PP=c4+??5fkOp<Pc@gEzgH@b`Au?(V(s)P6p7 zidw#)m49mC6R#!J`EUBBO*#H{yKiyUhW}gGt*zB2uHrNo$n@&%KG`nti|L@Gq4Ih2 z{J5Iw6ORY*HdQxPh8R3`a5P}I?%V2qUg=YxOzfPeue*aEy+7Z$Rdf2!%#GcBUw$qZ zoVH8W?Ba)pIU62)|9)lHv(;BvZ@=2Lgk80!ignQuzJ=L|cHezCt_A-1pxb%*{oSHq z)5NU1l6{Asy#3ee`QunnMfal<vQzp3kC_=9HY@s^z1)$%+3c<ovqx9H+3|A4r>Sdx zY(96^V}-eM?$X3{6&5#teAv)9x#RV=r>|D5KAV-*z5DmONAKQgYModYz?o!}Ht9X{ z>Fbkbob$Muc)YlGZI^O=@8zjC6S`hRe`~&cJ8F}Fnf{p#s`;&_zVrl6n?L7LMWCDU znFZT?9F;S2S=={ot82T{ZNpqLQCs_syF~d!+b8QP{2kr1_qIt)zTen+^zx!(VQstn zvy(Eaui3}kelqjJtBc<RKdqNCPy8RQuFzWWX3GI@q1b=DN9W(4aF^wr)_>lz=ewf5 z?7yKam|bM0zg+&0`_KFcuK4`P0uxsL{;kSV=JxZh&>?=^-g^;F7bI*nK3@C&xbo-8 z`JB@~zn7|1oZD32v*!U*<3IJMt@qDrmFu({`!D>$JNFQ)z_~{=*3bKMSZv*G#(V0P zlKDpz|I0r}=argru;}rRXKNKc{kJ$4dilo=PLbttGb0maKXYbAwbbUEyeg4+Y|BGm zSHbyP4sH!<n)Il`|I^m(#?cvtyrs_~gD(6qF5{Z9fY~yp%VCYz7p8{ROYhfRoO18} z{rmraJ-D~G+A+Aw=>8OA37cJ8123N3W96#)^6=fgfA8*f-@W_|yM;*o0mV1Z7si=6 zO9<YMmlQ7TxOMxX{?Frk=B+#Rv?}~}Yr(ymhP#%niR(`>?K?8#+Fo|{zXIFUuEr^* zmTc{5T-4pMZvHaGFqZrObhQ?3IiYa-zIW2X4O~A@=?Msi_PP}AifMkwH~rYOCN0ei zpErjVDy>}j=-u0`sgoq%$uINSEx_HG$uMtY_cf!0y!nUcdj#*kTp4%$$CQ6R<|RLs z-F|c3r^jc?SRa29-WIu}z@#Uz#nO4X$f4}>YBSbN3j7t$y6JuPXX&f&KXRXJI}qjN z*|5|m(lMi-BV1hDn3MCu)r0K}%}yH_o@vKFN^Y|}8OE{qPHf2GvrLmSc_*gpoM;Lt z_xyg)L2EO^^k&Hi*3$wc{lwK~X{KkSCiB$K<Gr#<ui^fyBaaq_uc?xr*sRE3bzS#n z+-9~Y?`u{KhD#s6*2>{#jS*1V88?S<zKuhx2j_x0f5N#te)>H=s}c3Z?a$OrnYoz^ z|CX~&`C|LBU;*=O_u9pY$1iQ_w-<Wea?UUOq@~<$JvE`DJ&V3Pw)y`>)-eA|cGQ{Y z>o4Z@TIxUj&fm1dXMULYhpL0`SMB`Ed-<DE{H6IK4L{RQ)_EM&aDTEna_6z!yKndS zU%s|<536Cz%1Q4$lw^8K)9g(Z?jG5u5LLMEh`|kogNHXZ<axyCc7CsTWBu<Fqh;z; z^Om2tUnJ~W^4j^e>><;@X@>)<JtRG5>Q3ty->e?A?RtXh^{eekiBA8;BJElJyioOy z@2y*Ts`W`%^6XW|rQ+=!PrdwBGV8zo3fqwU0;$&pGuVnhXT0bXSpP9LaQ{l7Ig+M- z<2aosuPC)ES2|kaUAE_0`t`F{(xvtO{n>NY$Y}OOom_8Lk3I{VpkAlBd0}7X?>8{# z%>Vz*d_oIbPtO5=>%gcTZY*w1CyQG*O#VAbqv2|9<`UcKx0KpVU-(4SolLvB{fk6n z^wfzH%S&EowY~FhWO1~}n4%&m*`2)7$TPiL^-V^!Tvj97gHjJiC+R<Vrz1C2X*#D) z`w$S3$#BEyh{pZws67TX0xFZ|wXbqJlC#(5;=K>cFXeo5=i%YxT)y$;ZufmXsZ+wf zE^B=m%#?mcrNryTq0OJ3ELmWE=#x>t*qn=^GlX9-%W<4sAzLPssJP9?e@*4qpGx<y zd?;MhyY}{q0}8(uoORyy^0r*}@BjUBCf9%dKNXpLZ1qC1%$Jg<+0EYGefK|C-E6@- z#kj?WE+-ZU{V-kGFjLnpJg@33$A-xDdIr&klh^(Gzc)R;&-sGk{YKUO%stl2zR$>t z%U%68>emN#fu<m)LYMh#yPn#(|KD&doq6|-|NocDypg-<XUQgW@Rzu;x}deF%;YJP z6O;m-cNQ&kj(e?V%*Xtrt!&y-!JL$}$NV-;S#Z!)XnxM`7ZH4wHMPM4hI=z6&7RWn zXD-XSJ8lo|$b7$YWqQ!gO`cExeBn2_)Gq(y&C~tXuTDOx%@R$SHQBKu?Dvi(CEI%S z3}v)rPJBwXyzRjLvfAw3&nbJaq-PuuG1(Ygk?~ckYW4)te;)fY4L986tZS+ZjdTo< z{&qL>r(mFcM8Hb!GsZ1UKlV&1@HqIOv9ABzr>JWxHFB*Mi3>B_cNVqndn1_sWAX;; z=u_6b{xjZm8(XmD&AY5p+_;=yD!kCj|J=k_$2_IWd!KLU_;cXy8KZ4^6`ZM|2PHm4 zWs4v9`T2a<kLUAuH$OYTd`^IQlVs3G$*0vk&c_#A61q5h-;$DU(_cOR*d-PJCqLNa zqH~2)@^#T=_s}n1jJ3)EW=x)nKQ?pL1w5Buc&g~GeB^|+j<&uQFByKZF1*qea4>}R z&LMg4b1RR|Pv-vlXws*vU)RRZ$i1W$u!dp&?Maho2YaxDc{3cBNqZW!`B(OVqYIX- zKg6q8t$(I+%IU+bI}ZI9*b&`$;I>lX<JOReQ}@3xPtZH7veaF(%R&6i@hR@9uTmro z8yUY=he?R9J+!1@c42}{(VbHwofDI#ldlN;>2>7N>9RL5%wA*?^>Npw(~*za?A6=6 zDr={_-533KUY@b>p;>XN3?6=Jo7P?2o&R=~^a|H|YB}eZd)zw}aogsYW1OQZ|Jx4D zu3l-2%ZiIrs})1Lm(S8T-{_{ca&DWd$78$gGn#jq{K>oQb9Gf|c=XiEyVdios`edi z{IX}&^^`IZQPDYRCV|!~>K~Tgh+iog{&qH>&YCw(3Y#ldY5E3RPkMgk)0u@{(>|I^ zs4$B1Na`uh3ud`{KW%<-hTX+yj^Ve}E|*mB`U_d871kE*X-}Ehw@K(Y+mS1r`fq~{ z{GUDhlm5dULUz2qK7Y5VEMM1U;qj4om)`D^Pv`71ef7y?`Z^!8#I2vCe#@Cp(k}>p z^JQ+zMAN?LPdY~?=zn>7_nZIhn(fI+J6!oEviY+`cX&K9oc3<!gPIiy)po0jwG$JT zZWe0OeZPJg=NZ!l%naYx^Ql)kOka0*#~a5L-<JE$+1YdE+ukehe8XcV&96CdS>(lu zz||XP@0wS2zjj~a_Ljc7H9t&QqDuBowX6`#GwsZpt{ma}NA25zg>wzdWa4uK?s%`c z-qNu%Wr+??O#J+X7xlI6e7QTVUfjL6|Nqy+>)9p${Qj`Iz4o|wT%y;8pzvP|+h+1! zvYHjX(=Erb{&23`G!2*eF~*<s9tGw+%XAP@KKVX{>B*@NH`X&2I6bLOPrS5V{MoNZ zOR}^qj>Kp)s|P1ZNBo;1e(6C%dD*$o{@?m$@A2kz5%sy|Y*ro7<?*qrM<PUJY0|-E zKC9%_w`KLE$6eZYW6nIu6{{p2c>i2zp5gTS#)59QEkB=li2hM&QQ5XT(xv*#?R5V3 z{xe&XHqQy<SyR@uIBdbs;w>S}mM`zx{dl$d?>=Fk>Ro5wDlgzu)$QIT!ti@xmqu{_ zmxAvW@oVWb>gD!+yZWRj=xo#H?32t}<Gn+-FNxJ&5X1M$^4F!A+H2<+MMt<7xa8Fs zEb!3C+9aJS!t1#*<Df)U<}0N+bFS8@=eVhVJ>7Luw)#cZU+t%wtv?-IrJ~*z?^&`U z?2fO^@vYlMA0#h-nO$YTE-UBme)js)32Q$*b6))R$GfZ(&yI)LMycnn4&!+w{i~N- zN^Vbm@0;xxI-~_StZ$UL*J~uno;)!3z_!P0gaR#P?tKy1x^x<2Uz(Xn>56A<hCepF zaNtN=UG)8_)34cg-WUZuJ6+m+V$W42%g&h0*SWzGjdJX3bG_YWFS&2%Th$k*^=d&- zv6`2cs$-p;NPh!|)(Srd|5Br_plhb7YeQcr{)}E)eeJ1QV*9%8(|$e5Z@z~f{{35& zP2@_Ax0i*Yk5KjT1<#dty<K*IL#D-`z_I718Gpl!+e(Z7ub(?R=Z*9em(IPvEpA+V zKEdN#d)yiy9j9U)5BXzq;+{5bY(Z{;_g>y8IBdFSi?C?^?45RxzD{|6^uWbJp-mqx z#U7kI_0VaLg_g+?b%Q;94_}vCSxFV?X@8vHWc;c5M-bm3+nzl$;zL$Homr*go%rjy z`LFz~k^awShyL%5Jt*h={=uIq4s!EYzJ!}=8Yv&u(7Y@BrfEv{)%o(8*O?q&uRC@5 zvc#Q`dyCRM-%hZo5sM4ode2fsRY&dA*Plfbe9eR{≧|*cnxDVe^l3*=q9{8I?U1 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 Kq_~bd3j+WT<$W>$ literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/jquery/jquery.min.220afd743d9e.js b/static/admin/js/vendor/jquery/jquery.min.220afd743d9e.js new file mode 100644 index 0000000..a1c07fd --- /dev/null +++ b/static/admin/js/vendor/jquery/jquery.min.220afd743d9e.js @@ -0,0 +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<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+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="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",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="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";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<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{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<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument===C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;var T=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\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<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\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<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return"undefined"!=typeof e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){var n;while(-1<(n=k.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e)["catch"](function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}var G=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;while(n--)delete r[t[n]]}(void 0===t||k.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=k.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});var se=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")},ue=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i};function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_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;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",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<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){a=k.event.handlers.call(this,s,l),t=0;while((i=a[t++])&&!s.isPropagationStopped()){s.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!s.isImmediatePropagationStopped())s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)})}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\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<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},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<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){var t=k.cssProps[e]||Ve[e];return t||(e in Xe?e:Ve[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;while(n--)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(R);for(var n,r=0,i=e.length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=k.isEmptyObject(t),o=k.speed(e,n,r),a=function(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=k(this),r=bt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=k.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var Tt=/^(?:focusinfocus|focusoutblur)$/,Ct=function(e){e.stopPropagation()};k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){k.event.simulate(r,e.target,k.event.fix(e))};k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Pt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").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="<form></form><form></form>",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<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").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<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.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)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k}); diff --git a/static/admin/js/vendor/jquery/jquery.min.220afd743d9e.js.gz b/static/admin/js/vendor/jquery/jquery.min.220afd743d9e.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..1ca4d10dc708900fc00526274c159c79edd489d0 GIT binary patch literal 30638 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 literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/jquery/jquery.min.js b/static/admin/js/vendor/jquery/jquery.min.js new file mode 100644 index 0000000..a1c07fd --- /dev/null +++ b/static/admin/js/vendor/jquery/jquery.min.js @@ -0,0 +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<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+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="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",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="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";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<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{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<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument===C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;var T=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\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<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\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<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return"undefined"!=typeof e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){var n;while(-1<(n=k.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e)["catch"](function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}var G=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;while(n--)delete r[t[n]]}(void 0===t||k.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=k.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});var se=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")},ue=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i};function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_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;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",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<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){a=k.event.handlers.call(this,s,l),t=0;while((i=a[t++])&&!s.isPropagationStopped()){s.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!s.isImmediatePropagationStopped())s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)})}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\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<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},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<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){var t=k.cssProps[e]||Ve[e];return t||(e in Xe?e:Ve[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;while(n--)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(R);for(var n,r=0,i=e.length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=k.isEmptyObject(t),o=k.speed(e,n,r),a=function(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=k(this),r=bt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=k.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var Tt=/^(?:focusinfocus|focusoutblur)$/,Ct=function(e){e.stopPropagation()};k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){k.event.simulate(r,e.target,k.event.fix(e))};k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Pt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").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="<form></form><form></form>",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<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").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<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.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)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k}); diff --git a/static/admin/js/vendor/jquery/jquery.min.js.gz b/static/admin/js/vendor/jquery/jquery.min.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..1ca4d10dc708900fc00526274c159c79edd489d0 GIT binary patch literal 30638 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 literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/LICENSE.f94142512c91.md b/static/admin/js/vendor/select2/LICENSE.f94142512c91.md new file mode 100644 index 0000000..8cb8a2b --- /dev/null +++ b/static/admin/js/vendor/select2/LICENSE.f94142512c91.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2012-2017 Kevin Brown, Igor Vaynberg, and Select2 contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/static/admin/js/vendor/select2/LICENSE.f94142512c91.md.gz b/static/admin/js/vendor/select2/LICENSE.f94142512c91.md.gz new file mode 100644 index 0000000000000000000000000000000000000000..1b839219b605ae2f5f7e57a797521d30b9e72785 GIT binary patch literal 685 zcmb2|=3oE;rvI@)zWI*~1or+8@2SdKnp3`g`qXb}Lcwd=EQ)+0`xFh2tWHqAE%Nbw zxlG3DbuCTLUhl2UU&F@hy>5ZY+-;7BZQ1x+p1iC0m}c*?<GtL2m&ea9&;Rk0RsYx7 zh#8gT+ay2i{rurp+?%l9wQOtOF1)z--6P?Wb8h+DmcOV`SaR)Of|J3yCQgHl_1nd7 z{J!RPH+{qBsOH;_=3DC48+Y(6)GN4R_n_hSv1<{@-!CY=`slR5n2$sFj^4cJ_3HP` zSgy|$`?#R|?#l(aImwT1&kSVW(Xa7&-A>;-wmvF*^W2-Vg5K_BNf%}>?|M+`z!-bz z#DN=mHeWN_zkkZ$dv<KXG4<6<ju(O*SToP_@U1i7{bjv+<nha8CW$8&m_K~QtLE(G zch3J`t-EuxoO=@o+xK}}>hj9JN<{XZyil=OW67Dyg7)=ZJ_@@hZ}(WaeCEA{slt!r zZ30g%`8HSDz1;88hm^gZU5E0WM5f(ZTYY)*wAbDn^d7CcE_#WvZ+`gRsfRA~Dd&7W zYw*N$+L9}~W#+$dK5}?=S<B+j!uS6h$xp05xInOY>#|9V`3t5!nkv4g!TMH0&Gdt_ zR<}lI9^muT-pXjm9+mr`HQbf$jlXW><%S6@`mZM$pZTbzAI`ddUSeDE)C2D4KW<fC zAvA#_KVXh2XU@r#eFr9-t2lX8O}Tj8suoLeA&n~`TJzR>X)TO98D+xrlDlPXh3WJY zho-Fw>OawCnXq2MVe^92nJYMAAAU1>%f54k`6PRN5gnIE1D|sed2Z>dyMq?4*t4W& zrlaHZFEf3EnF3WjbFaTm*qfj^^@qm4qNA=;Q=Tje5<1Ki>h;xd*E8PJ4PN(DoSy~h z7*Be0gwwF`LCn#08Yi=U6ba^deq5C(-w<FBr6e|Q`LCjV?w|Nw_9q&qurM$H0OWd8 Al>h($ literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/LICENSE.md b/static/admin/js/vendor/select2/LICENSE.md new file mode 100644 index 0000000..8cb8a2b --- /dev/null +++ b/static/admin/js/vendor/select2/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2012-2017 Kevin Brown, Igor Vaynberg, and Select2 contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/static/admin/js/vendor/select2/LICENSE.md.gz b/static/admin/js/vendor/select2/LICENSE.md.gz new file mode 100644 index 0000000000000000000000000000000000000000..1b839219b605ae2f5f7e57a797521d30b9e72785 GIT binary patch literal 685 zcmb2|=3oE;rvI@)zWI*~1or+8@2SdKnp3`g`qXb}Lcwd=EQ)+0`xFh2tWHqAE%Nbw zxlG3DbuCTLUhl2UU&F@hy>5ZY+-;7BZQ1x+p1iC0m}c*?<GtL2m&ea9&;Rk0RsYx7 zh#8gT+ay2i{rurp+?%l9wQOtOF1)z--6P?Wb8h+DmcOV`SaR)Of|J3yCQgHl_1nd7 z{J!RPH+{qBsOH;_=3DC48+Y(6)GN4R_n_hSv1<{@-!CY=`slR5n2$sFj^4cJ_3HP` zSgy|$`?#R|?#l(aImwT1&kSVW(Xa7&-A>;-wmvF*^W2-Vg5K_BNf%}>?|M+`z!-bz z#DN=mHeWN_zkkZ$dv<KXG4<6<ju(O*SToP_@U1i7{bjv+<nha8CW$8&m_K~QtLE(G zch3J`t-EuxoO=@o+xK}}>hj9JN<{XZyil=OW67Dyg7)=ZJ_@@hZ}(WaeCEA{slt!r zZ30g%`8HSDz1;88hm^gZU5E0WM5f(ZTYY)*wAbDn^d7CcE_#WvZ+`gRsfRA~Dd&7W zYw*N$+L9}~W#+$dK5}?=S<B+j!uS6h$xp05xInOY>#|9V`3t5!nkv4g!TMH0&Gdt_ zR<}lI9^muT-pXjm9+mr`HQbf$jlXW><%S6@`mZM$pZTbzAI`ddUSeDE)C2D4KW<fC zAvA#_KVXh2XU@r#eFr9-t2lX8O}Tj8suoLeA&n~`TJzR>X)TO98D+xrlDlPXh3WJY zho-Fw>OawCnXq2MVe^92nJYMAAAU1>%f54k`6PRN5gnIE1D|sed2Z>dyMq?4*t4W& zrlaHZFEf3EnF3WjbFaTm*qfj^^@qm4qNA=;Q=Tje5<1Ki>h;xd*E8PJ4PN(DoSy~h z7*Be0gwwF`LCn#08Yi=U6ba^deq5C(-w<FBr6e|Q`LCjV?w|Nw_9q&qurM$H0OWd8 Al>h($ literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/af.c4a5cbd6a23f.js b/static/admin/js/vendor/select2/i18n/af.c4a5cbd6a23f.js new file mode 100644 index 0000000..5f9e40a --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/af.c4a5cbd6a23f.js @@ -0,0 +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/af",[],function(){return{errorLoading:function(){return"Die resultate kon nie gelaai word nie."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Verwyders asseblief "+t+" character";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Voer asseblief "+t+" of meer karakters";return n},loadingMore:function(){return"Meer resultate word gelaai…"},maximumSelected:function(e){var t="Kies asseblief net "+e.maximum+" item";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"Geen resultate gevind"},searching:function(){return"Besig…"},removeAllItems:function(){return"Verwyder alle items"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/af.c4a5cbd6a23f.js.gz b/static/admin/js/vendor/select2/i18n/af.c4a5cbd6a23f.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..370c648849b62441fbf9cc993151c990128462de GIT binary patch literal 467 zcmb2|=3oE;rvJH<&gWe*5IFX}mg{<Z=p|p-t_cp&PY=xJ3eA~#N=dJy*?gu-+S|g7 zb8}a#3i)4Vf9zTC=uKWg@g`&AneWZ#tJ_+uYEPK3d-@a6>Vt8U?=LBPcTVrp7NK={ z*L1FHZC&`JVBONV<z3P2YO!(q_y5|nD`}NN`pc7^A!akI7aDezFY2kgXO<wBzPVtN zkbAh<mf0MJ>$)mV^ET!fm1iC>W#iny<kcu}(RS93ie^py%uj#ajhr~YS{t~{Uiz%{ zK-NbcUwaM(wj5>IatAXh&R-s^lZqYRZPnbB?{?eeLG0swS$nTMwi9@7l{TI6HTMjb zH8Hh(J|Ec^N=;30+uyjeUgto>p|!1BMFNDZ%8R`|&61v1?f<gQrhHcHnKZ$3##xzj z9t2i|W<OS&I`x3xt3UN^agoiHYOA~#9XM_tSN(YFTgN-APd>QPYi989n(z1f7uVgJ z|KRF<d;fb&5?^eH5AeBg$)D+%oq|Pw>4wvfIoZ49;;TJaqVFVhXA576ui~?A{3*!b zK0`EzRZQ+YlX<1>UXJ$%y0m-}9bW40nfmG0VxO<~?KK_-Iq~OY-riQYiF^0X8~Q8r azpfTs#?50MFM4$Pe}>C{>P1?a85jVy8rqEj literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/af.js b/static/admin/js/vendor/select2/i18n/af.js new file mode 100644 index 0000000..5f9e40a --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/af.js @@ -0,0 +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/af",[],function(){return{errorLoading:function(){return"Die resultate kon nie gelaai word nie."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Verwyders asseblief "+t+" character";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Voer asseblief "+t+" of meer karakters";return n},loadingMore:function(){return"Meer resultate word gelaai…"},maximumSelected:function(e){var t="Kies asseblief net "+e.maximum+" item";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"Geen resultate gevind"},searching:function(){return"Besig…"},removeAllItems:function(){return"Verwyder alle items"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/af.js.gz b/static/admin/js/vendor/select2/i18n/af.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..370c648849b62441fbf9cc993151c990128462de GIT binary patch literal 467 zcmb2|=3oE;rvJH<&gWe*5IFX}mg{<Z=p|p-t_cp&PY=xJ3eA~#N=dJy*?gu-+S|g7 zb8}a#3i)4Vf9zTC=uKWg@g`&AneWZ#tJ_+uYEPK3d-@a6>Vt8U?=LBPcTVrp7NK={ z*L1FHZC&`JVBONV<z3P2YO!(q_y5|nD`}NN`pc7^A!akI7aDezFY2kgXO<wBzPVtN zkbAh<mf0MJ>$)mV^ET!fm1iC>W#iny<kcu}(RS93ie^py%uj#ajhr~YS{t~{Uiz%{ zK-NbcUwaM(wj5>IatAXh&R-s^lZqYRZPnbB?{?eeLG0swS$nTMwi9@7l{TI6HTMjb zH8Hh(J|Ec^N=;30+uyjeUgto>p|!1BMFNDZ%8R`|&61v1?f<gQrhHcHnKZ$3##xzj z9t2i|W<OS&I`x3xt3UN^agoiHYOA~#9XM_tSN(YFTgN-APd>QPYi989n(z1f7uVgJ z|KRF<d;fb&5?^eH5AeBg$)D+%oq|Pw>4wvfIoZ49;;TJaqVFVhXA576ui~?A{3*!b zK0`EzRZQ+YlX<1>UXJ$%y0m-}9bW40nfmG0VxO<~?KK_-Iq~OY-riQYiF^0X8~Q8r azpfTs#?50MFM4$Pe}>C{>P1?a85jVy8rqEj literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/ar.7dcfd5775174.js b/static/admin/js/vendor/select2/i18n/ar.7dcfd5775174.js new file mode 100644 index 0000000..8004fac --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/ar.7dcfd5775174.js @@ -0,0 +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/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(e){var t=e.input.length-e.maximum;return"الرجاء حذف "+t+" عناصر"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"الرجاء إضافة "+t+" عناصر"},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(e){return"تستطيع إختيار "+e.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/static/admin/js/vendor/select2/i18n/ar.7dcfd5775174.js.gz b/static/admin/js/vendor/select2/i18n/ar.7dcfd5775174.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..c80cac5f6c6889afd3f166f0ee27c47d61615863 GIT binary patch literal 512 zcmb2|=3oE;rvJH<&gNZq5IFw6w(DrSR_0|>1(kqRassaw201hpthTT?sS=s;e%jYv zOsyVUECkO+E4X~VD8|9DYR}0xQ`Hk?tm6-{pI&@(=KVj<58vH+c+~^vyLZz0f5iTq zus1z7+3(P%*V|e$-A&`d8>N>io~}O|ZfgF)iTT!A8C%PmFxw}N&2M)^N4KV_ymr%w z)F^Y={NYz6%dflN%6>if-I?}@XZqtuaThe^Rn0o+`0n;THsQ>Z4dx3pRYc~rniRgD zSYrEjN?-icYfF}Vl)Vu3vg?zS)3#IpZLQ6YDQ;%Iy;(kY{zI1h6EZhuJiKshn}45T z+@r0RbvY}AW={7Cy<)}DHP>Z}C4(LR1G^K`GT$@u@7b=@(d4sz@`r-1>qmZ{`M_3x z!}!^oS+VU8dtUK;H21r{D&)4;>^nw{6FAHBHz(B1T>qn8Cf(wk_S5Cgm8(pi@TB$4 zxOMQCPuS;(MQ<67&nZ5X`ghrO)?VJX+|O9*FP3|IZf^O&tDX`hIcd90gi>+J?{C6& z=|}93M>lzYWjb`iJn<b@Zhx4^ntL_b7KgP@%~QL3>|4`A@mER7Qxz+A-8*OB5qh69 z%VqYiU%wwtnq<QAN<{AWzln_s;m0eL5?pHk&UxM^c{gN^XVlrfw{@pkz2u!Pe%$AS Z`NRvI%9}M-1>E`1ZgS(ml(ozZ3;-Hn10DbX literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/ar.js b/static/admin/js/vendor/select2/i18n/ar.js new file mode 100644 index 0000000..8004fac --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/ar.js @@ -0,0 +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/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(e){var t=e.input.length-e.maximum;return"الرجاء حذف "+t+" عناصر"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"الرجاء إضافة "+t+" عناصر"},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(e){return"تستطيع إختيار "+e.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/static/admin/js/vendor/select2/i18n/ar.js.gz b/static/admin/js/vendor/select2/i18n/ar.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..c80cac5f6c6889afd3f166f0ee27c47d61615863 GIT binary patch literal 512 zcmb2|=3oE;rvJH<&gNZq5IFw6w(DrSR_0|>1(kqRassaw201hpthTT?sS=s;e%jYv zOsyVUECkO+E4X~VD8|9DYR}0xQ`Hk?tm6-{pI&@(=KVj<58vH+c+~^vyLZz0f5iTq zus1z7+3(P%*V|e$-A&`d8>N>io~}O|ZfgF)iTT!A8C%PmFxw}N&2M)^N4KV_ymr%w z)F^Y={NYz6%dflN%6>if-I?}@XZqtuaThe^Rn0o+`0n;THsQ>Z4dx3pRYc~rniRgD zSYrEjN?-icYfF}Vl)Vu3vg?zS)3#IpZLQ6YDQ;%Iy;(kY{zI1h6EZhuJiKshn}45T z+@r0RbvY}AW={7Cy<)}DHP>Z}C4(LR1G^K`GT$@u@7b=@(d4sz@`r-1>qmZ{`M_3x z!}!^oS+VU8dtUK;H21r{D&)4;>^nw{6FAHBHz(B1T>qn8Cf(wk_S5Cgm8(pi@TB$4 zxOMQCPuS;(MQ<67&nZ5X`ghrO)?VJX+|O9*FP3|IZf^O&tDX`hIcd90gi>+J?{C6& z=|}93M>lzYWjb`iJn<b@Zhx4^ntL_b7KgP@%~QL3>|4`A@mER7Qxz+A-8*OB5qh69 z%VqYiU%wwtnq<QAN<{AWzln_s;m0eL5?pHk&UxM^c{gN^XVlrfw{@pkz2u!Pe%$AS Z`NRvI%9}M-1>E`1ZgS(ml(ozZ3;-Hn10DbX literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/az.1804c238d269.js b/static/admin/js/vendor/select2/i18n/az.1804c238d269.js new file mode 100644 index 0000000..7055763 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/az.1804c238d269.js @@ -0,0 +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/az",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return t+" simvol silin"},inputTooShort:function(e){var t=e.minimum-e.input.length;return t+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(e){return"Sadəcə "+e.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"},removeAllItems:function(){return"Bütün elementləri sil"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/az.1804c238d269.js.gz b/static/admin/js/vendor/select2/i18n/az.1804c238d269.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..a9a8921a5b0169e45f83cb12879add5b8744d0cd GIT binary patch literal 430 zcmb2|=3oE;rvJH<_WB(*5I9~w?@)>ZrwF@%&<auJcxE95$D0Dpvty*2?YnAMaxE2F ze^I<)XZ7}ym)RdwEL2uTO?>IM@BiO-_1g}=^}WQ#C@43<d6#?t33g9`-`gbHZ2LTK zEu1)Qp{~m58-lxpz0w4IDr!sXDsS&wVx)Ha;jy;+zM(BK+V&D3*Zr@V-c)(}mX^}n zRa2)-+c8V|REiAG48?+==xoUYS2UPR+VsL7R8KYCSHH&T+dEUa`BK_pTz@-O*LCqn z#b;m5);lfG^C_}|>5IPu>k2uw-43eKMKe!j$-JvLQe=7I5bMFI=6NAU$`<inQ&J7L zOfHv=Ywo#g;HdELG1u9cOS><!&HDfCgI>fTk8f++U3Aq>EI!(@Cv~&<#u*xUb$0t@ z7Ho;zqjx0xnwQt?qurkOUcc1|FD;8{XK6j+^zChz?7I!ecIn=e4SQL=VWmU#<5$~0 zHLbCq&vo+A&nsIa64bnYyz14D_G>@UbNSrzrMb*O{0~Apv{@p}pXkg^Gz*@3`i}JZ o_`}lu#~qVH{<NokHI#X8`c%zc!+80p=4<*5iZ8$aWMW_d0FoTbb^rhX literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/az.js b/static/admin/js/vendor/select2/i18n/az.js new file mode 100644 index 0000000..7055763 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/az.js @@ -0,0 +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/az",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return t+" simvol silin"},inputTooShort:function(e){var t=e.minimum-e.input.length;return t+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(e){return"Sadəcə "+e.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"},removeAllItems:function(){return"Bütün elementləri sil"}}}),{define:e.define,require:e.require}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/az.js.gz b/static/admin/js/vendor/select2/i18n/az.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..a9a8921a5b0169e45f83cb12879add5b8744d0cd GIT binary patch literal 430 zcmb2|=3oE;rvJH<_WB(*5I9~w?@)>ZrwF@%&<auJcxE95$D0Dpvty*2?YnAMaxE2F ze^I<)XZ7}ym)RdwEL2uTO?>IM@BiO-_1g}=^}WQ#C@43<d6#?t33g9`-`gbHZ2LTK zEu1)Qp{~m58-lxpz0w4IDr!sXDsS&wVx)Ha;jy;+zM(BK+V&D3*Zr@V-c)(}mX^}n zRa2)-+c8V|REiAG48?+==xoUYS2UPR+VsL7R8KYCSHH&T+dEUa`BK_pTz@-O*LCqn z#b;m5);lfG^C_}|>5IPu>k2uw-43eKMKe!j$-JvLQe=7I5bMFI=6NAU$`<inQ&J7L zOfHv=Ywo#g;HdELG1u9cOS><!&HDfCgI>fTk8f++U3Aq>EI!(@Cv~&<#u*xUb$0t@ z7Ho;zqjx0xnwQt?qurkOUcc1|FD;8{XK6j+^zChz?7I!ecIn=e4SQL=VWmU#<5$~0 zHLbCq&vo+A&nsIa64bnYyz14D_G>@UbNSrzrMb*O{0~Apv{@p}pXkg^Gz*@3`i}JZ o_`}lu#~qVH{<NokHI#X8`c%zc!+80p=4<*5iZ8$aWMW_d0FoTbb^rhX literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/bg.096f4410173b.js b/static/admin/js/vendor/select2/i18n/bg.096f4410173b.js new file mode 100644 index 0000000..1d8b721 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/bg.096f4410173b.js @@ -0,0 +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/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/static/admin/js/vendor/select2/i18n/bg.096f4410173b.js.gz b/static/admin/js/vendor/select2/i18n/bg.096f4410173b.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..8b7ee56814e57a05a07da25d63ad720e0274cdc1 GIT binary patch literal 549 zcmb2|=3oE;rvJT@4(45U5NLZ}+m*^c@vcR7(*%c=K`jCNQ@Mm%q#r#{nVm9mZ}gi| zR<3E6yjEoCTNW`Y7Cw+!w9I9RZ(QOx(F&nsg>#l2a+*_SYy9u|@ATt$_c=@5d9GXA ze<!{CCiADpFI((-vew-e-6d`w>CKuqW$K#q%hu1zd*C{&{oTQTllP|g+KO#Cxo!8> z)Y7Dzmz+FLzw7S%`mFNI;qOa>$~N`g*|BMAjAKWo<88Z7PKRE%?wmW}wZ)W{&1Ua8 zPU_BD-1*A+rP=N)m0xe&bU69yx0BqlUrU47y~?s*n{5A`sUQ11C-Ojz-tJxD4|P7= z>r~*AiCq3c@|l6LGgERgU-FCttUhNreL5`FwyZfl<p9$&(H%{KXC8>3F=Pz>BeUH8 zl1$|LFmF}wX|Jy=-li<9o}Tq3WCiy^CdJ^cQ@MNUoe$ob^KfG0U-^#pd$vuuyIkwZ z*8Oho4~2WqFj&VV^-r|)bp33$pZ$L3qcv?)-wNl8N1UwCFLt@2SkU`8YQYDNkIO1+ z`X0P~xtOu)^Mln7^1e=VEBW$OxK4qU>%y(K9Hk|XJia!$Z(P4v$vggxLG3!8M_e0& z>aQEP=ASOqGpL!^dPYFj?GAUe?Z%zf=1KR@?37&MeDKp%7bm$D%KvVB|8C09#ko%} zTB-TxjDOR9$}fMP>Q~sljAirYRMt~TWnPn2HqNcv_HAp;|BaV#N3>)nlpfYPeeWmp M4w3v>511Jk0D(~!U;qFB literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/bg.js b/static/admin/js/vendor/select2/i18n/bg.js new file mode 100644 index 0000000..1d8b721 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/bg.js @@ -0,0 +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/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/static/admin/js/vendor/select2/i18n/bg.js.gz b/static/admin/js/vendor/select2/i18n/bg.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..8b7ee56814e57a05a07da25d63ad720e0274cdc1 GIT binary patch literal 549 zcmb2|=3oE;rvJT@4(45U5NLZ}+m*^c@vcR7(*%c=K`jCNQ@Mm%q#r#{nVm9mZ}gi| zR<3E6yjEoCTNW`Y7Cw+!w9I9RZ(QOx(F&nsg>#l2a+*_SYy9u|@ATt$_c=@5d9GXA ze<!{CCiADpFI((-vew-e-6d`w>CKuqW$K#q%hu1zd*C{&{oTQTllP|g+KO#Cxo!8> z)Y7Dzmz+FLzw7S%`mFNI;qOa>$~N`g*|BMAjAKWo<88Z7PKRE%?wmW}wZ)W{&1Ua8 zPU_BD-1*A+rP=N)m0xe&bU69yx0BqlUrU47y~?s*n{5A`sUQ11C-Ojz-tJxD4|P7= z>r~*AiCq3c@|l6LGgERgU-FCttUhNreL5`FwyZfl<p9$&(H%{KXC8>3F=Pz>BeUH8 zl1$|LFmF}wX|Jy=-li<9o}Tq3WCiy^CdJ^cQ@MNUoe$ob^KfG0U-^#pd$vuuyIkwZ z*8Oho4~2WqFj&VV^-r|)bp33$pZ$L3qcv?)-wNl8N1UwCFLt@2SkU`8YQYDNkIO1+ z`X0P~xtOu)^Mln7^1e=VEBW$OxK4qU>%y(K9Hk|XJia!$Z(P4v$vggxLG3!8M_e0& z>aQEP=ASOqGpL!^dPYFj?GAUe?Z%zf=1KR@?37&MeDKp%7bm$D%KvVB|8C09#ko%} zTB-TxjDOR9$}fMP>Q~sljAirYRMt~TWnPn2HqNcv_HAp;|BaV#N3>)nlpfYPeeWmp M4w3v>511Jk0D(~!U;qFB literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/bn.b33721dc9b8a.js b/static/admin/js/vendor/select2/i18n/bn.b33721dc9b8a.js new file mode 100644 index 0000000..4b0e03e --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/bn.b33721dc9b8a.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/bn.b33721dc9b8a.js.gz b/static/admin/js/vendor/select2/i18n/bn.b33721dc9b8a.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..dca14b0af3a7696626da37e817167d558175b30a GIT binary patch literal 560 zcmb2|=3oE;rvF<*9P=+5i0peGUSSz>a+)QNVx!g9mNEw|kAS?4_AQ087aWo6Yj#-5 z&X?T2QvHhJK}N;gJk|`K-3L@c{&m%Joi7UxI<e!e(EjP)Z{DxIUtP9gW1p3Zs%@e0 z-9zRda=&mLb$avstb&A!lHRTz$2Tc#pYZgSZ>0H&Loot!Ti)NjTYKT=(a09Frmd#i z<1ftfkSN`oc&U88oeoF+&5RqO-!qRM>3*D5_t2nw&vQlhC85%{AG(OlQEF1Y<gZaU z*Jx|XZ$92#S3b^v^K)v5PMwEE`ku3gG!`~LvrlwCsqYo1VX5C+p7raN#Qq6!%iO){ zn6ei=v0QNASK5IOe^)-?NqF_;h~!VsyZT3xkKJ11<-BL1p63=0Gln@rRstWz4o3b^ zI@xt*xvs}Uhxtn~8*6ep^t?~KR4g((x{Uds`|Qh&eHk~(JDTg$%IYq7s4n&6;A@`a zb?``4_U?-X>-$f9emVb_wc+DMVGTM9cRgAgs_D@1e^OKZswd&vwidyMtyen6%{Z~q zv&fa<gx=P_`_EgfoZD#b)~NjDy2%=!14}2p=bazOkjxVsUvlxDy3p0@xrSGj8s7z2 z2mhG2@TkN~o@3iW&Z?xJUTM8?QoY&4V&03=;aM@4ZluLquYcY>(f_9MB=MCevQ6ho zJWVs5b&L7_wCOKic~6}@;rpZ2dhd#6)Jr7iv?a&sCdA#}cJajL_HUw@)6RFEKe<`y X;jiO|n5Mjb`-knp;yg!vRt5$DDJmEr literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/bn.js b/static/admin/js/vendor/select2/i18n/bn.js new file mode 100644 index 0000000..4b0e03e --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/bn.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/bn.js.gz b/static/admin/js/vendor/select2/i18n/bn.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..dca14b0af3a7696626da37e817167d558175b30a GIT binary patch literal 560 zcmb2|=3oE;rvF<*9P=+5i0peGUSSz>a+)QNVx!g9mNEw|kAS?4_AQ087aWo6Yj#-5 z&X?T2QvHhJK}N;gJk|`K-3L@c{&m%Joi7UxI<e!e(EjP)Z{DxIUtP9gW1p3Zs%@e0 z-9zRda=&mLb$avstb&A!lHRTz$2Tc#pYZgSZ>0H&Loot!Ti)NjTYKT=(a09Frmd#i z<1ftfkSN`oc&U88oeoF+&5RqO-!qRM>3*D5_t2nw&vQlhC85%{AG(OlQEF1Y<gZaU z*Jx|XZ$92#S3b^v^K)v5PMwEE`ku3gG!`~LvrlwCsqYo1VX5C+p7raN#Qq6!%iO){ zn6ei=v0QNASK5IOe^)-?NqF_;h~!VsyZT3xkKJ11<-BL1p63=0Gln@rRstWz4o3b^ zI@xt*xvs}Uhxtn~8*6ep^t?~KR4g((x{Uds`|Qh&eHk~(JDTg$%IYq7s4n&6;A@`a zb?``4_U?-X>-$f9emVb_wc+DMVGTM9cRgAgs_D@1e^OKZswd&vwidyMtyen6%{Z~q zv&fa<gx=P_`_EgfoZD#b)~NjDy2%=!14}2p=bazOkjxVsUvlxDy3p0@xrSGj8s7z2 z2mhG2@TkN~o@3iW&Z?xJUTM8?QoY&4V&03=;aM@4ZluLquYcY>(f_9MB=MCevQ6ho zJWVs5b&L7_wCOKic~6}@;rpZ2dhd#6)Jr7iv?a&sCdA#}cJajL_HUw@)6RFEKe<`y X;jiO|n5Mjb`-knp;yg!vRt5$DDJmEr literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/bs.debce43cfca2.js b/static/admin/js/vendor/select2/i18n/bs.debce43cfca2.js new file mode 100644 index 0000000..c9a013c --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/bs.debce43cfca2.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/bs.debce43cfca2.js.gz b/static/admin/js/vendor/select2/i18n/bs.debce43cfca2.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..2a99d551ca66b1e0acfd805e2a74eeeff107296d GIT binary patch literal 535 zcmb2|=3oE;rvFnX-_N^cAad;eZ;^FN7cSYs=jbsz<8s!ls=&^&`iS+*Vl4_7oO3n{ zOXoT)*?UNCp?P&rY_Isu$!8QDW=_ex)%tkx<H?`@{<+zA&d*ccNaBXs%MW7pe%Dfx z-rBr(yBKk+)BERv6&mZk_=;!EGzn7L-Vpfy+tstR|Jzn8T6X*SHBG$Ctli6ZXsQhB z<?VbQycY+aty$9Vv@bh+@*^kS!>tZXo^NllHkGd6{Giygq^;rI#gsoz?wNi!+xy>e zq{<6%G(;|wY+GI1pI)f#`N(ZCPt<ZxnfTjzlJTl<wJK+pNcAS{u94h+{dI1MX!)V+ zyGIvgZDw+5wpDHm>fh~t>Z(y~^Mh$YoVKismj2&S^KSW>f+&NP&(G~MUzXnYf9u0l zTO8D<<#SiCRpqEZpQimWQfs+{+LzL<qR$$-0=KUCdKIk<ntXAu;|(8$3q3(@N6T7x z=70Gm+`KI;z%y2B&VS8VF1s^#9DMf1z4Bh3_W6hXp~$D_=Q{pqcfWm(!+UyU;?ec% z@9*{9of|GL)@J(P%ekDohW5$c6Blim^u$Thzv9Chm90sJ)(x+OzMKqtWuyB;(RQQW z472wN-vugp-|sEI*Y(QcdB&C>KY6!&Twuu|<MXddP^ar-o;SxSod>DY?nVWaO7U+# w^Wsy*XV#D>4&945Zm!z(^X^~a4{Pl#J5!Uyf38y4^Mm)}{(Wa2Gczy%05Z)AjsO4v literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/bs.js b/static/admin/js/vendor/select2/i18n/bs.js new file mode 100644 index 0000000..c9a013c --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/bs.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/bs.js.gz b/static/admin/js/vendor/select2/i18n/bs.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..2a99d551ca66b1e0acfd805e2a74eeeff107296d GIT binary patch literal 535 zcmb2|=3oE;rvFnX-_N^cAad;eZ;^FN7cSYs=jbsz<8s!ls=&^&`iS+*Vl4_7oO3n{ zOXoT)*?UNCp?P&rY_Isu$!8QDW=_ex)%tkx<H?`@{<+zA&d*ccNaBXs%MW7pe%Dfx z-rBr(yBKk+)BERv6&mZk_=;!EGzn7L-Vpfy+tstR|Jzn8T6X*SHBG$Ctli6ZXsQhB z<?VbQycY+aty$9Vv@bh+@*^kS!>tZXo^NllHkGd6{Giygq^;rI#gsoz?wNi!+xy>e zq{<6%G(;|wY+GI1pI)f#`N(ZCPt<ZxnfTjzlJTl<wJK+pNcAS{u94h+{dI1MX!)V+ zyGIvgZDw+5wpDHm>fh~t>Z(y~^Mh$YoVKismj2&S^KSW>f+&NP&(G~MUzXnYf9u0l zTO8D<<#SiCRpqEZpQimWQfs+{+LzL<qR$$-0=KUCdKIk<ntXAu;|(8$3q3(@N6T7x z=70Gm+`KI;z%y2B&VS8VF1s^#9DMf1z4Bh3_W6hXp~$D_=Q{pqcfWm(!+UyU;?ec% z@9*{9of|GL)@J(P%ekDohW5$c6Blim^u$Thzv9Chm90sJ)(x+OzMKqtWuyB;(RQQW z472wN-vugp-|sEI*Y(QcdB&C>KY6!&Twuu|<MXddP^ar-o;SxSod>DY?nVWaO7U+# w^Wsy*XV#D>4&945Zm!z(^X^~a4{Pl#J5!Uyf38y4^Mm)}{(Wa2Gczy%05Z)AjsO4v literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/ca.60f20182ff18.js b/static/admin/js/vendor/select2/i18n/ca.60f20182ff18.js new file mode 100644 index 0000000..acb7af6 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/ca.60f20182ff18.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/ca.60f20182ff18.js.gz b/static/admin/js/vendor/select2/i18n/ca.60f20182ff18.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..0fa028147375981e38bb79be86dc16bbf26c05f1 GIT binary patch literal 480 zcmb2|=3oE;rvGy%ozD|C6gc+2mg{=^hTA!NSri+C)(Ui0tq@VV_@&LlV)y1q<^P<I z3qwVeK5E!1ew3-4Y{z*n?-I)mVfB8S$20GLul&?qY{t&3x;JV4QSXm!wduSUPxXJU zS-FCfJJ4$K?{!ap#$;?i(ffsEhJU`=_02!G8i?*basJ#Ss~eN1Z1&t0R{H5_GQ%G; ziIU|j-g;_$dt0@x#U!*!f1=~X*}I(<G)!w;u^>!LsLmmH@pdzP)$?|>=llY8{W4Xs znqw8Ixm)J{<Y&PrPrX%E(oxM;S-teyq#tU*Wuh<6?ObVH%l5LW-GjAbn?uG1?<_q> ziJuF63})*7h}rnyrq}5Sh8Iq0XiLgpny@)Y$^ONHMG|{AA8yK*Kb@f^FQ0tgxLRd~ zIp0cg#j<;6_xurlmd}#P87t~w`-i{v-JIVK1gh@LK5@;``%F%KW!r;hHP3%9kDq_> z@ZRLS+Y4S@JdnPwmP7EGV0QhM9#O-S?dO-dJ)2>W&?&z?VZOD#TeG9n#9N<D7W<~% z&Gmj*U69`QQ@pol(?wks*-GU#?47BX_p1mWFzR{}q9{?$|9<N}MT6SlcLGex?t#<3 pv465i+U&Wxbo-vihsBQP#Wx?id(^Hg)U)cV^jG$n6U&$x7y!i|=WYN1 literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/ca.js b/static/admin/js/vendor/select2/i18n/ca.js new file mode 100644 index 0000000..acb7af6 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/ca.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/ca.js.gz b/static/admin/js/vendor/select2/i18n/ca.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..0fa028147375981e38bb79be86dc16bbf26c05f1 GIT binary patch literal 480 zcmb2|=3oE;rvGy%ozD|C6gc+2mg{=^hTA!NSri+C)(Ui0tq@VV_@&LlV)y1q<^P<I z3qwVeK5E!1ew3-4Y{z*n?-I)mVfB8S$20GLul&?qY{t&3x;JV4QSXm!wduSUPxXJU zS-FCfJJ4$K?{!ap#$;?i(ffsEhJU`=_02!G8i?*basJ#Ss~eN1Z1&t0R{H5_GQ%G; ziIU|j-g;_$dt0@x#U!*!f1=~X*}I(<G)!w;u^>!LsLmmH@pdzP)$?|>=llY8{W4Xs znqw8Ixm)J{<Y&PrPrX%E(oxM;S-teyq#tU*Wuh<6?ObVH%l5LW-GjAbn?uG1?<_q> ziJuF63})*7h}rnyrq}5Sh8Iq0XiLgpny@)Y$^ONHMG|{AA8yK*Kb@f^FQ0tgxLRd~ zIp0cg#j<;6_xurlmd}#P87t~w`-i{v-JIVK1gh@LK5@;``%F%KW!r;hHP3%9kDq_> z@ZRLS+Y4S@JdnPwmP7EGV0QhM9#O-S?dO-dJ)2>W&?&z?VZOD#TeG9n#9N<D7W<~% z&Gmj*U69`QQ@pol(?wks*-GU#?47BX_p1mWFzR{}q9{?$|9<N}MT6SlcLGex?t#<3 pv465i+U&Wxbo-vihsBQP#Wx?id(^Hg)U)cV^jG$n6U&$x7y!i|=WYN1 literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/cs.edd7167cdcb6.js b/static/admin/js/vendor/select2/i18n/cs.edd7167cdcb6.js new file mode 100644 index 0000000..e7cbd27 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/cs.edd7167cdcb6.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/cs.edd7167cdcb6.js.gz b/static/admin/js/vendor/select2/i18n/cs.edd7167cdcb6.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..d337cf3cfa5cc2952a4a9030e3b7cc34550f9f00 GIT binary patch literal 630 zcmb2|=3oE;rvI%WXZ>zF2<-bT(#?N@Z8KZf6|KycRb9+N7vxvPt&%hQrc$<Pp6~VS z?S4`#kH`ID5LJ)YD(t9W+F?;Q(a!UFr!14{+oRU={yuyDJFR@~Ti+r^nV3=szL#>f zUi*aNR|Z}wnp3yn&kpZcL92^Go1%8dl+2yr%C)4p>eHtme;&<fle<}FW_Bj7XB`*I ztZOPSW;UA}o+!!A-g!xG-OMds*B>m>`Ld?PlWFd;z1vtsy;U4+U$Am43*0XD#@_jO zFVFA8?$v9j-cm_uTD!*ci)FyN{3g@FNR}rHLRCZD+ol^VUb_FY_u{=bYJzg5R{f9+ z*?0Js`TvENF4?aAmz~TM#8s&^Lp)*s)@z=v)${MW$m~h<5^#F>c}mG=Y1auaTN*S? zmz6avj@T>wC}d6gg|pKSCAeQ?Z74dh?^C%b@6G87J%^*D-;{jo@3|i2@>6Ha$r+Uf z0S+vZ4eTDrPPD0<Szl1+*(+xEUdF7cSJvR-y*r!BdR#rK#4qz4=Zc6~KcPHCuSPLc zdAh-YO+WAcUi0s8Due5?XVbHL<dz2|+aBxIng7>!&BTk%8rSz9->~G^bY(kXA*o|E z>z>a%FCzV->(`AdM<-YP+Q0wrCCgPOb@P=f&N7+$eqXagFVFG2r5_9blss{7LjyJC zgRX_vJ>g9@Eqb4xN?sRUwe^Pn))h?RMSrZ>!ZReMc`c~m4m=ZjWeKywV}onzvqiR7 zK1;0I8kU*meqhOK`=ZdG`0T0ap7RpzqP5h%F7<rC`dpps(6XlWdptbDYObGEcV%0* rUi&(0@5_>`o0FejzPReXz}(NlGAAwtMoOhdy|sUn@kdRCm4N{OW<D*x literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/cs.js b/static/admin/js/vendor/select2/i18n/cs.js new file mode 100644 index 0000000..e7cbd27 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/cs.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/cs.js.gz b/static/admin/js/vendor/select2/i18n/cs.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..d337cf3cfa5cc2952a4a9030e3b7cc34550f9f00 GIT binary patch literal 630 zcmb2|=3oE;rvI%WXZ>zF2<-bT(#?N@Z8KZf6|KycRb9+N7vxvPt&%hQrc$<Pp6~VS z?S4`#kH`ID5LJ)YD(t9W+F?;Q(a!UFr!14{+oRU={yuyDJFR@~Ti+r^nV3=szL#>f zUi*aNR|Z}wnp3yn&kpZcL92^Go1%8dl+2yr%C)4p>eHtme;&<fle<}FW_Bj7XB`*I ztZOPSW;UA}o+!!A-g!xG-OMds*B>m>`Ld?PlWFd;z1vtsy;U4+U$Am43*0XD#@_jO zFVFA8?$v9j-cm_uTD!*ci)FyN{3g@FNR}rHLRCZD+ol^VUb_FY_u{=bYJzg5R{f9+ z*?0Js`TvENF4?aAmz~TM#8s&^Lp)*s)@z=v)${MW$m~h<5^#F>c}mG=Y1auaTN*S? zmz6avj@T>wC}d6gg|pKSCAeQ?Z74dh?^C%b@6G87J%^*D-;{jo@3|i2@>6Ha$r+Uf z0S+vZ4eTDrPPD0<Szl1+*(+xEUdF7cSJvR-y*r!BdR#rK#4qz4=Zc6~KcPHCuSPLc zdAh-YO+WAcUi0s8Due5?XVbHL<dz2|+aBxIng7>!&BTk%8rSz9->~G^bY(kXA*o|E z>z>a%FCzV->(`AdM<-YP+Q0wrCCgPOb@P=f&N7+$eqXagFVFG2r5_9blss{7LjyJC zgRX_vJ>g9@Eqb4xN?sRUwe^Pn))h?RMSrZ>!ZReMc`c~m4m=ZjWeKywV}onzvqiR7 zK1;0I8kU*meqhOK`=ZdG`0T0ap7RpzqP5h%F7<rC`dpps(6XlWdptbDYObGEcV%0* rUi&(0@5_>`o0FejzPReXz}(NlGAAwtMoOhdy|sUn@kdRCm4N{OW<D*x literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/da.6bbc262044b3.js b/static/admin/js/vendor/select2/i18n/da.6bbc262044b3.js new file mode 100644 index 0000000..2692bd0 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/da.6bbc262044b3.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/da.6bbc262044b3.js.gz b/static/admin/js/vendor/select2/i18n/da.6bbc262044b3.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..7b93d7b024916b1d941f88b7b660dd771dd27dc1 GIT binary patch literal 451 zcmb2|=3oE;rvJS`j(N8Y1ok`^<>7A=(GCd~$#{66UBQ!)Ij`~BUQyc%*SwN^^n$ZA zw-m5GF|Bic|Iaf{$ZAro=tV{GNjGHQojI3RRdz~jL85E^P3w<td(!J8JWJwzFKr13 z`L#46a&nmNlM4N<vCG`TSoG$eUzcyMpVxZwMr2iy&{MhaB|2^&-JV{&E6)G!d&ZS} zO2_X7mpo;2a+;;HZfUZC?3q|Ah4&L0Pbh?Q2-<rDi_06FRq@~V-=iuh>JQtT&3SpL z%Qno|<MDZYK&7wImevE;<PNXA_PQWpS@~@)t%I{&9`0S9f9+iEezqgC_r}d?s$k>b zjR>gZJ9HxcRK;b_XW<bmW?gNF5*0PHTV|Nf!fGU(A@fB-Y-y>9hv0(Wv!4H-ytj#I z9%sqx1M0664zxyIUz@y>ui{zXIvcy3!|&HEEX!Ar7C4b_6YYH``oycdVd4TVGIKeS z4k&!6cYY(Z{Brk2jYS`)Sj(wjQOUU78Pcr9ePEuMn1W=$h499b)kPJDy6@h9bfKL& zIeW*YDz}6-4ZC}-t_eZe2@AuSB{C{5n-p%!yq;HdV}HQw<>7hqFX9+Qk52dBb6xF3 I0y6^x0ODBAX#fBK literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/da.js b/static/admin/js/vendor/select2/i18n/da.js new file mode 100644 index 0000000..2692bd0 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/da.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/da.js.gz b/static/admin/js/vendor/select2/i18n/da.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..7b93d7b024916b1d941f88b7b660dd771dd27dc1 GIT binary patch literal 451 zcmb2|=3oE;rvJS`j(N8Y1ok`^<>7A=(GCd~$#{66UBQ!)Ij`~BUQyc%*SwN^^n$ZA zw-m5GF|Bic|Iaf{$ZAro=tV{GNjGHQojI3RRdz~jL85E^P3w<td(!J8JWJwzFKr13 z`L#46a&nmNlM4N<vCG`TSoG$eUzcyMpVxZwMr2iy&{MhaB|2^&-JV{&E6)G!d&ZS} zO2_X7mpo;2a+;;HZfUZC?3q|Ah4&L0Pbh?Q2-<rDi_06FRq@~V-=iuh>JQtT&3SpL z%Qno|<MDZYK&7wImevE;<PNXA_PQWpS@~@)t%I{&9`0S9f9+iEezqgC_r}d?s$k>b zjR>gZJ9HxcRK;b_XW<bmW?gNF5*0PHTV|Nf!fGU(A@fB-Y-y>9hv0(Wv!4H-ytj#I z9%sqx1M0664zxyIUz@y>ui{zXIvcy3!|&HEEX!Ar7C4b_6YYH``oycdVd4TVGIKeS z4k&!6cYY(Z{Brk2jYS`)Sj(wjQOUU78Pcr9ePEuMn1W=$h499b)kPJDy6@h9bfKL& zIeW*YDz}6-4ZC}-t_eZe2@AuSB{C{5n-p%!yq;HdV}HQw<>7hqFX9+Qk52dBb6xF3 I0y6^x0ODBAX#fBK literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/de.630e81c65a7b.js b/static/admin/js/vendor/select2/i18n/de.630e81c65a7b.js new file mode 100644 index 0000000..8257c6f --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/de.630e81c65a7b.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/de.630e81c65a7b.js.gz b/static/admin/js/vendor/select2/i18n/de.630e81c65a7b.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..9d27a57cb37f04d93d16a34c50e9de6697c267c8 GIT binary patch literal 490 zcmb2|=3oE;rvJ4;XY;NY2<-c=*~5P|&%9K_i78i9u`X;yl4H|TmPZrj-#lU>CtiK0 zX_|)($8pjA1Kdx1D}>Z$Z@Jsmak=OC<DYdlA1~T&Y?3OfQjlBq`_;rBdRmLP?fV}G z1&bO@jTZjB@2Oha*0V{ItC+;~&(G7pw?^!g$RiCqiy3Q}pDoe#TPD4CUQM0!fm&;u zH;bbl$E|8BR92ljE2(Ox730YlcULlV@v*L8x+ayVw0`Bw$;Tzc6&Cl;Uu3IQ`=4#j z=Df_yPRW-4pGWPxpdhxcg=gz`g>$+}j9gbLT^F@j>Ha8T?Q5RoyX2$Nh3f3-W%W`% z=CZ|J4sWGGcq4*Jc}^{f-^!V$pg%uTNubEhSksOn`Ayqmy~a{w#}f?S1Hz`3ns6nX zloj{CXZpu~%%PNh@jKnhT-lx*n^Nxnog7{K@6V5;@7Y}cayc3v@>_S~^5<{nN$DvC zK2MHusBO96;dig@dBJ3rlP85|sT%1%-P8Sc+Y|e@MibfUujXlsoorQe`ps9f;$*)- z{ZS#uE%wF*b1E+#W4YGzXZoF(H%qELV&i(>AJ*Csy*G&cSlpq@yX=$=k|Vg6m|C=X yzm_`Uogm@=c3NP{Ws}Ppm-Ao!sY<PUG<`vAxP;NWSw8;%nbIsn&P`@!U;qHLfZ_-M literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/de.js b/static/admin/js/vendor/select2/i18n/de.js new file mode 100644 index 0000000..8257c6f --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/de.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/de.js.gz b/static/admin/js/vendor/select2/i18n/de.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..9d27a57cb37f04d93d16a34c50e9de6697c267c8 GIT binary patch literal 490 zcmb2|=3oE;rvJ4;XY;NY2<-c=*~5P|&%9K_i78i9u`X;yl4H|TmPZrj-#lU>CtiK0 zX_|)($8pjA1Kdx1D}>Z$Z@Jsmak=OC<DYdlA1~T&Y?3OfQjlBq`_;rBdRmLP?fV}G z1&bO@jTZjB@2Oha*0V{ItC+;~&(G7pw?^!g$RiCqiy3Q}pDoe#TPD4CUQM0!fm&;u zH;bbl$E|8BR92ljE2(Ox730YlcULlV@v*L8x+ayVw0`Bw$;Tzc6&Cl;Uu3IQ`=4#j z=Df_yPRW-4pGWPxpdhxcg=gz`g>$+}j9gbLT^F@j>Ha8T?Q5RoyX2$Nh3f3-W%W`% z=CZ|J4sWGGcq4*Jc}^{f-^!V$pg%uTNubEhSksOn`Ayqmy~a{w#}f?S1Hz`3ns6nX zloj{CXZpu~%%PNh@jKnhT-lx*n^Nxnog7{K@6V5;@7Y}cayc3v@>_S~^5<{nN$DvC zK2MHusBO96;dig@dBJ3rlP85|sT%1%-P8Sc+Y|e@MibfUujXlsoorQe`ps9f;$*)- z{ZS#uE%wF*b1E+#W4YGzXZoF(H%qELV&i(>AJ*Csy*G&cSlpq@yX=$=k|Vg6m|C=X yzm_`Uogm@=c3NP{Ws}Ppm-Ao!sY<PUG<`vAxP;NWSw8;%nbIsn&P`@!U;qHLfZ_-M literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/dsb.9c2742bfc55a.js b/static/admin/js/vendor/select2/i18n/dsb.9c2742bfc55a.js new file mode 100644 index 0000000..242df33 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/dsb.9c2742bfc55a.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/dsb.9c2742bfc55a.js.gz b/static/admin/js/vendor/select2/i18n/dsb.9c2742bfc55a.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..0264b2f36098544769b85be95e859a558a702b1c GIT binary patch literal 555 zcmb2|=3oE;rvJIYXY(#Q2<-c=In6et?C~vM4JK6yPDlQ!K_OBqe1Uw@)sxn2wolx9 zdqSJX9(VtpADC<pFa6<KA#`nH^704W-#?#uV}8Hp8;kn+3k(u2yPD7aHU6*qt1T@` z|5BcS&&qi-H_Cg;EphcM?VBmXK4*zk$c6ni<sTCZ9)6aX%i`{S?nsA6u%=A8ue#r- ziw#k-^5V<w1=%m?zm#&ad$_UMTcl}&;q~AJy+Ry+B-BD0n!jJl_&t^5QAy9<hbOEr z1Wn-mI9K6L%I%#;?#a0aJhrqvP}J!@@0|WbR^R89Y3v@Y8LeeomDX5g`M=@0kSMY3 zZqPc3dA(Js8-m$yyME{`b=uE&{<X_;pBDXBH$GonHm8o)%k%1Vm1Rk{Y-eosczj+h zb^rUvmaa;TDyAB&BEoJLWjn)WrF^%$R}rGq^G_u;UasiHAp_B@`tS$F0>QS{SMAi} zHO==-X;{B`txvd&;iO#OrULJ+8)~`SD<52Y(>ya|*Ti|j6F<+j%l)Fi_v??3ifWuf zE)Iu;PpJP|FRi_1$0RPPHx>R7+e90tP1U{Df2ixopP&B@&kE!V&tW-Y${C^)-p_wi ze`ao=Q_GgUiSIpDE~)yy<@O<O<FKU{o$fhg&G3_6l4`G5x9H5jhLk+_t>1$bv}T#s zKg?cz*DtUm{J>M)J*jVknDbv1ZPs>ZF?9JXwC83{Onz)mK>2>JY0tYCYVl7w5oVe9 OUf<a3TcS1#0|Nj*$^%^h literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/dsb.js b/static/admin/js/vendor/select2/i18n/dsb.js new file mode 100644 index 0000000..242df33 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/dsb.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/dsb.js.gz b/static/admin/js/vendor/select2/i18n/dsb.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..0264b2f36098544769b85be95e859a558a702b1c GIT binary patch literal 555 zcmb2|=3oE;rvJIYXY(#Q2<-c=In6et?C~vM4JK6yPDlQ!K_OBqe1Uw@)sxn2wolx9 zdqSJX9(VtpADC<pFa6<KA#`nH^704W-#?#uV}8Hp8;kn+3k(u2yPD7aHU6*qt1T@` z|5BcS&&qi-H_Cg;EphcM?VBmXK4*zk$c6ni<sTCZ9)6aX%i`{S?nsA6u%=A8ue#r- ziw#k-^5V<w1=%m?zm#&ad$_UMTcl}&;q~AJy+Ry+B-BD0n!jJl_&t^5QAy9<hbOEr z1Wn-mI9K6L%I%#;?#a0aJhrqvP}J!@@0|WbR^R89Y3v@Y8LeeomDX5g`M=@0kSMY3 zZqPc3dA(Js8-m$yyME{`b=uE&{<X_;pBDXBH$GonHm8o)%k%1Vm1Rk{Y-eosczj+h zb^rUvmaa;TDyAB&BEoJLWjn)WrF^%$R}rGq^G_u;UasiHAp_B@`tS$F0>QS{SMAi} zHO==-X;{B`txvd&;iO#OrULJ+8)~`SD<52Y(>ya|*Ti|j6F<+j%l)Fi_v??3ifWuf zE)Iu;PpJP|FRi_1$0RPPHx>R7+e90tP1U{Df2ixopP&B@&kE!V&tW-Y${C^)-p_wi ze`ao=Q_GgUiSIpDE~)yy<@O<O<FKU{o$fhg&G3_6l4`G5x9H5jhLk+_t>1$bv}T#s zKg?cz*DtUm{J>M)J*jVknDbv1ZPs>ZF?9JXwC83{Onz)mK>2>JY0tYCYVl7w5oVe9 OUf<a3TcS1#0|Nj*$^%^h literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/el.01c46bf8c8b3.js b/static/admin/js/vendor/select2/i18n/el.01c46bf8c8b3.js new file mode 100644 index 0000000..46503bc --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/el.01c46bf8c8b3.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/el.01c46bf8c8b3.js.gz b/static/admin/js/vendor/select2/i18n/el.01c46bf8c8b3.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..b7b18868537fbb2f7a70d24b093d6e759ec49f10 GIT binary patch literal 650 zcmb2|=3oE;rvIhEj`>24BKy9F>r^Z3PPNYN?QCmnHncTy6h1op<Awta*=6ak-sCKH z6w=7Zy<}qeF~z3Bz*dw;DT(!o{Fy)O^_}@;kq1huZ@fA4{oa}1_r9Oqyxlm8vwFv& z{Os}zx+US&i%l);c|L86Ew5D8S<LnIt%6_V-_vrsxAzGboO$!;VDn%1rL|AOx8_!7 zpI*_r<WQ^^&*qocdc^yk&%~u~{wRO-#4#b=_1=vW9*3V*ZqM8?LF#t$jP{-kiO|Bc zsy8kOXT5u8o0ROoeV*-hvlT~v`ks+Ub$t~Q8+1ON`}L#M5?M(ax04jBlXR9X(%+rL z=Hbs;$6#{(h|jjCGv9O=9%<v6;T*89*;w}G<mU}~PofRot4<f4Ogu3^C~C><uN!WL z?ET2(7RdC;VCCmyd~W+bpZe;2Ux_ugrg4+3#s}$rD{aD`u1~OJ`Vh1){Evz4@#0-- z{*!zd*f%X!fAzsB(R{Y42Vb7_t7S)xU;mAeV|KbG;>~-iLd*TWYS)!>|8s&ZPwAEL z{c0!@4q)DL<AEldl*_S#2V5WYGH!I2EtqDr@0#logO@B7RU5PUH4kT=i`DRU_!m5( zeo~bCJgxO+XJy@=#jOfX`nSE7u}zn^Bb_Nc_{)W(&tGsUXzX*n>-z6-YVHU2xSk)( zuQ}$QH15z{@OSEFuQrupMYmtS6!nFZPVd;1!N9im!x^df?$<s}bA2H!(;~-ziRGt+ z{k8WFTlDKXJ)d0sbL=|rUiKS_Q;+dZ{^(e$S=VH2yFtvP?`zVH<?cWBJ(n$bv;5N! zk^B56ZUq)~{0mNpob8#liX*BaRNX7Ub;(tuwP`ljf2JH*c;WPgRIZ413a1Ue|6_dW LQE~Mk3j+fH5SKbr literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/el.js b/static/admin/js/vendor/select2/i18n/el.js new file mode 100644 index 0000000..46503bc --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/el.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/el.js.gz b/static/admin/js/vendor/select2/i18n/el.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..b7b18868537fbb2f7a70d24b093d6e759ec49f10 GIT binary patch literal 650 zcmb2|=3oE;rvIhEj`>24BKy9F>r^Z3PPNYN?QCmnHncTy6h1op<Awta*=6ak-sCKH z6w=7Zy<}qeF~z3Bz*dw;DT(!o{Fy)O^_}@;kq1huZ@fA4{oa}1_r9Oqyxlm8vwFv& z{Os}zx+US&i%l);c|L86Ew5D8S<LnIt%6_V-_vrsxAzGboO$!;VDn%1rL|AOx8_!7 zpI*_r<WQ^^&*qocdc^yk&%~u~{wRO-#4#b=_1=vW9*3V*ZqM8?LF#t$jP{-kiO|Bc zsy8kOXT5u8o0ROoeV*-hvlT~v`ks+Ub$t~Q8+1ON`}L#M5?M(ax04jBlXR9X(%+rL z=Hbs;$6#{(h|jjCGv9O=9%<v6;T*89*;w}G<mU}~PofRot4<f4Ogu3^C~C><uN!WL z?ET2(7RdC;VCCmyd~W+bpZe;2Ux_ugrg4+3#s}$rD{aD`u1~OJ`Vh1){Evz4@#0-- z{*!zd*f%X!fAzsB(R{Y42Vb7_t7S)xU;mAeV|KbG;>~-iLd*TWYS)!>|8s&ZPwAEL z{c0!@4q)DL<AEldl*_S#2V5WYGH!I2EtqDr@0#logO@B7RU5PUH4kT=i`DRU_!m5( zeo~bCJgxO+XJy@=#jOfX`nSE7u}zn^Bb_Nc_{)W(&tGsUXzX*n>-z6-YVHU2xSk)( zuQ}$QH15z{@OSEFuQrupMYmtS6!nFZPVd;1!N9im!x^df?$<s}bA2H!(;~-ziRGt+ z{k8WFTlDKXJ)d0sbL=|rUiKS_Q;+dZ{^(e$S=VH2yFtvP?`zVH<?cWBJ(n$bv;5N! zk^B56ZUq)~{0mNpob8#liX*BaRNX7Ub;(tuwP`ljf2JH*c;WPgRIZ413a1Ue|6_dW LQE~Mk3j+fH5SKbr literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/en.aed9bad15375.js b/static/admin/js/vendor/select2/i18n/en.aed9bad15375.js new file mode 100644 index 0000000..caa668c --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/en.aed9bad15375.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/en.aed9bad15375.js.gz b/static/admin/js/vendor/select2/i18n/en.aed9bad15375.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..c913398bbc1d0f6972d40bd006d6837645393000 GIT binary patch literal 451 zcmb2|=3oE;rvJG?r}J(b2<&;TZDu18v?jnea6u!pY?D$uL*9jBJ4Iaiw`|!YG2!%- z{soQN3h|fuUr(Q6_S9W)u17(;@#f9Z^X4966211%w&ub6AMQVR=YIFk3!A3>a`%QO zTQ4s4p73{PNLpmpLz`Pgb-!Oe%PTxw%AEf6q~|rZReMdQJk7qD)*sJ&Yx+r*xqFr_ z)|P+aHgCrT-+wwf38qoIH@#?9b-0(H&1t-Cvzor%N|&Ug-{p@^oZ1q<c<Zrqy%{QN z)ACQfS?IjsMbjs~Ea4F56dN7EkUvel>9vY4HGi-tKYKQV@$=VXYu8W6XN*x?TT|W_ z(;Xkg9vg6UpN0tE!cIS1rrEzVn|BF^T`_dumVI)5nD}H*x656Y)5J?A#FQNS73iy* zsa*7L|F4N^K~p4DdRcRI<d)oxv+i0ca_)JD1ZPHvo*<9s-`c;z#ge~#PPd%x@cnj{ zWd&=a;#a23xQmzU7G?NWU3p`0d*KA8kIoAF^iSMTe<|2ro@RgW8cWt9)AmEx?*2F; zzB}sGp+#orE7o4gEirPd-_P0*kd=LH<G%Nwljd$K*cN^K#AjoV-IWq~f>WP{|7Td= L8Y-X9%)kHuVuRTb literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/en.js b/static/admin/js/vendor/select2/i18n/en.js new file mode 100644 index 0000000..caa668c --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/en.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/en.js.gz b/static/admin/js/vendor/select2/i18n/en.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..c913398bbc1d0f6972d40bd006d6837645393000 GIT binary patch literal 451 zcmb2|=3oE;rvJG?r}J(b2<&;TZDu18v?jnea6u!pY?D$uL*9jBJ4Iaiw`|!YG2!%- z{soQN3h|fuUr(Q6_S9W)u17(;@#f9Z^X4966211%w&ub6AMQVR=YIFk3!A3>a`%QO zTQ4s4p73{PNLpmpLz`Pgb-!Oe%PTxw%AEf6q~|rZReMdQJk7qD)*sJ&Yx+r*xqFr_ z)|P+aHgCrT-+wwf38qoIH@#?9b-0(H&1t-Cvzor%N|&Ug-{p@^oZ1q<c<Zrqy%{QN z)ACQfS?IjsMbjs~Ea4F56dN7EkUvel>9vY4HGi-tKYKQV@$=VXYu8W6XN*x?TT|W_ z(;Xkg9vg6UpN0tE!cIS1rrEzVn|BF^T`_dumVI)5nD}H*x656Y)5J?A#FQNS73iy* zsa*7L|F4N^K~p4DdRcRI<d)oxv+i0ca_)JD1ZPHvo*<9s-`c;z#ge~#PPd%x@cnj{ zWd&=a;#a23xQmzU7G?NWU3p`0d*KA8kIoAF^iSMTe<|2ro@RgW8cWt9)AmEx?*2F; zzB}sGp+#orE7o4gEirPd-_P0*kd=LH<G%Nwljd$K*cN^K#AjoV-IWq~f>WP{|7Td= L8Y-X9%)kHuVuRTb literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/es.8b21ebdb01ee.js b/static/admin/js/vendor/select2/i18n/es.8b21ebdb01ee.js new file mode 100644 index 0000000..b4d6965 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/es.8b21ebdb01ee.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/es.8b21ebdb01ee.js.gz b/static/admin/js/vendor/select2/i18n/es.8b21ebdb01ee.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..c8be6a8f5aebdad529db20f314afff355bca8d5a GIT binary patch literal 486 zcmb2|=3oE;rvGy%ozD|C6gc+2mg{<Z#`c?4oK8$jqZC&Ztq{@5*rCYRXFFSBt?j{j zB?Xs9p;ZrAe{oa_&ts`J&kT;xn`85-C#~+jdGNfslO#<P{se#Ou}wUGvV7B*x~Iod zcLvl+KJ!_i7aLym|D5!k>9ef)x6O%*^;?%NyiC<n+uv`KmBd5QSvvPuSpEK@*YMX$ zqC|i7*}xOu-d63CxNa0*?7iUC+1Q8=2c?*NoYwNBd}&zbrtibqCnj$v=B^R@mu-!! zwX5FL$e#aRm$Oy)PH1_sit!5G(Nl76?u#f`_%UYD;@eI$LqEJ1TwZa9^^>pCH_;8- z8cY+!>MHqsKI?n2$Ij^5=jxrc&n;RYV@ltP7QVj|mPLM9a4P)ji=~obCFR<Sj+V?x zns-R$j19w?X&JTpj&J6;&9hJY+3X;hAJ~@P^q=45^35M?x?dtHXYMf;>b!SX?)LZB z$IribaBt$fFAm>47Hqy7+gvEF(75HasG)ptNkx8!N*^chG3DAF9krjfNb$1G?7z_W zto6PaTYePR_wz@a1toMJW`6G%d)E-X@y-63*AI58Y!Oa#d@L1bdUh)NUGvOKdA6QM uZtUK>wz<tBbNAV9-||b359c1AH@|t)%VhbZt917N;N{i6pTCEhfdK#&3FLhM literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/es.js b/static/admin/js/vendor/select2/i18n/es.js new file mode 100644 index 0000000..b4d6965 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/es.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/es.js.gz b/static/admin/js/vendor/select2/i18n/es.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..c8be6a8f5aebdad529db20f314afff355bca8d5a GIT binary patch literal 486 zcmb2|=3oE;rvGy%ozD|C6gc+2mg{<Z#`c?4oK8$jqZC&Ztq{@5*rCYRXFFSBt?j{j zB?Xs9p;ZrAe{oa_&ts`J&kT;xn`85-C#~+jdGNfslO#<P{se#Ou}wUGvV7B*x~Iod zcLvl+KJ!_i7aLym|D5!k>9ef)x6O%*^;?%NyiC<n+uv`KmBd5QSvvPuSpEK@*YMX$ zqC|i7*}xOu-d63CxNa0*?7iUC+1Q8=2c?*NoYwNBd}&zbrtibqCnj$v=B^R@mu-!! zwX5FL$e#aRm$Oy)PH1_sit!5G(Nl76?u#f`_%UYD;@eI$LqEJ1TwZa9^^>pCH_;8- z8cY+!>MHqsKI?n2$Ij^5=jxrc&n;RYV@ltP7QVj|mPLM9a4P)ji=~obCFR<Sj+V?x zns-R$j19w?X&JTpj&J6;&9hJY+3X;hAJ~@P^q=45^35M?x?dtHXYMf;>b!SX?)LZB z$IribaBt$fFAm>47Hqy7+gvEF(75HasG)ptNkx8!N*^chG3DAF9krjfNb$1G?7z_W zto6PaTYePR_wz@a1toMJW`6G%d)E-X@y-63*AI58Y!Oa#d@L1bdUh)NUGvOKdA6QM uZtUK>wz<tBbNAV9-||b359c1AH@|t)%VhbZt917N;N{i6pTCEhfdK#&3FLhM literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/et.32b0b17ba1a9.js b/static/admin/js/vendor/select2/i18n/et.32b0b17ba1a9.js new file mode 100644 index 0000000..08ef436 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/et.32b0b17ba1a9.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/et.32b0b17ba1a9.js.gz b/static/admin/js/vendor/select2/i18n/et.32b0b17ba1a9.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..d120879bad1a2845585acddbfed4455d1b34b444 GIT binary patch literal 445 zcmb2|=3oE;rvGy%o$tGBAaLycZ;?3pRVlAaHJq4IMHO4BB33piR6EPusk$}em;c7& zf-77eB?{zk@ZXTX$=~VHlBFGUEP5Z$ths;Qcyes)Bq5VEA2chE&HwQHiS<f>a>etT zdJk#o{X8{O=Zos{9ar*ZN(u_pY}-+5TOWOH=fo#kyLWh8ySOgEa`uwyt$ud<`ycH0 zRjYlHU0wF1`OXPZakph#Kd^LNywl6xb5H1j(6v)ePW>5K-wvfUOsV~I<Xph7Uwb$0 z?kGQ}JLm3`<t9shpX26!(9X2(VBUsZY<Wk*Qx_#}Td<T%AV9$CsHW<V51XB;jvP3h zWHwW!EGl4u=4+*ux48_a+-#GLJ$<TDW~=F`GP~>b%zygVmR~K~aMjNv)jWSr`=9w? z7g`&_6tfHrR~(n$pK-YD`ZsRIqLwMsoIHZKRihUKS6gj}>-Z;mW`cItO>Y~9XR#UV z&F$|v)-K7gmrA?K&Jma_(YWVzs^g^C9;0hc+h#Df#D~7BX<9CSFEL<SeJ}gttcs;y zb(<uG=Qj&Rac!#I5gyIN$g|~>@8nIj`$K;g?u}ZjANccKlEv0g&#KSTIuZ{S+cPsT F001gj*vS9@ literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/et.js b/static/admin/js/vendor/select2/i18n/et.js new file mode 100644 index 0000000..08ef436 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/et.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/et.js.gz b/static/admin/js/vendor/select2/i18n/et.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..d120879bad1a2845585acddbfed4455d1b34b444 GIT binary patch literal 445 zcmb2|=3oE;rvGy%o$tGBAaLycZ;?3pRVlAaHJq4IMHO4BB33piR6EPusk$}em;c7& zf-77eB?{zk@ZXTX$=~VHlBFGUEP5Z$ths;Qcyes)Bq5VEA2chE&HwQHiS<f>a>etT zdJk#o{X8{O=Zos{9ar*ZN(u_pY}-+5TOWOH=fo#kyLWh8ySOgEa`uwyt$ud<`ycH0 zRjYlHU0wF1`OXPZakph#Kd^LNywl6xb5H1j(6v)ePW>5K-wvfUOsV~I<Xph7Uwb$0 z?kGQ}JLm3`<t9shpX26!(9X2(VBUsZY<Wk*Qx_#}Td<T%AV9$CsHW<V51XB;jvP3h zWHwW!EGl4u=4+*ux48_a+-#GLJ$<TDW~=F`GP~>b%zygVmR~K~aMjNv)jWSr`=9w? z7g`&_6tfHrR~(n$pK-YD`ZsRIqLwMsoIHZKRihUKS6gj}>-Z;mW`cItO>Y~9XR#UV z&F$|v)-K7gmrA?K&Jma_(YWVzs^g^C9;0hc+h#Df#D~7BX<9CSFEL<SeJ}gttcs;y zb(<uG=Qj&Rac!#I5gyIN$g|~>@8nIj`$K;g?u}ZjANccKlEv0g&#KSTIuZ{S+cPsT F001gj*vS9@ literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/eu.6c45eaf416fe.js b/static/admin/js/vendor/select2/i18n/eu.6c45eaf416fe.js new file mode 100644 index 0000000..56bb78b --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/eu.6c45eaf416fe.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/eu.6c45eaf416fe.js.gz b/static/admin/js/vendor/select2/i18n/eu.6c45eaf416fe.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..8e0af0f98ddf5c79041a89a4c4d9286d0762b9fc GIT binary patch literal 458 zcmb2|=3oE;rvGavozJ^sAaLw`E!Sh`sasY$3kqq3wlKU+bah;GnzwMq-7{*=NxLl` zuS$vRT>kLjFBOX?{LvfT{T}!1pZWgz$tCIjN4TW#d@%kPV;ib}gg?;m{<g?j(~eAy zU)_5()7s<Nj=VQkS1%at`cn0?>|^5AfL#LVFHd@I`I>e(#aHBghIH-U7Z+>oZDkkT zn$^5m>b9(><^|UpcE5zWFYit%R;RP9V%nZ!FiBV{cAtr6)y$fIlVld~{F0p+eSZF$ zz1x<Zd6wN%zE}MDihmp-&C8y=Vw&1keJM^|ZTe}Z9m<O8+2=l=4u57d-PB^mVU>V2 zjj3WmHF`(qO!d?kTKc@Y=~CPITBF1@TCaa-w5wf~j<-?!B`*_kR-(7H$>--it26&* zPL0V>c$cv1h4s{fQfCjJk1v|vvsiK)d$;@g8UN2|oT_%)nGvu!QT~UMKKml3^9o#V z792ZwI_DaD-kc+gSGd0nU9|N|fGk7L-h<c7@5m*;cVYZ1<CO4PMrsvnMY!<qfLlsC zd|lhE4W{o~`0T+{zO8!?U-#Xda^?7(dkZ!H#NWD9?j!Kw+i#1Tyr*aSMoaCg{ru$D VkqWL=8vB0nx=e}L*T&4i006)?<!1l@ literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/eu.js b/static/admin/js/vendor/select2/i18n/eu.js new file mode 100644 index 0000000..56bb78b --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/eu.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/eu.js.gz b/static/admin/js/vendor/select2/i18n/eu.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..8e0af0f98ddf5c79041a89a4c4d9286d0762b9fc GIT binary patch literal 458 zcmb2|=3oE;rvGavozJ^sAaLw`E!Sh`sasY$3kqq3wlKU+bah;GnzwMq-7{*=NxLl` zuS$vRT>kLjFBOX?{LvfT{T}!1pZWgz$tCIjN4TW#d@%kPV;ib}gg?;m{<g?j(~eAy zU)_5()7s<Nj=VQkS1%at`cn0?>|^5AfL#LVFHd@I`I>e(#aHBghIH-U7Z+>oZDkkT zn$^5m>b9(><^|UpcE5zWFYit%R;RP9V%nZ!FiBV{cAtr6)y$fIlVld~{F0p+eSZF$ zz1x<Zd6wN%zE}MDihmp-&C8y=Vw&1keJM^|ZTe}Z9m<O8+2=l=4u57d-PB^mVU>V2 zjj3WmHF`(qO!d?kTKc@Y=~CPITBF1@TCaa-w5wf~j<-?!B`*_kR-(7H$>--it26&* zPL0V>c$cv1h4s{fQfCjJk1v|vvsiK)d$;@g8UN2|oT_%)nGvu!QT~UMKKml3^9o#V z792ZwI_DaD-kc+gSGd0nU9|N|fGk7L-h<c7@5m*;cVYZ1<CO4PMrsvnMY!<qfLlsC zd|lhE4W{o~`0T+{zO8!?U-#Xda^?7(dkZ!H#NWD9?j!Kw+i#1Tyr*aSMoaCg{ru$D VkqWL=8vB0nx=e}L*T&4i006)?<!1l@ literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/fa.1738b003dd26.js b/static/admin/js/vendor/select2/i18n/fa.1738b003dd26.js new file mode 100644 index 0000000..7ea1ae2 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/fa.1738b003dd26.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/fa.1738b003dd26.js.gz b/static/admin/js/vendor/select2/i18n/fa.1738b003dd26.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..e4efddfe2403089fc47abb2ff8566b51e1417ea5 GIT binary patch literal 558 zcmb2|=3oE;rvJ6U{`r>;ME1WAo*}cW?6i!7#{xfFg)N7dG_gEwvsm&rTX@Qi!-Z-A zokx~zo$F%HI=v*+-7Jvvqwkw<$J8HMX6|N^Y=2_=+jj4L`P=92*<Na4xb;b~(&hc- z<4=S?F0tv%>bv}TsrdGc+3kKITXK@LALy!=D03dll(Dz2x@fZ~vHgvuwe{4zGq)~1 zUla89_uW&wryF+k@80dYBzD`>OILSH(tXu7_ti>mjw{~T?Mx{;5{$PR*PUOGw07lB z{&@z=Uq^kLz5Scm)J6OGoeC~K$UC0C_m+LC_tL5jJC6LHu%grJ>RF}W>uP$(UHGqt zEIqw(mSF9|v>&Ny`o^hK1GP8SmI<A{KF9pWw}KVldIcicXPIAMi14pscX0mREPrg_ z*;mu-!tK9EGSw?y+jnPsM`B}fa8Gclvya!6sk^SFbF5--;|MyrW~<;Ev3)NK6}>+? z&zC&VY(Mi)Yk!4(acHEaXp5_sFwf_jUbiQFcTQ?+ys10KIwf+RWMw!<?Z5c*`GT6J zY3t8u>*<$xeTmA-<5;MWVs^-df7;{t`NwzcGjPwTSajs9<${o}rJ1Lir{2%(`_FsQ z=hW4cN7DX?x)drb7Rs&KBBS57lWVbKKabV96Sgk9moGCpUfC(zsD106?DnGDi)Q}n zoAcq9s2K;xPfZ)%rew}UOLp4}%2)PTE`Pgw%MP8I4U<$>-unB<@anboT+8?O*Cv{U UNtT7KYTwVuz>yqe#=^h=0DjaCiU0rr literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/fa.js b/static/admin/js/vendor/select2/i18n/fa.js new file mode 100644 index 0000000..7ea1ae2 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/fa.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/fa.js.gz b/static/admin/js/vendor/select2/i18n/fa.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..e4efddfe2403089fc47abb2ff8566b51e1417ea5 GIT binary patch literal 558 zcmb2|=3oE;rvJ6U{`r>;ME1WAo*}cW?6i!7#{xfFg)N7dG_gEwvsm&rTX@Qi!-Z-A zokx~zo$F%HI=v*+-7Jvvqwkw<$J8HMX6|N^Y=2_=+jj4L`P=92*<Na4xb;b~(&hc- z<4=S?F0tv%>bv}TsrdGc+3kKITXK@LALy!=D03dll(Dz2x@fZ~vHgvuwe{4zGq)~1 zUla89_uW&wryF+k@80dYBzD`>OILSH(tXu7_ti>mjw{~T?Mx{;5{$PR*PUOGw07lB z{&@z=Uq^kLz5Scm)J6OGoeC~K$UC0C_m+LC_tL5jJC6LHu%grJ>RF}W>uP$(UHGqt zEIqw(mSF9|v>&Ny`o^hK1GP8SmI<A{KF9pWw}KVldIcicXPIAMi14pscX0mREPrg_ z*;mu-!tK9EGSw?y+jnPsM`B}fa8Gclvya!6sk^SFbF5--;|MyrW~<;Ev3)NK6}>+? z&zC&VY(Mi)Yk!4(acHEaXp5_sFwf_jUbiQFcTQ?+ys10KIwf+RWMw!<?Z5c*`GT6J zY3t8u>*<$xeTmA-<5;MWVs^-df7;{t`NwzcGjPwTSajs9<${o}rJ1Lir{2%(`_FsQ z=hW4cN7DX?x)drb7Rs&KBBS57lWVbKKabV96Sgk9moGCpUfC(zsD106?DnGDi)Q}n zoAcq9s2K;xPfZ)%rew}UOLp4}%2)PTE`Pgw%MP8I4U<$>-unB<@anboT+8?O*Cv{U UNtT7KYTwVuz>yqe#=^h=0DjaCiU0rr literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/fi.2858f3167855.js b/static/admin/js/vendor/select2/i18n/fi.2858f3167855.js new file mode 100644 index 0000000..31eeeb5 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/fi.2858f3167855.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/fi.2858f3167855.js.gz b/static/admin/js/vendor/select2/i18n/fi.2858f3167855.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..4ab3b65784543780f0ac2208fa68c8ddd39ebd36 GIT binary patch literal 443 zcmb2|=3oE;rvJS`r~58D2<&+uZeq9Qk#89f2j`TlaspjPydKUJ6+g02c>CkH^U6Kd zN?|uWYJ86LKk@$|bnHgwrbFz0#;?|`Teb4#n@5~yJT5!UJIwtxWN!<*hHKbYi__C| zQfI7gHIBUN)b~7QcV*fJu}?R@JUjd3Z_XkgKJlA3Z!X{{Q+)GA;ckK9j^83D?$4jU zeYw_~lcA+0wyLda{?}hLuB)yNpQlp6y`)I%#w7*Ih{x&cbHWOYe*MZVNm_a||3vlk z<$T54PJgt2`@}3G{A!N_kLe<o3o{mbI84oP&k1+Tn>%~g<wP&@-oTw|U&R-g+*~?k z`VyXh3Bo?lO@A)nJoWo)9eX)PhOU#*ltiYsn$SX><6)l1-jsiH$qBR4-<#Ez>s<dc z;`{!qCf9%8trK5bGW)po^Ofq8Gbb}FvgK(gQT+Swr#4@Cf6nxdPwsx!ZTfwz*H%O> z65giw&iC+io_;~s_^V#-X0PpnWw%_hbyKUE(syFk1^rY1@@u-UXl!A#mE6AUdenW6 znRfU3`xYy%n2>A`ursJb<!0XYml>DyuK(DOHt|h$!hMll(Js7~R@=W?#Iw(xnSlWS D$sXGn literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/fi.js b/static/admin/js/vendor/select2/i18n/fi.js new file mode 100644 index 0000000..31eeeb5 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/fi.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/fi.js.gz b/static/admin/js/vendor/select2/i18n/fi.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..4ab3b65784543780f0ac2208fa68c8ddd39ebd36 GIT binary patch literal 443 zcmb2|=3oE;rvJS`r~58D2<&+uZeq9Qk#89f2j`TlaspjPydKUJ6+g02c>CkH^U6Kd zN?|uWYJ86LKk@$|bnHgwrbFz0#;?|`Teb4#n@5~yJT5!UJIwtxWN!<*hHKbYi__C| zQfI7gHIBUN)b~7QcV*fJu}?R@JUjd3Z_XkgKJlA3Z!X{{Q+)GA;ckK9j^83D?$4jU zeYw_~lcA+0wyLda{?}hLuB)yNpQlp6y`)I%#w7*Ih{x&cbHWOYe*MZVNm_a||3vlk z<$T54PJgt2`@}3G{A!N_kLe<o3o{mbI84oP&k1+Tn>%~g<wP&@-oTw|U&R-g+*~?k z`VyXh3Bo?lO@A)nJoWo)9eX)PhOU#*ltiYsn$SX><6)l1-jsiH$qBR4-<#Ez>s<dc z;`{!qCf9%8trK5bGW)po^Ofq8Gbb}FvgK(gQT+Swr#4@Cf6nxdPwsx!ZTfwz*H%O> z65giw&iC+io_;~s_^V#-X0PpnWw%_hbyKUE(syFk1^rY1@@u-UXl!A#mE6AUdenW6 znRfU3`xYy%n2>A`ursJb<!0XYml>DyuK(DOHt|h$!hMll(Js7~R@=W?#Iw(xnSlWS D$sXGn literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/fr.6129248732b9.js b/static/admin/js/vendor/select2/i18n/fr.6129248732b9.js new file mode 100644 index 0000000..250a4ef --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/fr.6129248732b9.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/fr.6129248732b9.js.gz b/static/admin/js/vendor/select2/i18n/fr.6129248732b9.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..0403cee59ad7b99e66ba66df10dc2ab129131e7a GIT binary patch literal 496 zcmb2|=3oE;rvI%$XY;NY2<-c=*~1@t>8_QCV&gWg6|1UNY*D!A8Y95I-uR}((K3nt z@C$FfY<QC@d-rhqH#u**9pdun$;9WMYwYK}dBPd(z}hu$<MT%=D-OPk^bGkOIc=@U z)I`lG#xvh5v=>M2Oif#&ejul=xb$yXp{~z4zfFr5FX0HASZ3yFzRSaIKX=3ZzW&|8 zB4q(xb$3ooouKA_T}U#f=i50!jRmO+MH*XLTi!2yxp}&o_5^?Xx><ZnN`CMvSk1AX znZ0|~-^<U6Kk&?+%P;Er=?v3q#We?oRxeFItM8PsYRZl-iG$mNb6-2WpF4Z^Lkkb{ zwI#b4K8h=7ZP3>8ca-=UIy<52YmMM5sjZFH$J9+8`gl(1nl+!JX3~Y#o3G#bEcyH; z^TkCa9*ce4ZkK&|nS73U@|C!1`I#vR$1-34_l_*p+*`<@>>0aNvmtZw$;25m`{%7n zyI!`$?Zf{4|2rJN9@`z-{AXfw-6M8!o7J&BzxygVLe1}(@BZf55_Mq3&k2cF<f3H* zr_}9`kJ|7~EGo9{$br;=gLWM0EfaU$bX_Z_vZ|=YG0$<T!0rPFjGi)m`zO#7eK<Ar zuD}e#U4O%mpU<idE4-*ODQx3|+i%V0=IwHw_txC1?~hPY!^cJIm9#w1|7X~z8PUIq HnSlWS2g36} literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/fr.js b/static/admin/js/vendor/select2/i18n/fr.js new file mode 100644 index 0000000..250a4ef --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/fr.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/fr.js.gz b/static/admin/js/vendor/select2/i18n/fr.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..0403cee59ad7b99e66ba66df10dc2ab129131e7a GIT binary patch literal 496 zcmb2|=3oE;rvI%$XY;NY2<-c=*~1@t>8_QCV&gWg6|1UNY*D!A8Y95I-uR}((K3nt z@C$FfY<QC@d-rhqH#u**9pdun$;9WMYwYK}dBPd(z}hu$<MT%=D-OPk^bGkOIc=@U z)I`lG#xvh5v=>M2Oif#&ejul=xb$yXp{~z4zfFr5FX0HASZ3yFzRSaIKX=3ZzW&|8 zB4q(xb$3ooouKA_T}U#f=i50!jRmO+MH*XLTi!2yxp}&o_5^?Xx><ZnN`CMvSk1AX znZ0|~-^<U6Kk&?+%P;Er=?v3q#We?oRxeFItM8PsYRZl-iG$mNb6-2WpF4Z^Lkkb{ zwI#b4K8h=7ZP3>8ca-=UIy<52YmMM5sjZFH$J9+8`gl(1nl+!JX3~Y#o3G#bEcyH; z^TkCa9*ce4ZkK&|nS73U@|C!1`I#vR$1-34_l_*p+*`<@>>0aNvmtZw$;25m`{%7n zyI!`$?Zf{4|2rJN9@`z-{AXfw-6M8!o7J&BzxygVLe1}(@BZf55_Mq3&k2cF<f3H* zr_}9`kJ|7~EGo9{$br;=gLWM0EfaU$bX_Z_vZ|=YG0$<T!0rPFjGi)m`zO#7eK<Ar zuD}e#U4O%mpU<idE4-*ODQx3|+i%V0=IwHw_txC1?~hPY!^cJIm9#w1|7X~z8PUIq HnSlWS2g36} literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/gl.e2766036e78a.js b/static/admin/js/vendor/select2/i18n/gl.e2766036e78a.js new file mode 100644 index 0000000..271050f --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/gl.e2766036e78a.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/gl.e2766036e78a.js.gz b/static/admin/js/vendor/select2/i18n/gl.e2766036e78a.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..695622d4855330edd0de1534009e551dde0ec695 GIT binary patch literal 473 zcmb2|=3oE;rvIgrPUi_5inM*N<$CODdU=Ul*Mt>8y#gVTAzV`x-Ux7~KReT-eOvuU zP@~h5eO~5oB0h3d3eRJ)_B*s??z&^ee}4bDzf(kA|AdT6$UD)>vvHfupQyi_6Mf4w zaLb|6x`SFFt-g~Emn#+qYUIhzNGdC}+&j;I=BksPg(Xu=<HG$GoclC2W7F(@xikHb zAAd>heJ6WU@2*2fVd(SicLX%p-|O*M<eM;tIV+o_l=Q2eJ6C$q%j(~!(mT$czeFXP z)7tik?V4+|bJ_J3p3O}<7xU`$9VT_nHVasw%C=^D-}Ma1*#6eIs_&A8ZGUYhtXJBs z-I&Yj)07um&gJv*y;J4Z<7KIl^Y$(c)(mM-k8@vqwpR3)r+T}A>`uX6bDOw^w?EHW zo8(=v*wf>;oL^8*`t`Kye>(HK_->rKvXMU{VL|rvjh?&Q7MXotbbsak^8JS%$G*)x zyP(dYR^qYWln>8l+b6P^PIw!zdI9fI)*By|J6Q9qX%@1wQsEMPb9Ey_@BD2c-)1h1 zR=D$U((HnN=jG+19xQv+w*Bee?V)R|r)D}l)ZH`r)2T+OPoBw7k0g4?hOc7Z5%>IY iXw=h_b<3TP<;TsCxG}d$>$Ltq#!uEWrf*?pU;qG09puXZ literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/gl.js b/static/admin/js/vendor/select2/i18n/gl.js new file mode 100644 index 0000000..271050f --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/gl.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/gl.js.gz b/static/admin/js/vendor/select2/i18n/gl.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..695622d4855330edd0de1534009e551dde0ec695 GIT binary patch literal 473 zcmb2|=3oE;rvIgrPUi_5inM*N<$CODdU=Ul*Mt>8y#gVTAzV`x-Ux7~KReT-eOvuU zP@~h5eO~5oB0h3d3eRJ)_B*s??z&^ee}4bDzf(kA|AdT6$UD)>vvHfupQyi_6Mf4w zaLb|6x`SFFt-g~Emn#+qYUIhzNGdC}+&j;I=BksPg(Xu=<HG$GoclC2W7F(@xikHb zAAd>heJ6WU@2*2fVd(SicLX%p-|O*M<eM;tIV+o_l=Q2eJ6C$q%j(~!(mT$czeFXP z)7tik?V4+|bJ_J3p3O}<7xU`$9VT_nHVasw%C=^D-}Ma1*#6eIs_&A8ZGUYhtXJBs z-I&Yj)07um&gJv*y;J4Z<7KIl^Y$(c)(mM-k8@vqwpR3)r+T}A>`uX6bDOw^w?EHW zo8(=v*wf>;oL^8*`t`Kye>(HK_->rKvXMU{VL|rvjh?&Q7MXotbbsak^8JS%$G*)x zyP(dYR^qYWln>8l+b6P^PIw!zdI9fI)*By|J6Q9qX%@1wQsEMPb9Ey_@BD2c-)1h1 zR=D$U((HnN=jG+19xQv+w*Bee?V)R|r)D}l)ZH`r)2T+OPoBw7k0g4?hOc7Z5%>IY iXw=h_b<3TP<;TsCxG}d$>$Ltq#!uEWrf*?pU;qG09puXZ literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/he.4d933538516a.js b/static/admin/js/vendor/select2/i18n/he.4d933538516a.js new file mode 100644 index 0000000..20254b5 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/he.4d933538516a.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/he.4d933538516a.js.gz b/static/admin/js/vendor/select2/i18n/he.4d933538516a.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..80aa9fe0a4d946ea3455eb64840740f66acb016f GIT binary patch literal 530 zcmb2|=3oE;rvGz;59VEV5ZL=&TTFh{j?(KQp-f9R2{_q?aCw;A5nxxJdBp8oUgUc1 zfDK2~mzV@jHgkv$RXodocCLQnHNT+n8Qjb7&aJfmeD8K-`D?*!Czjm5EpI;_|D*Z) z5YyWJ$-7>EbCO-6dvDst*&-9Z-s(y@-TT+2xk$QQpFhr=zv50}^t)qjYiD<D<6FAo z=HCs`zdxw4eyuFt98noQWm`?;I;A6jcO=jM(bX6}^LF@xU{#3^d?n6|rrEB#cWTw{ zFz7tLTfN+6>4EQ#nk%I)y>D3*{$D%yp={k@PQHQ@A4HB<IJaxZ7|1+ga<^D~hC@8; zS<54ftNBZFP87**_}#YoTf=h(xyBbS6WA->)N?&HDQig&Jji%h^WTADt#93t+Pb$s z@45RtX|}?Zp1}3RHk)6GT(~WEnzN_leEDg??<}(#Lv~Gal;OHu^jvYeQL|#)rLv~$ z|Bp5rsQEAGG-Q2lxqiimZ&O18p1z;4!2HMLsc%zUl3K1;Wb^Icf9}M+rLjj-oR&My zcYSZXK)c-H{O))O$K^Yh7Q5-5duO`#?)j~mi{DPm^DWqO&HbS1sTVQNxR+WLx7akP z^p*rI&CI&9XVLdLqGdL7rm)mp<@;xtm&WGdtQh5}<Nv@_L^i8K+nV>}(w&OF^I{)e q=}DcLIW2YDWqmuB+ONhd-W)dxQQL4wa8=s-|BO+x=FGpC85jUgb^}5H literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/he.js b/static/admin/js/vendor/select2/i18n/he.js new file mode 100644 index 0000000..20254b5 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/he.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/he.js.gz b/static/admin/js/vendor/select2/i18n/he.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..80aa9fe0a4d946ea3455eb64840740f66acb016f GIT binary patch literal 530 zcmb2|=3oE;rvGz;59VEV5ZL=&TTFh{j?(KQp-f9R2{_q?aCw;A5nxxJdBp8oUgUc1 zfDK2~mzV@jHgkv$RXodocCLQnHNT+n8Qjb7&aJfmeD8K-`D?*!Czjm5EpI;_|D*Z) z5YyWJ$-7>EbCO-6dvDst*&-9Z-s(y@-TT+2xk$QQpFhr=zv50}^t)qjYiD<D<6FAo z=HCs`zdxw4eyuFt98noQWm`?;I;A6jcO=jM(bX6}^LF@xU{#3^d?n6|rrEB#cWTw{ zFz7tLTfN+6>4EQ#nk%I)y>D3*{$D%yp={k@PQHQ@A4HB<IJaxZ7|1+ga<^D~hC@8; zS<54ftNBZFP87**_}#YoTf=h(xyBbS6WA->)N?&HDQig&Jji%h^WTADt#93t+Pb$s z@45RtX|}?Zp1}3RHk)6GT(~WEnzN_leEDg??<}(#Lv~Gal;OHu^jvYeQL|#)rLv~$ z|Bp5rsQEAGG-Q2lxqiimZ&O18p1z;4!2HMLsc%zUl3K1;Wb^Icf9}M+rLjj-oR&My zcYSZXK)c-H{O))O$K^Yh7Q5-5duO`#?)j~mi{DPm^DWqO&HbS1sTVQNxR+WLx7akP z^p*rI&CI&9XVLdLqGdL7rm)mp<@;xtm&WGdtQh5}<Nv@_L^i8K+nV>}(w&OF^I{)e q=}DcLIW2YDWqmuB+ONhd-W)dxQQL4wa8=s-|BO+x=FGpC85jUgb^}5H literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/hi.f81e979ec25f.js b/static/admin/js/vendor/select2/i18n/hi.f81e979ec25f.js new file mode 100644 index 0000000..521088f --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/hi.f81e979ec25f.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/hi.f81e979ec25f.js.gz b/static/admin/js/vendor/select2/i18n/hi.f81e979ec25f.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..cf18e21c2b90397548e1dec7b0f05c8c1be665da GIT binary patch literal 581 zcmb2|=3oE;rvJ6U=d*<!MfQDPAMstF?DpF=qK=-O3YVM}xuo(RB~G53;$D{i>P=2y z(gCemO%;<WCNy+Rj$%pH=s3IdpZ4eFKa4j2-1zd<%e|HF&sN|6zE`sTbJx`ahIyUY z*Gfx7?{0{Tm?*%WdG))si%X>N)`&;Tm!%}mHq8FzIf3iU-(Uac?yc^%ozik`+5U|W zw;10NY6(34cG9-bPwLu!e)c*Vab=md-l^MDTLLDuyh}Ww8>4;pZIO<VpKg!S9W@c_ zZ!%IhcY6NqxN&ds@q1h%!S|2OF^)@j^vGCVrJ1Y!GxlWXr1~j;Ry}E*lx$kH{E4>r zNydtVb0rVBE0%ltU48M?#(MW>;dciTGtTVfi(fHuOSRlW_L&tYBId5;JC;}O7Iekn z6063sEy{~>dnP@Q^xSl0vFXNC=gsC)2dh=<nGdMWSvhI`*)77Rub9QE*Y)h!8obhC z>GkWDu~|ts*SSxhAuafLkw}Tt3!bNCf_4qtN<UwZ@?YDvH?`r35aYc3s7;QX+l6}t z&p9uClhP~Y(0!Kcy-}a{^@tby_gy|DwcM?_^V=`Af*ygUxlgSP{xi3$avfN*{la|@ zPKkQQ^aZ;j<}c$BtzG-!#)X+5|1X(parURKTz8C<#+yyg1HUmWkJPyow2RsI`Hnf+ z4;S{8e&U(rU~rT%-}V15F8R{S4`XC{t2OzKb6OwS{<tFk!4etKf?tfyx@%AGyr&^x v6ZGlu|M~OpzWy4sKD(~0^xx6MN0)m(L@In=aH_EUKhr(e^_LH`FfafBN9!qX literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/hi.js b/static/admin/js/vendor/select2/i18n/hi.js new file mode 100644 index 0000000..521088f --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/hi.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/hi.js.gz b/static/admin/js/vendor/select2/i18n/hi.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..cf18e21c2b90397548e1dec7b0f05c8c1be665da GIT binary patch literal 581 zcmb2|=3oE;rvJ6U=d*<!MfQDPAMstF?DpF=qK=-O3YVM}xuo(RB~G53;$D{i>P=2y z(gCemO%;<WCNy+Rj$%pH=s3IdpZ4eFKa4j2-1zd<%e|HF&sN|6zE`sTbJx`ahIyUY z*Gfx7?{0{Tm?*%WdG))si%X>N)`&;Tm!%}mHq8FzIf3iU-(Uac?yc^%ozik`+5U|W zw;10NY6(34cG9-bPwLu!e)c*Vab=md-l^MDTLLDuyh}Ww8>4;pZIO<VpKg!S9W@c_ zZ!%IhcY6NqxN&ds@q1h%!S|2OF^)@j^vGCVrJ1Y!GxlWXr1~j;Ry}E*lx$kH{E4>r zNydtVb0rVBE0%ltU48M?#(MW>;dciTGtTVfi(fHuOSRlW_L&tYBId5;JC;}O7Iekn z6063sEy{~>dnP@Q^xSl0vFXNC=gsC)2dh=<nGdMWSvhI`*)77Rub9QE*Y)h!8obhC z>GkWDu~|ts*SSxhAuafLkw}Tt3!bNCf_4qtN<UwZ@?YDvH?`r35aYc3s7;QX+l6}t z&p9uClhP~Y(0!Kcy-}a{^@tby_gy|DwcM?_^V=`Af*ygUxlgSP{xi3$avfN*{la|@ zPKkQQ^aZ;j<}c$BtzG-!#)X+5|1X(parURKTz8C<#+yyg1HUmWkJPyow2RsI`Hnf+ z4;S{8e&U(rU~rT%-}V15F8R{S4`XC{t2OzKb6OwS{<tFk!4etKf?tfyx@%AGyr&^x v6ZGlu|M~OpzWy4sKD(~0^xx6MN0)m(L@In=aH_EUKhr(e^_LH`FfafBN9!qX literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/hr.68583e607f1e.js b/static/admin/js/vendor/select2/i18n/hr.68583e607f1e.js new file mode 100644 index 0000000..eddd056 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/hr.68583e607f1e.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/hr.68583e607f1e.js.gz b/static/admin/js/vendor/select2/i18n/hr.68583e607f1e.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..661e118f427f37054d614cf7d00370fb7e0d11e2 GIT binary patch literal 488 zcmb2|=3oE;rvIgry!$RY2(*1K?pmg*Q~fAYor5LighET2VNjZhz$Pc1TZO85$M4GS zIxVKM@d)cPfgB6Yn3l;GwtZ%r*}FQV|NQ^_@RENWJ__xUc8dOy^KI3mCn>FaW6&kW zbXh6QSXcRWpG?x6*A|oRD9y;I`TXryUeVbUr*n%p8`sCJkmOqXCqemH-M4iNpRazt zb>i78l~n5(_s+tZEUM-#Zgcl~Ge=0cHmDkibJgscuEwSxGDS+N?vKbkkDJR`YB<bH zCEcf7ko%$$sl9Ir`=iH>|F0UKU;Q}r{^vhdg;U>d^IXTK-+bLS|3TFa=|I2cMA_1l znH{0sHyaFZ^_cp%MDh5SY{{+4Ul754GL+4Q^Sj0yt>zfxs8*-7Tz?jPjhMeKX?0ZZ z1XE@m_N@oLFwJ}t-=g#69K&3#4NMEaJzM>tWA>6;3F`h_q0D;!)c&77{bl`o_KbU0 zyRWiY-SMrr<9L$#_}qbACnhTY|NFMxc)RfJdon7=Q!R4te_C2PU+sC<5w~;~bsMvo z&M6V>v0Rf(pMBf6I^gB^guC83?Nh8L{8@33bHjnNI)C5CJ02FdUdgsZ@1gI!`wA!Y xzLm_(R_)MT7|OO~)hdNMThuM@++W6AtJkuUd-oaNp9i1HKRvI%q=uP+0RXU(=0pGh literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/hr.js b/static/admin/js/vendor/select2/i18n/hr.js new file mode 100644 index 0000000..eddd056 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/hr.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/hr.js.gz b/static/admin/js/vendor/select2/i18n/hr.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..661e118f427f37054d614cf7d00370fb7e0d11e2 GIT binary patch literal 488 zcmb2|=3oE;rvIgry!$RY2(*1K?pmg*Q~fAYor5LighET2VNjZhz$Pc1TZO85$M4GS zIxVKM@d)cPfgB6Yn3l;GwtZ%r*}FQV|NQ^_@RENWJ__xUc8dOy^KI3mCn>FaW6&kW zbXh6QSXcRWpG?x6*A|oRD9y;I`TXryUeVbUr*n%p8`sCJkmOqXCqemH-M4iNpRazt zb>i78l~n5(_s+tZEUM-#Zgcl~Ge=0cHmDkibJgscuEwSxGDS+N?vKbkkDJR`YB<bH zCEcf7ko%$$sl9Ir`=iH>|F0UKU;Q}r{^vhdg;U>d^IXTK-+bLS|3TFa=|I2cMA_1l znH{0sHyaFZ^_cp%MDh5SY{{+4Ul754GL+4Q^Sj0yt>zfxs8*-7Tz?jPjhMeKX?0ZZ z1XE@m_N@oLFwJ}t-=g#69K&3#4NMEaJzM>tWA>6;3F`h_q0D;!)c&77{bl`o_KbU0 zyRWiY-SMrr<9L$#_}qbACnhTY|NFMxc)RfJdon7=Q!R4te_C2PU+sC<5w~;~bsMvo z&M6V>v0Rf(pMBf6I^gB^guC83?Nh8L{8@33bHjnNI)C5CJ02FdUdgsZ@1gI!`wA!Y xzLm_(R_)MT7|OO~)hdNMThuM@++W6AtJkuUd-oaNp9i1HKRvI%q=uP+0RXU(=0pGh literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/hsb.50caaee90a0d.js b/static/admin/js/vendor/select2/i18n/hsb.50caaee90a0d.js new file mode 100644 index 0000000..2542aa4 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/hsb.50caaee90a0d.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/hsb.50caaee90a0d.js.gz b/static/admin/js/vendor/select2/i18n/hsb.50caaee90a0d.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..98fe90f722efa8c03f781387278bb080b68157ed GIT binary patch literal 560 zcmb2|=3oE;rvJIY2m3A?2<&|yE+HRw*6el8X{7+~2?B2tm+D1r^N?93cPHhRh3}h3 zH*VjZ<|Q-1;v?&vs)y_ro5g3zKlCn`Wx_eZ+vaoHpJzWU%lzaPD!M#asb{60{zUUv z2h&n9&+~<8KCD$vHiFik_kz|<_VAfALyc>R@s66(k7*T-N%C_o+}+o%d^RtsY5N+} z+1n0nmwNK|W8uC@n(JGaEXZ!)=&gM{&5I>3d9A)<=1D;T`DH!M-118{o-=;Oa+2lt z;*GJFCr$4C&~@3OrNmnNhMq8g*2y{7gf|{Zj!u<+*`)e;%@+QQh_*F7-_G9AJ+3wT zeQdzG*JW#*jOFL{{${<g_JAMXK7+Cq&)-#sz7S*m?%8T9m(Rt0O=0N-X2;rN>3eTA zem1IGKRM(3+4;stoIk7-&zQooWzp{SJ{RwbH<_C~=3aY`(@>z4ZECeztm`*k6(+mj zgDaH`_a<-b<7WI3)m5_kqSk_!Vooi$H}#&KzI_RA*ik#4mXO{rhL0uhzr5f4Z|QRG zhnEFrc5`l?{c}#<%lgfW?zCwuE<D(E-NcCN;--=%MoLTe+t-?hiMXGh&+<c*bBa#* z{<<an&(1q27EH98@v@*`$%UY2+cw>*SgC$VBKO439gQyTTA3H7{adm}@9dwtl01dY zx{O+T7yK++|6bJe_=%(59Y=Nd^epmbExbHob}jRwz?O(>P3E(EQ`di1zhb>d_3&p$ X<C%=EDZ8S={_}tSb52-?g@FM88B7fy literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/hsb.js b/static/admin/js/vendor/select2/i18n/hsb.js new file mode 100644 index 0000000..2542aa4 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/hsb.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/hsb.js.gz b/static/admin/js/vendor/select2/i18n/hsb.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..98fe90f722efa8c03f781387278bb080b68157ed GIT binary patch literal 560 zcmb2|=3oE;rvJIY2m3A?2<&|yE+HRw*6el8X{7+~2?B2tm+D1r^N?93cPHhRh3}h3 zH*VjZ<|Q-1;v?&vs)y_ro5g3zKlCn`Wx_eZ+vaoHpJzWU%lzaPD!M#asb{60{zUUv z2h&n9&+~<8KCD$vHiFik_kz|<_VAfALyc>R@s66(k7*T-N%C_o+}+o%d^RtsY5N+} z+1n0nmwNK|W8uC@n(JGaEXZ!)=&gM{&5I>3d9A)<=1D;T`DH!M-118{o-=;Oa+2lt z;*GJFCr$4C&~@3OrNmnNhMq8g*2y{7gf|{Zj!u<+*`)e;%@+QQh_*F7-_G9AJ+3wT zeQdzG*JW#*jOFL{{${<g_JAMXK7+Cq&)-#sz7S*m?%8T9m(Rt0O=0N-X2;rN>3eTA zem1IGKRM(3+4;stoIk7-&zQooWzp{SJ{RwbH<_C~=3aY`(@>z4ZECeztm`*k6(+mj zgDaH`_a<-b<7WI3)m5_kqSk_!Vooi$H}#&KzI_RA*ik#4mXO{rhL0uhzr5f4Z|QRG zhnEFrc5`l?{c}#<%lgfW?zCwuE<D(E-NcCN;--=%MoLTe+t-?hiMXGh&+<c*bBa#* z{<<an&(1q27EH98@v@*`$%UY2+cw>*SgC$VBKO439gQyTTA3H7{adm}@9dwtl01dY zx{O+T7yK++|6bJe_=%(59Y=Nd^epmbExbHob}jRwz?O(>P3E(EQ`di1zhb>d_3&p$ X<C%=EDZ8S={_}tSb52-?g@FM88B7fy literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/hu.9edad4c24fd0.js b/static/admin/js/vendor/select2/i18n/hu.9edad4c24fd0.js new file mode 100644 index 0000000..2bdbbe9 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/hu.9edad4c24fd0.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/hu.9edad4c24fd0.js.gz b/static/admin/js/vendor/select2/i18n/hu.9edad4c24fd0.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..9fb652cd039622a2c5ab63b2eaeff07504cb6a2b GIT binary patch literal 483 zcmb2|=3oE;rvJH<_UGL;5IFYT=4hz1f-2utG1e%H69O!fO;(Ii)!J48*KQ^qwb!f^ z%G%BLODm46;>9e*7st$BPM*>wayW161eTw7|JvP)t@^}tOry|i{X^dBllKmlYjnK3 zYvB95sY@$4cyZ8mud-@2-)UO!IC8Ca?cB9bI^KBdVb7`(k@H%%s);3Y)*R9K_i3Ti zZVS7-a<j|T?$?&S-kB8h)bp(F1K0Prce<`x!<J%suH~3T)i$-by_YisU7P*qvsZ^j z{pDI~T9#6w_oe2?{o<0HEL&!1@4w2eqv-sJf6||8iWwmfTsp7)pLS%?SBDqByVQ>L zoT=0D3G2<><?u}<LFnt8F5{H0df`<;b3bQ1l2;WuwsUEHioo1UnJlW?_wbl*)li(U zIfub3qe&>$qxtuh!bF{~NzN{ZEv-!o8n*shC}!Cly?^fi<~FAvy>U9OH!q|_uZ&LK zxIAj|I*a<cKRmbI)xR}Ktb4GQdq>e8o;|U;Oy(;@g*<c)MRncES1I>?6lGGAYqw~% z%1*gob1ww5A4wJdbVacJj$ik`bNl#fORd+7O<nmh=#;e6)2jX3R`!0`e`2OV%BD=` rzFo!AYp=gf*^s54|HGz9@#S@|8_yP5vxd%@^PjayiRphbGXnzve17Lt literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/hu.js b/static/admin/js/vendor/select2/i18n/hu.js new file mode 100644 index 0000000..2bdbbe9 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/hu.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/hu.js.gz b/static/admin/js/vendor/select2/i18n/hu.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..9fb652cd039622a2c5ab63b2eaeff07504cb6a2b GIT binary patch literal 483 zcmb2|=3oE;rvJH<_UGL;5IFYT=4hz1f-2utG1e%H69O!fO;(Ii)!J48*KQ^qwb!f^ z%G%BLODm46;>9e*7st$BPM*>wayW161eTw7|JvP)t@^}tOry|i{X^dBllKmlYjnK3 zYvB95sY@$4cyZ8mud-@2-)UO!IC8Ca?cB9bI^KBdVb7`(k@H%%s);3Y)*R9K_i3Ti zZVS7-a<j|T?$?&S-kB8h)bp(F1K0Prce<`x!<J%suH~3T)i$-by_YisU7P*qvsZ^j z{pDI~T9#6w_oe2?{o<0HEL&!1@4w2eqv-sJf6||8iWwmfTsp7)pLS%?SBDqByVQ>L zoT=0D3G2<><?u}<LFnt8F5{H0df`<;b3bQ1l2;WuwsUEHioo1UnJlW?_wbl*)li(U zIfub3qe&>$qxtuh!bF{~NzN{ZEv-!o8n*shC}!Cly?^fi<~FAvy>U9OH!q|_uZ&LK zxIAj|I*a<cKRmbI)xR}Ktb4GQdq>e8o;|U;Oy(;@g*<c)MRncES1I>?6lGGAYqw~% z%1*gob1ww5A4wJdbVacJj$ik`bNl#fORd+7O<nmh=#;e6)2jX3R`!0`e`2OV%BD=` rzFo!AYp=gf*^s54|HGz9@#S@|8_yP5vxd%@^PjayiRphbGXnzve17Lt literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/hy.4c655f53f4e1.js b/static/admin/js/vendor/select2/i18n/hy.4c655f53f4e1.js new file mode 100644 index 0000000..b9a1cae --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/hy.4c655f53f4e1.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/hy.4c655f53f4e1.js.gz b/static/admin/js/vendor/select2/i18n/hy.4c655f53f4e1.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..741d2da250614cd990a7b88d15a89e701ea5a811 GIT binary patch literal 555 zcmb2|=3oE;rvJUcXY(#Q2<-c=DJHMAy!3j2Vq?(Lh5-JlOhPTvj~*PEeB;DD-PfhA zqDrk@%r<SeU7j?Athgnx<kB9OYy1Z$8@%>yV&qngymfQt#Tt9-vh8^j#au2--2Fsv zukZVb<|-3D8LZr$r$5E<)-qYS-JO|{^WS!Czk9=5g=2f=hl2lw+4GOt-7GRUdy{v{ z%IL|Nbzcv!`}@h0>rqAV<vCkUdnv~Dt@a4i|Ca4OPvOFfHE%g5tW028!GCu`WA54& zt>y2G%`LXgd9FW4Nc8f3cEueTMd$e=*Z&K@8C7$#J!{FjD?0Xpm;cP2waPF}&87C3 z!C`}7^9UKCufDY^uR?mSZp{mt|B3(F0nVF=TJsC<J$d>u;B~g<CdMrp3j{aJ<0)%6 zcJH-;Uvj(Ynxo}&jGb6`Yds589%aY$PI#Kn%e8Ua(`~LFK8ddMSv!^gjd+>%1E;X2 z<BFFvtoL93!Tuw)aQ<TcnO29hIuBSb+Yoqr;bv{8V;hXto|y5sgL{S1pQM)$d^w~1 zwQbI=ihF##AjR%W^~?D;6Fz8%M0Y#2gcZk~nZ1&m<>GhFbF=kB6~DipDxtfrVb7s9 zPOiB9lLhU<K5uofERd+@@{~IHWdC<heSgKzK4-aKa&#pLeQ;4<5$E%D-vT>Ry{Wna z0-u#D1YFsL9%=Dq{W#9`@Y=b6)Q2Bpsu$T_h|c3>Yo2x4ygsD%YqsK{)g~fV8+$gK RUibDd%bu{eYpq!r7ywrI4ut>! literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/hy.js b/static/admin/js/vendor/select2/i18n/hy.js new file mode 100644 index 0000000..b9a1cae --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/hy.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/hy.js.gz b/static/admin/js/vendor/select2/i18n/hy.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..741d2da250614cd990a7b88d15a89e701ea5a811 GIT binary patch literal 555 zcmb2|=3oE;rvJUcXY(#Q2<-c=DJHMAy!3j2Vq?(Lh5-JlOhPTvj~*PEeB;DD-PfhA zqDrk@%r<SeU7j?Athgnx<kB9OYy1Z$8@%>yV&qngymfQt#Tt9-vh8^j#au2--2Fsv zukZVb<|-3D8LZr$r$5E<)-qYS-JO|{^WS!Czk9=5g=2f=hl2lw+4GOt-7GRUdy{v{ z%IL|Nbzcv!`}@h0>rqAV<vCkUdnv~Dt@a4i|Ca4OPvOFfHE%g5tW028!GCu`WA54& zt>y2G%`LXgd9FW4Nc8f3cEueTMd$e=*Z&K@8C7$#J!{FjD?0Xpm;cP2waPF}&87C3 z!C`}7^9UKCufDY^uR?mSZp{mt|B3(F0nVF=TJsC<J$d>u;B~g<CdMrp3j{aJ<0)%6 zcJH-;Uvj(Ynxo}&jGb6`Yds589%aY$PI#Kn%e8Ua(`~LFK8ddMSv!^gjd+>%1E;X2 z<BFFvtoL93!Tuw)aQ<TcnO29hIuBSb+Yoqr;bv{8V;hXto|y5sgL{S1pQM)$d^w~1 zwQbI=ihF##AjR%W^~?D;6Fz8%M0Y#2gcZk~nZ1&m<>GhFbF=kB6~DipDxtfrVb7s9 zPOiB9lLhU<K5uofERd+@@{~IHWdC<heSgKzK4-aKa&#pLeQ;4<5$E%D-vT>Ry{Wna z0-u#D1YFsL9%=Dq{W#9`@Y=b6)Q2Bpsu$T_h|c3>Yo2x4ygsD%YqsK{)g~fV8+$gK RUibDd%bu{eYpq!r7ywrI4ut>! literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/id.322604a430a5.js b/static/admin/js/vendor/select2/i18n/id.322604a430a5.js new file mode 100644 index 0000000..c622da9 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/id.322604a430a5.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/id.322604a430a5.js.gz b/static/admin/js/vendor/select2/i18n/id.322604a430a5.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..513cdc91828aac4ace30c4fe71673d832b15c544 GIT binary patch literal 433 zcmb2|=3oE;rvJH<&gWe*5IFX}wo9>HD|0(vh{uApRVx+<O)Z<4Q0*+E_EAOhT76S; z_?l@`f0@`w_y^@rTDxt+<h38o=hx4-{drS6V&bAp@rR;6M(t_7f1%=j*=L*eH_aCc zEWKK3?lJGW(@mx8H!6#MK6-cf?enW^F9@CcG<otCu4P|xd}rnE^s2And}6kI`C%=s z;w_?!@49#{n0AxdYQgK1o3-8TESObPLUS~H`7-`I+j}xnZFBzpba##BI`4Cl+c#+3 zyz=>f-{k%mf;QeU&WWO?3X-J<y;OEf&Nll|oh|-t$J9-4<u1ohe!=QAab<0>qtj#k zYmWU(PO9fPZ+BxpxzpZ%0jFMw`?}S~tn4#a-+WW67Z+EsAvQ_;+W#9(hh{C_E>)zr zc5&yL(=RT!GfM{lul*xz?e;8D$z$IG$=i87E*Tec48CoB;W#<%s4q*!IT^=WwY<Jx zOulKCI{wUSdbqDXYswAd18ly$u_2G;_A8g98vhLx+~;zfd8=}+{0q00*8WwmX8n7+ scq1Q&jOod|?WfajCzd>Gm+Z2$XWm_#c*iw#R;(@KZJs}0RhStV0B%~+{Qv*} literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/id.js b/static/admin/js/vendor/select2/i18n/id.js new file mode 100644 index 0000000..c622da9 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/id.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/id.js.gz b/static/admin/js/vendor/select2/i18n/id.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..513cdc91828aac4ace30c4fe71673d832b15c544 GIT binary patch literal 433 zcmb2|=3oE;rvJH<&gWe*5IFX}wo9>HD|0(vh{uApRVx+<O)Z<4Q0*+E_EAOhT76S; z_?l@`f0@`w_y^@rTDxt+<h38o=hx4-{drS6V&bAp@rR;6M(t_7f1%=j*=L*eH_aCc zEWKK3?lJGW(@mx8H!6#MK6-cf?enW^F9@CcG<otCu4P|xd}rnE^s2And}6kI`C%=s z;w_?!@49#{n0AxdYQgK1o3-8TESObPLUS~H`7-`I+j}xnZFBzpba##BI`4Cl+c#+3 zyz=>f-{k%mf;QeU&WWO?3X-J<y;OEf&Nll|oh|-t$J9-4<u1ohe!=QAab<0>qtj#k zYmWU(PO9fPZ+BxpxzpZ%0jFMw`?}S~tn4#a-+WW67Z+EsAvQ_;+W#9(hh{C_E>)zr zc5&yL(=RT!GfM{lul*xz?e;8D$z$IG$=i87E*Tec48CoB;W#<%s4q*!IT^=WwY<Jx zOulKCI{wUSdbqDXYswAd18ly$u_2G;_A8g98vhLx+~;zfd8=}+{0q00*8WwmX8n7+ scq1Q&jOod|?WfajCzd>Gm+Z2$XWm_#c*iw#R;(@KZJs}0RhStV0B%~+{Qv*} literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/is.a8a13c9122d7.js b/static/admin/js/vendor/select2/i18n/is.a8a13c9122d7.js new file mode 100644 index 0000000..c703bf4 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/is.a8a13c9122d7.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/is.a8a13c9122d7.js.gz b/static/admin/js/vendor/select2/i18n/is.a8a13c9122d7.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..496d48b719ccd970905a256287ba639d63977540 GIT binary patch literal 475 zcmb2|=3oE;rvJH<4(45U5NLZ}+jX@4MBW`!M-K(@W&y6Cr6Ma?3LRz4KHj*OR=({` z-{LSuA^%Isc^*?IR6TfQ{?IexvC5KF{>HQZ+Wt3x?AbSegQmue%f{d4*gw_3Q6453 zyVJze%QMvWaq(i|>z>~Vmz~kMcu4R@O3}BxKZ#b)tkRF4ycig9#X>#PpeJk-hrWK+ z2J>b|@ybSa&HLM4YZfm2oS~`HyypAcD@<3#BtOV-bqcUqn^;zLc9uB)d753*aOq{Z z(E6-jDQAu(%zQUrF=}hv6vqGR54bigdBw6r?0V33t7AGpbS`qPUGOE@*xlS^)6Qg; z>nagzBMp`$K6t%|qpaYImh|3(BJGVl*FK)Bijwr+doL;}yX@11M;pH%I<@HQyUjJW zQanyFY4?n}Zl9PnKj-Du&CkSH4c8^7y6A1RF&De!&ds&#Y?@-^LWii67wW^K-Otua z|NnF2hv7EqmwjxX*qd{zO}3xS58Gxbd{(xiY@5g`<$LR|Oy=IS@5Vc}v+f03m99IR z#OWLm(q>ttyuMW7&7Mi^|MS<+ZBV&b7<D0yGk>a;@`c*k`|(_>XZgN#Pd>Xh=zrn0 k*BWu9<x}7Bo%#Md%=@<3wwd9r7hlH5$#6S6GBYp$0DaTs_5c6? literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/is.js b/static/admin/js/vendor/select2/i18n/is.js new file mode 100644 index 0000000..c703bf4 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/is.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/is.js.gz b/static/admin/js/vendor/select2/i18n/is.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..496d48b719ccd970905a256287ba639d63977540 GIT binary patch literal 475 zcmb2|=3oE;rvJH<4(45U5NLZ}+jX@4MBW`!M-K(@W&y6Cr6Ma?3LRz4KHj*OR=({` z-{LSuA^%Isc^*?IR6TfQ{?IexvC5KF{>HQZ+Wt3x?AbSegQmue%f{d4*gw_3Q6453 zyVJze%QMvWaq(i|>z>~Vmz~kMcu4R@O3}BxKZ#b)tkRF4ycig9#X>#PpeJk-hrWK+ z2J>b|@ybSa&HLM4YZfm2oS~`HyypAcD@<3#BtOV-bqcUqn^;zLc9uB)d753*aOq{Z z(E6-jDQAu(%zQUrF=}hv6vqGR54bigdBw6r?0V33t7AGpbS`qPUGOE@*xlS^)6Qg; z>nagzBMp`$K6t%|qpaYImh|3(BJGVl*FK)Bijwr+doL;}yX@11M;pH%I<@HQyUjJW zQanyFY4?n}Zl9PnKj-Du&CkSH4c8^7y6A1RF&De!&ds&#Y?@-^LWii67wW^K-Otua z|NnF2hv7EqmwjxX*qd{zO}3xS58Gxbd{(xiY@5g`<$LR|Oy=IS@5Vc}v+f03m99IR z#OWLm(q>ttyuMW7&7Mi^|MS<+ZBV&b7<D0yGk>a;@`c*k`|(_>XZgN#Pd>Xh=zrn0 k*BWu9<x}7Bo%#Md%=@<3wwd9r7hlH5$#6S6GBYp$0DaTs_5c6? literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/it.110a0fa84968.js b/static/admin/js/vendor/select2/i18n/it.110a0fa84968.js new file mode 100644 index 0000000..799a7c8 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/it.110a0fa84968.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/it.110a0fa84968.js.gz b/static/admin/js/vendor/select2/i18n/it.110a0fa84968.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..c120317e0e00c72c1ffd893434339f2f203f7a33 GIT binary patch literal 493 zcmb2|=3oE;rvJH<4(16P3behi<+|RkmANghYl6edFpf}L7p>6D9g2MC-lZ6y_{LH# z!>AZEzpebinb{vyDmKr~ZLsZqDtZ3@+4m>U`yZ9zner!QPr&&r-XCMv%($L7>$&MC zExiy=GyYspdGR)}omU$VKHt9i_3Yh0dpAwBIPdT0cKU^vThZc=V$&D<zgPOPK0Q4* z#JjvCBzAYB_R?I_dl~u*B+kTEK6o*gA@rb-Y|j%$Uj6u;GLdQWc4_V!xqrp>sMmY% zatinV?|pja2Z=?AXEkIjH!c%6F|k45K(ofy<3>-X+(~_LZQ_05yO#>pCGw@S^c>!D zPhkxI{EBJH)%Xi;vv)e(YZmw3yRg<hyvZ=?1gC$B@&e15TKu0sW(LOWE1T@JXpR|U z%CmV#o@;-yS&?_qv`D<Z_|M`#z24S^NBrg;k*fduMsve)k4ei+-{w}CC*1jZPcpnz zwo1I-{+~x&>E`X-Y*!gJ?CEb=^z(53%Q*FI4sAkV`7wvQBf0yYUVdJ_bFb%}Syxyl zNxnC7=f9B9!gz1@m&F&q&QZB>S?wr`w8QTr(>?N^Ln52*``_w&cJLD0JqhFF4bEQt zoD<A6EQ+F5-CD3<S6j)n-FNfm<lg=}S5C~*^pDI%bMd>Hp}oh#>lv8m8>_8kW?%pS DfQ#%3 literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/it.js b/static/admin/js/vendor/select2/i18n/it.js new file mode 100644 index 0000000..799a7c8 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/it.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/it.js.gz b/static/admin/js/vendor/select2/i18n/it.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..c120317e0e00c72c1ffd893434339f2f203f7a33 GIT binary patch literal 493 zcmb2|=3oE;rvJH<4(16P3behi<+|RkmANghYl6edFpf}L7p>6D9g2MC-lZ6y_{LH# z!>AZEzpebinb{vyDmKr~ZLsZqDtZ3@+4m>U`yZ9zner!QPr&&r-XCMv%($L7>$&MC zExiy=GyYspdGR)}omU$VKHt9i_3Yh0dpAwBIPdT0cKU^vThZc=V$&D<zgPOPK0Q4* z#JjvCBzAYB_R?I_dl~u*B+kTEK6o*gA@rb-Y|j%$Uj6u;GLdQWc4_V!xqrp>sMmY% zatinV?|pja2Z=?AXEkIjH!c%6F|k45K(ofy<3>-X+(~_LZQ_05yO#>pCGw@S^c>!D zPhkxI{EBJH)%Xi;vv)e(YZmw3yRg<hyvZ=?1gC$B@&e15TKu0sW(LOWE1T@JXpR|U z%CmV#o@;-yS&?_qv`D<Z_|M`#z24S^NBrg;k*fduMsve)k4ei+-{w}CC*1jZPcpnz zwo1I-{+~x&>E`X-Y*!gJ?CEb=^z(53%Q*FI4sAkV`7wvQBf0yYUVdJ_bFb%}Syxyl zNxnC7=f9B9!gz1@m&F&q&QZB>S?wr`w8QTr(>?N^Ln52*``_w&cJLD0JqhFF4bEQt zoD<A6EQ+F5-CD3<S6j)n-FNfm<lg=}S5C~*^pDI%bMd>Hp}oh#>lv8m8>_8kW?%pS DfQ#%3 literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/ja.442146837f55.js b/static/admin/js/vendor/select2/i18n/ja.442146837f55.js new file mode 100644 index 0000000..9a6c299 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/ja.442146837f55.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/ja.442146837f55.js.gz b/static/admin/js/vendor/select2/i18n/ja.442146837f55.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..7ab3de90df5f64148db078e89ce5c88fb6b47749 GIT binary patch literal 534 zcmb2|=3oE;rvJ4;vDw0oBDL?=M|@wHbL;IIF-Omn%^vbxffs(L+2u@{opSn}&)m7X zUNHsRwk8FA<knrf^qSCOkw@$+LZ*D#UoqR{uXtYBWRs&ur_W4$cE<Agyz1VS#a?_l z8Xb{Ol`Q@BH2J4=33%t-GB`DDMMY&$Lf^w<6E4o%9(k|8C!E226L<LY_0OMm28S%` z>EvAd<YLnXiK{`OtC#5B`_OQI{+yojphd~<Mhm=mC@l;2(VZRB==12d4Ew{vRScR= zCl@VP>70G7_4JhplhD84WNXiO^{i)l-jhBva!ZEg-}9TR{`{>hPnUjLmA}9B(}wH+ zdN=hRtg4?HEwRVxC*xDLQ`=Xqk1jbWyj|k-rb0cB(BJ!9**sVj%r0zNafYGrO!c(K zmR4swGDBbPtGtt$oA6=N=OtyEZgxb>)|kKWj_XgUr>m^iOq}QSRI8`kMfdok+D|h# zuUa_m*3VB&PwS5S5o~q{Tz>wPebxPyxqsvD^)c^0W}(tzHtp)ei;l0)A5N1vx8O#_ zwgofZSRQN1>#O_QA#=t5iR1Qd!b|^@i2ORy^`Z1sUeoKFhkOk#{k-$8w)Xn_xXpb= zJzM%5-%dGtJ=UOd;iNmi@{)i5xP8x{{pyR`X))aF?Yf6WZ^sEdP~mL%m}0-Uf4;$u x!wVX<vv+K=ezoq^?>evb$2QNB<IDA^xxTsLe^LQgU{uyS{p3Bh5mT8N7yyf`7(W02 literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/ja.js b/static/admin/js/vendor/select2/i18n/ja.js new file mode 100644 index 0000000..9a6c299 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/ja.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/ja.js.gz b/static/admin/js/vendor/select2/i18n/ja.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..7ab3de90df5f64148db078e89ce5c88fb6b47749 GIT binary patch literal 534 zcmb2|=3oE;rvJ4;vDw0oBDL?=M|@wHbL;IIF-Omn%^vbxffs(L+2u@{opSn}&)m7X zUNHsRwk8FA<knrf^qSCOkw@$+LZ*D#UoqR{uXtYBWRs&ur_W4$cE<Agyz1VS#a?_l z8Xb{Ol`Q@BH2J4=33%t-GB`DDMMY&$Lf^w<6E4o%9(k|8C!E226L<LY_0OMm28S%` z>EvAd<YLnXiK{`OtC#5B`_OQI{+yojphd~<Mhm=mC@l;2(VZRB==12d4Ew{vRScR= zCl@VP>70G7_4JhplhD84WNXiO^{i)l-jhBva!ZEg-}9TR{`{>hPnUjLmA}9B(}wH+ zdN=hRtg4?HEwRVxC*xDLQ`=Xqk1jbWyj|k-rb0cB(BJ!9**sVj%r0zNafYGrO!c(K zmR4swGDBbPtGtt$oA6=N=OtyEZgxb>)|kKWj_XgUr>m^iOq}QSRI8`kMfdok+D|h# zuUa_m*3VB&PwS5S5o~q{Tz>wPebxPyxqsvD^)c^0W}(tzHtp)ei;l0)A5N1vx8O#_ zwgofZSRQN1>#O_QA#=t5iR1Qd!b|^@i2ORy^`Z1sUeoKFhkOk#{k-$8w)Xn_xXpb= zJzM%5-%dGtJ=UOd;iNmi@{)i5xP8x{{pyR`X))aF?Yf6WZ^sEdP~mL%m}0-Uf4;$u x!wVX<vv+K=ezoq^?>evb$2QNB<IDA^xxTsLe^LQgU{uyS{p3Bh5mT8N7yyf`7(W02 literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/ka.8ea0684cc301.js b/static/admin/js/vendor/select2/i18n/ka.8ea0684cc301.js new file mode 100644 index 0000000..1a8bf91 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/ka.8ea0684cc301.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/ka.8ea0684cc301.js.gz b/static/admin/js/vendor/select2/i18n/ka.8ea0684cc301.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..528513d8272a9ae7bb8a6cea62d2629ed8f60872 GIT binary patch literal 556 zcmb2|=3oE;rvGcFoXxxJAaMMBZP(Fut;{>73Mv7sWCUI<4032HaJIELsbY9zck14C z4vIpT_Blk&RPz<q%v~6u^wID1<P9@>n>F996@Q;$S625~e(m11)k_!^w>)wF)NyZl z|4H>rlRqh}tBNz9uy=`Pw9Tia*_-TUE9O^Cl=l{ht9^g-UH37)-dicBZ{N@;6}mQw zF@0%~{fjC0_W3x}+_|$w{q2T1p5fO;cdU@#db)j|LV$M9TaF2x2`m}XR*cP)CNE^= zpJ(uX?)x42-|otEoqgXd5OZbceZGk8zv6FPeC4xxW?1mrwy3{Xv|Rgt%4M2fdo?Gc zw09%-+I<VM*Ing!yRh@`fji!7#iD#S?GnkIY_;Uv0p1&qO7X>U&nuZUzE8h=N-Dr- zf#QaBZ*rM?|L{9banV~Xxhpy68@HtIX+g(n!AlHy_a$u>EY#ZcXvPi8s`C?)+C+@^ zB=~F+^e>*1tR6h|@6ntuJ0`Tw2|O?@;r4%_`=ZO&&Y0x$zgxOy;oXPDdJoop|MC0t z)SH*R%70rdh*fB87QMegW9yo-|HmsHChh&Um0{aiQ>o2c%lq!1zO&@zqzfz8Oz&4( zdUI9ItuJkAMGuVraXnI*Qn*m5SjYOHpRmrh$Nk|VD#B+sMX#O4BxRWN!F6@{?b(qD zy}A)A)fFDKe=y<suHtgk=5Wk@?cls$_2;+Dx$(T@^oiz!3*LNtdw6|XJ;UWswL%?B VlT&A|395X~zbTSY^$`mL0|4=@8f^do literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/ka.js b/static/admin/js/vendor/select2/i18n/ka.js new file mode 100644 index 0000000..1a8bf91 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/ka.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/ka.js.gz b/static/admin/js/vendor/select2/i18n/ka.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..528513d8272a9ae7bb8a6cea62d2629ed8f60872 GIT binary patch literal 556 zcmb2|=3oE;rvGcFoXxxJAaMMBZP(Fut;{>73Mv7sWCUI<4032HaJIELsbY9zck14C z4vIpT_Blk&RPz<q%v~6u^wID1<P9@>n>F996@Q;$S625~e(m11)k_!^w>)wF)NyZl z|4H>rlRqh}tBNz9uy=`Pw9Tia*_-TUE9O^Cl=l{ht9^g-UH37)-dicBZ{N@;6}mQw zF@0%~{fjC0_W3x}+_|$w{q2T1p5fO;cdU@#db)j|LV$M9TaF2x2`m}XR*cP)CNE^= zpJ(uX?)x42-|otEoqgXd5OZbceZGk8zv6FPeC4xxW?1mrwy3{Xv|Rgt%4M2fdo?Gc zw09%-+I<VM*Ing!yRh@`fji!7#iD#S?GnkIY_;Uv0p1&qO7X>U&nuZUzE8h=N-Dr- zf#QaBZ*rM?|L{9banV~Xxhpy68@HtIX+g(n!AlHy_a$u>EY#ZcXvPi8s`C?)+C+@^ zB=~F+^e>*1tR6h|@6ntuJ0`Tw2|O?@;r4%_`=ZO&&Y0x$zgxOy;oXPDdJoop|MC0t z)SH*R%70rdh*fB87QMegW9yo-|HmsHChh&Um0{aiQ>o2c%lq!1zO&@zqzfz8Oz&4( zdUI9ItuJkAMGuVraXnI*Qn*m5SjYOHpRmrh$Nk|VD#B+sMX#O4BxRWN!F6@{?b(qD zy}A)A)fFDKe=y<suHtgk=5Wk@?cls$_2;+Dx$(T@^oiz!3*LNtdw6|XJ;UWswL%?B VlT&A|395X~zbTSY^$`mL0|4=@8f^do literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/km.8c337905305d.js b/static/admin/js/vendor/select2/i18n/km.8c337905305d.js new file mode 100644 index 0000000..e918d4f --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/km.8c337905305d.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/km.8c337905305d.js.gz b/static/admin/js/vendor/select2/i18n/km.8c337905305d.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..1df2b93b23fbbbc4324d9d0b1f2329202e7c3500 GIT binary patch literal 563 zcmb2|=3oE;rvJUc7xOL~h}7N>pJC(kcA90w1c$l58ZOAGiK=MiceHOQob8aqe|)Bc zYLIzqh_I0K(ghop+#e}BFdf<d!+%5mtx3HN6Ba%B_3O#J;`3Yg_G+*2PP#Px`bFLv z(fcm?ff`TaE`8dQsB(Bq`|mkbo}7`j)rRjYulTD7#-)EhcW&=HzGaNJK3uyd)jZ{E z>XFFBmR)SU>feKv;?}I69&eK{RY3pL)g>GJo1g8|7s$N+E|*&=_@KZ+MoE_*lQ~Pb zytt+N%ywzt?-v`RCk8!ocj3^py2Gzzmh*Sx+l<m>SHsud%lsO-T0crQ^Q%}>@>;tr z(>7IxF3kfz1zFqXoawz0rzKx>@8Q);ODs3#o-jMeaKJFpSu#)1=kIet-<79twQalb zihaWQt-sb?J!2%!-X^A)9-L>z!P47!HR1f+rHpUP3(cQ6T{F7e5xHt@x0IgY`JBny z{t2c$+qx&McHLETmS4*@{NS|nIj~fQ$MV9_C0Yi0fA^hcUHSFSl=`Jt*<aZF_do2I zKhx&w(S<J=l5>`ADA;OqS!Kn>!y9#VyLz>Y=Y>dVX&vNYV5>>0IAanvnYmo;+HP+9 zb0vj5YxgwnseB%4pYqJ;UxP}f&gA;}2R5sIyfZ5yd*<`KbA6tv9TETgA;0~{q=l@1 z{&41;a(ubN#9QFh_mgie?oDmEwmNd|am^K$jjBE;f}T8>zw-aBlbhDO>^pV)MpT^l b;SV~!ExtNR%~>Yf>lxkV*awueFfafB`%)JV literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/km.js b/static/admin/js/vendor/select2/i18n/km.js new file mode 100644 index 0000000..e918d4f --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/km.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/km.js.gz b/static/admin/js/vendor/select2/i18n/km.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..1df2b93b23fbbbc4324d9d0b1f2329202e7c3500 GIT binary patch literal 563 zcmb2|=3oE;rvJUc7xOL~h}7N>pJC(kcA90w1c$l58ZOAGiK=MiceHOQob8aqe|)Bc zYLIzqh_I0K(ghop+#e}BFdf<d!+%5mtx3HN6Ba%B_3O#J;`3Yg_G+*2PP#Px`bFLv z(fcm?ff`TaE`8dQsB(Bq`|mkbo}7`j)rRjYulTD7#-)EhcW&=HzGaNJK3uyd)jZ{E z>XFFBmR)SU>feKv;?}I69&eK{RY3pL)g>GJo1g8|7s$N+E|*&=_@KZ+MoE_*lQ~Pb zytt+N%ywzt?-v`RCk8!ocj3^py2Gzzmh*Sx+l<m>SHsud%lsO-T0crQ^Q%}>@>;tr z(>7IxF3kfz1zFqXoawz0rzKx>@8Q);ODs3#o-jMeaKJFpSu#)1=kIet-<79twQalb zihaWQt-sb?J!2%!-X^A)9-L>z!P47!HR1f+rHpUP3(cQ6T{F7e5xHt@x0IgY`JBny z{t2c$+qx&McHLETmS4*@{NS|nIj~fQ$MV9_C0Yi0fA^hcUHSFSl=`Jt*<aZF_do2I zKhx&w(S<J=l5>`ADA;OqS!Kn>!y9#VyLz>Y=Y>dVX&vNYV5>>0IAanvnYmo;+HP+9 zb0vj5YxgwnseB%4pYqJ;UxP}f&gA;}2R5sIyfZ5yd*<`KbA6tv9TETgA;0~{q=l@1 z{&41;a(ubN#9QFh_mgie?oDmEwmNd|am^K$jjBE;f}T8>zw-aBlbhDO>^pV)MpT^l b;SV~!ExtNR%~>Yf>lxkV*awueFfafB`%)JV literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/ko.82358a9b6840.js b/static/admin/js/vendor/select2/i18n/ko.82358a9b6840.js new file mode 100644 index 0000000..cc62730 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/ko.82358a9b6840.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/ko.82358a9b6840.js.gz b/static/admin/js/vendor/select2/i18n/ko.82358a9b6840.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..f3d396e977ee771eb987476c87df2df94927dbbd GIT binary patch literal 528 zcmb2|=3oE;rvIfuj@iPFBKy9F_Y`Y*Zk`(|IAw~AOO=L;<6~c&oJrGDO3Rm>J13^f zw$04TM_FTAgvqsrl^a!C7p&bfA^ve;`X~82J8r5iy?xo{UiIhN`@ip97GJkOCL%!K z`bFNNsdrrT16?~p)z`jG4Gy_uqiGOberVce^Zbo_@}&D1)}@EP)46|IS9o`a*q5C< zT~01#O*ES25q37{(aBozAKgEHeo$4l5}w2v<I^QkX1Fu0fMw>5TSDv)i@F*_7N!Jw zJn)!R`Bv=ee4{nCRcp?AaQ<F>!18fqnuu?dU%W>0|LX_-+fJ!=R{3x8Wc$8bFO{#} zaC~)H`l`*e*}OY%s_s}ev*fBMzvSsnkrEzZ$0xb6o%qj|#HibSN=e{$Mc%D-YcKLl z``Y$KUh#iPEmM1e*AjzI{x(~G%dMQZeBYKU-xsc$zv6r}i~HnDn%V0P?dVv#)z|7- zq>X+;TiDmC%Z}%aPnSn~yxli#?%s>v0{1Xzo4nI|ERY<R5*cpByyRW`{(JogR-JtD zaH6B3n_1ZL+?$`6Ow-+#Zm`ezy?pHf-kaHqq3?Ul_9@jrIGMH}&pygU#rKNIDY=Hn zQHOSxtUmajySn7SgVs~2+aIj#-G158;zkZ{Ui7st2J1dIxj$3ntuwaNYVd!XSXH{h pDmP~J)k#sNHkV3D)-ql*zW(I#5f!doLMNBj-xL+y+{eto000~n0rda? literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/ko.js b/static/admin/js/vendor/select2/i18n/ko.js new file mode 100644 index 0000000..cc62730 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/ko.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/ko.js.gz b/static/admin/js/vendor/select2/i18n/ko.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..f3d396e977ee771eb987476c87df2df94927dbbd GIT binary patch literal 528 zcmb2|=3oE;rvIfuj@iPFBKy9F_Y`Y*Zk`(|IAw~AOO=L;<6~c&oJrGDO3Rm>J13^f zw$04TM_FTAgvqsrl^a!C7p&bfA^ve;`X~82J8r5iy?xo{UiIhN`@ip97GJkOCL%!K z`bFNNsdrrT16?~p)z`jG4Gy_uqiGOberVce^Zbo_@}&D1)}@EP)46|IS9o`a*q5C< zT~01#O*ES25q37{(aBozAKgEHeo$4l5}w2v<I^QkX1Fu0fMw>5TSDv)i@F*_7N!Jw zJn)!R`Bv=ee4{nCRcp?AaQ<F>!18fqnuu?dU%W>0|LX_-+fJ!=R{3x8Wc$8bFO{#} zaC~)H`l`*e*}OY%s_s}ev*fBMzvSsnkrEzZ$0xb6o%qj|#HibSN=e{$Mc%D-YcKLl z``Y$KUh#iPEmM1e*AjzI{x(~G%dMQZeBYKU-xsc$zv6r}i~HnDn%V0P?dVv#)z|7- zq>X+;TiDmC%Z}%aPnSn~yxli#?%s>v0{1Xzo4nI|ERY<R5*cpByyRW`{(JogR-JtD zaH6B3n_1ZL+?$`6Ow-+#Zm`ezy?pHf-kaHqq3?Ul_9@jrIGMH}&pygU#rKNIDY=Hn zQHOSxtUmajySn7SgVs~2+aIj#-G158;zkZ{Ui7st2J1dIxj$3ntuwaNYVd!XSXH{h pDmP~J)k#sNHkV3D)-ql*zW(I#5f!doLMNBj-xL+y+{eto000~n0rda? literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/lt.2c390a6bf650.js b/static/admin/js/vendor/select2/i18n/lt.2c390a6bf650.js new file mode 100644 index 0000000..3c3dc32 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/lt.2c390a6bf650.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/lt.2c390a6bf650.js.gz b/static/admin/js/vendor/select2/i18n/lt.2c390a6bf650.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..e41062f5565cfdb02764b34f3015a5d9ef247934 GIT binary patch literal 532 zcmb2|=3oE;rvFnX9qhYoAkg;yx5zP}&`n>}c%7Qg=83JnASWiqGDZ5)1GCFlOty6! zuZy_l5mPZ?Z-HZzbNs?e!FeppGrcArYV`hdTJryY^W^s9-%kh>Njzr$WFW!Pf1=Ar z@VTo@+sp$iWm%JT4=>WZxqfj>ztc%>7U6p__Is-=_i&|n^&MWUoS$@6qBU&Zei7mK zhqJk#ZM&X*EnyK~%7)FaZ*cAK`O9j~GU;4>I@<*)R|StmC6S6PuEH0SMW1=x-2MFx z!_uiNHVG$0jQ?%=x<j6Kl1gWl?fPlWpEaV^ZhNI<^>uzi%<JwWiPs+4SpIci*yVdO zLa%jJbj|9oy<w4imOIo(ZeJqAvyIh}PwVhYPPR$)LYKVKgno5}m)nSEsR?krU2Uh@ zIzf5v<!$Mg{SO59<kbbawd%gg-@44sST(!3JveuRaU@r$``kZg1Jv{DB&OHy=JkvH zTHpSB)^ev*{Vk0@626@E{B@^b^^Pa!Zl^UxCq3AFc4G3@e_x+U>)y=cI9uGZrFov+ z>V4uW#g7X+isLvQKWk}PFvIfJUkTZ*pC>FR=wF-l#=dyj?Dc##-uqj_RfB)=iu5gi z;jrK3q0*eht!i97)!*-Y6gzOXLW?iIqW+Q8s@*fE?Rj~o;R^STGoQ0rZi-%r+x0qC skt=%3pS}$`-t%>5hs$k0f7h~Z%b_dM)=yX2{C{J9&H6y~d1eL%0LF{~@Bjb+ literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/lt.js b/static/admin/js/vendor/select2/i18n/lt.js new file mode 100644 index 0000000..3c3dc32 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/lt.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/lt.js.gz b/static/admin/js/vendor/select2/i18n/lt.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..e41062f5565cfdb02764b34f3015a5d9ef247934 GIT binary patch literal 532 zcmb2|=3oE;rvFnX9qhYoAkg;yx5zP}&`n>}c%7Qg=83JnASWiqGDZ5)1GCFlOty6! zuZy_l5mPZ?Z-HZzbNs?e!FeppGrcArYV`hdTJryY^W^s9-%kh>Njzr$WFW!Pf1=Ar z@VTo@+sp$iWm%JT4=>WZxqfj>ztc%>7U6p__Is-=_i&|n^&MWUoS$@6qBU&Zei7mK zhqJk#ZM&X*EnyK~%7)FaZ*cAK`O9j~GU;4>I@<*)R|StmC6S6PuEH0SMW1=x-2MFx z!_uiNHVG$0jQ?%=x<j6Kl1gWl?fPlWpEaV^ZhNI<^>uzi%<JwWiPs+4SpIci*yVdO zLa%jJbj|9oy<w4imOIo(ZeJqAvyIh}PwVhYPPR$)LYKVKgno5}m)nSEsR?krU2Uh@ zIzf5v<!$Mg{SO59<kbbawd%gg-@44sST(!3JveuRaU@r$``kZg1Jv{DB&OHy=JkvH zTHpSB)^ev*{Vk0@626@E{B@^b^^Pa!Zl^UxCq3AFc4G3@e_x+U>)y=cI9uGZrFov+ z>V4uW#g7X+isLvQKWk}PFvIfJUkTZ*pC>FR=wF-l#=dyj?Dc##-uqj_RfB)=iu5gi z;jrK3q0*eht!i97)!*-Y6gzOXLW?iIqW+Q8s@*fE?Rj~o;R^STGoQ0rZi-%r+x0qC skt=%3pS}$`-t%>5hs$k0f7h~Z%b_dM)=yX2{C{J9&H6y~d1eL%0LF{~@Bjb+ literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/lv.30bfb7fc3b63.js b/static/admin/js/vendor/select2/i18n/lv.30bfb7fc3b63.js new file mode 100644 index 0000000..9e62a3b --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/lv.30bfb7fc3b63.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/lv.30bfb7fc3b63.js.gz b/static/admin/js/vendor/select2/i18n/lv.30bfb7fc3b63.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..41a743fde5bd423c93d2609b5ab9f4635a927a35 GIT binary patch literal 511 zcmb2|=3oE;rvJ5*4(45U5NLZ}+m))Swfp8RUMHrVo3vPLMV3xgxFgW+YvVbsBK>gH zwWcN0PPB@@5H5H)>AFW;i+W=3V}S`rGwaWu`}gnJ_ao{3Hw20#E(?D%+0`*`W3`!b zl!&K{zv$UJ8dB1-;=ZRJ$~;XI$&M7bQBm;u)33Y=*_S<YkE*L5Jo0eHl!FQ}D?LAa z>}CG_^vf2@#hh{{GxDzob}cz~C@6|8^ZDJStVLpyE|NYXP6wh*uGaSz#ua`1*KFaG zsoKoI!YN`FvsEs0*0<l`Qw}`-=el;i!N$<yok2SazMPxUcrdf*!{UO_!--xO-?wS7 z&$;wwj*_mu_S-ERH09rz-MnPTy7Y{QK=cpsp6?q{x9^>@+3DrPla>5TA~B86nyl}w z2)H4a9;LVawdHyjZ=*Sq-g7mg692yayno@YfKzXs|J93xzwzAjL1F5N-ukY~(aDOI zr?whCSg&&R+t0GO2hXp!w|QsRk+xIeHN&&@<+GbAbvsw4_HL<FU}bgw5Sse;M$W$2 z>T}L(boH<8xfjVC#QR76d;NipLK*j*9u{d?ZD=pb6U{YOJ{~Y_-Y$mB<Hn_b*7Kj; zZt%Tj_j{pK<3+5wUKJCco3rdX{qNkHeU0A=S0DQ6DZ1dY-0D@U0@lnr>U)d#Ti*OR Xn@SVc*Mtki{bPDsrKq)tnSlWSz;*o* literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/lv.js b/static/admin/js/vendor/select2/i18n/lv.js new file mode 100644 index 0000000..9e62a3b --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/lv.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/lv.js.gz b/static/admin/js/vendor/select2/i18n/lv.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..41a743fde5bd423c93d2609b5ab9f4635a927a35 GIT binary patch literal 511 zcmb2|=3oE;rvJ5*4(45U5NLZ}+m))Swfp8RUMHrVo3vPLMV3xgxFgW+YvVbsBK>gH zwWcN0PPB@@5H5H)>AFW;i+W=3V}S`rGwaWu`}gnJ_ao{3Hw20#E(?D%+0`*`W3`!b zl!&K{zv$UJ8dB1-;=ZRJ$~;XI$&M7bQBm;u)33Y=*_S<YkE*L5Jo0eHl!FQ}D?LAa z>}CG_^vf2@#hh{{GxDzob}cz~C@6|8^ZDJStVLpyE|NYXP6wh*uGaSz#ua`1*KFaG zsoKoI!YN`FvsEs0*0<l`Qw}`-=el;i!N$<yok2SazMPxUcrdf*!{UO_!--xO-?wS7 z&$;wwj*_mu_S-ERH09rz-MnPTy7Y{QK=cpsp6?q{x9^>@+3DrPla>5TA~B86nyl}w z2)H4a9;LVawdHyjZ=*Sq-g7mg692yayno@YfKzXs|J93xzwzAjL1F5N-ukY~(aDOI zr?whCSg&&R+t0GO2hXp!w|QsRk+xIeHN&&@<+GbAbvsw4_HL<FU}bgw5Sse;M$W$2 z>T}L(boH<8xfjVC#QR76d;NipLK*j*9u{d?ZD=pb6U{YOJ{~Y_-Y$mB<Hn_b*7Kj; zZt%Tj_j{pK<3+5wUKJCco3rdX{qNkHeU0A=S0DQ6DZ1dY-0D@U0@lnr>U)d#Ti*OR Xn@SVc*Mtki{bPDsrKq)tnSlWSz;*o* literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/mk.92f1d29581b7.js b/static/admin/js/vendor/select2/i18n/mk.92f1d29581b7.js new file mode 100644 index 0000000..6f78a6b --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/mk.92f1d29581b7.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/mk.92f1d29581b7.js.gz b/static/admin/js/vendor/select2/i18n/mk.92f1d29581b7.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..031f22068185febf09612bf08d85864603f14353 GIT binary patch literal 566 zcmb2|=3oE;rvGy%`{!RakT~}Kx5zyH&`oK4&K?W=1f4S4J()YFN<W&gEib!c?nDdW z6)suVnddxg5~$CcV;m8ArSxt1hW$+QTdw=w7M;fY=)sTs()RnGcRtR`U1Y_Z5q!^O z`w8A6>Ah~Tn*EPvy)K*aMveCp&rWG^)z$k1TX?7c-ne99^@jTT_ldRrAH;4InVYRC zQ<^oY_0Xp3HMzFcQ!cy+T^jUdiSD(wl){*kLLVzn+kI1Z*?Vd4-HuZ#LLHODa*Z8z z_qZfmm$#grpZxq}a60eO74HoTr<^#RSRv5mm%G*X?YxVV<WxU12?bo7csJK;$Nxzm zTdWTqel=H0(KIl)bYanp#80uYt0u}hST|~}TlZ?U#7fB!zYw;o$+j+8YmDx;zr1nf zmEFFg4HfB^KbL8VdWSe_9p9!Ll<pb*zHOq;(WgE$%D4Y#`L7;hdnNz$j{oc?9Dl`x z=dvfdWM6k;7y0Y<^p^`iqvB=x-ir9%E0#Jj4PI=z|F8aU3r<%IjPbms^|9xw`iC#Y ziB5A@@-*%*F3n1qevRz_|F!>{ma)6>NF2NFTbb}`oyjz#n8~fC?#uc(_%r9Q80mff zD(U0HbAV^b@(Fp%>=`a{xCJvCvaXfX**AapxdZV&e^=a0eLemCs~zh<hxqya3l9|C z=`yAL_?I|=H{PebBlkJ%dyxO{rCw;?75)ka=eQ>(v**{Q={0#uFVD=f-uvkJO5OiT b6DlWeIH9BC7La;#_kPAX{Yp>NSQr=pNj(m1 literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/mk.js b/static/admin/js/vendor/select2/i18n/mk.js new file mode 100644 index 0000000..6f78a6b --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/mk.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/mk.js.gz b/static/admin/js/vendor/select2/i18n/mk.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..031f22068185febf09612bf08d85864603f14353 GIT binary patch literal 566 zcmb2|=3oE;rvGy%`{!RakT~}Kx5zyH&`oK4&K?W=1f4S4J()YFN<W&gEib!c?nDdW z6)suVnddxg5~$CcV;m8ArSxt1hW$+QTdw=w7M;fY=)sTs()RnGcRtR`U1Y_Z5q!^O z`w8A6>Ah~Tn*EPvy)K*aMveCp&rWG^)z$k1TX?7c-ne99^@jTT_ldRrAH;4InVYRC zQ<^oY_0Xp3HMzFcQ!cy+T^jUdiSD(wl){*kLLVzn+kI1Z*?Vd4-HuZ#LLHODa*Z8z z_qZfmm$#grpZxq}a60eO74HoTr<^#RSRv5mm%G*X?YxVV<WxU12?bo7csJK;$Nxzm zTdWTqel=H0(KIl)bYanp#80uYt0u}hST|~}TlZ?U#7fB!zYw;o$+j+8YmDx;zr1nf zmEFFg4HfB^KbL8VdWSe_9p9!Ll<pb*zHOq;(WgE$%D4Y#`L7;hdnNz$j{oc?9Dl`x z=dvfdWM6k;7y0Y<^p^`iqvB=x-ir9%E0#Jj4PI=z|F8aU3r<%IjPbms^|9xw`iC#Y ziB5A@@-*%*F3n1qevRz_|F!>{ma)6>NF2NFTbb}`oyjz#n8~fC?#uc(_%r9Q80mff zD(U0HbAV^b@(Fp%>=`a{xCJvCvaXfX**AapxdZV&e^=a0eLemCs~zh<hxqya3l9|C z=`yAL_?I|=H{PebBlkJ%dyxO{rCw;?75)ka=eQ>(v**{Q={0#uFVD=f-uvkJO5OiT b6DlWeIH9BC7La;#_kPAX{Yp>NSQr=pNj(m1 literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/ms.ade6aba46542.js b/static/admin/js/vendor/select2/i18n/ms.ade6aba46542.js new file mode 100644 index 0000000..55411d4 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/ms.ade6aba46542.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/ms.ade6aba46542.js.gz b/static/admin/js/vendor/select2/i18n/ms.ade6aba46542.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..83d62aeee8772e6bee652c897d4c0150cd81809c GIT binary patch literal 450 zcmb2|=3oE;rvJH<&gNY)5IFw6mTR)})ROId3Mv=EY(rMGcj*c(F+Y+hbUyFSjmHoA zyRL2$@;}`CQRRk8^d=?o+fwKMJhPX7dXzhC;h|&u)AE0K|C{zVVeR+5(Nmv>{W80< z$8c9k^XbpA+QHMM=D0_%dw=hK-I~0eVs94NSf4g;l+x#YdNeNY({X>sx9|Sc?D*NH z=5O~X%|~X7#=HYYd*=P!z3D}>YFo?$H=$=Y183EI?eluO>FM<Kr#q({tna@jwcAWV zB{%$kZMysheme_=XG<IUu4c$5vio?*9w>LPvDQ&_UCy3-E$!5Sr1@WdWk0Ex-QjfW z*EgY^ZSM_Z`X_Dn(n`?%a?n-ov{>Cl!xu6UGd8Tg7GckQeUi}IPbOzMZTQqmgm<(b z5V^ML?{s%w-5us)>9+zFGTbuiO}@Iu`rFg*=i?2l)?`G;h^Sk+AK~o`Q9b(Xs$1gh zgdkVWn~!!X2S(4&ahT}&%y`#=J+m)<R#3e3t0F*Tv-ho*FM)G=8u<>Iz5QeJexlTd zqJZ4M+3I@&U+J~&y7_W7gW1*BK~Hs-p5SYD-gt*UdYjd{=#*OSOKOLIbj4K`er2!z Ld+MM+GXnzvM91K= literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/ms.js b/static/admin/js/vendor/select2/i18n/ms.js new file mode 100644 index 0000000..55411d4 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/ms.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/ms.js.gz b/static/admin/js/vendor/select2/i18n/ms.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..83d62aeee8772e6bee652c897d4c0150cd81809c GIT binary patch literal 450 zcmb2|=3oE;rvJH<&gNY)5IFw6mTR)})ROId3Mv=EY(rMGcj*c(F+Y+hbUyFSjmHoA zyRL2$@;}`CQRRk8^d=?o+fwKMJhPX7dXzhC;h|&u)AE0K|C{zVVeR+5(Nmv>{W80< z$8c9k^XbpA+QHMM=D0_%dw=hK-I~0eVs94NSf4g;l+x#YdNeNY({X>sx9|Sc?D*NH z=5O~X%|~X7#=HYYd*=P!z3D}>YFo?$H=$=Y183EI?eluO>FM<Kr#q({tna@jwcAWV zB{%$kZMysheme_=XG<IUu4c$5vio?*9w>LPvDQ&_UCy3-E$!5Sr1@WdWk0Ex-QjfW z*EgY^ZSM_Z`X_Dn(n`?%a?n-ov{>Cl!xu6UGd8Tg7GckQeUi}IPbOzMZTQqmgm<(b z5V^ML?{s%w-5us)>9+zFGTbuiO}@Iu`rFg*=i?2l)?`G;h^Sk+AK~o`Q9b(Xs$1gh zgdkVWn~!!X2S(4&ahT}&%y`#=J+m)<R#3e3t0F*Tv-ho*FM)G=8u<>Iz5QeJexlTd zqJZ4M+3I@&U+J~&y7_W7gW1*BK~Hs-p5SYD-gt*UdYjd{=#*OSOKOLIbj4K`er2!z Ld+MM+GXnzvM91K= literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/nb.e535138ca26b.js b/static/admin/js/vendor/select2/i18n/nb.e535138ca26b.js new file mode 100644 index 0000000..4d6ffc9 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/nb.e535138ca26b.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/nb.e535138ca26b.js.gz b/static/admin/js/vendor/select2/i18n/nb.e535138ca26b.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..c91b909201a55457e8a3c7f0be6b44dcb2ec2387 GIT binary patch literal 430 zcmb2|=3oE;rvJH<4(45U5NLZ}+jX%0RNiG%g(ZtZY(tiM2r_au?Ff-E`*`DCRr$7_ zbmf4KBbPt$+^H0v*W&voWZkRF>&pK9d_Mc;N&k5VnRM4ZQQZ@C{;K7lmZ&HD=02-T zUBc(R^^;z{^~u9Kx75wFzROi)H$V1%O~f6I@B^N8B~zv~h9%i7y?JcP%e%)L{yhG% z!#dQndG)KeZu6#;xo*40Q(-B!J7LNJmK9t&yos}9E}ZGUKIO8}%sX{+c>=8dvdy$T zzgLeZ^s@THC$S1n2ENS!%A8Ee(raGaSnjn=*!jDoUA6u9!#QWntb=yCY!%n&4)LsQ zJN5GYG1lvc)#4|dn6*k&<GsNl_2osg8WLQY-@CqzbUQnD;oRFd9~=3fz1?<JiielG zK|;Fw#=6hn=M^sb{qvvm!YwBbpZov!mu&FwxLv6S9|<PT|F7n-nDbhOHp}waW=u9b zicLpCw$IjbxBfK$8|y8>KFLstPRY|oTG3bbtUCTb`{Q^2VuqBGy58_>=UDE}czgTr sg{@mHRBq;NKDjJ<(aXfyi>_}^sQ7;2{vxfjdjFVpW3^Z4F*7g#09l^eu>b%7 literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/nb.js b/static/admin/js/vendor/select2/i18n/nb.js new file mode 100644 index 0000000..4d6ffc9 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/nb.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/nb.js.gz b/static/admin/js/vendor/select2/i18n/nb.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..c91b909201a55457e8a3c7f0be6b44dcb2ec2387 GIT binary patch literal 430 zcmb2|=3oE;rvJH<4(45U5NLZ}+jX%0RNiG%g(ZtZY(tiM2r_au?Ff-E`*`DCRr$7_ zbmf4KBbPt$+^H0v*W&voWZkRF>&pK9d_Mc;N&k5VnRM4ZQQZ@C{;K7lmZ&HD=02-T zUBc(R^^;z{^~u9Kx75wFzROi)H$V1%O~f6I@B^N8B~zv~h9%i7y?JcP%e%)L{yhG% z!#dQndG)KeZu6#;xo*40Q(-B!J7LNJmK9t&yos}9E}ZGUKIO8}%sX{+c>=8dvdy$T zzgLeZ^s@THC$S1n2ENS!%A8Ee(raGaSnjn=*!jDoUA6u9!#QWntb=yCY!%n&4)LsQ zJN5GYG1lvc)#4|dn6*k&<GsNl_2osg8WLQY-@CqzbUQnD;oRFd9~=3fz1?<JiielG zK|;Fw#=6hn=M^sb{qvvm!YwBbpZov!mu&FwxLv6S9|<PT|F7n-nDbhOHp}waW=u9b zicLpCw$IjbxBfK$8|y8>KFLstPRY|oTG3bbtUCTb`{Q^2VuqBGy58_>=UDE}czgTr sg{@mHRBq;NKDjJ<(aXfyi>_}^sQ7;2{vxfjdjFVpW3^Z4F*7g#09l^eu>b%7 literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/ne.f61bf00bc3fe.js b/static/admin/js/vendor/select2/i18n/ne.f61bf00bc3fe.js new file mode 100644 index 0000000..ed48b1d --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/ne.f61bf00bc3fe.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/ne.f61bf00bc3fe.js.gz b/static/admin/js/vendor/select2/i18n/ne.f61bf00bc3fe.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..6bb2b9d936c8921444b12595ed012bc2becc2049 GIT binary patch literal 592 zcmb2|=3oE;rvFPreDg0GNbGwbUSSz>a+W2JVx!g9mNEw|kAS?4_ARBi7aWu8Yj#+A zNy%ib@T#&`dUKB)l@xyTx~YNtx3<`RmU@*;uA3%DG{3!8fB)O&{qGz1j#*_a7JRj7 z_5-m!jQP#s2`6sEUHP!b@jzQ4dzt48SGJ%UYvoHHo$Ql3s@7JQm&<J_Pq@J>eec$+ zyZwdJSy^tMvv_gaU;bFfzBO0Rh<_{0<lI~$s`#Sa_W4eK#;mY;xxq)0x)_^mukage zT019dLn(W;MC7~4vD;maJ~-YH<P?46J!{2<AFpo+{fQ~i`_cMfdDDN9KkX0VU1l*H zJnvGa@uRa(&T|e=t$5A4jmKZ@pAs!>exTa0+Q*}N%4g;DHCr~QHAykJbMW6N5I%UJ zUa+O`#iM0QCoNsiTCe{jJ(4w|G;DjyROVU(;XkvVD1D!AGI2Yrpr`*wpZgk4Lh6-I z?k2uIyEf|Vv9H-_`mgu8NghAyee|v3!Zkrf5(!HSi$iOsrW~|?QPpX8gI!Y9H6>2% z@6`r=u1)Vv-13%%d;VGxzIk=Enrd&4{X5|<E!$0Ns#ivrXqHaMc<#d*|6-HzhwT48 zzf@-L-dVLG{Gz${a=((|lvgW7;%}(tH$Br!ym>&R@AZUFC!OA(?@gHS-13rTH=BxO zQs6tsz!N{7$Ddqt>&5;^OTF1UX4p6d+9U-&b$RyFK6rA_xu=iLe|)hrWnSFQ&4QmY z%PVd+7c7b`$`X>wJ3aGNqMurywb}Uq<@)}Zu6aipLmP8c1GjDdD?Mr9q-h1L3=9CK Cej;rE literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/ne.js b/static/admin/js/vendor/select2/i18n/ne.js new file mode 100644 index 0000000..ed48b1d --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/ne.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/ne.js.gz b/static/admin/js/vendor/select2/i18n/ne.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..6bb2b9d936c8921444b12595ed012bc2becc2049 GIT binary patch literal 592 zcmb2|=3oE;rvFPreDg0GNbGwbUSSz>a+W2JVx!g9mNEw|kAS?4_ARBi7aWu8Yj#+A zNy%ib@T#&`dUKB)l@xyTx~YNtx3<`RmU@*;uA3%DG{3!8fB)O&{qGz1j#*_a7JRj7 z_5-m!jQP#s2`6sEUHP!b@jzQ4dzt48SGJ%UYvoHHo$Ql3s@7JQm&<J_Pq@J>eec$+ zyZwdJSy^tMvv_gaU;bFfzBO0Rh<_{0<lI~$s`#Sa_W4eK#;mY;xxq)0x)_^mukage zT019dLn(W;MC7~4vD;maJ~-YH<P?46J!{2<AFpo+{fQ~i`_cMfdDDN9KkX0VU1l*H zJnvGa@uRa(&T|e=t$5A4jmKZ@pAs!>exTa0+Q*}N%4g;DHCr~QHAykJbMW6N5I%UJ zUa+O`#iM0QCoNsiTCe{jJ(4w|G;DjyROVU(;XkvVD1D!AGI2Yrpr`*wpZgk4Lh6-I z?k2uIyEf|Vv9H-_`mgu8NghAyee|v3!Zkrf5(!HSi$iOsrW~|?QPpX8gI!Y9H6>2% z@6`r=u1)Vv-13%%d;VGxzIk=Enrd&4{X5|<E!$0Ns#ivrXqHaMc<#d*|6-HzhwT48 zzf@-L-dVLG{Gz${a=((|lvgW7;%}(tH$Br!ym>&R@AZUFC!OA(?@gHS-13rTH=BxO zQs6tsz!N{7$Ddqt>&5;^OTF1UX4p6d+9U-&b$RyFK6rA_xu=iLe|)hrWnSFQ&4QmY z%PVd+7c7b`$`X>wJ3aGNqMurywb}Uq<@)}Zu6aipLmP8c1GjDdD?Mr9q-h1L3=9CK Cej;rE literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/nl.674c0d3da68d.js b/static/admin/js/vendor/select2/i18n/nl.674c0d3da68d.js new file mode 100644 index 0000000..00479f8 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/nl.674c0d3da68d.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/nl.674c0d3da68d.js.gz b/static/admin/js/vendor/select2/i18n/nl.674c0d3da68d.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..45477b0f9c08ee087c9ec413aa4ccdb6578ae9aa GIT binary patch literal 481 zcmb2|=3oE;rvJG?2lFmF2<-i?y{)?A&9T_YT%1!*IdLpn71YJzDB~bw_VLEOs`70; z*E0h*Tv`9{@DHJDWtSvgUG6Encdpv_^P|nd+n9Kz%MZqNi9ZtkeU$6@yH%Ak&rgYd zjmlZmxmxa%$n{(6l9jdDMfBI-*R@+Cc4)~P9Xm_TO;YB5kvxayo@%<?Z+hYU$tC?t zhaI)Py>*+{Vv@OI>JbIWwXs4wW=&}HPz>f^wD$<!d|hJkvy0o`Uv%*5zt1>v>C&ky z57qozbLKv?@`|jtOPEuZ9=*aI^5DkarDo?Hz2#Z+m0HWU{?2)Oi7(o5M|SFN78iB_ zDTDH(mK@6RQ&#%6aPDVXo50=Ue|O5}ph-G^)wG{A<Tk#$n#;v<g5UYk#GKHGqQyCG ziMRj#iNE(e$1Itxfo%<!b<%J9<?pVSBy+ljm0mWJ)LDJ|^!(%Z>x_SUR>wP9>1{u* za`FwYzUn7S{cIQg1)+Nu?2S-Poo#pU@8qI{A0PkxK9p%R+lOh6+MY*=SB^bCT9sb0 zb7lTLmkj&TRjVg1TzBBV1kcpN+dezkhqF#HJG!HIUz7&F1yl0&4`Hvf*O&G@JN@v4 sPZsZ857GQtYCUCp=RRkT{~c$a<@)xp-RBhwd;V}g7ShPr!OXw_0Cbz`8~^|S literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/nl.js b/static/admin/js/vendor/select2/i18n/nl.js new file mode 100644 index 0000000..00479f8 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/nl.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/nl.js.gz b/static/admin/js/vendor/select2/i18n/nl.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..45477b0f9c08ee087c9ec413aa4ccdb6578ae9aa GIT binary patch literal 481 zcmb2|=3oE;rvJG?2lFmF2<-i?y{)?A&9T_YT%1!*IdLpn71YJzDB~bw_VLEOs`70; z*E0h*Tv`9{@DHJDWtSvgUG6Encdpv_^P|nd+n9Kz%MZqNi9ZtkeU$6@yH%Ak&rgYd zjmlZmxmxa%$n{(6l9jdDMfBI-*R@+Cc4)~P9Xm_TO;YB5kvxayo@%<?Z+hYU$tC?t zhaI)Py>*+{Vv@OI>JbIWwXs4wW=&}HPz>f^wD$<!d|hJkvy0o`Uv%*5zt1>v>C&ky z57qozbLKv?@`|jtOPEuZ9=*aI^5DkarDo?Hz2#Z+m0HWU{?2)Oi7(o5M|SFN78iB_ zDTDH(mK@6RQ&#%6aPDVXo50=Ue|O5}ph-G^)wG{A<Tk#$n#;v<g5UYk#GKHGqQyCG ziMRj#iNE(e$1Itxfo%<!b<%J9<?pVSBy+ljm0mWJ)LDJ|^!(%Z>x_SUR>wP9>1{u* za`FwYzUn7S{cIQg1)+Nu?2S-Poo#pU@8qI{A0PkxK9p%R+lOh6+MY*=SB^bCT9sb0 zb7lTLmkj&TRjVg1TzBBV1kcpN+dezkhqF#HJG!HIUz7&F1yl0&4`Hvf*O&G@JN@v4 sPZsZ857GQtYCUCp=RRkT{~c$a<@)xp-RBhwd;V}g7ShPr!OXw_0Cbz`8~^|S literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/pl.a10ee9248c07.js b/static/admin/js/vendor/select2/i18n/pl.a10ee9248c07.js new file mode 100644 index 0000000..b611a25 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/pl.a10ee9248c07.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/pl.a10ee9248c07.js.gz b/static/admin/js/vendor/select2/i18n/pl.a10ee9248c07.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..deebdaa70f2a72191e0bfa72f5e5a96567e41a3a GIT binary patch literal 527 zcmb2|=3oE;rvJG?XY(#Q2<-c=DJHM9yY#wmD2tbY&;mKFrJ@sxx{7WbnVcg0KJSL? z^{vgSEfXq);~KQhPjr7!$$4~^|B(3kin@J&_s#6|n?J#BiNP`NB3Jzv#-BRR2uxol z>>Av+ImhL=m&-D}o3{g3xlK%9b9CQ3+x&X@-)t?RBB{A^eoXf1o2dPgUEA*C^Y=y< zTvvxiTTOJ=D=pwvJmn%}W8kZhcc#=dVVNr9tOG6HANI<c-mBAFocgM@IkCcJ=`pE_ zr77I{cck9ESuelSoadsNZVN-F*}FZD9$X7Gx|f`!v7O7X?{V3KA14kT-LRW;U(WWZ zA4>bIRBq`B+S?w{Yo8jtiD~WBcbd}*EZ@oquD^UwmR;$}ujMIAQeNxp1X}+7+xw*T zi8SMt)lPcTCGTlp4L;5hk$v6pQZA#fqhDcJU&sb`J)?&l74kmY{(0>&u6=fM{g+aX zgN$43gQcVcS*J_S_+0<7d_{ifp=T*8PdjbeIYH*xf7^-I7UfTEV|)1BD*XuOwzu_m z_1lAFzy2yxwA^xV-}`HP+&-DhQ_F4ixUF?`F12prKkT<_@y7rB7cWhGWjjO1^|HgW zt!dqV&*<_q`}C)umA)->o;x^=yUr!HIe`CzmT$g*%Vp`Waz(*nY~p3F%gQEjtb1b^ l7Ao4Z`qv}t-Iup_$Q!RSXMBEB%l^eb){3hCmbaN17y#ih^^*Vq literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/pl.js b/static/admin/js/vendor/select2/i18n/pl.js new file mode 100644 index 0000000..b611a25 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/pl.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/pl.js.gz b/static/admin/js/vendor/select2/i18n/pl.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..deebdaa70f2a72191e0bfa72f5e5a96567e41a3a GIT binary patch literal 527 zcmb2|=3oE;rvJG?XY(#Q2<-c=DJHM9yY#wmD2tbY&;mKFrJ@sxx{7WbnVcg0KJSL? z^{vgSEfXq);~KQhPjr7!$$4~^|B(3kin@J&_s#6|n?J#BiNP`NB3Jzv#-BRR2uxol z>>Av+ImhL=m&-D}o3{g3xlK%9b9CQ3+x&X@-)t?RBB{A^eoXf1o2dPgUEA*C^Y=y< zTvvxiTTOJ=D=pwvJmn%}W8kZhcc#=dVVNr9tOG6HANI<c-mBAFocgM@IkCcJ=`pE_ zr77I{cck9ESuelSoadsNZVN-F*}FZD9$X7Gx|f`!v7O7X?{V3KA14kT-LRW;U(WWZ zA4>bIRBq`B+S?w{Yo8jtiD~WBcbd}*EZ@oquD^UwmR;$}ujMIAQeNxp1X}+7+xw*T zi8SMt)lPcTCGTlp4L;5hk$v6pQZA#fqhDcJU&sb`J)?&l74kmY{(0>&u6=fM{g+aX zgN$43gQcVcS*J_S_+0<7d_{ifp=T*8PdjbeIYH*xf7^-I7UfTEV|)1BD*XuOwzu_m z_1lAFzy2yxwA^xV-}`HP+&-DhQ_F4ixUF?`F12prKkT<_@y7rB7cWhGWjjO1^|HgW zt!dqV&*<_q`}C)umA)->o;x^=yUr!HIe`CzmT$g*%Vp`Waz(*nY~p3F%gQEjtb1b^ l7Ao4Z`qv}t-Iup_$Q!RSXMBEB%l^eb){3hCmbaN17y#ih^^*Vq literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/ps.de1a40c46c09.js b/static/admin/js/vendor/select2/i18n/ps.de1a40c46c09.js new file mode 100644 index 0000000..3ddcd2a --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/ps.de1a40c46c09.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/ps.de1a40c46c09.js.gz b/static/admin/js/vendor/select2/i18n/ps.de1a40c46c09.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..5ff76fa1b0c3f45c5ea5e806d4f262a45f01312f GIT binary patch literal 591 zcmb2|=3oE;rvI&z9rG_6NVL8GEgHucx+#^<*<*p9rNWlOOPW}owplD$dz($QtZ)uz zNR?x(^eV;BSzDOx8;mBbIJK_he&X`_w)3T%rwJa>j2EiE|NGa+?EHN3tDY{i9_j6B zfB)e33)xp(7rj@_yUyuqp8G(pd+!mQot0)v*FHQ_5NxU5I@$fW|EuE`c?)gx(~svZ z-=gW{mb+Yj+uLye;6wMrw4Qa|E?Ir#b)o9~0)g#wE;lGYn*PuFk;{@fN=?yAWP_5T zTep7r!1%SQ^Xa~dmwAzfuYb1`AIsLsXx$S0_x1Lrbth-eTCs4Jf@x5)%KC+q;-5P4 zKIMr!rm;WD?`h1rY0s}6;LX$*JukU><J-(5FSDN?Qm@#`;NDW^^1b1KMTPLO%r`;z zClxO_cO^paiTDH=U3;Yf+sXGG&)*XNEw*BnkKVNB8v6ql|B>c+F8*nAXim(VU+q)7 zd~3TbU%EO93yA1W+pTx?NRiC+yq;^jd%A;`7kX^n+H7x|y*z71{5lDRSVpGD{=QFm zp2{~IV-n5sNSzg1w>4Gdit^##hL4x@{9KW7@4)_68MnAqoW~?)te2d1VN%%1w1m&A z&+*tCdNK3Q#-^&~_}TUAGn<uq*muqE@mi+ZxML4n+w7LLw|NR4cJme(vlYx{Vspqa zDKae3tah7ZB6PAoY1+&sGxIFNon?3BShlWJQ+aUqo&6-M5c{nUqf0D0Z)#RbxT-fD zS$b)i_xu^}T8vwd_;i=>vN0cjJ6k(c_njC|?cBDQ`iSrir^@>3nAwl<|FmIYU;qHe CSRCL0 literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/ps.js b/static/admin/js/vendor/select2/i18n/ps.js new file mode 100644 index 0000000..3ddcd2a --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/ps.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/ps.js.gz b/static/admin/js/vendor/select2/i18n/ps.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..5ff76fa1b0c3f45c5ea5e806d4f262a45f01312f GIT binary patch literal 591 zcmb2|=3oE;rvI&z9rG_6NVL8GEgHucx+#^<*<*p9rNWlOOPW}owplD$dz($QtZ)uz zNR?x(^eV;BSzDOx8;mBbIJK_he&X`_w)3T%rwJa>j2EiE|NGa+?EHN3tDY{i9_j6B zfB)e33)xp(7rj@_yUyuqp8G(pd+!mQot0)v*FHQ_5NxU5I@$fW|EuE`c?)gx(~svZ z-=gW{mb+Yj+uLye;6wMrw4Qa|E?Ir#b)o9~0)g#wE;lGYn*PuFk;{@fN=?yAWP_5T zTep7r!1%SQ^Xa~dmwAzfuYb1`AIsLsXx$S0_x1Lrbth-eTCs4Jf@x5)%KC+q;-5P4 zKIMr!rm;WD?`h1rY0s}6;LX$*JukU><J-(5FSDN?Qm@#`;NDW^^1b1KMTPLO%r`;z zClxO_cO^paiTDH=U3;Yf+sXGG&)*XNEw*BnkKVNB8v6ql|B>c+F8*nAXim(VU+q)7 zd~3TbU%EO93yA1W+pTx?NRiC+yq;^jd%A;`7kX^n+H7x|y*z71{5lDRSVpGD{=QFm zp2{~IV-n5sNSzg1w>4Gdit^##hL4x@{9KW7@4)_68MnAqoW~?)te2d1VN%%1w1m&A z&+*tCdNK3Q#-^&~_}TUAGn<uq*muqE@mi+ZxML4n+w7LLw|NR4cJme(vlYx{Vspqa zDKae3tah7ZB6PAoY1+&sGxIFNon?3BShlWJQ+aUqo&6-M5c{nUqf0D0Z)#RbxT-fD zS$b)i_xu^}T8vwd_;i=>vN0cjJ6k(c_njC|?cBDQ`iSrir^@>3nAwl<|FmIYU;qHe CSRCL0 literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/pt-BR.455adefc2984.js b/static/admin/js/vendor/select2/i18n/pt-BR.455adefc2984.js new file mode 100644 index 0000000..5b216a8 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/pt-BR.455adefc2984.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/pt-BR.455adefc2984.js.gz b/static/admin/js/vendor/select2/i18n/pt-BR.455adefc2984.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..ae0887c86c10a76db6a6a977bdc8398afb891cb1 GIT binary patch literal 493 zcmb2|=3oE;rvJG?XR~fQ2<&^VX;y6zq_h52P)4DEs%J6B4$ZCJ`b*olnrz#ak$&Yb zr|!Ci?}bh*yl&TYe~JI4si`;hL^;xCN}m00JUMR8X3LNXyPv;ltx${GB)_I)-L}al zv6|t(T2FW`-<E56#MQMs#QXJuC6{;4zWw{>+6%0^J<gw7wDkBL%|jY-t5d%`-OK*D z)*xeX#G{kJZ;pRm(sIT1j{<M=n(bwo2P&I+To}Du1wQu8lG=Z0OWESrlKytJettK$ z>|b+G!YFuB>!GVp_8Zlw&t!b9t<JrPXM6vVtoVkBvmy<2rXM@7Y9;4BPmyc)Y87T( zda2WKowsy);|<deu7anh1UYo~YrZXQlH9-Q=_%&N&gM_fhRkF)u3Ub4Zu;Yc3WpMp z9sFc*Q2E*(mB&>Fw;W3Q^&<WT+nZjl({B!(FxH)F+rZYqXLcZDt#STIhkk4GwKX~` z<`!;wb^iSFgcETI)j<JYE<BOfy#Ft$?Dy=eAq=<Q>Xx)9$;-)bnJ_2T#eBA#pZfT^ z-i$>*mvClOJ~HFHlym&>H-mlbI(zMeQX4E68b6f$5j8<g|F{0bTetTF-qJE&@RD)e zs#oV4-!ad6E7jzZ#iw55=<s0s&74OmcjI0zvA%Bbc6InN&o}W4wY&8HGu3bUGo_!I GfdK$PWB9HB literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/pt-BR.js b/static/admin/js/vendor/select2/i18n/pt-BR.js new file mode 100644 index 0000000..5b216a8 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/pt-BR.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/pt-BR.js.gz b/static/admin/js/vendor/select2/i18n/pt-BR.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..ae0887c86c10a76db6a6a977bdc8398afb891cb1 GIT binary patch literal 493 zcmb2|=3oE;rvJG?XR~fQ2<&^VX;y6zq_h52P)4DEs%J6B4$ZCJ`b*olnrz#ak$&Yb zr|!Ci?}bh*yl&TYe~JI4si`;hL^;xCN}m00JUMR8X3LNXyPv;ltx${GB)_I)-L}al zv6|t(T2FW`-<E56#MQMs#QXJuC6{;4zWw{>+6%0^J<gw7wDkBL%|jY-t5d%`-OK*D z)*xeX#G{kJZ;pRm(sIT1j{<M=n(bwo2P&I+To}Du1wQu8lG=Z0OWESrlKytJettK$ z>|b+G!YFuB>!GVp_8Zlw&t!b9t<JrPXM6vVtoVkBvmy<2rXM@7Y9;4BPmyc)Y87T( zda2WKowsy);|<deu7anh1UYo~YrZXQlH9-Q=_%&N&gM_fhRkF)u3Ub4Zu;Yc3WpMp z9sFc*Q2E*(mB&>Fw;W3Q^&<WT+nZjl({B!(FxH)F+rZYqXLcZDt#STIhkk4GwKX~` z<`!;wb^iSFgcETI)j<JYE<BOfy#Ft$?Dy=eAq=<Q>Xx)9$;-)bnJ_2T#eBA#pZfT^ z-i$>*mvClOJ~HFHlym&>H-mlbI(zMeQX4E68b6f$5j8<g|F{0bTetTF-qJE&@RD)e zs#oV4-!ad6E7jzZ#iw55=<s0s&74OmcjI0zvA%Bbc6InN&o}W4wY&8HGu3bUGo_!I GfdK$PWB9HB literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/pt.5b4ec8cb5b23.js b/static/admin/js/vendor/select2/i18n/pt.5b4ec8cb5b23.js new file mode 100644 index 0000000..cdecbc5 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/pt.5b4ec8cb5b23.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/pt.5b4ec8cb5b23.js.gz b/static/admin/js/vendor/select2/i18n/pt.5b4ec8cb5b23.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..5eee44b4155b1602adb951db9a8253289781fc8e GIT binary patch literal 480 zcmb2|=3oE;rvJH<Zuea_5NLb<T{EqAW0qNDyQ{~7bxI)%_pS)>i+(2{o@eCQn`GVd zmg|Mvqu2=*g7;d~4|-N{C<TdF8!!I3|EKZGuc~V{9=l`Pn*N8gp09sH>AH=dP1Y{C z{fqZ}uh-jvA}jN)H<x%tv`<+#ZT-9ZYu@kFdSJD8$Be0Q&;6uqyT5IkQ(O0b;=b5e zUUmJiFHZ5lRdb42p>&Ir>5N)&dCR%UY)@FH1wHPOz4+uU_gu3+Re5_=<tYp6`d!+> z+(d%HKmWh<W-Y7J>uhzdWXJ#iG8cSgofMETQ9;}#qSW%-EtglvcJm)wb7qIQ+wZ>H zsV9Cj#VuZU=NsEjq4=erv@S|kr*n91<j%j?aY}i^jiWp_3Uy@D-x=+$J=wJAMDyv4 zn}7Zs6snyTpU=C~vsSfKz2dXJ=konm`g|Vl?{41kaY4%#gGts4w|LtA_<BpguVS0U zEhp#x&5iYSf4IzKkI8N0>E;aDmJz_s-K#0^>;H`Q8jp=Xp4_@2E1tf*;{BwO71qs% zRz^I!<ubc{-XXsa>jHZvm>0M@{w%9f6uU6tq%EgZn_@^>d-tw5wv{X2@z*-eI8`Do pGOuxM?rn{m{JX8}^>SZ)JL>(4sXcndEZ6dS#_I|F3R9UG7yyl+>f-<a literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/pt.js b/static/admin/js/vendor/select2/i18n/pt.js new file mode 100644 index 0000000..cdecbc5 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/pt.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/pt.js.gz b/static/admin/js/vendor/select2/i18n/pt.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..5eee44b4155b1602adb951db9a8253289781fc8e GIT binary patch literal 480 zcmb2|=3oE;rvJH<Zuea_5NLb<T{EqAW0qNDyQ{~7bxI)%_pS)>i+(2{o@eCQn`GVd zmg|Mvqu2=*g7;d~4|-N{C<TdF8!!I3|EKZGuc~V{9=l`Pn*N8gp09sH>AH=dP1Y{C z{fqZ}uh-jvA}jN)H<x%tv`<+#ZT-9ZYu@kFdSJD8$Be0Q&;6uqyT5IkQ(O0b;=b5e zUUmJiFHZ5lRdb42p>&Ir>5N)&dCR%UY)@FH1wHPOz4+uU_gu3+Re5_=<tYp6`d!+> z+(d%HKmWh<W-Y7J>uhzdWXJ#iG8cSgofMETQ9;}#qSW%-EtglvcJm)wb7qIQ+wZ>H zsV9Cj#VuZU=NsEjq4=erv@S|kr*n91<j%j?aY}i^jiWp_3Uy@D-x=+$J=wJAMDyv4 zn}7Zs6snyTpU=C~vsSfKz2dXJ=konm`g|Vl?{41kaY4%#gGts4w|LtA_<BpguVS0U zEhp#x&5iYSf4IzKkI8N0>E;aDmJz_s-K#0^>;H`Q8jp=Xp4_@2E1tf*;{BwO71qs% zRz^I!<ubc{-XXsa>jHZvm>0M@{w%9f6uU6tq%EgZn_@^>d-tw5wv{X2@z*-eI8`Do pGOuxM?rn{m{JX8}^>SZ)JL>(4sXcndEZ6dS#_I|F3R9UG7yyl+>f-<a literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/ro.ea7e3b822b06.js b/static/admin/js/vendor/select2/i18n/ro.ea7e3b822b06.js new file mode 100644 index 0000000..d8e674d --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/ro.ea7e3b822b06.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/ro.ea7e3b822b06.js.gz b/static/admin/js/vendor/select2/i18n/ro.ea7e3b822b06.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..00fbe90ff01b3effd86d6eed8fd611315da5457b GIT binary patch literal 512 zcmb2|=3oE;rvJG?XY(#Q2<-c=xvje6&9T_v78b9k&Y@2OG(#3S?p5HEu9ngN^lsYM z92ORDk4mm1bCctnWPZuma6X<tL!su@#WQcr?|(mgBz<`fr|Oa)bM^|HKjQsus%QuQ zRh_=;T-^JGR$eW<x|Qessx7M{PIDbR+CBUA&$mT-CCAP^nmk$IyP9jNuRva?TusH} zgSGQ~c7;EArXgZ`$HU8GZmaZ536;fLz1d&PO;j*CF}1Nle#Oe}aJ8~&?(grpyNB%h zr)!aZ_s}VynP1=RH`?E<zt5$!<!Dd(rOoX9a*^w17`?1}9<+)x&iz!t!?jzvt9zIq zZhP3n*|E)WO2V~>In5V7O}-T8uJ-WzZ`tCyz4tT20)Kp&>l1VMGXK%#7Eg7i`YoIC zh`qC7mWudf&xB>1>~e0;-hW9=l<n)ge#+$Yx&Nw0MsboQW}h>i8%lY!CaqnXG;2*m zBR@||hr><FAGfR|3JW>kTwlDf|H%!(N!Bxd|Gw?NX~Xs<yX{W6rF>ZJ>z$n}x+P_| z>}j>>PB#w;JwJH&pkYy0;A*yJ8>v%!`)~a2C{1}I8^RLQ+p#0}`uy8mk~2eBCNmz{ z$22LtC;sBsy61tr;+8Y#niqslGv}zvxwI!_%epYpC@1@X<?Yu?W!-MSJC@#_tbU?D YZl~Hs_bZ|;)9V>3A{HMy%gn$40PQ#Y-2eap literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/ro.js b/static/admin/js/vendor/select2/i18n/ro.js new file mode 100644 index 0000000..d8e674d --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/ro.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/ro.js.gz b/static/admin/js/vendor/select2/i18n/ro.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..00fbe90ff01b3effd86d6eed8fd611315da5457b GIT binary patch literal 512 zcmb2|=3oE;rvJG?XY(#Q2<-c=xvje6&9T_v78b9k&Y@2OG(#3S?p5HEu9ngN^lsYM z92ORDk4mm1bCctnWPZuma6X<tL!su@#WQcr?|(mgBz<`fr|Oa)bM^|HKjQsus%QuQ zRh_=;T-^JGR$eW<x|Qessx7M{PIDbR+CBUA&$mT-CCAP^nmk$IyP9jNuRva?TusH} zgSGQ~c7;EArXgZ`$HU8GZmaZ536;fLz1d&PO;j*CF}1Nle#Oe}aJ8~&?(grpyNB%h zr)!aZ_s}VynP1=RH`?E<zt5$!<!Dd(rOoX9a*^w17`?1}9<+)x&iz!t!?jzvt9zIq zZhP3n*|E)WO2V~>In5V7O}-T8uJ-WzZ`tCyz4tT20)Kp&>l1VMGXK%#7Eg7i`YoIC zh`qC7mWudf&xB>1>~e0;-hW9=l<n)ge#+$Yx&Nw0MsboQW}h>i8%lY!CaqnXG;2*m zBR@||hr><FAGfR|3JW>kTwlDf|H%!(N!Bxd|Gw?NX~Xs<yX{W6rF>ZJ>z$n}x+P_| z>}j>>PB#w;JwJH&pkYy0;A*yJ8>v%!`)~a2C{1}I8^RLQ+p#0}`uy8mk~2eBCNmz{ z$22LtC;sBsy61tr;+8Y#niqslGv}zvxwI!_%epYpC@1@X<?Yu?W!-MSJC@#_tbU?D YZl~Hs_bZ|;)9V>3A{HMy%gn$40PQ#Y-2eap literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/ru.962f048c22f2.js b/static/admin/js/vendor/select2/i18n/ru.962f048c22f2.js new file mode 100644 index 0000000..abc73ff --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/ru.962f048c22f2.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/ru.962f048c22f2.js.gz b/static/admin/js/vendor/select2/i18n/ru.962f048c22f2.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..f77db654e87f7b9ef601cab2ac56e7e0359dcd5e GIT binary patch literal 642 zcmb2|=3oE;rvGy%J7x<ziX4CcSLAU+;`X`k)La9DE-PJfR^*Dxf0Q`eXV%oaH?3ys zdTpApL}W^ci~c+pmk)D}t;>y)-hb#!_=m|q(#j_<+tgIyk@o4?)4liq|4(~!G&`fa zYKvOf1>V&ecb#Ofh$L+f-S$>C+~jcXYOx<>+P*W_-j3Ul``gbuATQkfeXh-oTO0mZ zMQsrm>v21gb%=LH;<meOAKxT;{5<WX7`v8j_U)+1opUBU{ZU$c{$WR0(fKe-QN{F* zsM1>nlBOR-&g$MxGvha`{50jvLZ9s&Qd2k%ahTt}EOp)csI@sa>)v&umqnT8`fZAg z)?BBqzO*z<ELCpl|E%D1%yGPPcAYLeRor_iS;ziVMBfvac_-vQ{Edw}!PzA5{L{De zs@)sE(0Ey;tF3#4Ip(Z(zB=8RgRj6PW}9@^amN7OXREn4ueD7SO;qKa=6<s;Ly!A( zdEAb=7s7D|KLuaP=Meq=G~#PXXj4Nf%iO-wXi4P*l1h7yOfv|wt>o&N^;O2d_NljM zmO+!@LB5&?IW4|SfjtW5)5INqdmWqc!TZ|Uv;(esYu+3AZm$vjeLpezYt&xnR}Ov$ z=56<oTY0elfcp{e<E8cwO!8CYpDin9`^RuVpl4SAbLofGzeSHtx;bZ`MAUh~?x)oa zr_<z?|4=q%c#>yy$2r&bNS}#eMvvo(oSLW$vsLC)-I?#16m{w8jQ<mkDIIEZ-y&MI zXsY^~&F3cDJD%ORj(b|KG0zURqB*YW3L9Ky<Ffxf^?DsSx9M^EO369D4$AF)T{*ky z*UsAgDtz<O!)0q;IG$h4^)<I&Y4VoK<uUW@GFJSvDcQ-FVtvBs%+>pTX8x=jSr`}q DY7I2` literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/ru.js b/static/admin/js/vendor/select2/i18n/ru.js new file mode 100644 index 0000000..abc73ff --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/ru.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/ru.js.gz b/static/admin/js/vendor/select2/i18n/ru.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..f77db654e87f7b9ef601cab2ac56e7e0359dcd5e GIT binary patch literal 642 zcmb2|=3oE;rvGy%J7x<ziX4CcSLAU+;`X`k)La9DE-PJfR^*Dxf0Q`eXV%oaH?3ys zdTpApL}W^ci~c+pmk)D}t;>y)-hb#!_=m|q(#j_<+tgIyk@o4?)4liq|4(~!G&`fa zYKvOf1>V&ecb#Ofh$L+f-S$>C+~jcXYOx<>+P*W_-j3Ul``gbuATQkfeXh-oTO0mZ zMQsrm>v21gb%=LH;<meOAKxT;{5<WX7`v8j_U)+1opUBU{ZU$c{$WR0(fKe-QN{F* zsM1>nlBOR-&g$MxGvha`{50jvLZ9s&Qd2k%ahTt}EOp)csI@sa>)v&umqnT8`fZAg z)?BBqzO*z<ELCpl|E%D1%yGPPcAYLeRor_iS;ziVMBfvac_-vQ{Edw}!PzA5{L{De zs@)sE(0Ey;tF3#4Ip(Z(zB=8RgRj6PW}9@^amN7OXREn4ueD7SO;qKa=6<s;Ly!A( zdEAb=7s7D|KLuaP=Meq=G~#PXXj4Nf%iO-wXi4P*l1h7yOfv|wt>o&N^;O2d_NljM zmO+!@LB5&?IW4|SfjtW5)5INqdmWqc!TZ|Uv;(esYu+3AZm$vjeLpezYt&xnR}Ov$ z=56<oTY0elfcp{e<E8cwO!8CYpDin9`^RuVpl4SAbLofGzeSHtx;bZ`MAUh~?x)oa zr_<z?|4=q%c#>yy$2r&bNS}#eMvvo(oSLW$vsLC)-I?#16m{w8jQ<mkDIIEZ-y&MI zXsY^~&F3cDJD%ORj(b|KG0zURqB*YW3L9Ky<Ffxf^?DsSx9M^EO369D4$AF)T{*ky z*UsAgDtz<O!)0q;IG$h4^)<I&Y4VoK<uUW@GFJSvDcQ-FVtvBs%+>pTX8x=jSr`}q DY7I2` literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/sk.34019208b835.js b/static/admin/js/vendor/select2/i18n/sk.34019208b835.js new file mode 100644 index 0000000..6539dfc --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/sk.34019208b835.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/sk.34019208b835.js.gz b/static/admin/js/vendor/select2/i18n/sk.34019208b835.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..d5683d6e35da6dc999253ea0527a7b1cd3341440 GIT binary patch literal 623 zcmb2|=3oE;rvI%WyYp@vh}``w+S7KxPe#*|cT2!4HrI)Y4wLL+N;r)!JlpCzdsm63 zSI1ka7dMu^Ft6~~o)bIU^;-WIZ?DKrIg4|4cL-IUduaQ->&v%tPidBtubi2?+}{O% z>ST%PSGxcCR}6dM@wcZgbaQ!_mbJX8Q0z6)c>n3q)t{xm@9;|A{9aa;wO3;IEblc} zm+uLe-qY*Y`~6$j#kUWSt&TnwxhzI%Q<alw<FwMZA&q^aLIsjvES%0pPCeE?f1x<< z++$~RlNV2M%C348UK}ugoy$3yX#vO0{R`51)&H@rZ?K3e+<a-vnv`PObK>c#p1}cL ztGqoWkMCpsulQGzGvTmdr-q}1r<<twB!$=-UwM<W?_xI#9}iq}-@8)N+_mH(bM&oP zrWnQ>*AFf%bFMmm*dpd=)7onvXMT1&sZq-zo#G@Zo1rj?r-5-2=Osl>#>59dek@9r zYB(S5t9{V2L3+>Hw{lnc=cwlIQMz?8;!sM^qib=u8bfYnsXdtyUcV#vwSC$F6@KZq z9?{*MOgnzKxtcvsC`|dh$<s@I*THF~$zCG7`zCSe`0mr2-C5(UtXZu;Iez|r>4}@N zk211so9dgnFYB#Q%jz%g-#C_S@Kj<w|E|+htDhm+Xp&P}|KS@SwNGu@eD%7~9D9}t zd_sP^Plsr&@O*CJzx>J>=3nd^7lrchIX~umYTc2vP&wM6!DKe~Jb9+(<vfXdZ?6$# z488k6pFKlHM^4lGxu;yd;F6{QwGTlZ+`J2O_g~k!q%}7^zNcAbcC*?4k5&6`uDLfu hOuTdduE3sW$7igrSyW@ZBI@rK^Q@IYCPu6b3;+yrB5(iz literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/sk.js b/static/admin/js/vendor/select2/i18n/sk.js new file mode 100644 index 0000000..6539dfc --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/sk.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/sk.js.gz b/static/admin/js/vendor/select2/i18n/sk.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..d5683d6e35da6dc999253ea0527a7b1cd3341440 GIT binary patch literal 623 zcmb2|=3oE;rvI%WyYp@vh}``w+S7KxPe#*|cT2!4HrI)Y4wLL+N;r)!JlpCzdsm63 zSI1ka7dMu^Ft6~~o)bIU^;-WIZ?DKrIg4|4cL-IUduaQ->&v%tPidBtubi2?+}{O% z>ST%PSGxcCR}6dM@wcZgbaQ!_mbJX8Q0z6)c>n3q)t{xm@9;|A{9aa;wO3;IEblc} zm+uLe-qY*Y`~6$j#kUWSt&TnwxhzI%Q<alw<FwMZA&q^aLIsjvES%0pPCeE?f1x<< z++$~RlNV2M%C348UK}ugoy$3yX#vO0{R`51)&H@rZ?K3e+<a-vnv`PObK>c#p1}cL ztGqoWkMCpsulQGzGvTmdr-q}1r<<twB!$=-UwM<W?_xI#9}iq}-@8)N+_mH(bM&oP zrWnQ>*AFf%bFMmm*dpd=)7onvXMT1&sZq-zo#G@Zo1rj?r-5-2=Osl>#>59dek@9r zYB(S5t9{V2L3+>Hw{lnc=cwlIQMz?8;!sM^qib=u8bfYnsXdtyUcV#vwSC$F6@KZq z9?{*MOgnzKxtcvsC`|dh$<s@I*THF~$zCG7`zCSe`0mr2-C5(UtXZu;Iez|r>4}@N zk211so9dgnFYB#Q%jz%g-#C_S@Kj<w|E|+htDhm+Xp&P}|KS@SwNGu@eD%7~9D9}t zd_sP^Plsr&@O*CJzx>J>=3nd^7lrchIX~umYTc2vP&wM6!DKe~Jb9+(<vfXdZ?6$# z488k6pFKlHM^4lGxu;yd;F6{QwGTlZ+`J2O_g~k!q%}7^zNcAbcC*?4k5&6`uDLfu hOuTdduE3sW$7igrSyW@ZBI@rK^Q@IYCPu6b3;+yrB5(iz literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/sl.a5e262c643f2.js b/static/admin/js/vendor/select2/i18n/sl.a5e262c643f2.js new file mode 100644 index 0000000..98e783d --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/sl.a5e262c643f2.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/sl.a5e262c643f2.js.gz b/static/admin/js/vendor/select2/i18n/sl.a5e262c643f2.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..53148445b18abe9cb5353fe352c6aa648f57b8dc GIT binary patch literal 497 zcmb2|=3oE;rvGy%9n8DzAkg-{w(G5&((c0RTb!7dZW3^^b>YfYoZ}#4_EF_tO1asa zK4p&$N4TFT7CkhyP}M&)IpMmWREz(dGF$6e|7YK?uPHp&wjj~x`kS2<YH=Ih>nKP4 zh?DUbP5tT7v$nJLZjp`qt-d5>+s1D8zvkP^4@V~kl?l$D%Q{)+_!1qqhf%&wH+Re2 z+3vU8?kJ1@x<!)LgM=<Ec^G8H=K1<|FY_r`BLPhx5vK$E8LwWc9*g_@;_~wsEKA?T zHy2;yUE?F_SN-4SbH5SmtlO%=b$W$rl3Hd#w~UgPmu+Wk3%dPR-_`4bQqYbQFPpbA zS6lHMDrNQK>^RQ0ka78x*d~KdtBrPc8a(7bSCx7r>&cb6)f^J<gQjm5J!NVC#?7<n zFV}9)>3iItpA20t91?%vFvt8O?K4ZStjZG!E1F(kJZFWzc<+z8-|`H*%08|wz3}MC z+$%*|-n=(*Z>-w*^?U#PrMbPlrEe5+6Q6%qJ)Rf5FmvYF+|1u^3I*QF#p)!A^93;< znSbcQp3plX#q!yv_NISATr%!ApEvz!R#lp^u5Jta%VUw%DZhT_O7aA+e|F%8>Yi)6 z{1a}m-CsU$&XKImOWDJs5*Rou0!0$HtlNCYx@DKlch&H9S|-~!X>;WNW0<pk#j>r; G3=9C&bL>L^ literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/sl.js b/static/admin/js/vendor/select2/i18n/sl.js new file mode 100644 index 0000000..98e783d --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/sl.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/sl.js.gz b/static/admin/js/vendor/select2/i18n/sl.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..53148445b18abe9cb5353fe352c6aa648f57b8dc GIT binary patch literal 497 zcmb2|=3oE;rvGy%9n8DzAkg-{w(G5&((c0RTb!7dZW3^^b>YfYoZ}#4_EF_tO1asa zK4p&$N4TFT7CkhyP}M&)IpMmWREz(dGF$6e|7YK?uPHp&wjj~x`kS2<YH=Ih>nKP4 zh?DUbP5tT7v$nJLZjp`qt-d5>+s1D8zvkP^4@V~kl?l$D%Q{)+_!1qqhf%&wH+Re2 z+3vU8?kJ1@x<!)LgM=<Ec^G8H=K1<|FY_r`BLPhx5vK$E8LwWc9*g_@;_~wsEKA?T zHy2;yUE?F_SN-4SbH5SmtlO%=b$W$rl3Hd#w~UgPmu+Wk3%dPR-_`4bQqYbQFPpbA zS6lHMDrNQK>^RQ0ka78x*d~KdtBrPc8a(7bSCx7r>&cb6)f^J<gQjm5J!NVC#?7<n zFV}9)>3iItpA20t91?%vFvt8O?K4ZStjZG!E1F(kJZFWzc<+z8-|`H*%08|wz3}MC z+$%*|-n=(*Z>-w*^?U#PrMbPlrEe5+6Q6%qJ)Rf5FmvYF+|1u^3I*QF#p)!A^93;< znSbcQp3plX#q!yv_NISATr%!ApEvz!R#lp^u5Jta%VUw%DZhT_O7aA+e|F%8>Yi)6 z{1a}m-CsU$&XKImOWDJs5*Rou0!0$HtlNCYx@DKlch&H9S|-~!X>;WNW0<pk#j>r; G3=9C&bL>L^ literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/sq.abf2d34b255a.js b/static/admin/js/vendor/select2/i18n/sq.abf2d34b255a.js new file mode 100644 index 0000000..ad367b1 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/sq.abf2d34b255a.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/sq.abf2d34b255a.js.gz b/static/admin/js/vendor/select2/i18n/sq.abf2d34b255a.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..8b67e698394d52d2e1457e42fd79285fb01ae4bc GIT binary patch literal 495 zcmb2|=3oE;rvJH<9rJD*2)KT?WIf!fc$Dj^2y2wZg+&?6CJn+13d>x@x0niPcBc67 z^_s0~oVQF`{;>H=Pp{}nj~7Hue8BUs{<Eo<{<)JpQV|cLKlSZRe1B43NnrjR6<_bp zL+5WET5)Bo?(yP#Gb&f@aNh9p%eTvC|GsHkIVWaGdV1i)uS`oX2JV^W8dCc;p}x=U z?MbfMqSU!}4hTQi>JPsobb>AWy4Zzi--f3F9=w8YFFv`-K6jU@@4i}pzkpl+Oe3=2 zT=@|5s_0YvOuGY{^Cu`PT->L2>h+uldEO-_b8}fN6ipY;c6p`V-+#>K>`I;^uWgOe z4)F1=VT@h0gJszd{*`;YO5Eg|V;&2NXf{bLOqK}_Dn9*MK<(}GL!aMdnRI=zSnTlF zWq-uEmW>uKRxY_WJ7!;5{o9u=xwh-Aq8~S`2q-@EzJDH5pTxoKnTK~7i?K2Nev_SX z`D5cFm($-o|NZ@|&T@_Q!aAuZ%zwVD<Nv*Lje_{@wZbW^4;@)=CATzMWoTURh%Z~P zdh5)@>5_RuxpD_sdCVQ^<oB&tKgh*dzRSvyZwKFw*p7#?mOU}=x3y2a{ZdC`b5p-> zv9yt#(Ql>c?H5mJ{Ry69alw*h{#iA@Yj2tSfBEtydF#LZw{UmsI*on**k5QHtzE^; GzyJUoknr{Z literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/sq.js b/static/admin/js/vendor/select2/i18n/sq.js new file mode 100644 index 0000000..ad367b1 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/sq.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/sq.js.gz b/static/admin/js/vendor/select2/i18n/sq.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..8b67e698394d52d2e1457e42fd79285fb01ae4bc GIT binary patch literal 495 zcmb2|=3oE;rvJH<9rJD*2)KT?WIf!fc$Dj^2y2wZg+&?6CJn+13d>x@x0niPcBc67 z^_s0~oVQF`{;>H=Pp{}nj~7Hue8BUs{<Eo<{<)JpQV|cLKlSZRe1B43NnrjR6<_bp zL+5WET5)Bo?(yP#Gb&f@aNh9p%eTvC|GsHkIVWaGdV1i)uS`oX2JV^W8dCc;p}x=U z?MbfMqSU!}4hTQi>JPsobb>AWy4Zzi--f3F9=w8YFFv`-K6jU@@4i}pzkpl+Oe3=2 zT=@|5s_0YvOuGY{^Cu`PT->L2>h+uldEO-_b8}fN6ipY;c6p`V-+#>K>`I;^uWgOe z4)F1=VT@h0gJszd{*`;YO5Eg|V;&2NXf{bLOqK}_Dn9*MK<(}GL!aMdnRI=zSnTlF zWq-uEmW>uKRxY_WJ7!;5{o9u=xwh-Aq8~S`2q-@EzJDH5pTxoKnTK~7i?K2Nev_SX z`D5cFm($-o|NZ@|&T@_Q!aAuZ%zwVD<Nv*Lje_{@wZbW^4;@)=CATzMWoTURh%Z~P zdh5)@>5_RuxpD_sdCVQ^<oB&tKgh*dzRSvyZwKFw*p7#?mOU}=x3y2a{ZdC`b5p-> zv9yt#(Ql>c?H5mJ{Ry69alw*h{#iA@Yj2tSfBEtydF#LZw{UmsI*on**k5QHtzE^; GzyJUoknr{Z literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/sr-Cyrl.116365a2de65.js b/static/admin/js/vendor/select2/i18n/sr-Cyrl.116365a2de65.js new file mode 100644 index 0000000..0719ff0 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/sr-Cyrl.116365a2de65.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/sr-Cyrl.116365a2de65.js.gz b/static/admin/js/vendor/select2/i18n/sr-Cyrl.116365a2de65.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..e501776778247311b46c7b153b9aeb4b560cd9b6 GIT binary patch literal 615 zcmb2|=3oE;rvGz;eY0;HNbLI_zN3kCci|fg7PCvcQm4pqy-hfsm)u^X(b=wBz9}Y5 z$oblV7nRG6z7<Nmc~h3cdv?~p*6a0&`%~7xu{f#Fv$1*U^{S(vRZrfz74quJQr*D7 zRc<#cR`5)jC!p?l)?|0zi&o#oPpi`=<VK$Hy`DcSPFY~eZ1?ux?EbIV+pdRgJJZX% zRe001f|_MnwaXXptC9+;3)4v1d@)gbsbPEc<`k1X+sbY|;M#iq+cry4#dI#yTU#C* zteO-vE7>+F?SS|1^gF7*x~Ko@nztupg;(i9<GI;?WnMIfZp&RAFu}F*^0qa$fs?<k zi#;h;{w8bTf@N=IR~tzzxw<a&>bHnqcS)c5MejZ<@4r|Uv3=X2Ia@hvJlhQX+zOb5 ze{dFlVm!um=b*~YBTAC0`48oe8MMxHRJxm}zOdrmZ})#%GcNoxl1SrLzMHUPN~!C5 z6`u7Uk9~CVe{R-zzMwT^@)M^0#Yfa!!&JB)dEe8Xad65L$xn-XLzf9J67JaSc=_j~ zefK`^j5z(?(no08zmQ3v>RY3?eCE@QTlVLKq`EU}?YT+a{{tVVEtLB`=U?`QVxyal z(r<hNJ$3fSAI_I}Z?o>rugl-0+F9%tZIkDi6E#DjYR)sQK((Oyo)qIPn>p;as#-pf z$`fBU!(^+C!la%hn>Wg+W%RpReV%_&p~Q8=xjX8W6NE}C!ym|{p7~(zcW?1t>lq6d zH<(qd{(gORx!%>o-))%vZ2wQOE4%CLxOeNFiV2_WmK`x-HL0EJx6^ZrpzFkC-#1T> eI6Yq_X+NK=p7=A-cR^d<-e=@sQ7>j;U;qHtBrwMS literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/sr-Cyrl.js b/static/admin/js/vendor/select2/i18n/sr-Cyrl.js new file mode 100644 index 0000000..0719ff0 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/sr-Cyrl.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/sr-Cyrl.js.gz b/static/admin/js/vendor/select2/i18n/sr-Cyrl.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..e501776778247311b46c7b153b9aeb4b560cd9b6 GIT binary patch literal 615 zcmb2|=3oE;rvGz;eY0;HNbLI_zN3kCci|fg7PCvcQm4pqy-hfsm)u^X(b=wBz9}Y5 z$oblV7nRG6z7<Nmc~h3cdv?~p*6a0&`%~7xu{f#Fv$1*U^{S(vRZrfz74quJQr*D7 zRc<#cR`5)jC!p?l)?|0zi&o#oPpi`=<VK$Hy`DcSPFY~eZ1?ux?EbIV+pdRgJJZX% zRe001f|_MnwaXXptC9+;3)4v1d@)gbsbPEc<`k1X+sbY|;M#iq+cry4#dI#yTU#C* zteO-vE7>+F?SS|1^gF7*x~Ko@nztupg;(i9<GI;?WnMIfZp&RAFu}F*^0qa$fs?<k zi#;h;{w8bTf@N=IR~tzzxw<a&>bHnqcS)c5MejZ<@4r|Uv3=X2Ia@hvJlhQX+zOb5 ze{dFlVm!um=b*~YBTAC0`48oe8MMxHRJxm}zOdrmZ})#%GcNoxl1SrLzMHUPN~!C5 z6`u7Uk9~CVe{R-zzMwT^@)M^0#Yfa!!&JB)dEe8Xad65L$xn-XLzf9J67JaSc=_j~ zefK`^j5z(?(no08zmQ3v>RY3?eCE@QTlVLKq`EU}?YT+a{{tVVEtLB`=U?`QVxyal z(r<hNJ$3fSAI_I}Z?o>rugl-0+F9%tZIkDi6E#DjYR)sQK((Oyo)qIPn>p;as#-pf z$`fBU!(^+C!la%hn>Wg+W%RpReV%_&p~Q8=xjX8W6NE}C!ym|{p7~(zcW?1t>lq6d zH<(qd{(gORx!%>o-))%vZ2wQOE4%CLxOeNFiV2_WmK`x-HL0EJx6^ZrpzFkC-#1T> eI6Yq_X+NK=p7=A-cR^d<-e=@sQ7>j;U;qHtBrwMS literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/sr.c9f16b9e0f93.js b/static/admin/js/vendor/select2/i18n/sr.c9f16b9e0f93.js new file mode 100644 index 0000000..ec50c99 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/sr.c9f16b9e0f93.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/sr.c9f16b9e0f93.js.gz b/static/admin/js/vendor/select2/i18n/sr.c9f16b9e0f93.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..12a3dba2a7e3b4111e829f107701117e446a60cf GIT binary patch literal 562 zcmb2|=3oE;rvFoe&*oir5ZL!!bDMVJ&ED+efhqw}+nrXldu9IQoFmX)YUFA5^<CRX ztEN952c$o6hzg~*gm8*p6yCXe{ej6FwoNwiaO*f+Wp}>k`R{L^*X`f#Z6)9wZtih; zb@lg?b9lDOsq5aCFR=AdUcb6!{uJHW5=XT@v3i><xNlcmQgqMqqf7srpVro8_ETfe zPTewB^8M|_%QYWFpVnG@eR}kT=-$;Hl|EnQa5^(3roLrxT&}@cVf&(((=68e@j>R7 z>K=EeufL<KneB0aEqwPS*Ys`k3iVgCCniK%u6W<(Sg<DA(vC|y^^-wP)U?<s{LRN| z;ub7k@KWZqnBFNvV~3C%VQY>*U9k0N%(R!nEhVQ|Co3yVn(aQTM=?w;c1KKK@ZXq~ z+iv{}vfg}$K{9K7#)qT{%(i!~&r8VP;nCWySSzC#A6LZNaxJBIQcJhT(UM&LYfc-M zdav}3+$bad{)d%w>#j)w1v8D`{P&zIyl;oc?wph#N|&vIPM`j-*ymk-PUMiijFy_R z&*cc?vvqra=j24??zUNXVYPtY`758;dMxZx1&z*n9%?b-GN1R<%XD^3PRps77ju`I zm}VW+$rCx<s(sbiqo-qu)BBx;ahpG-_XT=>`>gDd+M;$~gY}=+h8Iq-t=3iKFl}rv ztXbt4QkXJ-)9W|YWt0D&*mt+?#JUr2f4|8VJab!|dHrVXT@gAm<zaCx*M7OpxVb*K XuQI9CXZl;2KWtHp&g}Ta%)kHuZ^#a& literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/sr.js b/static/admin/js/vendor/select2/i18n/sr.js new file mode 100644 index 0000000..ec50c99 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/sr.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/sr.js.gz b/static/admin/js/vendor/select2/i18n/sr.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..12a3dba2a7e3b4111e829f107701117e446a60cf GIT binary patch literal 562 zcmb2|=3oE;rvFoe&*oir5ZL!!bDMVJ&ED+efhqw}+nrXldu9IQoFmX)YUFA5^<CRX ztEN952c$o6hzg~*gm8*p6yCXe{ej6FwoNwiaO*f+Wp}>k`R{L^*X`f#Z6)9wZtih; zb@lg?b9lDOsq5aCFR=AdUcb6!{uJHW5=XT@v3i><xNlcmQgqMqqf7srpVro8_ETfe zPTewB^8M|_%QYWFpVnG@eR}kT=-$;Hl|EnQa5^(3roLrxT&}@cVf&(((=68e@j>R7 z>K=EeufL<KneB0aEqwPS*Ys`k3iVgCCniK%u6W<(Sg<DA(vC|y^^-wP)U?<s{LRN| z;ub7k@KWZqnBFNvV~3C%VQY>*U9k0N%(R!nEhVQ|Co3yVn(aQTM=?w;c1KKK@ZXq~ z+iv{}vfg}$K{9K7#)qT{%(i!~&r8VP;nCWySSzC#A6LZNaxJBIQcJhT(UM&LYfc-M zdav}3+$bad{)d%w>#j)w1v8D`{P&zIyl;oc?wph#N|&vIPM`j-*ymk-PUMiijFy_R z&*cc?vvqra=j24??zUNXVYPtY`758;dMxZx1&z*n9%?b-GN1R<%XD^3PRps77ju`I zm}VW+$rCx<s(sbiqo-qu)BBx;ahpG-_XT=>`>gDd+M;$~gY}=+h8Iq-t=3iKFl}rv ztXbt4QkXJ-)9W|YWt0D&*mt+?#JUr2f4|8VJab!|dHrVXT@gAm<zaCx*M7OpxVb*K XuQI9CXZl;2KWtHp&g}Ta%)kHuZ^#a& literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/sv.725800c5e8fc.js b/static/admin/js/vendor/select2/i18n/sv.725800c5e8fc.js new file mode 100644 index 0000000..567f584 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/sv.725800c5e8fc.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/sv.725800c5e8fc.js.gz b/static/admin/js/vendor/select2/i18n/sv.725800c5e8fc.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..0e5167516893abd4f4dfce17adf3d2a6ec9a432b GIT binary patch literal 449 zcmb2|=3oE;rvJG?2m3A?2<&|y&SSY|(%m)89Gq7|`8mD?tW<Cej}c&3pQ)1f=HsIt z<$#r2<bywQ{&D!<qOW*!$<hrwZ(RHFbFcaN$uTyKqFHBtSnd(<KkEI1QS@`HvG=5) z!l%I#BPW|MKiRST*0Rotyo<f3b(@>N4>v#bq+sHlxvj0sd!{ZmxV1tlrvAf=ee>t@ z@78$nM8j=Y=cEa0{ZTI&o=+~n&Ue$ANyJjD%YcXP+Lg`WQ%rIN>i-GNkC6NzU2<;M z(y2Qa6@7bQ^`oQrx{hR)zh#q>+XbWZsme{cYhIlDymqU1^)HFVzWGz0YsfJ;DNl`w zU1;!Ww$Z&KCj549%a??9vh==xaln{mdW|GQa+oq}d)<rmr&ew1Q%~(#H1GSX_=Epb zvX<Xk*BHpQ)s5YCzfIT`XSw%l4tM%YtNs5t+Wgt)-~ZC5AHQ+mz<!2*1@FD86{?Qy zEoJ*JXW#s3$@cjHH?NTV-4AAJ)_<IgAEr7kWhwg|8|ZP}G9zHunpyu&U;P)}n^*Aa z!VR(b?7ayl!AG_WUDC^&5aqq$rBpWGw%fTP`E5UE$+E3o{Oi@!*W8a+I=5c@Dt}lt KSHzQ<fdK$N``jM@ literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/sv.js b/static/admin/js/vendor/select2/i18n/sv.js new file mode 100644 index 0000000..567f584 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/sv.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/sv.js.gz b/static/admin/js/vendor/select2/i18n/sv.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..0e5167516893abd4f4dfce17adf3d2a6ec9a432b GIT binary patch literal 449 zcmb2|=3oE;rvJG?2m3A?2<&|y&SSY|(%m)89Gq7|`8mD?tW<Cej}c&3pQ)1f=HsIt z<$#r2<bywQ{&D!<qOW*!$<hrwZ(RHFbFcaN$uTyKqFHBtSnd(<KkEI1QS@`HvG=5) z!l%I#BPW|MKiRST*0Rotyo<f3b(@>N4>v#bq+sHlxvj0sd!{ZmxV1tlrvAf=ee>t@ z@78$nM8j=Y=cEa0{ZTI&o=+~n&Ue$ANyJjD%YcXP+Lg`WQ%rIN>i-GNkC6NzU2<;M z(y2Qa6@7bQ^`oQrx{hR)zh#q>+XbWZsme{cYhIlDymqU1^)HFVzWGz0YsfJ;DNl`w zU1;!Ww$Z&KCj549%a??9vh==xaln{mdW|GQa+oq}d)<rmr&ew1Q%~(#H1GSX_=Epb zvX<Xk*BHpQ)s5YCzfIT`XSw%l4tM%YtNs5t+Wgt)-~ZC5AHQ+mz<!2*1@FD86{?Qy zEoJ*JXW#s3$@cjHH?NTV-4AAJ)_<IgAEr7kWhwg|8|ZP}G9zHunpyu&U;P)}n^*Aa z!VR(b?7ayl!AG_WUDC^&5aqq$rBpWGw%fTP`E5UE$+E3o{Oi@!*W8a+I=5c@Dt}lt KSHzQ<fdK$N``jM@ literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/th.b013804dae9c.js b/static/admin/js/vendor/select2/i18n/th.b013804dae9c.js new file mode 100644 index 0000000..7d5a0e0 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/th.b013804dae9c.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/th.b013804dae9c.js.gz b/static/admin/js/vendor/select2/i18n/th.b013804dae9c.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..12c910eb3972717b513d17214111d0a5313bfbfc GIT binary patch literal 536 zcmb2|=3oE;rvFoe{j;w)i0uC!d_=};o3FZ7)238@C0mg&$Lq7dOt`z}uFIsERx?FX zc}u((a^2gd6&kU^)%9p|XyK<^xjLbAwVQ9Z^|~si$mQSLbANv2W8K(IRszocF<aM7 zJpE+X*DGADH+*K#Gw*PjQR>;R8W%O~%(c8TyW$=#XWDT+ZvWP@<(u6m9f<lQCN`(e zty(GRN+!?ZeV;$%vHdyuC~4;;ySdz+SJ$bz{!z)u`FW=)?Cm`*_KAgAjGPPP0}I}0 zZhdiz_f_YGGWnbx#UZDDDHfconElhyh5c;tZ8Ndm8vGk8+CCYdN|t^7U+`48M)}5y zzE2EK`#AT_y36#mx;Sgiq_THzCC0+vC9^kIGGy><mAJ^1#O1+LqHsu5q4U3m*QO&& zby@c{e_HD({d(P}UdF)tCpJw#x+!;IP3I@+Q~heIn*>k!ziP1E+B{F-MN3b26q~1u z>625Lde0?&0{$6DsYmQNkhJ?$Mlm06<NW`}b@X!gpS8FWxxT-~eAm^Fd%54*xjy~= zjs0o$(`3uj0#`V;mwIakzPlc?E^p<8`l)5-^}eLYl^i@FQM5qi{JXOr_C~e$W;Q*p zyr@*Jxtl#xtozHO%-J(;+pP|H>2>h=-Vgehf1RH;Rj$zEhS;5+$EA#(x(l;jo#S%) x8Rh(99@o?EOzUl*ZSr><{`A*$Ie%cI%_*gI!l6r6%{lf;-aq?^X(kH;0|1JB2xkBQ literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/th.js b/static/admin/js/vendor/select2/i18n/th.js new file mode 100644 index 0000000..7d5a0e0 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/th.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/th.js.gz b/static/admin/js/vendor/select2/i18n/th.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..12c910eb3972717b513d17214111d0a5313bfbfc GIT binary patch literal 536 zcmb2|=3oE;rvFoe{j;w)i0uC!d_=};o3FZ7)238@C0mg&$Lq7dOt`z}uFIsERx?FX zc}u((a^2gd6&kU^)%9p|XyK<^xjLbAwVQ9Z^|~si$mQSLbANv2W8K(IRszocF<aM7 zJpE+X*DGADH+*K#Gw*PjQR>;R8W%O~%(c8TyW$=#XWDT+ZvWP@<(u6m9f<lQCN`(e zty(GRN+!?ZeV;$%vHdyuC~4;;ySdz+SJ$bz{!z)u`FW=)?Cm`*_KAgAjGPPP0}I}0 zZhdiz_f_YGGWnbx#UZDDDHfconElhyh5c;tZ8Ndm8vGk8+CCYdN|t^7U+`48M)}5y zzE2EK`#AT_y36#mx;Sgiq_THzCC0+vC9^kIGGy><mAJ^1#O1+LqHsu5q4U3m*QO&& zby@c{e_HD({d(P}UdF)tCpJw#x+!;IP3I@+Q~heIn*>k!ziP1E+B{F-MN3b26q~1u z>625Lde0?&0{$6DsYmQNkhJ?$Mlm06<NW`}b@X!gpS8FWxxT-~eAm^Fd%54*xjy~= zjs0o$(`3uj0#`V;mwIakzPlc?E^p<8`l)5-^}eLYl^i@FQM5qi{JXOr_C~e$W;Q*p zyr@*Jxtl#xtozHO%-J(;+pP|H>2>h=-Vgehf1RH;Rj$zEhS;5+$EA#(x(l;jo#S%) x8Rh(99@o?EOzUl*ZSr><{`A*$Ie%cI%_*gI!l6r6%{lf;-aq?^X(kH;0|1JB2xkBQ literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/tk.5042dc8eca8e.js b/static/admin/js/vendor/select2/i18n/tk.5042dc8eca8e.js new file mode 100644 index 0000000..f3da111 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/tk.5042dc8eca8e.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/tk.5042dc8eca8e.js.gz b/static/admin/js/vendor/select2/i18n/tk.5042dc8eca8e.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..fe05579e0678d7f70d0f8f9757a3023247f8a0ba GIT binary patch literal 457 zcmb2|=3oE;rvIgrPUl^A5NZ2f+m$Fb^{!R2!&HZrn;Zfbb_H~{$tD?g`ajBimUJv# z>&+FR)B9L<uj-#58W~wDIIpE}E(>#-sk`z2KhLeF|9HVUv!O-OPF?+tX0>CUN7sy} zhb`hbeC|#;+tc+qY?J-+OFqd*i&>=m&&SV?^*J}g>qKBpfxwx$^A;LdafBzy#ncug zbRRzaEv5J_=gn*Do_7^aZMl9&NaE|hxls=3ri{}L#AI;1;PbVqUYQ(o>BZ&eE1EC8 z3Qt(OG5N6YLh-}(^Iozp*ufN(|4QDQGs;m(Vy)6b<97L8$=UDpIl_4r`x<PyX8hlH zpoGEa<9a7c(U*d9!IO$+Ph6>a_pt6_>w>?xOD9Qn@7?D0;#m5Jbf$do*Y6i3PGAt^ z-`+C4Mee=vRp~gf`lXX{kG}71oww@#)z@dPm3uF`{Ym`mExm;zm%cwd_wP^H`{)h2 zEANVWR296GKF>5SC4Rs9shxVCoW$)`m`^I-xS?yy&Xzl#Xa3uBJ&9Bl_3ujKvn;Uo z{_XyKTio=0_OdD5r(zCkYn~SjiSIh?&iF7$=%PnPXlUY=Ec2`#(Yo(HALYCqlcT(z Q>(J$Rku^mxt(h4Z0KJadR{#J2 literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/tk.js b/static/admin/js/vendor/select2/i18n/tk.js new file mode 100644 index 0000000..f3da111 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/tk.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/tk.js.gz b/static/admin/js/vendor/select2/i18n/tk.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..fe05579e0678d7f70d0f8f9757a3023247f8a0ba GIT binary patch literal 457 zcmb2|=3oE;rvIgrPUl^A5NZ2f+m$Fb^{!R2!&HZrn;Zfbb_H~{$tD?g`ajBimUJv# z>&+FR)B9L<uj-#58W~wDIIpE}E(>#-sk`z2KhLeF|9HVUv!O-OPF?+tX0>CUN7sy} zhb`hbeC|#;+tc+qY?J-+OFqd*i&>=m&&SV?^*J}g>qKBpfxwx$^A;LdafBzy#ncug zbRRzaEv5J_=gn*Do_7^aZMl9&NaE|hxls=3ri{}L#AI;1;PbVqUYQ(o>BZ&eE1EC8 z3Qt(OG5N6YLh-}(^Iozp*ufN(|4QDQGs;m(Vy)6b<97L8$=UDpIl_4r`x<PyX8hlH zpoGEa<9a7c(U*d9!IO$+Ph6>a_pt6_>w>?xOD9Qn@7?D0;#m5Jbf$do*Y6i3PGAt^ z-`+C4Mee=vRp~gf`lXX{kG}71oww@#)z@dPm3uF`{Ym`mExm;zm%cwd_wP^H`{)h2 zEANVWR296GKF>5SC4Rs9shxVCoW$)`m`^I-xS?yy&Xzl#Xa3uBJ&9Bl_3ujKvn;Uo z{_XyKTio=0_OdD5r(zCkYn~SjiSIh?&iF7$=%PnPXlUY=Ec2`#(Yo(HALYCqlcT(z Q>(J$Rku^mxt(h4Z0KJadR{#J2 literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/tr.dc697d893beb.js b/static/admin/js/vendor/select2/i18n/tr.dc697d893beb.js new file mode 100644 index 0000000..acdfea6 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/tr.dc697d893beb.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/tr.dc697d893beb.js.gz b/static/admin/js/vendor/select2/i18n/tr.dc697d893beb.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..c4c6fd77319196da6de36ed0d80bbd53c105fa75 GIT binary patch literal 447 zcmb2|=3oE;rvJT@&gNZq5IFw6wkwr?>fK%04jv0aEJG$ZFKu9X$6F|I`*Fp|x|WZ5 zu0lE=)$Y95Dekw|(*Mxp4F^3vTPIq)&3gX$|L^mDRi8RiS8OQoziIq2!X`aF;_aP9 zl1pFu?7H=Q(FUvBUsHY?hnxAEn(%4PjoUY8&q+0>>2FkQt-7@GxzyKoKH9owQGdSe zrB6S0*t@3ktxLL|_rSA3?{T(5+v9^bEEj%Gk?0cA&NO&bZSwO;tEcS8Cx6?YFf2VE zuRL+-%GRJ+H(#tbIKSrOUEb)j^5RxD(`l2ocbag&U$<uNt;0$^*P|WG-9B17wsg&0 zeLf)LhtAgPoszqQ&pmT6;BQV+y>cLJl8M$$59RQh_lN#mJdx#{7vR!9>B84H3u6Qx z3Lj25`s3yQ)hp|m*6ThzAQG4BtsSBH<LB4v5Bon~e$P3Lxx}Vfh?|G!`#Wau=DWRD zayYq9ES>a4;PBSYjqf*nJZ1X-U)LS&d<W;9J9$-jnMA*SxF0Jp<Lui@LHxce-kQc~ zl)en$=Zq;WpH*sacE3q?QeuHthCu#pGrwzp!+O8H7Ts0*Y0@_S-O(qy9(|5q>9_s6 IJu?FX0N~~0)&Kwi literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/tr.js b/static/admin/js/vendor/select2/i18n/tr.js new file mode 100644 index 0000000..acdfea6 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/tr.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/tr.js.gz b/static/admin/js/vendor/select2/i18n/tr.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..c4c6fd77319196da6de36ed0d80bbd53c105fa75 GIT binary patch literal 447 zcmb2|=3oE;rvJT@&gNZq5IFw6wkwr?>fK%04jv0aEJG$ZFKu9X$6F|I`*Fp|x|WZ5 zu0lE=)$Y95Dekw|(*Mxp4F^3vTPIq)&3gX$|L^mDRi8RiS8OQoziIq2!X`aF;_aP9 zl1pFu?7H=Q(FUvBUsHY?hnxAEn(%4PjoUY8&q+0>>2FkQt-7@GxzyKoKH9owQGdSe zrB6S0*t@3ktxLL|_rSA3?{T(5+v9^bEEj%Gk?0cA&NO&bZSwO;tEcS8Cx6?YFf2VE zuRL+-%GRJ+H(#tbIKSrOUEb)j^5RxD(`l2ocbag&U$<uNt;0$^*P|WG-9B17wsg&0 zeLf)LhtAgPoszqQ&pmT6;BQV+y>cLJl8M$$59RQh_lN#mJdx#{7vR!9>B84H3u6Qx z3Lj25`s3yQ)hp|m*6ThzAQG4BtsSBH<LB4v5Bon~e$P3Lxx}Vfh?|G!`#Wau=DWRD zayYq9ES>a4;PBSYjqf*nJZ1X-U)LS&d<W;9J9$-jnMA*SxF0Jp<Lui@LHxce-kQc~ zl)en$=Zq;WpH*sacE3q?QeuHthCu#pGrwzp!+O8H7Ts0*Y0@_S-O(qy9(|5q>9_s6 IJu?FX0N~~0)&Kwi literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/uk.e05ad5df6258.js b/static/admin/js/vendor/select2/i18n/uk.e05ad5df6258.js new file mode 100644 index 0000000..1e0cafe --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/uk.e05ad5df6258.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/uk.e05ad5df6258.js.gz b/static/admin/js/vendor/select2/i18n/uk.e05ad5df6258.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..6bf0287de33815a1d60394f2c09cdf714ef15cf3 GIT binary patch literal 644 zcmb2|=3oE;rvI(MzWJ9O1onOp*O}Jw=Gs<a7gn!XZX90&G!-0oDDwThp~6-jYxbH; zL}}?t0oxF#F9LoY($7^?d_6pVaPO{fj6bx-+%Goe$WiOfo9o`cogG>ITTClaJp86? z$#t*j?-#7Eq`cWNb?e)<!?PTZuKG3aZjifK_R+7}+rsk<ecnF0c=+(~rOu~UFU+mZ z_Fm7v<dn?(7jCy#zSf`5GGm|b(koe4J$1HRE8vU{ySZ9YJ+-UAZsWAYGgzl6<XkPd zs~B-zDbw$n-NxqdSwH`@N=_DP<#>G~Ma^*K#Xf_)^h+<BeXOQ(E&h8Zt}!ij#`)*Q ztYU5KlA(9+YfsR5yTbnVjG*~qe~Zp4_U82XOf~)2>i@%k-=pxFgXuL#!aMwbGBh#9 zcgfYP|G{%jQYhBKQZ&6rQ7^?YFH82a;&I06XTM$T`_A`lD`|T&Q&et4jE~fsou_ry z|2g)NNniY9J=2kmI~*MB1(w&GV^?GPCMnPS-RX-ff7dO(n-?E+f8}jhxl(I>$2yD4 zk2GI&EuU4mcGHzFn!BfUPW72~eA;sX&fVSl9RKE@5v(w}*O8(i6vDr>)A=I*T&w58 zB9|{2#$N4qw>#?j_s5^<KZW<T{7`1vq1tfv$nO?Ehr%zrfAe0r{%*zhrfhR7p}-g? z^Xs<rJt9xNS3J<>JGFdH>#m1x6Yp|<`_IJcZ6|K4J5S@Y`N|MAX@@_{cZlv-Gu5Iw z;XM0=&#_Y5r!+0w!1IG&f~oSqXv~_{(_3!+IWAEDRJ)LGN^vUF(RuYv@;lxM9*$Fb zoNAKr`r$L>LakpMH^d%R&uIB~xTf5y?Pl0}b7|X@1NE{NA$e<*EtX2}w3j#hIbkIW G0|Nj8Ha7VH literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/uk.js b/static/admin/js/vendor/select2/i18n/uk.js new file mode 100644 index 0000000..1e0cafe --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/uk.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/uk.js.gz b/static/admin/js/vendor/select2/i18n/uk.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..6bf0287de33815a1d60394f2c09cdf714ef15cf3 GIT binary patch literal 644 zcmb2|=3oE;rvI(MzWJ9O1onOp*O}Jw=Gs<a7gn!XZX90&G!-0oDDwThp~6-jYxbH; zL}}?t0oxF#F9LoY($7^?d_6pVaPO{fj6bx-+%Goe$WiOfo9o`cogG>ITTClaJp86? z$#t*j?-#7Eq`cWNb?e)<!?PTZuKG3aZjifK_R+7}+rsk<ecnF0c=+(~rOu~UFU+mZ z_Fm7v<dn?(7jCy#zSf`5GGm|b(koe4J$1HRE8vU{ySZ9YJ+-UAZsWAYGgzl6<XkPd zs~B-zDbw$n-NxqdSwH`@N=_DP<#>G~Ma^*K#Xf_)^h+<BeXOQ(E&h8Zt}!ij#`)*Q ztYU5KlA(9+YfsR5yTbnVjG*~qe~Zp4_U82XOf~)2>i@%k-=pxFgXuL#!aMwbGBh#9 zcgfYP|G{%jQYhBKQZ&6rQ7^?YFH82a;&I06XTM$T`_A`lD`|T&Q&et4jE~fsou_ry z|2g)NNniY9J=2kmI~*MB1(w&GV^?GPCMnPS-RX-ff7dO(n-?E+f8}jhxl(I>$2yD4 zk2GI&EuU4mcGHzFn!BfUPW72~eA;sX&fVSl9RKE@5v(w}*O8(i6vDr>)A=I*T&w58 zB9|{2#$N4qw>#?j_s5^<KZW<T{7`1vq1tfv$nO?Ehr%zrfAe0r{%*zhrfhR7p}-g? z^Xs<rJt9xNS3J<>JGFdH>#m1x6Yp|<`_IJcZ6|K4J5S@Y`N|MAX@@_{cZlv-Gu5Iw z;XM0=&#_Y5r!+0w!1IG&f~oSqXv~_{(_3!+IWAEDRJ)LGN^vUF(RuYv@;lxM9*$Fb zoNAKr`r$L>LakpMH^d%R&uIB~xTf5y?Pl0}b7|X@1NE{NA$e<*EtX2}w3j#hIbkIW G0|Nj8Ha7VH literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/vi.0a60056920fc.js b/static/admin/js/vendor/select2/i18n/vi.0a60056920fc.js new file mode 100644 index 0000000..a24fbe5 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/vi.0a60056920fc.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/vi.0a60056920fc.js.gz b/static/admin/js/vendor/select2/i18n/vi.0a60056920fc.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..247219e637d3db736b72aadf72757c0eefac6426 GIT binary patch literal 498 zcmb2|=3oE;rvJH<9J8-DNVL8GD>}beW477c6&$Cg*?PQO7{Pj1sj1?G+UAot&YUUx zl$sgI+@#LWYFjO!`87cFO4Tg|xu8GtkM#?aHhD)C&y-BNS9$;W?4NtKW*ek%a(_^} zv*`NE+zLj+M=Ect<Bk}fb2AAz<eh!8NKQ5D38%g5vb}fbu6@gXI9JOl;&WJ7)ngyF z6I0(<8r!|It)F37yJc6@`4XLI?^`!Ya{}XA&Rw~FfNgI2>{*G+R1Ksy8BSm0E|&4< znCwem%fk6~#nBpD>yABDIc&SMY--Q1)5*`ytkRJ&_~q{)tft&!E+P6)QG8~>(*~P! z7AjB6B@ZT6zB_zE<h{TNt98OR^y`^sJ(7-0IC&>lg*SQWMq{sn$jbZ}zP&Q4$;SVU z7<*0|2fEhmn#8ff_v5{;^C{LgfpsTROX4%H{eLfb;;8ifDD||usw)=nXaCf1X+Cqt z|KFZJ9!1+%?#|;CEBi2c?G2IjiW=wFwrj>YCLB-Z6wj}(H$Cc^;5hw!dZRG+Yx7yE zn$OmS^heB6ol#bBuluyTn8@k#i%zX5h+Z(wD0LrS(!GDDv|Yo>Uw4@ZXPtVdc9PHN z;?!?TeuZw)<Y?TweQGU-!;D8J3YGJ$->rGK<=>*GYaTluE8Ti=&6-uubN;ak?c`<) IW@caj0E4IPpa1{> literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/vi.js b/static/admin/js/vendor/select2/i18n/vi.js new file mode 100644 index 0000000..a24fbe5 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/vi.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/vi.js.gz b/static/admin/js/vendor/select2/i18n/vi.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..247219e637d3db736b72aadf72757c0eefac6426 GIT binary patch literal 498 zcmb2|=3oE;rvJH<9J8-DNVL8GD>}beW477c6&$Cg*?PQO7{Pj1sj1?G+UAot&YUUx zl$sgI+@#LWYFjO!`87cFO4Tg|xu8GtkM#?aHhD)C&y-BNS9$;W?4NtKW*ek%a(_^} zv*`NE+zLj+M=Ect<Bk}fb2AAz<eh!8NKQ5D38%g5vb}fbu6@gXI9JOl;&WJ7)ngyF z6I0(<8r!|It)F37yJc6@`4XLI?^`!Ya{}XA&Rw~FfNgI2>{*G+R1Ksy8BSm0E|&4< znCwem%fk6~#nBpD>yABDIc&SMY--Q1)5*`ytkRJ&_~q{)tft&!E+P6)QG8~>(*~P! z7AjB6B@ZT6zB_zE<h{TNt98OR^y`^sJ(7-0IC&>lg*SQWMq{sn$jbZ}zP&Q4$;SVU z7<*0|2fEhmn#8ff_v5{;^C{LgfpsTROX4%H{eLfb;;8ifDD||usw)=nXaCf1X+Cqt z|KFZJ9!1+%?#|;CEBi2c?G2IjiW=wFwrj>YCLB-Z6wj}(H$Cc^;5hw!dZRG+Yx7yE zn$OmS^heB6ol#bBuluyTn8@k#i%zX5h+Z(wD0LrS(!GDDv|Yo>Uw4@ZXPtVdc9PHN z;?!?TeuZw)<Y?TweQGU-!;D8J3YGJ$->rGK<=>*GYaTluE8Ti=&6-uubN;ak?c`<) IW@caj0E4IPpa1{> literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/zh-CN.bde34fa3f064.js b/static/admin/js/vendor/select2/i18n/zh-CN.bde34fa3f064.js new file mode 100644 index 0000000..a037e7b --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/zh-CN.bde34fa3f064.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/zh-CN.bde34fa3f064.js.gz b/static/admin/js/vendor/select2/i18n/zh-CN.bde34fa3f064.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..b71ec765b64b1dbdf1167fa086f937fee8e0cab2 GIT binary patch literal 489 zcmb2|=3oE;rvIgr0<(o31&-hUt$D6iqx@{DziU9yCxxZ_tq~V~gw^bLqPBDD?Yq0S zhhLGf5Xo)s@S3>Dc8Qm+#2T@v4N5QDFW!6lNq0}lWQmWzOb)+0Q(ymo?#5?&8KEB* z=;>#Ne{ih{tzNP-Xx%T>(^*0<*-T@eU-=YzQstUW+~yT;y#>NjGZPDU?&?^%_-v%H zag}mHsi(!|Ua`y<<@sz1a%ax1>X6RSI;y;Lj&e@$@rcc>Y)|j(u4FV4@L_)A&}?ww zqC{`Zu48N3^9mCsXKI(9(UiJ+iAizCih|pUYa)NWmr{+kKKXF=mh0W~>t6l8<8#k_ z|KZ~+a)q`@owz+G{6~qj#9GCrI?Q(32jn&^E9q`nSv&ti!>lzum-6pF?wxz^c5KK5 z){?3_z2CS0ivM=u2Fvf&aiu#a?EExk!@{_a_uG$sIv=-0eYRxbt~v?%J$C<P{eSK| z$oixreBI=?iz~j*{q#@!&gnh<dsetIs<-p22F@@&s=xc?<a-KlRL<KkKJ-NRTmqYX z-IwkA{Ss1cr~DE7(Ww4+kD<%mCB;JdG8%n6huEX9+%0bVru9m`*2eZ;_#P&W_~zI1 zwyQKgTe-SWWv)S|mGZi>-MKS#xB4#q7?tYvok^*UeX-8!OT9nsAEbZRHD_jE003=R B_T>No literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/zh-CN.js b/static/admin/js/vendor/select2/i18n/zh-CN.js new file mode 100644 index 0000000..a037e7b --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/zh-CN.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/zh-CN.js.gz b/static/admin/js/vendor/select2/i18n/zh-CN.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..b71ec765b64b1dbdf1167fa086f937fee8e0cab2 GIT binary patch literal 489 zcmb2|=3oE;rvIgr0<(o31&-hUt$D6iqx@{DziU9yCxxZ_tq~V~gw^bLqPBDD?Yq0S zhhLGf5Xo)s@S3>Dc8Qm+#2T@v4N5QDFW!6lNq0}lWQmWzOb)+0Q(ymo?#5?&8KEB* z=;>#Ne{ih{tzNP-Xx%T>(^*0<*-T@eU-=YzQstUW+~yT;y#>NjGZPDU?&?^%_-v%H zag}mHsi(!|Ua`y<<@sz1a%ax1>X6RSI;y;Lj&e@$@rcc>Y)|j(u4FV4@L_)A&}?ww zqC{`Zu48N3^9mCsXKI(9(UiJ+iAizCih|pUYa)NWmr{+kKKXF=mh0W~>t6l8<8#k_ z|KZ~+a)q`@owz+G{6~qj#9GCrI?Q(32jn&^E9q`nSv&ti!>lzum-6pF?wxz^c5KK5 z){?3_z2CS0ivM=u2Fvf&aiu#a?EExk!@{_a_uG$sIv=-0eYRxbt~v?%J$C<P{eSK| z$oixreBI=?iz~j*{q#@!&gnh<dsetIs<-p22F@@&s=xc?<a-KlRL<KkKJ-NRTmqYX z-IwkA{Ss1cr~DE7(Ww4+kD<%mCB;JdG8%n6huEX9+%0bVru9m`*2eZ;_#P&W_~zI1 zwyQKgTe-SWWv)S|mGZi>-MKS#xB4#q7?tYvok^*UeX-8!OT9nsAEbZRHD_jE003=R B_T>No literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/zh-TW.e727260f7094.js b/static/admin/js/vendor/select2/i18n/zh-TW.e727260f7094.js new file mode 100644 index 0000000..116eda1 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/zh-TW.e727260f7094.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/zh-TW.e727260f7094.js.gz b/static/admin/js/vendor/select2/i18n/zh-TW.e727260f7094.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..640662c28001bda18e8fd0b2509f46c3e00624b4 GIT binary patch literal 470 zcmb2|=3oE;rvIfuXY(#Q2<-c=c}7lacj2{$2`hr0HU#ib<q}#V)ZW!B?ElF1-rY@c z;SL+7tZKQ|)v(G|;g(F5hOJ1KmY?Mo8=hBIC!-%cxWSU>XMAhs`}DG7Q9Bl1J<!~? zXYJjC<{x9<Zhhvp^I^EoYS$&wR|=bhPy0uIiuhh}chNR|$B5P1->1u8n`T(Lg*7|R zFQ09VB4_%pi)y}qZ!Tsya{A{_lSgW^JwHxa_ki>E6+^S!g^pV{Y*TSyYszep%@AU< zI<;nEboZI6r_-*_Qz-ts((<ud>lV)298aX4ub#72t5UM(n~Pr<<Nv$^avP?VoNie8 zx9LK|tTkP3@l{#hb?W37PSR1l`f}yx{#Cnsjm&jSjK9q~-Kw)>d5iClQ}x`bU-Iww z>anl-{qsMU+;-VRQT#g^PT5~xcrkU#g7xgr?X8z<m@I#GS+qGgfg?6vb~S(c;<u|m zUQ@8U(fM1pw5Y@D=L1y}yLZpnQZkJGN&Go5xvsJ1Pp$ns_rfpEZ{v9S*$%H?e)zCC zXI;e?-NMJsx>9;G|9-bWv3K9D7f+9|2JGYfZj<lIq#NWVX85l}$bGJhzA%UL;hg2{ ffhYBp6RYF|3@c}(c}~yM`OCDU^YE`<ObiSFf-mMO literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/i18n/zh-TW.js b/static/admin/js/vendor/select2/i18n/zh-TW.js new file mode 100644 index 0000000..116eda1 --- /dev/null +++ b/static/admin/js/vendor/select2/i18n/zh-TW.js @@ -0,0 +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}})(); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/i18n/zh-TW.js.gz b/static/admin/js/vendor/select2/i18n/zh-TW.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..640662c28001bda18e8fd0b2509f46c3e00624b4 GIT binary patch literal 470 zcmb2|=3oE;rvIfuXY(#Q2<-c=c}7lacj2{$2`hr0HU#ib<q}#V)ZW!B?ElF1-rY@c z;SL+7tZKQ|)v(G|;g(F5hOJ1KmY?Mo8=hBIC!-%cxWSU>XMAhs`}DG7Q9Bl1J<!~? zXYJjC<{x9<Zhhvp^I^EoYS$&wR|=bhPy0uIiuhh}chNR|$B5P1->1u8n`T(Lg*7|R zFQ09VB4_%pi)y}qZ!Tsya{A{_lSgW^JwHxa_ki>E6+^S!g^pV{Y*TSyYszep%@AU< zI<;nEboZI6r_-*_Qz-ts((<ud>lV)298aX4ub#72t5UM(n~Pr<<Nv$^avP?VoNie8 zx9LK|tTkP3@l{#hb?W37PSR1l`f}yx{#Cnsjm&jSjK9q~-Kw)>d5iClQ}x`bU-Iww z>anl-{qsMU+;-VRQT#g^PT5~xcrkU#g7xgr?X8z<m@I#GS+qGgfg?6vb~S(c;<u|m zUQ@8U(fM1pw5Y@D=L1y}yLZpnQZkJGN&Go5xvsJ1Pp$ns_rfpEZ{v9S*$%H?e)zCC zXI;e?-NMJsx>9;G|9-bWv3K9D7f+9|2JGYfZj<lIq#NWVX85l}$bGJhzA%UL;hg2{ ffhYBp6RYF|3@c}(c}~yM`OCDU^YE`<ObiSFf-mMO literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/select2.full.d379d5235584.js b/static/admin/js/vendor/select2/select2.full.d379d5235584.js new file mode 100644 index 0000000..f3a20b9 --- /dev/null +++ b/static/admin/js/vendor/select2/select2.full.d379d5235584.js @@ -0,0 +1,6597 @@ +/*! + * Select2 4.0.7 + * https://select2.github.io + * + * Released under the MIT license + * https://github.com/select2/select2/blob/master/LICENSE.md + */ +;(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function (root, jQuery) { + if (jQuery === undefined) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if (typeof window !== 'undefined') { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + factory(jQuery); + return jQuery; + }; + } else { + // Browser globals + factory(jQuery); + } +} (function (jQuery) { + // This is needed so we can catch the AMD loader configuration and use it + // The inner file should be wrapped (by `banner.start.js`) in a function that + // returns the AMD loader references. + var S2 =(function () { + // Restore the Select2 AMD loader so it can be used + // Needed mostly in the language files, where the loader is not inserted + if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) { + var S2 = jQuery.fn.select2.amd; + } +var S2;(function () { if (!S2 || !S2.requirejs) { +if (!S2) { S2 = {}; } else { require = S2; } +/** + * @license almond 0.3.3 Copyright jQuery Foundation and other contributors. + * Released under MIT license, http://github.com/requirejs/almond/LICENSE + */ +//Going sloppy to avoid 'use strict' string cost, but strict practices should +//be followed. +/*global setTimeout: false */ + +var requirejs, require, define; +(function (undef) { + var main, req, makeMap, handlers, + defined = {}, + waiting = {}, + config = {}, + defining = {}, + hasOwn = Object.prototype.hasOwnProperty, + aps = [].slice, + jsSuffixRegExp = /\.js$/; + + function hasProp(obj, prop) { + return hasOwn.call(obj, prop); + } + + /** + * Given a relative module name, like ./something, normalize it to + * a real name that can be mapped to a path. + * @param {String} name the relative name + * @param {String} baseName a real name that the name arg is relative + * to. + * @returns {String} normalized name + */ + function normalize(name, baseName) { + var nameParts, nameSegment, mapValue, foundMap, lastIndex, + foundI, foundStarMap, starI, i, j, part, normalizedBaseParts, + baseParts = baseName && baseName.split("/"), + map = config.map, + starMap = (map && map['*']) || {}; + + //Adjust any relative paths. + if (name) { + name = name.split('/'); + lastIndex = name.length - 1; + + // If wanting node ID compatibility, strip .js from end + // of IDs. Have to do this here, and not in nameToUrl + // because node allows either .js or non .js to map + // to same file. + if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) { + name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, ''); + } + + // Starts with a '.' so need the baseName + if (name[0].charAt(0) === '.' && baseParts) { + //Convert baseName to array, and lop off the last part, + //so that . matches that 'directory' and not name of the baseName's + //module. For instance, baseName of 'one/two/three', maps to + //'one/two/three.js', but we want the directory, 'one/two' for + //this normalization. + normalizedBaseParts = baseParts.slice(0, baseParts.length - 1); + name = normalizedBaseParts.concat(name); + } + + //start trimDots + for (i = 0; i < name.length; i++) { + part = name[i]; + if (part === '.') { + name.splice(i, 1); + i -= 1; + } else if (part === '..') { + // If at the start, or previous value is still .., + // keep them so that when converted to a path it may + // still work when converted to a path, even though + // as an ID it is less than ideal. In larger point + // releases, may be better to just kick out an error. + if (i === 0 || (i === 1 && name[2] === '..') || name[i - 1] === '..') { + continue; + } else if (i > 0) { + name.splice(i - 1, 2); + i -= 2; + } + } + } + //end trimDots + + name = name.join('/'); + } + + //Apply map config if available. + if ((baseParts || starMap) && map) { + nameParts = name.split('/'); + + for (i = nameParts.length; i > 0; i -= 1) { + nameSegment = nameParts.slice(0, i).join("/"); + + if (baseParts) { + //Find the longest baseName segment match in the config. + //So, do joins on the biggest to smallest lengths of baseParts. + for (j = baseParts.length; j > 0; j -= 1) { + mapValue = map[baseParts.slice(0, j).join('/')]; + + //baseName segment has config, find if it has one for + //this name. + if (mapValue) { + mapValue = mapValue[nameSegment]; + if (mapValue) { + //Match, update name to the new value. + foundMap = mapValue; + foundI = i; + break; + } + } + } + } + + if (foundMap) { + break; + } + + //Check for a star map match, but just hold on to it, + //if there is a shorter segment match later in a matching + //config, then favor over this star map. + if (!foundStarMap && starMap && starMap[nameSegment]) { + foundStarMap = starMap[nameSegment]; + starI = i; + } + } + + if (!foundMap && foundStarMap) { + foundMap = foundStarMap; + foundI = starI; + } + + if (foundMap) { + nameParts.splice(0, foundI, foundMap); + name = nameParts.join('/'); + } + } + + return name; + } + + function makeRequire(relName, forceSync) { + return function () { + //A version of a require function that passes a moduleName + //value for items that may need to + //look up paths relative to the moduleName + var args = aps.call(arguments, 0); + + //If first arg is not require('string'), and there is only + //one arg, it is the array form without a callback. Insert + //a null so that the following concat is correct. + if (typeof args[0] !== 'string' && args.length === 1) { + args.push(null); + } + return req.apply(undef, args.concat([relName, forceSync])); + }; + } + + function makeNormalize(relName) { + return function (name) { + return normalize(name, relName); + }; + } + + function makeLoad(depName) { + return function (value) { + defined[depName] = value; + }; + } + + function callDep(name) { + if (hasProp(waiting, name)) { + var args = waiting[name]; + delete waiting[name]; + defining[name] = true; + main.apply(undef, args); + } + + if (!hasProp(defined, name) && !hasProp(defining, name)) { + throw new Error('No ' + name); + } + return defined[name]; + } + + //Turns a plugin!resource to [plugin, resource] + //with the plugin being undefined if the name + //did not have a plugin prefix. + function splitPrefix(name) { + var prefix, + index = name ? name.indexOf('!') : -1; + if (index > -1) { + prefix = name.substring(0, index); + name = name.substring(index + 1, name.length); + } + return [prefix, name]; + } + + //Creates a parts array for a relName where first part is plugin ID, + //second part is resource ID. Assumes relName has already been normalized. + function makeRelParts(relName) { + return relName ? splitPrefix(relName) : []; + } + + /** + * Makes a name map, normalizing the name, and using a plugin + * for normalization if necessary. Grabs a ref to plugin + * too, as an optimization. + */ + makeMap = function (name, relParts) { + var plugin, + parts = splitPrefix(name), + prefix = parts[0], + relResourceName = relParts[1]; + + name = parts[1]; + + if (prefix) { + prefix = normalize(prefix, relResourceName); + plugin = callDep(prefix); + } + + //Normalize according + if (prefix) { + if (plugin && plugin.normalize) { + name = plugin.normalize(name, makeNormalize(relResourceName)); + } else { + name = normalize(name, relResourceName); + } + } else { + name = normalize(name, relResourceName); + parts = splitPrefix(name); + prefix = parts[0]; + name = parts[1]; + if (prefix) { + plugin = callDep(prefix); + } + } + + //Using ridiculous property names for space reasons + return { + f: prefix ? prefix + '!' + name : name, //fullName + n: name, + pr: prefix, + p: plugin + }; + }; + + function makeConfig(name) { + return function () { + return (config && config.config && config.config[name]) || {}; + }; + } + + handlers = { + require: function (name) { + return makeRequire(name); + }, + exports: function (name) { + var e = defined[name]; + if (typeof e !== 'undefined') { + return e; + } else { + return (defined[name] = {}); + } + }, + module: function (name) { + return { + id: name, + uri: '', + exports: defined[name], + config: makeConfig(name) + }; + } + }; + + main = function (name, deps, callback, relName) { + var cjsModule, depName, ret, map, i, relParts, + args = [], + callbackType = typeof callback, + usingExports; + + //Use name if no relName + relName = relName || name; + relParts = makeRelParts(relName); + + //Call the callback to define the module, if necessary. + if (callbackType === 'undefined' || callbackType === 'function') { + //Pull out the defined dependencies and pass the ordered + //values to the callback. + //Default to [require, exports, module] if no deps + deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps; + for (i = 0; i < deps.length; i += 1) { + map = makeMap(deps[i], relParts); + depName = map.f; + + //Fast path CommonJS standard dependencies. + if (depName === "require") { + args[i] = handlers.require(name); + } else if (depName === "exports") { + //CommonJS module spec 1.1 + args[i] = handlers.exports(name); + usingExports = true; + } else if (depName === "module") { + //CommonJS module spec 1.1 + cjsModule = args[i] = handlers.module(name); + } else if (hasProp(defined, depName) || + hasProp(waiting, depName) || + hasProp(defining, depName)) { + args[i] = callDep(depName); + } else if (map.p) { + map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {}); + args[i] = defined[depName]; + } else { + throw new Error(name + ' missing ' + depName); + } + } + + ret = callback ? callback.apply(defined[name], args) : undefined; + + if (name) { + //If setting exports via "module" is in play, + //favor that over return value and exports. After that, + //favor a non-undefined return value over exports use. + if (cjsModule && cjsModule.exports !== undef && + cjsModule.exports !== defined[name]) { + defined[name] = cjsModule.exports; + } else if (ret !== undef || !usingExports) { + //Use the return value from the function. + defined[name] = ret; + } + } + } else if (name) { + //May just be an object definition for the module. Only + //worry about defining if have a module name. + defined[name] = callback; + } + }; + + requirejs = require = req = function (deps, callback, relName, forceSync, alt) { + if (typeof deps === "string") { + if (handlers[deps]) { + //callback in this case is really relName + return handlers[deps](callback); + } + //Just return the module wanted. In this scenario, the + //deps arg is the module name, and second arg (if passed) + //is just the relName. + //Normalize module name, if it contains . or .. + return callDep(makeMap(deps, makeRelParts(callback)).f); + } else if (!deps.splice) { + //deps is a config object, not an array. + config = deps; + if (config.deps) { + req(config.deps, config.callback); + } + if (!callback) { + return; + } + + if (callback.splice) { + //callback is an array, which means it is a dependency list. + //Adjust args if there are dependencies + deps = callback; + callback = relName; + relName = null; + } else { + deps = undef; + } + } + + //Support require(['a']) + callback = callback || function () {}; + + //If relName is a function, it is an errback handler, + //so remove it. + if (typeof relName === 'function') { + relName = forceSync; + forceSync = alt; + } + + //Simulate async callback; + if (forceSync) { + main(undef, deps, callback, relName); + } else { + //Using a non-zero value because of concern for what old browsers + //do, and latest browsers "upgrade" to 4 if lower value is used: + //http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout: + //If want a value immediately, use require('id') instead -- something + //that works in almond on the global level, but not guaranteed and + //unlikely to work in other AMD implementations. + setTimeout(function () { + main(undef, deps, callback, relName); + }, 4); + } + + return req; + }; + + /** + * Just drops the config on the floor, but returns req in case + * the config return value is used. + */ + req.config = function (cfg) { + return req(cfg); + }; + + /** + * Expose module registry for debugging and tooling + */ + requirejs._defined = defined; + + define = function (name, deps, callback) { + if (typeof name !== 'string') { + throw new Error('See almond README: incorrect module build, no module name'); + } + + //This module may not have dependencies + if (!deps.splice) { + //deps is not an array, so probably means + //an object literal or factory function for + //the value. Adjust args. + callback = deps; + deps = []; + } + + if (!hasProp(defined, name) && !hasProp(waiting, name)) { + waiting[name] = [name, deps, callback]; + } + }; + + define.amd = { + jQuery: true + }; +}()); + +S2.requirejs = requirejs;S2.require = require;S2.define = define; +} +}()); +S2.define("almond", function(){}); + +/* global jQuery:false, $:false */ +S2.define('jquery',[],function () { + var _$ = jQuery || $; + + if (_$ == null && console && console.error) { + console.error( + 'Select2: An instance of jQuery or a jQuery-compatible library was not ' + + 'found. Make sure that you are including jQuery before Select2 on your ' + + 'web page.' + ); + } + + return _$; +}); + +S2.define('select2/utils',[ + 'jquery' +], function ($) { + var Utils = {}; + + Utils.Extend = function (ChildClass, SuperClass) { + var __hasProp = {}.hasOwnProperty; + + function BaseConstructor () { + this.constructor = ChildClass; + } + + for (var key in SuperClass) { + if (__hasProp.call(SuperClass, key)) { + ChildClass[key] = SuperClass[key]; + } + } + + BaseConstructor.prototype = SuperClass.prototype; + ChildClass.prototype = new BaseConstructor(); + ChildClass.__super__ = SuperClass.prototype; + + return ChildClass; + }; + + function getMethods (theClass) { + var proto = theClass.prototype; + + var methods = []; + + for (var methodName in proto) { + var m = proto[methodName]; + + if (typeof m !== 'function') { + continue; + } + + if (methodName === 'constructor') { + continue; + } + + methods.push(methodName); + } + + return methods; + } + + Utils.Decorate = function (SuperClass, DecoratorClass) { + var decoratedMethods = getMethods(DecoratorClass); + var superMethods = getMethods(SuperClass); + + function DecoratedClass () { + var unshift = Array.prototype.unshift; + + var argCount = DecoratorClass.prototype.constructor.length; + + var calledConstructor = SuperClass.prototype.constructor; + + if (argCount > 0) { + unshift.call(arguments, SuperClass.prototype.constructor); + + calledConstructor = DecoratorClass.prototype.constructor; + } + + calledConstructor.apply(this, arguments); + } + + DecoratorClass.displayName = SuperClass.displayName; + + function ctr () { + this.constructor = DecoratedClass; + } + + DecoratedClass.prototype = new ctr(); + + for (var m = 0; m < superMethods.length; m++) { + var superMethod = superMethods[m]; + + DecoratedClass.prototype[superMethod] = + SuperClass.prototype[superMethod]; + } + + var calledMethod = function (methodName) { + // Stub out the original method if it's not decorating an actual method + var originalMethod = function () {}; + + if (methodName in DecoratedClass.prototype) { + originalMethod = DecoratedClass.prototype[methodName]; + } + + var decoratedMethod = DecoratorClass.prototype[methodName]; + + return function () { + var unshift = Array.prototype.unshift; + + unshift.call(arguments, originalMethod); + + return decoratedMethod.apply(this, arguments); + }; + }; + + for (var d = 0; d < decoratedMethods.length; d++) { + var decoratedMethod = decoratedMethods[d]; + + DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod); + } + + return DecoratedClass; + }; + + var Observable = function () { + this.listeners = {}; + }; + + Observable.prototype.on = function (event, callback) { + this.listeners = this.listeners || {}; + + if (event in this.listeners) { + this.listeners[event].push(callback); + } else { + this.listeners[event] = [callback]; + } + }; + + Observable.prototype.trigger = function (event) { + var slice = Array.prototype.slice; + var params = slice.call(arguments, 1); + + this.listeners = this.listeners || {}; + + // Params should always come in as an array + if (params == null) { + params = []; + } + + // If there are no arguments to the event, use a temporary object + if (params.length === 0) { + params.push({}); + } + + // Set the `_type` of the first object to the event + params[0]._type = event; + + if (event in this.listeners) { + this.invoke(this.listeners[event], slice.call(arguments, 1)); + } + + if ('*' in this.listeners) { + this.invoke(this.listeners['*'], arguments); + } + }; + + Observable.prototype.invoke = function (listeners, params) { + for (var i = 0, len = listeners.length; i < len; i++) { + listeners[i].apply(this, params); + } + }; + + Utils.Observable = Observable; + + Utils.generateChars = function (length) { + var chars = ''; + + for (var i = 0; i < length; i++) { + var randomChar = Math.floor(Math.random() * 36); + chars += randomChar.toString(36); + } + + return chars; + }; + + Utils.bind = function (func, context) { + return function () { + func.apply(context, arguments); + }; + }; + + Utils._convertData = function (data) { + for (var originalKey in data) { + var keys = originalKey.split('-'); + + var dataLevel = data; + + if (keys.length === 1) { + continue; + } + + for (var k = 0; k < keys.length; k++) { + var key = keys[k]; + + // Lowercase the first letter + // By default, dash-separated becomes camelCase + key = key.substring(0, 1).toLowerCase() + key.substring(1); + + if (!(key in dataLevel)) { + dataLevel[key] = {}; + } + + if (k == keys.length - 1) { + dataLevel[key] = data[originalKey]; + } + + dataLevel = dataLevel[key]; + } + + delete data[originalKey]; + } + + return data; + }; + + Utils.hasScroll = function (index, el) { + // Adapted from the function created by @ShadowScripter + // and adapted by @BillBarry on the Stack Exchange Code Review website. + // The original code can be found at + // http://codereview.stackexchange.com/q/13338 + // and was designed to be used with the Sizzle selector engine. + + var $el = $(el); + var overflowX = el.style.overflowX; + var overflowY = el.style.overflowY; + + //Check both x and y declarations + if (overflowX === overflowY && + (overflowY === 'hidden' || overflowY === 'visible')) { + return false; + } + + if (overflowX === 'scroll' || overflowY === 'scroll') { + return true; + } + + return ($el.innerHeight() < el.scrollHeight || + $el.innerWidth() < el.scrollWidth); + }; + + Utils.escapeMarkup = function (markup) { + var replaceMap = { + '\\': '\', + '&': '&', + '<': '<', + '>': '>', + '"': '"', + '\'': ''', + '/': '/' + }; + + // Do not try to escape the markup if it's not a string + if (typeof markup !== 'string') { + return markup; + } + + return String(markup).replace(/[&<>"'\/\\]/g, function (match) { + return replaceMap[match]; + }); + }; + + // Append an array of jQuery nodes to a given element. + Utils.appendMany = function ($element, $nodes) { + // jQuery 1.7.x does not support $.fn.append() with an array + // Fall back to a jQuery object collection using $.fn.add() + if ($.fn.jquery.substr(0, 3) === '1.7') { + var $jqNodes = $(); + + $.map($nodes, function (node) { + $jqNodes = $jqNodes.add(node); + }); + + $nodes = $jqNodes; + } + + $element.append($nodes); + }; + + // Cache objects in Utils.__cache instead of $.data (see #4346) + Utils.__cache = {}; + + var id = 0; + Utils.GetUniqueElementId = function (element) { + // Get a unique element Id. If element has no id, + // creates a new unique number, stores it in the id + // attribute and returns the new id. + // If an id already exists, it simply returns it. + + var select2Id = element.getAttribute('data-select2-id'); + if (select2Id == null) { + // If element has id, use it. + if (element.id) { + select2Id = element.id; + element.setAttribute('data-select2-id', select2Id); + } else { + element.setAttribute('data-select2-id', ++id); + select2Id = id.toString(); + } + } + return select2Id; + }; + + Utils.StoreData = function (element, name, value) { + // Stores an item in the cache for a specified element. + // name is the cache key. + var id = Utils.GetUniqueElementId(element); + if (!Utils.__cache[id]) { + Utils.__cache[id] = {}; + } + + Utils.__cache[id][name] = value; + }; + + Utils.GetData = function (element, name) { + // Retrieves a value from the cache by its key (name) + // name is optional. If no name specified, return + // all cache items for the specified element. + // and for a specified element. + var id = Utils.GetUniqueElementId(element); + if (name) { + if (Utils.__cache[id]) { + if (Utils.__cache[id][name] != null) { + return Utils.__cache[id][name]; + } + return $(element).data(name); // Fallback to HTML5 data attribs. + } + return $(element).data(name); // Fallback to HTML5 data attribs. + } else { + return Utils.__cache[id]; + } + }; + + Utils.RemoveData = function (element) { + // Removes all cached items for a specified element. + var id = Utils.GetUniqueElementId(element); + if (Utils.__cache[id] != null) { + delete Utils.__cache[id]; + } + }; + + return Utils; +}); + +S2.define('select2/results',[ + 'jquery', + './utils' +], function ($, Utils) { + function Results ($element, options, dataAdapter) { + this.$element = $element; + this.data = dataAdapter; + this.options = options; + + Results.__super__.constructor.call(this); + } + + Utils.Extend(Results, Utils.Observable); + + Results.prototype.render = function () { + var $results = $( + '<ul class="select2-results__options" role="tree"></ul>' + ); + + if (this.options.get('multiple')) { + $results.attr('aria-multiselectable', 'true'); + } + + this.$results = $results; + + return $results; + }; + + Results.prototype.clear = function () { + this.$results.empty(); + }; + + Results.prototype.displayMessage = function (params) { + var escapeMarkup = this.options.get('escapeMarkup'); + + this.clear(); + this.hideLoading(); + + var $message = $( + '<li role="treeitem" aria-live="assertive"' + + ' class="select2-results__option"></li>' + ); + + var message = this.options.get('translations').get(params.message); + + $message.append( + escapeMarkup( + message(params.args) + ) + ); + + $message[0].className += ' select2-results__message'; + + this.$results.append($message); + }; + + Results.prototype.hideMessages = function () { + this.$results.find('.select2-results__message').remove(); + }; + + Results.prototype.append = function (data) { + this.hideLoading(); + + var $options = []; + + if (data.results == null || data.results.length === 0) { + if (this.$results.children().length === 0) { + this.trigger('results:message', { + message: 'noResults' + }); + } + + return; + } + + data.results = this.sort(data.results); + + for (var d = 0; d < data.results.length; d++) { + var item = data.results[d]; + + var $option = this.option(item); + + $options.push($option); + } + + this.$results.append($options); + }; + + Results.prototype.position = function ($results, $dropdown) { + var $resultsContainer = $dropdown.find('.select2-results'); + $resultsContainer.append($results); + }; + + Results.prototype.sort = function (data) { + var sorter = this.options.get('sorter'); + + return sorter(data); + }; + + Results.prototype.highlightFirstItem = function () { + var $options = this.$results + .find('.select2-results__option[aria-selected]'); + + var $selected = $options.filter('[aria-selected=true]'); + + // Check if there are any selected options + if ($selected.length > 0) { + // If there are selected options, highlight the first + $selected.first().trigger('mouseenter'); + } else { + // If there are no selected options, highlight the first option + // in the dropdown + $options.first().trigger('mouseenter'); + } + + this.ensureHighlightVisible(); + }; + + Results.prototype.setClasses = function () { + var self = this; + + this.data.current(function (selected) { + var selectedIds = $.map(selected, function (s) { + return s.id.toString(); + }); + + var $options = self.$results + .find('.select2-results__option[aria-selected]'); + + $options.each(function () { + var $option = $(this); + + var item = Utils.GetData(this, 'data'); + + // id needs to be converted to a string when comparing + var id = '' + item.id; + + if ((item.element != null && item.element.selected) || + (item.element == null && $.inArray(id, selectedIds) > -1)) { + $option.attr('aria-selected', 'true'); + } else { + $option.attr('aria-selected', 'false'); + } + }); + + }); + }; + + Results.prototype.showLoading = function (params) { + this.hideLoading(); + + var loadingMore = this.options.get('translations').get('searching'); + + var loading = { + disabled: true, + loading: true, + text: loadingMore(params) + }; + var $loading = this.option(loading); + $loading.className += ' loading-results'; + + this.$results.prepend($loading); + }; + + Results.prototype.hideLoading = function () { + this.$results.find('.loading-results').remove(); + }; + + Results.prototype.option = function (data) { + var option = document.createElement('li'); + option.className = 'select2-results__option'; + + var attrs = { + 'role': 'treeitem', + 'aria-selected': 'false' + }; + + if (data.disabled) { + delete attrs['aria-selected']; + attrs['aria-disabled'] = 'true'; + } + + if (data.id == null) { + delete attrs['aria-selected']; + } + + if (data._resultId != null) { + option.id = data._resultId; + } + + if (data.title) { + option.title = data.title; + } + + if (data.children) { + attrs.role = 'group'; + attrs['aria-label'] = data.text; + delete attrs['aria-selected']; + } + + for (var attr in attrs) { + var val = attrs[attr]; + + option.setAttribute(attr, val); + } + + if (data.children) { + var $option = $(option); + + var label = document.createElement('strong'); + label.className = 'select2-results__group'; + + var $label = $(label); + this.template(data, label); + + var $children = []; + + for (var c = 0; c < data.children.length; c++) { + var child = data.children[c]; + + var $child = this.option(child); + + $children.push($child); + } + + var $childrenContainer = $('<ul></ul>', { + 'class': 'select2-results__options select2-results__options--nested' + }); + + $childrenContainer.append($children); + + $option.append(label); + $option.append($childrenContainer); + } else { + this.template(data, option); + } + + Utils.StoreData(option, 'data', data); + + return option; + }; + + Results.prototype.bind = function (container, $container) { + var self = this; + + var id = container.id + '-results'; + + this.$results.attr('id', id); + + container.on('results:all', function (params) { + self.clear(); + self.append(params.data); + + if (container.isOpen()) { + self.setClasses(); + self.highlightFirstItem(); + } + }); + + container.on('results:append', function (params) { + self.append(params.data); + + if (container.isOpen()) { + self.setClasses(); + } + }); + + container.on('query', function (params) { + self.hideMessages(); + self.showLoading(params); + }); + + container.on('select', function () { + if (!container.isOpen()) { + return; + } + + self.setClasses(); + + if (self.options.get('scrollAfterSelect')) { + self.highlightFirstItem(); + } + }); + + container.on('unselect', function () { + if (!container.isOpen()) { + return; + } + + self.setClasses(); + + if (self.options.get('scrollAfterSelect')) { + self.highlightFirstItem(); + } + }); + + container.on('open', function () { + // When the dropdown is open, aria-expended="true" + self.$results.attr('aria-expanded', 'true'); + self.$results.attr('aria-hidden', 'false'); + + self.setClasses(); + self.ensureHighlightVisible(); + }); + + container.on('close', function () { + // When the dropdown is closed, aria-expended="false" + self.$results.attr('aria-expanded', 'false'); + self.$results.attr('aria-hidden', 'true'); + self.$results.removeAttr('aria-activedescendant'); + }); + + container.on('results:toggle', function () { + var $highlighted = self.getHighlightedResults(); + + if ($highlighted.length === 0) { + return; + } + + $highlighted.trigger('mouseup'); + }); + + container.on('results:select', function () { + var $highlighted = self.getHighlightedResults(); + + if ($highlighted.length === 0) { + return; + } + + var data = Utils.GetData($highlighted[0], 'data'); + + if ($highlighted.attr('aria-selected') == 'true') { + self.trigger('close', {}); + } else { + self.trigger('select', { + data: data + }); + } + }); + + container.on('results:previous', function () { + var $highlighted = self.getHighlightedResults(); + + var $options = self.$results.find('[aria-selected]'); + + var currentIndex = $options.index($highlighted); + + // If we are already at the top, don't move further + // If no options, currentIndex will be -1 + if (currentIndex <= 0) { + return; + } + + var nextIndex = currentIndex - 1; + + // If none are highlighted, highlight the first + if ($highlighted.length === 0) { + nextIndex = 0; + } + + var $next = $options.eq(nextIndex); + + $next.trigger('mouseenter'); + + var currentOffset = self.$results.offset().top; + var nextTop = $next.offset().top; + var nextOffset = self.$results.scrollTop() + (nextTop - currentOffset); + + if (nextIndex === 0) { + self.$results.scrollTop(0); + } else if (nextTop - currentOffset < 0) { + self.$results.scrollTop(nextOffset); + } + }); + + container.on('results:next', function () { + var $highlighted = self.getHighlightedResults(); + + var $options = self.$results.find('[aria-selected]'); + + var currentIndex = $options.index($highlighted); + + var nextIndex = currentIndex + 1; + + // If we are at the last option, stay there + if (nextIndex >= $options.length) { + return; + } + + var $next = $options.eq(nextIndex); + + $next.trigger('mouseenter'); + + var currentOffset = self.$results.offset().top + + self.$results.outerHeight(false); + var nextBottom = $next.offset().top + $next.outerHeight(false); + var nextOffset = self.$results.scrollTop() + nextBottom - currentOffset; + + if (nextIndex === 0) { + self.$results.scrollTop(0); + } else if (nextBottom > currentOffset) { + self.$results.scrollTop(nextOffset); + } + }); + + container.on('results:focus', function (params) { + params.element.addClass('select2-results__option--highlighted'); + }); + + container.on('results:message', function (params) { + self.displayMessage(params); + }); + + if ($.fn.mousewheel) { + this.$results.on('mousewheel', function (e) { + var top = self.$results.scrollTop(); + + var bottom = self.$results.get(0).scrollHeight - top + e.deltaY; + + var isAtTop = e.deltaY > 0 && top - e.deltaY <= 0; + var isAtBottom = e.deltaY < 0 && bottom <= self.$results.height(); + + if (isAtTop) { + self.$results.scrollTop(0); + + e.preventDefault(); + e.stopPropagation(); + } else if (isAtBottom) { + self.$results.scrollTop( + self.$results.get(0).scrollHeight - self.$results.height() + ); + + e.preventDefault(); + e.stopPropagation(); + } + }); + } + + this.$results.on('mouseup', '.select2-results__option[aria-selected]', + function (evt) { + var $this = $(this); + + var data = Utils.GetData(this, 'data'); + + if ($this.attr('aria-selected') === 'true') { + if (self.options.get('multiple')) { + self.trigger('unselect', { + originalEvent: evt, + data: data + }); + } else { + self.trigger('close', {}); + } + + return; + } + + self.trigger('select', { + originalEvent: evt, + data: data + }); + }); + + this.$results.on('mouseenter', '.select2-results__option[aria-selected]', + function (evt) { + var data = Utils.GetData(this, 'data'); + + self.getHighlightedResults() + .removeClass('select2-results__option--highlighted'); + + self.trigger('results:focus', { + data: data, + element: $(this) + }); + }); + }; + + Results.prototype.getHighlightedResults = function () { + var $highlighted = this.$results + .find('.select2-results__option--highlighted'); + + return $highlighted; + }; + + Results.prototype.destroy = function () { + this.$results.remove(); + }; + + Results.prototype.ensureHighlightVisible = function () { + var $highlighted = this.getHighlightedResults(); + + if ($highlighted.length === 0) { + return; + } + + var $options = this.$results.find('[aria-selected]'); + + var currentIndex = $options.index($highlighted); + + var currentOffset = this.$results.offset().top; + var nextTop = $highlighted.offset().top; + var nextOffset = this.$results.scrollTop() + (nextTop - currentOffset); + + var offsetDelta = nextTop - currentOffset; + nextOffset -= $highlighted.outerHeight(false) * 2; + + if (currentIndex <= 2) { + this.$results.scrollTop(0); + } else if (offsetDelta > this.$results.outerHeight() || offsetDelta < 0) { + this.$results.scrollTop(nextOffset); + } + }; + + Results.prototype.template = function (result, container) { + var template = this.options.get('templateResult'); + var escapeMarkup = this.options.get('escapeMarkup'); + + var content = template(result, container); + + if (content == null) { + container.style.display = 'none'; + } else if (typeof content === 'string') { + container.innerHTML = escapeMarkup(content); + } else { + $(container).append(content); + } + }; + + return Results; +}); + +S2.define('select2/keys',[ + +], function () { + var KEYS = { + 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 + }; + + return KEYS; +}); + +S2.define('select2/selection/base',[ + 'jquery', + '../utils', + '../keys' +], function ($, Utils, KEYS) { + function BaseSelection ($element, options) { + this.$element = $element; + this.options = options; + + BaseSelection.__super__.constructor.call(this); + } + + Utils.Extend(BaseSelection, Utils.Observable); + + BaseSelection.prototype.render = function () { + var $selection = $( + '<span class="select2-selection" role="combobox" ' + + ' aria-haspopup="true" aria-expanded="false">' + + '</span>' + ); + + this._tabindex = 0; + + if (Utils.GetData(this.$element[0], 'old-tabindex') != null) { + this._tabindex = Utils.GetData(this.$element[0], 'old-tabindex'); + } else if (this.$element.attr('tabindex') != null) { + this._tabindex = this.$element.attr('tabindex'); + } + + $selection.attr('title', this.$element.attr('title')); + $selection.attr('tabindex', this._tabindex); + + this.$selection = $selection; + + return $selection; + }; + + BaseSelection.prototype.bind = function (container, $container) { + var self = this; + + var id = container.id + '-container'; + var resultsId = container.id + '-results'; + + this.container = container; + + this.$selection.on('focus', function (evt) { + self.trigger('focus', evt); + }); + + this.$selection.on('blur', function (evt) { + self._handleBlur(evt); + }); + + this.$selection.on('keydown', function (evt) { + self.trigger('keypress', evt); + + if (evt.which === KEYS.SPACE) { + evt.preventDefault(); + } + }); + + container.on('results:focus', function (params) { + self.$selection.attr('aria-activedescendant', params.data._resultId); + }); + + container.on('selection:update', function (params) { + self.update(params.data); + }); + + container.on('open', function () { + // When the dropdown is open, aria-expanded="true" + self.$selection.attr('aria-expanded', 'true'); + self.$selection.attr('aria-owns', resultsId); + + self._attachCloseHandler(container); + }); + + container.on('close', function () { + // When the dropdown is closed, aria-expanded="false" + self.$selection.attr('aria-expanded', 'false'); + self.$selection.removeAttr('aria-activedescendant'); + self.$selection.removeAttr('aria-owns'); + + window.setTimeout(function () { + self.$selection.focus(); + }, 0); + + self._detachCloseHandler(container); + }); + + container.on('enable', function () { + self.$selection.attr('tabindex', self._tabindex); + }); + + container.on('disable', function () { + self.$selection.attr('tabindex', '-1'); + }); + }; + + BaseSelection.prototype._handleBlur = function (evt) { + var self = this; + + // This needs to be delayed as the active element is the body when the tab + // key is pressed, possibly along with others. + window.setTimeout(function () { + // Don't trigger `blur` if the focus is still in the selection + if ( + (document.activeElement == self.$selection[0]) || + ($.contains(self.$selection[0], document.activeElement)) + ) { + return; + } + + self.trigger('blur', evt); + }, 1); + }; + + BaseSelection.prototype._attachCloseHandler = function (container) { + var self = this; + + $(document.body).on('mousedown.select2.' + container.id, function (e) { + var $target = $(e.target); + + var $select = $target.closest('.select2'); + + var $all = $('.select2.select2-container--open'); + + $all.each(function () { + var $this = $(this); + + if (this == $select[0]) { + return; + } + + var $element = Utils.GetData(this, 'element'); + + $element.select2('close'); + }); + }); + }; + + BaseSelection.prototype._detachCloseHandler = function (container) { + $(document.body).off('mousedown.select2.' + container.id); + }; + + BaseSelection.prototype.position = function ($selection, $container) { + var $selectionContainer = $container.find('.selection'); + $selectionContainer.append($selection); + }; + + BaseSelection.prototype.destroy = function () { + this._detachCloseHandler(this.container); + }; + + BaseSelection.prototype.update = function (data) { + throw new Error('The `update` method must be defined in child classes.'); + }; + + return BaseSelection; +}); + +S2.define('select2/selection/single',[ + 'jquery', + './base', + '../utils', + '../keys' +], function ($, BaseSelection, Utils, KEYS) { + function SingleSelection () { + SingleSelection.__super__.constructor.apply(this, arguments); + } + + Utils.Extend(SingleSelection, BaseSelection); + + SingleSelection.prototype.render = function () { + var $selection = SingleSelection.__super__.render.call(this); + + $selection.addClass('select2-selection--single'); + + $selection.html( + '<span class="select2-selection__rendered"></span>' + + '<span class="select2-selection__arrow" role="presentation">' + + '<b role="presentation"></b>' + + '</span>' + ); + + return $selection; + }; + + SingleSelection.prototype.bind = function (container, $container) { + var self = this; + + SingleSelection.__super__.bind.apply(this, arguments); + + var id = container.id + '-container'; + + this.$selection.find('.select2-selection__rendered') + .attr('id', id) + .attr('role', 'textbox') + .attr('aria-readonly', 'true'); + this.$selection.attr('aria-labelledby', id); + + this.$selection.on('mousedown', function (evt) { + // Only respond to left clicks + if (evt.which !== 1) { + return; + } + + self.trigger('toggle', { + originalEvent: evt + }); + }); + + this.$selection.on('focus', function (evt) { + // User focuses on the container + }); + + this.$selection.on('blur', function (evt) { + // User exits the container + }); + + container.on('focus', function (evt) { + if (!container.isOpen()) { + self.$selection.focus(); + } + }); + }; + + SingleSelection.prototype.clear = function () { + var $rendered = this.$selection.find('.select2-selection__rendered'); + $rendered.empty(); + $rendered.removeAttr('title'); // clear tooltip on empty + }; + + SingleSelection.prototype.display = function (data, container) { + var template = this.options.get('templateSelection'); + var escapeMarkup = this.options.get('escapeMarkup'); + + return escapeMarkup(template(data, container)); + }; + + SingleSelection.prototype.selectionContainer = function () { + return $('<span></span>'); + }; + + SingleSelection.prototype.update = function (data) { + if (data.length === 0) { + this.clear(); + return; + } + + var selection = data[0]; + + var $rendered = this.$selection.find('.select2-selection__rendered'); + var formatted = this.display(selection, $rendered); + + $rendered.empty().append(formatted); + $rendered.attr('title', selection.title || selection.text); + }; + + return SingleSelection; +}); + +S2.define('select2/selection/multiple',[ + 'jquery', + './base', + '../utils' +], function ($, BaseSelection, Utils) { + function MultipleSelection ($element, options) { + MultipleSelection.__super__.constructor.apply(this, arguments); + } + + Utils.Extend(MultipleSelection, BaseSelection); + + MultipleSelection.prototype.render = function () { + var $selection = MultipleSelection.__super__.render.call(this); + + $selection.addClass('select2-selection--multiple'); + + $selection.html( + '<ul class="select2-selection__rendered"></ul>' + ); + + return $selection; + }; + + MultipleSelection.prototype.bind = function (container, $container) { + var self = this; + + MultipleSelection.__super__.bind.apply(this, arguments); + + this.$selection.on('click', function (evt) { + self.trigger('toggle', { + originalEvent: evt + }); + }); + + this.$selection.on( + 'click', + '.select2-selection__choice__remove', + function (evt) { + // Ignore the event if it is disabled + if (self.options.get('disabled')) { + return; + } + + var $remove = $(this); + var $selection = $remove.parent(); + + var data = Utils.GetData($selection[0], 'data'); + + self.trigger('unselect', { + originalEvent: evt, + data: data + }); + } + ); + }; + + MultipleSelection.prototype.clear = function () { + var $rendered = this.$selection.find('.select2-selection__rendered'); + $rendered.empty(); + $rendered.removeAttr('title'); + }; + + MultipleSelection.prototype.display = function (data, container) { + var template = this.options.get('templateSelection'); + var escapeMarkup = this.options.get('escapeMarkup'); + + return escapeMarkup(template(data, container)); + }; + + MultipleSelection.prototype.selectionContainer = function () { + var $container = $( + '<li class="select2-selection__choice">' + + '<span class="select2-selection__choice__remove" role="presentation">' + + '×' + + '</span>' + + '</li>' + ); + + return $container; + }; + + MultipleSelection.prototype.update = function (data) { + this.clear(); + + if (data.length === 0) { + return; + } + + var $selections = []; + + for (var d = 0; d < data.length; d++) { + var selection = data[d]; + + var $selection = this.selectionContainer(); + var formatted = this.display(selection, $selection); + + $selection.append(formatted); + $selection.attr('title', selection.title || selection.text); + + Utils.StoreData($selection[0], 'data', selection); + + $selections.push($selection); + } + + var $rendered = this.$selection.find('.select2-selection__rendered'); + + Utils.appendMany($rendered, $selections); + }; + + return MultipleSelection; +}); + +S2.define('select2/selection/placeholder',[ + '../utils' +], function (Utils) { + function Placeholder (decorated, $element, options) { + this.placeholder = this.normalizePlaceholder(options.get('placeholder')); + + decorated.call(this, $element, options); + } + + Placeholder.prototype.normalizePlaceholder = function (_, placeholder) { + if (typeof placeholder === 'string') { + placeholder = { + id: '', + text: placeholder + }; + } + + return placeholder; + }; + + Placeholder.prototype.createPlaceholder = function (decorated, placeholder) { + var $placeholder = this.selectionContainer(); + + $placeholder.html(this.display(placeholder)); + $placeholder.addClass('select2-selection__placeholder') + .removeClass('select2-selection__choice'); + + return $placeholder; + }; + + Placeholder.prototype.update = function (decorated, data) { + var singlePlaceholder = ( + data.length == 1 && data[0].id != this.placeholder.id + ); + var multipleSelections = data.length > 1; + + if (multipleSelections || singlePlaceholder) { + return decorated.call(this, data); + } + + this.clear(); + + var $placeholder = this.createPlaceholder(this.placeholder); + + this.$selection.find('.select2-selection__rendered').append($placeholder); + }; + + return Placeholder; +}); + +S2.define('select2/selection/allowClear',[ + 'jquery', + '../keys', + '../utils' +], function ($, KEYS, Utils) { + function AllowClear () { } + + AllowClear.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + if (this.placeholder == null) { + if (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 (evt) { + self._handleClear(evt); + }); + + container.on('keypress', function (evt) { + self._handleKeyboardClear(evt, container); + }); + }; + + AllowClear.prototype._handleClear = function (_, evt) { + // Ignore the event if it is disabled + if (this.options.get('disabled')) { + return; + } + + var $clear = this.$selection.find('.select2-selection__clear'); + + // Ignore the event if nothing has been selected + if ($clear.length === 0) { + return; + } + + evt.stopPropagation(); + + var data = Utils.GetData($clear[0], 'data'); + + var previousVal = this.$element.val(); + this.$element.val(this.placeholder.id); + + var unselectData = { + data: data + }; + this.trigger('clear', unselectData); + if (unselectData.prevented) { + this.$element.val(previousVal); + return; + } + + for (var d = 0; d < data.length; d++) { + unselectData = { + data: data[d] + }; + + // Trigger the `unselect` event, so people can prevent it from being + // cleared. + this.trigger('unselect', unselectData); + + // If the event was prevented, don't clear it out. + if (unselectData.prevented) { + this.$element.val(previousVal); + return; + } + } + + this.$element.trigger('change'); + + this.trigger('toggle', {}); + }; + + AllowClear.prototype._handleKeyboardClear = function (_, evt, container) { + if (container.isOpen()) { + return; + } + + if (evt.which == KEYS.DELETE || evt.which == KEYS.BACKSPACE) { + this._handleClear(evt); + } + }; + + AllowClear.prototype.update = function (decorated, data) { + decorated.call(this, data); + + if (this.$selection.find('.select2-selection__placeholder').length > 0 || + data.length === 0) { + return; + } + + var removeAll = this.options.get('translations').get('removeAllItems'); + + var $remove = $( + '<span class="select2-selection__clear" title="' + removeAll() +'">' + + '×' + + '</span>' + ); + Utils.StoreData($remove[0], 'data', data); + + this.$selection.find('.select2-selection__rendered').prepend($remove); + }; + + return AllowClear; +}); + +S2.define('select2/selection/search',[ + 'jquery', + '../utils', + '../keys' +], function ($, Utils, KEYS) { + function Search (decorated, $element, options) { + decorated.call(this, $element, options); + } + + Search.prototype.render = function (decorated) { + var $search = $( + '<li class="select2-search select2-search--inline">' + + '<input class="select2-search__field" type="search" tabindex="-1"' + + ' autocomplete="off" autocorrect="off" autocapitalize="none"' + + ' spellcheck="false" role="textbox" aria-autocomplete="list" />' + + '</li>' + ); + + this.$searchContainer = $search; + this.$search = $search.find('input'); + + var $rendered = decorated.call(this); + + this._transferTabIndex(); + + return $rendered; + }; + + Search.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('open', function () { + self.$search.trigger('focus'); + }); + + container.on('close', function () { + self.$search.val(''); + self.$search.removeAttr('aria-activedescendant'); + self.$search.trigger('focus'); + }); + + container.on('enable', function () { + self.$search.prop('disabled', false); + + self._transferTabIndex(); + }); + + container.on('disable', function () { + self.$search.prop('disabled', true); + }); + + container.on('focus', function (evt) { + self.$search.trigger('focus'); + }); + + container.on('results:focus', function (params) { + self.$search.attr('aria-activedescendant', params.id); + }); + + this.$selection.on('focusin', '.select2-search--inline', function (evt) { + self.trigger('focus', evt); + }); + + this.$selection.on('focusout', '.select2-search--inline', function (evt) { + self._handleBlur(evt); + }); + + this.$selection.on('keydown', '.select2-search--inline', function (evt) { + evt.stopPropagation(); + + self.trigger('keypress', evt); + + self._keyUpPrevented = evt.isDefaultPrevented(); + + var key = evt.which; + + if (key === KEYS.BACKSPACE && self.$search.val() === '') { + var $previousChoice = self.$searchContainer + .prev('.select2-selection__choice'); + + if ($previousChoice.length > 0) { + var item = Utils.GetData($previousChoice[0], 'data'); + + self.searchRemoveChoice(item); + + evt.preventDefault(); + } + } + }); + + // Try to detect the IE version should the `documentMode` property that + // is stored on the document. This is only implemented in IE and is + // slightly cleaner than doing a user agent check. + // This property is not available in Edge, but Edge also doesn't have + // this bug. + var msie = document.documentMode; + var disableInputEvents = msie && msie <= 11; + + // Workaround for browsers which do not support the `input` event + // This will prevent double-triggering of events for browsers which support + // both the `keyup` and `input` events. + this.$selection.on( + 'input.searchcheck', + '.select2-search--inline', + function (evt) { + // IE will trigger the `input` event when a placeholder is used on a + // search box. To get around this issue, we are forced to ignore all + // `input` events in IE and keep using `keyup`. + if (disableInputEvents) { + self.$selection.off('input.search input.searchcheck'); + return; + } + + // Unbind the duplicated `keyup` event + self.$selection.off('keyup.search'); + } + ); + + this.$selection.on( + 'keyup.search input.search', + '.select2-search--inline', + function (evt) { + // IE will trigger the `input` event when a placeholder is used on a + // search box. To get around this issue, we are forced to ignore all + // `input` events in IE and keep using `keyup`. + if (disableInputEvents && evt.type === 'input') { + self.$selection.off('input.search input.searchcheck'); + return; + } + + var key = evt.which; + + // We can freely ignore events from modifier keys + if (key == KEYS.SHIFT || key == KEYS.CTRL || key == KEYS.ALT) { + return; + } + + // Tabbing will be handled during the `keydown` phase + if (key == KEYS.TAB) { + return; + } + + self.handleSearch(evt); + } + ); + }; + + /** + * This method will transfer the tabindex attribute from the rendered + * selection to the search box. This allows for the search box to be used as + * the primary focus instead of the selection container. + * + * @private + */ + Search.prototype._transferTabIndex = function (decorated) { + this.$search.attr('tabindex', this.$selection.attr('tabindex')); + this.$selection.attr('tabindex', '-1'); + }; + + Search.prototype.createPlaceholder = function (decorated, placeholder) { + this.$search.attr('placeholder', placeholder.text); + }; + + Search.prototype.update = function (decorated, data) { + var searchHadFocus = this.$search[0] == document.activeElement; + + this.$search.attr('placeholder', ''); + + decorated.call(this, data); + + this.$selection.find('.select2-selection__rendered') + .append(this.$searchContainer); + + this.resizeSearch(); + if (searchHadFocus) { + var isTagInput = this.$element.find('[data-select2-tag]').length; + if (isTagInput) { + // fix IE11 bug where tag input lost focus + this.$element.focus(); + } else { + this.$search.focus(); + } + } + }; + + Search.prototype.handleSearch = function () { + this.resizeSearch(); + + if (!this._keyUpPrevented) { + var input = this.$search.val(); + + this.trigger('query', { + term: input + }); + } + + this._keyUpPrevented = false; + }; + + Search.prototype.searchRemoveChoice = function (decorated, item) { + this.trigger('unselect', { + data: item + }); + + this.$search.val(item.text); + this.handleSearch(); + }; + + Search.prototype.resizeSearch = function () { + this.$search.css('width', '25px'); + + var width = ''; + + if (this.$search.attr('placeholder') !== '') { + width = this.$selection.find('.select2-selection__rendered').innerWidth(); + } else { + var minimumWidth = this.$search.val().length + 1; + + width = (minimumWidth * 0.75) + 'em'; + } + + this.$search.css('width', width); + }; + + return Search; +}); + +S2.define('select2/selection/eventRelay',[ + 'jquery' +], function ($) { + function EventRelay () { } + + EventRelay.prototype.bind = function (decorated, container, $container) { + var self = this; + var relayEvents = [ + 'open', 'opening', + 'close', 'closing', + 'select', 'selecting', + 'unselect', 'unselecting', + 'clear', 'clearing' + ]; + + var preventableEvents = [ + 'opening', 'closing', 'selecting', 'unselecting', 'clearing' + ]; + + decorated.call(this, container, $container); + + container.on('*', function (name, params) { + // Ignore events that should not be relayed + if ($.inArray(name, relayEvents) === -1) { + return; + } + + // The parameters should always be an object + params = params || {}; + + // Generate the jQuery event for the Select2 event + var evt = $.Event('select2:' + name, { + params: params + }); + + self.$element.trigger(evt); + + // Only handle preventable events if it was one + if ($.inArray(name, preventableEvents) === -1) { + return; + } + + params.prevented = evt.isDefaultPrevented(); + }); + }; + + return EventRelay; +}); + +S2.define('select2/translation',[ + 'jquery', + 'require' +], function ($, require) { + function Translation (dict) { + this.dict = dict || {}; + } + + Translation.prototype.all = function () { + return this.dict; + }; + + Translation.prototype.get = function (key) { + return this.dict[key]; + }; + + Translation.prototype.extend = function (translation) { + this.dict = $.extend({}, translation.all(), this.dict); + }; + + // Static functions + + Translation._cache = {}; + + Translation.loadPath = function (path) { + if (!(path in Translation._cache)) { + var translations = require(path); + + Translation._cache[path] = translations; + } + + return new Translation(Translation._cache[path]); + }; + + return Translation; +}); + +S2.define('select2/diacritics',[ + +], function () { + var diacritics = { + '\u24B6': 'A', + '\uFF21': 'A', + '\u00C0': 'A', + '\u00C1': 'A', + '\u00C2': 'A', + '\u1EA6': 'A', + '\u1EA4': 'A', + '\u1EAA': 'A', + '\u1EA8': 'A', + '\u00C3': 'A', + '\u0100': 'A', + '\u0102': 'A', + '\u1EB0': 'A', + '\u1EAE': 'A', + '\u1EB4': 'A', + '\u1EB2': 'A', + '\u0226': 'A', + '\u01E0': 'A', + '\u00C4': 'A', + '\u01DE': 'A', + '\u1EA2': 'A', + '\u00C5': 'A', + '\u01FA': 'A', + '\u01CD': 'A', + '\u0200': 'A', + '\u0202': 'A', + '\u1EA0': 'A', + '\u1EAC': 'A', + '\u1EB6': 'A', + '\u1E00': 'A', + '\u0104': 'A', + '\u023A': 'A', + '\u2C6F': 'A', + '\uA732': 'AA', + '\u00C6': 'AE', + '\u01FC': 'AE', + '\u01E2': 'AE', + '\uA734': 'AO', + '\uA736': 'AU', + '\uA738': 'AV', + '\uA73A': 'AV', + '\uA73C': 'AY', + '\u24B7': 'B', + '\uFF22': 'B', + '\u1E02': 'B', + '\u1E04': 'B', + '\u1E06': 'B', + '\u0243': 'B', + '\u0182': 'B', + '\u0181': 'B', + '\u24B8': 'C', + '\uFF23': 'C', + '\u0106': 'C', + '\u0108': 'C', + '\u010A': 'C', + '\u010C': 'C', + '\u00C7': 'C', + '\u1E08': 'C', + '\u0187': 'C', + '\u023B': 'C', + '\uA73E': 'C', + '\u24B9': 'D', + '\uFF24': 'D', + '\u1E0A': 'D', + '\u010E': 'D', + '\u1E0C': 'D', + '\u1E10': 'D', + '\u1E12': 'D', + '\u1E0E': 'D', + '\u0110': 'D', + '\u018B': 'D', + '\u018A': 'D', + '\u0189': 'D', + '\uA779': 'D', + '\u01F1': 'DZ', + '\u01C4': 'DZ', + '\u01F2': 'Dz', + '\u01C5': 'Dz', + '\u24BA': 'E', + '\uFF25': 'E', + '\u00C8': 'E', + '\u00C9': 'E', + '\u00CA': 'E', + '\u1EC0': 'E', + '\u1EBE': 'E', + '\u1EC4': 'E', + '\u1EC2': 'E', + '\u1EBC': 'E', + '\u0112': 'E', + '\u1E14': 'E', + '\u1E16': 'E', + '\u0114': 'E', + '\u0116': 'E', + '\u00CB': 'E', + '\u1EBA': 'E', + '\u011A': 'E', + '\u0204': 'E', + '\u0206': 'E', + '\u1EB8': 'E', + '\u1EC6': 'E', + '\u0228': 'E', + '\u1E1C': 'E', + '\u0118': 'E', + '\u1E18': 'E', + '\u1E1A': 'E', + '\u0190': 'E', + '\u018E': 'E', + '\u24BB': 'F', + '\uFF26': 'F', + '\u1E1E': 'F', + '\u0191': 'F', + '\uA77B': 'F', + '\u24BC': 'G', + '\uFF27': 'G', + '\u01F4': 'G', + '\u011C': 'G', + '\u1E20': 'G', + '\u011E': 'G', + '\u0120': 'G', + '\u01E6': 'G', + '\u0122': 'G', + '\u01E4': 'G', + '\u0193': 'G', + '\uA7A0': 'G', + '\uA77D': 'G', + '\uA77E': 'G', + '\u24BD': 'H', + '\uFF28': 'H', + '\u0124': 'H', + '\u1E22': 'H', + '\u1E26': 'H', + '\u021E': 'H', + '\u1E24': 'H', + '\u1E28': 'H', + '\u1E2A': 'H', + '\u0126': 'H', + '\u2C67': 'H', + '\u2C75': 'H', + '\uA78D': 'H', + '\u24BE': 'I', + '\uFF29': 'I', + '\u00CC': 'I', + '\u00CD': 'I', + '\u00CE': 'I', + '\u0128': 'I', + '\u012A': 'I', + '\u012C': 'I', + '\u0130': 'I', + '\u00CF': 'I', + '\u1E2E': 'I', + '\u1EC8': 'I', + '\u01CF': 'I', + '\u0208': 'I', + '\u020A': 'I', + '\u1ECA': 'I', + '\u012E': 'I', + '\u1E2C': 'I', + '\u0197': 'I', + '\u24BF': 'J', + '\uFF2A': 'J', + '\u0134': 'J', + '\u0248': 'J', + '\u24C0': 'K', + '\uFF2B': 'K', + '\u1E30': 'K', + '\u01E8': 'K', + '\u1E32': 'K', + '\u0136': 'K', + '\u1E34': 'K', + '\u0198': 'K', + '\u2C69': 'K', + '\uA740': 'K', + '\uA742': 'K', + '\uA744': 'K', + '\uA7A2': 'K', + '\u24C1': 'L', + '\uFF2C': 'L', + '\u013F': 'L', + '\u0139': 'L', + '\u013D': 'L', + '\u1E36': 'L', + '\u1E38': 'L', + '\u013B': 'L', + '\u1E3C': 'L', + '\u1E3A': 'L', + '\u0141': 'L', + '\u023D': 'L', + '\u2C62': 'L', + '\u2C60': 'L', + '\uA748': 'L', + '\uA746': 'L', + '\uA780': 'L', + '\u01C7': 'LJ', + '\u01C8': 'Lj', + '\u24C2': 'M', + '\uFF2D': 'M', + '\u1E3E': 'M', + '\u1E40': 'M', + '\u1E42': 'M', + '\u2C6E': 'M', + '\u019C': 'M', + '\u24C3': 'N', + '\uFF2E': 'N', + '\u01F8': 'N', + '\u0143': 'N', + '\u00D1': 'N', + '\u1E44': 'N', + '\u0147': 'N', + '\u1E46': 'N', + '\u0145': 'N', + '\u1E4A': 'N', + '\u1E48': 'N', + '\u0220': 'N', + '\u019D': 'N', + '\uA790': 'N', + '\uA7A4': 'N', + '\u01CA': 'NJ', + '\u01CB': 'Nj', + '\u24C4': 'O', + '\uFF2F': 'O', + '\u00D2': 'O', + '\u00D3': 'O', + '\u00D4': 'O', + '\u1ED2': 'O', + '\u1ED0': 'O', + '\u1ED6': 'O', + '\u1ED4': 'O', + '\u00D5': 'O', + '\u1E4C': 'O', + '\u022C': 'O', + '\u1E4E': 'O', + '\u014C': 'O', + '\u1E50': 'O', + '\u1E52': 'O', + '\u014E': 'O', + '\u022E': 'O', + '\u0230': 'O', + '\u00D6': 'O', + '\u022A': 'O', + '\u1ECE': 'O', + '\u0150': 'O', + '\u01D1': 'O', + '\u020C': 'O', + '\u020E': 'O', + '\u01A0': 'O', + '\u1EDC': 'O', + '\u1EDA': 'O', + '\u1EE0': 'O', + '\u1EDE': 'O', + '\u1EE2': 'O', + '\u1ECC': 'O', + '\u1ED8': 'O', + '\u01EA': 'O', + '\u01EC': 'O', + '\u00D8': 'O', + '\u01FE': 'O', + '\u0186': 'O', + '\u019F': 'O', + '\uA74A': 'O', + '\uA74C': 'O', + '\u0152': 'OE', + '\u01A2': 'OI', + '\uA74E': 'OO', + '\u0222': 'OU', + '\u24C5': 'P', + '\uFF30': 'P', + '\u1E54': 'P', + '\u1E56': 'P', + '\u01A4': 'P', + '\u2C63': 'P', + '\uA750': 'P', + '\uA752': 'P', + '\uA754': 'P', + '\u24C6': 'Q', + '\uFF31': 'Q', + '\uA756': 'Q', + '\uA758': 'Q', + '\u024A': 'Q', + '\u24C7': 'R', + '\uFF32': 'R', + '\u0154': 'R', + '\u1E58': 'R', + '\u0158': 'R', + '\u0210': 'R', + '\u0212': 'R', + '\u1E5A': 'R', + '\u1E5C': 'R', + '\u0156': 'R', + '\u1E5E': 'R', + '\u024C': 'R', + '\u2C64': 'R', + '\uA75A': 'R', + '\uA7A6': 'R', + '\uA782': 'R', + '\u24C8': 'S', + '\uFF33': 'S', + '\u1E9E': 'S', + '\u015A': 'S', + '\u1E64': 'S', + '\u015C': 'S', + '\u1E60': 'S', + '\u0160': 'S', + '\u1E66': 'S', + '\u1E62': 'S', + '\u1E68': 'S', + '\u0218': 'S', + '\u015E': 'S', + '\u2C7E': 'S', + '\uA7A8': 'S', + '\uA784': 'S', + '\u24C9': 'T', + '\uFF34': 'T', + '\u1E6A': 'T', + '\u0164': 'T', + '\u1E6C': 'T', + '\u021A': 'T', + '\u0162': 'T', + '\u1E70': 'T', + '\u1E6E': 'T', + '\u0166': 'T', + '\u01AC': 'T', + '\u01AE': 'T', + '\u023E': 'T', + '\uA786': 'T', + '\uA728': 'TZ', + '\u24CA': 'U', + '\uFF35': 'U', + '\u00D9': 'U', + '\u00DA': 'U', + '\u00DB': 'U', + '\u0168': 'U', + '\u1E78': 'U', + '\u016A': 'U', + '\u1E7A': 'U', + '\u016C': 'U', + '\u00DC': 'U', + '\u01DB': 'U', + '\u01D7': 'U', + '\u01D5': 'U', + '\u01D9': 'U', + '\u1EE6': 'U', + '\u016E': 'U', + '\u0170': 'U', + '\u01D3': 'U', + '\u0214': 'U', + '\u0216': 'U', + '\u01AF': 'U', + '\u1EEA': 'U', + '\u1EE8': 'U', + '\u1EEE': 'U', + '\u1EEC': 'U', + '\u1EF0': 'U', + '\u1EE4': 'U', + '\u1E72': 'U', + '\u0172': 'U', + '\u1E76': 'U', + '\u1E74': 'U', + '\u0244': 'U', + '\u24CB': 'V', + '\uFF36': 'V', + '\u1E7C': 'V', + '\u1E7E': 'V', + '\u01B2': 'V', + '\uA75E': 'V', + '\u0245': 'V', + '\uA760': 'VY', + '\u24CC': 'W', + '\uFF37': 'W', + '\u1E80': 'W', + '\u1E82': 'W', + '\u0174': 'W', + '\u1E86': 'W', + '\u1E84': 'W', + '\u1E88': 'W', + '\u2C72': 'W', + '\u24CD': 'X', + '\uFF38': 'X', + '\u1E8A': 'X', + '\u1E8C': 'X', + '\u24CE': 'Y', + '\uFF39': 'Y', + '\u1EF2': 'Y', + '\u00DD': 'Y', + '\u0176': 'Y', + '\u1EF8': 'Y', + '\u0232': 'Y', + '\u1E8E': 'Y', + '\u0178': 'Y', + '\u1EF6': 'Y', + '\u1EF4': 'Y', + '\u01B3': 'Y', + '\u024E': 'Y', + '\u1EFE': 'Y', + '\u24CF': 'Z', + '\uFF3A': 'Z', + '\u0179': 'Z', + '\u1E90': 'Z', + '\u017B': 'Z', + '\u017D': 'Z', + '\u1E92': 'Z', + '\u1E94': 'Z', + '\u01B5': 'Z', + '\u0224': 'Z', + '\u2C7F': 'Z', + '\u2C6B': 'Z', + '\uA762': 'Z', + '\u24D0': 'a', + '\uFF41': 'a', + '\u1E9A': 'a', + '\u00E0': 'a', + '\u00E1': 'a', + '\u00E2': 'a', + '\u1EA7': 'a', + '\u1EA5': 'a', + '\u1EAB': 'a', + '\u1EA9': 'a', + '\u00E3': 'a', + '\u0101': 'a', + '\u0103': 'a', + '\u1EB1': 'a', + '\u1EAF': 'a', + '\u1EB5': 'a', + '\u1EB3': 'a', + '\u0227': 'a', + '\u01E1': 'a', + '\u00E4': 'a', + '\u01DF': 'a', + '\u1EA3': 'a', + '\u00E5': 'a', + '\u01FB': 'a', + '\u01CE': 'a', + '\u0201': 'a', + '\u0203': 'a', + '\u1EA1': 'a', + '\u1EAD': 'a', + '\u1EB7': 'a', + '\u1E01': 'a', + '\u0105': 'a', + '\u2C65': 'a', + '\u0250': 'a', + '\uA733': 'aa', + '\u00E6': 'ae', + '\u01FD': 'ae', + '\u01E3': 'ae', + '\uA735': 'ao', + '\uA737': 'au', + '\uA739': 'av', + '\uA73B': 'av', + '\uA73D': 'ay', + '\u24D1': 'b', + '\uFF42': 'b', + '\u1E03': 'b', + '\u1E05': 'b', + '\u1E07': 'b', + '\u0180': 'b', + '\u0183': 'b', + '\u0253': 'b', + '\u24D2': 'c', + '\uFF43': 'c', + '\u0107': 'c', + '\u0109': 'c', + '\u010B': 'c', + '\u010D': 'c', + '\u00E7': 'c', + '\u1E09': 'c', + '\u0188': 'c', + '\u023C': 'c', + '\uA73F': 'c', + '\u2184': 'c', + '\u24D3': 'd', + '\uFF44': 'd', + '\u1E0B': 'd', + '\u010F': 'd', + '\u1E0D': 'd', + '\u1E11': 'd', + '\u1E13': 'd', + '\u1E0F': 'd', + '\u0111': 'd', + '\u018C': 'd', + '\u0256': 'd', + '\u0257': 'd', + '\uA77A': 'd', + '\u01F3': 'dz', + '\u01C6': 'dz', + '\u24D4': 'e', + '\uFF45': 'e', + '\u00E8': 'e', + '\u00E9': 'e', + '\u00EA': 'e', + '\u1EC1': 'e', + '\u1EBF': 'e', + '\u1EC5': 'e', + '\u1EC3': 'e', + '\u1EBD': 'e', + '\u0113': 'e', + '\u1E15': 'e', + '\u1E17': 'e', + '\u0115': 'e', + '\u0117': 'e', + '\u00EB': 'e', + '\u1EBB': 'e', + '\u011B': 'e', + '\u0205': 'e', + '\u0207': 'e', + '\u1EB9': 'e', + '\u1EC7': 'e', + '\u0229': 'e', + '\u1E1D': 'e', + '\u0119': 'e', + '\u1E19': 'e', + '\u1E1B': 'e', + '\u0247': 'e', + '\u025B': 'e', + '\u01DD': 'e', + '\u24D5': 'f', + '\uFF46': 'f', + '\u1E1F': 'f', + '\u0192': 'f', + '\uA77C': 'f', + '\u24D6': 'g', + '\uFF47': 'g', + '\u01F5': 'g', + '\u011D': 'g', + '\u1E21': 'g', + '\u011F': 'g', + '\u0121': 'g', + '\u01E7': 'g', + '\u0123': 'g', + '\u01E5': 'g', + '\u0260': 'g', + '\uA7A1': 'g', + '\u1D79': 'g', + '\uA77F': 'g', + '\u24D7': 'h', + '\uFF48': 'h', + '\u0125': 'h', + '\u1E23': 'h', + '\u1E27': 'h', + '\u021F': 'h', + '\u1E25': 'h', + '\u1E29': 'h', + '\u1E2B': 'h', + '\u1E96': 'h', + '\u0127': 'h', + '\u2C68': 'h', + '\u2C76': 'h', + '\u0265': 'h', + '\u0195': 'hv', + '\u24D8': 'i', + '\uFF49': 'i', + '\u00EC': 'i', + '\u00ED': 'i', + '\u00EE': 'i', + '\u0129': 'i', + '\u012B': 'i', + '\u012D': 'i', + '\u00EF': 'i', + '\u1E2F': 'i', + '\u1EC9': 'i', + '\u01D0': 'i', + '\u0209': 'i', + '\u020B': 'i', + '\u1ECB': 'i', + '\u012F': 'i', + '\u1E2D': 'i', + '\u0268': 'i', + '\u0131': 'i', + '\u24D9': 'j', + '\uFF4A': 'j', + '\u0135': 'j', + '\u01F0': 'j', + '\u0249': 'j', + '\u24DA': 'k', + '\uFF4B': 'k', + '\u1E31': 'k', + '\u01E9': 'k', + '\u1E33': 'k', + '\u0137': 'k', + '\u1E35': 'k', + '\u0199': 'k', + '\u2C6A': 'k', + '\uA741': 'k', + '\uA743': 'k', + '\uA745': 'k', + '\uA7A3': 'k', + '\u24DB': 'l', + '\uFF4C': 'l', + '\u0140': 'l', + '\u013A': 'l', + '\u013E': 'l', + '\u1E37': 'l', + '\u1E39': 'l', + '\u013C': 'l', + '\u1E3D': 'l', + '\u1E3B': 'l', + '\u017F': 'l', + '\u0142': 'l', + '\u019A': 'l', + '\u026B': 'l', + '\u2C61': 'l', + '\uA749': 'l', + '\uA781': 'l', + '\uA747': 'l', + '\u01C9': 'lj', + '\u24DC': 'm', + '\uFF4D': 'm', + '\u1E3F': 'm', + '\u1E41': 'm', + '\u1E43': 'm', + '\u0271': 'm', + '\u026F': 'm', + '\u24DD': 'n', + '\uFF4E': 'n', + '\u01F9': 'n', + '\u0144': 'n', + '\u00F1': 'n', + '\u1E45': 'n', + '\u0148': 'n', + '\u1E47': 'n', + '\u0146': 'n', + '\u1E4B': 'n', + '\u1E49': 'n', + '\u019E': 'n', + '\u0272': 'n', + '\u0149': 'n', + '\uA791': 'n', + '\uA7A5': 'n', + '\u01CC': 'nj', + '\u24DE': 'o', + '\uFF4F': 'o', + '\u00F2': 'o', + '\u00F3': 'o', + '\u00F4': 'o', + '\u1ED3': 'o', + '\u1ED1': 'o', + '\u1ED7': 'o', + '\u1ED5': 'o', + '\u00F5': 'o', + '\u1E4D': 'o', + '\u022D': 'o', + '\u1E4F': 'o', + '\u014D': 'o', + '\u1E51': 'o', + '\u1E53': 'o', + '\u014F': 'o', + '\u022F': 'o', + '\u0231': 'o', + '\u00F6': 'o', + '\u022B': 'o', + '\u1ECF': 'o', + '\u0151': 'o', + '\u01D2': 'o', + '\u020D': 'o', + '\u020F': 'o', + '\u01A1': 'o', + '\u1EDD': 'o', + '\u1EDB': 'o', + '\u1EE1': 'o', + '\u1EDF': 'o', + '\u1EE3': 'o', + '\u1ECD': 'o', + '\u1ED9': 'o', + '\u01EB': 'o', + '\u01ED': 'o', + '\u00F8': 'o', + '\u01FF': 'o', + '\u0254': 'o', + '\uA74B': 'o', + '\uA74D': 'o', + '\u0275': 'o', + '\u0153': 'oe', + '\u01A3': 'oi', + '\u0223': 'ou', + '\uA74F': 'oo', + '\u24DF': 'p', + '\uFF50': 'p', + '\u1E55': 'p', + '\u1E57': 'p', + '\u01A5': 'p', + '\u1D7D': 'p', + '\uA751': 'p', + '\uA753': 'p', + '\uA755': 'p', + '\u24E0': 'q', + '\uFF51': 'q', + '\u024B': 'q', + '\uA757': 'q', + '\uA759': 'q', + '\u24E1': 'r', + '\uFF52': 'r', + '\u0155': 'r', + '\u1E59': 'r', + '\u0159': 'r', + '\u0211': 'r', + '\u0213': 'r', + '\u1E5B': 'r', + '\u1E5D': 'r', + '\u0157': 'r', + '\u1E5F': 'r', + '\u024D': 'r', + '\u027D': 'r', + '\uA75B': 'r', + '\uA7A7': 'r', + '\uA783': 'r', + '\u24E2': 's', + '\uFF53': 's', + '\u00DF': 's', + '\u015B': 's', + '\u1E65': 's', + '\u015D': 's', + '\u1E61': 's', + '\u0161': 's', + '\u1E67': 's', + '\u1E63': 's', + '\u1E69': 's', + '\u0219': 's', + '\u015F': 's', + '\u023F': 's', + '\uA7A9': 's', + '\uA785': 's', + '\u1E9B': 's', + '\u24E3': 't', + '\uFF54': 't', + '\u1E6B': 't', + '\u1E97': 't', + '\u0165': 't', + '\u1E6D': 't', + '\u021B': 't', + '\u0163': 't', + '\u1E71': 't', + '\u1E6F': 't', + '\u0167': 't', + '\u01AD': 't', + '\u0288': 't', + '\u2C66': 't', + '\uA787': 't', + '\uA729': 'tz', + '\u24E4': 'u', + '\uFF55': 'u', + '\u00F9': 'u', + '\u00FA': 'u', + '\u00FB': 'u', + '\u0169': 'u', + '\u1E79': 'u', + '\u016B': 'u', + '\u1E7B': 'u', + '\u016D': 'u', + '\u00FC': 'u', + '\u01DC': 'u', + '\u01D8': 'u', + '\u01D6': 'u', + '\u01DA': 'u', + '\u1EE7': 'u', + '\u016F': 'u', + '\u0171': 'u', + '\u01D4': 'u', + '\u0215': 'u', + '\u0217': 'u', + '\u01B0': 'u', + '\u1EEB': 'u', + '\u1EE9': 'u', + '\u1EEF': 'u', + '\u1EED': 'u', + '\u1EF1': 'u', + '\u1EE5': 'u', + '\u1E73': 'u', + '\u0173': 'u', + '\u1E77': 'u', + '\u1E75': 'u', + '\u0289': 'u', + '\u24E5': 'v', + '\uFF56': 'v', + '\u1E7D': 'v', + '\u1E7F': 'v', + '\u028B': 'v', + '\uA75F': 'v', + '\u028C': 'v', + '\uA761': 'vy', + '\u24E6': 'w', + '\uFF57': 'w', + '\u1E81': 'w', + '\u1E83': 'w', + '\u0175': 'w', + '\u1E87': 'w', + '\u1E85': 'w', + '\u1E98': 'w', + '\u1E89': 'w', + '\u2C73': 'w', + '\u24E7': 'x', + '\uFF58': 'x', + '\u1E8B': 'x', + '\u1E8D': 'x', + '\u24E8': 'y', + '\uFF59': 'y', + '\u1EF3': 'y', + '\u00FD': 'y', + '\u0177': 'y', + '\u1EF9': 'y', + '\u0233': 'y', + '\u1E8F': 'y', + '\u00FF': 'y', + '\u1EF7': 'y', + '\u1E99': 'y', + '\u1EF5': 'y', + '\u01B4': 'y', + '\u024F': 'y', + '\u1EFF': 'y', + '\u24E9': 'z', + '\uFF5A': 'z', + '\u017A': 'z', + '\u1E91': 'z', + '\u017C': 'z', + '\u017E': 'z', + '\u1E93': 'z', + '\u1E95': 'z', + '\u01B6': 'z', + '\u0225': 'z', + '\u0240': 'z', + '\u2C6C': 'z', + '\uA763': 'z', + '\u0386': '\u0391', + '\u0388': '\u0395', + '\u0389': '\u0397', + '\u038A': '\u0399', + '\u03AA': '\u0399', + '\u038C': '\u039F', + '\u038E': '\u03A5', + '\u03AB': '\u03A5', + '\u038F': '\u03A9', + '\u03AC': '\u03B1', + '\u03AD': '\u03B5', + '\u03AE': '\u03B7', + '\u03AF': '\u03B9', + '\u03CA': '\u03B9', + '\u0390': '\u03B9', + '\u03CC': '\u03BF', + '\u03CD': '\u03C5', + '\u03CB': '\u03C5', + '\u03B0': '\u03C5', + '\u03CE': '\u03C9', + '\u03C2': '\u03C3', + '\u2019': '\'' + }; + + return diacritics; +}); + +S2.define('select2/data/base',[ + '../utils' +], function (Utils) { + function BaseAdapter ($element, options) { + BaseAdapter.__super__.constructor.call(this); + } + + Utils.Extend(BaseAdapter, Utils.Observable); + + BaseAdapter.prototype.current = function (callback) { + throw new Error('The `current` method must be defined in child classes.'); + }; + + BaseAdapter.prototype.query = function (params, callback) { + throw new Error('The `query` method must be defined in child classes.'); + }; + + BaseAdapter.prototype.bind = function (container, $container) { + // Can be implemented in subclasses + }; + + BaseAdapter.prototype.destroy = function () { + // Can be implemented in subclasses + }; + + BaseAdapter.prototype.generateResultId = function (container, data) { + var id = container.id + '-result-'; + + id += Utils.generateChars(4); + + if (data.id != null) { + id += '-' + data.id.toString(); + } else { + id += '-' + Utils.generateChars(4); + } + return id; + }; + + return BaseAdapter; +}); + +S2.define('select2/data/select',[ + './base', + '../utils', + 'jquery' +], function (BaseAdapter, Utils, $) { + function SelectAdapter ($element, options) { + this.$element = $element; + this.options = options; + + SelectAdapter.__super__.constructor.call(this); + } + + Utils.Extend(SelectAdapter, BaseAdapter); + + SelectAdapter.prototype.current = function (callback) { + var data = []; + var self = this; + + this.$element.find(':selected').each(function () { + var $option = $(this); + + var option = self.item($option); + + data.push(option); + }); + + callback(data); + }; + + SelectAdapter.prototype.select = function (data) { + var self = this; + + data.selected = true; + + // If data.element is a DOM node, use it instead + if ($(data.element).is('option')) { + data.element.selected = true; + + this.$element.trigger('change'); + + return; + } + + if (this.$element.prop('multiple')) { + this.current(function (currentData) { + var val = []; + + data = [data]; + data.push.apply(data, currentData); + + for (var d = 0; d < data.length; d++) { + var id = data[d].id; + + if ($.inArray(id, val) === -1) { + val.push(id); + } + } + + self.$element.val(val); + self.$element.trigger('change'); + }); + } else { + var val = data.id; + + this.$element.val(val); + this.$element.trigger('change'); + } + }; + + SelectAdapter.prototype.unselect = function (data) { + var self = this; + + if (!this.$element.prop('multiple')) { + return; + } + + data.selected = false; + + if ($(data.element).is('option')) { + data.element.selected = false; + + this.$element.trigger('change'); + + return; + } + + this.current(function (currentData) { + var val = []; + + for (var d = 0; d < currentData.length; d++) { + var id = currentData[d].id; + + if (id !== data.id && $.inArray(id, val) === -1) { + val.push(id); + } + } + + self.$element.val(val); + + self.$element.trigger('change'); + }); + }; + + SelectAdapter.prototype.bind = function (container, $container) { + var self = this; + + this.container = container; + + container.on('select', function (params) { + self.select(params.data); + }); + + container.on('unselect', function (params) { + self.unselect(params.data); + }); + }; + + SelectAdapter.prototype.destroy = function () { + // Remove anything added to child elements + this.$element.find('*').each(function () { + // Remove any custom data set by Select2 + Utils.RemoveData(this); + }); + }; + + SelectAdapter.prototype.query = function (params, callback) { + var data = []; + var self = this; + + var $options = this.$element.children(); + + $options.each(function () { + var $option = $(this); + + if (!$option.is('option') && !$option.is('optgroup')) { + return; + } + + var option = self.item($option); + + var matches = self.matches(params, option); + + if (matches !== null) { + data.push(matches); + } + }); + + callback({ + results: data + }); + }; + + SelectAdapter.prototype.addOptions = function ($options) { + Utils.appendMany(this.$element, $options); + }; + + SelectAdapter.prototype.option = function (data) { + var option; + + if (data.children) { + option = document.createElement('optgroup'); + option.label = data.text; + } else { + option = document.createElement('option'); + + if (option.textContent !== undefined) { + option.textContent = data.text; + } else { + option.innerText = data.text; + } + } + + if (data.id !== undefined) { + option.value = data.id; + } + + if (data.disabled) { + option.disabled = true; + } + + if (data.selected) { + option.selected = true; + } + + if (data.title) { + option.title = data.title; + } + + var $option = $(option); + + var normalizedData = this._normalizeItem(data); + normalizedData.element = option; + + // Override the option's data with the combined data + Utils.StoreData(option, 'data', normalizedData); + + return $option; + }; + + SelectAdapter.prototype.item = function ($option) { + var data = {}; + + data = Utils.GetData($option[0], 'data'); + + if (data != null) { + return data; + } + + if ($option.is('option')) { + data = { + id: $option.val(), + text: $option.text(), + disabled: $option.prop('disabled'), + selected: $option.prop('selected'), + title: $option.prop('title') + }; + } else if ($option.is('optgroup')) { + data = { + text: $option.prop('label'), + children: [], + title: $option.prop('title') + }; + + var $children = $option.children('option'); + var children = []; + + for (var c = 0; c < $children.length; c++) { + var $child = $($children[c]); + + var child = this.item($child); + + children.push(child); + } + + data.children = children; + } + + data = this._normalizeItem(data); + data.element = $option[0]; + + Utils.StoreData($option[0], 'data', data); + + return data; + }; + + SelectAdapter.prototype._normalizeItem = function (item) { + if (item !== Object(item)) { + item = { + id: item, + text: item + }; + } + + item = $.extend({}, { + text: '' + }, item); + + var defaults = { + selected: false, + disabled: false + }; + + if (item.id != null) { + item.id = item.id.toString(); + } + + if (item.text != null) { + item.text = item.text.toString(); + } + + if (item._resultId == null && item.id && this.container != null) { + item._resultId = this.generateResultId(this.container, item); + } + + return $.extend({}, defaults, item); + }; + + SelectAdapter.prototype.matches = function (params, data) { + var matcher = this.options.get('matcher'); + + return matcher(params, data); + }; + + return SelectAdapter; +}); + +S2.define('select2/data/array',[ + './select', + '../utils', + 'jquery' +], function (SelectAdapter, Utils, $) { + function ArrayAdapter ($element, options) { + var data = options.get('data') || []; + + ArrayAdapter.__super__.constructor.call(this, $element, options); + + this.addOptions(this.convertToOptions(data)); + } + + Utils.Extend(ArrayAdapter, SelectAdapter); + + ArrayAdapter.prototype.select = function (data) { + var $option = this.$element.find('option').filter(function (i, elm) { + return elm.value == data.id.toString(); + }); + + if ($option.length === 0) { + $option = this.option(data); + + this.addOptions($option); + } + + ArrayAdapter.__super__.select.call(this, data); + }; + + ArrayAdapter.prototype.convertToOptions = function (data) { + var self = this; + + var $existing = this.$element.find('option'); + var existingIds = $existing.map(function () { + return self.item($(this)).id; + }).get(); + + var $options = []; + + // Filter out all items except for the one passed in the argument + function onlyItem (item) { + return function () { + return $(this).val() == item.id; + }; + } + + for (var d = 0; d < data.length; d++) { + var item = this._normalizeItem(data[d]); + + // Skip items which were pre-loaded, only merge the data + if ($.inArray(item.id, existingIds) >= 0) { + var $existingOption = $existing.filter(onlyItem(item)); + + var existingData = this.item($existingOption); + var newData = $.extend(true, {}, item, existingData); + + var $newOption = this.option(newData); + + $existingOption.replaceWith($newOption); + + continue; + } + + var $option = this.option(item); + + if (item.children) { + var $children = this.convertToOptions(item.children); + + Utils.appendMany($option, $children); + } + + $options.push($option); + } + + return $options; + }; + + return ArrayAdapter; +}); + +S2.define('select2/data/ajax',[ + './array', + '../utils', + 'jquery' +], function (ArrayAdapter, Utils, $) { + function AjaxAdapter ($element, options) { + this.ajaxOptions = this._applyDefaults(options.get('ajax')); + + if (this.ajaxOptions.processResults != null) { + this.processResults = this.ajaxOptions.processResults; + } + + AjaxAdapter.__super__.constructor.call(this, $element, options); + } + + Utils.Extend(AjaxAdapter, ArrayAdapter); + + AjaxAdapter.prototype._applyDefaults = function (options) { + var defaults = { + data: function (params) { + return $.extend({}, params, { + q: params.term + }); + }, + transport: function (params, success, failure) { + var $request = $.ajax(params); + + $request.then(success); + $request.fail(failure); + + return $request; + } + }; + + return $.extend({}, defaults, options, true); + }; + + AjaxAdapter.prototype.processResults = function (results) { + return results; + }; + + AjaxAdapter.prototype.query = function (params, callback) { + var matches = []; + var self = this; + + if (this._request != null) { + // JSONP requests cannot always be aborted + if ($.isFunction(this._request.abort)) { + this._request.abort(); + } + + this._request = null; + } + + var options = $.extend({ + type: 'GET' + }, this.ajaxOptions); + + if (typeof options.url === 'function') { + options.url = options.url.call(this.$element, params); + } + + if (typeof options.data === 'function') { + options.data = options.data.call(this.$element, params); + } + + function request () { + var $request = options.transport(options, function (data) { + var results = self.processResults(data, params); + + if (self.options.get('debug') && window.console && console.error) { + // Check to make sure that the response included a `results` key. + if (!results || !results.results || !$.isArray(results.results)) { + console.error( + 'Select2: The AJAX results did not return an array in the ' + + '`results` key of the response.' + ); + } + } + + callback(results); + }, function () { + // Attempt to detect if a request was aborted + // Only works if the transport exposes a status property + if ('status' in $request && + ($request.status === 0 || $request.status === '0')) { + return; + } + + self.trigger('results:message', { + message: 'errorLoading' + }); + }); + + self._request = $request; + } + + if (this.ajaxOptions.delay && params.term != null) { + if (this._queryTimeout) { + window.clearTimeout(this._queryTimeout); + } + + this._queryTimeout = window.setTimeout(request, this.ajaxOptions.delay); + } else { + request(); + } + }; + + return AjaxAdapter; +}); + +S2.define('select2/data/tags',[ + 'jquery' +], function ($) { + function Tags (decorated, $element, options) { + var tags = options.get('tags'); + + var createTag = options.get('createTag'); + + if (createTag !== undefined) { + this.createTag = createTag; + } + + var insertTag = options.get('insertTag'); + + if (insertTag !== undefined) { + this.insertTag = insertTag; + } + + decorated.call(this, $element, options); + + if ($.isArray(tags)) { + for (var t = 0; t < tags.length; t++) { + var tag = tags[t]; + var item = this._normalizeItem(tag); + + var $option = this.option(item); + + this.$element.append($option); + } + } + } + + Tags.prototype.query = function (decorated, params, callback) { + var self = this; + + this._removeOldTags(); + + if (params.term == null || params.page != null) { + decorated.call(this, params, callback); + return; + } + + function wrapper (obj, child) { + var data = obj.results; + + for (var i = 0; i < data.length; i++) { + var option = data[i]; + + var checkChildren = ( + option.children != null && + !wrapper({ + results: option.children + }, true) + ); + + var optionText = (option.text || '').toUpperCase(); + var paramsTerm = (params.term || '').toUpperCase(); + + var checkText = optionText === paramsTerm; + + if (checkText || checkChildren) { + if (child) { + return false; + } + + obj.data = data; + callback(obj); + + return; + } + } + + if (child) { + return true; + } + + var tag = self.createTag(params); + + if (tag != null) { + var $option = self.option(tag); + $option.attr('data-select2-tag', true); + + self.addOptions([$option]); + + self.insertTag(data, tag); + } + + obj.results = data; + + callback(obj); + } + + decorated.call(this, params, wrapper); + }; + + Tags.prototype.createTag = function (decorated, params) { + var term = $.trim(params.term); + + if (term === '') { + return null; + } + + return { + id: term, + text: term + }; + }; + + Tags.prototype.insertTag = function (_, data, tag) { + data.unshift(tag); + }; + + Tags.prototype._removeOldTags = function (_) { + var tag = this._lastTag; + + var $options = this.$element.find('option[data-select2-tag]'); + + $options.each(function () { + if (this.selected) { + return; + } + + $(this).remove(); + }); + }; + + return Tags; +}); + +S2.define('select2/data/tokenizer',[ + 'jquery' +], function ($) { + function Tokenizer (decorated, $element, options) { + var tokenizer = options.get('tokenizer'); + + if (tokenizer !== undefined) { + this.tokenizer = tokenizer; + } + + decorated.call(this, $element, options); + } + + Tokenizer.prototype.bind = function (decorated, container, $container) { + decorated.call(this, container, $container); + + this.$search = container.dropdown.$search || container.selection.$search || + $container.find('.select2-search__field'); + }; + + Tokenizer.prototype.query = function (decorated, params, callback) { + var self = this; + + function createAndSelect (data) { + // Normalize the data object so we can use it for checks + var item = self._normalizeItem(data); + + // Check if the data object already exists as a tag + // Select it if it doesn't + var $existingOptions = self.$element.find('option').filter(function () { + return $(this).val() === item.id; + }); + + // If an existing option wasn't found for it, create the option + if (!$existingOptions.length) { + var $option = self.option(item); + $option.attr('data-select2-tag', true); + + self._removeOldTags(); + self.addOptions([$option]); + } + + // Select the item, now that we know there is an option for it + select(item); + } + + function select (data) { + self.trigger('select', { + data: data + }); + } + + params.term = params.term || ''; + + var tokenData = this.tokenizer(params, this.options, createAndSelect); + + if (tokenData.term !== params.term) { + // Replace the search term if we have the search box + if (this.$search.length) { + this.$search.val(tokenData.term); + this.$search.focus(); + } + + params.term = tokenData.term; + } + + decorated.call(this, params, callback); + }; + + Tokenizer.prototype.tokenizer = function (_, params, options, callback) { + var separators = options.get('tokenSeparators') || []; + var term = params.term; + var i = 0; + + var createTag = this.createTag || function (params) { + return { + id: params.term, + text: params.term + }; + }; + + while (i < term.length) { + var termChar = term[i]; + + if ($.inArray(termChar, separators) === -1) { + i++; + + continue; + } + + var part = term.substr(0, i); + var partParams = $.extend({}, params, { + term: part + }); + + var data = createTag(partParams); + + if (data == null) { + i++; + continue; + } + + callback(data); + + // Reset the term to not include the tokenized portion + term = term.substr(i + 1) || ''; + i = 0; + } + + return { + term: term + }; + }; + + return Tokenizer; +}); + +S2.define('select2/data/minimumInputLength',[ + +], function () { + function MinimumInputLength (decorated, $e, options) { + this.minimumInputLength = options.get('minimumInputLength'); + + decorated.call(this, $e, options); + } + + MinimumInputLength.prototype.query = function (decorated, params, callback) { + params.term = params.term || ''; + + if (params.term.length < this.minimumInputLength) { + this.trigger('results:message', { + message: 'inputTooShort', + args: { + minimum: this.minimumInputLength, + input: params.term, + params: params + } + }); + + return; + } + + decorated.call(this, params, callback); + }; + + return MinimumInputLength; +}); + +S2.define('select2/data/maximumInputLength',[ + +], function () { + function MaximumInputLength (decorated, $e, options) { + this.maximumInputLength = options.get('maximumInputLength'); + + decorated.call(this, $e, options); + } + + MaximumInputLength.prototype.query = function (decorated, params, callback) { + params.term = params.term || ''; + + if (this.maximumInputLength > 0 && + params.term.length > this.maximumInputLength) { + this.trigger('results:message', { + message: 'inputTooLong', + args: { + maximum: this.maximumInputLength, + input: params.term, + params: params + } + }); + + return; + } + + decorated.call(this, params, callback); + }; + + return MaximumInputLength; +}); + +S2.define('select2/data/maximumSelectionLength',[ + +], function (){ + function MaximumSelectionLength (decorated, $e, options) { + this.maximumSelectionLength = options.get('maximumSelectionLength'); + + decorated.call(this, $e, options); + } + + MaximumSelectionLength.prototype.query = + function (decorated, params, callback) { + var self = this; + + this.current(function (currentData) { + var count = currentData != null ? currentData.length : 0; + if (self.maximumSelectionLength > 0 && + count >= self.maximumSelectionLength) { + self.trigger('results:message', { + message: 'maximumSelected', + args: { + maximum: self.maximumSelectionLength + } + }); + return; + } + decorated.call(self, params, callback); + }); + }; + + return MaximumSelectionLength; +}); + +S2.define('select2/dropdown',[ + 'jquery', + './utils' +], function ($, Utils) { + function Dropdown ($element, options) { + this.$element = $element; + this.options = options; + + Dropdown.__super__.constructor.call(this); + } + + Utils.Extend(Dropdown, Utils.Observable); + + Dropdown.prototype.render = function () { + var $dropdown = $( + '<span class="select2-dropdown">' + + '<span class="select2-results"></span>' + + '</span>' + ); + + $dropdown.attr('dir', this.options.get('dir')); + + this.$dropdown = $dropdown; + + return $dropdown; + }; + + Dropdown.prototype.bind = function () { + // Should be implemented in subclasses + }; + + Dropdown.prototype.position = function ($dropdown, $container) { + // Should be implemented in subclasses + }; + + Dropdown.prototype.destroy = function () { + // Remove the dropdown from the DOM + this.$dropdown.remove(); + }; + + return Dropdown; +}); + +S2.define('select2/dropdown/search',[ + 'jquery', + '../utils' +], function ($, Utils) { + function Search () { } + + Search.prototype.render = function (decorated) { + var $rendered = decorated.call(this); + + var $search = $( + '<span class="select2-search select2-search--dropdown">' + + '<input class="select2-search__field" type="search" tabindex="-1"' + + ' autocomplete="off" autocorrect="off" autocapitalize="none"' + + ' spellcheck="false" role="textbox" />' + + '</span>' + ); + + this.$searchContainer = $search; + this.$search = $search.find('input'); + + $rendered.prepend($search); + + return $rendered; + }; + + Search.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + this.$search.on('keydown', function (evt) { + self.trigger('keypress', evt); + + self._keyUpPrevented = evt.isDefaultPrevented(); + }); + + // Workaround for browsers which do not support the `input` event + // This will prevent double-triggering of events for browsers which support + // both the `keyup` and `input` events. + this.$search.on('input', function (evt) { + // Unbind the duplicated `keyup` event + $(this).off('keyup'); + }); + + this.$search.on('keyup input', function (evt) { + self.handleSearch(evt); + }); + + container.on('open', function () { + self.$search.attr('tabindex', 0); + + self.$search.focus(); + + window.setTimeout(function () { + self.$search.focus(); + }, 0); + }); + + container.on('close', function () { + self.$search.attr('tabindex', -1); + + self.$search.val(''); + self.$search.blur(); + }); + + container.on('focus', function () { + if (!container.isOpen()) { + self.$search.focus(); + } + }); + + container.on('results:all', function (params) { + if (params.query.term == null || params.query.term === '') { + var showSearch = self.showSearch(params); + + if (showSearch) { + self.$searchContainer.removeClass('select2-search--hide'); + } else { + self.$searchContainer.addClass('select2-search--hide'); + } + } + }); + }; + + Search.prototype.handleSearch = function (evt) { + if (!this._keyUpPrevented) { + var input = this.$search.val(); + + this.trigger('query', { + term: input + }); + } + + this._keyUpPrevented = false; + }; + + Search.prototype.showSearch = function (_, params) { + return true; + }; + + return Search; +}); + +S2.define('select2/dropdown/hidePlaceholder',[ + +], function () { + function HidePlaceholder (decorated, $element, options, dataAdapter) { + this.placeholder = this.normalizePlaceholder(options.get('placeholder')); + + decorated.call(this, $element, options, dataAdapter); + } + + HidePlaceholder.prototype.append = function (decorated, data) { + data.results = this.removePlaceholder(data.results); + + decorated.call(this, data); + }; + + HidePlaceholder.prototype.normalizePlaceholder = function (_, placeholder) { + if (typeof placeholder === 'string') { + placeholder = { + id: '', + text: placeholder + }; + } + + return placeholder; + }; + + HidePlaceholder.prototype.removePlaceholder = function (_, data) { + var modifiedData = data.slice(0); + + for (var d = data.length - 1; d >= 0; d--) { + var item = data[d]; + + if (this.placeholder.id === item.id) { + modifiedData.splice(d, 1); + } + } + + return modifiedData; + }; + + return HidePlaceholder; +}); + +S2.define('select2/dropdown/infiniteScroll',[ + 'jquery' +], function ($) { + function InfiniteScroll (decorated, $element, options, dataAdapter) { + this.lastParams = {}; + + decorated.call(this, $element, options, dataAdapter); + + this.$loadingMore = this.createLoadingMore(); + this.loading = false; + } + + InfiniteScroll.prototype.append = function (decorated, data) { + this.$loadingMore.remove(); + this.loading = false; + + decorated.call(this, data); + + if (this.showLoadingMore(data)) { + this.$results.append(this.$loadingMore); + } + }; + + InfiniteScroll.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('query', function (params) { + self.lastParams = params; + self.loading = true; + }); + + container.on('query:append', function (params) { + self.lastParams = params; + self.loading = true; + }); + + this.$results.on('scroll', function () { + var isLoadMoreVisible = $.contains( + document.documentElement, + self.$loadingMore[0] + ); + + if (self.loading || !isLoadMoreVisible) { + return; + } + + var currentOffset = self.$results.offset().top + + self.$results.outerHeight(false); + var loadingMoreOffset = self.$loadingMore.offset().top + + self.$loadingMore.outerHeight(false); + + if (currentOffset + 50 >= loadingMoreOffset) { + self.loadMore(); + } + }); + }; + + InfiniteScroll.prototype.loadMore = function () { + this.loading = true; + + var params = $.extend({}, {page: 1}, this.lastParams); + + params.page++; + + this.trigger('query:append', params); + }; + + InfiniteScroll.prototype.showLoadingMore = function (_, data) { + return data.pagination && data.pagination.more; + }; + + InfiniteScroll.prototype.createLoadingMore = function () { + var $option = $( + '<li ' + + 'class="select2-results__option select2-results__option--load-more"' + + 'role="treeitem" aria-disabled="true"></li>' + ); + + var message = this.options.get('translations').get('loadingMore'); + + $option.html(message(this.lastParams)); + + return $option; + }; + + return InfiniteScroll; +}); + +S2.define('select2/dropdown/attachBody',[ + 'jquery', + '../utils' +], function ($, Utils) { + function AttachBody (decorated, $element, options) { + this.$dropdownParent = options.get('dropdownParent') || $(document.body); + + decorated.call(this, $element, options); + } + + AttachBody.prototype.bind = function (decorated, container, $container) { + var self = this; + + var setupResultsEvents = false; + + decorated.call(this, container, $container); + + container.on('open', function () { + self._showDropdown(); + self._attachPositioningHandler(container); + + if (!setupResultsEvents) { + setupResultsEvents = true; + + container.on('results:all', function () { + self._positionDropdown(); + self._resizeDropdown(); + }); + + container.on('results:append', function () { + self._positionDropdown(); + self._resizeDropdown(); + }); + } + }); + + container.on('close', function () { + self._hideDropdown(); + self._detachPositioningHandler(container); + }); + + this.$dropdownContainer.on('mousedown', function (evt) { + evt.stopPropagation(); + }); + }; + + AttachBody.prototype.destroy = function (decorated) { + decorated.call(this); + + this.$dropdownContainer.remove(); + }; + + AttachBody.prototype.position = function (decorated, $dropdown, $container) { + // Clone all of the container classes + $dropdown.attr('class', $container.attr('class')); + + $dropdown.removeClass('select2'); + $dropdown.addClass('select2-container--open'); + + $dropdown.css({ + position: 'absolute', + top: -999999 + }); + + this.$container = $container; + }; + + AttachBody.prototype.render = function (decorated) { + var $container = $('<span></span>'); + + var $dropdown = decorated.call(this); + $container.append($dropdown); + + this.$dropdownContainer = $container; + + return $container; + }; + + AttachBody.prototype._hideDropdown = function (decorated) { + this.$dropdownContainer.detach(); + }; + + AttachBody.prototype._attachPositioningHandler = + function (decorated, container) { + var self = this; + + var scrollEvent = 'scroll.select2.' + container.id; + var resizeEvent = 'resize.select2.' + container.id; + var orientationEvent = 'orientationchange.select2.' + container.id; + + var $watchers = this.$container.parents().filter(Utils.hasScroll); + $watchers.each(function () { + Utils.StoreData(this, 'select2-scroll-position', { + x: $(this).scrollLeft(), + y: $(this).scrollTop() + }); + }); + + $watchers.on(scrollEvent, function (ev) { + var position = Utils.GetData(this, 'select2-scroll-position'); + $(this).scrollTop(position.y); + }); + + $(window).on(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent, + function (e) { + self._positionDropdown(); + self._resizeDropdown(); + }); + }; + + AttachBody.prototype._detachPositioningHandler = + function (decorated, container) { + var scrollEvent = 'scroll.select2.' + container.id; + var resizeEvent = 'resize.select2.' + container.id; + var orientationEvent = 'orientationchange.select2.' + container.id; + + var $watchers = this.$container.parents().filter(Utils.hasScroll); + $watchers.off(scrollEvent); + + $(window).off(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent); + }; + + AttachBody.prototype._positionDropdown = function () { + var $window = $(window); + + var isCurrentlyAbove = this.$dropdown.hasClass('select2-dropdown--above'); + var isCurrentlyBelow = this.$dropdown.hasClass('select2-dropdown--below'); + + var newDirection = null; + + var offset = this.$container.offset(); + + offset.bottom = offset.top + this.$container.outerHeight(false); + + var container = { + height: this.$container.outerHeight(false) + }; + + container.top = offset.top; + container.bottom = offset.top + container.height; + + var dropdown = { + height: this.$dropdown.outerHeight(false) + }; + + var viewport = { + top: $window.scrollTop(), + bottom: $window.scrollTop() + $window.height() + }; + + var enoughRoomAbove = viewport.top < (offset.top - dropdown.height); + var enoughRoomBelow = viewport.bottom > (offset.bottom + dropdown.height); + + var css = { + left: offset.left, + top: container.bottom + }; + + // Determine what the parent element is to use for calculating the offset + var $offsetParent = this.$dropdownParent; + + // For statically positioned elements, we need to get the element + // that is determining the offset + if ($offsetParent.css('position') === 'static') { + $offsetParent = $offsetParent.offsetParent(); + } + + var parentOffset = $offsetParent.offset(); + + css.top -= parentOffset.top; + css.left -= parentOffset.left; + + if (!isCurrentlyAbove && !isCurrentlyBelow) { + newDirection = 'below'; + } + + if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) { + newDirection = 'above'; + } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) { + newDirection = 'below'; + } + + if (newDirection == 'above' || + (isCurrentlyAbove && newDirection !== 'below')) { + css.top = container.top - parentOffset.top - dropdown.height; + } + + if (newDirection != null) { + this.$dropdown + .removeClass('select2-dropdown--below select2-dropdown--above') + .addClass('select2-dropdown--' + newDirection); + this.$container + .removeClass('select2-container--below select2-container--above') + .addClass('select2-container--' + newDirection); + } + + this.$dropdownContainer.css(css); + }; + + AttachBody.prototype._resizeDropdown = function () { + var css = { + width: this.$container.outerWidth(false) + 'px' + }; + + if (this.options.get('dropdownAutoWidth')) { + css.minWidth = css.width; + css.position = 'relative'; + css.width = 'auto'; + } + + this.$dropdown.css(css); + }; + + AttachBody.prototype._showDropdown = function (decorated) { + this.$dropdownContainer.appendTo(this.$dropdownParent); + + this._positionDropdown(); + this._resizeDropdown(); + }; + + return AttachBody; +}); + +S2.define('select2/dropdown/minimumResultsForSearch',[ + +], function () { + function countResults (data) { + var count = 0; + + for (var d = 0; d < data.length; d++) { + var item = data[d]; + + if (item.children) { + count += countResults(item.children); + } else { + count++; + } + } + + return count; + } + + function MinimumResultsForSearch (decorated, $element, options, dataAdapter) { + this.minimumResultsForSearch = options.get('minimumResultsForSearch'); + + if (this.minimumResultsForSearch < 0) { + this.minimumResultsForSearch = Infinity; + } + + decorated.call(this, $element, options, dataAdapter); + } + + MinimumResultsForSearch.prototype.showSearch = function (decorated, params) { + if (countResults(params.data.results) < this.minimumResultsForSearch) { + return false; + } + + return decorated.call(this, params); + }; + + return MinimumResultsForSearch; +}); + +S2.define('select2/dropdown/selectOnClose',[ + '../utils' +], function (Utils) { + function SelectOnClose () { } + + SelectOnClose.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('close', function (params) { + self._handleSelectOnClose(params); + }); + }; + + SelectOnClose.prototype._handleSelectOnClose = function (_, params) { + if (params && params.originalSelect2Event != null) { + var event = params.originalSelect2Event; + + // Don't select an item if the close event was triggered from a select or + // unselect event + if (event._type === 'select' || event._type === 'unselect') { + return; + } + } + + var $highlightedResults = this.getHighlightedResults(); + + // Only select highlighted results + if ($highlightedResults.length < 1) { + return; + } + + var data = Utils.GetData($highlightedResults[0], 'data'); + + // Don't re-select already selected resulte + if ( + (data.element != null && data.element.selected) || + (data.element == null && data.selected) + ) { + return; + } + + this.trigger('select', { + data: data + }); + }; + + return SelectOnClose; +}); + +S2.define('select2/dropdown/closeOnSelect',[ + +], function () { + function CloseOnSelect () { } + + CloseOnSelect.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('select', function (evt) { + self._selectTriggered(evt); + }); + + container.on('unselect', function (evt) { + self._selectTriggered(evt); + }); + }; + + CloseOnSelect.prototype._selectTriggered = function (_, evt) { + var originalEvent = evt.originalEvent; + + // Don't close if the control key is being held + if (originalEvent && (originalEvent.ctrlKey || originalEvent.metaKey)) { + return; + } + + this.trigger('close', { + originalEvent: originalEvent, + originalSelect2Event: evt + }); + }; + + return CloseOnSelect; +}); + +S2.define('select2/i18n/en',[],function () { + // English + return { + errorLoading: function () { + return 'The results could not be loaded.'; + }, + inputTooLong: function (args) { + var overChars = args.input.length - args.maximum; + + var message = 'Please delete ' + overChars + ' character'; + + if (overChars != 1) { + message += 's'; + } + + return message; + }, + inputTooShort: function (args) { + var remainingChars = args.minimum - args.input.length; + + var message = 'Please enter ' + remainingChars + ' or more characters'; + + return message; + }, + loadingMore: function () { + return 'Loading more results…'; + }, + maximumSelected: function (args) { + var message = 'You can only select ' + args.maximum + ' item'; + + if (args.maximum != 1) { + message += 's'; + } + + return message; + }, + noResults: function () { + return 'No results found'; + }, + searching: function () { + return 'Searching…'; + }, + removeAllItems: function () { + return 'Remove all items'; + } + }; +}); + +S2.define('select2/defaults',[ + 'jquery', + 'require', + + './results', + + './selection/single', + './selection/multiple', + './selection/placeholder', + './selection/allowClear', + './selection/search', + './selection/eventRelay', + + './utils', + './translation', + './diacritics', + + './data/select', + './data/array', + './data/ajax', + './data/tags', + './data/tokenizer', + './data/minimumInputLength', + './data/maximumInputLength', + './data/maximumSelectionLength', + + './dropdown', + './dropdown/search', + './dropdown/hidePlaceholder', + './dropdown/infiniteScroll', + './dropdown/attachBody', + './dropdown/minimumResultsForSearch', + './dropdown/selectOnClose', + './dropdown/closeOnSelect', + + './i18n/en' +], function ($, require, + + ResultsList, + + SingleSelection, MultipleSelection, Placeholder, AllowClear, + SelectionSearch, EventRelay, + + Utils, Translation, DIACRITICS, + + SelectData, ArrayData, AjaxData, Tags, Tokenizer, + MinimumInputLength, MaximumInputLength, MaximumSelectionLength, + + Dropdown, DropdownSearch, HidePlaceholder, InfiniteScroll, + AttachBody, MinimumResultsForSearch, SelectOnClose, CloseOnSelect, + + EnglishTranslation) { + function Defaults () { + this.reset(); + } + + Defaults.prototype.apply = function (options) { + options = $.extend(true, {}, this.defaults, options); + + if (options.dataAdapter == null) { + if (options.ajax != null) { + options.dataAdapter = AjaxData; + } else if (options.data != null) { + options.dataAdapter = ArrayData; + } else { + options.dataAdapter = SelectData; + } + + if (options.minimumInputLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MinimumInputLength + ); + } + + if (options.maximumInputLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MaximumInputLength + ); + } + + if (options.maximumSelectionLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MaximumSelectionLength + ); + } + + if (options.tags) { + options.dataAdapter = Utils.Decorate(options.dataAdapter, Tags); + } + + if (options.tokenSeparators != null || options.tokenizer != null) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + Tokenizer + ); + } + + if (options.query != null) { + var Query = require(options.amdBase + 'compat/query'); + + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + Query + ); + } + + if (options.initSelection != null) { + var InitSelection = require(options.amdBase + 'compat/initSelection'); + + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + InitSelection + ); + } + } + + if (options.resultsAdapter == null) { + options.resultsAdapter = ResultsList; + + if (options.ajax != null) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + InfiniteScroll + ); + } + + if (options.placeholder != null) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + HidePlaceholder + ); + } + + if (options.selectOnClose) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + SelectOnClose + ); + } + } + + if (options.dropdownAdapter == null) { + if (options.multiple) { + options.dropdownAdapter = Dropdown; + } else { + var SearchableDropdown = Utils.Decorate(Dropdown, DropdownSearch); + + options.dropdownAdapter = SearchableDropdown; + } + + if (options.minimumResultsForSearch !== 0) { + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + MinimumResultsForSearch + ); + } + + if (options.closeOnSelect) { + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + CloseOnSelect + ); + } + + if ( + options.dropdownCssClass != null || + options.dropdownCss != null || + options.adaptDropdownCssClass != null + ) { + var DropdownCSS = require(options.amdBase + 'compat/dropdownCss'); + + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + DropdownCSS + ); + } + + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + AttachBody + ); + } + + if (options.selectionAdapter == null) { + if (options.multiple) { + options.selectionAdapter = MultipleSelection; + } else { + options.selectionAdapter = SingleSelection; + } + + // Add the placeholder mixin if a placeholder was specified + if (options.placeholder != null) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + Placeholder + ); + } + + if (options.allowClear) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + AllowClear + ); + } + + if (options.multiple) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + SelectionSearch + ); + } + + if ( + options.containerCssClass != null || + options.containerCss != null || + options.adaptContainerCssClass != null + ) { + var ContainerCSS = require(options.amdBase + 'compat/containerCss'); + + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + ContainerCSS + ); + } + + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + EventRelay + ); + } + + if (typeof options.language === 'string') { + // Check if the language is specified with a region + if (options.language.indexOf('-') > 0) { + // Extract the region information if it is included + var languageParts = options.language.split('-'); + var baseLanguage = languageParts[0]; + + options.language = [options.language, baseLanguage]; + } else { + options.language = [options.language]; + } + } + + if ($.isArray(options.language)) { + var languages = new Translation(); + options.language.push('en'); + + var languageNames = options.language; + + for (var l = 0; l < languageNames.length; l++) { + var name = languageNames[l]; + var language = {}; + + try { + // Try to load it with the original name + language = Translation.loadPath(name); + } catch (e) { + try { + // If we couldn't load it, check if it wasn't the full path + name = this.defaults.amdLanguageBase + name; + language = Translation.loadPath(name); + } catch (ex) { + // The translation could not be loaded at all. Sometimes this is + // because of a configuration problem, other times this can be + // because of how Select2 helps load all possible translation files. + if (options.debug && window.console && console.warn) { + console.warn( + 'Select2: The language file for "' + name + '" could not be ' + + 'automatically loaded. A fallback will be used instead.' + ); + } + + continue; + } + } + + languages.extend(language); + } + + options.translations = languages; + } else { + var baseTranslation = Translation.loadPath( + this.defaults.amdLanguageBase + 'en' + ); + var customTranslation = new Translation(options.language); + + customTranslation.extend(baseTranslation); + + options.translations = customTranslation; + } + + return options; + }; + + Defaults.prototype.reset = function () { + function stripDiacritics (text) { + // Used 'uni range + named function' from http://jsperf.com/diacritics/18 + function match(a) { + return DIACRITICS[a] || a; + } + + return text.replace(/[^\u0000-\u007E]/g, match); + } + + function matcher (params, data) { + // Always return the object if there is nothing to compare + if ($.trim(params.term) === '') { + return data; + } + + // Do a recursive check for options with children + if (data.children && data.children.length > 0) { + // Clone the data object if there are children + // This is required as we modify the object to remove any non-matches + var match = $.extend(true, {}, data); + + // Check each child of the option + for (var c = data.children.length - 1; c >= 0; c--) { + var child = data.children[c]; + + var matches = matcher(params, child); + + // If there wasn't a match, remove the object in the array + if (matches == null) { + match.children.splice(c, 1); + } + } + + // If any children matched, return the new object + if (match.children.length > 0) { + return match; + } + + // If there were no matching children, check just the plain object + return matcher(params, match); + } + + var original = stripDiacritics(data.text).toUpperCase(); + var term = stripDiacritics(params.term).toUpperCase(); + + // Check if the text contains the term + if (original.indexOf(term) > -1) { + return data; + } + + // If it doesn't contain the term, don't return anything + return null; + } + + this.defaults = { + amdBase: './', + amdLanguageBase: './i18n/', + closeOnSelect: true, + debug: false, + dropdownAutoWidth: false, + escapeMarkup: Utils.escapeMarkup, + language: EnglishTranslation, + matcher: matcher, + minimumInputLength: 0, + maximumInputLength: 0, + maximumSelectionLength: 0, + minimumResultsForSearch: 0, + selectOnClose: false, + scrollAfterSelect: false, + sorter: function (data) { + return data; + }, + templateResult: function (result) { + return result.text; + }, + templateSelection: function (selection) { + return selection.text; + }, + theme: 'default', + width: 'resolve' + }; + }; + + Defaults.prototype.set = function (key, value) { + var camelKey = $.camelCase(key); + + var data = {}; + data[camelKey] = value; + + var convertedData = Utils._convertData(data); + + $.extend(true, this.defaults, convertedData); + }; + + var defaults = new Defaults(); + + return defaults; +}); + +S2.define('select2/options',[ + 'require', + 'jquery', + './defaults', + './utils' +], function (require, $, Defaults, Utils) { + function Options (options, $element) { + this.options = options; + + if ($element != null) { + this.fromElement($element); + } + + this.options = Defaults.apply(this.options); + + if ($element && $element.is('input')) { + var InputCompat = require(this.get('amdBase') + 'compat/inputData'); + + this.options.dataAdapter = Utils.Decorate( + this.options.dataAdapter, + InputCompat + ); + } + } + + Options.prototype.fromElement = function ($e) { + var excludedData = ['select2']; + + if (this.options.multiple == null) { + this.options.multiple = $e.prop('multiple'); + } + + if (this.options.disabled == null) { + this.options.disabled = $e.prop('disabled'); + } + + if (this.options.language == null) { + if ($e.prop('lang')) { + this.options.language = $e.prop('lang').toLowerCase(); + } else if ($e.closest('[lang]').prop('lang')) { + this.options.language = $e.closest('[lang]').prop('lang'); + } + } + + if (this.options.dir == null) { + if ($e.prop('dir')) { + this.options.dir = $e.prop('dir'); + } else if ($e.closest('[dir]').prop('dir')) { + this.options.dir = $e.closest('[dir]').prop('dir'); + } else { + this.options.dir = 'ltr'; + } + } + + $e.prop('disabled', this.options.disabled); + $e.prop('multiple', this.options.multiple); + + if (Utils.GetData($e[0], 'select2Tags')) { + if (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.' + ); + } + + Utils.StoreData($e[0], 'data', Utils.GetData($e[0], 'select2Tags')); + Utils.StoreData($e[0], 'tags', true); + } + + if (Utils.GetData($e[0], 'ajaxUrl')) { + if (this.options.debug && window.console && console.warn) { + console.warn( + 'Select2: The `data-ajax-url` attribute has been changed to ' + + '`data-ajax--url` and support for the old attribute will be removed' + + ' in future versions of Select2.' + ); + } + + $e.attr('ajax--url', Utils.GetData($e[0], 'ajaxUrl')); + Utils.StoreData($e[0], 'ajax-Url', Utils.GetData($e[0], 'ajaxUrl')); + } + + var dataset = {}; + + function upperCaseLetter(_, letter) { + return letter.toUpperCase(); + } + + // Pre-load all of the attributes which are prefixed with `data-` + for (var attr = 0; attr < $e[0].attributes.length; attr++) { + var attributeName = $e[0].attributes[attr].name; + var prefix = 'data-'; + + if (attributeName.substr(0, prefix.length) == prefix) { + // Get the contents of the attribute after `data-` + var dataName = attributeName.substring(prefix.length); + + // Get the data contents from the consistent source + // This is more than likely the jQuery data helper + var dataValue = Utils.GetData($e[0], dataName); + + // camelCase the attribute name to match the spec + var camelDataName = dataName.replace(/-([a-z])/g, upperCaseLetter); + + // Store the data attribute contents into the dataset since + dataset[camelDataName] = dataValue; + } + } + + // Prefer the element's `dataset` attribute if it exists + // jQuery 1.x does not correctly handle data attributes with multiple dashes + if ($.fn.jquery && $.fn.jquery.substr(0, 2) == '1.' && $e[0].dataset) { + dataset = $.extend(true, {}, $e[0].dataset, dataset); + } + + // Prefer our internal data cache if it exists + var data = $.extend(true, {}, Utils.GetData($e[0]), dataset); + + data = Utils._convertData(data); + + for (var key in data) { + if ($.inArray(key, excludedData) > -1) { + continue; + } + + if ($.isPlainObject(this.options[key])) { + $.extend(this.options[key], data[key]); + } else { + this.options[key] = data[key]; + } + } + + return this; + }; + + Options.prototype.get = function (key) { + return this.options[key]; + }; + + Options.prototype.set = function (key, val) { + this.options[key] = val; + }; + + return Options; +}); + +S2.define('select2/core',[ + 'jquery', + './options', + './utils', + './keys' +], function ($, Options, Utils, KEYS) { + var Select2 = function ($element, options) { + if (Utils.GetData($element[0], 'select2') != null) { + Utils.GetData($element[0], 'select2').destroy(); + } + + this.$element = $element; + + this.id = this._generateId($element); + + options = options || {}; + + this.options = new Options(options, $element); + + Select2.__super__.constructor.call(this); + + // Set up the tabindex + + var tabindex = $element.attr('tabindex') || 0; + Utils.StoreData($element[0], 'old-tabindex', tabindex); + $element.attr('tabindex', '-1'); + + // Set up containers and adapters + + var DataAdapter = this.options.get('dataAdapter'); + this.dataAdapter = new DataAdapter($element, this.options); + + var $container = this.render(); + + this._placeContainer($container); + + var SelectionAdapter = this.options.get('selectionAdapter'); + this.selection = new SelectionAdapter($element, this.options); + this.$selection = this.selection.render(); + + this.selection.position(this.$selection, $container); + + var DropdownAdapter = this.options.get('dropdownAdapter'); + this.dropdown = new DropdownAdapter($element, this.options); + this.$dropdown = this.dropdown.render(); + + this.dropdown.position(this.$dropdown, $container); + + var ResultsAdapter = this.options.get('resultsAdapter'); + this.results = new ResultsAdapter($element, this.options, this.dataAdapter); + this.$results = this.results.render(); + + this.results.position(this.$results, this.$dropdown); + + // Bind events + + var self = this; + + // Bind the container to all of the adapters + this._bindAdapters(); + + // Register any DOM event handlers + this._registerDomEvents(); + + // Register any internal event handlers + this._registerDataEvents(); + this._registerSelectionEvents(); + this._registerDropdownEvents(); + this._registerResultsEvents(); + this._registerEvents(); + + // Set the initial state + this.dataAdapter.current(function (initialData) { + self.trigger('selection:update', { + data: initialData + }); + }); + + // Hide the original select + $element.addClass('select2-hidden-accessible'); + $element.attr('aria-hidden', 'true'); + + // Synchronize any monitored attributes + this._syncAttributes(); + + Utils.StoreData($element[0], 'select2', this); + + // Ensure backwards compatibility with $element.data('select2'). + $element.data('select2', this); + }; + + Utils.Extend(Select2, Utils.Observable); + + Select2.prototype._generateId = function ($element) { + var id = ''; + + if ($element.attr('id') != null) { + id = $element.attr('id'); + } else if ($element.attr('name') != null) { + id = $element.attr('name') + '-' + Utils.generateChars(2); + } else { + id = Utils.generateChars(4); + } + + id = id.replace(/(:|\.|\[|\]|,)/g, ''); + id = 'select2-' + id; + + return id; + }; + + Select2.prototype._placeContainer = function ($container) { + $container.insertAfter(this.$element); + + var width = this._resolveWidth(this.$element, this.options.get('width')); + + if (width != null) { + $container.css('width', width); + } + }; + + Select2.prototype._resolveWidth = function ($element, method) { + var WIDTH = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i; + + if (method == 'resolve') { + var styleWidth = this._resolveWidth($element, 'style'); + + if (styleWidth != null) { + return styleWidth; + } + + return this._resolveWidth($element, 'element'); + } + + if (method == 'element') { + var elementWidth = $element.outerWidth(false); + + if (elementWidth <= 0) { + return 'auto'; + } + + return elementWidth + 'px'; + } + + if (method == 'style') { + var style = $element.attr('style'); + + if (typeof(style) !== 'string') { + return null; + } + + var attrs = style.split(';'); + + for (var i = 0, l = attrs.length; i < l; i = i + 1) { + var attr = attrs[i].replace(/\s/g, ''); + var matches = attr.match(WIDTH); + + if (matches !== null && matches.length >= 1) { + return matches[1]; + } + } + + return null; + } + + return method; + }; + + Select2.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); + }; + + Select2.prototype._registerDomEvents = function () { + var self = this; + + this.$element.on('change.select2', function () { + self.dataAdapter.current(function (data) { + self.trigger('selection:update', { + data: data + }); + }); + }); + + this.$element.on('focus.select2', function (evt) { + self.trigger('focus', evt); + }); + + this._syncA = Utils.bind(this._syncAttributes, this); + this._syncS = Utils.bind(this._syncSubtree, this); + + if (this.$element[0].attachEvent) { + this.$element[0].attachEvent('onpropertychange', this._syncA); + } + + var observer = window.MutationObserver || + window.WebKitMutationObserver || + window.MozMutationObserver + ; + + if (observer != null) { + this._observer = new observer(function (mutations) { + $.each(mutations, self._syncA); + $.each(mutations, self._syncS); + }); + this._observer.observe(this.$element[0], { + attributes: true, + childList: true, + subtree: false + }); + } else if (this.$element[0].addEventListener) { + this.$element[0].addEventListener( + 'DOMAttrModified', + self._syncA, + false + ); + this.$element[0].addEventListener( + 'DOMNodeInserted', + self._syncS, + false + ); + this.$element[0].addEventListener( + 'DOMNodeRemoved', + self._syncS, + false + ); + } + }; + + Select2.prototype._registerDataEvents = function () { + var self = this; + + this.dataAdapter.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerSelectionEvents = function () { + var self = this; + var nonRelayEvents = ['toggle', 'focus']; + + this.selection.on('toggle', function () { + self.toggleDropdown(); + }); + + this.selection.on('focus', function (params) { + self.focus(params); + }); + + this.selection.on('*', function (name, params) { + if ($.inArray(name, nonRelayEvents) !== -1) { + return; + } + + self.trigger(name, params); + }); + }; + + Select2.prototype._registerDropdownEvents = function () { + var self = this; + + this.dropdown.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerResultsEvents = function () { + var self = this; + + this.results.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerEvents = function () { + var self = this; + + this.on('open', function () { + self.$container.addClass('select2-container--open'); + }); + + this.on('close', function () { + self.$container.removeClass('select2-container--open'); + }); + + this.on('enable', function () { + self.$container.removeClass('select2-container--disabled'); + }); + + this.on('disable', function () { + self.$container.addClass('select2-container--disabled'); + }); + + this.on('blur', function () { + self.$container.removeClass('select2-container--focus'); + }); + + this.on('query', function (params) { + if (!self.isOpen()) { + self.trigger('open', {}); + } + + this.dataAdapter.query(params, function (data) { + self.trigger('results:all', { + data: data, + query: params + }); + }); + }); + + this.on('query:append', function (params) { + this.dataAdapter.query(params, function (data) { + self.trigger('results:append', { + data: data, + query: params + }); + }); + }); + + this.on('keypress', function (evt) { + var key = evt.which; + + if (self.isOpen()) { + if (key === KEYS.ESC || key === KEYS.TAB || + (key === KEYS.UP && evt.altKey)) { + self.close(); + + evt.preventDefault(); + } else if (key === KEYS.ENTER) { + self.trigger('results:select', {}); + + evt.preventDefault(); + } else if ((key === KEYS.SPACE && evt.ctrlKey)) { + self.trigger('results:toggle', {}); + + evt.preventDefault(); + } else if (key === KEYS.UP) { + self.trigger('results:previous', {}); + + evt.preventDefault(); + } else if (key === KEYS.DOWN) { + self.trigger('results:next', {}); + + evt.preventDefault(); + } + } else { + if (key === KEYS.ENTER || key === KEYS.SPACE || + (key === KEYS.DOWN && evt.altKey)) { + self.open(); + + evt.preventDefault(); + } + } + }); + }; + + Select2.prototype._syncAttributes = function () { + this.options.set('disabled', this.$element.prop('disabled')); + + if (this.options.get('disabled')) { + if (this.isOpen()) { + this.close(); + } + + this.trigger('disable', {}); + } else { + this.trigger('enable', {}); + } + }; + + Select2.prototype._syncSubtree = function (evt, mutations) { + var changed = false; + var self = this; + + // Ignore any mutation events raised for elements that aren't options or + // optgroups. This handles the case when the select element is destroyed + if ( + evt && evt.target && ( + evt.target.nodeName !== 'OPTION' && evt.target.nodeName !== 'OPTGROUP' + ) + ) { + return; + } + + if (!mutations) { + // If mutation events aren't supported, then we can only assume that the + // change affected the selections + changed = true; + } else if (mutations.addedNodes && mutations.addedNodes.length > 0) { + for (var n = 0; n < mutations.addedNodes.length; n++) { + var node = mutations.addedNodes[n]; + + if (node.selected) { + changed = true; + } + } + } else if (mutations.removedNodes && mutations.removedNodes.length > 0) { + changed = true; + } + + // Only re-pull the data if we think there is a change + if (changed) { + this.dataAdapter.current(function (currentData) { + self.trigger('selection:update', { + data: currentData + }); + }); + } + }; + + /** + * Override the trigger method to automatically trigger pre-events when + * there are events that can be prevented. + */ + Select2.prototype.trigger = function (name, args) { + var actualTrigger = Select2.__super__.trigger; + var preTriggerMap = { + 'open': 'opening', + 'close': 'closing', + 'select': 'selecting', + 'unselect': 'unselecting', + 'clear': 'clearing' + }; + + if (args === undefined) { + args = {}; + } + + if (name in preTriggerMap) { + var preTriggerName = preTriggerMap[name]; + var preTriggerArgs = { + prevented: false, + name: name, + args: args + }; + + actualTrigger.call(this, preTriggerName, preTriggerArgs); + + if (preTriggerArgs.prevented) { + args.prevented = true; + + return; + } + } + + actualTrigger.call(this, name, args); + }; + + Select2.prototype.toggleDropdown = function () { + if (this.options.get('disabled')) { + return; + } + + if (this.isOpen()) { + this.close(); + } else { + this.open(); + } + }; + + Select2.prototype.open = function () { + if (this.isOpen()) { + return; + } + + this.trigger('query', {}); + }; + + Select2.prototype.close = function () { + if (!this.isOpen()) { + return; + } + + this.trigger('close', {}); + }; + + Select2.prototype.isOpen = function () { + return this.$container.hasClass('select2-container--open'); + }; + + Select2.prototype.hasFocus = function () { + return this.$container.hasClass('select2-container--focus'); + }; + + Select2.prototype.focus = function (data) { + // No need to re-trigger focus events if we are already focused + if (this.hasFocus()) { + return; + } + + this.$container.addClass('select2-container--focus'); + this.trigger('focus', {}); + }; + + Select2.prototype.enable = function (args) { + if (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.' + ); + } + + if (args == null || args.length === 0) { + args = [true]; + } + + var disabled = !args[0]; + + this.$element.prop('disabled', disabled); + }; + + Select2.prototype.data = function () { + if (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 data = []; + + this.dataAdapter.current(function (currentData) { + data = currentData; + }); + + return data; + }; + + Select2.prototype.val = function (args) { + 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.' + ); + } + + if (args == null || args.length === 0) { + return this.$element.val(); + } + + var newVal = args[0]; + + if ($.isArray(newVal)) { + newVal = $.map(newVal, function (obj) { + return obj.toString(); + }); + } + + this.$element.val(newVal).trigger('change'); + }; + + Select2.prototype.destroy = function () { + this.$container.remove(); + + if (this.$element[0].detachEvent) { + this.$element[0].detachEvent('onpropertychange', this._syncA); + } + + if (this._observer != null) { + this._observer.disconnect(); + this._observer = null; + } else if (this.$element[0].removeEventListener) { + this.$element[0] + .removeEventListener('DOMAttrModified', this._syncA, false); + this.$element[0] + .removeEventListener('DOMNodeInserted', this._syncS, false); + this.$element[0] + .removeEventListener('DOMNodeRemoved', this._syncS, false); + } + + this._syncA = null; + this._syncS = null; + + this.$element.off('.select2'); + this.$element.attr('tabindex', + Utils.GetData(this.$element[0], 'old-tabindex')); + + this.$element.removeClass('select2-hidden-accessible'); + this.$element.attr('aria-hidden', 'false'); + Utils.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; + }; + + Select2.prototype.render = function () { + var $container = $( + '<span class="select2 select2-container">' + + '<span class="selection"></span>' + + '<span class="dropdown-wrapper" aria-hidden="true"></span>' + + '</span>' + ); + + $container.attr('dir', this.options.get('dir')); + + this.$container = $container; + + this.$container.addClass('select2-container--' + this.options.get('theme')); + + Utils.StoreData($container[0], 'element', this.$element); + + return $container; + }; + + return Select2; +}); + +S2.define('select2/compat/utils',[ + 'jquery' +], function ($) { + function syncCssClasses ($dest, $src, adapter) { + var classes, replacements = [], adapted; + + classes = $.trim($dest.attr('class')); + + if (classes) { + classes = '' + classes; // for IE which returns object + + $(classes.split(/\s+/)).each(function () { + // Save all Select2 classes + if (this.indexOf('select2-') === 0) { + replacements.push(this); + } + }); + } + + classes = $.trim($src.attr('class')); + + if (classes) { + classes = '' + classes; // for IE which returns object + + $(classes.split(/\s+/)).each(function () { + // Only adapt non-Select2 classes + if (this.indexOf('select2-') !== 0) { + adapted = adapter(this); + + if (adapted != null) { + replacements.push(adapted); + } + } + }); + } + + $dest.attr('class', replacements.join(' ')); + } + + return { + syncCssClasses: syncCssClasses + }; +}); + +S2.define('select2/compat/containerCss',[ + 'jquery', + './utils' +], function ($, CompatUtils) { + // No-op CSS adapter that discards all classes by default + function _containerAdapter (clazz) { + return null; + } + + function ContainerCSS () { } + + ContainerCSS.prototype.render = function (decorated) { + var $container = decorated.call(this); + + var containerCssClass = this.options.get('containerCssClass') || ''; + + if ($.isFunction(containerCssClass)) { + containerCssClass = containerCssClass(this.$element); + } + + var containerCssAdapter = this.options.get('adaptContainerCssClass'); + containerCssAdapter = containerCssAdapter || _containerAdapter; + + if (containerCssClass.indexOf(':all:') !== -1) { + containerCssClass = containerCssClass.replace(':all:', ''); + + var _cssAdapter = containerCssAdapter; + + containerCssAdapter = function (clazz) { + var adapted = _cssAdapter(clazz); + + if (adapted != null) { + // Append the old one along with the adapted one + return adapted + ' ' + clazz; + } + + return clazz; + }; + } + + var containerCss = this.options.get('containerCss') || {}; + + if ($.isFunction(containerCss)) { + containerCss = containerCss(this.$element); + } + + CompatUtils.syncCssClasses($container, this.$element, containerCssAdapter); + + $container.css(containerCss); + $container.addClass(containerCssClass); + + return $container; + }; + + return ContainerCSS; +}); + +S2.define('select2/compat/dropdownCss',[ + 'jquery', + './utils' +], function ($, CompatUtils) { + // No-op CSS adapter that discards all classes by default + function _dropdownAdapter (clazz) { + return null; + } + + function DropdownCSS () { } + + DropdownCSS.prototype.render = function (decorated) { + var $dropdown = decorated.call(this); + + var dropdownCssClass = this.options.get('dropdownCssClass') || ''; + + if ($.isFunction(dropdownCssClass)) { + dropdownCssClass = dropdownCssClass(this.$element); + } + + var dropdownCssAdapter = this.options.get('adaptDropdownCssClass'); + dropdownCssAdapter = dropdownCssAdapter || _dropdownAdapter; + + if (dropdownCssClass.indexOf(':all:') !== -1) { + dropdownCssClass = dropdownCssClass.replace(':all:', ''); + + var _cssAdapter = dropdownCssAdapter; + + dropdownCssAdapter = function (clazz) { + var adapted = _cssAdapter(clazz); + + if (adapted != null) { + // Append the old one along with the adapted one + return adapted + ' ' + clazz; + } + + return clazz; + }; + } + + var dropdownCss = this.options.get('dropdownCss') || {}; + + if ($.isFunction(dropdownCss)) { + dropdownCss = dropdownCss(this.$element); + } + + CompatUtils.syncCssClasses($dropdown, this.$element, dropdownCssAdapter); + + $dropdown.css(dropdownCss); + $dropdown.addClass(dropdownCssClass); + + return $dropdown; + }; + + return DropdownCSS; +}); + +S2.define('select2/compat/initSelection',[ + 'jquery' +], function ($) { + function InitSelection (decorated, $element, options) { + if (options.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 = options.get('initSelection'); + this._isInitialized = false; + + decorated.call(this, $element, options); + } + + InitSelection.prototype.current = function (decorated, callback) { + var self = this; + + if (this._isInitialized) { + decorated.call(this, callback); + + return; + } + + this.initSelection.call(null, this.$element, function (data) { + self._isInitialized = true; + + if (!$.isArray(data)) { + data = [data]; + } + + callback(data); + }); + }; + + return InitSelection; +}); + +S2.define('select2/compat/inputData',[ + 'jquery', + '../utils' +], function ($, Utils) { + function InputData (decorated, $element, options) { + this._currentData = []; + this._valueSeparator = options.get('valueSeparator') || ','; + + if ($element.prop('type') === 'hidden') { + if (options.get('debug') && console && console.warn) { + console.warn( + 'Select2: Using a hidden input with Select2 is no longer ' + + 'supported and may stop working in the future. It is recommended ' + + 'to use a `<select>` element instead.' + ); + } + } + + decorated.call(this, $element, options); + } + + InputData.prototype.current = function (_, callback) { + function getSelected (data, selectedIds) { + var selected = []; + + if (data.selected || $.inArray(data.id, selectedIds) !== -1) { + data.selected = true; + selected.push(data); + } else { + data.selected = false; + } + + if (data.children) { + selected.push.apply(selected, getSelected(data.children, selectedIds)); + } + + return selected; + } + + var selected = []; + + for (var d = 0; d < this._currentData.length; d++) { + var data = this._currentData[d]; + + selected.push.apply( + selected, + getSelected( + data, + this.$element.val().split( + this._valueSeparator + ) + ) + ); + } + + callback(selected); + }; + + InputData.prototype.select = function (_, data) { + if (!this.options.get('multiple')) { + this.current(function (allData) { + $.map(allData, function (data) { + data.selected = false; + }); + }); + + this.$element.val(data.id); + this.$element.trigger('change'); + } else { + var value = this.$element.val(); + value += this._valueSeparator + data.id; + + this.$element.val(value); + this.$element.trigger('change'); + } + }; + + InputData.prototype.unselect = function (_, data) { + var self = this; + + data.selected = false; + + this.current(function (allData) { + var values = []; + + for (var d = 0; d < allData.length; d++) { + var item = allData[d]; + + if (data.id == item.id) { + continue; + } + + values.push(item.id); + } + + self.$element.val(values.join(self._valueSeparator)); + self.$element.trigger('change'); + }); + }; + + InputData.prototype.query = function (_, params, callback) { + var results = []; + + for (var d = 0; d < this._currentData.length; d++) { + var data = this._currentData[d]; + + var matches = this.matches(params, data); + + if (matches !== null) { + results.push(matches); + } + } + + callback({ + results: results + }); + }; + + InputData.prototype.addOptions = function (_, $options) { + var options = $.map($options, function ($option) { + return Utils.GetData($option[0], 'data'); + }); + + this._currentData.push.apply(this._currentData, options); + }; + + return InputData; +}); + +S2.define('select2/compat/matcher',[ + 'jquery' +], function ($) { + function oldMatcher (matcher) { + function wrappedMatcher (params, data) { + var match = $.extend(true, {}, data); + + if (params.term == null || $.trim(params.term) === '') { + return match; + } + + if (data.children) { + for (var c = data.children.length - 1; c >= 0; c--) { + var child = data.children[c]; + + // Check if the child object matches + // The old matcher returned a boolean true or false + var doesMatch = matcher(params.term, child.text, child); + + // If the child didn't match, pop it off + if (!doesMatch) { + match.children.splice(c, 1); + } + } + + if (match.children.length > 0) { + return match; + } + } + + if (matcher(params.term, data.text, data)) { + return match; + } + + return null; + } + + return wrappedMatcher; + } + + return oldMatcher; +}); + +S2.define('select2/compat/query',[ + +], function () { + function Query (decorated, $element, options) { + if (options.get('debug') && window.console && console.warn) { + console.warn( + 'Select2: The `query` option has been deprecated in favor of a ' + + 'custom data adapter that overrides the `query` method. Support ' + + 'will be removed for the `query` option in future versions of ' + + 'Select2.' + ); + } + + decorated.call(this, $element, options); + } + + Query.prototype.query = function (_, params, callback) { + params.callback = callback; + + var query = this.options.get('query'); + + query.call(null, params); + }; + + return Query; +}); + +S2.define('select2/dropdown/attachContainer',[ + +], function () { + function AttachContainer (decorated, $element, options) { + decorated.call(this, $element, options); + } + + AttachContainer.prototype.position = + function (decorated, $dropdown, $container) { + var $dropdownContainer = $container.find('.dropdown-wrapper'); + $dropdownContainer.append($dropdown); + + $dropdown.addClass('select2-dropdown--below'); + $container.addClass('select2-container--below'); + }; + + return AttachContainer; +}); + +S2.define('select2/dropdown/stopPropagation',[ + +], function () { + function StopPropagation () { } + + StopPropagation.prototype.bind = function (decorated, container, $container) { + decorated.call(this, container, $container); + + var stoppedEvents = [ + 'blur', + 'change', + 'click', + 'dblclick', + 'focus', + 'focusin', + 'focusout', + 'input', + 'keydown', + 'keyup', + 'keypress', + 'mousedown', + 'mouseenter', + 'mouseleave', + 'mousemove', + 'mouseover', + 'mouseup', + 'search', + 'touchend', + 'touchstart' + ]; + + this.$dropdown.on(stoppedEvents.join(' '), function (evt) { + evt.stopPropagation(); + }); + }; + + return StopPropagation; +}); + +S2.define('select2/selection/stopPropagation',[ + +], function () { + function StopPropagation () { } + + StopPropagation.prototype.bind = function (decorated, container, $container) { + decorated.call(this, container, $container); + + var stoppedEvents = [ + 'blur', + 'change', + 'click', + 'dblclick', + 'focus', + 'focusin', + 'focusout', + 'input', + 'keydown', + 'keyup', + 'keypress', + 'mousedown', + 'mouseenter', + 'mouseleave', + 'mousemove', + 'mouseover', + 'mouseup', + 'search', + 'touchend', + 'touchstart' + ]; + + this.$selection.on(stoppedEvents.join(' '), function (evt) { + evt.stopPropagation(); + }); + }; + + return StopPropagation; +}); + +/*! + * jQuery Mousewheel 3.1.13 + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + */ + +(function (factory) { + if ( typeof S2.define === 'function' && S2.define.amd ) { + // AMD. Register as an anonymous module. + S2.define('jquery-mousewheel',['jquery'], factory); + } else if (typeof exports === 'object') { + // Node/CommonJS style for Browserify + module.exports = factory; + } else { + // Browser globals + factory(jQuery); + } +}(function ($) { + + var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'], + toBind = ( 'onwheel' in document || document.documentMode >= 9 ) ? + ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'], + slice = Array.prototype.slice, + nullLowestDeltaTimeout, lowestDelta; + + if ( $.event.fixHooks ) { + for ( var i = toFix.length; i; ) { + $.event.fixHooks[ toFix[--i] ] = $.event.mouseHooks; + } + } + + var special = $.event.special.mousewheel = { + version: '3.1.12', + + setup: function() { + if ( this.addEventListener ) { + for ( var i = toBind.length; i; ) { + this.addEventListener( toBind[--i], handler, false ); + } + } else { + this.onmousewheel = handler; + } + // Store the line height and page height for this particular element + $.data(this, 'mousewheel-line-height', special.getLineHeight(this)); + $.data(this, 'mousewheel-page-height', special.getPageHeight(this)); + }, + + teardown: function() { + if ( this.removeEventListener ) { + for ( var i = toBind.length; i; ) { + this.removeEventListener( toBind[--i], handler, false ); + } + } else { + this.onmousewheel = null; + } + // Clean up the data we added to the element + $.removeData(this, 'mousewheel-line-height'); + $.removeData(this, 'mousewheel-page-height'); + }, + + getLineHeight: function(elem) { + var $elem = $(elem), + $parent = $elem['offsetParent' in $.fn ? 'offsetParent' : 'parent'](); + if (!$parent.length) { + $parent = $('body'); + } + return parseInt($parent.css('fontSize'), 10) || parseInt($elem.css('fontSize'), 10) || 16; + }, + + getPageHeight: function(elem) { + return $(elem).height(); + }, + + settings: { + adjustOldDeltas: true, // see shouldAdjustOldDeltas() below + normalizeOffset: true // calls getBoundingClientRect for each event + } + }; + + $.fn.extend({ + mousewheel: function(fn) { + return fn ? this.bind('mousewheel', fn) : this.trigger('mousewheel'); + }, + + unmousewheel: function(fn) { + return this.unbind('mousewheel', fn); + } + }); + + + function handler(event) { + var orgEvent = event || window.event, + args = slice.call(arguments, 1), + delta = 0, + deltaX = 0, + deltaY = 0, + absDelta = 0, + offsetX = 0, + offsetY = 0; + event = $.event.fix(orgEvent); + event.type = 'mousewheel'; + + // Old school scrollwheel delta + if ( 'detail' in orgEvent ) { deltaY = orgEvent.detail * -1; } + if ( 'wheelDelta' in orgEvent ) { deltaY = orgEvent.wheelDelta; } + if ( 'wheelDeltaY' in orgEvent ) { deltaY = orgEvent.wheelDeltaY; } + if ( 'wheelDeltaX' in orgEvent ) { deltaX = orgEvent.wheelDeltaX * -1; } + + // Firefox < 17 horizontal scrolling related to DOMMouseScroll event + if ( 'axis' in orgEvent && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) { + deltaX = deltaY * -1; + deltaY = 0; + } + + // Set delta to be deltaY or deltaX if deltaY is 0 for backwards compatabilitiy + delta = deltaY === 0 ? deltaX : deltaY; + + // New school wheel delta (wheel event) + if ( 'deltaY' in orgEvent ) { + deltaY = orgEvent.deltaY * -1; + delta = deltaY; + } + if ( 'deltaX' in orgEvent ) { + deltaX = orgEvent.deltaX; + if ( deltaY === 0 ) { delta = deltaX * -1; } + } + + // No change actually happened, no reason to go any further + if ( deltaY === 0 && deltaX === 0 ) { return; } + + // Need to convert lines and pages to pixels if we aren't already in pixels + // There are three delta modes: + // * deltaMode 0 is by pixels, nothing to do + // * deltaMode 1 is by lines + // * deltaMode 2 is by pages + if ( orgEvent.deltaMode === 1 ) { + var lineHeight = $.data(this, 'mousewheel-line-height'); + delta *= lineHeight; + deltaY *= lineHeight; + deltaX *= lineHeight; + } else if ( orgEvent.deltaMode === 2 ) { + var pageHeight = $.data(this, 'mousewheel-page-height'); + delta *= pageHeight; + deltaY *= pageHeight; + deltaX *= pageHeight; + } + + // Store lowest absolute delta to normalize the delta values + absDelta = Math.max( Math.abs(deltaY), Math.abs(deltaX) ); + + if ( !lowestDelta || absDelta < lowestDelta ) { + lowestDelta = absDelta; + + // Adjust older deltas if necessary + if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) { + lowestDelta /= 40; + } + } + + // Adjust older deltas if necessary + if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) { + // Divide all the things by 40! + delta /= 40; + deltaX /= 40; + deltaY /= 40; + } + + // Get a whole, normalized value for the deltas + delta = Math[ delta >= 1 ? 'floor' : 'ceil' ](delta / lowestDelta); + deltaX = Math[ deltaX >= 1 ? 'floor' : 'ceil' ](deltaX / lowestDelta); + deltaY = Math[ deltaY >= 1 ? 'floor' : 'ceil' ](deltaY / lowestDelta); + + // Normalise offsetX and offsetY properties + if ( special.settings.normalizeOffset && this.getBoundingClientRect ) { + var boundingRect = this.getBoundingClientRect(); + offsetX = event.clientX - boundingRect.left; + offsetY = event.clientY - boundingRect.top; + } + + // Add information to the event object + event.deltaX = deltaX; + event.deltaY = deltaY; + event.deltaFactor = lowestDelta; + event.offsetX = offsetX; + event.offsetY = offsetY; + // Go ahead and set deltaMode to 0 since we converted to pixels + // Although this is a little odd since we overwrite the deltaX/Y + // properties with normalized deltas. + event.deltaMode = 0; + + // Add event and delta to the front of the arguments + args.unshift(event, delta, deltaX, deltaY); + + // Clearout lowestDelta after sometime to better + // handle multiple device types that give different + // a different lowestDelta + // Ex: trackpad = 3 and mouse wheel = 120 + if (nullLowestDeltaTimeout) { clearTimeout(nullLowestDeltaTimeout); } + nullLowestDeltaTimeout = setTimeout(nullLowestDelta, 200); + + return ($.event.dispatch || $.event.handle).apply(this, args); + } + + function nullLowestDelta() { + lowestDelta = null; + } + + function shouldAdjustOldDeltas(orgEvent, absDelta) { + // If this is an older event and the delta is divisable by 120, + // then we are assuming that the browser is treating this as an + // older mouse wheel event and that we should divide the deltas + // by 40 to try and get a more usable deltaFactor. + // Side note, this actually impacts the reported scroll distance + // in older browsers and can cause scrolling to be slower than native. + // Turn this off by setting $.event.special.mousewheel.settings.adjustOldDeltas to false. + return special.settings.adjustOldDeltas && orgEvent.type === 'mousewheel' && absDelta % 120 === 0; + } + +})); + +S2.define('jquery.select2',[ + 'jquery', + 'jquery-mousewheel', + + './select2/core', + './select2/defaults', + './select2/utils' +], function ($, _, Select2, Defaults, Utils) { + if ($.fn.select2 == null) { + // All methods that should return the element + var thisMethods = ['open', 'close', 'destroy']; + + $.fn.select2 = function (options) { + options = options || {}; + + if (typeof options === 'object') { + this.each(function () { + var instanceOptions = $.extend(true, {}, options); + + var instance = new Select2($(this), instanceOptions); + }); + + return this; + } else if (typeof options === 'string') { + var ret; + var args = Array.prototype.slice.call(arguments, 1); + + this.each(function () { + var instance = Utils.GetData(this, 'select2'); + + if (instance == null && window.console && console.error) { + console.error( + 'The select2(\'' + options + '\') method was called on an ' + + 'element that is not using Select2.' + ); + } + + ret = instance[options].apply(instance, args); + }); + + // Check if we should be returning `this` + if ($.inArray(options, thisMethods) > -1) { + return this; + } + + return ret; + } else { + throw new Error('Invalid arguments for Select2: ' + options); + } + }; + } + + if ($.fn.select2.defaults == null) { + $.fn.select2.defaults = Defaults; + } + + return Select2; +}); + + // Return the AMD loader configuration so it can be used outside of this file + return { + define: S2.define, + require: S2.require + }; +}()); + + // Autoload the jQuery bindings + // We know that all of the modules exist above this, so we're safe + var select2 = S2.require('jquery.select2'); + + // Hold the AMD module references on the jQuery function that was just loaded + // This allows Select2 to use the internal loader outside of this file, such + // as in the language files. + jQuery.fn.select2.amd = S2; + + // Return the Select2 instance for anyone who is importing it. + return select2; +})); diff --git a/static/admin/js/vendor/select2/select2.full.d379d5235584.js.gz b/static/admin/js/vendor/select2/select2.full.d379d5235584.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..e1a92d3a7361cc3bbf8097292ac6ae6141b845d5 GIT binary patch literal 36735 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 C1W!Z& literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/select2.full.js b/static/admin/js/vendor/select2/select2.full.js new file mode 100644 index 0000000..f3a20b9 --- /dev/null +++ b/static/admin/js/vendor/select2/select2.full.js @@ -0,0 +1,6597 @@ +/*! + * Select2 4.0.7 + * https://select2.github.io + * + * Released under the MIT license + * https://github.com/select2/select2/blob/master/LICENSE.md + */ +;(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function (root, jQuery) { + if (jQuery === undefined) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if (typeof window !== 'undefined') { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + factory(jQuery); + return jQuery; + }; + } else { + // Browser globals + factory(jQuery); + } +} (function (jQuery) { + // This is needed so we can catch the AMD loader configuration and use it + // The inner file should be wrapped (by `banner.start.js`) in a function that + // returns the AMD loader references. + var S2 =(function () { + // Restore the Select2 AMD loader so it can be used + // Needed mostly in the language files, where the loader is not inserted + if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) { + var S2 = jQuery.fn.select2.amd; + } +var S2;(function () { if (!S2 || !S2.requirejs) { +if (!S2) { S2 = {}; } else { require = S2; } +/** + * @license almond 0.3.3 Copyright jQuery Foundation and other contributors. + * Released under MIT license, http://github.com/requirejs/almond/LICENSE + */ +//Going sloppy to avoid 'use strict' string cost, but strict practices should +//be followed. +/*global setTimeout: false */ + +var requirejs, require, define; +(function (undef) { + var main, req, makeMap, handlers, + defined = {}, + waiting = {}, + config = {}, + defining = {}, + hasOwn = Object.prototype.hasOwnProperty, + aps = [].slice, + jsSuffixRegExp = /\.js$/; + + function hasProp(obj, prop) { + return hasOwn.call(obj, prop); + } + + /** + * Given a relative module name, like ./something, normalize it to + * a real name that can be mapped to a path. + * @param {String} name the relative name + * @param {String} baseName a real name that the name arg is relative + * to. + * @returns {String} normalized name + */ + function normalize(name, baseName) { + var nameParts, nameSegment, mapValue, foundMap, lastIndex, + foundI, foundStarMap, starI, i, j, part, normalizedBaseParts, + baseParts = baseName && baseName.split("/"), + map = config.map, + starMap = (map && map['*']) || {}; + + //Adjust any relative paths. + if (name) { + name = name.split('/'); + lastIndex = name.length - 1; + + // If wanting node ID compatibility, strip .js from end + // of IDs. Have to do this here, and not in nameToUrl + // because node allows either .js or non .js to map + // to same file. + if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) { + name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, ''); + } + + // Starts with a '.' so need the baseName + if (name[0].charAt(0) === '.' && baseParts) { + //Convert baseName to array, and lop off the last part, + //so that . matches that 'directory' and not name of the baseName's + //module. For instance, baseName of 'one/two/three', maps to + //'one/two/three.js', but we want the directory, 'one/two' for + //this normalization. + normalizedBaseParts = baseParts.slice(0, baseParts.length - 1); + name = normalizedBaseParts.concat(name); + } + + //start trimDots + for (i = 0; i < name.length; i++) { + part = name[i]; + if (part === '.') { + name.splice(i, 1); + i -= 1; + } else if (part === '..') { + // If at the start, or previous value is still .., + // keep them so that when converted to a path it may + // still work when converted to a path, even though + // as an ID it is less than ideal. In larger point + // releases, may be better to just kick out an error. + if (i === 0 || (i === 1 && name[2] === '..') || name[i - 1] === '..') { + continue; + } else if (i > 0) { + name.splice(i - 1, 2); + i -= 2; + } + } + } + //end trimDots + + name = name.join('/'); + } + + //Apply map config if available. + if ((baseParts || starMap) && map) { + nameParts = name.split('/'); + + for (i = nameParts.length; i > 0; i -= 1) { + nameSegment = nameParts.slice(0, i).join("/"); + + if (baseParts) { + //Find the longest baseName segment match in the config. + //So, do joins on the biggest to smallest lengths of baseParts. + for (j = baseParts.length; j > 0; j -= 1) { + mapValue = map[baseParts.slice(0, j).join('/')]; + + //baseName segment has config, find if it has one for + //this name. + if (mapValue) { + mapValue = mapValue[nameSegment]; + if (mapValue) { + //Match, update name to the new value. + foundMap = mapValue; + foundI = i; + break; + } + } + } + } + + if (foundMap) { + break; + } + + //Check for a star map match, but just hold on to it, + //if there is a shorter segment match later in a matching + //config, then favor over this star map. + if (!foundStarMap && starMap && starMap[nameSegment]) { + foundStarMap = starMap[nameSegment]; + starI = i; + } + } + + if (!foundMap && foundStarMap) { + foundMap = foundStarMap; + foundI = starI; + } + + if (foundMap) { + nameParts.splice(0, foundI, foundMap); + name = nameParts.join('/'); + } + } + + return name; + } + + function makeRequire(relName, forceSync) { + return function () { + //A version of a require function that passes a moduleName + //value for items that may need to + //look up paths relative to the moduleName + var args = aps.call(arguments, 0); + + //If first arg is not require('string'), and there is only + //one arg, it is the array form without a callback. Insert + //a null so that the following concat is correct. + if (typeof args[0] !== 'string' && args.length === 1) { + args.push(null); + } + return req.apply(undef, args.concat([relName, forceSync])); + }; + } + + function makeNormalize(relName) { + return function (name) { + return normalize(name, relName); + }; + } + + function makeLoad(depName) { + return function (value) { + defined[depName] = value; + }; + } + + function callDep(name) { + if (hasProp(waiting, name)) { + var args = waiting[name]; + delete waiting[name]; + defining[name] = true; + main.apply(undef, args); + } + + if (!hasProp(defined, name) && !hasProp(defining, name)) { + throw new Error('No ' + name); + } + return defined[name]; + } + + //Turns a plugin!resource to [plugin, resource] + //with the plugin being undefined if the name + //did not have a plugin prefix. + function splitPrefix(name) { + var prefix, + index = name ? name.indexOf('!') : -1; + if (index > -1) { + prefix = name.substring(0, index); + name = name.substring(index + 1, name.length); + } + return [prefix, name]; + } + + //Creates a parts array for a relName where first part is plugin ID, + //second part is resource ID. Assumes relName has already been normalized. + function makeRelParts(relName) { + return relName ? splitPrefix(relName) : []; + } + + /** + * Makes a name map, normalizing the name, and using a plugin + * for normalization if necessary. Grabs a ref to plugin + * too, as an optimization. + */ + makeMap = function (name, relParts) { + var plugin, + parts = splitPrefix(name), + prefix = parts[0], + relResourceName = relParts[1]; + + name = parts[1]; + + if (prefix) { + prefix = normalize(prefix, relResourceName); + plugin = callDep(prefix); + } + + //Normalize according + if (prefix) { + if (plugin && plugin.normalize) { + name = plugin.normalize(name, makeNormalize(relResourceName)); + } else { + name = normalize(name, relResourceName); + } + } else { + name = normalize(name, relResourceName); + parts = splitPrefix(name); + prefix = parts[0]; + name = parts[1]; + if (prefix) { + plugin = callDep(prefix); + } + } + + //Using ridiculous property names for space reasons + return { + f: prefix ? prefix + '!' + name : name, //fullName + n: name, + pr: prefix, + p: plugin + }; + }; + + function makeConfig(name) { + return function () { + return (config && config.config && config.config[name]) || {}; + }; + } + + handlers = { + require: function (name) { + return makeRequire(name); + }, + exports: function (name) { + var e = defined[name]; + if (typeof e !== 'undefined') { + return e; + } else { + return (defined[name] = {}); + } + }, + module: function (name) { + return { + id: name, + uri: '', + exports: defined[name], + config: makeConfig(name) + }; + } + }; + + main = function (name, deps, callback, relName) { + var cjsModule, depName, ret, map, i, relParts, + args = [], + callbackType = typeof callback, + usingExports; + + //Use name if no relName + relName = relName || name; + relParts = makeRelParts(relName); + + //Call the callback to define the module, if necessary. + if (callbackType === 'undefined' || callbackType === 'function') { + //Pull out the defined dependencies and pass the ordered + //values to the callback. + //Default to [require, exports, module] if no deps + deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps; + for (i = 0; i < deps.length; i += 1) { + map = makeMap(deps[i], relParts); + depName = map.f; + + //Fast path CommonJS standard dependencies. + if (depName === "require") { + args[i] = handlers.require(name); + } else if (depName === "exports") { + //CommonJS module spec 1.1 + args[i] = handlers.exports(name); + usingExports = true; + } else if (depName === "module") { + //CommonJS module spec 1.1 + cjsModule = args[i] = handlers.module(name); + } else if (hasProp(defined, depName) || + hasProp(waiting, depName) || + hasProp(defining, depName)) { + args[i] = callDep(depName); + } else if (map.p) { + map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {}); + args[i] = defined[depName]; + } else { + throw new Error(name + ' missing ' + depName); + } + } + + ret = callback ? callback.apply(defined[name], args) : undefined; + + if (name) { + //If setting exports via "module" is in play, + //favor that over return value and exports. After that, + //favor a non-undefined return value over exports use. + if (cjsModule && cjsModule.exports !== undef && + cjsModule.exports !== defined[name]) { + defined[name] = cjsModule.exports; + } else if (ret !== undef || !usingExports) { + //Use the return value from the function. + defined[name] = ret; + } + } + } else if (name) { + //May just be an object definition for the module. Only + //worry about defining if have a module name. + defined[name] = callback; + } + }; + + requirejs = require = req = function (deps, callback, relName, forceSync, alt) { + if (typeof deps === "string") { + if (handlers[deps]) { + //callback in this case is really relName + return handlers[deps](callback); + } + //Just return the module wanted. In this scenario, the + //deps arg is the module name, and second arg (if passed) + //is just the relName. + //Normalize module name, if it contains . or .. + return callDep(makeMap(deps, makeRelParts(callback)).f); + } else if (!deps.splice) { + //deps is a config object, not an array. + config = deps; + if (config.deps) { + req(config.deps, config.callback); + } + if (!callback) { + return; + } + + if (callback.splice) { + //callback is an array, which means it is a dependency list. + //Adjust args if there are dependencies + deps = callback; + callback = relName; + relName = null; + } else { + deps = undef; + } + } + + //Support require(['a']) + callback = callback || function () {}; + + //If relName is a function, it is an errback handler, + //so remove it. + if (typeof relName === 'function') { + relName = forceSync; + forceSync = alt; + } + + //Simulate async callback; + if (forceSync) { + main(undef, deps, callback, relName); + } else { + //Using a non-zero value because of concern for what old browsers + //do, and latest browsers "upgrade" to 4 if lower value is used: + //http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout: + //If want a value immediately, use require('id') instead -- something + //that works in almond on the global level, but not guaranteed and + //unlikely to work in other AMD implementations. + setTimeout(function () { + main(undef, deps, callback, relName); + }, 4); + } + + return req; + }; + + /** + * Just drops the config on the floor, but returns req in case + * the config return value is used. + */ + req.config = function (cfg) { + return req(cfg); + }; + + /** + * Expose module registry for debugging and tooling + */ + requirejs._defined = defined; + + define = function (name, deps, callback) { + if (typeof name !== 'string') { + throw new Error('See almond README: incorrect module build, no module name'); + } + + //This module may not have dependencies + if (!deps.splice) { + //deps is not an array, so probably means + //an object literal or factory function for + //the value. Adjust args. + callback = deps; + deps = []; + } + + if (!hasProp(defined, name) && !hasProp(waiting, name)) { + waiting[name] = [name, deps, callback]; + } + }; + + define.amd = { + jQuery: true + }; +}()); + +S2.requirejs = requirejs;S2.require = require;S2.define = define; +} +}()); +S2.define("almond", function(){}); + +/* global jQuery:false, $:false */ +S2.define('jquery',[],function () { + var _$ = jQuery || $; + + if (_$ == null && console && console.error) { + console.error( + 'Select2: An instance of jQuery or a jQuery-compatible library was not ' + + 'found. Make sure that you are including jQuery before Select2 on your ' + + 'web page.' + ); + } + + return _$; +}); + +S2.define('select2/utils',[ + 'jquery' +], function ($) { + var Utils = {}; + + Utils.Extend = function (ChildClass, SuperClass) { + var __hasProp = {}.hasOwnProperty; + + function BaseConstructor () { + this.constructor = ChildClass; + } + + for (var key in SuperClass) { + if (__hasProp.call(SuperClass, key)) { + ChildClass[key] = SuperClass[key]; + } + } + + BaseConstructor.prototype = SuperClass.prototype; + ChildClass.prototype = new BaseConstructor(); + ChildClass.__super__ = SuperClass.prototype; + + return ChildClass; + }; + + function getMethods (theClass) { + var proto = theClass.prototype; + + var methods = []; + + for (var methodName in proto) { + var m = proto[methodName]; + + if (typeof m !== 'function') { + continue; + } + + if (methodName === 'constructor') { + continue; + } + + methods.push(methodName); + } + + return methods; + } + + Utils.Decorate = function (SuperClass, DecoratorClass) { + var decoratedMethods = getMethods(DecoratorClass); + var superMethods = getMethods(SuperClass); + + function DecoratedClass () { + var unshift = Array.prototype.unshift; + + var argCount = DecoratorClass.prototype.constructor.length; + + var calledConstructor = SuperClass.prototype.constructor; + + if (argCount > 0) { + unshift.call(arguments, SuperClass.prototype.constructor); + + calledConstructor = DecoratorClass.prototype.constructor; + } + + calledConstructor.apply(this, arguments); + } + + DecoratorClass.displayName = SuperClass.displayName; + + function ctr () { + this.constructor = DecoratedClass; + } + + DecoratedClass.prototype = new ctr(); + + for (var m = 0; m < superMethods.length; m++) { + var superMethod = superMethods[m]; + + DecoratedClass.prototype[superMethod] = + SuperClass.prototype[superMethod]; + } + + var calledMethod = function (methodName) { + // Stub out the original method if it's not decorating an actual method + var originalMethod = function () {}; + + if (methodName in DecoratedClass.prototype) { + originalMethod = DecoratedClass.prototype[methodName]; + } + + var decoratedMethod = DecoratorClass.prototype[methodName]; + + return function () { + var unshift = Array.prototype.unshift; + + unshift.call(arguments, originalMethod); + + return decoratedMethod.apply(this, arguments); + }; + }; + + for (var d = 0; d < decoratedMethods.length; d++) { + var decoratedMethod = decoratedMethods[d]; + + DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod); + } + + return DecoratedClass; + }; + + var Observable = function () { + this.listeners = {}; + }; + + Observable.prototype.on = function (event, callback) { + this.listeners = this.listeners || {}; + + if (event in this.listeners) { + this.listeners[event].push(callback); + } else { + this.listeners[event] = [callback]; + } + }; + + Observable.prototype.trigger = function (event) { + var slice = Array.prototype.slice; + var params = slice.call(arguments, 1); + + this.listeners = this.listeners || {}; + + // Params should always come in as an array + if (params == null) { + params = []; + } + + // If there are no arguments to the event, use a temporary object + if (params.length === 0) { + params.push({}); + } + + // Set the `_type` of the first object to the event + params[0]._type = event; + + if (event in this.listeners) { + this.invoke(this.listeners[event], slice.call(arguments, 1)); + } + + if ('*' in this.listeners) { + this.invoke(this.listeners['*'], arguments); + } + }; + + Observable.prototype.invoke = function (listeners, params) { + for (var i = 0, len = listeners.length; i < len; i++) { + listeners[i].apply(this, params); + } + }; + + Utils.Observable = Observable; + + Utils.generateChars = function (length) { + var chars = ''; + + for (var i = 0; i < length; i++) { + var randomChar = Math.floor(Math.random() * 36); + chars += randomChar.toString(36); + } + + return chars; + }; + + Utils.bind = function (func, context) { + return function () { + func.apply(context, arguments); + }; + }; + + Utils._convertData = function (data) { + for (var originalKey in data) { + var keys = originalKey.split('-'); + + var dataLevel = data; + + if (keys.length === 1) { + continue; + } + + for (var k = 0; k < keys.length; k++) { + var key = keys[k]; + + // Lowercase the first letter + // By default, dash-separated becomes camelCase + key = key.substring(0, 1).toLowerCase() + key.substring(1); + + if (!(key in dataLevel)) { + dataLevel[key] = {}; + } + + if (k == keys.length - 1) { + dataLevel[key] = data[originalKey]; + } + + dataLevel = dataLevel[key]; + } + + delete data[originalKey]; + } + + return data; + }; + + Utils.hasScroll = function (index, el) { + // Adapted from the function created by @ShadowScripter + // and adapted by @BillBarry on the Stack Exchange Code Review website. + // The original code can be found at + // http://codereview.stackexchange.com/q/13338 + // and was designed to be used with the Sizzle selector engine. + + var $el = $(el); + var overflowX = el.style.overflowX; + var overflowY = el.style.overflowY; + + //Check both x and y declarations + if (overflowX === overflowY && + (overflowY === 'hidden' || overflowY === 'visible')) { + return false; + } + + if (overflowX === 'scroll' || overflowY === 'scroll') { + return true; + } + + return ($el.innerHeight() < el.scrollHeight || + $el.innerWidth() < el.scrollWidth); + }; + + Utils.escapeMarkup = function (markup) { + var replaceMap = { + '\\': '\', + '&': '&', + '<': '<', + '>': '>', + '"': '"', + '\'': ''', + '/': '/' + }; + + // Do not try to escape the markup if it's not a string + if (typeof markup !== 'string') { + return markup; + } + + return String(markup).replace(/[&<>"'\/\\]/g, function (match) { + return replaceMap[match]; + }); + }; + + // Append an array of jQuery nodes to a given element. + Utils.appendMany = function ($element, $nodes) { + // jQuery 1.7.x does not support $.fn.append() with an array + // Fall back to a jQuery object collection using $.fn.add() + if ($.fn.jquery.substr(0, 3) === '1.7') { + var $jqNodes = $(); + + $.map($nodes, function (node) { + $jqNodes = $jqNodes.add(node); + }); + + $nodes = $jqNodes; + } + + $element.append($nodes); + }; + + // Cache objects in Utils.__cache instead of $.data (see #4346) + Utils.__cache = {}; + + var id = 0; + Utils.GetUniqueElementId = function (element) { + // Get a unique element Id. If element has no id, + // creates a new unique number, stores it in the id + // attribute and returns the new id. + // If an id already exists, it simply returns it. + + var select2Id = element.getAttribute('data-select2-id'); + if (select2Id == null) { + // If element has id, use it. + if (element.id) { + select2Id = element.id; + element.setAttribute('data-select2-id', select2Id); + } else { + element.setAttribute('data-select2-id', ++id); + select2Id = id.toString(); + } + } + return select2Id; + }; + + Utils.StoreData = function (element, name, value) { + // Stores an item in the cache for a specified element. + // name is the cache key. + var id = Utils.GetUniqueElementId(element); + if (!Utils.__cache[id]) { + Utils.__cache[id] = {}; + } + + Utils.__cache[id][name] = value; + }; + + Utils.GetData = function (element, name) { + // Retrieves a value from the cache by its key (name) + // name is optional. If no name specified, return + // all cache items for the specified element. + // and for a specified element. + var id = Utils.GetUniqueElementId(element); + if (name) { + if (Utils.__cache[id]) { + if (Utils.__cache[id][name] != null) { + return Utils.__cache[id][name]; + } + return $(element).data(name); // Fallback to HTML5 data attribs. + } + return $(element).data(name); // Fallback to HTML5 data attribs. + } else { + return Utils.__cache[id]; + } + }; + + Utils.RemoveData = function (element) { + // Removes all cached items for a specified element. + var id = Utils.GetUniqueElementId(element); + if (Utils.__cache[id] != null) { + delete Utils.__cache[id]; + } + }; + + return Utils; +}); + +S2.define('select2/results',[ + 'jquery', + './utils' +], function ($, Utils) { + function Results ($element, options, dataAdapter) { + this.$element = $element; + this.data = dataAdapter; + this.options = options; + + Results.__super__.constructor.call(this); + } + + Utils.Extend(Results, Utils.Observable); + + Results.prototype.render = function () { + var $results = $( + '<ul class="select2-results__options" role="tree"></ul>' + ); + + if (this.options.get('multiple')) { + $results.attr('aria-multiselectable', 'true'); + } + + this.$results = $results; + + return $results; + }; + + Results.prototype.clear = function () { + this.$results.empty(); + }; + + Results.prototype.displayMessage = function (params) { + var escapeMarkup = this.options.get('escapeMarkup'); + + this.clear(); + this.hideLoading(); + + var $message = $( + '<li role="treeitem" aria-live="assertive"' + + ' class="select2-results__option"></li>' + ); + + var message = this.options.get('translations').get(params.message); + + $message.append( + escapeMarkup( + message(params.args) + ) + ); + + $message[0].className += ' select2-results__message'; + + this.$results.append($message); + }; + + Results.prototype.hideMessages = function () { + this.$results.find('.select2-results__message').remove(); + }; + + Results.prototype.append = function (data) { + this.hideLoading(); + + var $options = []; + + if (data.results == null || data.results.length === 0) { + if (this.$results.children().length === 0) { + this.trigger('results:message', { + message: 'noResults' + }); + } + + return; + } + + data.results = this.sort(data.results); + + for (var d = 0; d < data.results.length; d++) { + var item = data.results[d]; + + var $option = this.option(item); + + $options.push($option); + } + + this.$results.append($options); + }; + + Results.prototype.position = function ($results, $dropdown) { + var $resultsContainer = $dropdown.find('.select2-results'); + $resultsContainer.append($results); + }; + + Results.prototype.sort = function (data) { + var sorter = this.options.get('sorter'); + + return sorter(data); + }; + + Results.prototype.highlightFirstItem = function () { + var $options = this.$results + .find('.select2-results__option[aria-selected]'); + + var $selected = $options.filter('[aria-selected=true]'); + + // Check if there are any selected options + if ($selected.length > 0) { + // If there are selected options, highlight the first + $selected.first().trigger('mouseenter'); + } else { + // If there are no selected options, highlight the first option + // in the dropdown + $options.first().trigger('mouseenter'); + } + + this.ensureHighlightVisible(); + }; + + Results.prototype.setClasses = function () { + var self = this; + + this.data.current(function (selected) { + var selectedIds = $.map(selected, function (s) { + return s.id.toString(); + }); + + var $options = self.$results + .find('.select2-results__option[aria-selected]'); + + $options.each(function () { + var $option = $(this); + + var item = Utils.GetData(this, 'data'); + + // id needs to be converted to a string when comparing + var id = '' + item.id; + + if ((item.element != null && item.element.selected) || + (item.element == null && $.inArray(id, selectedIds) > -1)) { + $option.attr('aria-selected', 'true'); + } else { + $option.attr('aria-selected', 'false'); + } + }); + + }); + }; + + Results.prototype.showLoading = function (params) { + this.hideLoading(); + + var loadingMore = this.options.get('translations').get('searching'); + + var loading = { + disabled: true, + loading: true, + text: loadingMore(params) + }; + var $loading = this.option(loading); + $loading.className += ' loading-results'; + + this.$results.prepend($loading); + }; + + Results.prototype.hideLoading = function () { + this.$results.find('.loading-results').remove(); + }; + + Results.prototype.option = function (data) { + var option = document.createElement('li'); + option.className = 'select2-results__option'; + + var attrs = { + 'role': 'treeitem', + 'aria-selected': 'false' + }; + + if (data.disabled) { + delete attrs['aria-selected']; + attrs['aria-disabled'] = 'true'; + } + + if (data.id == null) { + delete attrs['aria-selected']; + } + + if (data._resultId != null) { + option.id = data._resultId; + } + + if (data.title) { + option.title = data.title; + } + + if (data.children) { + attrs.role = 'group'; + attrs['aria-label'] = data.text; + delete attrs['aria-selected']; + } + + for (var attr in attrs) { + var val = attrs[attr]; + + option.setAttribute(attr, val); + } + + if (data.children) { + var $option = $(option); + + var label = document.createElement('strong'); + label.className = 'select2-results__group'; + + var $label = $(label); + this.template(data, label); + + var $children = []; + + for (var c = 0; c < data.children.length; c++) { + var child = data.children[c]; + + var $child = this.option(child); + + $children.push($child); + } + + var $childrenContainer = $('<ul></ul>', { + 'class': 'select2-results__options select2-results__options--nested' + }); + + $childrenContainer.append($children); + + $option.append(label); + $option.append($childrenContainer); + } else { + this.template(data, option); + } + + Utils.StoreData(option, 'data', data); + + return option; + }; + + Results.prototype.bind = function (container, $container) { + var self = this; + + var id = container.id + '-results'; + + this.$results.attr('id', id); + + container.on('results:all', function (params) { + self.clear(); + self.append(params.data); + + if (container.isOpen()) { + self.setClasses(); + self.highlightFirstItem(); + } + }); + + container.on('results:append', function (params) { + self.append(params.data); + + if (container.isOpen()) { + self.setClasses(); + } + }); + + container.on('query', function (params) { + self.hideMessages(); + self.showLoading(params); + }); + + container.on('select', function () { + if (!container.isOpen()) { + return; + } + + self.setClasses(); + + if (self.options.get('scrollAfterSelect')) { + self.highlightFirstItem(); + } + }); + + container.on('unselect', function () { + if (!container.isOpen()) { + return; + } + + self.setClasses(); + + if (self.options.get('scrollAfterSelect')) { + self.highlightFirstItem(); + } + }); + + container.on('open', function () { + // When the dropdown is open, aria-expended="true" + self.$results.attr('aria-expanded', 'true'); + self.$results.attr('aria-hidden', 'false'); + + self.setClasses(); + self.ensureHighlightVisible(); + }); + + container.on('close', function () { + // When the dropdown is closed, aria-expended="false" + self.$results.attr('aria-expanded', 'false'); + self.$results.attr('aria-hidden', 'true'); + self.$results.removeAttr('aria-activedescendant'); + }); + + container.on('results:toggle', function () { + var $highlighted = self.getHighlightedResults(); + + if ($highlighted.length === 0) { + return; + } + + $highlighted.trigger('mouseup'); + }); + + container.on('results:select', function () { + var $highlighted = self.getHighlightedResults(); + + if ($highlighted.length === 0) { + return; + } + + var data = Utils.GetData($highlighted[0], 'data'); + + if ($highlighted.attr('aria-selected') == 'true') { + self.trigger('close', {}); + } else { + self.trigger('select', { + data: data + }); + } + }); + + container.on('results:previous', function () { + var $highlighted = self.getHighlightedResults(); + + var $options = self.$results.find('[aria-selected]'); + + var currentIndex = $options.index($highlighted); + + // If we are already at the top, don't move further + // If no options, currentIndex will be -1 + if (currentIndex <= 0) { + return; + } + + var nextIndex = currentIndex - 1; + + // If none are highlighted, highlight the first + if ($highlighted.length === 0) { + nextIndex = 0; + } + + var $next = $options.eq(nextIndex); + + $next.trigger('mouseenter'); + + var currentOffset = self.$results.offset().top; + var nextTop = $next.offset().top; + var nextOffset = self.$results.scrollTop() + (nextTop - currentOffset); + + if (nextIndex === 0) { + self.$results.scrollTop(0); + } else if (nextTop - currentOffset < 0) { + self.$results.scrollTop(nextOffset); + } + }); + + container.on('results:next', function () { + var $highlighted = self.getHighlightedResults(); + + var $options = self.$results.find('[aria-selected]'); + + var currentIndex = $options.index($highlighted); + + var nextIndex = currentIndex + 1; + + // If we are at the last option, stay there + if (nextIndex >= $options.length) { + return; + } + + var $next = $options.eq(nextIndex); + + $next.trigger('mouseenter'); + + var currentOffset = self.$results.offset().top + + self.$results.outerHeight(false); + var nextBottom = $next.offset().top + $next.outerHeight(false); + var nextOffset = self.$results.scrollTop() + nextBottom - currentOffset; + + if (nextIndex === 0) { + self.$results.scrollTop(0); + } else if (nextBottom > currentOffset) { + self.$results.scrollTop(nextOffset); + } + }); + + container.on('results:focus', function (params) { + params.element.addClass('select2-results__option--highlighted'); + }); + + container.on('results:message', function (params) { + self.displayMessage(params); + }); + + if ($.fn.mousewheel) { + this.$results.on('mousewheel', function (e) { + var top = self.$results.scrollTop(); + + var bottom = self.$results.get(0).scrollHeight - top + e.deltaY; + + var isAtTop = e.deltaY > 0 && top - e.deltaY <= 0; + var isAtBottom = e.deltaY < 0 && bottom <= self.$results.height(); + + if (isAtTop) { + self.$results.scrollTop(0); + + e.preventDefault(); + e.stopPropagation(); + } else if (isAtBottom) { + self.$results.scrollTop( + self.$results.get(0).scrollHeight - self.$results.height() + ); + + e.preventDefault(); + e.stopPropagation(); + } + }); + } + + this.$results.on('mouseup', '.select2-results__option[aria-selected]', + function (evt) { + var $this = $(this); + + var data = Utils.GetData(this, 'data'); + + if ($this.attr('aria-selected') === 'true') { + if (self.options.get('multiple')) { + self.trigger('unselect', { + originalEvent: evt, + data: data + }); + } else { + self.trigger('close', {}); + } + + return; + } + + self.trigger('select', { + originalEvent: evt, + data: data + }); + }); + + this.$results.on('mouseenter', '.select2-results__option[aria-selected]', + function (evt) { + var data = Utils.GetData(this, 'data'); + + self.getHighlightedResults() + .removeClass('select2-results__option--highlighted'); + + self.trigger('results:focus', { + data: data, + element: $(this) + }); + }); + }; + + Results.prototype.getHighlightedResults = function () { + var $highlighted = this.$results + .find('.select2-results__option--highlighted'); + + return $highlighted; + }; + + Results.prototype.destroy = function () { + this.$results.remove(); + }; + + Results.prototype.ensureHighlightVisible = function () { + var $highlighted = this.getHighlightedResults(); + + if ($highlighted.length === 0) { + return; + } + + var $options = this.$results.find('[aria-selected]'); + + var currentIndex = $options.index($highlighted); + + var currentOffset = this.$results.offset().top; + var nextTop = $highlighted.offset().top; + var nextOffset = this.$results.scrollTop() + (nextTop - currentOffset); + + var offsetDelta = nextTop - currentOffset; + nextOffset -= $highlighted.outerHeight(false) * 2; + + if (currentIndex <= 2) { + this.$results.scrollTop(0); + } else if (offsetDelta > this.$results.outerHeight() || offsetDelta < 0) { + this.$results.scrollTop(nextOffset); + } + }; + + Results.prototype.template = function (result, container) { + var template = this.options.get('templateResult'); + var escapeMarkup = this.options.get('escapeMarkup'); + + var content = template(result, container); + + if (content == null) { + container.style.display = 'none'; + } else if (typeof content === 'string') { + container.innerHTML = escapeMarkup(content); + } else { + $(container).append(content); + } + }; + + return Results; +}); + +S2.define('select2/keys',[ + +], function () { + var KEYS = { + 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 + }; + + return KEYS; +}); + +S2.define('select2/selection/base',[ + 'jquery', + '../utils', + '../keys' +], function ($, Utils, KEYS) { + function BaseSelection ($element, options) { + this.$element = $element; + this.options = options; + + BaseSelection.__super__.constructor.call(this); + } + + Utils.Extend(BaseSelection, Utils.Observable); + + BaseSelection.prototype.render = function () { + var $selection = $( + '<span class="select2-selection" role="combobox" ' + + ' aria-haspopup="true" aria-expanded="false">' + + '</span>' + ); + + this._tabindex = 0; + + if (Utils.GetData(this.$element[0], 'old-tabindex') != null) { + this._tabindex = Utils.GetData(this.$element[0], 'old-tabindex'); + } else if (this.$element.attr('tabindex') != null) { + this._tabindex = this.$element.attr('tabindex'); + } + + $selection.attr('title', this.$element.attr('title')); + $selection.attr('tabindex', this._tabindex); + + this.$selection = $selection; + + return $selection; + }; + + BaseSelection.prototype.bind = function (container, $container) { + var self = this; + + var id = container.id + '-container'; + var resultsId = container.id + '-results'; + + this.container = container; + + this.$selection.on('focus', function (evt) { + self.trigger('focus', evt); + }); + + this.$selection.on('blur', function (evt) { + self._handleBlur(evt); + }); + + this.$selection.on('keydown', function (evt) { + self.trigger('keypress', evt); + + if (evt.which === KEYS.SPACE) { + evt.preventDefault(); + } + }); + + container.on('results:focus', function (params) { + self.$selection.attr('aria-activedescendant', params.data._resultId); + }); + + container.on('selection:update', function (params) { + self.update(params.data); + }); + + container.on('open', function () { + // When the dropdown is open, aria-expanded="true" + self.$selection.attr('aria-expanded', 'true'); + self.$selection.attr('aria-owns', resultsId); + + self._attachCloseHandler(container); + }); + + container.on('close', function () { + // When the dropdown is closed, aria-expanded="false" + self.$selection.attr('aria-expanded', 'false'); + self.$selection.removeAttr('aria-activedescendant'); + self.$selection.removeAttr('aria-owns'); + + window.setTimeout(function () { + self.$selection.focus(); + }, 0); + + self._detachCloseHandler(container); + }); + + container.on('enable', function () { + self.$selection.attr('tabindex', self._tabindex); + }); + + container.on('disable', function () { + self.$selection.attr('tabindex', '-1'); + }); + }; + + BaseSelection.prototype._handleBlur = function (evt) { + var self = this; + + // This needs to be delayed as the active element is the body when the tab + // key is pressed, possibly along with others. + window.setTimeout(function () { + // Don't trigger `blur` if the focus is still in the selection + if ( + (document.activeElement == self.$selection[0]) || + ($.contains(self.$selection[0], document.activeElement)) + ) { + return; + } + + self.trigger('blur', evt); + }, 1); + }; + + BaseSelection.prototype._attachCloseHandler = function (container) { + var self = this; + + $(document.body).on('mousedown.select2.' + container.id, function (e) { + var $target = $(e.target); + + var $select = $target.closest('.select2'); + + var $all = $('.select2.select2-container--open'); + + $all.each(function () { + var $this = $(this); + + if (this == $select[0]) { + return; + } + + var $element = Utils.GetData(this, 'element'); + + $element.select2('close'); + }); + }); + }; + + BaseSelection.prototype._detachCloseHandler = function (container) { + $(document.body).off('mousedown.select2.' + container.id); + }; + + BaseSelection.prototype.position = function ($selection, $container) { + var $selectionContainer = $container.find('.selection'); + $selectionContainer.append($selection); + }; + + BaseSelection.prototype.destroy = function () { + this._detachCloseHandler(this.container); + }; + + BaseSelection.prototype.update = function (data) { + throw new Error('The `update` method must be defined in child classes.'); + }; + + return BaseSelection; +}); + +S2.define('select2/selection/single',[ + 'jquery', + './base', + '../utils', + '../keys' +], function ($, BaseSelection, Utils, KEYS) { + function SingleSelection () { + SingleSelection.__super__.constructor.apply(this, arguments); + } + + Utils.Extend(SingleSelection, BaseSelection); + + SingleSelection.prototype.render = function () { + var $selection = SingleSelection.__super__.render.call(this); + + $selection.addClass('select2-selection--single'); + + $selection.html( + '<span class="select2-selection__rendered"></span>' + + '<span class="select2-selection__arrow" role="presentation">' + + '<b role="presentation"></b>' + + '</span>' + ); + + return $selection; + }; + + SingleSelection.prototype.bind = function (container, $container) { + var self = this; + + SingleSelection.__super__.bind.apply(this, arguments); + + var id = container.id + '-container'; + + this.$selection.find('.select2-selection__rendered') + .attr('id', id) + .attr('role', 'textbox') + .attr('aria-readonly', 'true'); + this.$selection.attr('aria-labelledby', id); + + this.$selection.on('mousedown', function (evt) { + // Only respond to left clicks + if (evt.which !== 1) { + return; + } + + self.trigger('toggle', { + originalEvent: evt + }); + }); + + this.$selection.on('focus', function (evt) { + // User focuses on the container + }); + + this.$selection.on('blur', function (evt) { + // User exits the container + }); + + container.on('focus', function (evt) { + if (!container.isOpen()) { + self.$selection.focus(); + } + }); + }; + + SingleSelection.prototype.clear = function () { + var $rendered = this.$selection.find('.select2-selection__rendered'); + $rendered.empty(); + $rendered.removeAttr('title'); // clear tooltip on empty + }; + + SingleSelection.prototype.display = function (data, container) { + var template = this.options.get('templateSelection'); + var escapeMarkup = this.options.get('escapeMarkup'); + + return escapeMarkup(template(data, container)); + }; + + SingleSelection.prototype.selectionContainer = function () { + return $('<span></span>'); + }; + + SingleSelection.prototype.update = function (data) { + if (data.length === 0) { + this.clear(); + return; + } + + var selection = data[0]; + + var $rendered = this.$selection.find('.select2-selection__rendered'); + var formatted = this.display(selection, $rendered); + + $rendered.empty().append(formatted); + $rendered.attr('title', selection.title || selection.text); + }; + + return SingleSelection; +}); + +S2.define('select2/selection/multiple',[ + 'jquery', + './base', + '../utils' +], function ($, BaseSelection, Utils) { + function MultipleSelection ($element, options) { + MultipleSelection.__super__.constructor.apply(this, arguments); + } + + Utils.Extend(MultipleSelection, BaseSelection); + + MultipleSelection.prototype.render = function () { + var $selection = MultipleSelection.__super__.render.call(this); + + $selection.addClass('select2-selection--multiple'); + + $selection.html( + '<ul class="select2-selection__rendered"></ul>' + ); + + return $selection; + }; + + MultipleSelection.prototype.bind = function (container, $container) { + var self = this; + + MultipleSelection.__super__.bind.apply(this, arguments); + + this.$selection.on('click', function (evt) { + self.trigger('toggle', { + originalEvent: evt + }); + }); + + this.$selection.on( + 'click', + '.select2-selection__choice__remove', + function (evt) { + // Ignore the event if it is disabled + if (self.options.get('disabled')) { + return; + } + + var $remove = $(this); + var $selection = $remove.parent(); + + var data = Utils.GetData($selection[0], 'data'); + + self.trigger('unselect', { + originalEvent: evt, + data: data + }); + } + ); + }; + + MultipleSelection.prototype.clear = function () { + var $rendered = this.$selection.find('.select2-selection__rendered'); + $rendered.empty(); + $rendered.removeAttr('title'); + }; + + MultipleSelection.prototype.display = function (data, container) { + var template = this.options.get('templateSelection'); + var escapeMarkup = this.options.get('escapeMarkup'); + + return escapeMarkup(template(data, container)); + }; + + MultipleSelection.prototype.selectionContainer = function () { + var $container = $( + '<li class="select2-selection__choice">' + + '<span class="select2-selection__choice__remove" role="presentation">' + + '×' + + '</span>' + + '</li>' + ); + + return $container; + }; + + MultipleSelection.prototype.update = function (data) { + this.clear(); + + if (data.length === 0) { + return; + } + + var $selections = []; + + for (var d = 0; d < data.length; d++) { + var selection = data[d]; + + var $selection = this.selectionContainer(); + var formatted = this.display(selection, $selection); + + $selection.append(formatted); + $selection.attr('title', selection.title || selection.text); + + Utils.StoreData($selection[0], 'data', selection); + + $selections.push($selection); + } + + var $rendered = this.$selection.find('.select2-selection__rendered'); + + Utils.appendMany($rendered, $selections); + }; + + return MultipleSelection; +}); + +S2.define('select2/selection/placeholder',[ + '../utils' +], function (Utils) { + function Placeholder (decorated, $element, options) { + this.placeholder = this.normalizePlaceholder(options.get('placeholder')); + + decorated.call(this, $element, options); + } + + Placeholder.prototype.normalizePlaceholder = function (_, placeholder) { + if (typeof placeholder === 'string') { + placeholder = { + id: '', + text: placeholder + }; + } + + return placeholder; + }; + + Placeholder.prototype.createPlaceholder = function (decorated, placeholder) { + var $placeholder = this.selectionContainer(); + + $placeholder.html(this.display(placeholder)); + $placeholder.addClass('select2-selection__placeholder') + .removeClass('select2-selection__choice'); + + return $placeholder; + }; + + Placeholder.prototype.update = function (decorated, data) { + var singlePlaceholder = ( + data.length == 1 && data[0].id != this.placeholder.id + ); + var multipleSelections = data.length > 1; + + if (multipleSelections || singlePlaceholder) { + return decorated.call(this, data); + } + + this.clear(); + + var $placeholder = this.createPlaceholder(this.placeholder); + + this.$selection.find('.select2-selection__rendered').append($placeholder); + }; + + return Placeholder; +}); + +S2.define('select2/selection/allowClear',[ + 'jquery', + '../keys', + '../utils' +], function ($, KEYS, Utils) { + function AllowClear () { } + + AllowClear.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + if (this.placeholder == null) { + if (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 (evt) { + self._handleClear(evt); + }); + + container.on('keypress', function (evt) { + self._handleKeyboardClear(evt, container); + }); + }; + + AllowClear.prototype._handleClear = function (_, evt) { + // Ignore the event if it is disabled + if (this.options.get('disabled')) { + return; + } + + var $clear = this.$selection.find('.select2-selection__clear'); + + // Ignore the event if nothing has been selected + if ($clear.length === 0) { + return; + } + + evt.stopPropagation(); + + var data = Utils.GetData($clear[0], 'data'); + + var previousVal = this.$element.val(); + this.$element.val(this.placeholder.id); + + var unselectData = { + data: data + }; + this.trigger('clear', unselectData); + if (unselectData.prevented) { + this.$element.val(previousVal); + return; + } + + for (var d = 0; d < data.length; d++) { + unselectData = { + data: data[d] + }; + + // Trigger the `unselect` event, so people can prevent it from being + // cleared. + this.trigger('unselect', unselectData); + + // If the event was prevented, don't clear it out. + if (unselectData.prevented) { + this.$element.val(previousVal); + return; + } + } + + this.$element.trigger('change'); + + this.trigger('toggle', {}); + }; + + AllowClear.prototype._handleKeyboardClear = function (_, evt, container) { + if (container.isOpen()) { + return; + } + + if (evt.which == KEYS.DELETE || evt.which == KEYS.BACKSPACE) { + this._handleClear(evt); + } + }; + + AllowClear.prototype.update = function (decorated, data) { + decorated.call(this, data); + + if (this.$selection.find('.select2-selection__placeholder').length > 0 || + data.length === 0) { + return; + } + + var removeAll = this.options.get('translations').get('removeAllItems'); + + var $remove = $( + '<span class="select2-selection__clear" title="' + removeAll() +'">' + + '×' + + '</span>' + ); + Utils.StoreData($remove[0], 'data', data); + + this.$selection.find('.select2-selection__rendered').prepend($remove); + }; + + return AllowClear; +}); + +S2.define('select2/selection/search',[ + 'jquery', + '../utils', + '../keys' +], function ($, Utils, KEYS) { + function Search (decorated, $element, options) { + decorated.call(this, $element, options); + } + + Search.prototype.render = function (decorated) { + var $search = $( + '<li class="select2-search select2-search--inline">' + + '<input class="select2-search__field" type="search" tabindex="-1"' + + ' autocomplete="off" autocorrect="off" autocapitalize="none"' + + ' spellcheck="false" role="textbox" aria-autocomplete="list" />' + + '</li>' + ); + + this.$searchContainer = $search; + this.$search = $search.find('input'); + + var $rendered = decorated.call(this); + + this._transferTabIndex(); + + return $rendered; + }; + + Search.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('open', function () { + self.$search.trigger('focus'); + }); + + container.on('close', function () { + self.$search.val(''); + self.$search.removeAttr('aria-activedescendant'); + self.$search.trigger('focus'); + }); + + container.on('enable', function () { + self.$search.prop('disabled', false); + + self._transferTabIndex(); + }); + + container.on('disable', function () { + self.$search.prop('disabled', true); + }); + + container.on('focus', function (evt) { + self.$search.trigger('focus'); + }); + + container.on('results:focus', function (params) { + self.$search.attr('aria-activedescendant', params.id); + }); + + this.$selection.on('focusin', '.select2-search--inline', function (evt) { + self.trigger('focus', evt); + }); + + this.$selection.on('focusout', '.select2-search--inline', function (evt) { + self._handleBlur(evt); + }); + + this.$selection.on('keydown', '.select2-search--inline', function (evt) { + evt.stopPropagation(); + + self.trigger('keypress', evt); + + self._keyUpPrevented = evt.isDefaultPrevented(); + + var key = evt.which; + + if (key === KEYS.BACKSPACE && self.$search.val() === '') { + var $previousChoice = self.$searchContainer + .prev('.select2-selection__choice'); + + if ($previousChoice.length > 0) { + var item = Utils.GetData($previousChoice[0], 'data'); + + self.searchRemoveChoice(item); + + evt.preventDefault(); + } + } + }); + + // Try to detect the IE version should the `documentMode` property that + // is stored on the document. This is only implemented in IE and is + // slightly cleaner than doing a user agent check. + // This property is not available in Edge, but Edge also doesn't have + // this bug. + var msie = document.documentMode; + var disableInputEvents = msie && msie <= 11; + + // Workaround for browsers which do not support the `input` event + // This will prevent double-triggering of events for browsers which support + // both the `keyup` and `input` events. + this.$selection.on( + 'input.searchcheck', + '.select2-search--inline', + function (evt) { + // IE will trigger the `input` event when a placeholder is used on a + // search box. To get around this issue, we are forced to ignore all + // `input` events in IE and keep using `keyup`. + if (disableInputEvents) { + self.$selection.off('input.search input.searchcheck'); + return; + } + + // Unbind the duplicated `keyup` event + self.$selection.off('keyup.search'); + } + ); + + this.$selection.on( + 'keyup.search input.search', + '.select2-search--inline', + function (evt) { + // IE will trigger the `input` event when a placeholder is used on a + // search box. To get around this issue, we are forced to ignore all + // `input` events in IE and keep using `keyup`. + if (disableInputEvents && evt.type === 'input') { + self.$selection.off('input.search input.searchcheck'); + return; + } + + var key = evt.which; + + // We can freely ignore events from modifier keys + if (key == KEYS.SHIFT || key == KEYS.CTRL || key == KEYS.ALT) { + return; + } + + // Tabbing will be handled during the `keydown` phase + if (key == KEYS.TAB) { + return; + } + + self.handleSearch(evt); + } + ); + }; + + /** + * This method will transfer the tabindex attribute from the rendered + * selection to the search box. This allows for the search box to be used as + * the primary focus instead of the selection container. + * + * @private + */ + Search.prototype._transferTabIndex = function (decorated) { + this.$search.attr('tabindex', this.$selection.attr('tabindex')); + this.$selection.attr('tabindex', '-1'); + }; + + Search.prototype.createPlaceholder = function (decorated, placeholder) { + this.$search.attr('placeholder', placeholder.text); + }; + + Search.prototype.update = function (decorated, data) { + var searchHadFocus = this.$search[0] == document.activeElement; + + this.$search.attr('placeholder', ''); + + decorated.call(this, data); + + this.$selection.find('.select2-selection__rendered') + .append(this.$searchContainer); + + this.resizeSearch(); + if (searchHadFocus) { + var isTagInput = this.$element.find('[data-select2-tag]').length; + if (isTagInput) { + // fix IE11 bug where tag input lost focus + this.$element.focus(); + } else { + this.$search.focus(); + } + } + }; + + Search.prototype.handleSearch = function () { + this.resizeSearch(); + + if (!this._keyUpPrevented) { + var input = this.$search.val(); + + this.trigger('query', { + term: input + }); + } + + this._keyUpPrevented = false; + }; + + Search.prototype.searchRemoveChoice = function (decorated, item) { + this.trigger('unselect', { + data: item + }); + + this.$search.val(item.text); + this.handleSearch(); + }; + + Search.prototype.resizeSearch = function () { + this.$search.css('width', '25px'); + + var width = ''; + + if (this.$search.attr('placeholder') !== '') { + width = this.$selection.find('.select2-selection__rendered').innerWidth(); + } else { + var minimumWidth = this.$search.val().length + 1; + + width = (minimumWidth * 0.75) + 'em'; + } + + this.$search.css('width', width); + }; + + return Search; +}); + +S2.define('select2/selection/eventRelay',[ + 'jquery' +], function ($) { + function EventRelay () { } + + EventRelay.prototype.bind = function (decorated, container, $container) { + var self = this; + var relayEvents = [ + 'open', 'opening', + 'close', 'closing', + 'select', 'selecting', + 'unselect', 'unselecting', + 'clear', 'clearing' + ]; + + var preventableEvents = [ + 'opening', 'closing', 'selecting', 'unselecting', 'clearing' + ]; + + decorated.call(this, container, $container); + + container.on('*', function (name, params) { + // Ignore events that should not be relayed + if ($.inArray(name, relayEvents) === -1) { + return; + } + + // The parameters should always be an object + params = params || {}; + + // Generate the jQuery event for the Select2 event + var evt = $.Event('select2:' + name, { + params: params + }); + + self.$element.trigger(evt); + + // Only handle preventable events if it was one + if ($.inArray(name, preventableEvents) === -1) { + return; + } + + params.prevented = evt.isDefaultPrevented(); + }); + }; + + return EventRelay; +}); + +S2.define('select2/translation',[ + 'jquery', + 'require' +], function ($, require) { + function Translation (dict) { + this.dict = dict || {}; + } + + Translation.prototype.all = function () { + return this.dict; + }; + + Translation.prototype.get = function (key) { + return this.dict[key]; + }; + + Translation.prototype.extend = function (translation) { + this.dict = $.extend({}, translation.all(), this.dict); + }; + + // Static functions + + Translation._cache = {}; + + Translation.loadPath = function (path) { + if (!(path in Translation._cache)) { + var translations = require(path); + + Translation._cache[path] = translations; + } + + return new Translation(Translation._cache[path]); + }; + + return Translation; +}); + +S2.define('select2/diacritics',[ + +], function () { + var diacritics = { + '\u24B6': 'A', + '\uFF21': 'A', + '\u00C0': 'A', + '\u00C1': 'A', + '\u00C2': 'A', + '\u1EA6': 'A', + '\u1EA4': 'A', + '\u1EAA': 'A', + '\u1EA8': 'A', + '\u00C3': 'A', + '\u0100': 'A', + '\u0102': 'A', + '\u1EB0': 'A', + '\u1EAE': 'A', + '\u1EB4': 'A', + '\u1EB2': 'A', + '\u0226': 'A', + '\u01E0': 'A', + '\u00C4': 'A', + '\u01DE': 'A', + '\u1EA2': 'A', + '\u00C5': 'A', + '\u01FA': 'A', + '\u01CD': 'A', + '\u0200': 'A', + '\u0202': 'A', + '\u1EA0': 'A', + '\u1EAC': 'A', + '\u1EB6': 'A', + '\u1E00': 'A', + '\u0104': 'A', + '\u023A': 'A', + '\u2C6F': 'A', + '\uA732': 'AA', + '\u00C6': 'AE', + '\u01FC': 'AE', + '\u01E2': 'AE', + '\uA734': 'AO', + '\uA736': 'AU', + '\uA738': 'AV', + '\uA73A': 'AV', + '\uA73C': 'AY', + '\u24B7': 'B', + '\uFF22': 'B', + '\u1E02': 'B', + '\u1E04': 'B', + '\u1E06': 'B', + '\u0243': 'B', + '\u0182': 'B', + '\u0181': 'B', + '\u24B8': 'C', + '\uFF23': 'C', + '\u0106': 'C', + '\u0108': 'C', + '\u010A': 'C', + '\u010C': 'C', + '\u00C7': 'C', + '\u1E08': 'C', + '\u0187': 'C', + '\u023B': 'C', + '\uA73E': 'C', + '\u24B9': 'D', + '\uFF24': 'D', + '\u1E0A': 'D', + '\u010E': 'D', + '\u1E0C': 'D', + '\u1E10': 'D', + '\u1E12': 'D', + '\u1E0E': 'D', + '\u0110': 'D', + '\u018B': 'D', + '\u018A': 'D', + '\u0189': 'D', + '\uA779': 'D', + '\u01F1': 'DZ', + '\u01C4': 'DZ', + '\u01F2': 'Dz', + '\u01C5': 'Dz', + '\u24BA': 'E', + '\uFF25': 'E', + '\u00C8': 'E', + '\u00C9': 'E', + '\u00CA': 'E', + '\u1EC0': 'E', + '\u1EBE': 'E', + '\u1EC4': 'E', + '\u1EC2': 'E', + '\u1EBC': 'E', + '\u0112': 'E', + '\u1E14': 'E', + '\u1E16': 'E', + '\u0114': 'E', + '\u0116': 'E', + '\u00CB': 'E', + '\u1EBA': 'E', + '\u011A': 'E', + '\u0204': 'E', + '\u0206': 'E', + '\u1EB8': 'E', + '\u1EC6': 'E', + '\u0228': 'E', + '\u1E1C': 'E', + '\u0118': 'E', + '\u1E18': 'E', + '\u1E1A': 'E', + '\u0190': 'E', + '\u018E': 'E', + '\u24BB': 'F', + '\uFF26': 'F', + '\u1E1E': 'F', + '\u0191': 'F', + '\uA77B': 'F', + '\u24BC': 'G', + '\uFF27': 'G', + '\u01F4': 'G', + '\u011C': 'G', + '\u1E20': 'G', + '\u011E': 'G', + '\u0120': 'G', + '\u01E6': 'G', + '\u0122': 'G', + '\u01E4': 'G', + '\u0193': 'G', + '\uA7A0': 'G', + '\uA77D': 'G', + '\uA77E': 'G', + '\u24BD': 'H', + '\uFF28': 'H', + '\u0124': 'H', + '\u1E22': 'H', + '\u1E26': 'H', + '\u021E': 'H', + '\u1E24': 'H', + '\u1E28': 'H', + '\u1E2A': 'H', + '\u0126': 'H', + '\u2C67': 'H', + '\u2C75': 'H', + '\uA78D': 'H', + '\u24BE': 'I', + '\uFF29': 'I', + '\u00CC': 'I', + '\u00CD': 'I', + '\u00CE': 'I', + '\u0128': 'I', + '\u012A': 'I', + '\u012C': 'I', + '\u0130': 'I', + '\u00CF': 'I', + '\u1E2E': 'I', + '\u1EC8': 'I', + '\u01CF': 'I', + '\u0208': 'I', + '\u020A': 'I', + '\u1ECA': 'I', + '\u012E': 'I', + '\u1E2C': 'I', + '\u0197': 'I', + '\u24BF': 'J', + '\uFF2A': 'J', + '\u0134': 'J', + '\u0248': 'J', + '\u24C0': 'K', + '\uFF2B': 'K', + '\u1E30': 'K', + '\u01E8': 'K', + '\u1E32': 'K', + '\u0136': 'K', + '\u1E34': 'K', + '\u0198': 'K', + '\u2C69': 'K', + '\uA740': 'K', + '\uA742': 'K', + '\uA744': 'K', + '\uA7A2': 'K', + '\u24C1': 'L', + '\uFF2C': 'L', + '\u013F': 'L', + '\u0139': 'L', + '\u013D': 'L', + '\u1E36': 'L', + '\u1E38': 'L', + '\u013B': 'L', + '\u1E3C': 'L', + '\u1E3A': 'L', + '\u0141': 'L', + '\u023D': 'L', + '\u2C62': 'L', + '\u2C60': 'L', + '\uA748': 'L', + '\uA746': 'L', + '\uA780': 'L', + '\u01C7': 'LJ', + '\u01C8': 'Lj', + '\u24C2': 'M', + '\uFF2D': 'M', + '\u1E3E': 'M', + '\u1E40': 'M', + '\u1E42': 'M', + '\u2C6E': 'M', + '\u019C': 'M', + '\u24C3': 'N', + '\uFF2E': 'N', + '\u01F8': 'N', + '\u0143': 'N', + '\u00D1': 'N', + '\u1E44': 'N', + '\u0147': 'N', + '\u1E46': 'N', + '\u0145': 'N', + '\u1E4A': 'N', + '\u1E48': 'N', + '\u0220': 'N', + '\u019D': 'N', + '\uA790': 'N', + '\uA7A4': 'N', + '\u01CA': 'NJ', + '\u01CB': 'Nj', + '\u24C4': 'O', + '\uFF2F': 'O', + '\u00D2': 'O', + '\u00D3': 'O', + '\u00D4': 'O', + '\u1ED2': 'O', + '\u1ED0': 'O', + '\u1ED6': 'O', + '\u1ED4': 'O', + '\u00D5': 'O', + '\u1E4C': 'O', + '\u022C': 'O', + '\u1E4E': 'O', + '\u014C': 'O', + '\u1E50': 'O', + '\u1E52': 'O', + '\u014E': 'O', + '\u022E': 'O', + '\u0230': 'O', + '\u00D6': 'O', + '\u022A': 'O', + '\u1ECE': 'O', + '\u0150': 'O', + '\u01D1': 'O', + '\u020C': 'O', + '\u020E': 'O', + '\u01A0': 'O', + '\u1EDC': 'O', + '\u1EDA': 'O', + '\u1EE0': 'O', + '\u1EDE': 'O', + '\u1EE2': 'O', + '\u1ECC': 'O', + '\u1ED8': 'O', + '\u01EA': 'O', + '\u01EC': 'O', + '\u00D8': 'O', + '\u01FE': 'O', + '\u0186': 'O', + '\u019F': 'O', + '\uA74A': 'O', + '\uA74C': 'O', + '\u0152': 'OE', + '\u01A2': 'OI', + '\uA74E': 'OO', + '\u0222': 'OU', + '\u24C5': 'P', + '\uFF30': 'P', + '\u1E54': 'P', + '\u1E56': 'P', + '\u01A4': 'P', + '\u2C63': 'P', + '\uA750': 'P', + '\uA752': 'P', + '\uA754': 'P', + '\u24C6': 'Q', + '\uFF31': 'Q', + '\uA756': 'Q', + '\uA758': 'Q', + '\u024A': 'Q', + '\u24C7': 'R', + '\uFF32': 'R', + '\u0154': 'R', + '\u1E58': 'R', + '\u0158': 'R', + '\u0210': 'R', + '\u0212': 'R', + '\u1E5A': 'R', + '\u1E5C': 'R', + '\u0156': 'R', + '\u1E5E': 'R', + '\u024C': 'R', + '\u2C64': 'R', + '\uA75A': 'R', + '\uA7A6': 'R', + '\uA782': 'R', + '\u24C8': 'S', + '\uFF33': 'S', + '\u1E9E': 'S', + '\u015A': 'S', + '\u1E64': 'S', + '\u015C': 'S', + '\u1E60': 'S', + '\u0160': 'S', + '\u1E66': 'S', + '\u1E62': 'S', + '\u1E68': 'S', + '\u0218': 'S', + '\u015E': 'S', + '\u2C7E': 'S', + '\uA7A8': 'S', + '\uA784': 'S', + '\u24C9': 'T', + '\uFF34': 'T', + '\u1E6A': 'T', + '\u0164': 'T', + '\u1E6C': 'T', + '\u021A': 'T', + '\u0162': 'T', + '\u1E70': 'T', + '\u1E6E': 'T', + '\u0166': 'T', + '\u01AC': 'T', + '\u01AE': 'T', + '\u023E': 'T', + '\uA786': 'T', + '\uA728': 'TZ', + '\u24CA': 'U', + '\uFF35': 'U', + '\u00D9': 'U', + '\u00DA': 'U', + '\u00DB': 'U', + '\u0168': 'U', + '\u1E78': 'U', + '\u016A': 'U', + '\u1E7A': 'U', + '\u016C': 'U', + '\u00DC': 'U', + '\u01DB': 'U', + '\u01D7': 'U', + '\u01D5': 'U', + '\u01D9': 'U', + '\u1EE6': 'U', + '\u016E': 'U', + '\u0170': 'U', + '\u01D3': 'U', + '\u0214': 'U', + '\u0216': 'U', + '\u01AF': 'U', + '\u1EEA': 'U', + '\u1EE8': 'U', + '\u1EEE': 'U', + '\u1EEC': 'U', + '\u1EF0': 'U', + '\u1EE4': 'U', + '\u1E72': 'U', + '\u0172': 'U', + '\u1E76': 'U', + '\u1E74': 'U', + '\u0244': 'U', + '\u24CB': 'V', + '\uFF36': 'V', + '\u1E7C': 'V', + '\u1E7E': 'V', + '\u01B2': 'V', + '\uA75E': 'V', + '\u0245': 'V', + '\uA760': 'VY', + '\u24CC': 'W', + '\uFF37': 'W', + '\u1E80': 'W', + '\u1E82': 'W', + '\u0174': 'W', + '\u1E86': 'W', + '\u1E84': 'W', + '\u1E88': 'W', + '\u2C72': 'W', + '\u24CD': 'X', + '\uFF38': 'X', + '\u1E8A': 'X', + '\u1E8C': 'X', + '\u24CE': 'Y', + '\uFF39': 'Y', + '\u1EF2': 'Y', + '\u00DD': 'Y', + '\u0176': 'Y', + '\u1EF8': 'Y', + '\u0232': 'Y', + '\u1E8E': 'Y', + '\u0178': 'Y', + '\u1EF6': 'Y', + '\u1EF4': 'Y', + '\u01B3': 'Y', + '\u024E': 'Y', + '\u1EFE': 'Y', + '\u24CF': 'Z', + '\uFF3A': 'Z', + '\u0179': 'Z', + '\u1E90': 'Z', + '\u017B': 'Z', + '\u017D': 'Z', + '\u1E92': 'Z', + '\u1E94': 'Z', + '\u01B5': 'Z', + '\u0224': 'Z', + '\u2C7F': 'Z', + '\u2C6B': 'Z', + '\uA762': 'Z', + '\u24D0': 'a', + '\uFF41': 'a', + '\u1E9A': 'a', + '\u00E0': 'a', + '\u00E1': 'a', + '\u00E2': 'a', + '\u1EA7': 'a', + '\u1EA5': 'a', + '\u1EAB': 'a', + '\u1EA9': 'a', + '\u00E3': 'a', + '\u0101': 'a', + '\u0103': 'a', + '\u1EB1': 'a', + '\u1EAF': 'a', + '\u1EB5': 'a', + '\u1EB3': 'a', + '\u0227': 'a', + '\u01E1': 'a', + '\u00E4': 'a', + '\u01DF': 'a', + '\u1EA3': 'a', + '\u00E5': 'a', + '\u01FB': 'a', + '\u01CE': 'a', + '\u0201': 'a', + '\u0203': 'a', + '\u1EA1': 'a', + '\u1EAD': 'a', + '\u1EB7': 'a', + '\u1E01': 'a', + '\u0105': 'a', + '\u2C65': 'a', + '\u0250': 'a', + '\uA733': 'aa', + '\u00E6': 'ae', + '\u01FD': 'ae', + '\u01E3': 'ae', + '\uA735': 'ao', + '\uA737': 'au', + '\uA739': 'av', + '\uA73B': 'av', + '\uA73D': 'ay', + '\u24D1': 'b', + '\uFF42': 'b', + '\u1E03': 'b', + '\u1E05': 'b', + '\u1E07': 'b', + '\u0180': 'b', + '\u0183': 'b', + '\u0253': 'b', + '\u24D2': 'c', + '\uFF43': 'c', + '\u0107': 'c', + '\u0109': 'c', + '\u010B': 'c', + '\u010D': 'c', + '\u00E7': 'c', + '\u1E09': 'c', + '\u0188': 'c', + '\u023C': 'c', + '\uA73F': 'c', + '\u2184': 'c', + '\u24D3': 'd', + '\uFF44': 'd', + '\u1E0B': 'd', + '\u010F': 'd', + '\u1E0D': 'd', + '\u1E11': 'd', + '\u1E13': 'd', + '\u1E0F': 'd', + '\u0111': 'd', + '\u018C': 'd', + '\u0256': 'd', + '\u0257': 'd', + '\uA77A': 'd', + '\u01F3': 'dz', + '\u01C6': 'dz', + '\u24D4': 'e', + '\uFF45': 'e', + '\u00E8': 'e', + '\u00E9': 'e', + '\u00EA': 'e', + '\u1EC1': 'e', + '\u1EBF': 'e', + '\u1EC5': 'e', + '\u1EC3': 'e', + '\u1EBD': 'e', + '\u0113': 'e', + '\u1E15': 'e', + '\u1E17': 'e', + '\u0115': 'e', + '\u0117': 'e', + '\u00EB': 'e', + '\u1EBB': 'e', + '\u011B': 'e', + '\u0205': 'e', + '\u0207': 'e', + '\u1EB9': 'e', + '\u1EC7': 'e', + '\u0229': 'e', + '\u1E1D': 'e', + '\u0119': 'e', + '\u1E19': 'e', + '\u1E1B': 'e', + '\u0247': 'e', + '\u025B': 'e', + '\u01DD': 'e', + '\u24D5': 'f', + '\uFF46': 'f', + '\u1E1F': 'f', + '\u0192': 'f', + '\uA77C': 'f', + '\u24D6': 'g', + '\uFF47': 'g', + '\u01F5': 'g', + '\u011D': 'g', + '\u1E21': 'g', + '\u011F': 'g', + '\u0121': 'g', + '\u01E7': 'g', + '\u0123': 'g', + '\u01E5': 'g', + '\u0260': 'g', + '\uA7A1': 'g', + '\u1D79': 'g', + '\uA77F': 'g', + '\u24D7': 'h', + '\uFF48': 'h', + '\u0125': 'h', + '\u1E23': 'h', + '\u1E27': 'h', + '\u021F': 'h', + '\u1E25': 'h', + '\u1E29': 'h', + '\u1E2B': 'h', + '\u1E96': 'h', + '\u0127': 'h', + '\u2C68': 'h', + '\u2C76': 'h', + '\u0265': 'h', + '\u0195': 'hv', + '\u24D8': 'i', + '\uFF49': 'i', + '\u00EC': 'i', + '\u00ED': 'i', + '\u00EE': 'i', + '\u0129': 'i', + '\u012B': 'i', + '\u012D': 'i', + '\u00EF': 'i', + '\u1E2F': 'i', + '\u1EC9': 'i', + '\u01D0': 'i', + '\u0209': 'i', + '\u020B': 'i', + '\u1ECB': 'i', + '\u012F': 'i', + '\u1E2D': 'i', + '\u0268': 'i', + '\u0131': 'i', + '\u24D9': 'j', + '\uFF4A': 'j', + '\u0135': 'j', + '\u01F0': 'j', + '\u0249': 'j', + '\u24DA': 'k', + '\uFF4B': 'k', + '\u1E31': 'k', + '\u01E9': 'k', + '\u1E33': 'k', + '\u0137': 'k', + '\u1E35': 'k', + '\u0199': 'k', + '\u2C6A': 'k', + '\uA741': 'k', + '\uA743': 'k', + '\uA745': 'k', + '\uA7A3': 'k', + '\u24DB': 'l', + '\uFF4C': 'l', + '\u0140': 'l', + '\u013A': 'l', + '\u013E': 'l', + '\u1E37': 'l', + '\u1E39': 'l', + '\u013C': 'l', + '\u1E3D': 'l', + '\u1E3B': 'l', + '\u017F': 'l', + '\u0142': 'l', + '\u019A': 'l', + '\u026B': 'l', + '\u2C61': 'l', + '\uA749': 'l', + '\uA781': 'l', + '\uA747': 'l', + '\u01C9': 'lj', + '\u24DC': 'm', + '\uFF4D': 'm', + '\u1E3F': 'm', + '\u1E41': 'm', + '\u1E43': 'm', + '\u0271': 'm', + '\u026F': 'm', + '\u24DD': 'n', + '\uFF4E': 'n', + '\u01F9': 'n', + '\u0144': 'n', + '\u00F1': 'n', + '\u1E45': 'n', + '\u0148': 'n', + '\u1E47': 'n', + '\u0146': 'n', + '\u1E4B': 'n', + '\u1E49': 'n', + '\u019E': 'n', + '\u0272': 'n', + '\u0149': 'n', + '\uA791': 'n', + '\uA7A5': 'n', + '\u01CC': 'nj', + '\u24DE': 'o', + '\uFF4F': 'o', + '\u00F2': 'o', + '\u00F3': 'o', + '\u00F4': 'o', + '\u1ED3': 'o', + '\u1ED1': 'o', + '\u1ED7': 'o', + '\u1ED5': 'o', + '\u00F5': 'o', + '\u1E4D': 'o', + '\u022D': 'o', + '\u1E4F': 'o', + '\u014D': 'o', + '\u1E51': 'o', + '\u1E53': 'o', + '\u014F': 'o', + '\u022F': 'o', + '\u0231': 'o', + '\u00F6': 'o', + '\u022B': 'o', + '\u1ECF': 'o', + '\u0151': 'o', + '\u01D2': 'o', + '\u020D': 'o', + '\u020F': 'o', + '\u01A1': 'o', + '\u1EDD': 'o', + '\u1EDB': 'o', + '\u1EE1': 'o', + '\u1EDF': 'o', + '\u1EE3': 'o', + '\u1ECD': 'o', + '\u1ED9': 'o', + '\u01EB': 'o', + '\u01ED': 'o', + '\u00F8': 'o', + '\u01FF': 'o', + '\u0254': 'o', + '\uA74B': 'o', + '\uA74D': 'o', + '\u0275': 'o', + '\u0153': 'oe', + '\u01A3': 'oi', + '\u0223': 'ou', + '\uA74F': 'oo', + '\u24DF': 'p', + '\uFF50': 'p', + '\u1E55': 'p', + '\u1E57': 'p', + '\u01A5': 'p', + '\u1D7D': 'p', + '\uA751': 'p', + '\uA753': 'p', + '\uA755': 'p', + '\u24E0': 'q', + '\uFF51': 'q', + '\u024B': 'q', + '\uA757': 'q', + '\uA759': 'q', + '\u24E1': 'r', + '\uFF52': 'r', + '\u0155': 'r', + '\u1E59': 'r', + '\u0159': 'r', + '\u0211': 'r', + '\u0213': 'r', + '\u1E5B': 'r', + '\u1E5D': 'r', + '\u0157': 'r', + '\u1E5F': 'r', + '\u024D': 'r', + '\u027D': 'r', + '\uA75B': 'r', + '\uA7A7': 'r', + '\uA783': 'r', + '\u24E2': 's', + '\uFF53': 's', + '\u00DF': 's', + '\u015B': 's', + '\u1E65': 's', + '\u015D': 's', + '\u1E61': 's', + '\u0161': 's', + '\u1E67': 's', + '\u1E63': 's', + '\u1E69': 's', + '\u0219': 's', + '\u015F': 's', + '\u023F': 's', + '\uA7A9': 's', + '\uA785': 's', + '\u1E9B': 's', + '\u24E3': 't', + '\uFF54': 't', + '\u1E6B': 't', + '\u1E97': 't', + '\u0165': 't', + '\u1E6D': 't', + '\u021B': 't', + '\u0163': 't', + '\u1E71': 't', + '\u1E6F': 't', + '\u0167': 't', + '\u01AD': 't', + '\u0288': 't', + '\u2C66': 't', + '\uA787': 't', + '\uA729': 'tz', + '\u24E4': 'u', + '\uFF55': 'u', + '\u00F9': 'u', + '\u00FA': 'u', + '\u00FB': 'u', + '\u0169': 'u', + '\u1E79': 'u', + '\u016B': 'u', + '\u1E7B': 'u', + '\u016D': 'u', + '\u00FC': 'u', + '\u01DC': 'u', + '\u01D8': 'u', + '\u01D6': 'u', + '\u01DA': 'u', + '\u1EE7': 'u', + '\u016F': 'u', + '\u0171': 'u', + '\u01D4': 'u', + '\u0215': 'u', + '\u0217': 'u', + '\u01B0': 'u', + '\u1EEB': 'u', + '\u1EE9': 'u', + '\u1EEF': 'u', + '\u1EED': 'u', + '\u1EF1': 'u', + '\u1EE5': 'u', + '\u1E73': 'u', + '\u0173': 'u', + '\u1E77': 'u', + '\u1E75': 'u', + '\u0289': 'u', + '\u24E5': 'v', + '\uFF56': 'v', + '\u1E7D': 'v', + '\u1E7F': 'v', + '\u028B': 'v', + '\uA75F': 'v', + '\u028C': 'v', + '\uA761': 'vy', + '\u24E6': 'w', + '\uFF57': 'w', + '\u1E81': 'w', + '\u1E83': 'w', + '\u0175': 'w', + '\u1E87': 'w', + '\u1E85': 'w', + '\u1E98': 'w', + '\u1E89': 'w', + '\u2C73': 'w', + '\u24E7': 'x', + '\uFF58': 'x', + '\u1E8B': 'x', + '\u1E8D': 'x', + '\u24E8': 'y', + '\uFF59': 'y', + '\u1EF3': 'y', + '\u00FD': 'y', + '\u0177': 'y', + '\u1EF9': 'y', + '\u0233': 'y', + '\u1E8F': 'y', + '\u00FF': 'y', + '\u1EF7': 'y', + '\u1E99': 'y', + '\u1EF5': 'y', + '\u01B4': 'y', + '\u024F': 'y', + '\u1EFF': 'y', + '\u24E9': 'z', + '\uFF5A': 'z', + '\u017A': 'z', + '\u1E91': 'z', + '\u017C': 'z', + '\u017E': 'z', + '\u1E93': 'z', + '\u1E95': 'z', + '\u01B6': 'z', + '\u0225': 'z', + '\u0240': 'z', + '\u2C6C': 'z', + '\uA763': 'z', + '\u0386': '\u0391', + '\u0388': '\u0395', + '\u0389': '\u0397', + '\u038A': '\u0399', + '\u03AA': '\u0399', + '\u038C': '\u039F', + '\u038E': '\u03A5', + '\u03AB': '\u03A5', + '\u038F': '\u03A9', + '\u03AC': '\u03B1', + '\u03AD': '\u03B5', + '\u03AE': '\u03B7', + '\u03AF': '\u03B9', + '\u03CA': '\u03B9', + '\u0390': '\u03B9', + '\u03CC': '\u03BF', + '\u03CD': '\u03C5', + '\u03CB': '\u03C5', + '\u03B0': '\u03C5', + '\u03CE': '\u03C9', + '\u03C2': '\u03C3', + '\u2019': '\'' + }; + + return diacritics; +}); + +S2.define('select2/data/base',[ + '../utils' +], function (Utils) { + function BaseAdapter ($element, options) { + BaseAdapter.__super__.constructor.call(this); + } + + Utils.Extend(BaseAdapter, Utils.Observable); + + BaseAdapter.prototype.current = function (callback) { + throw new Error('The `current` method must be defined in child classes.'); + }; + + BaseAdapter.prototype.query = function (params, callback) { + throw new Error('The `query` method must be defined in child classes.'); + }; + + BaseAdapter.prototype.bind = function (container, $container) { + // Can be implemented in subclasses + }; + + BaseAdapter.prototype.destroy = function () { + // Can be implemented in subclasses + }; + + BaseAdapter.prototype.generateResultId = function (container, data) { + var id = container.id + '-result-'; + + id += Utils.generateChars(4); + + if (data.id != null) { + id += '-' + data.id.toString(); + } else { + id += '-' + Utils.generateChars(4); + } + return id; + }; + + return BaseAdapter; +}); + +S2.define('select2/data/select',[ + './base', + '../utils', + 'jquery' +], function (BaseAdapter, Utils, $) { + function SelectAdapter ($element, options) { + this.$element = $element; + this.options = options; + + SelectAdapter.__super__.constructor.call(this); + } + + Utils.Extend(SelectAdapter, BaseAdapter); + + SelectAdapter.prototype.current = function (callback) { + var data = []; + var self = this; + + this.$element.find(':selected').each(function () { + var $option = $(this); + + var option = self.item($option); + + data.push(option); + }); + + callback(data); + }; + + SelectAdapter.prototype.select = function (data) { + var self = this; + + data.selected = true; + + // If data.element is a DOM node, use it instead + if ($(data.element).is('option')) { + data.element.selected = true; + + this.$element.trigger('change'); + + return; + } + + if (this.$element.prop('multiple')) { + this.current(function (currentData) { + var val = []; + + data = [data]; + data.push.apply(data, currentData); + + for (var d = 0; d < data.length; d++) { + var id = data[d].id; + + if ($.inArray(id, val) === -1) { + val.push(id); + } + } + + self.$element.val(val); + self.$element.trigger('change'); + }); + } else { + var val = data.id; + + this.$element.val(val); + this.$element.trigger('change'); + } + }; + + SelectAdapter.prototype.unselect = function (data) { + var self = this; + + if (!this.$element.prop('multiple')) { + return; + } + + data.selected = false; + + if ($(data.element).is('option')) { + data.element.selected = false; + + this.$element.trigger('change'); + + return; + } + + this.current(function (currentData) { + var val = []; + + for (var d = 0; d < currentData.length; d++) { + var id = currentData[d].id; + + if (id !== data.id && $.inArray(id, val) === -1) { + val.push(id); + } + } + + self.$element.val(val); + + self.$element.trigger('change'); + }); + }; + + SelectAdapter.prototype.bind = function (container, $container) { + var self = this; + + this.container = container; + + container.on('select', function (params) { + self.select(params.data); + }); + + container.on('unselect', function (params) { + self.unselect(params.data); + }); + }; + + SelectAdapter.prototype.destroy = function () { + // Remove anything added to child elements + this.$element.find('*').each(function () { + // Remove any custom data set by Select2 + Utils.RemoveData(this); + }); + }; + + SelectAdapter.prototype.query = function (params, callback) { + var data = []; + var self = this; + + var $options = this.$element.children(); + + $options.each(function () { + var $option = $(this); + + if (!$option.is('option') && !$option.is('optgroup')) { + return; + } + + var option = self.item($option); + + var matches = self.matches(params, option); + + if (matches !== null) { + data.push(matches); + } + }); + + callback({ + results: data + }); + }; + + SelectAdapter.prototype.addOptions = function ($options) { + Utils.appendMany(this.$element, $options); + }; + + SelectAdapter.prototype.option = function (data) { + var option; + + if (data.children) { + option = document.createElement('optgroup'); + option.label = data.text; + } else { + option = document.createElement('option'); + + if (option.textContent !== undefined) { + option.textContent = data.text; + } else { + option.innerText = data.text; + } + } + + if (data.id !== undefined) { + option.value = data.id; + } + + if (data.disabled) { + option.disabled = true; + } + + if (data.selected) { + option.selected = true; + } + + if (data.title) { + option.title = data.title; + } + + var $option = $(option); + + var normalizedData = this._normalizeItem(data); + normalizedData.element = option; + + // Override the option's data with the combined data + Utils.StoreData(option, 'data', normalizedData); + + return $option; + }; + + SelectAdapter.prototype.item = function ($option) { + var data = {}; + + data = Utils.GetData($option[0], 'data'); + + if (data != null) { + return data; + } + + if ($option.is('option')) { + data = { + id: $option.val(), + text: $option.text(), + disabled: $option.prop('disabled'), + selected: $option.prop('selected'), + title: $option.prop('title') + }; + } else if ($option.is('optgroup')) { + data = { + text: $option.prop('label'), + children: [], + title: $option.prop('title') + }; + + var $children = $option.children('option'); + var children = []; + + for (var c = 0; c < $children.length; c++) { + var $child = $($children[c]); + + var child = this.item($child); + + children.push(child); + } + + data.children = children; + } + + data = this._normalizeItem(data); + data.element = $option[0]; + + Utils.StoreData($option[0], 'data', data); + + return data; + }; + + SelectAdapter.prototype._normalizeItem = function (item) { + if (item !== Object(item)) { + item = { + id: item, + text: item + }; + } + + item = $.extend({}, { + text: '' + }, item); + + var defaults = { + selected: false, + disabled: false + }; + + if (item.id != null) { + item.id = item.id.toString(); + } + + if (item.text != null) { + item.text = item.text.toString(); + } + + if (item._resultId == null && item.id && this.container != null) { + item._resultId = this.generateResultId(this.container, item); + } + + return $.extend({}, defaults, item); + }; + + SelectAdapter.prototype.matches = function (params, data) { + var matcher = this.options.get('matcher'); + + return matcher(params, data); + }; + + return SelectAdapter; +}); + +S2.define('select2/data/array',[ + './select', + '../utils', + 'jquery' +], function (SelectAdapter, Utils, $) { + function ArrayAdapter ($element, options) { + var data = options.get('data') || []; + + ArrayAdapter.__super__.constructor.call(this, $element, options); + + this.addOptions(this.convertToOptions(data)); + } + + Utils.Extend(ArrayAdapter, SelectAdapter); + + ArrayAdapter.prototype.select = function (data) { + var $option = this.$element.find('option').filter(function (i, elm) { + return elm.value == data.id.toString(); + }); + + if ($option.length === 0) { + $option = this.option(data); + + this.addOptions($option); + } + + ArrayAdapter.__super__.select.call(this, data); + }; + + ArrayAdapter.prototype.convertToOptions = function (data) { + var self = this; + + var $existing = this.$element.find('option'); + var existingIds = $existing.map(function () { + return self.item($(this)).id; + }).get(); + + var $options = []; + + // Filter out all items except for the one passed in the argument + function onlyItem (item) { + return function () { + return $(this).val() == item.id; + }; + } + + for (var d = 0; d < data.length; d++) { + var item = this._normalizeItem(data[d]); + + // Skip items which were pre-loaded, only merge the data + if ($.inArray(item.id, existingIds) >= 0) { + var $existingOption = $existing.filter(onlyItem(item)); + + var existingData = this.item($existingOption); + var newData = $.extend(true, {}, item, existingData); + + var $newOption = this.option(newData); + + $existingOption.replaceWith($newOption); + + continue; + } + + var $option = this.option(item); + + if (item.children) { + var $children = this.convertToOptions(item.children); + + Utils.appendMany($option, $children); + } + + $options.push($option); + } + + return $options; + }; + + return ArrayAdapter; +}); + +S2.define('select2/data/ajax',[ + './array', + '../utils', + 'jquery' +], function (ArrayAdapter, Utils, $) { + function AjaxAdapter ($element, options) { + this.ajaxOptions = this._applyDefaults(options.get('ajax')); + + if (this.ajaxOptions.processResults != null) { + this.processResults = this.ajaxOptions.processResults; + } + + AjaxAdapter.__super__.constructor.call(this, $element, options); + } + + Utils.Extend(AjaxAdapter, ArrayAdapter); + + AjaxAdapter.prototype._applyDefaults = function (options) { + var defaults = { + data: function (params) { + return $.extend({}, params, { + q: params.term + }); + }, + transport: function (params, success, failure) { + var $request = $.ajax(params); + + $request.then(success); + $request.fail(failure); + + return $request; + } + }; + + return $.extend({}, defaults, options, true); + }; + + AjaxAdapter.prototype.processResults = function (results) { + return results; + }; + + AjaxAdapter.prototype.query = function (params, callback) { + var matches = []; + var self = this; + + if (this._request != null) { + // JSONP requests cannot always be aborted + if ($.isFunction(this._request.abort)) { + this._request.abort(); + } + + this._request = null; + } + + var options = $.extend({ + type: 'GET' + }, this.ajaxOptions); + + if (typeof options.url === 'function') { + options.url = options.url.call(this.$element, params); + } + + if (typeof options.data === 'function') { + options.data = options.data.call(this.$element, params); + } + + function request () { + var $request = options.transport(options, function (data) { + var results = self.processResults(data, params); + + if (self.options.get('debug') && window.console && console.error) { + // Check to make sure that the response included a `results` key. + if (!results || !results.results || !$.isArray(results.results)) { + console.error( + 'Select2: The AJAX results did not return an array in the ' + + '`results` key of the response.' + ); + } + } + + callback(results); + }, function () { + // Attempt to detect if a request was aborted + // Only works if the transport exposes a status property + if ('status' in $request && + ($request.status === 0 || $request.status === '0')) { + return; + } + + self.trigger('results:message', { + message: 'errorLoading' + }); + }); + + self._request = $request; + } + + if (this.ajaxOptions.delay && params.term != null) { + if (this._queryTimeout) { + window.clearTimeout(this._queryTimeout); + } + + this._queryTimeout = window.setTimeout(request, this.ajaxOptions.delay); + } else { + request(); + } + }; + + return AjaxAdapter; +}); + +S2.define('select2/data/tags',[ + 'jquery' +], function ($) { + function Tags (decorated, $element, options) { + var tags = options.get('tags'); + + var createTag = options.get('createTag'); + + if (createTag !== undefined) { + this.createTag = createTag; + } + + var insertTag = options.get('insertTag'); + + if (insertTag !== undefined) { + this.insertTag = insertTag; + } + + decorated.call(this, $element, options); + + if ($.isArray(tags)) { + for (var t = 0; t < tags.length; t++) { + var tag = tags[t]; + var item = this._normalizeItem(tag); + + var $option = this.option(item); + + this.$element.append($option); + } + } + } + + Tags.prototype.query = function (decorated, params, callback) { + var self = this; + + this._removeOldTags(); + + if (params.term == null || params.page != null) { + decorated.call(this, params, callback); + return; + } + + function wrapper (obj, child) { + var data = obj.results; + + for (var i = 0; i < data.length; i++) { + var option = data[i]; + + var checkChildren = ( + option.children != null && + !wrapper({ + results: option.children + }, true) + ); + + var optionText = (option.text || '').toUpperCase(); + var paramsTerm = (params.term || '').toUpperCase(); + + var checkText = optionText === paramsTerm; + + if (checkText || checkChildren) { + if (child) { + return false; + } + + obj.data = data; + callback(obj); + + return; + } + } + + if (child) { + return true; + } + + var tag = self.createTag(params); + + if (tag != null) { + var $option = self.option(tag); + $option.attr('data-select2-tag', true); + + self.addOptions([$option]); + + self.insertTag(data, tag); + } + + obj.results = data; + + callback(obj); + } + + decorated.call(this, params, wrapper); + }; + + Tags.prototype.createTag = function (decorated, params) { + var term = $.trim(params.term); + + if (term === '') { + return null; + } + + return { + id: term, + text: term + }; + }; + + Tags.prototype.insertTag = function (_, data, tag) { + data.unshift(tag); + }; + + Tags.prototype._removeOldTags = function (_) { + var tag = this._lastTag; + + var $options = this.$element.find('option[data-select2-tag]'); + + $options.each(function () { + if (this.selected) { + return; + } + + $(this).remove(); + }); + }; + + return Tags; +}); + +S2.define('select2/data/tokenizer',[ + 'jquery' +], function ($) { + function Tokenizer (decorated, $element, options) { + var tokenizer = options.get('tokenizer'); + + if (tokenizer !== undefined) { + this.tokenizer = tokenizer; + } + + decorated.call(this, $element, options); + } + + Tokenizer.prototype.bind = function (decorated, container, $container) { + decorated.call(this, container, $container); + + this.$search = container.dropdown.$search || container.selection.$search || + $container.find('.select2-search__field'); + }; + + Tokenizer.prototype.query = function (decorated, params, callback) { + var self = this; + + function createAndSelect (data) { + // Normalize the data object so we can use it for checks + var item = self._normalizeItem(data); + + // Check if the data object already exists as a tag + // Select it if it doesn't + var $existingOptions = self.$element.find('option').filter(function () { + return $(this).val() === item.id; + }); + + // If an existing option wasn't found for it, create the option + if (!$existingOptions.length) { + var $option = self.option(item); + $option.attr('data-select2-tag', true); + + self._removeOldTags(); + self.addOptions([$option]); + } + + // Select the item, now that we know there is an option for it + select(item); + } + + function select (data) { + self.trigger('select', { + data: data + }); + } + + params.term = params.term || ''; + + var tokenData = this.tokenizer(params, this.options, createAndSelect); + + if (tokenData.term !== params.term) { + // Replace the search term if we have the search box + if (this.$search.length) { + this.$search.val(tokenData.term); + this.$search.focus(); + } + + params.term = tokenData.term; + } + + decorated.call(this, params, callback); + }; + + Tokenizer.prototype.tokenizer = function (_, params, options, callback) { + var separators = options.get('tokenSeparators') || []; + var term = params.term; + var i = 0; + + var createTag = this.createTag || function (params) { + return { + id: params.term, + text: params.term + }; + }; + + while (i < term.length) { + var termChar = term[i]; + + if ($.inArray(termChar, separators) === -1) { + i++; + + continue; + } + + var part = term.substr(0, i); + var partParams = $.extend({}, params, { + term: part + }); + + var data = createTag(partParams); + + if (data == null) { + i++; + continue; + } + + callback(data); + + // Reset the term to not include the tokenized portion + term = term.substr(i + 1) || ''; + i = 0; + } + + return { + term: term + }; + }; + + return Tokenizer; +}); + +S2.define('select2/data/minimumInputLength',[ + +], function () { + function MinimumInputLength (decorated, $e, options) { + this.minimumInputLength = options.get('minimumInputLength'); + + decorated.call(this, $e, options); + } + + MinimumInputLength.prototype.query = function (decorated, params, callback) { + params.term = params.term || ''; + + if (params.term.length < this.minimumInputLength) { + this.trigger('results:message', { + message: 'inputTooShort', + args: { + minimum: this.minimumInputLength, + input: params.term, + params: params + } + }); + + return; + } + + decorated.call(this, params, callback); + }; + + return MinimumInputLength; +}); + +S2.define('select2/data/maximumInputLength',[ + +], function () { + function MaximumInputLength (decorated, $e, options) { + this.maximumInputLength = options.get('maximumInputLength'); + + decorated.call(this, $e, options); + } + + MaximumInputLength.prototype.query = function (decorated, params, callback) { + params.term = params.term || ''; + + if (this.maximumInputLength > 0 && + params.term.length > this.maximumInputLength) { + this.trigger('results:message', { + message: 'inputTooLong', + args: { + maximum: this.maximumInputLength, + input: params.term, + params: params + } + }); + + return; + } + + decorated.call(this, params, callback); + }; + + return MaximumInputLength; +}); + +S2.define('select2/data/maximumSelectionLength',[ + +], function (){ + function MaximumSelectionLength (decorated, $e, options) { + this.maximumSelectionLength = options.get('maximumSelectionLength'); + + decorated.call(this, $e, options); + } + + MaximumSelectionLength.prototype.query = + function (decorated, params, callback) { + var self = this; + + this.current(function (currentData) { + var count = currentData != null ? currentData.length : 0; + if (self.maximumSelectionLength > 0 && + count >= self.maximumSelectionLength) { + self.trigger('results:message', { + message: 'maximumSelected', + args: { + maximum: self.maximumSelectionLength + } + }); + return; + } + decorated.call(self, params, callback); + }); + }; + + return MaximumSelectionLength; +}); + +S2.define('select2/dropdown',[ + 'jquery', + './utils' +], function ($, Utils) { + function Dropdown ($element, options) { + this.$element = $element; + this.options = options; + + Dropdown.__super__.constructor.call(this); + } + + Utils.Extend(Dropdown, Utils.Observable); + + Dropdown.prototype.render = function () { + var $dropdown = $( + '<span class="select2-dropdown">' + + '<span class="select2-results"></span>' + + '</span>' + ); + + $dropdown.attr('dir', this.options.get('dir')); + + this.$dropdown = $dropdown; + + return $dropdown; + }; + + Dropdown.prototype.bind = function () { + // Should be implemented in subclasses + }; + + Dropdown.prototype.position = function ($dropdown, $container) { + // Should be implemented in subclasses + }; + + Dropdown.prototype.destroy = function () { + // Remove the dropdown from the DOM + this.$dropdown.remove(); + }; + + return Dropdown; +}); + +S2.define('select2/dropdown/search',[ + 'jquery', + '../utils' +], function ($, Utils) { + function Search () { } + + Search.prototype.render = function (decorated) { + var $rendered = decorated.call(this); + + var $search = $( + '<span class="select2-search select2-search--dropdown">' + + '<input class="select2-search__field" type="search" tabindex="-1"' + + ' autocomplete="off" autocorrect="off" autocapitalize="none"' + + ' spellcheck="false" role="textbox" />' + + '</span>' + ); + + this.$searchContainer = $search; + this.$search = $search.find('input'); + + $rendered.prepend($search); + + return $rendered; + }; + + Search.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + this.$search.on('keydown', function (evt) { + self.trigger('keypress', evt); + + self._keyUpPrevented = evt.isDefaultPrevented(); + }); + + // Workaround for browsers which do not support the `input` event + // This will prevent double-triggering of events for browsers which support + // both the `keyup` and `input` events. + this.$search.on('input', function (evt) { + // Unbind the duplicated `keyup` event + $(this).off('keyup'); + }); + + this.$search.on('keyup input', function (evt) { + self.handleSearch(evt); + }); + + container.on('open', function () { + self.$search.attr('tabindex', 0); + + self.$search.focus(); + + window.setTimeout(function () { + self.$search.focus(); + }, 0); + }); + + container.on('close', function () { + self.$search.attr('tabindex', -1); + + self.$search.val(''); + self.$search.blur(); + }); + + container.on('focus', function () { + if (!container.isOpen()) { + self.$search.focus(); + } + }); + + container.on('results:all', function (params) { + if (params.query.term == null || params.query.term === '') { + var showSearch = self.showSearch(params); + + if (showSearch) { + self.$searchContainer.removeClass('select2-search--hide'); + } else { + self.$searchContainer.addClass('select2-search--hide'); + } + } + }); + }; + + Search.prototype.handleSearch = function (evt) { + if (!this._keyUpPrevented) { + var input = this.$search.val(); + + this.trigger('query', { + term: input + }); + } + + this._keyUpPrevented = false; + }; + + Search.prototype.showSearch = function (_, params) { + return true; + }; + + return Search; +}); + +S2.define('select2/dropdown/hidePlaceholder',[ + +], function () { + function HidePlaceholder (decorated, $element, options, dataAdapter) { + this.placeholder = this.normalizePlaceholder(options.get('placeholder')); + + decorated.call(this, $element, options, dataAdapter); + } + + HidePlaceholder.prototype.append = function (decorated, data) { + data.results = this.removePlaceholder(data.results); + + decorated.call(this, data); + }; + + HidePlaceholder.prototype.normalizePlaceholder = function (_, placeholder) { + if (typeof placeholder === 'string') { + placeholder = { + id: '', + text: placeholder + }; + } + + return placeholder; + }; + + HidePlaceholder.prototype.removePlaceholder = function (_, data) { + var modifiedData = data.slice(0); + + for (var d = data.length - 1; d >= 0; d--) { + var item = data[d]; + + if (this.placeholder.id === item.id) { + modifiedData.splice(d, 1); + } + } + + return modifiedData; + }; + + return HidePlaceholder; +}); + +S2.define('select2/dropdown/infiniteScroll',[ + 'jquery' +], function ($) { + function InfiniteScroll (decorated, $element, options, dataAdapter) { + this.lastParams = {}; + + decorated.call(this, $element, options, dataAdapter); + + this.$loadingMore = this.createLoadingMore(); + this.loading = false; + } + + InfiniteScroll.prototype.append = function (decorated, data) { + this.$loadingMore.remove(); + this.loading = false; + + decorated.call(this, data); + + if (this.showLoadingMore(data)) { + this.$results.append(this.$loadingMore); + } + }; + + InfiniteScroll.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('query', function (params) { + self.lastParams = params; + self.loading = true; + }); + + container.on('query:append', function (params) { + self.lastParams = params; + self.loading = true; + }); + + this.$results.on('scroll', function () { + var isLoadMoreVisible = $.contains( + document.documentElement, + self.$loadingMore[0] + ); + + if (self.loading || !isLoadMoreVisible) { + return; + } + + var currentOffset = self.$results.offset().top + + self.$results.outerHeight(false); + var loadingMoreOffset = self.$loadingMore.offset().top + + self.$loadingMore.outerHeight(false); + + if (currentOffset + 50 >= loadingMoreOffset) { + self.loadMore(); + } + }); + }; + + InfiniteScroll.prototype.loadMore = function () { + this.loading = true; + + var params = $.extend({}, {page: 1}, this.lastParams); + + params.page++; + + this.trigger('query:append', params); + }; + + InfiniteScroll.prototype.showLoadingMore = function (_, data) { + return data.pagination && data.pagination.more; + }; + + InfiniteScroll.prototype.createLoadingMore = function () { + var $option = $( + '<li ' + + 'class="select2-results__option select2-results__option--load-more"' + + 'role="treeitem" aria-disabled="true"></li>' + ); + + var message = this.options.get('translations').get('loadingMore'); + + $option.html(message(this.lastParams)); + + return $option; + }; + + return InfiniteScroll; +}); + +S2.define('select2/dropdown/attachBody',[ + 'jquery', + '../utils' +], function ($, Utils) { + function AttachBody (decorated, $element, options) { + this.$dropdownParent = options.get('dropdownParent') || $(document.body); + + decorated.call(this, $element, options); + } + + AttachBody.prototype.bind = function (decorated, container, $container) { + var self = this; + + var setupResultsEvents = false; + + decorated.call(this, container, $container); + + container.on('open', function () { + self._showDropdown(); + self._attachPositioningHandler(container); + + if (!setupResultsEvents) { + setupResultsEvents = true; + + container.on('results:all', function () { + self._positionDropdown(); + self._resizeDropdown(); + }); + + container.on('results:append', function () { + self._positionDropdown(); + self._resizeDropdown(); + }); + } + }); + + container.on('close', function () { + self._hideDropdown(); + self._detachPositioningHandler(container); + }); + + this.$dropdownContainer.on('mousedown', function (evt) { + evt.stopPropagation(); + }); + }; + + AttachBody.prototype.destroy = function (decorated) { + decorated.call(this); + + this.$dropdownContainer.remove(); + }; + + AttachBody.prototype.position = function (decorated, $dropdown, $container) { + // Clone all of the container classes + $dropdown.attr('class', $container.attr('class')); + + $dropdown.removeClass('select2'); + $dropdown.addClass('select2-container--open'); + + $dropdown.css({ + position: 'absolute', + top: -999999 + }); + + this.$container = $container; + }; + + AttachBody.prototype.render = function (decorated) { + var $container = $('<span></span>'); + + var $dropdown = decorated.call(this); + $container.append($dropdown); + + this.$dropdownContainer = $container; + + return $container; + }; + + AttachBody.prototype._hideDropdown = function (decorated) { + this.$dropdownContainer.detach(); + }; + + AttachBody.prototype._attachPositioningHandler = + function (decorated, container) { + var self = this; + + var scrollEvent = 'scroll.select2.' + container.id; + var resizeEvent = 'resize.select2.' + container.id; + var orientationEvent = 'orientationchange.select2.' + container.id; + + var $watchers = this.$container.parents().filter(Utils.hasScroll); + $watchers.each(function () { + Utils.StoreData(this, 'select2-scroll-position', { + x: $(this).scrollLeft(), + y: $(this).scrollTop() + }); + }); + + $watchers.on(scrollEvent, function (ev) { + var position = Utils.GetData(this, 'select2-scroll-position'); + $(this).scrollTop(position.y); + }); + + $(window).on(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent, + function (e) { + self._positionDropdown(); + self._resizeDropdown(); + }); + }; + + AttachBody.prototype._detachPositioningHandler = + function (decorated, container) { + var scrollEvent = 'scroll.select2.' + container.id; + var resizeEvent = 'resize.select2.' + container.id; + var orientationEvent = 'orientationchange.select2.' + container.id; + + var $watchers = this.$container.parents().filter(Utils.hasScroll); + $watchers.off(scrollEvent); + + $(window).off(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent); + }; + + AttachBody.prototype._positionDropdown = function () { + var $window = $(window); + + var isCurrentlyAbove = this.$dropdown.hasClass('select2-dropdown--above'); + var isCurrentlyBelow = this.$dropdown.hasClass('select2-dropdown--below'); + + var newDirection = null; + + var offset = this.$container.offset(); + + offset.bottom = offset.top + this.$container.outerHeight(false); + + var container = { + height: this.$container.outerHeight(false) + }; + + container.top = offset.top; + container.bottom = offset.top + container.height; + + var dropdown = { + height: this.$dropdown.outerHeight(false) + }; + + var viewport = { + top: $window.scrollTop(), + bottom: $window.scrollTop() + $window.height() + }; + + var enoughRoomAbove = viewport.top < (offset.top - dropdown.height); + var enoughRoomBelow = viewport.bottom > (offset.bottom + dropdown.height); + + var css = { + left: offset.left, + top: container.bottom + }; + + // Determine what the parent element is to use for calculating the offset + var $offsetParent = this.$dropdownParent; + + // For statically positioned elements, we need to get the element + // that is determining the offset + if ($offsetParent.css('position') === 'static') { + $offsetParent = $offsetParent.offsetParent(); + } + + var parentOffset = $offsetParent.offset(); + + css.top -= parentOffset.top; + css.left -= parentOffset.left; + + if (!isCurrentlyAbove && !isCurrentlyBelow) { + newDirection = 'below'; + } + + if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) { + newDirection = 'above'; + } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) { + newDirection = 'below'; + } + + if (newDirection == 'above' || + (isCurrentlyAbove && newDirection !== 'below')) { + css.top = container.top - parentOffset.top - dropdown.height; + } + + if (newDirection != null) { + this.$dropdown + .removeClass('select2-dropdown--below select2-dropdown--above') + .addClass('select2-dropdown--' + newDirection); + this.$container + .removeClass('select2-container--below select2-container--above') + .addClass('select2-container--' + newDirection); + } + + this.$dropdownContainer.css(css); + }; + + AttachBody.prototype._resizeDropdown = function () { + var css = { + width: this.$container.outerWidth(false) + 'px' + }; + + if (this.options.get('dropdownAutoWidth')) { + css.minWidth = css.width; + css.position = 'relative'; + css.width = 'auto'; + } + + this.$dropdown.css(css); + }; + + AttachBody.prototype._showDropdown = function (decorated) { + this.$dropdownContainer.appendTo(this.$dropdownParent); + + this._positionDropdown(); + this._resizeDropdown(); + }; + + return AttachBody; +}); + +S2.define('select2/dropdown/minimumResultsForSearch',[ + +], function () { + function countResults (data) { + var count = 0; + + for (var d = 0; d < data.length; d++) { + var item = data[d]; + + if (item.children) { + count += countResults(item.children); + } else { + count++; + } + } + + return count; + } + + function MinimumResultsForSearch (decorated, $element, options, dataAdapter) { + this.minimumResultsForSearch = options.get('minimumResultsForSearch'); + + if (this.minimumResultsForSearch < 0) { + this.minimumResultsForSearch = Infinity; + } + + decorated.call(this, $element, options, dataAdapter); + } + + MinimumResultsForSearch.prototype.showSearch = function (decorated, params) { + if (countResults(params.data.results) < this.minimumResultsForSearch) { + return false; + } + + return decorated.call(this, params); + }; + + return MinimumResultsForSearch; +}); + +S2.define('select2/dropdown/selectOnClose',[ + '../utils' +], function (Utils) { + function SelectOnClose () { } + + SelectOnClose.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('close', function (params) { + self._handleSelectOnClose(params); + }); + }; + + SelectOnClose.prototype._handleSelectOnClose = function (_, params) { + if (params && params.originalSelect2Event != null) { + var event = params.originalSelect2Event; + + // Don't select an item if the close event was triggered from a select or + // unselect event + if (event._type === 'select' || event._type === 'unselect') { + return; + } + } + + var $highlightedResults = this.getHighlightedResults(); + + // Only select highlighted results + if ($highlightedResults.length < 1) { + return; + } + + var data = Utils.GetData($highlightedResults[0], 'data'); + + // Don't re-select already selected resulte + if ( + (data.element != null && data.element.selected) || + (data.element == null && data.selected) + ) { + return; + } + + this.trigger('select', { + data: data + }); + }; + + return SelectOnClose; +}); + +S2.define('select2/dropdown/closeOnSelect',[ + +], function () { + function CloseOnSelect () { } + + CloseOnSelect.prototype.bind = function (decorated, container, $container) { + var self = this; + + decorated.call(this, container, $container); + + container.on('select', function (evt) { + self._selectTriggered(evt); + }); + + container.on('unselect', function (evt) { + self._selectTriggered(evt); + }); + }; + + CloseOnSelect.prototype._selectTriggered = function (_, evt) { + var originalEvent = evt.originalEvent; + + // Don't close if the control key is being held + if (originalEvent && (originalEvent.ctrlKey || originalEvent.metaKey)) { + return; + } + + this.trigger('close', { + originalEvent: originalEvent, + originalSelect2Event: evt + }); + }; + + return CloseOnSelect; +}); + +S2.define('select2/i18n/en',[],function () { + // English + return { + errorLoading: function () { + return 'The results could not be loaded.'; + }, + inputTooLong: function (args) { + var overChars = args.input.length - args.maximum; + + var message = 'Please delete ' + overChars + ' character'; + + if (overChars != 1) { + message += 's'; + } + + return message; + }, + inputTooShort: function (args) { + var remainingChars = args.minimum - args.input.length; + + var message = 'Please enter ' + remainingChars + ' or more characters'; + + return message; + }, + loadingMore: function () { + return 'Loading more results…'; + }, + maximumSelected: function (args) { + var message = 'You can only select ' + args.maximum + ' item'; + + if (args.maximum != 1) { + message += 's'; + } + + return message; + }, + noResults: function () { + return 'No results found'; + }, + searching: function () { + return 'Searching…'; + }, + removeAllItems: function () { + return 'Remove all items'; + } + }; +}); + +S2.define('select2/defaults',[ + 'jquery', + 'require', + + './results', + + './selection/single', + './selection/multiple', + './selection/placeholder', + './selection/allowClear', + './selection/search', + './selection/eventRelay', + + './utils', + './translation', + './diacritics', + + './data/select', + './data/array', + './data/ajax', + './data/tags', + './data/tokenizer', + './data/minimumInputLength', + './data/maximumInputLength', + './data/maximumSelectionLength', + + './dropdown', + './dropdown/search', + './dropdown/hidePlaceholder', + './dropdown/infiniteScroll', + './dropdown/attachBody', + './dropdown/minimumResultsForSearch', + './dropdown/selectOnClose', + './dropdown/closeOnSelect', + + './i18n/en' +], function ($, require, + + ResultsList, + + SingleSelection, MultipleSelection, Placeholder, AllowClear, + SelectionSearch, EventRelay, + + Utils, Translation, DIACRITICS, + + SelectData, ArrayData, AjaxData, Tags, Tokenizer, + MinimumInputLength, MaximumInputLength, MaximumSelectionLength, + + Dropdown, DropdownSearch, HidePlaceholder, InfiniteScroll, + AttachBody, MinimumResultsForSearch, SelectOnClose, CloseOnSelect, + + EnglishTranslation) { + function Defaults () { + this.reset(); + } + + Defaults.prototype.apply = function (options) { + options = $.extend(true, {}, this.defaults, options); + + if (options.dataAdapter == null) { + if (options.ajax != null) { + options.dataAdapter = AjaxData; + } else if (options.data != null) { + options.dataAdapter = ArrayData; + } else { + options.dataAdapter = SelectData; + } + + if (options.minimumInputLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MinimumInputLength + ); + } + + if (options.maximumInputLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MaximumInputLength + ); + } + + if (options.maximumSelectionLength > 0) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + MaximumSelectionLength + ); + } + + if (options.tags) { + options.dataAdapter = Utils.Decorate(options.dataAdapter, Tags); + } + + if (options.tokenSeparators != null || options.tokenizer != null) { + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + Tokenizer + ); + } + + if (options.query != null) { + var Query = require(options.amdBase + 'compat/query'); + + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + Query + ); + } + + if (options.initSelection != null) { + var InitSelection = require(options.amdBase + 'compat/initSelection'); + + options.dataAdapter = Utils.Decorate( + options.dataAdapter, + InitSelection + ); + } + } + + if (options.resultsAdapter == null) { + options.resultsAdapter = ResultsList; + + if (options.ajax != null) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + InfiniteScroll + ); + } + + if (options.placeholder != null) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + HidePlaceholder + ); + } + + if (options.selectOnClose) { + options.resultsAdapter = Utils.Decorate( + options.resultsAdapter, + SelectOnClose + ); + } + } + + if (options.dropdownAdapter == null) { + if (options.multiple) { + options.dropdownAdapter = Dropdown; + } else { + var SearchableDropdown = Utils.Decorate(Dropdown, DropdownSearch); + + options.dropdownAdapter = SearchableDropdown; + } + + if (options.minimumResultsForSearch !== 0) { + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + MinimumResultsForSearch + ); + } + + if (options.closeOnSelect) { + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + CloseOnSelect + ); + } + + if ( + options.dropdownCssClass != null || + options.dropdownCss != null || + options.adaptDropdownCssClass != null + ) { + var DropdownCSS = require(options.amdBase + 'compat/dropdownCss'); + + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + DropdownCSS + ); + } + + options.dropdownAdapter = Utils.Decorate( + options.dropdownAdapter, + AttachBody + ); + } + + if (options.selectionAdapter == null) { + if (options.multiple) { + options.selectionAdapter = MultipleSelection; + } else { + options.selectionAdapter = SingleSelection; + } + + // Add the placeholder mixin if a placeholder was specified + if (options.placeholder != null) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + Placeholder + ); + } + + if (options.allowClear) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + AllowClear + ); + } + + if (options.multiple) { + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + SelectionSearch + ); + } + + if ( + options.containerCssClass != null || + options.containerCss != null || + options.adaptContainerCssClass != null + ) { + var ContainerCSS = require(options.amdBase + 'compat/containerCss'); + + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + ContainerCSS + ); + } + + options.selectionAdapter = Utils.Decorate( + options.selectionAdapter, + EventRelay + ); + } + + if (typeof options.language === 'string') { + // Check if the language is specified with a region + if (options.language.indexOf('-') > 0) { + // Extract the region information if it is included + var languageParts = options.language.split('-'); + var baseLanguage = languageParts[0]; + + options.language = [options.language, baseLanguage]; + } else { + options.language = [options.language]; + } + } + + if ($.isArray(options.language)) { + var languages = new Translation(); + options.language.push('en'); + + var languageNames = options.language; + + for (var l = 0; l < languageNames.length; l++) { + var name = languageNames[l]; + var language = {}; + + try { + // Try to load it with the original name + language = Translation.loadPath(name); + } catch (e) { + try { + // If we couldn't load it, check if it wasn't the full path + name = this.defaults.amdLanguageBase + name; + language = Translation.loadPath(name); + } catch (ex) { + // The translation could not be loaded at all. Sometimes this is + // because of a configuration problem, other times this can be + // because of how Select2 helps load all possible translation files. + if (options.debug && window.console && console.warn) { + console.warn( + 'Select2: The language file for "' + name + '" could not be ' + + 'automatically loaded. A fallback will be used instead.' + ); + } + + continue; + } + } + + languages.extend(language); + } + + options.translations = languages; + } else { + var baseTranslation = Translation.loadPath( + this.defaults.amdLanguageBase + 'en' + ); + var customTranslation = new Translation(options.language); + + customTranslation.extend(baseTranslation); + + options.translations = customTranslation; + } + + return options; + }; + + Defaults.prototype.reset = function () { + function stripDiacritics (text) { + // Used 'uni range + named function' from http://jsperf.com/diacritics/18 + function match(a) { + return DIACRITICS[a] || a; + } + + return text.replace(/[^\u0000-\u007E]/g, match); + } + + function matcher (params, data) { + // Always return the object if there is nothing to compare + if ($.trim(params.term) === '') { + return data; + } + + // Do a recursive check for options with children + if (data.children && data.children.length > 0) { + // Clone the data object if there are children + // This is required as we modify the object to remove any non-matches + var match = $.extend(true, {}, data); + + // Check each child of the option + for (var c = data.children.length - 1; c >= 0; c--) { + var child = data.children[c]; + + var matches = matcher(params, child); + + // If there wasn't a match, remove the object in the array + if (matches == null) { + match.children.splice(c, 1); + } + } + + // If any children matched, return the new object + if (match.children.length > 0) { + return match; + } + + // If there were no matching children, check just the plain object + return matcher(params, match); + } + + var original = stripDiacritics(data.text).toUpperCase(); + var term = stripDiacritics(params.term).toUpperCase(); + + // Check if the text contains the term + if (original.indexOf(term) > -1) { + return data; + } + + // If it doesn't contain the term, don't return anything + return null; + } + + this.defaults = { + amdBase: './', + amdLanguageBase: './i18n/', + closeOnSelect: true, + debug: false, + dropdownAutoWidth: false, + escapeMarkup: Utils.escapeMarkup, + language: EnglishTranslation, + matcher: matcher, + minimumInputLength: 0, + maximumInputLength: 0, + maximumSelectionLength: 0, + minimumResultsForSearch: 0, + selectOnClose: false, + scrollAfterSelect: false, + sorter: function (data) { + return data; + }, + templateResult: function (result) { + return result.text; + }, + templateSelection: function (selection) { + return selection.text; + }, + theme: 'default', + width: 'resolve' + }; + }; + + Defaults.prototype.set = function (key, value) { + var camelKey = $.camelCase(key); + + var data = {}; + data[camelKey] = value; + + var convertedData = Utils._convertData(data); + + $.extend(true, this.defaults, convertedData); + }; + + var defaults = new Defaults(); + + return defaults; +}); + +S2.define('select2/options',[ + 'require', + 'jquery', + './defaults', + './utils' +], function (require, $, Defaults, Utils) { + function Options (options, $element) { + this.options = options; + + if ($element != null) { + this.fromElement($element); + } + + this.options = Defaults.apply(this.options); + + if ($element && $element.is('input')) { + var InputCompat = require(this.get('amdBase') + 'compat/inputData'); + + this.options.dataAdapter = Utils.Decorate( + this.options.dataAdapter, + InputCompat + ); + } + } + + Options.prototype.fromElement = function ($e) { + var excludedData = ['select2']; + + if (this.options.multiple == null) { + this.options.multiple = $e.prop('multiple'); + } + + if (this.options.disabled == null) { + this.options.disabled = $e.prop('disabled'); + } + + if (this.options.language == null) { + if ($e.prop('lang')) { + this.options.language = $e.prop('lang').toLowerCase(); + } else if ($e.closest('[lang]').prop('lang')) { + this.options.language = $e.closest('[lang]').prop('lang'); + } + } + + if (this.options.dir == null) { + if ($e.prop('dir')) { + this.options.dir = $e.prop('dir'); + } else if ($e.closest('[dir]').prop('dir')) { + this.options.dir = $e.closest('[dir]').prop('dir'); + } else { + this.options.dir = 'ltr'; + } + } + + $e.prop('disabled', this.options.disabled); + $e.prop('multiple', this.options.multiple); + + if (Utils.GetData($e[0], 'select2Tags')) { + if (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.' + ); + } + + Utils.StoreData($e[0], 'data', Utils.GetData($e[0], 'select2Tags')); + Utils.StoreData($e[0], 'tags', true); + } + + if (Utils.GetData($e[0], 'ajaxUrl')) { + if (this.options.debug && window.console && console.warn) { + console.warn( + 'Select2: The `data-ajax-url` attribute has been changed to ' + + '`data-ajax--url` and support for the old attribute will be removed' + + ' in future versions of Select2.' + ); + } + + $e.attr('ajax--url', Utils.GetData($e[0], 'ajaxUrl')); + Utils.StoreData($e[0], 'ajax-Url', Utils.GetData($e[0], 'ajaxUrl')); + } + + var dataset = {}; + + function upperCaseLetter(_, letter) { + return letter.toUpperCase(); + } + + // Pre-load all of the attributes which are prefixed with `data-` + for (var attr = 0; attr < $e[0].attributes.length; attr++) { + var attributeName = $e[0].attributes[attr].name; + var prefix = 'data-'; + + if (attributeName.substr(0, prefix.length) == prefix) { + // Get the contents of the attribute after `data-` + var dataName = attributeName.substring(prefix.length); + + // Get the data contents from the consistent source + // This is more than likely the jQuery data helper + var dataValue = Utils.GetData($e[0], dataName); + + // camelCase the attribute name to match the spec + var camelDataName = dataName.replace(/-([a-z])/g, upperCaseLetter); + + // Store the data attribute contents into the dataset since + dataset[camelDataName] = dataValue; + } + } + + // Prefer the element's `dataset` attribute if it exists + // jQuery 1.x does not correctly handle data attributes with multiple dashes + if ($.fn.jquery && $.fn.jquery.substr(0, 2) == '1.' && $e[0].dataset) { + dataset = $.extend(true, {}, $e[0].dataset, dataset); + } + + // Prefer our internal data cache if it exists + var data = $.extend(true, {}, Utils.GetData($e[0]), dataset); + + data = Utils._convertData(data); + + for (var key in data) { + if ($.inArray(key, excludedData) > -1) { + continue; + } + + if ($.isPlainObject(this.options[key])) { + $.extend(this.options[key], data[key]); + } else { + this.options[key] = data[key]; + } + } + + return this; + }; + + Options.prototype.get = function (key) { + return this.options[key]; + }; + + Options.prototype.set = function (key, val) { + this.options[key] = val; + }; + + return Options; +}); + +S2.define('select2/core',[ + 'jquery', + './options', + './utils', + './keys' +], function ($, Options, Utils, KEYS) { + var Select2 = function ($element, options) { + if (Utils.GetData($element[0], 'select2') != null) { + Utils.GetData($element[0], 'select2').destroy(); + } + + this.$element = $element; + + this.id = this._generateId($element); + + options = options || {}; + + this.options = new Options(options, $element); + + Select2.__super__.constructor.call(this); + + // Set up the tabindex + + var tabindex = $element.attr('tabindex') || 0; + Utils.StoreData($element[0], 'old-tabindex', tabindex); + $element.attr('tabindex', '-1'); + + // Set up containers and adapters + + var DataAdapter = this.options.get('dataAdapter'); + this.dataAdapter = new DataAdapter($element, this.options); + + var $container = this.render(); + + this._placeContainer($container); + + var SelectionAdapter = this.options.get('selectionAdapter'); + this.selection = new SelectionAdapter($element, this.options); + this.$selection = this.selection.render(); + + this.selection.position(this.$selection, $container); + + var DropdownAdapter = this.options.get('dropdownAdapter'); + this.dropdown = new DropdownAdapter($element, this.options); + this.$dropdown = this.dropdown.render(); + + this.dropdown.position(this.$dropdown, $container); + + var ResultsAdapter = this.options.get('resultsAdapter'); + this.results = new ResultsAdapter($element, this.options, this.dataAdapter); + this.$results = this.results.render(); + + this.results.position(this.$results, this.$dropdown); + + // Bind events + + var self = this; + + // Bind the container to all of the adapters + this._bindAdapters(); + + // Register any DOM event handlers + this._registerDomEvents(); + + // Register any internal event handlers + this._registerDataEvents(); + this._registerSelectionEvents(); + this._registerDropdownEvents(); + this._registerResultsEvents(); + this._registerEvents(); + + // Set the initial state + this.dataAdapter.current(function (initialData) { + self.trigger('selection:update', { + data: initialData + }); + }); + + // Hide the original select + $element.addClass('select2-hidden-accessible'); + $element.attr('aria-hidden', 'true'); + + // Synchronize any monitored attributes + this._syncAttributes(); + + Utils.StoreData($element[0], 'select2', this); + + // Ensure backwards compatibility with $element.data('select2'). + $element.data('select2', this); + }; + + Utils.Extend(Select2, Utils.Observable); + + Select2.prototype._generateId = function ($element) { + var id = ''; + + if ($element.attr('id') != null) { + id = $element.attr('id'); + } else if ($element.attr('name') != null) { + id = $element.attr('name') + '-' + Utils.generateChars(2); + } else { + id = Utils.generateChars(4); + } + + id = id.replace(/(:|\.|\[|\]|,)/g, ''); + id = 'select2-' + id; + + return id; + }; + + Select2.prototype._placeContainer = function ($container) { + $container.insertAfter(this.$element); + + var width = this._resolveWidth(this.$element, this.options.get('width')); + + if (width != null) { + $container.css('width', width); + } + }; + + Select2.prototype._resolveWidth = function ($element, method) { + var WIDTH = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i; + + if (method == 'resolve') { + var styleWidth = this._resolveWidth($element, 'style'); + + if (styleWidth != null) { + return styleWidth; + } + + return this._resolveWidth($element, 'element'); + } + + if (method == 'element') { + var elementWidth = $element.outerWidth(false); + + if (elementWidth <= 0) { + return 'auto'; + } + + return elementWidth + 'px'; + } + + if (method == 'style') { + var style = $element.attr('style'); + + if (typeof(style) !== 'string') { + return null; + } + + var attrs = style.split(';'); + + for (var i = 0, l = attrs.length; i < l; i = i + 1) { + var attr = attrs[i].replace(/\s/g, ''); + var matches = attr.match(WIDTH); + + if (matches !== null && matches.length >= 1) { + return matches[1]; + } + } + + return null; + } + + return method; + }; + + Select2.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); + }; + + Select2.prototype._registerDomEvents = function () { + var self = this; + + this.$element.on('change.select2', function () { + self.dataAdapter.current(function (data) { + self.trigger('selection:update', { + data: data + }); + }); + }); + + this.$element.on('focus.select2', function (evt) { + self.trigger('focus', evt); + }); + + this._syncA = Utils.bind(this._syncAttributes, this); + this._syncS = Utils.bind(this._syncSubtree, this); + + if (this.$element[0].attachEvent) { + this.$element[0].attachEvent('onpropertychange', this._syncA); + } + + var observer = window.MutationObserver || + window.WebKitMutationObserver || + window.MozMutationObserver + ; + + if (observer != null) { + this._observer = new observer(function (mutations) { + $.each(mutations, self._syncA); + $.each(mutations, self._syncS); + }); + this._observer.observe(this.$element[0], { + attributes: true, + childList: true, + subtree: false + }); + } else if (this.$element[0].addEventListener) { + this.$element[0].addEventListener( + 'DOMAttrModified', + self._syncA, + false + ); + this.$element[0].addEventListener( + 'DOMNodeInserted', + self._syncS, + false + ); + this.$element[0].addEventListener( + 'DOMNodeRemoved', + self._syncS, + false + ); + } + }; + + Select2.prototype._registerDataEvents = function () { + var self = this; + + this.dataAdapter.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerSelectionEvents = function () { + var self = this; + var nonRelayEvents = ['toggle', 'focus']; + + this.selection.on('toggle', function () { + self.toggleDropdown(); + }); + + this.selection.on('focus', function (params) { + self.focus(params); + }); + + this.selection.on('*', function (name, params) { + if ($.inArray(name, nonRelayEvents) !== -1) { + return; + } + + self.trigger(name, params); + }); + }; + + Select2.prototype._registerDropdownEvents = function () { + var self = this; + + this.dropdown.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerResultsEvents = function () { + var self = this; + + this.results.on('*', function (name, params) { + self.trigger(name, params); + }); + }; + + Select2.prototype._registerEvents = function () { + var self = this; + + this.on('open', function () { + self.$container.addClass('select2-container--open'); + }); + + this.on('close', function () { + self.$container.removeClass('select2-container--open'); + }); + + this.on('enable', function () { + self.$container.removeClass('select2-container--disabled'); + }); + + this.on('disable', function () { + self.$container.addClass('select2-container--disabled'); + }); + + this.on('blur', function () { + self.$container.removeClass('select2-container--focus'); + }); + + this.on('query', function (params) { + if (!self.isOpen()) { + self.trigger('open', {}); + } + + this.dataAdapter.query(params, function (data) { + self.trigger('results:all', { + data: data, + query: params + }); + }); + }); + + this.on('query:append', function (params) { + this.dataAdapter.query(params, function (data) { + self.trigger('results:append', { + data: data, + query: params + }); + }); + }); + + this.on('keypress', function (evt) { + var key = evt.which; + + if (self.isOpen()) { + if (key === KEYS.ESC || key === KEYS.TAB || + (key === KEYS.UP && evt.altKey)) { + self.close(); + + evt.preventDefault(); + } else if (key === KEYS.ENTER) { + self.trigger('results:select', {}); + + evt.preventDefault(); + } else if ((key === KEYS.SPACE && evt.ctrlKey)) { + self.trigger('results:toggle', {}); + + evt.preventDefault(); + } else if (key === KEYS.UP) { + self.trigger('results:previous', {}); + + evt.preventDefault(); + } else if (key === KEYS.DOWN) { + self.trigger('results:next', {}); + + evt.preventDefault(); + } + } else { + if (key === KEYS.ENTER || key === KEYS.SPACE || + (key === KEYS.DOWN && evt.altKey)) { + self.open(); + + evt.preventDefault(); + } + } + }); + }; + + Select2.prototype._syncAttributes = function () { + this.options.set('disabled', this.$element.prop('disabled')); + + if (this.options.get('disabled')) { + if (this.isOpen()) { + this.close(); + } + + this.trigger('disable', {}); + } else { + this.trigger('enable', {}); + } + }; + + Select2.prototype._syncSubtree = function (evt, mutations) { + var changed = false; + var self = this; + + // Ignore any mutation events raised for elements that aren't options or + // optgroups. This handles the case when the select element is destroyed + if ( + evt && evt.target && ( + evt.target.nodeName !== 'OPTION' && evt.target.nodeName !== 'OPTGROUP' + ) + ) { + return; + } + + if (!mutations) { + // If mutation events aren't supported, then we can only assume that the + // change affected the selections + changed = true; + } else if (mutations.addedNodes && mutations.addedNodes.length > 0) { + for (var n = 0; n < mutations.addedNodes.length; n++) { + var node = mutations.addedNodes[n]; + + if (node.selected) { + changed = true; + } + } + } else if (mutations.removedNodes && mutations.removedNodes.length > 0) { + changed = true; + } + + // Only re-pull the data if we think there is a change + if (changed) { + this.dataAdapter.current(function (currentData) { + self.trigger('selection:update', { + data: currentData + }); + }); + } + }; + + /** + * Override the trigger method to automatically trigger pre-events when + * there are events that can be prevented. + */ + Select2.prototype.trigger = function (name, args) { + var actualTrigger = Select2.__super__.trigger; + var preTriggerMap = { + 'open': 'opening', + 'close': 'closing', + 'select': 'selecting', + 'unselect': 'unselecting', + 'clear': 'clearing' + }; + + if (args === undefined) { + args = {}; + } + + if (name in preTriggerMap) { + var preTriggerName = preTriggerMap[name]; + var preTriggerArgs = { + prevented: false, + name: name, + args: args + }; + + actualTrigger.call(this, preTriggerName, preTriggerArgs); + + if (preTriggerArgs.prevented) { + args.prevented = true; + + return; + } + } + + actualTrigger.call(this, name, args); + }; + + Select2.prototype.toggleDropdown = function () { + if (this.options.get('disabled')) { + return; + } + + if (this.isOpen()) { + this.close(); + } else { + this.open(); + } + }; + + Select2.prototype.open = function () { + if (this.isOpen()) { + return; + } + + this.trigger('query', {}); + }; + + Select2.prototype.close = function () { + if (!this.isOpen()) { + return; + } + + this.trigger('close', {}); + }; + + Select2.prototype.isOpen = function () { + return this.$container.hasClass('select2-container--open'); + }; + + Select2.prototype.hasFocus = function () { + return this.$container.hasClass('select2-container--focus'); + }; + + Select2.prototype.focus = function (data) { + // No need to re-trigger focus events if we are already focused + if (this.hasFocus()) { + return; + } + + this.$container.addClass('select2-container--focus'); + this.trigger('focus', {}); + }; + + Select2.prototype.enable = function (args) { + if (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.' + ); + } + + if (args == null || args.length === 0) { + args = [true]; + } + + var disabled = !args[0]; + + this.$element.prop('disabled', disabled); + }; + + Select2.prototype.data = function () { + if (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 data = []; + + this.dataAdapter.current(function (currentData) { + data = currentData; + }); + + return data; + }; + + Select2.prototype.val = function (args) { + 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.' + ); + } + + if (args == null || args.length === 0) { + return this.$element.val(); + } + + var newVal = args[0]; + + if ($.isArray(newVal)) { + newVal = $.map(newVal, function (obj) { + return obj.toString(); + }); + } + + this.$element.val(newVal).trigger('change'); + }; + + Select2.prototype.destroy = function () { + this.$container.remove(); + + if (this.$element[0].detachEvent) { + this.$element[0].detachEvent('onpropertychange', this._syncA); + } + + if (this._observer != null) { + this._observer.disconnect(); + this._observer = null; + } else if (this.$element[0].removeEventListener) { + this.$element[0] + .removeEventListener('DOMAttrModified', this._syncA, false); + this.$element[0] + .removeEventListener('DOMNodeInserted', this._syncS, false); + this.$element[0] + .removeEventListener('DOMNodeRemoved', this._syncS, false); + } + + this._syncA = null; + this._syncS = null; + + this.$element.off('.select2'); + this.$element.attr('tabindex', + Utils.GetData(this.$element[0], 'old-tabindex')); + + this.$element.removeClass('select2-hidden-accessible'); + this.$element.attr('aria-hidden', 'false'); + Utils.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; + }; + + Select2.prototype.render = function () { + var $container = $( + '<span class="select2 select2-container">' + + '<span class="selection"></span>' + + '<span class="dropdown-wrapper" aria-hidden="true"></span>' + + '</span>' + ); + + $container.attr('dir', this.options.get('dir')); + + this.$container = $container; + + this.$container.addClass('select2-container--' + this.options.get('theme')); + + Utils.StoreData($container[0], 'element', this.$element); + + return $container; + }; + + return Select2; +}); + +S2.define('select2/compat/utils',[ + 'jquery' +], function ($) { + function syncCssClasses ($dest, $src, adapter) { + var classes, replacements = [], adapted; + + classes = $.trim($dest.attr('class')); + + if (classes) { + classes = '' + classes; // for IE which returns object + + $(classes.split(/\s+/)).each(function () { + // Save all Select2 classes + if (this.indexOf('select2-') === 0) { + replacements.push(this); + } + }); + } + + classes = $.trim($src.attr('class')); + + if (classes) { + classes = '' + classes; // for IE which returns object + + $(classes.split(/\s+/)).each(function () { + // Only adapt non-Select2 classes + if (this.indexOf('select2-') !== 0) { + adapted = adapter(this); + + if (adapted != null) { + replacements.push(adapted); + } + } + }); + } + + $dest.attr('class', replacements.join(' ')); + } + + return { + syncCssClasses: syncCssClasses + }; +}); + +S2.define('select2/compat/containerCss',[ + 'jquery', + './utils' +], function ($, CompatUtils) { + // No-op CSS adapter that discards all classes by default + function _containerAdapter (clazz) { + return null; + } + + function ContainerCSS () { } + + ContainerCSS.prototype.render = function (decorated) { + var $container = decorated.call(this); + + var containerCssClass = this.options.get('containerCssClass') || ''; + + if ($.isFunction(containerCssClass)) { + containerCssClass = containerCssClass(this.$element); + } + + var containerCssAdapter = this.options.get('adaptContainerCssClass'); + containerCssAdapter = containerCssAdapter || _containerAdapter; + + if (containerCssClass.indexOf(':all:') !== -1) { + containerCssClass = containerCssClass.replace(':all:', ''); + + var _cssAdapter = containerCssAdapter; + + containerCssAdapter = function (clazz) { + var adapted = _cssAdapter(clazz); + + if (adapted != null) { + // Append the old one along with the adapted one + return adapted + ' ' + clazz; + } + + return clazz; + }; + } + + var containerCss = this.options.get('containerCss') || {}; + + if ($.isFunction(containerCss)) { + containerCss = containerCss(this.$element); + } + + CompatUtils.syncCssClasses($container, this.$element, containerCssAdapter); + + $container.css(containerCss); + $container.addClass(containerCssClass); + + return $container; + }; + + return ContainerCSS; +}); + +S2.define('select2/compat/dropdownCss',[ + 'jquery', + './utils' +], function ($, CompatUtils) { + // No-op CSS adapter that discards all classes by default + function _dropdownAdapter (clazz) { + return null; + } + + function DropdownCSS () { } + + DropdownCSS.prototype.render = function (decorated) { + var $dropdown = decorated.call(this); + + var dropdownCssClass = this.options.get('dropdownCssClass') || ''; + + if ($.isFunction(dropdownCssClass)) { + dropdownCssClass = dropdownCssClass(this.$element); + } + + var dropdownCssAdapter = this.options.get('adaptDropdownCssClass'); + dropdownCssAdapter = dropdownCssAdapter || _dropdownAdapter; + + if (dropdownCssClass.indexOf(':all:') !== -1) { + dropdownCssClass = dropdownCssClass.replace(':all:', ''); + + var _cssAdapter = dropdownCssAdapter; + + dropdownCssAdapter = function (clazz) { + var adapted = _cssAdapter(clazz); + + if (adapted != null) { + // Append the old one along with the adapted one + return adapted + ' ' + clazz; + } + + return clazz; + }; + } + + var dropdownCss = this.options.get('dropdownCss') || {}; + + if ($.isFunction(dropdownCss)) { + dropdownCss = dropdownCss(this.$element); + } + + CompatUtils.syncCssClasses($dropdown, this.$element, dropdownCssAdapter); + + $dropdown.css(dropdownCss); + $dropdown.addClass(dropdownCssClass); + + return $dropdown; + }; + + return DropdownCSS; +}); + +S2.define('select2/compat/initSelection',[ + 'jquery' +], function ($) { + function InitSelection (decorated, $element, options) { + if (options.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 = options.get('initSelection'); + this._isInitialized = false; + + decorated.call(this, $element, options); + } + + InitSelection.prototype.current = function (decorated, callback) { + var self = this; + + if (this._isInitialized) { + decorated.call(this, callback); + + return; + } + + this.initSelection.call(null, this.$element, function (data) { + self._isInitialized = true; + + if (!$.isArray(data)) { + data = [data]; + } + + callback(data); + }); + }; + + return InitSelection; +}); + +S2.define('select2/compat/inputData',[ + 'jquery', + '../utils' +], function ($, Utils) { + function InputData (decorated, $element, options) { + this._currentData = []; + this._valueSeparator = options.get('valueSeparator') || ','; + + if ($element.prop('type') === 'hidden') { + if (options.get('debug') && console && console.warn) { + console.warn( + 'Select2: Using a hidden input with Select2 is no longer ' + + 'supported and may stop working in the future. It is recommended ' + + 'to use a `<select>` element instead.' + ); + } + } + + decorated.call(this, $element, options); + } + + InputData.prototype.current = function (_, callback) { + function getSelected (data, selectedIds) { + var selected = []; + + if (data.selected || $.inArray(data.id, selectedIds) !== -1) { + data.selected = true; + selected.push(data); + } else { + data.selected = false; + } + + if (data.children) { + selected.push.apply(selected, getSelected(data.children, selectedIds)); + } + + return selected; + } + + var selected = []; + + for (var d = 0; d < this._currentData.length; d++) { + var data = this._currentData[d]; + + selected.push.apply( + selected, + getSelected( + data, + this.$element.val().split( + this._valueSeparator + ) + ) + ); + } + + callback(selected); + }; + + InputData.prototype.select = function (_, data) { + if (!this.options.get('multiple')) { + this.current(function (allData) { + $.map(allData, function (data) { + data.selected = false; + }); + }); + + this.$element.val(data.id); + this.$element.trigger('change'); + } else { + var value = this.$element.val(); + value += this._valueSeparator + data.id; + + this.$element.val(value); + this.$element.trigger('change'); + } + }; + + InputData.prototype.unselect = function (_, data) { + var self = this; + + data.selected = false; + + this.current(function (allData) { + var values = []; + + for (var d = 0; d < allData.length; d++) { + var item = allData[d]; + + if (data.id == item.id) { + continue; + } + + values.push(item.id); + } + + self.$element.val(values.join(self._valueSeparator)); + self.$element.trigger('change'); + }); + }; + + InputData.prototype.query = function (_, params, callback) { + var results = []; + + for (var d = 0; d < this._currentData.length; d++) { + var data = this._currentData[d]; + + var matches = this.matches(params, data); + + if (matches !== null) { + results.push(matches); + } + } + + callback({ + results: results + }); + }; + + InputData.prototype.addOptions = function (_, $options) { + var options = $.map($options, function ($option) { + return Utils.GetData($option[0], 'data'); + }); + + this._currentData.push.apply(this._currentData, options); + }; + + return InputData; +}); + +S2.define('select2/compat/matcher',[ + 'jquery' +], function ($) { + function oldMatcher (matcher) { + function wrappedMatcher (params, data) { + var match = $.extend(true, {}, data); + + if (params.term == null || $.trim(params.term) === '') { + return match; + } + + if (data.children) { + for (var c = data.children.length - 1; c >= 0; c--) { + var child = data.children[c]; + + // Check if the child object matches + // The old matcher returned a boolean true or false + var doesMatch = matcher(params.term, child.text, child); + + // If the child didn't match, pop it off + if (!doesMatch) { + match.children.splice(c, 1); + } + } + + if (match.children.length > 0) { + return match; + } + } + + if (matcher(params.term, data.text, data)) { + return match; + } + + return null; + } + + return wrappedMatcher; + } + + return oldMatcher; +}); + +S2.define('select2/compat/query',[ + +], function () { + function Query (decorated, $element, options) { + if (options.get('debug') && window.console && console.warn) { + console.warn( + 'Select2: The `query` option has been deprecated in favor of a ' + + 'custom data adapter that overrides the `query` method. Support ' + + 'will be removed for the `query` option in future versions of ' + + 'Select2.' + ); + } + + decorated.call(this, $element, options); + } + + Query.prototype.query = function (_, params, callback) { + params.callback = callback; + + var query = this.options.get('query'); + + query.call(null, params); + }; + + return Query; +}); + +S2.define('select2/dropdown/attachContainer',[ + +], function () { + function AttachContainer (decorated, $element, options) { + decorated.call(this, $element, options); + } + + AttachContainer.prototype.position = + function (decorated, $dropdown, $container) { + var $dropdownContainer = $container.find('.dropdown-wrapper'); + $dropdownContainer.append($dropdown); + + $dropdown.addClass('select2-dropdown--below'); + $container.addClass('select2-container--below'); + }; + + return AttachContainer; +}); + +S2.define('select2/dropdown/stopPropagation',[ + +], function () { + function StopPropagation () { } + + StopPropagation.prototype.bind = function (decorated, container, $container) { + decorated.call(this, container, $container); + + var stoppedEvents = [ + 'blur', + 'change', + 'click', + 'dblclick', + 'focus', + 'focusin', + 'focusout', + 'input', + 'keydown', + 'keyup', + 'keypress', + 'mousedown', + 'mouseenter', + 'mouseleave', + 'mousemove', + 'mouseover', + 'mouseup', + 'search', + 'touchend', + 'touchstart' + ]; + + this.$dropdown.on(stoppedEvents.join(' '), function (evt) { + evt.stopPropagation(); + }); + }; + + return StopPropagation; +}); + +S2.define('select2/selection/stopPropagation',[ + +], function () { + function StopPropagation () { } + + StopPropagation.prototype.bind = function (decorated, container, $container) { + decorated.call(this, container, $container); + + var stoppedEvents = [ + 'blur', + 'change', + 'click', + 'dblclick', + 'focus', + 'focusin', + 'focusout', + 'input', + 'keydown', + 'keyup', + 'keypress', + 'mousedown', + 'mouseenter', + 'mouseleave', + 'mousemove', + 'mouseover', + 'mouseup', + 'search', + 'touchend', + 'touchstart' + ]; + + this.$selection.on(stoppedEvents.join(' '), function (evt) { + evt.stopPropagation(); + }); + }; + + return StopPropagation; +}); + +/*! + * jQuery Mousewheel 3.1.13 + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + */ + +(function (factory) { + if ( typeof S2.define === 'function' && S2.define.amd ) { + // AMD. Register as an anonymous module. + S2.define('jquery-mousewheel',['jquery'], factory); + } else if (typeof exports === 'object') { + // Node/CommonJS style for Browserify + module.exports = factory; + } else { + // Browser globals + factory(jQuery); + } +}(function ($) { + + var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'], + toBind = ( 'onwheel' in document || document.documentMode >= 9 ) ? + ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'], + slice = Array.prototype.slice, + nullLowestDeltaTimeout, lowestDelta; + + if ( $.event.fixHooks ) { + for ( var i = toFix.length; i; ) { + $.event.fixHooks[ toFix[--i] ] = $.event.mouseHooks; + } + } + + var special = $.event.special.mousewheel = { + version: '3.1.12', + + setup: function() { + if ( this.addEventListener ) { + for ( var i = toBind.length; i; ) { + this.addEventListener( toBind[--i], handler, false ); + } + } else { + this.onmousewheel = handler; + } + // Store the line height and page height for this particular element + $.data(this, 'mousewheel-line-height', special.getLineHeight(this)); + $.data(this, 'mousewheel-page-height', special.getPageHeight(this)); + }, + + teardown: function() { + if ( this.removeEventListener ) { + for ( var i = toBind.length; i; ) { + this.removeEventListener( toBind[--i], handler, false ); + } + } else { + this.onmousewheel = null; + } + // Clean up the data we added to the element + $.removeData(this, 'mousewheel-line-height'); + $.removeData(this, 'mousewheel-page-height'); + }, + + getLineHeight: function(elem) { + var $elem = $(elem), + $parent = $elem['offsetParent' in $.fn ? 'offsetParent' : 'parent'](); + if (!$parent.length) { + $parent = $('body'); + } + return parseInt($parent.css('fontSize'), 10) || parseInt($elem.css('fontSize'), 10) || 16; + }, + + getPageHeight: function(elem) { + return $(elem).height(); + }, + + settings: { + adjustOldDeltas: true, // see shouldAdjustOldDeltas() below + normalizeOffset: true // calls getBoundingClientRect for each event + } + }; + + $.fn.extend({ + mousewheel: function(fn) { + return fn ? this.bind('mousewheel', fn) : this.trigger('mousewheel'); + }, + + unmousewheel: function(fn) { + return this.unbind('mousewheel', fn); + } + }); + + + function handler(event) { + var orgEvent = event || window.event, + args = slice.call(arguments, 1), + delta = 0, + deltaX = 0, + deltaY = 0, + absDelta = 0, + offsetX = 0, + offsetY = 0; + event = $.event.fix(orgEvent); + event.type = 'mousewheel'; + + // Old school scrollwheel delta + if ( 'detail' in orgEvent ) { deltaY = orgEvent.detail * -1; } + if ( 'wheelDelta' in orgEvent ) { deltaY = orgEvent.wheelDelta; } + if ( 'wheelDeltaY' in orgEvent ) { deltaY = orgEvent.wheelDeltaY; } + if ( 'wheelDeltaX' in orgEvent ) { deltaX = orgEvent.wheelDeltaX * -1; } + + // Firefox < 17 horizontal scrolling related to DOMMouseScroll event + if ( 'axis' in orgEvent && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) { + deltaX = deltaY * -1; + deltaY = 0; + } + + // Set delta to be deltaY or deltaX if deltaY is 0 for backwards compatabilitiy + delta = deltaY === 0 ? deltaX : deltaY; + + // New school wheel delta (wheel event) + if ( 'deltaY' in orgEvent ) { + deltaY = orgEvent.deltaY * -1; + delta = deltaY; + } + if ( 'deltaX' in orgEvent ) { + deltaX = orgEvent.deltaX; + if ( deltaY === 0 ) { delta = deltaX * -1; } + } + + // No change actually happened, no reason to go any further + if ( deltaY === 0 && deltaX === 0 ) { return; } + + // Need to convert lines and pages to pixels if we aren't already in pixels + // There are three delta modes: + // * deltaMode 0 is by pixels, nothing to do + // * deltaMode 1 is by lines + // * deltaMode 2 is by pages + if ( orgEvent.deltaMode === 1 ) { + var lineHeight = $.data(this, 'mousewheel-line-height'); + delta *= lineHeight; + deltaY *= lineHeight; + deltaX *= lineHeight; + } else if ( orgEvent.deltaMode === 2 ) { + var pageHeight = $.data(this, 'mousewheel-page-height'); + delta *= pageHeight; + deltaY *= pageHeight; + deltaX *= pageHeight; + } + + // Store lowest absolute delta to normalize the delta values + absDelta = Math.max( Math.abs(deltaY), Math.abs(deltaX) ); + + if ( !lowestDelta || absDelta < lowestDelta ) { + lowestDelta = absDelta; + + // Adjust older deltas if necessary + if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) { + lowestDelta /= 40; + } + } + + // Adjust older deltas if necessary + if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) { + // Divide all the things by 40! + delta /= 40; + deltaX /= 40; + deltaY /= 40; + } + + // Get a whole, normalized value for the deltas + delta = Math[ delta >= 1 ? 'floor' : 'ceil' ](delta / lowestDelta); + deltaX = Math[ deltaX >= 1 ? 'floor' : 'ceil' ](deltaX / lowestDelta); + deltaY = Math[ deltaY >= 1 ? 'floor' : 'ceil' ](deltaY / lowestDelta); + + // Normalise offsetX and offsetY properties + if ( special.settings.normalizeOffset && this.getBoundingClientRect ) { + var boundingRect = this.getBoundingClientRect(); + offsetX = event.clientX - boundingRect.left; + offsetY = event.clientY - boundingRect.top; + } + + // Add information to the event object + event.deltaX = deltaX; + event.deltaY = deltaY; + event.deltaFactor = lowestDelta; + event.offsetX = offsetX; + event.offsetY = offsetY; + // Go ahead and set deltaMode to 0 since we converted to pixels + // Although this is a little odd since we overwrite the deltaX/Y + // properties with normalized deltas. + event.deltaMode = 0; + + // Add event and delta to the front of the arguments + args.unshift(event, delta, deltaX, deltaY); + + // Clearout lowestDelta after sometime to better + // handle multiple device types that give different + // a different lowestDelta + // Ex: trackpad = 3 and mouse wheel = 120 + if (nullLowestDeltaTimeout) { clearTimeout(nullLowestDeltaTimeout); } + nullLowestDeltaTimeout = setTimeout(nullLowestDelta, 200); + + return ($.event.dispatch || $.event.handle).apply(this, args); + } + + function nullLowestDelta() { + lowestDelta = null; + } + + function shouldAdjustOldDeltas(orgEvent, absDelta) { + // If this is an older event and the delta is divisable by 120, + // then we are assuming that the browser is treating this as an + // older mouse wheel event and that we should divide the deltas + // by 40 to try and get a more usable deltaFactor. + // Side note, this actually impacts the reported scroll distance + // in older browsers and can cause scrolling to be slower than native. + // Turn this off by setting $.event.special.mousewheel.settings.adjustOldDeltas to false. + return special.settings.adjustOldDeltas && orgEvent.type === 'mousewheel' && absDelta % 120 === 0; + } + +})); + +S2.define('jquery.select2',[ + 'jquery', + 'jquery-mousewheel', + + './select2/core', + './select2/defaults', + './select2/utils' +], function ($, _, Select2, Defaults, Utils) { + if ($.fn.select2 == null) { + // All methods that should return the element + var thisMethods = ['open', 'close', 'destroy']; + + $.fn.select2 = function (options) { + options = options || {}; + + if (typeof options === 'object') { + this.each(function () { + var instanceOptions = $.extend(true, {}, options); + + var instance = new Select2($(this), instanceOptions); + }); + + return this; + } else if (typeof options === 'string') { + var ret; + var args = Array.prototype.slice.call(arguments, 1); + + this.each(function () { + var instance = Utils.GetData(this, 'select2'); + + if (instance == null && window.console && console.error) { + console.error( + 'The select2(\'' + options + '\') method was called on an ' + + 'element that is not using Select2.' + ); + } + + ret = instance[options].apply(instance, args); + }); + + // Check if we should be returning `this` + if ($.inArray(options, thisMethods) > -1) { + return this; + } + + return ret; + } else { + throw new Error('Invalid arguments for Select2: ' + options); + } + }; + } + + if ($.fn.select2.defaults == null) { + $.fn.select2.defaults = Defaults; + } + + return Select2; +}); + + // Return the AMD loader configuration so it can be used outside of this file + return { + define: S2.define, + require: S2.require + }; +}()); + + // Autoload the jQuery bindings + // We know that all of the modules exist above this, so we're safe + var select2 = S2.require('jquery.select2'); + + // Hold the AMD module references on the jQuery function that was just loaded + // This allows Select2 to use the internal loader outside of this file, such + // as in the language files. + jQuery.fn.select2.amd = S2; + + // Return the Select2 instance for anyone who is importing it. + return select2; +})); diff --git a/static/admin/js/vendor/select2/select2.full.js.gz b/static/admin/js/vendor/select2/select2.full.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..e1a92d3a7361cc3bbf8097292ac6ae6141b845d5 GIT binary patch literal 36735 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 C1W!Z& literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/select2.full.min.68e8d8f673b7.js b/static/admin/js/vendor/select2/select2.full.min.68e8d8f673b7.js new file mode 100644 index 0000000..b277e0f --- /dev/null +++ b/static/admin/js/vendor/select2/select2.full.min.68e8d8f673b7.js @@ -0,0 +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;k<a.length;k++)if("."===(m=a[k]))a.splice(k,1),k-=1;else if(".."===m){if(0===k||1===k&&".."===a[2]||".."===a[k-1])continue;k>0&&(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;o<c.length;o+=1)if(n=p(c[o],t),"require"===(k=n.f))w[o]=q.require(a);else if("exports"===k)w[o]=q.exports(a),v=!0;else if("module"===k)h=w[o]=q.module(a);else if(e(r,k)||e(s,k)||e(u,k))w[o]=j(k);else{if(!n.p)throw new Error(a+" missing "+k);n.p.load(n.n,g(f,!0),i(k),{}),w[o]=r[k]}m=d?d.apply(r[a],w):void 0,a&&(h&&h.exports!==b&&h.exports!==r[a]?r[a]=h.exports:m===b&&v||(r[a]=m))}else a&&(r[a]=d)},a=c=o=function(a,c,d,e,f){if("string"==typeof a)return q[a]?q[a](c):j(p(a,l(c)).f);if(!a.splice){if(t=a,t.deps&&o(t.deps,t.callback),!c)return;c.splice?(a=c,c=d,d=null):a=b}return c=c||function(){},"function"==typeof d&&(d=e,e=f),e?n(b,a,c,d):setTimeout(function(){n(b,a,c,d)},4),o},o.config=function(a){return o(a)},a._defined=r,d=function(a,b,c){if("string"!=typeof a)throw new Error("See almond README: incorrect module build, no module name");b.splice||(c=b,b=[]),e(r,a)||e(s,a)||(s[a]=[a,b,c])},d.amd={jQuery:!0}}(),b.requirejs=a,b.require=c,b.define=d}}(),b.define("almond",function(){}),b.define("jquery",[],function(){var b=a||$;return null==b&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),b}),b.define("select2/utils",["jquery"],function(a){function b(a){var b=a.prototype,c=[];for(var d in b){"function"==typeof b[d]&&("constructor"!==d&&c.push(d))}return c}var c={};c.Extend=function(a,b){function c(){this.constructor=a}var d={}.hasOwnProperty;for(var e in b)d.call(b,e)&&(a[e]=b[e]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},c.Decorate=function(a,c){function d(){var b=Array.prototype.unshift,d=c.prototype.constructor.length,e=a.prototype.constructor;d>0&&(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<g.length;h++){var i=g[h];d.prototype[i]=a.prototype[i]}for(var j=(function(a){var b=function(){};a in d.prototype&&(b=d.prototype[a]);var e=c.prototype[a];return function(){return Array.prototype.unshift.call(arguments,b),e.apply(this,arguments)}}),k=0;k<f.length;k++){var l=f[k];d.prototype[l]=j(l)}return d};var d=function(){this.listeners={}};d.prototype.on=function(a,b){this.listeners=this.listeners||{},a in this.listeners?this.listeners[a].push(b):this.listeners[a]=[b]},d.prototype.trigger=function(a){var b=Array.prototype.slice,c=b.call(arguments,1);this.listeners=this.listeners||{},null==c&&(c=[]),0===c.length&&c.push({}),c[0]._type=a,a in this.listeners&&this.invoke(this.listeners[a],b.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},d.prototype.invoke=function(a,b){for(var c=0,d=a.length;c<d;c++)a[c].apply(this,b)},c.Observable=d,c.generateChars=function(a){for(var b="",c=0;c<a;c++){b+=Math.floor(36*Math.random()).toString(36)}return b},c.bind=function(a,b){return function(){a.apply(b,arguments)}},c._convertData=function(a){for(var b in a){var c=b.split("-"),d=a;if(1!==c.length){for(var e=0;e<c.length;e++){var f=c[e];f=f.substring(0,1).toLowerCase()+f.substring(1),f in d||(d[f]={}),e==c.length-1&&(d[f]=a[b]),d=d[f]}delete a[b]}}return a},c.hasScroll=function(b,c){var d=a(c),e=c.style.overflowX,f=c.style.overflowY;return(e!==f||"hidden"!==f&&"visible"!==f)&&("scroll"===e||"scroll"===f||(d.innerHeight()<c.scrollHeight||d.innerWidth()<c.scrollWidth))},c.escapeMarkup=function(a){var b={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};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('<ul class="select2-results__options" role="tree"></ul>');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('<li role="treeitem" aria-live="assertive" class="select2-results__option"></li>'),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;c<a.results.length;c++){var d=a.results[c],e=this.option(d);b.push(e)}this.$results.append(b)},c.prototype.position=function(a,b){b.find(".select2-results").append(a)},c.prototype.sort=function(a){return this.options.get("sorter")(a)},c.prototype.highlightFirstItem=function(){var a=this.$results.find(".select2-results__option[aria-selected]"),b=a.filter("[aria-selected=true]");b.length>0?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<c.children.length;k++){var l=c.children[k],m=this.option(l);j.push(m)}var n=a("<ul></ul>",{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('<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>');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('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),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("<span></span>")},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('<ul class="select2-selection__rendered"></ul>'),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('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">×</span></li>')},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d<a.length;d++){var e=a[d],f=this.selectionContainer(),g=this.display(e,f);f.append(g),f.attr("title",e.title||e.text),c.StoreData(f[0],"data",e),b.push(f)}var h=this.$selection.find(".select2-selection__rendered");c.appendMany(h,b)}},d}),b.define("select2/selection/placeholder",["../utils"],function(a){function b(a,b,c){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c)}return b.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},b.prototype.createPlaceholder=function(a,b){var c=this.selectionContainer();return c.html(this.display(b)),c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),c},b.prototype.update=function(a,b){var c=1==b.length&&b[0].id!=this.placeholder.id;if(b.length>1||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;h<e.length;h++)if(g={data:e[h]},this.trigger("unselect",g),g.prevented)return void this.$element.val(f);this.$element.trigger("change"),this.trigger("toggle",{})}}},d.prototype._handleKeyboardClear=function(a,c,d){d.isOpen()||c.which!=b.DELETE&&c.which!=b.BACKSPACE||this._handleClear(c)},d.prototype.update=function(b,d){if(b.call(this,d),!(this.$selection.find(".select2-selection__placeholder").length>0||0===d.length)){var e=this.options.get("translations").get("removeAllItems"),f=a('<span class="select2-selection__clear" title="'+e()+'">×</span>');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('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');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<a.length;f++){var g=a[f].id;-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")});else{var d=a.id;this.$element.val(d),this.$element.trigger("change")}},d.prototype.unselect=function(a){var b=this;if(this.$element.prop("multiple")){if(a.selected=!1,c(a.element).is("option"))return a.element.selected=!1,void this.$element.trigger("change");this.current(function(d){for(var e=[],f=0;f<d.length;f++){var g=d[f].id;g!==a.id&&-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")})}},d.prototype.bind=function(a,b){var c=this;this.container=a,a.on("select",function(a){c.select(a.data)}),a.on("unselect",function(a){c.unselect(a.data)})},d.prototype.destroy=function(){this.$element.find("*").each(function(){b.RemoveData(this)})},d.prototype.query=function(a,b){var d=[],e=this;this.$element.children().each(function(){var b=c(this);if(b.is("option")||b.is("optgroup")){var f=e.item(b),g=e.matches(a,f);null!==g&&d.push(g)}}),b({results:d})},d.prototype.addOptions=function(a){b.appendMany(this.$element,a)},d.prototype.option=function(a){var d;a.children?(d=document.createElement("optgroup"),d.label=a.text):(d=document.createElement("option"),void 0!==d.textContent?d.textContent=a.text:d.innerText=a.text),void 0!==a.id&&(d.value=a.id),a.disabled&&(d.disabled=!0),a.selected&&(d.selected=!0),a.title&&(d.title=a.title);var e=c(d),f=this._normalizeItem(a);return f.element=d,b.StoreData(d,"data",f),e},d.prototype.item=function(a){var d={};if(null!=(d=b.GetData(a[0],"data")))return d;if(a.is("option"))d={id:a.val(),text:a.text(),disabled:a.prop("disabled"),selected:a.prop("selected"),title:a.prop("title")};else if(a.is("optgroup")){d={text:a.prop("label"),children:[],title:a.prop("title")};for(var e=a.children("option"),f=[],g=0;g<e.length;g++){var h=c(e[g]),i=this.item(h);f.push(i)}d.children=f}return d=this._normalizeItem(d),d.element=a[0],b.StoreData(a[0],"data",d),d},d.prototype._normalizeItem=function(a){a!==Object(a)&&(a={id:a,text:a}),a=c.extend({},{text:""},a);var b={selected:!1,disabled:!1};return null!=a.id&&(a.id=a.id.toString()),null!=a.text&&(a.text=a.text.toString()),null==a._resultId&&a.id&&null!=this.container&&(a._resultId=this.generateResultId(this.container,a)),c.extend({},b,a)},d.prototype.matches=function(a,b){return this.options.get("matcher")(a,b)},d}),b.define("select2/data/array",["./select","../utils","jquery"],function(a,b,c){function d(a,b){var c=b.get("data")||[];d.__super__.constructor.call(this,a,b),this.addOptions(this.convertToOptions(c))}return b.Extend(d,a),d.prototype.select=function(a){var b=this.$element.find("option").filter(function(b,c){return c.value==a.id.toString()});0===b.length&&(b=this.option(a),this.addOptions(b)),d.__super__.select.call(this,a)},d.prototype.convertToOptions=function(a){function d(a){return function(){return c(this).val()==a.id}}for(var e=this,f=this.$element.find("option"),g=f.map(function(){return e.item(c(this)).id}).get(),h=[],i=0;i<a.length;i++){var j=this._normalizeItem(a[i]);if(c.inArray(j.id,g)>=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;h<e.length;h++){var i=e[h],j=this._normalizeItem(i),k=this.option(j);this.$element.append(k)}}return b.prototype.query=function(a,b,c){function d(a,f){for(var g=a.results,h=0;h<g.length;h++){var i=g[h],j=null!=i.children&&!d({results:i.children},!0);if((i.text||"").toUpperCase()===(b.term||"").toUpperCase()||j)return!f&&(a.data=g,void c(a))}if(f)return!0;var k=e.createTag(b);if(null!=k){var l=e.option(k);l.attr("data-select2-tag",!0),e.addOptions([l]),e.insertTag(g,k)}a.results=g,c(a)}var e=this;if(this._removeOldTags(),null==b.term||null!=b.page)return void a.call(this,b,c);a.call(this,b,d)},b.prototype.createTag=function(b,c){var d=a.trim(c.term);return""===d?null:{id:d,text:d}},b.prototype.insertTag=function(a,b,c){b.unshift(c)},b.prototype._removeOldTags=function(b){this._lastTag;this.$element.find("option[data-select2-tag]").each(function(){this.selected||a(this).remove()})},b}),b.define("select2/data/tokenizer",["jquery"],function(a){function b(a,b,c){var d=c.get("tokenizer");void 0!==d&&(this.tokenizer=d),a.call(this,b,c)}return b.prototype.bind=function(a,b,c){a.call(this,b,c),this.$search=b.dropdown.$search||b.selection.$search||c.find(".select2-search__field")},b.prototype.query=function(b,c,d){function e(b){var c=g._normalizeItem(b);if(!g.$element.find("option").filter(function(){return a(this).val()===c.id}).length){var d=g.option(c);d.attr("data-select2-tag",!0),g._removeOldTags(),g.addOptions([d])}f(c)}function f(a){g.trigger("select",{data:a})}var g=this;c.term=c.term||"";var h=this.tokenizer(c,this.options,e);h.term!==c.term&&(this.$search.length&&(this.$search.val(h.term),this.$search.focus()),c.term=h.term),b.call(this,c,d)},b.prototype.tokenizer=function(b,c,d,e){for(var f=d.get("tokenSeparators")||[],g=c.term,h=0,i=this.createTag||function(a){return{id:a.term,text:a.term}};h<g.length;){var j=g[h];if(-1!==a.inArray(j,f)){var k=g.substr(0,h),l=a.extend({},c,{term:k}),m=i(l);null!=m?(e(m),g=g.substr(h+1)||"",h=0):h++}else h++}return{term:g}},b}),b.define("select2/data/minimumInputLength",[],function(){function a(a,b,c){this.minimumInputLength=c.get("minimumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){if(b.term=b.term||"",b.term.length<this.minimumInputLength)return void this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:b.term,params:b}});a.call(this,b,c)},a}),b.define("select2/data/maximumInputLength",[],function(){function a(a,b,c){this.maximumInputLength=c.get("maximumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){if(b.term=b.term||"",this.maximumInputLength>0&&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('<span class="select2-dropdown"><span class="select2-results"></span></span>');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('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="textbox" /></span>');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('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"></li>'),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("<span></span>"),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.top<f.top-h.height,k=i.bottom>f.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;d<b.length;d++){var e=b[d];e.children?c+=a(e.children):c++}return c}function b(a,b,c,d){this.minimumResultsForSearch=c.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),a.call(this,b,c,d)}return b.prototype.showSearch=function(b,c){return!(a(c.data.results)<this.minimumResultsForSearch)&&b.call(this,c)},b}),b.define("select2/dropdown/selectOnClose",["../utils"],function(a){function b(){}return b.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("close",function(a){d._handleSelectOnClose(a)})},b.prototype._handleSelectOnClose=function(b,c){if(c&&null!=c.originalSelect2Event){var d=c.originalSelect2Event;if("select"===d._type||"unselect"===d._type)return}var e=this.getHighlightedResults();if(!(e.length<1)){var f=a.GetData(e[0],"data");null!=f.element&&f.element.selected||null==f.element&&f.selected||this.trigger("select",{data:f})}},b}),b.define("select2/dropdown/closeOnSelect",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("select",function(a){d._selectTriggered(a)}),b.on("unselect",function(a){d._selectTriggered(a)})},a.prototype._selectTriggered=function(a,b){var c=b.originalEvent;c&&(c.ctrlKey||c.metaKey)||this.trigger("close",{originalEvent:c,originalSelect2Event:b})},a}),b.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(a){var b=a.input.length-a.maximum,c="Please delete "+b+" character";return 1!=b&&(c+="s"),c},inputTooShort:function(a){return"Please enter "+(a.minimum-a.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(a){var b="You can only select "+a.maximum+" item";return 1!=a.maximum&&(b+="s"),b},noResults:function(){return"No results found"},searching:function(){return"Searching…"},removeAllItems:function(){return"Remove all items"}}}),b.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C){function D(){this.reset()}return D.prototype.apply=function(l){if(l=a.extend(!0,{},this.defaults,l),null==l.dataAdapter){if(null!=l.ajax?l.dataAdapter=o:null!=l.data?l.dataAdapter=n:l.dataAdapter=m,l.minimumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),null==l.tokenSeparators&&null==l.tokenizer||(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){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;L<K.length;L++){var M=K[L],N={};try{N=k.loadPath(M)}catch(a){try{M=this.defaults.amdLanguageBase+M,N=k.loadPath(M)}catch(a){l.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+M+'" could not be automatically loaded. A fallback will be used instead.');continue}}J.extend(N)}l.translations=J}else{var O=k.loadPath(this.defaults.amdLanguageBase+"en"),P=new k(l.language);P.extend(O),l.translations=P}return l},D.prototype.reset=function(){function b(a){function b(a){return l[a]||a}return a.replace(/[^\u0000-\u007E]/g,b)}function c(d,e){if(""===a.trim(d.term))return e;if(e.children&&e.children.length>0){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<a[0].attributes.length;g++){var h=a[0].attributes[g].name,i="data-";if(h.substr(0,i.length)==i){var j=h.substring(i.length),k=d.GetData(a[0],j);f[j.replace(/-([a-z])/g,c)]=k}}b.fn.jquery&&"1."==b.fn.jquery.substr(0,2)&&a[0].dataset&&(f=b.extend(!0,{},a[0].dataset,f));var l=b.extend(!0,{},d.GetData(a[0]),f);l=d._convertData(l);for(var m in l)b.inArray(m,e)>-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<i;h+=1){var j=g[h].replace(/\s/g,""),k=j.match(c);if(null!==k&&k.length>=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;e<b.addedNodes.length;e++){var f=b.addedNodes[e];f.selected&&(c=!0)}else b.removedNodes&&b.removedNodes.length>0&&(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('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');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 `<select>` element instead."),a.call(this,b,c)}return c.prototype.current=function(b,c){function d(b,c){var e=[];return b.selected||-1!==a.inArray(b.id,c)?(b.selected=!0,e.push(b)):b.selected=!1,b.children&&e.push.apply(e,d(b.children,c)),e}for(var e=[],f=0;f<this._currentData.length;f++){var g=this._currentData[f];e.push.apply(e,d(g,this.$element.val().split(this._valueSeparator)))}c(e)},c.prototype.select=function(b,c){if(this.options.get("multiple")){var d=this.$element.val();d+=this._valueSeparator+c.id,this.$element.val(d),this.$element.trigger("change")}else this.current(function(b){a.map(b,function(a){a.selected=!1})}),this.$element.val(c.id),this.$element.trigger("change")},c.prototype.unselect=function(a,b){var c=this;b.selected=!1,this.current(function(a){for(var d=[],e=0;e<a.length;e++){var f=a[e];b.id!=f.id&&d.push(f.id)}c.$element.val(d.join(c._valueSeparator)),c.$element.trigger("change")})},c.prototype.query=function(a,b,c){for(var d=[],e=0;e<this._currentData.length;e++){var f=this._currentData[e],g=this.matches(b,f);null!==g&&d.push(g)}c({results:d})},c.prototype.addOptions=function(c,d){var e=a.map(d,function(a){return b.GetData(a[0],"data")});this._currentData.push.apply(this._currentData,e)},c}),b.define("select2/compat/matcher",["jquery"],function(a){function b(b){function c(c,d){var e=a.extend(!0,{},d);if(null==c.term||""===a.trim(c.term))return e;if(d.children){for(var f=d.children.length-1;f>=0;f--){var g=d.children[f];b(c.term,g.text,g)||e.children.splice(f,1)}if(e.children.length>0)return e}return b(c.term,d.text,d)?e:null}return c}return b}),b.define("select2/compat/query",[],function(){function a(a,b,c){c.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `query` option has been deprecated in favor of a custom data adapter that overrides the `query` method. Support will be removed for the `query` option in future versions of Select2."),a.call(this,b,c)}return a.prototype.query=function(a,b,c){b.callback=c,this.options.get("query").call(null,b)},a}),b.define("select2/dropdown/attachContainer",[],function(){function a(a,b,c){a.call(this,b,c)}return a.prototype.position=function(a,b,c){c.find(".dropdown-wrapper").append(b),b.addClass("select2-dropdown--below"),c.addClass("select2-container--below")},a}),b.define("select2/dropdown/stopPropagation",[],function(){function a(){}return a.prototype.bind=function(a,b,c){a.call(this,b,c);var d=["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"];this.$dropdown.on(d.join(" "),function(a){a.stopPropagation()})},a}),b.define("select2/selection/stopPropagation",[],function(){function a(){}return a.prototype.bind=function(a,b,c){a.call(this,b,c);var d=["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"];this.$selection.on(d.join(" "),function(a){a.stopPropagation()})},a}),function(c){"function"==typeof b.define&&b.define.amd?b.define("jquery-mousewheel",["jquery"],c):"object"==typeof exports?module.exports=c:c(a)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||n<f)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120==0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b),d=c["offsetParent"in a.fn?"offsetParent":"parent"]();return d.length||(d=a("body")),parseInt(d.css("fontSize"),10)||parseInt(c.css("fontSize"),10)||16},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})}),b.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults","./select2/utils"],function(a,b,c,d,e){if(null==a.fn.select2){var f=["open","close","destroy"];a.fn.select2=function(b){if("object"==typeof(b=b||{}))return this.each(function(){var d=a.extend(!0,{},b);new c(a(this),d)}),this;if("string"==typeof b){var d,g=Array.prototype.slice.call(arguments,1);return this.each(function(){var a=e.GetData(this,"select2");null==a&&window.console&&console.error&&console.error("The select2('"+b+"') method was called on an element that is not using Select2."),d=a[b].apply(a,g)}),a.inArray(b,f)>-1?this:d}throw new Error("Invalid arguments for Select2: "+b)}}return null==a.fn.select2.defaults&&(a.fn.select2.defaults=d),c}),{define:b.define,require:b.require}}(),c=b.require("jquery.select2");return a.fn.select2.amd=b,c}); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/select2.full.min.68e8d8f673b7.js.gz b/static/admin/js/vendor/select2/select2.full.min.68e8d8f673b7.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..aaa85fe4b41732250c3382083ee5522c4c57c076 GIT binary patch literal 21673 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 E0N<+bl>h($ literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/select2/select2.full.min.js b/static/admin/js/vendor/select2/select2.full.min.js new file mode 100644 index 0000000..b277e0f --- /dev/null +++ b/static/admin/js/vendor/select2/select2.full.min.js @@ -0,0 +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;k<a.length;k++)if("."===(m=a[k]))a.splice(k,1),k-=1;else if(".."===m){if(0===k||1===k&&".."===a[2]||".."===a[k-1])continue;k>0&&(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;o<c.length;o+=1)if(n=p(c[o],t),"require"===(k=n.f))w[o]=q.require(a);else if("exports"===k)w[o]=q.exports(a),v=!0;else if("module"===k)h=w[o]=q.module(a);else if(e(r,k)||e(s,k)||e(u,k))w[o]=j(k);else{if(!n.p)throw new Error(a+" missing "+k);n.p.load(n.n,g(f,!0),i(k),{}),w[o]=r[k]}m=d?d.apply(r[a],w):void 0,a&&(h&&h.exports!==b&&h.exports!==r[a]?r[a]=h.exports:m===b&&v||(r[a]=m))}else a&&(r[a]=d)},a=c=o=function(a,c,d,e,f){if("string"==typeof a)return q[a]?q[a](c):j(p(a,l(c)).f);if(!a.splice){if(t=a,t.deps&&o(t.deps,t.callback),!c)return;c.splice?(a=c,c=d,d=null):a=b}return c=c||function(){},"function"==typeof d&&(d=e,e=f),e?n(b,a,c,d):setTimeout(function(){n(b,a,c,d)},4),o},o.config=function(a){return o(a)},a._defined=r,d=function(a,b,c){if("string"!=typeof a)throw new Error("See almond README: incorrect module build, no module name");b.splice||(c=b,b=[]),e(r,a)||e(s,a)||(s[a]=[a,b,c])},d.amd={jQuery:!0}}(),b.requirejs=a,b.require=c,b.define=d}}(),b.define("almond",function(){}),b.define("jquery",[],function(){var b=a||$;return null==b&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),b}),b.define("select2/utils",["jquery"],function(a){function b(a){var b=a.prototype,c=[];for(var d in b){"function"==typeof b[d]&&("constructor"!==d&&c.push(d))}return c}var c={};c.Extend=function(a,b){function c(){this.constructor=a}var d={}.hasOwnProperty;for(var e in b)d.call(b,e)&&(a[e]=b[e]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},c.Decorate=function(a,c){function d(){var b=Array.prototype.unshift,d=c.prototype.constructor.length,e=a.prototype.constructor;d>0&&(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<g.length;h++){var i=g[h];d.prototype[i]=a.prototype[i]}for(var j=(function(a){var b=function(){};a in d.prototype&&(b=d.prototype[a]);var e=c.prototype[a];return function(){return Array.prototype.unshift.call(arguments,b),e.apply(this,arguments)}}),k=0;k<f.length;k++){var l=f[k];d.prototype[l]=j(l)}return d};var d=function(){this.listeners={}};d.prototype.on=function(a,b){this.listeners=this.listeners||{},a in this.listeners?this.listeners[a].push(b):this.listeners[a]=[b]},d.prototype.trigger=function(a){var b=Array.prototype.slice,c=b.call(arguments,1);this.listeners=this.listeners||{},null==c&&(c=[]),0===c.length&&c.push({}),c[0]._type=a,a in this.listeners&&this.invoke(this.listeners[a],b.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},d.prototype.invoke=function(a,b){for(var c=0,d=a.length;c<d;c++)a[c].apply(this,b)},c.Observable=d,c.generateChars=function(a){for(var b="",c=0;c<a;c++){b+=Math.floor(36*Math.random()).toString(36)}return b},c.bind=function(a,b){return function(){a.apply(b,arguments)}},c._convertData=function(a){for(var b in a){var c=b.split("-"),d=a;if(1!==c.length){for(var e=0;e<c.length;e++){var f=c[e];f=f.substring(0,1).toLowerCase()+f.substring(1),f in d||(d[f]={}),e==c.length-1&&(d[f]=a[b]),d=d[f]}delete a[b]}}return a},c.hasScroll=function(b,c){var d=a(c),e=c.style.overflowX,f=c.style.overflowY;return(e!==f||"hidden"!==f&&"visible"!==f)&&("scroll"===e||"scroll"===f||(d.innerHeight()<c.scrollHeight||d.innerWidth()<c.scrollWidth))},c.escapeMarkup=function(a){var b={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};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('<ul class="select2-results__options" role="tree"></ul>');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('<li role="treeitem" aria-live="assertive" class="select2-results__option"></li>'),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;c<a.results.length;c++){var d=a.results[c],e=this.option(d);b.push(e)}this.$results.append(b)},c.prototype.position=function(a,b){b.find(".select2-results").append(a)},c.prototype.sort=function(a){return this.options.get("sorter")(a)},c.prototype.highlightFirstItem=function(){var a=this.$results.find(".select2-results__option[aria-selected]"),b=a.filter("[aria-selected=true]");b.length>0?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<c.children.length;k++){var l=c.children[k],m=this.option(l);j.push(m)}var n=a("<ul></ul>",{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('<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>');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('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),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("<span></span>")},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('<ul class="select2-selection__rendered"></ul>'),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('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">×</span></li>')},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d<a.length;d++){var e=a[d],f=this.selectionContainer(),g=this.display(e,f);f.append(g),f.attr("title",e.title||e.text),c.StoreData(f[0],"data",e),b.push(f)}var h=this.$selection.find(".select2-selection__rendered");c.appendMany(h,b)}},d}),b.define("select2/selection/placeholder",["../utils"],function(a){function b(a,b,c){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c)}return b.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},b.prototype.createPlaceholder=function(a,b){var c=this.selectionContainer();return c.html(this.display(b)),c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),c},b.prototype.update=function(a,b){var c=1==b.length&&b[0].id!=this.placeholder.id;if(b.length>1||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;h<e.length;h++)if(g={data:e[h]},this.trigger("unselect",g),g.prevented)return void this.$element.val(f);this.$element.trigger("change"),this.trigger("toggle",{})}}},d.prototype._handleKeyboardClear=function(a,c,d){d.isOpen()||c.which!=b.DELETE&&c.which!=b.BACKSPACE||this._handleClear(c)},d.prototype.update=function(b,d){if(b.call(this,d),!(this.$selection.find(".select2-selection__placeholder").length>0||0===d.length)){var e=this.options.get("translations").get("removeAllItems"),f=a('<span class="select2-selection__clear" title="'+e()+'">×</span>');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('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');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<a.length;f++){var g=a[f].id;-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")});else{var d=a.id;this.$element.val(d),this.$element.trigger("change")}},d.prototype.unselect=function(a){var b=this;if(this.$element.prop("multiple")){if(a.selected=!1,c(a.element).is("option"))return a.element.selected=!1,void this.$element.trigger("change");this.current(function(d){for(var e=[],f=0;f<d.length;f++){var g=d[f].id;g!==a.id&&-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")})}},d.prototype.bind=function(a,b){var c=this;this.container=a,a.on("select",function(a){c.select(a.data)}),a.on("unselect",function(a){c.unselect(a.data)})},d.prototype.destroy=function(){this.$element.find("*").each(function(){b.RemoveData(this)})},d.prototype.query=function(a,b){var d=[],e=this;this.$element.children().each(function(){var b=c(this);if(b.is("option")||b.is("optgroup")){var f=e.item(b),g=e.matches(a,f);null!==g&&d.push(g)}}),b({results:d})},d.prototype.addOptions=function(a){b.appendMany(this.$element,a)},d.prototype.option=function(a){var d;a.children?(d=document.createElement("optgroup"),d.label=a.text):(d=document.createElement("option"),void 0!==d.textContent?d.textContent=a.text:d.innerText=a.text),void 0!==a.id&&(d.value=a.id),a.disabled&&(d.disabled=!0),a.selected&&(d.selected=!0),a.title&&(d.title=a.title);var e=c(d),f=this._normalizeItem(a);return f.element=d,b.StoreData(d,"data",f),e},d.prototype.item=function(a){var d={};if(null!=(d=b.GetData(a[0],"data")))return d;if(a.is("option"))d={id:a.val(),text:a.text(),disabled:a.prop("disabled"),selected:a.prop("selected"),title:a.prop("title")};else if(a.is("optgroup")){d={text:a.prop("label"),children:[],title:a.prop("title")};for(var e=a.children("option"),f=[],g=0;g<e.length;g++){var h=c(e[g]),i=this.item(h);f.push(i)}d.children=f}return d=this._normalizeItem(d),d.element=a[0],b.StoreData(a[0],"data",d),d},d.prototype._normalizeItem=function(a){a!==Object(a)&&(a={id:a,text:a}),a=c.extend({},{text:""},a);var b={selected:!1,disabled:!1};return null!=a.id&&(a.id=a.id.toString()),null!=a.text&&(a.text=a.text.toString()),null==a._resultId&&a.id&&null!=this.container&&(a._resultId=this.generateResultId(this.container,a)),c.extend({},b,a)},d.prototype.matches=function(a,b){return this.options.get("matcher")(a,b)},d}),b.define("select2/data/array",["./select","../utils","jquery"],function(a,b,c){function d(a,b){var c=b.get("data")||[];d.__super__.constructor.call(this,a,b),this.addOptions(this.convertToOptions(c))}return b.Extend(d,a),d.prototype.select=function(a){var b=this.$element.find("option").filter(function(b,c){return c.value==a.id.toString()});0===b.length&&(b=this.option(a),this.addOptions(b)),d.__super__.select.call(this,a)},d.prototype.convertToOptions=function(a){function d(a){return function(){return c(this).val()==a.id}}for(var e=this,f=this.$element.find("option"),g=f.map(function(){return e.item(c(this)).id}).get(),h=[],i=0;i<a.length;i++){var j=this._normalizeItem(a[i]);if(c.inArray(j.id,g)>=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;h<e.length;h++){var i=e[h],j=this._normalizeItem(i),k=this.option(j);this.$element.append(k)}}return b.prototype.query=function(a,b,c){function d(a,f){for(var g=a.results,h=0;h<g.length;h++){var i=g[h],j=null!=i.children&&!d({results:i.children},!0);if((i.text||"").toUpperCase()===(b.term||"").toUpperCase()||j)return!f&&(a.data=g,void c(a))}if(f)return!0;var k=e.createTag(b);if(null!=k){var l=e.option(k);l.attr("data-select2-tag",!0),e.addOptions([l]),e.insertTag(g,k)}a.results=g,c(a)}var e=this;if(this._removeOldTags(),null==b.term||null!=b.page)return void a.call(this,b,c);a.call(this,b,d)},b.prototype.createTag=function(b,c){var d=a.trim(c.term);return""===d?null:{id:d,text:d}},b.prototype.insertTag=function(a,b,c){b.unshift(c)},b.prototype._removeOldTags=function(b){this._lastTag;this.$element.find("option[data-select2-tag]").each(function(){this.selected||a(this).remove()})},b}),b.define("select2/data/tokenizer",["jquery"],function(a){function b(a,b,c){var d=c.get("tokenizer");void 0!==d&&(this.tokenizer=d),a.call(this,b,c)}return b.prototype.bind=function(a,b,c){a.call(this,b,c),this.$search=b.dropdown.$search||b.selection.$search||c.find(".select2-search__field")},b.prototype.query=function(b,c,d){function e(b){var c=g._normalizeItem(b);if(!g.$element.find("option").filter(function(){return a(this).val()===c.id}).length){var d=g.option(c);d.attr("data-select2-tag",!0),g._removeOldTags(),g.addOptions([d])}f(c)}function f(a){g.trigger("select",{data:a})}var g=this;c.term=c.term||"";var h=this.tokenizer(c,this.options,e);h.term!==c.term&&(this.$search.length&&(this.$search.val(h.term),this.$search.focus()),c.term=h.term),b.call(this,c,d)},b.prototype.tokenizer=function(b,c,d,e){for(var f=d.get("tokenSeparators")||[],g=c.term,h=0,i=this.createTag||function(a){return{id:a.term,text:a.term}};h<g.length;){var j=g[h];if(-1!==a.inArray(j,f)){var k=g.substr(0,h),l=a.extend({},c,{term:k}),m=i(l);null!=m?(e(m),g=g.substr(h+1)||"",h=0):h++}else h++}return{term:g}},b}),b.define("select2/data/minimumInputLength",[],function(){function a(a,b,c){this.minimumInputLength=c.get("minimumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){if(b.term=b.term||"",b.term.length<this.minimumInputLength)return void this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:b.term,params:b}});a.call(this,b,c)},a}),b.define("select2/data/maximumInputLength",[],function(){function a(a,b,c){this.maximumInputLength=c.get("maximumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){if(b.term=b.term||"",this.maximumInputLength>0&&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('<span class="select2-dropdown"><span class="select2-results"></span></span>');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('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="textbox" /></span>');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('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"></li>'),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("<span></span>"),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.top<f.top-h.height,k=i.bottom>f.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;d<b.length;d++){var e=b[d];e.children?c+=a(e.children):c++}return c}function b(a,b,c,d){this.minimumResultsForSearch=c.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),a.call(this,b,c,d)}return b.prototype.showSearch=function(b,c){return!(a(c.data.results)<this.minimumResultsForSearch)&&b.call(this,c)},b}),b.define("select2/dropdown/selectOnClose",["../utils"],function(a){function b(){}return b.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("close",function(a){d._handleSelectOnClose(a)})},b.prototype._handleSelectOnClose=function(b,c){if(c&&null!=c.originalSelect2Event){var d=c.originalSelect2Event;if("select"===d._type||"unselect"===d._type)return}var e=this.getHighlightedResults();if(!(e.length<1)){var f=a.GetData(e[0],"data");null!=f.element&&f.element.selected||null==f.element&&f.selected||this.trigger("select",{data:f})}},b}),b.define("select2/dropdown/closeOnSelect",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("select",function(a){d._selectTriggered(a)}),b.on("unselect",function(a){d._selectTriggered(a)})},a.prototype._selectTriggered=function(a,b){var c=b.originalEvent;c&&(c.ctrlKey||c.metaKey)||this.trigger("close",{originalEvent:c,originalSelect2Event:b})},a}),b.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(a){var b=a.input.length-a.maximum,c="Please delete "+b+" character";return 1!=b&&(c+="s"),c},inputTooShort:function(a){return"Please enter "+(a.minimum-a.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(a){var b="You can only select "+a.maximum+" item";return 1!=a.maximum&&(b+="s"),b},noResults:function(){return"No results found"},searching:function(){return"Searching…"},removeAllItems:function(){return"Remove all items"}}}),b.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C){function D(){this.reset()}return D.prototype.apply=function(l){if(l=a.extend(!0,{},this.defaults,l),null==l.dataAdapter){if(null!=l.ajax?l.dataAdapter=o:null!=l.data?l.dataAdapter=n:l.dataAdapter=m,l.minimumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),null==l.tokenSeparators&&null==l.tokenizer||(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){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;L<K.length;L++){var M=K[L],N={};try{N=k.loadPath(M)}catch(a){try{M=this.defaults.amdLanguageBase+M,N=k.loadPath(M)}catch(a){l.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+M+'" could not be automatically loaded. A fallback will be used instead.');continue}}J.extend(N)}l.translations=J}else{var O=k.loadPath(this.defaults.amdLanguageBase+"en"),P=new k(l.language);P.extend(O),l.translations=P}return l},D.prototype.reset=function(){function b(a){function b(a){return l[a]||a}return a.replace(/[^\u0000-\u007E]/g,b)}function c(d,e){if(""===a.trim(d.term))return e;if(e.children&&e.children.length>0){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<a[0].attributes.length;g++){var h=a[0].attributes[g].name,i="data-";if(h.substr(0,i.length)==i){var j=h.substring(i.length),k=d.GetData(a[0],j);f[j.replace(/-([a-z])/g,c)]=k}}b.fn.jquery&&"1."==b.fn.jquery.substr(0,2)&&a[0].dataset&&(f=b.extend(!0,{},a[0].dataset,f));var l=b.extend(!0,{},d.GetData(a[0]),f);l=d._convertData(l);for(var m in l)b.inArray(m,e)>-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<i;h+=1){var j=g[h].replace(/\s/g,""),k=j.match(c);if(null!==k&&k.length>=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;e<b.addedNodes.length;e++){var f=b.addedNodes[e];f.selected&&(c=!0)}else b.removedNodes&&b.removedNodes.length>0&&(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('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');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 `<select>` element instead."),a.call(this,b,c)}return c.prototype.current=function(b,c){function d(b,c){var e=[];return b.selected||-1!==a.inArray(b.id,c)?(b.selected=!0,e.push(b)):b.selected=!1,b.children&&e.push.apply(e,d(b.children,c)),e}for(var e=[],f=0;f<this._currentData.length;f++){var g=this._currentData[f];e.push.apply(e,d(g,this.$element.val().split(this._valueSeparator)))}c(e)},c.prototype.select=function(b,c){if(this.options.get("multiple")){var d=this.$element.val();d+=this._valueSeparator+c.id,this.$element.val(d),this.$element.trigger("change")}else this.current(function(b){a.map(b,function(a){a.selected=!1})}),this.$element.val(c.id),this.$element.trigger("change")},c.prototype.unselect=function(a,b){var c=this;b.selected=!1,this.current(function(a){for(var d=[],e=0;e<a.length;e++){var f=a[e];b.id!=f.id&&d.push(f.id)}c.$element.val(d.join(c._valueSeparator)),c.$element.trigger("change")})},c.prototype.query=function(a,b,c){for(var d=[],e=0;e<this._currentData.length;e++){var f=this._currentData[e],g=this.matches(b,f);null!==g&&d.push(g)}c({results:d})},c.prototype.addOptions=function(c,d){var e=a.map(d,function(a){return b.GetData(a[0],"data")});this._currentData.push.apply(this._currentData,e)},c}),b.define("select2/compat/matcher",["jquery"],function(a){function b(b){function c(c,d){var e=a.extend(!0,{},d);if(null==c.term||""===a.trim(c.term))return e;if(d.children){for(var f=d.children.length-1;f>=0;f--){var g=d.children[f];b(c.term,g.text,g)||e.children.splice(f,1)}if(e.children.length>0)return e}return b(c.term,d.text,d)?e:null}return c}return b}),b.define("select2/compat/query",[],function(){function a(a,b,c){c.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `query` option has been deprecated in favor of a custom data adapter that overrides the `query` method. Support will be removed for the `query` option in future versions of Select2."),a.call(this,b,c)}return a.prototype.query=function(a,b,c){b.callback=c,this.options.get("query").call(null,b)},a}),b.define("select2/dropdown/attachContainer",[],function(){function a(a,b,c){a.call(this,b,c)}return a.prototype.position=function(a,b,c){c.find(".dropdown-wrapper").append(b),b.addClass("select2-dropdown--below"),c.addClass("select2-container--below")},a}),b.define("select2/dropdown/stopPropagation",[],function(){function a(){}return a.prototype.bind=function(a,b,c){a.call(this,b,c);var d=["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"];this.$dropdown.on(d.join(" "),function(a){a.stopPropagation()})},a}),b.define("select2/selection/stopPropagation",[],function(){function a(){}return a.prototype.bind=function(a,b,c){a.call(this,b,c);var d=["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"];this.$selection.on(d.join(" "),function(a){a.stopPropagation()})},a}),function(c){"function"==typeof b.define&&b.define.amd?b.define("jquery-mousewheel",["jquery"],c):"object"==typeof exports?module.exports=c:c(a)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||n<f)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120==0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b),d=c["offsetParent"in a.fn?"offsetParent":"parent"]();return d.length||(d=a("body")),parseInt(d.css("fontSize"),10)||parseInt(c.css("fontSize"),10)||16},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})}),b.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults","./select2/utils"],function(a,b,c,d,e){if(null==a.fn.select2){var f=["open","close","destroy"];a.fn.select2=function(b){if("object"==typeof(b=b||{}))return this.each(function(){var d=a.extend(!0,{},b);new c(a(this),d)}),this;if("string"==typeof b){var d,g=Array.prototype.slice.call(arguments,1);return this.each(function(){var a=e.GetData(this,"select2");null==a&&window.console&&console.error&&console.error("The select2('"+b+"') method was called on an element that is not using Select2."),d=a[b].apply(a,g)}),a.inArray(b,f)>-1?this:d}throw new Error("Invalid arguments for Select2: "+b)}}return null==a.fn.select2.defaults&&(a.fn.select2.defaults=d),c}),{define:b.define,require:b.require}}(),c=b.require("jquery.select2");return a.fn.select2.amd=b,c}); \ No newline at end of file diff --git a/static/admin/js/vendor/select2/select2.full.min.js.gz b/static/admin/js/vendor/select2/select2.full.min.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..aaa85fe4b41732250c3382083ee5522c4c57c076 GIT binary patch literal 21673 zcmb2|=3oE;rvGpEW>!ld->C5?{6J-KW{+iyhqbyTqsb#>Z?82jn@V(ls@R#Vw~-bT zI&gqtg(}Ou<DK7iHy%CWC*xhVN8dBYvTV`O)9krdem?jteWL%@r+=-{S7WbUwl!u@ zy!rgz=Z98;ftS6%#>K|Q#%_IlZsnngD<oO}?&i9$e|BnJgoMbezje#Q?`>Rs?Zx%* zzd-`q%f6%teSK}7T<?DR_1DGk`j~%zf3y4jiG4xZI(K#^uiABs?^o}R*e`EPyX|$Z zzn%ZerEsf&+f_H~S@WjtS6wfv=doc&hOYf4sZ#$)@4ocuYj4E2O`6oR)*>d?$?a!! zmtWbVy#3n~>UOOvxzG7#Yu=Ukx7)anKX!|lQ5<VNW1b${x~;dSxwc&sNw&Y3(f+Zs zHSf!bti{rzJGIIzg@eB2-u~Ft_?G4Hrtp}5^CfclyQ_BhSKn=#f8}Ugc1ZWVFI&P_ zZF_oO=<DL2t$Pzs?|J#4i(_3tv(K5}e+dRpr>|Ic+P3;^JV(s_H@mZ)C!Q~6QeUH@ z{P=b@kNBcR&wqIOPi0zvQ^e7E>JqKV3Tg))yZBvQX<54bp^mk--{nlpT=lZQFEjUF zd2J&7chT0vo96c2*5A6P?{mlPne*Q1M3qN*H#1&guV(7%-|fmTwK8?Z!F1!S>%YF< ztXv+Sbv$v4{T<=$R&n)JzfxApfBof}zj0g2VTniUyXzNRoV!fi<>=(T)Pp-BRA(3n z7;g{ZdKFh*zTblVW%7wjWsif_-)vY??6-!iX=2H3gM+sl*>5l&?6MAzym``e<(e~R zZUiKEZo9#BM%#Ov?rYu^VKN6c7`;9hz9>y!t7D2%rZ*3d-_EHA6XfcbE!R91y@$KX zsdmkobNV*}8tWGCl?n|jJDd1fr0zx6ZWqq-o6c|6KizRr?5-)xm!lO16)dx^Py8!6 z<L}N#Y^y|fF9;0q4qPd4Xs2@68<xeww>y@;EP5X@Yr@*jn;X`gc&npkd*g~xmtg0e z48xXnk*jx23@#7Xsx$u-wqaUmbi>q@$G&_~{!s71_EK7p>D;E>N&L%KUA`<3xn>vd ziCsC?p)t$uuooL#U1j0t7_`K8$<J4+o42rSHi`Uni|b&e^e**`wDRoLYggQTZ&_@% zR&Dk5_hz@YwurSD)Gk|Ic*W@zmqPf`b6M--a@L#8z7VXs{&MC#CMn@hcOqL3E&O?S ziCyWO=Pz%mXs_kkX=_`X9P-OG|K!)LEvIJ)Sea>kV_;tEy`BA}mZCsUU5LYt$fGsE z#eUJDW&)ejw6w|;?|(62SlzK8{{1m^uD35-663dX8z0!EuNPq~SMJZKJz>heMK5ME z3+ElwW_;M=C)YI7p7lym*}P)b-D%GgB_>Y#8diJrsKGSGz9n)ZXU<sfxs&i$*J*vm zQq!$|AH_Dj`Lsyv?y1+tqD&==`yU7AUJ>GuYA(sJIAX@|u&BYsGIqffKmPw;KAzY5 zXZcP}$U0!<<=)?he!W3=U&~ruw7b)59k{*zl;uM`y_2F3=aiJ&ghaio&39iqc|z^n ztX&c1>P3Zlj4MBjKcBv1xedph_#&l^T?r9$rE+xN6&W_Y>kzZKvxP~a{qD5uIe(0z zE+l9yj9YWFOj5JttRA!H)PPksYgwFfth28cZ4o$oV8z*r)bp8#_xo*^v7B3EAj5Pu zZt>eCYu;yvBu8X@yRcAq`<%N!3XX;J>@7c4`j>UT&NHKueahu;W$tA63S@1%l{-b( zduqc?8OxefnIZ|><!iqi=Xr-lR>^)-*{Ez;`+SFll7vj$jUB&3?!HQRaL~cL(Zo_p zpW*di6@j$g)Ixuw)VW+HUJ46aUAuRkDAHM_>98sFT99RfZ{a$j_aPw`^Cm9Y^0ut& zVA7r^UlvxlHQqkWmE#(E+m5mDo${W!&c&0@wss%nZM_^Q!S}r|;=O0ms!osSa?Pzg zS0*Z1Mr>qfR#E>{E?TGh?dhW~AB`J5Wh*Buirwo8%`mO9jX33CqF}0`Wtyz7v&}nq zdDt4O;NoqU8Enqox=_Y)O)qEB;c47G@)Okz_o=_xG)J4Sz{~Z;3oCP8_5Pool43_v zf)+lVraehko`=QmM$_Ac8On=<6%~D=BK-2^%(D{olY3)yi&NzM%bO<M@&}nd@_(p( z`ZS5%$c%AI;+_IO-;aH|7rw;Kh+As#>Py2{4KEI+g8v`)GE^mLDeMuw_f#z5CEJEq z&JjD4`ZcQ^KF^%8>tMoyiQ5-WJ|6C@?R=xUu|?sg16zd2Ilb?T{#|s_?h60y%Ii5P z;YE%7wk?WpvWhx)T58*gY2VY9U3~OW*}_Fu3lFaie|>P}5_aR;rzdh8TXM7OcH+Z- zwY$H|-3iw-x#f80Ez?F-z5Nf?o6TAnoN-*{!ndf2so^!R^d(Xr6v)a?Gv5-HlTpO> zIA8F)eR<%OEY4N3O3ZK9dHU_OF*TPF%XNP|J#ohs@t&smNxdb`ULMbdy~A!5eOY+n z@ynJ63@1G|%5UK2W4oU`se@VPnbwzb{bR<wj7vGHHNJMrs`W8GJ(TxA=+@qS*ZCGP zeOa3mpvcBH|G`a%52tzMtJd87uv^Y${)egy{ePWI*@D8gWWIzoI7Ym6YpuKcTHNpG zYF2)`1eRH=71t#ldgbo$Q>oOX<*eAGGH!LH{TDuF1#(Kb-OsR{&lCQ;S53g_t;zE9 z>RU^HpDcT*8m*(#cyuY(rI>?T9k+7Ty)(QtJ!eU4?A7<{*#7R|o_vnCaJ|T!s2K*G z2Lm>F6#U}w`tA2^aoLPpOG4K&No=Uwdr>>HA~s(m^2FA}F6IEy-V|5olgYpQRQNRo z4e~y?7X~?A3b=k<YHevlH@E76sby=nbG6D?r!AAQa?H$US$*`iJDcQXDZy2d+jrmo z>X*rLCTn+ie#mdWd5n_+)~?+W&M5lvlW>Srq0`69cfNEyInl(Tytv~}a=SIx)Uppf zpWKv176+Er+B7k%w^m06a7jBz><RwPIJ03@cKn84XV3LsS#dS7e%<>uAOFR)Z=UyJ zds}q$8fN3UDKR-ZFJ+nLJG*Uq(`WyaUt7+Pk9X#SuF@xRX9NtpzpT3yu|g-^Iw|II z^P~QEj}_%hSN{qO583}REV0>a)_s?-1uMluG>&pDyys`=ch-$REc}XVSk;PTjiYa` zO!8i8Za>kv+-3jFhuqK9zf6pIvoH4CksaOtE(OT{70U758g->~^W&-S{7+sv%s2Vn z#me2AYLBYcPT!<<XMW2Q&yW2s^9x>c1o##Dobl0Lzq26g;Cr{<6?=q4jde?kR<Y|m zoqKJqqSM75JJTM!$&r_yOnO%L;2fi7;Gszg=@Fa>VwK$oC)vHNkzRRCald$JfAt1a z#_7USvLY-5Hrkf1zir&svhlZ`4C4Zh1Ft#vWdG}_zVQ0G_ti9>%y<6|&V97{_142X zLRr$*$jeV`KefAl!LwEUslR)9PM%+<>n}UyYbn#te#W1cd|&F;U;q9oyUY3cN6(nf zgK4@p9hD~(&iShbE1VQ}e7xvMgTP0wHM<ydq(v=ON~Axp%z4=O!{y4|$6p)F&b_$! zd0Vh(3)_$R1sl7L>!|Eo6;dcAE-0tNvqqwh$1|xR@vzGZrrx%>?>sK_CaTR=3f=jk z^^fq&(Dn6P5>q91v9morqCY1~?Tw>S@==ao41IB7dj;D9rORKx`m&{T&qe1l*P2J` zGQYa4tjJ;1^Z&gn>2QMGp)EVjv#z}QyNEYd{c-An1c#6I`7M8UiRtdkHRN6#_n>r9 zb6k1q*2&Hs*VeSlZ8~-B%m43-cWV{QnC*5WyHwy_XTj$F2YM{o9QP9MGCojVy^&+T zbIRV|?i}w0K76l_*x0uCiO;>J@MWB@Z+cDInOs=)T<>*XdzsCb3zzz4O+MW7TVsOY z+D1<9GiMyv*J_!1o#;A0y-vfWN5ga49tmIZ8D8bLPkP)E<yYN$^neEUGxw9+&QE>^ z$_Vn+YVo?o>2xJGieFI{GkhEp7IV&j(Ld(5Y$7|?OFp!^CI75sE4#{q{k!?!eh>eB zz`kw6uC&h1Ik_#<<|a<>j$0|H$1yQTnWb;BxtYCA(Ugvy=~-!NOnTRPg&s9t5_B}} zW7sXYRLpjcrqfNPIe%}qdF8cOv5OhXg>3QPsP&a0qWr@4K8IAXt+9^#UM(naJZ@pz zD{J;tYH5o%_saL1*d@Gf$R5y|{?%j6*}s9@*YevQoSZ0q^<Bx%e?oDeIesl-XZm-i z+1dQnTC?B3E*{+IRWj!Szo2H@+%}h-toz+5wI3Mz?%%Mvk;@`eZs5%C*XwvFMtaZs z8$O1)n<_69F6>x-D24g3qR+MydMX!oa+x0NE`Jk~E7r8^`s<x{PDN%t-IyFAznVcr zt7vVVdDog)>+&^b<#!jlg{`;Ho4)93)0tkr3*OT2qitr~DA0RrwkJ|hk^7*Q(|yOy z3Nv&5d|we^W6a-si~a10*J%=#e(_yVbN{Vel>1Ea+pmNxuMY-ZxVrRe5%-yE(aU#> z83rzTp>$QCto4P%o7N=Ouo-4|H*UUp!D_|D{-`j=E!%He@HJl8y1|e+Blq(88(Yt^ zmFT{Sx_RqsWBUtJTT6v)9G|^)Z`$k@(mEC1qad@RS?*Ftz#XH+l@;e^6s~nzmgAH- zv-!Y_Lm}If!~^DkbL;2OnYAHfs@t?yYfim;UlyEn>V0an=yBkxCZBGVJ#n2~5<Jgh z-cH^r>3dFFZ_k-qY+v1sTSSAlh%)O43Fyad(MXIey(;CHx?1+Wze-}pW3{8j5ehGk z-mMF4y(!wO?%HM;>V4Aw(wavW3BhM?GAIXqRIQe~dH9au=it4!I;(ll%zC8vSMV^) zV&{%MB1$>_^PcEhM;fMH+4_d3%gVsfH>IWS&WmrqekZP7(mCn5pV{=3%I>6vCr@a^ zICb(D3HPSSv!ClJop?)!lXLEykFmwvH#h?XC8|tst*zK9&e(YD*Yv#~KNekd$rTB^ zd)oK6`ANNH>gGA0stZ(SajPr3iEfph(sWhtjJvPcs%?=c*;*@g#EWF4+6|8Q{wu5A zD00v(;!Mcp$<h1<&+LquKmAat5PQ+5HK#qT;V^IJVqWhpw;#@BX;jrqH<++G+`A>b z^wEOoHC7Y%W|zrDFy%5ooRjrjqrYoi)mgbC{BIMhL|%R5R8pOMab~B6;e?X)+$Ag# z=}%m)CwxCBtEc0C*3!3A;9y<Jruc717jg8u$||s$zc6_k)NSNC&-y@D|Dy9VpY<x7 zf2rgam>PMUWv*3XYoWrq1xpu5A2ggPv3AkboCvpSxAzrCrmuhaEz)nBzq;wXRH^d| zr!4ARcXaWhlsk)#h7>8x6gkqlR&{zM@1&XoGNE(g`IwHXpOShne$-LUmLqaa-Qxa3 zg&o2ZycH#m-sZYDbDBzh!0TfNqE_58wYAT3x~d@T!;_wpJ87=7%zWjW|4q%CE*pN? zTv)Zj%CxX`-W31xK0Tw0e#uW3Fm_8m{<7BO7~h;6r=!|t9nMW3ncTR&_~y6;T}<6` zWy+=9OVlir_NWvUrk>1{>|T@^KJBUB^-WJhEw&tFstet;U;}S=*EIJ}Yg+>aH*bEs zqCM97$Z3aLZ>QxhKUd(~e7nSbdS32|hy;7fHpa|pTLiXpI2Fsz6q=`CY0W7VC0bl` zEa>#cNw@B>&OQ7%K{Q=FA)tnH4yR7Cdxyw<sg-+U-ssHOe9`)fW19P!(<#A1ottkP z%b2#${KRsqWMVRx(dob+FIZ9+U9|KGRPRl?>=~ajEjjy6NpJq_lM6T&o_?qG=Fz8L zCxoub-2Zp=+y7Rl<O8`P5=)=AED*bRvX4D|PfB*lr^^#lyx&gnTXsr$r{uc83q6X@ zbwf2Zb8_ZxGM#RH>7B}2@dtrgEt{o$%+}xCzUlI2`RiG}o0}$W>?x24IlO2>MEQ+Z zfj<ui-`PJs>Dvd38Jeo;S~=ldt8Qnqsve4XwlqL<LgmV?H@rUcjz7A=9T?;-HF4|0 z*lSKZ+p;@0$nYHP?Yha4pxkG^pmX~r9>q?tk3x}VGP6~$tP6P6^ospx!gA~7E>#EL z)VRuB-Ep~F(Ix!Fy)`1XP3&{C?5@Wye5=3GHD>K09XCDOcNV4Fv)D|&EGZI{>$P^R zUKTNb?af7U51sNRS?=cXEIaqm=xk@+lafs7ZJ++%dUs^?#hH~iS3cCc9zH8G`@ZA* zvo9VV2-u)doptYA$r~Tj$tfw}&gOa7FYeCTe&K9rLUPr!dk<F%w~4nkEfRI#$hLX& z*A$H+vF%nbXID?w44Jfh;)K}lf3|`Bi_}i?O|r`ge%~D-ywE1$Nx4MN4zb4D$LHkU zQ91L=c*9k<v-`d;*zsVJ!o8Z`oByzC^ZnrZ%38RA!*omOt|cp4xQ_}RR?0iO`0<6+ z)r(iLUv%Ypb@0XFw#M+!Pjt4Q4&C_o>4O`~BrUJb+;Jh%t7OI(vrRXJ<;&;3x!C5v z>#Cr7Y)q}sf{$WK{Z7(J%QL3*ge-r|*}PHAIb!i!)9;D;QyL>(q~c6DYn;Bl^^&_Q z-<n*q-Bak}+NwO4`rak=TaMnpR8_iYO+g<=)15a??H-OZ*^IO~POR;ly?9|Y_oWpk zk%p?51m!mR_1aB)K7Zfmn;Qj#Hb+0Q`4i)Ldt0@C)~grNx~G=+G-PRQ-T2dOvtriq z1O7{`Uf(NSKK-U|L)6`^23*WJl1Fc?3&}NM`If+7y?w6Q3C^Zfd#tWc(SK1ey?X8( zW%fl+HqBmJvvF_bN(NaWt|g+HZ7cLXgqq~)uDjZIdt&Ih6_rU|l^bimJYW<*_p?k= zf5*=&p<CT!BiFhtuga{ozm&W${rkN6vX*<Q&+q%R-^#uGe(=AEo8RwS{QI5$`TK8W zc9#F|@1OR({=pl|s{f6j{_xMe%l_bV{M=giZ&Tj?TBuxnw|07Q#drU2vegd?e!knS zy5swW^Y69q|E+b{vc2Z}ev9vNRvahm9?0Bazwz$h!e-6?S9jL`_kY)VUfxpa>-Xn# z_WtI3W4&wrpTF`v#j_Ra7rwHt;pd!J_w(5Hd?t}x)AtX9qS8C#{C~;m?X2d`|NBnY z=kDIt+xPaeK6<u-U46-ywG*;*<9D+bp6>tqV@c?Q>t3bnuXkFnmKDkr?KwQnJAG}e zb-BW)FRpht?t9+7m1j=ll){-`qDs3hI**(!m}Y#yZ|Wg~%5$4^PI<Uhr%mGc(H_G1 z__FeOw?vJiWX?>jogJ4h7u6lt>Dlgb_4kU`Ij<z2X1q{Y!YEch@!cO@O}_ie$KLK^ zpS<hzWnE2=H~TE#<ji<eDDqm>di%`V`RmFq&+NaNXlJsxT49xik+RMV1G|fIkp@SY zm9Gh>I-mBtBJCKP(Z$Ksp#IckzM93OT#2s%>)Xtq<-GSuoTOG1`a-nnQx^LrmzP2* z8s3XTw)L2#hQx0AG$l}T;r|7-Nf+gt6ZBWScii_T?&9COi^3|x3XB|I>R1_0@>3AI zsn)z=>)R9NOPALCt!8ePa8L1j=Hh)gBgT92wmlEz?_WvLZM)?Z;^9$YZz+~t78mnV zVs%(FyYdzWt;g1lPoHk;_KfSxR#?e7Vb8$>k6rI+FMBknM&`f*mXkq~vnAf=J-@7b z;+)oFqhs1yf9hoBZ4xe%yS}YzVfNVt4VK^6Fkk(!>%h8>>k+DkzSVzQ&ax^!Q;qNX z8ETSS7N)cM&059zi$1)cBHd};{qi&8#q1Nl6_s-Z&gXq`DZ3__JnL;|mg#=&hQ++W zC)9VV9k0E)LxEpC;p6A9?wz_z1Uz3&-L=4HZ=hvVKNtV$7Jl)l!2NRVt=F>F$A3_+ zI;eL~t>d@o$z+$kLULY*a%bq&Xk7K#7<r`9_fY=By=@ES<a-}1|Fm`A)Hb<|VG~0H z@Au7j;*1XJ@mXA$^GY$fFUMnRP1&?reIhIF<(qDQe4$TvGArZ4w7TrwJaRnuIG?>K z$Zrj+Uh?<xbN2Tigwy!q!(DEFR&lxUMepF0pRwm=`AjMd44$OFV2kbnn?KJ=o7dhA zZvE4^_E4>f)lGM^YuCzm<vnRF++C@)mS@^--7fCSX(GRt3smd5FBaQ<Qs4}C<mLzQ z0efQuWA|x$ob=lBP@_+?eeTQ|n!(o5Qk;|YN_$&&JDuB?J)3#{#m>v6>3O*)wB%M_ zu$*^LL*R3c*ctY#fs^(A_tdB;&RZ<Xes*(F;0xbdD<6e&f79r*(%yV9J87rX(_Nn1 z72Eer(qz$hPhGPhn`u&5$Bvbpd8>Cvwm8XZ9%W?YcU)94-R|Cxpsfi8A6j=Ym}N>k zt!wFd?D_K>`?C+xfgc1kD=ZjU`S&w(&Ep6YmYR39K-TeKYm)Y)8yAn;)mXTH*J(P^ zCOq**43nUV^uaDq#Z~v4j0AVxxha0-v710*a$)K0DeUhju6pJal4V>LCD->S@wo7* zOpV>aRu7MQ?BBJ<PvO$Hr53x?)~TMA`)}`c`_TX0TXgr7-cl3kbNA1%ymoEd9FHu& zC!gdl*IEdC)jD(A<Li^$$k3Yjb=v;37d?OS_KMP+o;y3eX584s8ELG+#3ik_@sGuA z!=!JLDI)SG4j)ne6uEisDo;CQwfPfO=Kp%!nPfV1Z^a~a*4wK>tXJK?cjof^eIl<b zHr<~0RqTBBt3u-=(KC+L2<6%ZOk;@-2{^5jy{4x?#xJR>aZZ1g=c7Zufl-Zy6ARRo z=eFy8KN{s$@wWT>k__|1n>;v+G~_nCc(K&(R>qxMMrUU8pS&#R`1P!A7#D;4d+FnS zl7A=Gt51zh&WJyq;hbiuBFfHpCHxeh-K(eOPC}hosf%Cf=*TZ!Xv2SJ!P+vr+@3Sv zIYr<0DP8VATB7(Zx9Ho+$qe<gD|x>5_`f;0Yw6OjpRAIco-s$H)!Cc8JChuDDdbY| z%n-ZFdmY4`pB)qbx!P33b+X5cu(k3X#+8?Tv~vqpFAVPwe<;GIUTibBBf0WUQyGU* zw8h02*Aq`Stcm(+k$>{mw*`~;KRtc#yeL=qDbLEe=Zg|1eSWs=e`Lw2{=In~KPOCk z>V5Ou4D0PP{+)<_@};Eh=!_b_Q_EIHpAE>>tqXHsu*lYbGS@7r#f#pl|Ge~I$90`g zuPz)enx^^s;tB5O9ud99^LsCF90&_ZHmnp$;}>&t47L9H#s1R#f6jud4jlb;>4G7* zPsQ43-OD^aQ4EWtg3~|gWLt@(^%Xs9G)xRymQxV-GCj6X<9M}3C3na1V$mge8tlxP z9+#izZ{Sr|x_5^&Y1Rd1i!fhN_4%34)*V>y_C$N}g)6&feK<SK)hA<fXV*MiL-xII zpZXN(i7uJ6v-CKR-P(Q1XXoE-^l`Tfo~*1pv*X!k>*iM~ce-m>KIXnpH%t++HhL%W z^0oNtN*SZDbqRIn&Y9iv&EPFK-CLHvb^iR9H#TM|XSH4Uo59w2uj+vK{oqG?oexI8 zJ)Uukt@KB%_PQ`j4+-8&&U^e8>;KT$^+x}TRp4gHD~l6a^Yee&DtexIBDy}3Ny>c# zm-P(I@Mx=Rx|a4VeR6y$0e!nN)*Q`go?m=s+3mnN2d=KDzVi7yH?P3LD|UIte8JC? zYgL>py{A?4hd;GimTy})nae$9zUs^geUUq6gq%<bPZ1WGRXlm>lcu~E8PPMFt+cQ1 zi3@)5>D`uN4`zE8J>!s5U-557^bM8oX5kxp3)UEHnfS<|r_|JI*T%cO+dBFa`}}%- zU3<4%{cu-X!e*V;VA(=PzNroG*%eH4_h<yazj$>Am(DEnms#Dj=WT1@<xKX|ez#&) z<n5$-{XW6(9(<Z1x5eHE*XilAq^CzV)P(PMU!dVuxogITm&V^0zq>7AA<>=@v(?Nt z_V&wj=fgj_IR?mU`A*myEx{jb6m1&tICXyC?g_davuB=TO5S#BVaT-^GZza<R^%^z zXK-ZFCoWIpOXu@%OKl5Qd=`B4xO%ozDR<utj>X@^8h7&-Jh*uGyN`dkchO!M!52rm zJPV65wWihTWnSu^l6Lk*b=B>AdaQS!%yv4MdxY82)M$yOSC*V#S={xH2aO8v{_(Ck z`mJB{)}|n)X}433y<nKP`?9dt0@ni(7Z%*|GFcK)ed(i#PtTXVw<bNx6Aya%^lk9X z45fI_nYAm=FP{?oanGug#)(}C%Ut(z%C4E=F7QbI`mez4sws~uZ`@h=b4!D%?}JZj zf%D!(&DmMgYqnz6#XU;gg1=^Yoi*M2H&Qj>ki>!mFIjFeHDwlG-(TW)N$PvdX(6lU z87&#Jf2Q5uuC8s)BkVbO)x79m5BJ}RJj2I+cG}F!>SJ9|*9uaU_i&2v9VxggZ@M>l z@{JUq7N>tRqG!GNe9AS+>L`Dgy6iKJqw9GdGN%7E5}a{{nYE~{@X+-A5-nwu#e-R2 zbokat2~FI&Xnx2>#xGh={r(<m^HD#0j(ee%{q*m1wKi}a;(C26AofM~Y_Y44Q?rki zU$ct4p8fTMWrXS}xt|Nq@I0HPn=@Ctuu1w^k?AKn^?0KdvMs%j6=#ddrCYa$dE96S zo}&IHDcv`8n$2B~87p`9OB%2GuY5KlA!|!)>Z=FKd5V6y&DGeoqis`yjJ*<@g!bEj zjgndoA20q*Tp#ZrKf_0~wb0gY%@4axvYyjAFE|;P$45NW$qG~sJ#e^9yhQr1n}L_$ zom*Ca`B&$>Z4><YfBz3-$LaE^55jr=%xXB>{a))uE^F<I1>Y?XC$q#P#)J!r%-494 z&-Kg4alX)&gQ~Ih%@gg;DW-?MGPiuk*|+<|0q&lT)f*;;Jmh8l>*{z%aQ5@ixjPT= zy6q}`m)w-MPfbhfRGrYm+K6Z3Tvd}7&R*ZSO;%`u#$!gtdF~(Xvs4%|vNo}ATypt8 z%Lh3_gM6VamH)1DRmC{^3za-JWLj6aDto_D!fTUh+uRkZyBBEt8+|ZgK5z8FhH?6Q zrG(Em>bs6PN>At5@$*(VOYYo#3>V@8&)jCoomW3?f%g7D$Mf1RTv_La2`t}zXyWyG z$qj|E)ol&4(|4SB{aoNjd5c`QK;OlC@k(D<oTHa--2J`NYoGIlr^_WP+8Wb2Z|wP^ z;ViyCD6wDr#dWQ3+)eA|JX`R2fAEFVGAA9wEuMTT=3)+ib80n9PJyMg|0<W~p%-Pg zecY$@%=Fj?cF`#gJzsBi^ZaRRSbN!GhP_zrCq2j6&(8~$yj5k&oA)p!diln!_JWf4 zlwbTxXNjroZ8-Zmzu-b7o5hn~yJbG9weRsgu(gyaZ{E`@=I3ixE?CcT%c?i=dzaN7 z{|i&MbKbD|zpUw=YR2O=Twas*u3x|}$-ex))%ST#cIq#l-4wTYV-l9KU*jKhlb-$g z1Kc22Xumi9pvYXG_(0h2Pc)O+`TxBOz5Rtt<|><8q&$wC+Obeu>we|2y0@ZC+x+Tz zFZjE*+N-=cmCkafVphZ2(mC(#g;&}sWqkgl&JtT6&sytsVQT$~1?M?-ePd_ZcCOap z!dc^ftryq1s^%=*oL|&ex+Id_<zv0#i&NKmViF#BgDiA*d~W$^64x&$M{&+wr(T## z9KE*FT=WZ@qxpH8wF}fGt$u4bUZ2P!ci`MEy-B*=RmrRQx~l$9U2yhuykW`1K-R)t zYm4iZU););+0v)-$FA{7K1-~<|AElH-G77_XN$`{-?2R8!ep5*EnHP$j{d@1KC&@h zKPOP|`As)h)$DFDNmuKMZg<shcc#h-h5nhb;Pi6Ii1Y{LEIDyjYZr)%e%aJyarf!{ z;tQ?MIdA>w=K96!7(PGTk?SU_-UF@Ww|+=7&o?O3D|qZ2y6Mo#8SC~R=?vkuIJ?z6 zWZQL-FRPj+-Pp`k73{d`-1L73R10<26$|UHUa@}133bVexec?^=Y<M9-lHX@@3B*( zV1I|`RWV+HM*fb(!!HXWcy6n+<i`D&+Z3nv;?`}JoVnHA3udRsg<QyFExfk2bj^$Z zA|2-iOFo}D&Gn1f(R`k2LbmMlSAUfbFK3DUE6X@r{NDjbo}4`=4rES!5z4yv*va@X z$8^qJA8i<;pWjn^@l5hu<>xoMxqg{0k3Rmi(B;aT_bj<_Hr^MmhFiWkbX(@jEUv2N z=6eB-@3mg|vhMZ2a7^C9cJY0y@1l<8=l88&aNM#?_UEL<i?ZemZmE3e+_Y}r+NOU_ z7mlr#`M#{{w~J%_;}hkaJC6NaS9s-EILjTI-zv`Q6OZ=&+r5IH?>X}#yZOQ;Kl^$1 zoH{U{W5+K$#@XWMiZ8Tly-;HR+xmI0+ksNIg1@3{b>|tTZ>xM6d+xtEo83c~*DN`I z`WmNm?)bLx)cUL<&(P18?u&d8XRTedV0-9Y`=?6wp^pCpE~K;Et(eoWwsgtj|7yG5 z%7a4D$uVBA<ZUoh-aJe13%%+g0)89oh22|9=RC3(fAP=r!n339qF=I`*3~U*niq26 zF;~^B1#64v8*S-(b6TI}(Px(2xSBA>^TJ!U_APnlIPo2m<Lv2nsxLlCGOhdPd~~jQ zMze5kT#88e`PCtwzd(t<oGI^*+tFIr3)ifQ-2Urj6;52RTAbs?o*zo=u}KfSMa!cc z_bb1+^_(SVkMDtNJJ*YT5p*;^zvpD)>yG<}5AFXW>Ns0GUiHN%X`Vkb8_h!(eHZ!C z*JKxTfql+HU8Z#gzqI>Tx;z*8va!i7{K9?CTMs6!TOGCMtm69BS7Oekt~>kHo99oP zV4<klB&|P@j`g7z>?N(%zxu<%82w!0FYmh@v)6Zab!{rtt=5>a``^;0dr2>zWiQIz z$lxlun(4^KZ++Y!f|$5imLCy#c<x=d;xALj+0W&JF9>s0buGy5H#)E~Z;kMVt$oF6 z0w?5@Uz`f&u{nI8m}if}fv4X&ZrGgfTxaWh;Fvheotn4VP21+x%vo5fV<p0B=Xc@R z&*vPwK1GXuX=;iKy0ELs;;v}lo^Ljc=5c8cM49sD?ew@%Dl;=+&iwf)8QHSey;QWm zusBY?pZ<WE%}yoZ^QH9?yMAots&;bhUwK2HbJwPGj?e4YF9^4o)V!|X#M6F}HgB2l z>P%)k=JYNPS;W06gYWha2hrj-!#{znsshP-4@%}2oG3lFeQV#>)m`T*CoMSpdA)GS zTN6g}^EHkau344U`=(TMEqFa&xZo)d<Lu}E&p56(KA?F0{^JSTEuP3S<?V4iaCY;Y zs?VRfWy+pqH*LGNQUCQKK7Zkor?O0D=l3sN@SWpUMJ%i8NxOgx?mV$IGdC8VTU-2I z`-MEq-2|EI8{WS<?%F%SF{?w$*7?HI{RSVx+5Wj5n948lql0nkvt%Z-^V%<j7Vr6| z#3(JZ>Ej%)BNwK!Fe~r<Xm@<BazeK3@{^lZeAvtq`*Tji>-ho&k0qJ5T`O#l5Ii|w zIpgym%cgbp3!47<U6@+GYQcHVUEkb6C9ubZv&Q>_E+lhRH7(qnU)WbVXNPa#pU*6@ zwNo0j#U+1qHJttYKjZ>y-ybK|+La5udtPU=)%hOS8qT@nqab7S^M5`U&KjRLDESty z^+vO4UAM>0%oF0<T-L@bWPJW}ohSCk)FwIQ7so8w?9>vnWv7QkKls7xcwJwh;A<h1 z-hAbR&xeF%zHi~G>S~@B;&@*3g=EvZxvCG2EuS-Iao)UIPsjHKvIP>iHcg#jEN1#g z*KxXi>Vx+@HEsu<EiGl;yJSJQ$d~GKA1v8pD;gK{?q8*#_u>_|mWSf*1FSJmL!{-6 z3;H(xZ+5l|Qq`W*^YT}w-;%5Ynd|;WrdlsvV6UmsSsUw^ujz61=Oy`_D(jAx<~@4) zS>}@|qj{bCfwRWvH9G?DKDf6_OR9g$-&q;~7dRL>uRZR`aL{SvU42dP@HZvL+2VEU z7ld={`o_mz`%e{=MVBln1(&}nkNP=|=nIxSwq(kiSLy0luac21yL+{^(HylGuikUs z*z>`iFDc=%D%-WtMfRF6c+~4%S@-%~=oOdvF{xp8y2azOo8N1`Fl^d(ZQ}R0on32% zOMaFzt^3#6aF+Xh!39atFX?>0Hgi?^JLYS?U~V$|cjBew-(%N71!-f`yazqvJ3p)~ zb-5-U`bXArwzyr=i$~flv9<25|E4bJwJ*FAt@UnBlijlu-#K<1`}yy2CeyZad%Z85 z-Ry7pMe5o%{hNAEZic&Ft@FR|l$$3e<$(}mxV=KcXD0Pszb0}8t^9ZD=RSo8zp{D$ zG&W9`teE;azN-Io{h0%neqXGa%yvwYUN2DaR(NXs)hClyJzLr@`X!uoZtw-`RqyJb zEB#;B^l#;Y^PIo>(>ZQL9iMaDb^BhQ3(s2hMZcIj{{JY$XnuarImh#>73P#3e;Uce z{<6j4JD1~Z@%p6;j&tn#wUevL%h6xs1wU6++k&;l_30V1)!&zBJmLox!G4bV0$aBB z#hlQb_^zKNH}03U<MjP14_?`a-eGMrv$*)|=>4Kk>qE7s{!425THLg**6l#={Z$s{ zc5dxU{^=b!Kb&({)x?Ig-TH+W#Cd9#KDs9QrMhX|-{ywia*iDzH9)D|>B3p#e8Dfg zc}MT>X%Wy{o?q85Q1;e*y+Vu3P4jw}7tX8?AJl!eayr3Y^O?^{UXx??_p|IAiHY~; zICCt2YCd1NrRKT$e-{q*x8~vuzs{#i{(9yrs&?v!l%mX*|20etpG*9DCM?=!`r~}M zfK%N|d-=m*c3pex+o$G>^G=;K#dC}2JubE%E@?rJ)8zKw|0a9hATQ14*5r9wY8yhF zH1p4fbjD4&AbIjd_ES;SpnG+WmS(1BSS-`x&ak|(_)upQJvBSv!gb!(vr(sluk{pI zFRPT(sk<Nck3;Gqlgfs)rH1ln@4C-yD*n{AcuUcdKZ#eD9gR`ew>%Z`|9Q@<%4Ihj z_Uv3{tKwI)V#yZS)198zV)m=elg?Ow`ywOjt2-)wWjV)%?MgTKZ!KP>l%@Ff*v+?R zuFMe@nOc~%`^t-lzuA8#*i_!0`K_<%W|3S@>b*2ot`&1!_9=PrDBk!K`NCtqQMb3~ zdDr;4^D>Mg4L)2r*!ao%;knRNCyn1~*<W6_^Ino@{HCz9=dEVe*}Yd=>K}T1OFS$0 z>)B*uM_0G)nI5m&I}>NkF|T~(c{#&GGxh$rZHu@0y02TxR`%~3TUp(vMp?_8&V0Ws z&xD+XpYiy5I0sMuRrB!6mvS4A!<}!GU)}31G46=lC(X_ut99Z+&)0o2>^w@A?dp<h zn@>+w5-EQsz!Cr1c!dwA^oh^kR4og|Z<dE=eaqrI{^`ZU^Itsnv0P6Vm8xHu|FXkX zvbJC4;ip#DyFsU4vwvN|K6T}$^UgJs1XnFQ_IJUKW9yp_mCW8_VB@kS`h8}+d1k_v zlb*Akysdc`EfsszY>@TOsc;MT!X=Fjp)+a^u?w%rh?Se~T{1Z){!^|&nv-s&$A*L& z!9zxtDYje&(<eTe{(70jqo#=7BkF!`cR45iV(8L6Gv%_Cc%hW(@f}-sD{uv_pE7a9 z#o14iPu)3GcWdGeS%Y8^@wMlkRm@v?$ZguE2{}I^A1`#+zv78g{wduy<v#%$USg+m z&ngrxG<fyEb8bQAO~*1tJCPLmh`3*|v)>kMU$G;lyUeA31;@6_N@guham-s876^rG zI-_(~>n7j%%|>eu3wj89&GPZil?pB7yxwr&+NAOurfM5XCDvtZ+}7g9zvOk6%yO%J z212XXB=S4AURk?Jea+6p(vNJy?+BOex7#xB=Opv5ESFtUdp5HN|Cq2}$3r=*u)1hZ z#*zu^4wX$<p?|t=%Nj+U^s1;W%i6fMtv#~#=AVG_TI-{)S?cdhQMO8pdwN8m^Vi9! z(<(<ymsj4M)M5JjU>3LFj1aGF^?643G_|`g=v-NO{mWM4l5UOked_OI;+HG!{7|Bi zQ{J{%GME2*%*piC&snw~&fI)iBGb)r&BcQWg)2AdcE7E7^)%4weklLK?;jQ$wzGX> z;rSU+rnPtHr$tH6d!9}7Soy`<>UG*&$w!laA8GKqSa7Dj?d9dSPP6r^rk^<VYVX9l zglVss&A&^?X7RIa;^)hFJnc)swj>Lm4xYU(lGkk=@>U%>o-AgW`!S@gcgIp+#xG}> zT2?W(teR->l2<L{^iSziNy(lC5}fusdcGxQf76>juWOw{XvUTcwzJ-vm^y7wvR>O# zaUhX(+T~4`TU>K`d`_=hv*G@S`R2b$%a*Hgb@VPdy~ygc=J8Tl^ZK@|ms)J`Le{d? z5z|d9wq4Dh`0K~fop0t&$(}sz<y-kCK~aCjn;#!JxbmkZB%PY7?G<vwaIWz4RDrKm zPYyNaE}p&c_R~#sPi7qYrhPZZX<l&E%V?F~E8LcEo45H}#{>Rdx+xY%7ccO;^LD!X zPrc*IGUxb*yt=MjQ~TIu>8k4j?gug~);tkmZHe78&s_J<ti98pJC{~pyJz5kB!6>g za95~$?E$xYcXT4Z<g4zoz3hBc%kJLWPkS7`7e6r!wUm<MId)V1*5Au__iF@Pa^k4T zvwkPO<L`%hmo_J(#0edjY-1ui{X`$F;%M2x_n_a)qPF&7m6LK<*!uTh!>h#-9Qquh zye1|#H=3qr-rr_$%&c*G>P4PUj2XPG6%6Hd67%E=4jyjV5w_*(5zZrzx4OMQ9^<OK z>B&!ntT!r0c%GKWtWt3~r*~@7$u{GqIe$~`2X?>tn8AH%UBn&JS=#-VvbJ|JckW;J zW44aRUzb$tojVIxcD^}OS~E3<?YZ)afDVEAkw(s{*B>#JcFuU4!e~3Q?T6LGvy0L% z7mB}3%)2(P%3_hywphOI$2XVl3xDnVN#{z%C&@{FWzT5OS$878GREfB!r8&4M^+mZ zhHlIYooPPdr&MmqL%q)j#g=ZmX0h7q!L<#FE5ql^i&{J}x8Lx+iq`#ti(4j7-k)in zldifqec7G36XuV!PaZRmYnylT*s9K&mD7GGmZy|vTV7pz^3^HHs~7Iv^K0#FQRI|Y ziai#mV|Ij*p`)qwT$5ZwSNZpfy&RJ2;Wn$^Z7Wh@Z%(zE=ofla&|yu}ESpV_ivu72 z+jc7RnbxGqos%B6@~T*VU$;R$O6~ZC(y3~DSNYjb78i?@iM0ue$<a&fn8k2(7IW=< zi>CDpJ1$)F6zP^c`Qh2ZG>)4W1Q*!+EjWDB+M8WtL87WsuC!+Ad%Z26&uDc;&MoFt zjEUWLfssMvl=RvS&O&+#yr(MSc%D`YMnp0f8@;?Ne9FBuW^dqIZt2)6xy=`Eif=tW zD~>-f%<c1uoyWK@6`7p%QL&OzzZm-{>9kz6`lbHxMP_SuzEf#AZs6c?%~Y60Y9Z&$ zs1*_BbIyE9TX*zu&rIjTmxQ;hkuGn!&dlX>GcifPft4-tHp8y7t3OUJh%Em9sv*kz zvfj>D%d&*!c}yp7Keo~<rkOYQ@bpNIr!V(iIllIORN2d`J*u*LHxFz1#a>;f)mNE2 zB|CJBz2eKI5f6$CcQ!6c5Ix(qM(TG`!kvkh6Ju9)%LMDCK7Dy8P4vo5^W;9qG#|<3 z3fi)Vye+S_3oqTSUfeKwXC|M~tgl{q%}%+q<U21cVVI*;6(pc|#wj^)NBV{wpTLC& z6;79VOD;OG$fcveMdFn-pL}ZJ_LV7b<#o7!vroEm-D_{Ce4o`(%jJFPVSgLz9Mqh{ z+A3;t7xWi;W;AklJ=nlCHT>qqU95ca+Yaj;?o<EUpzQEfY(>`Lja!yn%`lHzz4mX$ zp63l2-oFI*%}Sk@c+PzG#FgHBr!JNpxn1^Kd^=B4m&)vQ%8sx8&Q;c$Vya`wX|Df9 zLbms@a%sXQ-7S;uX|EUj^r>T#%*2&C*-t0%a?8IBNWJy8BAM;5b>-~li6>XEDR+Oe zmhTY^6*w37weXgy(!=f2%b5*tX)a8hwBxig*RQ;GPsy<Ta~FE0`tgQKecdi;boNWZ zzo~0Cb!d3{ZaENBU+EW>aeBQ7Uw-LyYpq)nR|*yhnhGpzbSw^VpSq+sUgLM#mk)xM zCl*;wOn-fI%O|5oKF@;JRw|CC^piKN73Zp7Vj6aJOU>zDZ$9{2GI{-u|1wiEvqV?@ zyh4%r#-3xTj;m`gi}ar4x|N;whC@C~*lJOz%;IOAWp6b4xBjq7+afINcTj~bw)FRs z7q6?9?7S1hz5dpYzuUKc+?CvN`dp9i^$SnFIA312TH=+*&k2&|)ka~PHnFYX=_^`t z{6t2J<CzSn<{5|QG^G^#$a|LXd8{#u+8OB@qS)(j#W?xP1fQJLHy7QM*GhA7I&__s zd+%;IS!S-rszsaAa^0ufTCW#B=axTN;EQFbPr&lE`xdS9Nvg7r);)JTn&V7skD&Ly z#iFlcH)^btY{`9b^|A1(#o~+B{JkXTC-!93TJu9EobsQ~%&E+i`C@Z;%kuX%hg;^Q z&9uADwXnWBjN@-%7{}LNDzcNSPurMo*S&ePP0lQ)wI{WwU}F7sIj0W~W*k=Z{Fr>K zH7R`mhDndtO<y6j<ZTL{?EC%K7(3J7*srWwnqT+gN4Ip)`p#>G7e!a?nlf+h`j*`n z=AM1CX49745_+LUHS7nnI$PqL174M~EECvU_i5e^+2XB>FSd2K*;^^q%=Fh;67-p& zHK(1mxX<n7CS`Axt(y5Ue8=v3*dLYmX!_aJ67(qKykPuOzb+rauGb!m&upFB)$Osq zV}9Y6ya?~BrzBUuwLLgZ!&61Kwz&M_udB?f*32?6H`z2b^=h7K`KhzET7H*qr2o8r zgg^I~m2u{&hkXmbo_I9p3d@Y3)<Zjka-3Hk$lBW8#kREW&diI4!yCWcl{U@#T348L zZ{E-8J7d>%T2H>(VZ3><o|fC`nW|?!vy_hpN**(PshP?jc{$UGv8r<3yJwT^#H8*C zm>NHRB2a4TQnyNIW##ns>M914%f)RLsmCuBOF1Qc;rXL0{VI|DY$hDX`!-IV`RBvU z$T#yNb#5q4+br$6;;>^K>y&?sz8p9y$2up$sbB0?N7SuM_Z^9oPH9zb_ulXS_~q=9 ziW+~JdApu2ZuNV1rSaK@4-v<Myp2U#r)BOx7%7=~t}s>F+{KS&iT3O66Y@{n{z#l# zvo~bxqG!H;4CcOE(0#MqAj^S=?I_26jvvVuW{uO&x2WZ1_F8ZTuWJxlX41P$HHCAZ z&GP5RCo~!cdhnmznJc@@|0t)v#j(fPeGmVcB+szqs6Mv#)QhC8pFfth=U2+A{jAtn zr~CAJaNVP(6REAbJtvHIORm3d5vh1kN<4m>&3<w7#w|>%h09NEwio)pGR~*uLvZ_H zL%z^U??UF*ELUuNwztIP{!YhVK3P6(GRmKCzMEdGdiSsL^zLUmw#g#1wgsLwuF#nB zAjbRL%Muq^zMps5tUadqD_+WcaZ34R#-|ya>N@)#GrfB8RpmRIb^f`<%`V@=t31Qq zWhbUjJ1%ujPW^O^&a^`IMOs<w=6JEn_gW`0-tc1%_ccAvUvta&_X?wn(lt`05mu`5 zUMHJ3d~l4PyOHafkMEzg%PZ#EI0-!!oODH^UrBgpvQ1LK>cwo^xBYz(mY12)x<tun z7b~+%f57`C(lg#ow@GW5p!xr>S020S@)fM^XU|pHRs9UP*RFp0iTl|fEM5{VFQQhi zQ#+gfZe398+|Bp<qgU{-_r$5qJ^6Cu`z^aTH1j7{MXXc|>b$jbrs`EMA<o!Mvou1L zFH0m&T&Gz0<?GXj9!Jt1^!T$X?2Rmwj(Fi0_$6m<(i~BaX_e)L_Gea{Sho9Gi)rM# zX&>Atq~smCkh!yRj+d*(MN=k`)mxTW{!RIMFmM~|!cEWlC+o-ET%0Q!=b|dMX7O#Y zxz|KmA5UN5Vj$7d)VQIdC7i8!<<o--5i_FZ&5LWCtSK_tWjf;&;S-ud4DJygcDBBr z%N|ItR`V)7T5)z;Z(LI7b&tCV%b%QmoSvBYWXidlDw9pF`AoU_<J0NOW?`EhbdyRt zqm*=tOx`yvzUi~RYVy0(So!sw`CLC=yIAEMxIF!;WhSq-WjJ?B`S&b)v6V+vK7E)K zTC?cC#2?p8j?V@TN)yi>7hE1OgK@%rukAi2C%nx)($my$T~>WuV50YIE&Da2GdE2l zrfO}?&rx?=ES(l~;&0&{+e7A(i&Zk)7&7`~#D81%b+=wn_ln!eYV5FSa{g`^4b~<n z0~yW5l7WY(@Hs4FyrQhUsQlc=N7Aizb;s{mM9$yeD-&FO#xV3tS7V4@>dSlQ3SDnk z1YPTk{kHA6i)6uyz3y^`Y8x93IzLa~v^n)mKDT80O7}0jCRVH3zt*_y@hojm4a=I9 z(o=3!TfHpezAo2!Ei!J+2XW_FUQVxnNldemP&uD5IbfI1wJ#!tv+i=2?C#uR%@tW1 z%hlCY)4aDhZm+}FPqhb6|61+dy<*S2Izip3va!a2LYZCZK37+-s%YJF)<*Dg$%@(* zUD=+fM<<_r*!TCziRzU-%WDK{Lbj=Km8$Rgxqi0$6GPYQFI9G)-%xAn{p1TrOIpo^ z_h$8CbDdldh#6dGxb;$RdF8&e6n%ETdrO3`D=0s?-utsY_r1eG_jSTTu_yP>=@gr0 z`{SyU!XC}XyIJkE7W~lU^1gQAqG;Huo90?8blc>vc*MNlxQ+S4#cL1Ko_xLF#u4|H zDgGUEIUjq&I`-fVt8<Fa`0uQk%ph|2mFM&OZF<4yev7;Hm^;QE&@PYFDZRFa@6El| z9nlV&u|Wm=QcFFr7ge?X@_x4X-OZ{mu_vZq`g-Ce|LcPlTLmiKI^D^er<Aw6LCi%% z`-+DL=hkbhE%x{?jQh~;XT5L!U!SzBiug5cYo*q2b6zoPPvB|!XUa0_(TP>3&wA>| zKNnA6?K<Vu-@9R|bN=+AyZj5gxL)U5ysBMRkjZVD>9*1#RqzmxS?#{5ZabXKFKUZ7 zDc?zqob^BEa<@>;>$=(x!RF5o-G5~{``@|V{ZDRleVv+NTO2U&)1t1^7ngb;O%>T; z5SPi3DPQH@v+wB@<;&p-Rde+0t{rwas!j9dS?1L5^;TKnsEF=g6M?U(b5{iyzw$dA zSr#^D+2x{Jes4<VxX)R4x%k()RmFEKAI>T9v)o@&X8qlwddu1j{rfowmK@nElkZ)9 z)_dzRwOu(}b&kPhQ}vCODr?R9{it-=jm+6i`nP4PWEU8{imK;2RM?~=aWOCEnFo)r z>$cO+%DMYy-HdErmE&ssuqZQM<j9YR+dT!leq1PN+4gveMU_>b%+_6=AHT55#i&hw z{_=*W{&JBes^-g;3f3OftZ~}YzvB2J-<6q)FMr5gZ*Pgy-oyTFrX=^($$S3sc|Hu_ zFc5ra`{*K1^6}QCR=(3VnQs?Se)weRTh@8LnUhR@mN;x&wD_!odBK;LGp8TYINek1 zmnFOW;)`h4Vy82#%{F(my6$c>GrzJjCc4!iJu`o!G3TADM>H<k?Uh)dvgmd2$?u8s zk9SXgwnBLNoXab7o~@WU@tnS^yhO=|YZLD*?rj%h`LaY{(tTS=L(c{68sC<EIwAS% z@g2!ki5ovzW#+in=kVtn9@mVXe<RELy!@lq94>RM=PYf?%k$M%2JSA=**CG_q4$o7 zw+{wRUNZGofwjb|TR*fT!^)Um1g@0apgz~zuW|kpKStU98O+-w?#_Rpv*V}@uOYut zmdDwk%h}h%KDy4I!TBdt=v8gI!tph!n-{;Uj@4yc#rf5B%jWxg#m`-zs&XmTCn5d+ zq?)CZ<o6yit9i0oa;@E_GxK+4co(`l>%G;8sJOUd&C@?Vt7jG;n7dl$#!q9h7TE;H z8;;-8yV<AB`F-J3!2as2w|3>Omiu+&wzM-w`3VX+cG$d->f!2p$f)Je^VBgtr7WW5 zM^W9E-9Lrnw&&J~zBiCNQXI^6)lK-{0nIbJlAk>|BRj3~oXg8}?xmkL)cJi}xp~9x zfY$u`++kemQUx51Efun{8C$CVp5XQ_zacuOq4!&siOjz#GdKS(@O!yS<ek6pYKitQ z%lh7n8|s})w9NWd5XM&=*v`VfSiE$`&6CeA+|0JpxF)-J*01E3`feLv=<>3~DVZw< z%O92P{{MR6Rm&gwV)b=9@-y9eOEXP;c|R`k*<mv6-i42{SsGj2e`Y$jTsFNlPegsg zv#WNM)21cWDQEKNPE9S_7vyZaSL)SE&mdi`#g`WPs!wrPS+itu_~nu>t8RAbgq-eJ zu63X3TBDfjrCBq6*4@l>;Msb)=V5VK?8N4_z1d}Tib8+BUzox9PHN&#qd87G>Zbaq zYD_lDB(K+V-rsRmsmF3@KC6MjE7mx5s~4r=Vb)KdPWt!q!xOFdg(uzwS{7{DQ&)NJ zq|tlNgf8jh9X0P*l6ca%SF68&S{A<W`wmwDiSmcL=j5MTEWb6uX_M=UJ1$96CQVt@ zlq`IGu~>;QZ~M~|za{sC_su@8oSm^wCplJf{d(s0qNYbbEcWBSbSlFzrigiy(Z(1n zx3>Hx38MEOss!J$xwBA~ZwYgC@l*K{#g<3?F0U5uz2NyoS$W>;l=xqle);ab6ga&` zY0s_R=$v`|`j0Gf9j3W`b$G!N^EBg8?>%FUk3|!gUUKbzwl6hXUC?7sxYwLsZiBxL zLTc6DR+!xAc23PxlXP4w`?G9e(-fu!8#j5b*|#F3dYaax4-!`|RIIvFaQ$?YN@>xD zjANX|hwrX&+!tfB=ibp+#o5=G%Z|mJ@O?I`a{)Ww5%nGHr{>w1eo6QuX2@uF>-yy7 z+N%>~=NE>^mu$`I-X6;Rl4YG>?iB&2NkwkY<fiYN<C$;zJNDx_gR4LN-YKYZ3TGz2 zTjTK7@^YTC@216vet4z{)p)19eE4PduX~4CL(;Q<tp2+q;Cs~pM%Ro)>8a_5ob27o zJZ=dIS$^bylF|O9SHk0Ci1QU;%^3?PIVB|S+`WtIwYC<6>zl;l3o3%4{1&<|It9&y zkADq_Gt-oqJ8Sdiz1>0`?7PmsUzEOf&OFyIn^)g`R<?K5(q&IBB<{V+C$&(>MyJeD zM#R))`?a}AtGrxYL%U3OnSZJZd{UiIV|MqL$%dRuH`LU$R3|GQ|B|M~x*=z&S<cb} zF`kS0#ftjA9uaV8ULP5={opbd3n^WmRTb$+eM8G6SMAs_$6(v$qptbirhA(iY-!y4 zWF1d?-O5{fC-;_A-I}EznQ_#WRdwnP?q@wKEW!jUm`onAX!6br?LYpx$~9`a=Tf89 z8H=ahSBrc4>Wq`|%Ufc7rI)`=-Pt1c=I((gKDI;qK0H*L(|^)uh22u|Xzy=LT9%@Z zO$>L<;VN}q@vlzsM!{jDI{WkQW;Gs-Hu@}aC-_sDis!pu6BMVv<_u83Thp~hLh*4{ zs;br0^B+#kjppWmx{z`Glj2S;p|**EYl>ogZt6WhevWq=-|04=?~ilW3-5ZEaNtr+ z+WZOEKQCRmFXQ&~i=uW4OXEatH6M&oJ+UT6L1y#G)rYg3xF$K&2%N5}vD9+s^gb#x zvoM>XbiL?V@q63y)LdUFeQw^Job*z2CBM|osoR!sVqNZP7_*B@Jk|VC>T35Tb55OE z^6K%DLy^iWXPkN;AUgf7;j4(1{}M|z*F5;t!L`c8ZCc3Jkb+fZGUuj7pIkXdbK|pJ zAAj3wrW>q&w#421Yt+fBhD)+eEnL~P>7wE0TRz;v-rUCvjDl9$`bw_3_QLT*T*A$M z@27W4ctXltrda*$J>@l3QqZ^khTz7u4cAg5XA3%Qni^Df(D-E*`zF_2PZc*>82{?{ z>L%g#Hd5bV_hepqe(sZXee3H|m?DlheSb9To8Q*vyIIk?k2Y^L$xTRlcEVif5<|41 z=o-nVD#1L03oiK@z7UC1F1Os~s=KuD!S0;x0cJ}W-KVquU7T}F*?Ym#3G<CFRd>Bq zd#blvCdGF7k9G6k{66~W!NN-q79Kt5?9I$xUSCu7R{i|OHIn!5Y!3?2{(8nG%3pX9 z&*ePj=zC$adNl$kc+Fc@d;HBKTg9o?kuOiVf4=Ed9pTn-JSWiWeMsW@tCF`q?q8C! zI3i}w+{h>my>n;(WxPDs?)9yyA?;1l^Ct>fyo)9`|2NFo!tR)TA&b}QucP{gx3ato zn~pgNKIkerx-#Up&5X#u!M<-fXXd!<5SaFPa<F|w(6w{%t3+(9W^rvg)%V7)JkK#} z^EBm^rrJxtM(jB?|IM@*ecvVaOV1SEiptgQe0oHy`;GQA-?j}xk2|fUr~c}(UVnRw z*Rz|>wzHzO-)%B+?^8Q_<?EW=Mz(toIk_KjJi1=zoIdZ?RT`$puXMZ?G5$OuXt~FX z0IjV{xAYlTKPc0@TDB$D=^n4!^3y)|MV6l5H|<2>e#H>;-s7^zKAY4>A9~~OF{3?` z-}IE4v)@6rxJ`E+Xv$17V!pi6O5Jyj?Ax=mI;<x7)}~xNetdpa&^j5}6?+!w?V1!H z{QS7s+8w=@I2R-=KOx@}=j(aM$&97CAavh~iBIH9<uo2WpZI^XTYbuxgFmLf+`%Qx znib;nu*sOS``2PMf4kLA!VV$Y>ary&FXP-olorg$+qZd|jCo+6-jo0A3BMk?`+w8^ z<+|aePs*1ViLSiEPbQYcZpfXrXzTY2jxu+f3vaA23kW#ETi7toa<bwMeZIwila^l; zklE?V5_DW|YW<U_kUgQ_B%L=&d{u2*{mAd`rS2_xC$k%Q{hm&nmUR8o_5H#-y2I?( zdHUMz+%hfbI8z|EUvdDmWX7H;XHU*D+p08e^On_*dQU9c9vRcd`Q4|}_ppGJ9?zaY z_k>v!WfMOwP2L^1xAT|S-@FeyAA4Q)6}yv{czgP!-^*@Yo`1^c!-Q$>n*XnED%a-k z*u=5eY}4ND{e}~-zK+oRVm5njzi=+c-8$Q+Rt5sgd{cik{S8g)nB?i;yu<8_r2?ml zfv*qOe8VdBd;3r8S`;i%Wskq#b^OMI55+SUczUbG+!mR0<JhUqg=LHGalD$kBwdW@ zqfPStiMGv+EdB5HwI5{XQ%?Ob>+gKm<zihWqJdNPS+@Q&ki4mNsLZ9}o%OEwbw0CJ z?yU+ml$rkj#KXJQ-#XQ;J{@$>(^6aTIMBAh!rWLb|A>d{@$~!EFP?w*G<VA6dHdqY zj53j}eGlqH);{9zoUuD}-^A{t5l<eTo}fKh_O!wEnxNO7+4aZX`k#8bpw4i5y5@xB zPVPsN&NkBLSw9Q5D~V=zxds;c%(+%{+r=mO-A{q998)4cYvvowXiEIJE8zUW16CzJ zUi@?ZKC!BuLuYH_+#URV4~@R5f0wU%P>{FBq$P_xdxgW{MFKx3%#)D$I(0>Zid@+< zt&8X8m`v?h&lm7uo{PSl_taJIHtIUK=LR)*tu<0{eSLpb!8sM#DT*EZ*=j-`S|-m^ zKI6F1XXoRE-c6daJQt+SJ=&zOzM^8PmtyM1lb!jIRWq|29sfwITr*EK@Z5>lNq#>B z&shl7bG(@EIqRm=M3H+I8tfX1RpM)RX3K8tY|E0?=+&&g#In+U%Dj$A(?dd+x25e2 z<-2<;^P>NuqZO=~?Ph89l00`#l+KKbZf@MUL+s1equ1pmCTj6A8>g!5j@`$&^UE&o zGtV0|bxigez2AH(BBjbaJHYmDpG7v4!s*izGZYW^7cTz4ZO6=Lg9+ijXZ~c&IIXj4 z;mj%L7X}5fOtdIdX;1q(Nh(ddAp2d_w*8*VXK8)P)}DU#)gkkqghlKQ{D%U?AFbGU z<*9dc>BML)8-^npPu4BURNqv*?`7u8cR`a(UnHK7o#V7S;gf`E>!$msZtT_C{BBA0 ztc|OCtpz(84E8UXeD(IL2%Fk2^W3*PF7(_sxNswW!&9-aiB~e`>djwn7o+t+dq-Ss zMwQYfH;zgL=1bOvoq9Hx3i}PE4hQNb>~t=h(td8r*H(ivZU?s;N4Kw@ceAkJ@`gi` zgEswor>-FKBi`b-i}=#zGC5++jqfg>H+#`Oal4a_k>5d=N=g3X8@^T@ijI5mMEiB7 z9LwcH7A~?kEbDsDdfJ?dD4MX5ZR*q&9@(agpJYb8Df?t{*L#jo=+e}L71k_UvmTq) zMXgb-4Np}K-t_J^*YcuCPfsl0BK6#RhTB5Jr6IF+e7bf~BQlh$ThmSST26^)rqBeA z?2D%gG!2hU{j_<?E<S#q$DVBuF6{9=f9CKV;nI6wW8+xQthULFkkWq}<hT0kuP4*@ zU*B=$v}MC`6LF!yFfFIf=|K;5IK0%aZ)Liokg@%%md;N3aK~3sQu;PMsny-b?rz=| zSG0D|V{P-)`?39D-_ra_0>v(<p6)725Zc{!|DHij(w?*Bd7bQ=(u#U47YS`nojrZe zz8RZpW~ZGK{dl8#%Cg=IhgExLMHgRhJ7bqON6?=6!)38gN}0VUW_8MJS*o=DTA9t2 z**6o@YwaJdbBeq9BD8ncqE_9-YVlhpXqSiV3bWg=FLYt>V=h(s+XX^O&)2S!3k~d? z(t02&(=u;Mci6$8yo&1+{5}>h_prJuVas!D_VVb`qYJ+IZ(PGuKmAna*BMKfSw6h% zqZw9Q;%n5uU*}=I`<suaVw10mWffh$qWUxA>f%4*NuPdgdv=Yj`GDZL=2a&H7T(y< zv+7wu->#0O0eiYs&n}5tI&Ja1fa^9>F75r@q~Ejq;m2AFufUTv)7oCeiXPpTaW+5U zvvi*F-5QDNVmA@x;<b-{S_*Cd&s!9!-pO3qE^l7_#eMSsTy_6nPhXUqmw!t$_-{Vj z>e%9I|HF)r*9h3{{JiJExAP{Ns#%NK_{C3{6y2N1c6I*V$A#ik=RG{L<JRlrYne7F zv-*EhE)e<ni}gY8u2>6^Z%c%%Wgq?65YiMRZEI)Ac%{!@q~Mto<C=x>FU+GR%=MqJ z$Rab`<%o#i73G(?;=vVf6`X8t^tBn3@u$it?tS-#v*+s`_bpXxn#?~}xP@)gn^twh ze@)Ti?e;4}j~V>txZipuap(K_KJ_!$st)g-m?^$y(%S7k=Z!udbM>B)d2r6NSy$aR zPI|BR>wp6Lp;sR?b_dN=ci*11IO=;?Y0ocq!G*%*k{T&|r}9|(yCk(Z<}v?Q{uV!H z=~5py>$q2nvroUecI`5=)0Ky!Ds?aYS(hd3U&r?+Y2W5Kt#a}cHY|8LS8D;|vqPOb zb~ja=SiEJ<gr$f6**$C9DzQCk2m6ZUN^uV#&fT=U+%{%GV#uLp!@6BfxzFcplU!*j zk;x<-zu9tHk^YOtl{XH=X{coue7o>E<NmhORYz=QrChtWCP}I4wV0*G-e(>TohGI` z_c<Jnco(yDm$9+=52eMY#3i@XzRVO`ol#*B8l~(0CQ;aUw)xGR1k2{6DMl|eq^Fw( zOusv4%kj)zo8r9|37^|h*?N9K_W3zn?Ju3P!?Kju#ee#{zLPtBiqOwY?uREQJk7}F zWE8xT{(DpJx<|h!-T5t9q`C0?)IV0$CwD&+Sl+tl)~BL(n{D<SImFo&_U*z-4-a+j zHNOlzN|)F~vfK<TZz|OF*;?2l|1zi5{ao@|#+#Kg4|4@AKOb&CW-DWPEz5QN?JGy5 z{6e25Tlri!`uK8Iwp`S?P6Pj<7t7@eJQ6=nn6Lce?Zs))YL`0QqLh~Uw#Wtfmn4~e z6Id+!?6$&EomW|Q8I#SwIi8dLZD8o1RZ)4?ZtnU=mw#&Q-mx+>bHcA5EwX+ae)vgQ zc$OGXt@DUK+WzI(>3>hOre`mW;5;Vb)wA&I`-f9GLzlj^S~fqk`rf(5C*{Z6yO{oS z|L{L_`p)xha~4MSbI$v7cb&M;$;As5dCX5tOq%GZ)f@PEd#RFV+np<sb-zE(Uh+%% zu8D^K4av-TXX|+X)Xe9JY<_vLB2z~7_BQ4qJ)M2hx0gz?e{$LE`MJB(j$uPo_yhAV zvw1EpUHK<>i)7cu%W}Klc-OE@nr!EOx#rT{Qjdrk$DZ`3Jz01%^XJ7bVTtLChnbdc zlDN?y-q^C}*Ho5=JXhatu6zEyB=@+1;A-DTS}OH9CXajn=NIgI`at5>hV6z{yQ1bD zm7jIpT*~Ik-H8HH7a~25h2-tryy#v5SHDkqR%7h8q>ox=j*@d-if%_|9DS%2Q1`2( z*{Ew@+tG{B+wbVsF1@XHC4A1V+Y=tI)jN=wT{7*i<#NvdQ6JXx{!jXGy|8tC!o%BK zo0-;HasJ`|^-_$_`>R<*#pW9shbD+;9g05i=Fi-%lX$ksdM~*pZQ8grP%~?($`y}K z33apBdtLTFaPf_tBF6l3&*WY?)fH1eFjq{BdU?<J`}_ajoxjW8t$lFgUHlvSLo=gq zWL;!^@jGE*WL{$NnXZ6h0|B9JIbI8|HZ7`u$e|;!rDx`>15X#tk&{qL6!)K#@XR&W z<x_K^$GTbag)bv#e`%Ri@-9bM?cAD@jD(w0pIYB_pCk4!^N@Tc8{?evrw`xs9qG(F z!80fJ$W7Ndv5EfYY+rnRopElH2E+OH3s+aMChzVFzIt%M-pMNSatl9XclXP_``#+c z%olNtVY%kNZ7wP$N{^yq?ma!HA8|EJrhM%tQ5S>OX$qBB+iq$InS2&9F?94+%Xq4q zk=Qg<=w(QTpE^HhxM+znU(6xf40(x3Z!*nVSno9O%=v!jqUHk~$;J9gf*-nX&ij&o zG0>6UNnk?1i;=2&+wBsLnhUvxKa%<5eRqd$Ij+0v8@GAbhvvNY%MWK9nzZI|;QD(j zzCA42)FT#mbn3)_-emO+Kh9meI_D7Ex!B?h_g&+TBrd*wP?#ah@w7mu*u86hB7S$} z_;{b6yfkr#Ud;8}^BJ~pTTdSdlgnyL(*3q<d8v`2KZ}D+gU!GGpSu&5p5fj4+M>I& z(=qa!oK=Ou{;4-(YZf;%wo9uoR%_McH22J%$^Mn$<jz|O6AC>#Vt1bYdyz?edq|v* zsKj<P%?%H^9DDUP9$4IFQofwy+1|oEmx6CCI(@Qx&(p5Ce%m6V=gf_biwa^15Ak-n z_&BrgMd_ji4^6#2_ue&4T7UZ5-K9S-{fS+XbTj_#i*KtVD<;*ICacG(y^7hpAnExs z-D?Z`4hk7?{n%wVvEfMWTD`hdp(r+Pk!#l(ITZCRKh3)|vnB21o_56}C%V<P?$Ij} zu6%ng@R7vzFE(@gJ)`vJrB>~lbhu*DyB`1S39l9=mqc2gFP_zZO}fd|yZm}{_95-i z+uUgxHz%E2(vY$$dZ9t!3FqU_#dfJ5*`4Wev-{ij-xWp2jon1giMcl{abkY<{K18_ zkDCAd_$l9UN<BF(WZuls2Gi&6K4GV_HFq`XKL~P>ZE8ErWfrvakx!N3^$oMGtQUPR z%FFd&>C~%RJyu-Fs<w%nSiW^`d%49HUcUKfw|=<n<GX79VGXUxZ*x*zxD9$%7Cz8e zoR#9%`!~zEKag))zwV{o64yR&^=Lg7wd%#m%UaEu_e3k)<@LF9oiFRHJ$|6=CC|i3 z`QaaGRX^+~QIy`aWy_@WXH(`^9yXigJ$18Ae(G+m%DgG>=l0q3>{xNo$}39Q#(Rlf z_o0O>*$(#<ZS3wOes;abx&HX}ii(Ep)!iJ5lLW8JtqEMk>A&E<*k9FKyKI-M<r=TB zW?8Ov#xm*a>4zJ@rxM;+`#Yuf+xGs$OkCWn;#&mVJ*O^c>&)EsCMB?p;ppnAa|*;` z#hqKPJt@)uyr=wxOoHTnbB+uPm)-p9ew|yxW4$x~8duZesjrg-r~c<vZ(ea^gEk`r E0N<+bl>h($ literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/xregexp/LICENSE.d64cecf4f157.txt b/static/admin/js/vendor/xregexp/LICENSE.d64cecf4f157.txt new file mode 100644 index 0000000..341652a --- /dev/null +++ b/static/admin/js/vendor/xregexp/LICENSE.d64cecf4f157.txt @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2007-2012 Steven Levithan <http://xregexp.com/> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/static/admin/js/vendor/xregexp/LICENSE.d64cecf4f157.txt.gz b/static/admin/js/vendor/xregexp/LICENSE.d64cecf4f157.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..37d42d4865f23ed7102384bf934cde735e084f4e GIT binary patch literal 679 zcmb2|=3oE;rvI@)ce8IB2-IJXFMP6+RsZELBaP$*x4e{}-Ea$=_4MM#sS$@aHZ3)I zTfg60J@@5-gm<sM7pmWtityrHxz_hRZ}LX#eY|D&*><eVfB5g+yW`t`?|%P1fbDZq zmB-m`-rTE)&zrS8KAiK-YR2A5Tfgk`8Gn=37#u!Wl^@H0%{iNGb8YkAfUgHl1mCbF zA9%YUZ*^k65(nR^f4qHZA1oehTexZO+wTF6y+#scZDNUgZnqYjO624%_;l~;HYb~m zm|CkDb|H;F%C;HH<uO^!nsUAK<XewRGgc*UV_&s*`hy;~JDLX)Y9w-eB?NEmd*{cS zS)pJ4Enz*6iQT(n#w@m#B@R}~7CVl;dy(%Jef;va&HH*6Y-HJM%j#3*)#u%J;`kZf z2fo)0T{f(!{_<;O-W$c2?ok;#)}07`c4yb&aP@1O?`FQ3c&W#@_wdx-o_b$d4d=Jk z*Gu2|T+6y{K27E)`!SPgtJYQ<E}nk+Wwm&~D_17j2R|yWW}n<1di~(F81c3}+tR00 zZ8sL!%U@9uU0P6b_{8`9XEi_RvrPFJvwo+Lg11J<KONzT2U?~}_$x(t?>!MNwZZwL zPrkx@=JRGBqSHKC9{DeHiF8^wBSvhc$c)L6bJhvXv^}VNF4b~he&>1_$5K9*iq=Vs zR5mOP_{ik^Pa}Axx!`Q?xq{DZ!VfHb;B~rUY7y&EFVRZP33iS*eA0?rb&@oVY+b|7 zG*%pAIK}E8yeO%r^_A$$W($2YFFRcmolho$GipRu^w=+Z<kY(C(UjAvES&M5)D8Wf zb}W+E8hhnnm7<1gjm-Xt(>BV|h4V676I=AA{*#D39prLgs!pb2@l<_fx7SBHYgi8M q^oa?`xccF#(haANt3>1*CUDGC5}T*~yJ(;0Z+712iU0js7#IMe|4A+Y literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/xregexp/LICENSE.txt b/static/admin/js/vendor/xregexp/LICENSE.txt new file mode 100644 index 0000000..341652a --- /dev/null +++ b/static/admin/js/vendor/xregexp/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2007-2012 Steven Levithan <http://xregexp.com/> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/static/admin/js/vendor/xregexp/LICENSE.txt.gz b/static/admin/js/vendor/xregexp/LICENSE.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..37d42d4865f23ed7102384bf934cde735e084f4e GIT binary patch literal 679 zcmb2|=3oE;rvI@)ce8IB2-IJXFMP6+RsZELBaP$*x4e{}-Ea$=_4MM#sS$@aHZ3)I zTfg60J@@5-gm<sM7pmWtityrHxz_hRZ}LX#eY|D&*><eVfB5g+yW`t`?|%P1fbDZq zmB-m`-rTE)&zrS8KAiK-YR2A5Tfgk`8Gn=37#u!Wl^@H0%{iNGb8YkAfUgHl1mCbF zA9%YUZ*^k65(nR^f4qHZA1oehTexZO+wTF6y+#scZDNUgZnqYjO624%_;l~;HYb~m zm|CkDb|H;F%C;HH<uO^!nsUAK<XewRGgc*UV_&s*`hy;~JDLX)Y9w-eB?NEmd*{cS zS)pJ4Enz*6iQT(n#w@m#B@R}~7CVl;dy(%Jef;va&HH*6Y-HJM%j#3*)#u%J;`kZf z2fo)0T{f(!{_<;O-W$c2?ok;#)}07`c4yb&aP@1O?`FQ3c&W#@_wdx-o_b$d4d=Jk z*Gu2|T+6y{K27E)`!SPgtJYQ<E}nk+Wwm&~D_17j2R|yWW}n<1di~(F81c3}+tR00 zZ8sL!%U@9uU0P6b_{8`9XEi_RvrPFJvwo+Lg11J<KONzT2U?~}_$x(t?>!MNwZZwL zPrkx@=JRGBqSHKC9{DeHiF8^wBSvhc$c)L6bJhvXv^}VNF4b~he&>1_$5K9*iq=Vs zR5mOP_{ik^Pa}Axx!`Q?xq{DZ!VfHb;B~rUY7y&EFVRZP33iS*eA0?rb&@oVY+b|7 zG*%pAIK}E8yeO%r^_A$$W($2YFFRcmolho$GipRu^w=+Z<kY(C(UjAvES&M5)D8Wf zb}W+E8hhnnm7<1gjm-Xt(>BV|h4V676I=AA{*#D39prLgs!pb2@l<_fx7SBHYgi8M q^oa?`xccF#(haANt3>1*CUDGC5}T*~yJ(;0Z+712iU0js7#IMe|4A+Y literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/xregexp/xregexp.1865b1cf5085.js b/static/admin/js/vendor/xregexp/xregexp.1865b1cf5085.js new file mode 100644 index 0000000..7a4454e --- /dev/null +++ b/static/admin/js/vendor/xregexp/xregexp.1865b1cf5085.js @@ -0,0 +1,2308 @@ + +/***** xregexp.js *****/ + +/*! + * XRegExp v2.0.0 + * (c) 2007-2012 Steven Levithan <http://xregexp.com/> + * MIT License + */ + +/** + * XRegExp provides augmented, extensible JavaScript regular expressions. You get new syntax, + * flags, and methods beyond what browsers support natively. XRegExp is also a regex utility belt + * with tools to make your client-side grepping simpler and more powerful, while freeing you from + * worrying about pesky cross-browser inconsistencies and the dubious `lastIndex` property. See + * XRegExp's documentation (http://xregexp.com/) for more details. + * @module xregexp + * @requires N/A + */ +var XRegExp; + +// Avoid running twice; that would reset tokens and could break references to native globals +XRegExp = XRegExp || (function (undef) { + "use strict"; + +/*-------------------------------------- + * Private variables + *------------------------------------*/ + + var self, + addToken, + add, + +// Optional features; can be installed and uninstalled + features = { + natives: false, + extensibility: false + }, + +// Store native methods to use and restore ("native" is an ES3 reserved keyword) + nativ = { + exec: RegExp.prototype.exec, + test: RegExp.prototype.test, + match: String.prototype.match, + replace: String.prototype.replace, + split: String.prototype.split + }, + +// Storage for fixed/extended native methods + fixed = {}, + +// Storage for cached regexes + cache = {}, + +// Storage for addon tokens + tokens = [], + +// Token scopes + defaultScope = "default", + classScope = "class", + +// Regexes that match native regex syntax + nativeTokens = { + // Any native multicharacter token in default scope (includes octals, excludes character classes) + "default": /^(?:\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S])|\(\?[:=!]|[?*+]\?|{\d+(?:,\d*)?}\??)/, + // Any native multicharacter token in character class scope (includes octals) + "class": /^(?:\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S]))/ + }, + +// Any backreference in replacement strings + replacementToken = /\$(?:{([\w$]+)}|(\d\d?|[\s\S]))/g, + +// Any character with a later instance in the string + duplicateFlags = /([\s\S])(?=[\s\S]*\1)/g, + +// Any greedy/lazy quantifier + quantifier = /^(?:[?*+]|{\d+(?:,\d*)?})\??/, + +// Check for correct `exec` handling of nonparticipating capturing groups + compliantExecNpcg = nativ.exec.call(/()??/, "")[1] === undef, + +// Check for flag y support (Firefox 3+) + hasNativeY = RegExp.prototype.sticky !== undef, + +// Used to kill infinite recursion during XRegExp construction + isInsideConstructor = false, + +// Storage for known flags, including addon flags + registeredFlags = "gim" + (hasNativeY ? "y" : ""); + +/*-------------------------------------- + * Private helper functions + *------------------------------------*/ + +/** + * Attaches XRegExp.prototype properties and named capture supporting data to a regex object. + * @private + * @param {RegExp} regex Regex to augment. + * @param {Array} captureNames Array with capture names, or null. + * @param {Boolean} [isNative] Whether the regex was created by `RegExp` rather than `XRegExp`. + * @returns {RegExp} Augmented regex. + */ + function augment(regex, captureNames, isNative) { + var p; + // Can't auto-inherit these since the XRegExp constructor returns a nonprimitive value + for (p in self.prototype) { + if (self.prototype.hasOwnProperty(p)) { + regex[p] = self.prototype[p]; + } + } + regex.xregexp = {captureNames: captureNames, isNative: !!isNative}; + return regex; + } + +/** + * Returns native `RegExp` flags used by a regex object. + * @private + * @param {RegExp} regex Regex to check. + * @returns {String} Native flags in use. + */ + function getNativeFlags(regex) { + //return nativ.exec.call(/\/([a-z]*)$/i, String(regex))[1]; + return (regex.global ? "g" : "") + + (regex.ignoreCase ? "i" : "") + + (regex.multiline ? "m" : "") + + (regex.extended ? "x" : "") + // Proposed for ES6, included in AS3 + (regex.sticky ? "y" : ""); // Proposed for ES6, included in Firefox 3+ + } + +/** + * Copies a regex object while preserving special properties for named capture and augmenting with + * `XRegExp.prototype` methods. The copy has a fresh `lastIndex` property (set to zero). Allows + * adding and removing flags while copying the regex. + * @private + * @param {RegExp} regex Regex to copy. + * @param {String} [addFlags] Flags to be added while copying the regex. + * @param {String} [removeFlags] Flags to be removed while copying the regex. + * @returns {RegExp} Copy of the provided regex, possibly with modified flags. + */ + function copy(regex, addFlags, removeFlags) { + if (!self.isRegExp(regex)) { + throw new TypeError("type RegExp expected"); + } + var flags = nativ.replace.call(getNativeFlags(regex) + (addFlags || ""), duplicateFlags, ""); + if (removeFlags) { + // Would need to escape `removeFlags` if this was public + flags = nativ.replace.call(flags, new RegExp("[" + removeFlags + "]+", "g"), ""); + } + if (regex.xregexp && !regex.xregexp.isNative) { + // Compiling the current (rather than precompilation) source preserves the effects of nonnative source flags + regex = augment(self(regex.source, flags), + regex.xregexp.captureNames ? regex.xregexp.captureNames.slice(0) : null); + } else { + // Augment with `XRegExp.prototype` methods, but use native `RegExp` (avoid searching for special tokens) + regex = augment(new RegExp(regex.source, flags), null, true); + } + return regex; + } + +/* + * Returns the last index at which a given value can be found in an array, or `-1` if it's not + * present. The array is searched backwards. + * @private + * @param {Array} array Array to search. + * @param {*} value Value to locate in the array. + * @returns {Number} Last zero-based index at which the item is found, or -1. + */ + function lastIndexOf(array, value) { + var i = array.length; + if (Array.prototype.lastIndexOf) { + return array.lastIndexOf(value); // Use the native method if available + } + while (i--) { + if (array[i] === value) { + return i; + } + } + return -1; + } + +/** + * Determines whether an object is of the specified type. + * @private + * @param {*} value Object to check. + * @param {String} type Type to check for, in lowercase. + * @returns {Boolean} Whether the object matches the type. + */ + function isType(value, type) { + return Object.prototype.toString.call(value).toLowerCase() === "[object " + type + "]"; + } + +/** + * Prepares an options object from the given value. + * @private + * @param {String|Object} value Value to convert to an options object. + * @returns {Object} Options object. + */ + function prepareOptions(value) { + value = value || {}; + if (value === "all" || value.all) { + value = {natives: true, extensibility: true}; + } else if (isType(value, "string")) { + value = self.forEach(value, /[^\s,]+/, function (m) { + this[m] = true; + }, {}); + } + return value; + } + +/** + * Runs built-in/custom tokens in reverse insertion order, until a match is found. + * @private + * @param {String} pattern Original pattern from which an XRegExp object is being built. + * @param {Number} pos Position to search for tokens within `pattern`. + * @param {Number} scope Current regex scope. + * @param {Object} context Context object assigned to token handler functions. + * @returns {Object} Object with properties `output` (the substitution string returned by the + * successful token handler) and `match` (the token's match array), or null. + */ + function runTokens(pattern, pos, scope, context) { + var i = tokens.length, + result = null, + match, + t; + // Protect against constructing XRegExps within token handler and trigger functions + isInsideConstructor = true; + // Must reset `isInsideConstructor`, even if a `trigger` or `handler` throws + try { + while (i--) { // Run in reverse order + t = tokens[i]; + if ((t.scope === "all" || t.scope === scope) && (!t.trigger || t.trigger.call(context))) { + t.pattern.lastIndex = pos; + match = fixed.exec.call(t.pattern, pattern); // Fixed `exec` here allows use of named backreferences, etc. + if (match && match.index === pos) { + result = { + output: t.handler.call(context, match, scope), + match: match + }; + break; + } + } + } + } catch (err) { + throw err; + } finally { + isInsideConstructor = false; + } + return result; + } + +/** + * Enables or disables XRegExp syntax and flag extensibility. + * @private + * @param {Boolean} on `true` to enable; `false` to disable. + */ + function setExtensibility(on) { + self.addToken = addToken[on ? "on" : "off"]; + features.extensibility = on; + } + +/** + * Enables or disables native method overrides. + * @private + * @param {Boolean} on `true` to enable; `false` to disable. + */ + function setNatives(on) { + RegExp.prototype.exec = (on ? fixed : nativ).exec; + RegExp.prototype.test = (on ? fixed : nativ).test; + String.prototype.match = (on ? fixed : nativ).match; + String.prototype.replace = (on ? fixed : nativ).replace; + String.prototype.split = (on ? fixed : nativ).split; + features.natives = on; + } + +/*-------------------------------------- + * Constructor + *------------------------------------*/ + +/** + * Creates an extended regular expression object for matching text with a pattern. Differs from a + * native regular expression in that additional syntax and flags are supported. The returned object + * is in fact a native `RegExp` and works with all native methods. + * @class XRegExp + * @constructor + * @param {String|RegExp} pattern Regex pattern string, or an existing `RegExp` object to copy. + * @param {String} [flags] Any combination of flags: + * <li>`g` - global + * <li>`i` - ignore case + * <li>`m` - multiline anchors + * <li>`n` - explicit capture + * <li>`s` - dot matches all (aka singleline) + * <li>`x` - free-spacing and line comments (aka extended) + * <li>`y` - sticky (Firefox 3+ only) + * Flags cannot be provided when constructing one `RegExp` from another. + * @returns {RegExp} Extended regular expression object. + * @example + * + * // With named capture and flag x + * date = XRegExp('(?<year> [0-9]{4}) -? # year \n\ + * (?<month> [0-9]{2}) -? # month \n\ + * (?<day> [0-9]{2}) # day ', 'x'); + * + * // Passing a regex object to copy it. The copy maintains special properties for named capture, + * // is augmented with `XRegExp.prototype` methods, and has a fresh `lastIndex` property (set to + * // zero). Native regexes are not recompiled using XRegExp syntax. + * XRegExp(/regex/); + */ + self = function (pattern, flags) { + if (self.isRegExp(pattern)) { + if (flags !== undef) { + throw new TypeError("can't supply flags when constructing one RegExp from another"); + } + return copy(pattern); + } + // Tokens become part of the regex construction process, so protect against infinite recursion + // when an XRegExp is constructed within a token handler function + if (isInsideConstructor) { + throw new Error("can't call the XRegExp constructor within token definition functions"); + } + + var output = [], + scope = defaultScope, + tokenContext = { + hasNamedCapture: false, + captureNames: [], + hasFlag: function (flag) { + return flags.indexOf(flag) > -1; + } + }, + pos = 0, + tokenResult, + match, + chr; + pattern = pattern === undef ? "" : String(pattern); + flags = flags === undef ? "" : String(flags); + + if (nativ.match.call(flags, duplicateFlags)) { // Don't use test/exec because they would update lastIndex + throw new SyntaxError("invalid duplicate regular expression flag"); + } + // Strip/apply leading mode modifier with any combination of flags except g or y: (?imnsx) + pattern = nativ.replace.call(pattern, /^\(\?([\w$]+)\)/, function ($0, $1) { + if (nativ.test.call(/[gy]/, $1)) { + throw new SyntaxError("can't use flag g or y in mode modifier"); + } + flags = nativ.replace.call(flags + $1, duplicateFlags, ""); + return ""; + }); + self.forEach(flags, /[\s\S]/, function (m) { + if (registeredFlags.indexOf(m[0]) < 0) { + throw new SyntaxError("invalid regular expression flag " + m[0]); + } + }); + + while (pos < pattern.length) { + // Check for custom tokens at the current position + tokenResult = runTokens(pattern, pos, scope, tokenContext); + if (tokenResult) { + output.push(tokenResult.output); + pos += (tokenResult.match[0].length || 1); + } else { + // Check for native tokens (except character classes) at the current position + match = nativ.exec.call(nativeTokens[scope], pattern.slice(pos)); + if (match) { + output.push(match[0]); + pos += match[0].length; + } else { + chr = pattern.charAt(pos); + if (chr === "[") { + scope = classScope; + } else if (chr === "]") { + scope = defaultScope; + } + // Advance position by one character + output.push(chr); + ++pos; + } + } + } + + return augment(new RegExp(output.join(""), nativ.replace.call(flags, /[^gimy]+/g, "")), + tokenContext.hasNamedCapture ? tokenContext.captureNames : null); + }; + +/*-------------------------------------- + * Public methods/properties + *------------------------------------*/ + +// Installed and uninstalled states for `XRegExp.addToken` + addToken = { + on: function (regex, handler, options) { + options = options || {}; + if (regex) { + tokens.push({ + pattern: copy(regex, "g" + (hasNativeY ? "y" : "")), + handler: handler, + scope: options.scope || defaultScope, + trigger: options.trigger || null + }); + } + // Providing `customFlags` with null `regex` and `handler` allows adding flags that do + // nothing, but don't throw an error + if (options.customFlags) { + registeredFlags = nativ.replace.call(registeredFlags + options.customFlags, duplicateFlags, ""); + } + }, + off: function () { + throw new Error("extensibility must be installed before using addToken"); + } + }; + +/** + * Extends or changes XRegExp syntax and allows custom flags. This is used internally and can be + * used to create XRegExp addons. `XRegExp.install('extensibility')` must be run before calling + * this function, or an error is thrown. If more than one token can match the same string, the last + * added wins. + * @memberOf XRegExp + * @param {RegExp} regex Regex object that matches the new token. + * @param {Function} handler Function that returns a new pattern string (using native regex syntax) + * to replace the matched token within all future XRegExp regexes. Has access to persistent + * properties of the regex being built, through `this`. Invoked with two arguments: + * <li>The match array, with named backreference properties. + * <li>The regex scope where the match was found. + * @param {Object} [options] Options object with optional properties: + * <li>`scope` {String} Scopes where the token applies: 'default', 'class', or 'all'. + * <li>`trigger` {Function} Function that returns `true` when the token should be applied; e.g., + * if a flag is set. If `false` is returned, the matched string can be matched by other tokens. + * Has access to persistent properties of the regex being built, through `this` (including + * function `this.hasFlag`). + * <li>`customFlags` {String} Nonnative flags used by the token's handler or trigger functions. + * Prevents XRegExp from throwing an invalid flag error when the specified flags are used. + * @example + * + * // Basic usage: Adds \a for ALERT character + * XRegExp.addToken( + * /\\a/, + * function () {return '\\x07';}, + * {scope: 'all'} + * ); + * XRegExp('\\a[\\a-\\n]+').test('\x07\n\x07'); // -> true + */ + self.addToken = addToken.off; + +/** + * Caches and returns the result of calling `XRegExp(pattern, flags)`. On any subsequent call with + * the same pattern and flag combination, the cached copy is returned. + * @memberOf XRegExp + * @param {String} pattern Regex pattern string. + * @param {String} [flags] Any combination of XRegExp flags. + * @returns {RegExp} Cached XRegExp object. + * @example + * + * while (match = XRegExp.cache('.', 'gs').exec(str)) { + * // The regex is compiled once only + * } + */ + self.cache = function (pattern, flags) { + var key = pattern + "/" + (flags || ""); + return cache[key] || (cache[key] = self(pattern, flags)); + }; + +/** + * Escapes any regular expression metacharacters, for use when matching literal strings. The result + * can safely be used at any point within a regex that uses any flags. + * @memberOf XRegExp + * @param {String} str String to escape. + * @returns {String} String with regex metacharacters escaped. + * @example + * + * XRegExp.escape('Escaped? <.>'); + * // -> 'Escaped\?\ <\.>' + */ + self.escape = function (str) { + return nativ.replace.call(str, /[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); + }; + +/** + * Executes a regex search in a specified string. Returns a match array or `null`. If the provided + * regex uses named capture, named backreference properties are included on the match array. + * Optional `pos` and `sticky` arguments specify the search start position, and whether the match + * must start at the specified position only. The `lastIndex` property of the provided regex is not + * used, but is updated for compatibility. Also fixes browser bugs compared to the native + * `RegExp.prototype.exec` and can be used reliably cross-browser. + * @memberOf XRegExp + * @param {String} str String to search. + * @param {RegExp} regex Regex to search with. + * @param {Number} [pos=0] Zero-based index at which to start the search. + * @param {Boolean|String} [sticky=false] Whether the match must start at the specified position + * only. The string `'sticky'` is accepted as an alternative to `true`. + * @returns {Array} Match array with named backreference properties, or null. + * @example + * + * // Basic use, with named backreference + * var match = XRegExp.exec('U+2620', XRegExp('U\\+(?<hex>[0-9A-F]{4})')); + * match.hex; // -> '2620' + * + * // With pos and sticky, in a loop + * var pos = 2, result = [], match; + * while (match = XRegExp.exec('<1><2><3><4>5<6>', /<(\d)>/, pos, 'sticky')) { + * result.push(match[1]); + * pos = match.index + match[0].length; + * } + * // result -> ['2', '3', '4'] + */ + self.exec = function (str, regex, pos, sticky) { + var r2 = copy(regex, "g" + (sticky && hasNativeY ? "y" : ""), (sticky === false ? "y" : "")), + match; + r2.lastIndex = pos = pos || 0; + match = fixed.exec.call(r2, str); // Fixed `exec` required for `lastIndex` fix, etc. + if (sticky && match && match.index !== pos) { + match = null; + } + if (regex.global) { + regex.lastIndex = match ? r2.lastIndex : 0; + } + return match; + }; + +/** + * Executes a provided function once per regex match. + * @memberOf XRegExp + * @param {String} str String to search. + * @param {RegExp} regex Regex to search with. + * @param {Function} callback Function to execute for each match. Invoked with four arguments: + * <li>The match array, with named backreference properties. + * <li>The zero-based match index. + * <li>The string being traversed. + * <li>The regex object being used to traverse the string. + * @param {*} [context] Object to use as `this` when executing `callback`. + * @returns {*} Provided `context` object. + * @example + * + * // Extracts every other digit from a string + * XRegExp.forEach('1a2345', /\d/, function (match, i) { + * if (i % 2) this.push(+match[0]); + * }, []); + * // -> [2, 4] + */ + self.forEach = function (str, regex, callback, context) { + var pos = 0, + i = -1, + match; + while ((match = self.exec(str, regex, pos))) { + callback.call(context, match, ++i, str, regex); + pos = match.index + (match[0].length || 1); + } + return context; + }; + +/** + * Copies a regex object and adds flag `g`. The copy maintains special properties for named + * capture, is augmented with `XRegExp.prototype` methods, and has a fresh `lastIndex` property + * (set to zero). Native regexes are not recompiled using XRegExp syntax. + * @memberOf XRegExp + * @param {RegExp} regex Regex to globalize. + * @returns {RegExp} Copy of the provided regex with flag `g` added. + * @example + * + * var globalCopy = XRegExp.globalize(/regex/); + * globalCopy.global; // -> true + */ + self.globalize = function (regex) { + return copy(regex, "g"); + }; + +/** + * Installs optional features according to the specified options. + * @memberOf XRegExp + * @param {Object|String} options Options object or string. + * @example + * + * // With an options object + * XRegExp.install({ + * // Overrides native regex methods with fixed/extended versions that support named + * // backreferences and fix numerous cross-browser bugs + * natives: true, + * + * // Enables extensibility of XRegExp syntax and flags + * extensibility: true + * }); + * + * // With an options string + * XRegExp.install('natives extensibility'); + * + * // Using a shortcut to install all optional features + * XRegExp.install('all'); + */ + self.install = function (options) { + options = prepareOptions(options); + if (!features.natives && options.natives) { + setNatives(true); + } + if (!features.extensibility && options.extensibility) { + setExtensibility(true); + } + }; + +/** + * Checks whether an individual optional feature is installed. + * @memberOf XRegExp + * @param {String} feature Name of the feature to check. One of: + * <li>`natives` + * <li>`extensibility` + * @returns {Boolean} Whether the feature is installed. + * @example + * + * XRegExp.isInstalled('natives'); + */ + self.isInstalled = function (feature) { + return !!(features[feature]); + }; + +/** + * Returns `true` if an object is a regex; `false` if it isn't. This works correctly for regexes + * created in another frame, when `instanceof` and `constructor` checks would fail. + * @memberOf XRegExp + * @param {*} value Object to check. + * @returns {Boolean} Whether the object is a `RegExp` object. + * @example + * + * XRegExp.isRegExp('string'); // -> false + * XRegExp.isRegExp(/regex/i); // -> true + * XRegExp.isRegExp(RegExp('^', 'm')); // -> true + * XRegExp.isRegExp(XRegExp('(?s).')); // -> true + */ + self.isRegExp = function (value) { + return isType(value, "regexp"); + }; + +/** + * Retrieves the matches from searching a string using a chain of regexes that successively search + * within previous matches. The provided `chain` array can contain regexes and objects with `regex` + * and `backref` properties. When a backreference is specified, the named or numbered backreference + * is passed forward to the next regex or returned. + * @memberOf XRegExp + * @param {String} str String to search. + * @param {Array} chain Regexes that each search for matches within preceding results. + * @returns {Array} Matches by the last regex in the chain, or an empty array. + * @example + * + * // Basic usage; matches numbers within <b> tags + * XRegExp.matchChain('1 <b>2</b> 3 <b>4 a 56</b>', [ + * XRegExp('(?is)<b>.*?</b>'), + * /\d+/ + * ]); + * // -> ['2', '4', '56'] + * + * // Passing forward and returning specific backreferences + * html = '<a href="http://xregexp.com/api/">XRegExp</a>\ + * <a href="http://www.google.com/">Google</a>'; + * XRegExp.matchChain(html, [ + * {regex: /<a href="([^"]+)">/i, backref: 1}, + * {regex: XRegExp('(?i)^https?://(?<domain>[^/?#]+)'), backref: 'domain'} + * ]); + * // -> ['xregexp.com', 'www.google.com'] + */ + self.matchChain = function (str, chain) { + return (function recurseChain(values, level) { + var item = chain[level].regex ? chain[level] : {regex: chain[level]}, + matches = [], + addMatch = function (match) { + matches.push(item.backref ? (match[item.backref] || "") : match[0]); + }, + i; + for (i = 0; i < values.length; ++i) { + self.forEach(values[i], item.regex, addMatch); + } + return ((level === chain.length - 1) || !matches.length) ? + matches : + recurseChain(matches, level + 1); + }([str], 0)); + }; + +/** + * Returns a new string with one or all matches of a pattern replaced. The pattern can be a string + * or regex, and the replacement can be a string or a function to be called for each match. To + * perform a global search and replace, use the optional `scope` argument or include flag `g` if + * using a regex. Replacement strings can use `${n}` for named and numbered backreferences. + * Replacement functions can use named backreferences via `arguments[0].name`. Also fixes browser + * bugs compared to the native `String.prototype.replace` and can be used reliably cross-browser. + * @memberOf XRegExp + * @param {String} str String to search. + * @param {RegExp|String} search Search pattern to be replaced. + * @param {String|Function} replacement Replacement string or a function invoked to create it. + * Replacement strings can include special replacement syntax: + * <li>$$ - Inserts a literal '$'. + * <li>$&, $0 - Inserts the matched substring. + * <li>$` - Inserts the string that precedes the matched substring (left context). + * <li>$' - Inserts the string that follows the matched substring (right context). + * <li>$n, $nn - Where n/nn are digits referencing an existent capturing group, inserts + * backreference n/nn. + * <li>${n} - Where n is a name or any number of digits that reference an existent capturing + * group, inserts backreference n. + * Replacement functions are invoked with three or more arguments: + * <li>The matched substring (corresponds to $& above). Named backreferences are accessible as + * properties of this first argument. + * <li>0..n arguments, one for each backreference (corresponding to $1, $2, etc. above). + * <li>The zero-based index of the match within the total search string. + * <li>The total string being searched. + * @param {String} [scope='one'] Use 'one' to replace the first match only, or 'all'. If not + * explicitly specified and using a regex with flag `g`, `scope` is 'all'. + * @returns {String} New string with one or all matches replaced. + * @example + * + * // Regex search, using named backreferences in replacement string + * var name = XRegExp('(?<first>\\w+) (?<last>\\w+)'); + * XRegExp.replace('John Smith', name, '${last}, ${first}'); + * // -> 'Smith, John' + * + * // Regex search, using named backreferences in replacement function + * XRegExp.replace('John Smith', name, function (match) { + * return match.last + ', ' + match.first; + * }); + * // -> 'Smith, John' + * + * // Global string search/replacement + * XRegExp.replace('RegExp builds RegExps', 'RegExp', 'XRegExp', 'all'); + * // -> 'XRegExp builds XRegExps' + */ + self.replace = function (str, search, replacement, scope) { + var isRegex = self.isRegExp(search), + search2 = search, + result; + if (isRegex) { + if (scope === undef && search.global) { + scope = "all"; // Follow flag g when `scope` isn't explicit + } + // Note that since a copy is used, `search`'s `lastIndex` isn't updated *during* replacement iterations + search2 = copy(search, scope === "all" ? "g" : "", scope === "all" ? "" : "g"); + } else if (scope === "all") { + search2 = new RegExp(self.escape(String(search)), "g"); + } + result = fixed.replace.call(String(str), search2, replacement); // Fixed `replace` required for named backreferences, etc. + if (isRegex && search.global) { + search.lastIndex = 0; // Fixes IE, Safari bug (last tested IE 9, Safari 5.1) + } + return result; + }; + +/** + * Splits a string into an array of strings using a regex or string separator. Matches of the + * separator are not included in the result array. However, if `separator` is a regex that contains + * capturing groups, backreferences are spliced into the result each time `separator` is matched. + * Fixes browser bugs compared to the native `String.prototype.split` and can be used reliably + * cross-browser. + * @memberOf XRegExp + * @param {String} str String to split. + * @param {RegExp|String} separator Regex or string to use for separating the string. + * @param {Number} [limit] Maximum number of items to include in the result array. + * @returns {Array} Array of substrings. + * @example + * + * // Basic use + * XRegExp.split('a b c', ' '); + * // -> ['a', 'b', 'c'] + * + * // With limit + * XRegExp.split('a b c', ' ', 2); + * // -> ['a', 'b'] + * + * // Backreferences in result array + * XRegExp.split('..word1..', /([a-z]+)(\d+)/i); + * // -> ['..', 'word', '1', '..'] + */ + self.split = function (str, separator, limit) { + return fixed.split.call(str, separator, limit); + }; + +/** + * Executes a regex search in a specified string. Returns `true` or `false`. Optional `pos` and + * `sticky` arguments specify the search start position, and whether the match must start at the + * specified position only. The `lastIndex` property of the provided regex is not used, but is + * updated for compatibility. Also fixes browser bugs compared to the native + * `RegExp.prototype.test` and can be used reliably cross-browser. + * @memberOf XRegExp + * @param {String} str String to search. + * @param {RegExp} regex Regex to search with. + * @param {Number} [pos=0] Zero-based index at which to start the search. + * @param {Boolean|String} [sticky=false] Whether the match must start at the specified position + * only. The string `'sticky'` is accepted as an alternative to `true`. + * @returns {Boolean} Whether the regex matched the provided value. + * @example + * + * // Basic use + * XRegExp.test('abc', /c/); // -> true + * + * // With pos and sticky + * XRegExp.test('abc', /c/, 0, 'sticky'); // -> false + */ + self.test = function (str, regex, pos, sticky) { + // Do this the easy way :-) + return !!self.exec(str, regex, pos, sticky); + }; + +/** + * Uninstalls optional features according to the specified options. + * @memberOf XRegExp + * @param {Object|String} options Options object or string. + * @example + * + * // With an options object + * XRegExp.uninstall({ + * // Restores native regex methods + * natives: true, + * + * // Disables additional syntax and flag extensions + * extensibility: true + * }); + * + * // With an options string + * XRegExp.uninstall('natives extensibility'); + * + * // Using a shortcut to uninstall all optional features + * XRegExp.uninstall('all'); + */ + self.uninstall = function (options) { + options = prepareOptions(options); + if (features.natives && options.natives) { + setNatives(false); + } + if (features.extensibility && options.extensibility) { + setExtensibility(false); + } + }; + +/** + * Returns an XRegExp object that is the union of the given patterns. Patterns can be provided as + * regex objects or strings. Metacharacters are escaped in patterns provided as strings. + * Backreferences in provided regex objects are automatically renumbered to work correctly. Native + * flags used by provided regexes are ignored in favor of the `flags` argument. + * @memberOf XRegExp + * @param {Array} patterns Regexes and strings to combine. + * @param {String} [flags] Any combination of XRegExp flags. + * @returns {RegExp} Union of the provided regexes and strings. + * @example + * + * XRegExp.union(['a+b*c', /(dogs)\1/, /(cats)\1/], 'i'); + * // -> /a\+b\*c|(dogs)\1|(cats)\2/i + * + * XRegExp.union([XRegExp('(?<pet>dogs)\\k<pet>'), XRegExp('(?<pet>cats)\\k<pet>')]); + * // -> XRegExp('(?<pet>dogs)\\k<pet>|(?<pet>cats)\\k<pet>') + */ + self.union = function (patterns, flags) { + var parts = /(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*]/g, + numCaptures = 0, + numPriorCaptures, + captureNames, + rewrite = function (match, paren, backref) { + var name = captureNames[numCaptures - numPriorCaptures]; + if (paren) { // Capturing group + ++numCaptures; + if (name) { // If the current capture has a name + return "(?<" + name + ">"; + } + } else if (backref) { // Backreference + return "\\" + (+backref + numPriorCaptures); + } + return match; + }, + output = [], + pattern, + i; + if (!(isType(patterns, "array") && patterns.length)) { + throw new TypeError("patterns must be a nonempty array"); + } + for (i = 0; i < patterns.length; ++i) { + pattern = patterns[i]; + if (self.isRegExp(pattern)) { + numPriorCaptures = numCaptures; + captureNames = (pattern.xregexp && pattern.xregexp.captureNames) || []; + // Rewrite backreferences. Passing to XRegExp dies on octals and ensures patterns + // are independently valid; helps keep this simple. Named captures are put back + output.push(self(pattern.source).source.replace(parts, rewrite)); + } else { + output.push(self.escape(pattern)); + } + } + return self(output.join("|"), flags); + }; + +/** + * The XRegExp version number. + * @static + * @memberOf XRegExp + * @type String + */ + self.version = "2.0.0"; + +/*-------------------------------------- + * Fixed/extended native methods + *------------------------------------*/ + +/** + * Adds named capture support (with backreferences returned as `result.name`), and fixes browser + * bugs in the native `RegExp.prototype.exec`. Calling `XRegExp.install('natives')` uses this to + * override the native method. Use via `XRegExp.exec` without overriding natives. + * @private + * @param {String} str String to search. + * @returns {Array} Match array with named backreference properties, or null. + */ + fixed.exec = function (str) { + var match, name, r2, origLastIndex, i; + if (!this.global) { + origLastIndex = this.lastIndex; + } + match = nativ.exec.apply(this, arguments); + if (match) { + // Fix browsers whose `exec` methods don't consistently return `undefined` for + // nonparticipating capturing groups + if (!compliantExecNpcg && match.length > 1 && lastIndexOf(match, "") > -1) { + r2 = new RegExp(this.source, nativ.replace.call(getNativeFlags(this), "g", "")); + // Using `str.slice(match.index)` rather than `match[0]` in case lookahead allowed + // matching due to characters outside the match + nativ.replace.call(String(str).slice(match.index), r2, function () { + var i; + for (i = 1; i < arguments.length - 2; ++i) { + if (arguments[i] === undef) { + match[i] = undef; + } + } + }); + } + // Attach named capture properties + if (this.xregexp && this.xregexp.captureNames) { + for (i = 1; i < match.length; ++i) { + name = this.xregexp.captureNames[i - 1]; + if (name) { + match[name] = match[i]; + } + } + } + // Fix browsers that increment `lastIndex` after zero-length matches + if (this.global && !match[0].length && (this.lastIndex > match.index)) { + this.lastIndex = match.index; + } + } + if (!this.global) { + this.lastIndex = origLastIndex; // Fixes IE, Opera bug (last tested IE 9, Opera 11.6) + } + return match; + }; + +/** + * Fixes browser bugs in the native `RegExp.prototype.test`. Calling `XRegExp.install('natives')` + * uses this to override the native method. + * @private + * @param {String} str String to search. + * @returns {Boolean} Whether the regex matched the provided value. + */ + fixed.test = function (str) { + // Do this the easy way :-) + return !!fixed.exec.call(this, str); + }; + +/** + * Adds named capture support (with backreferences returned as `result.name`), and fixes browser + * bugs in the native `String.prototype.match`. Calling `XRegExp.install('natives')` uses this to + * override the native method. + * @private + * @param {RegExp} regex Regex to search with. + * @returns {Array} If `regex` uses flag g, an array of match strings or null. Without flag g, the + * result of calling `regex.exec(this)`. + */ + fixed.match = function (regex) { + if (!self.isRegExp(regex)) { + regex = new RegExp(regex); // Use native `RegExp` + } else if (regex.global) { + var result = nativ.match.apply(this, arguments); + regex.lastIndex = 0; // Fixes IE bug + return result; + } + return fixed.exec.call(regex, this); + }; + +/** + * Adds support for `${n}` tokens for named and numbered backreferences in replacement text, and + * provides named backreferences to replacement functions as `arguments[0].name`. Also fixes + * browser bugs in replacement text syntax when performing a replacement using a nonregex search + * value, and the value of a replacement regex's `lastIndex` property during replacement iterations + * and upon completion. Note that this doesn't support SpiderMonkey's proprietary third (`flags`) + * argument. Calling `XRegExp.install('natives')` uses this to override the native method. Use via + * `XRegExp.replace` without overriding natives. + * @private + * @param {RegExp|String} search Search pattern to be replaced. + * @param {String|Function} replacement Replacement string or a function invoked to create it. + * @returns {String} New string with one or all matches replaced. + */ + fixed.replace = function (search, replacement) { + var isRegex = self.isRegExp(search), captureNames, result, str, origLastIndex; + if (isRegex) { + if (search.xregexp) { + captureNames = search.xregexp.captureNames; + } + if (!search.global) { + origLastIndex = search.lastIndex; + } + } else { + search += ""; + } + if (isType(replacement, "function")) { + result = nativ.replace.call(String(this), search, function () { + var args = arguments, i; + if (captureNames) { + // Change the `arguments[0]` string primitive to a `String` object that can store properties + args[0] = new String(args[0]); + // Store named backreferences on the first argument + for (i = 0; i < captureNames.length; ++i) { + if (captureNames[i]) { + args[0][captureNames[i]] = args[i + 1]; + } + } + } + // Update `lastIndex` before calling `replacement`. + // Fixes IE, Chrome, Firefox, Safari bug (last tested IE 9, Chrome 17, Firefox 11, Safari 5.1) + if (isRegex && search.global) { + search.lastIndex = args[args.length - 2] + args[0].length; + } + return replacement.apply(null, args); + }); + } else { + str = String(this); // Ensure `args[args.length - 1]` will be a string when given nonstring `this` + result = nativ.replace.call(str, search, function () { + var args = arguments; // Keep this function's `arguments` available through closure + return nativ.replace.call(String(replacement), replacementToken, function ($0, $1, $2) { + var n; + // Named or numbered backreference with curly brackets + if ($1) { + /* XRegExp behavior for `${n}`: + * 1. Backreference to numbered capture, where `n` is 1+ digits. `0`, `00`, etc. is the entire match. + * 2. Backreference to named capture `n`, if it exists and is not a number overridden by numbered capture. + * 3. Otherwise, it's an error. + */ + n = +$1; // Type-convert; drop leading zeros + if (n <= args.length - 3) { + return args[n] || ""; + } + n = captureNames ? lastIndexOf(captureNames, $1) : -1; + if (n < 0) { + throw new SyntaxError("backreference to undefined group " + $0); + } + return args[n + 1] || ""; + } + // Else, special variable or numbered backreference (without curly brackets) + if ($2 === "$") return "$"; + if ($2 === "&" || +$2 === 0) return args[0]; // $&, $0 (not followed by 1-9), $00 + if ($2 === "`") return args[args.length - 1].slice(0, args[args.length - 2]); + if ($2 === "'") return args[args.length - 1].slice(args[args.length - 2] + args[0].length); + // Else, numbered backreference (without curly brackets) + $2 = +$2; // Type-convert; drop leading zero + /* XRegExp behavior: + * - Backreferences without curly brackets end after 1 or 2 digits. Use `${..}` for more digits. + * - `$1` is an error if there are no capturing groups. + * - `$10` is an error if there are less than 10 capturing groups. Use `${1}0` instead. + * - `$01` is equivalent to `$1` if a capturing group exists, otherwise it's an error. + * - `$0` (not followed by 1-9), `$00`, and `$&` are the entire match. + * Native behavior, for comparison: + * - Backreferences end after 1 or 2 digits. Cannot use backreference to capturing group 100+. + * - `$1` is a literal `$1` if there are no capturing groups. + * - `$10` is `$1` followed by a literal `0` if there are less than 10 capturing groups. + * - `$01` is equivalent to `$1` if a capturing group exists, otherwise it's a literal `$01`. + * - `$0` is a literal `$0`. `$&` is the entire match. + */ + if (!isNaN($2)) { + if ($2 > args.length - 3) { + throw new SyntaxError("backreference to undefined group " + $0); + } + return args[$2] || ""; + } + throw new SyntaxError("invalid token " + $0); + }); + }); + } + if (isRegex) { + if (search.global) { + search.lastIndex = 0; // Fixes IE, Safari bug (last tested IE 9, Safari 5.1) + } else { + search.lastIndex = origLastIndex; // Fixes IE, Opera bug (last tested IE 9, Opera 11.6) + } + } + return result; + }; + +/** + * Fixes browser bugs in the native `String.prototype.split`. Calling `XRegExp.install('natives')` + * uses this to override the native method. Use via `XRegExp.split` without overriding natives. + * @private + * @param {RegExp|String} separator Regex or string to use for separating the string. + * @param {Number} [limit] Maximum number of items to include in the result array. + * @returns {Array} Array of substrings. + */ + fixed.split = function (separator, limit) { + if (!self.isRegExp(separator)) { + return nativ.split.apply(this, arguments); // use faster native method + } + var str = String(this), + origLastIndex = separator.lastIndex, + output = [], + lastLastIndex = 0, + lastLength; + /* Values for `limit`, per the spec: + * If undefined: pow(2,32) - 1 + * If 0, Infinity, or NaN: 0 + * If positive number: limit = floor(limit); if (limit >= pow(2,32)) limit -= pow(2,32); + * If negative number: pow(2,32) - floor(abs(limit)) + * If other: Type-convert, then use the above rules + */ + limit = (limit === undef ? -1 : limit) >>> 0; + self.forEach(str, separator, function (match) { + if ((match.index + match[0].length) > lastLastIndex) { // != `if (match[0].length)` + output.push(str.slice(lastLastIndex, match.index)); + if (match.length > 1 && match.index < str.length) { + Array.prototype.push.apply(output, match.slice(1)); + } + lastLength = match[0].length; + lastLastIndex = match.index + lastLength; + } + }); + if (lastLastIndex === str.length) { + if (!nativ.test.call(separator, "") || lastLength) { + output.push(""); + } + } else { + output.push(str.slice(lastLastIndex)); + } + separator.lastIndex = origLastIndex; + return output.length > limit ? output.slice(0, limit) : output; + }; + +/*-------------------------------------- + * Built-in tokens + *------------------------------------*/ + +// Shortcut + add = addToken.on; + +/* Letter identity escapes that natively match literal characters: \p, \P, etc. + * Should be SyntaxErrors but are allowed in web reality. XRegExp makes them errors for cross- + * browser consistency and to reserve their syntax, but lets them be superseded by XRegExp addons. + */ + add(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4})|x(?![\dA-Fa-f]{2}))/, + function (match, scope) { + // \B is allowed in default scope only + if (match[1] === "B" && scope === defaultScope) { + return match[0]; + } + throw new SyntaxError("invalid escape " + match[0]); + }, + {scope: "all"}); + +/* Empty character class: [] or [^] + * Fixes a critical cross-browser syntax inconsistency. Unless this is standardized (per the spec), + * regex syntax can't be accurately parsed because character class endings can't be determined. + */ + add(/\[(\^?)]/, + function (match) { + // For cross-browser compatibility with ES3, convert [] to \b\B and [^] to [\s\S]. + // (?!) should work like \b\B, but is unreliable in Firefox + return match[1] ? "[\\s\\S]" : "\\b\\B"; + }); + +/* Comment pattern: (?# ) + * Inline comments are an alternative to the line comments allowed in free-spacing mode (flag x). + */ + add(/(?:\(\?#[^)]*\))+/, + function (match) { + // Keep tokens separated unless the following token is a quantifier + return nativ.test.call(quantifier, match.input.slice(match.index + match[0].length)) ? "" : "(?:)"; + }); + +/* Named backreference: \k<name> + * Backreference names can use the characters A-Z, a-z, 0-9, _, and $ only. + */ + add(/\\k<([\w$]+)>/, + function (match) { + var index = isNaN(match[1]) ? (lastIndexOf(this.captureNames, match[1]) + 1) : +match[1], + endIndex = match.index + match[0].length; + if (!index || index > this.captureNames.length) { + throw new SyntaxError("backreference to undefined group " + match[0]); + } + // Keep backreferences separate from subsequent literal numbers + return "\\" + index + ( + endIndex === match.input.length || isNaN(match.input.charAt(endIndex)) ? "" : "(?:)" + ); + }); + +/* Whitespace and line comments, in free-spacing mode (aka extended mode, flag x) only. + */ + add(/(?:\s+|#.*)+/, + function (match) { + // Keep tokens separated unless the following token is a quantifier + return nativ.test.call(quantifier, match.input.slice(match.index + match[0].length)) ? "" : "(?:)"; + }, + { + trigger: function () { + return this.hasFlag("x"); + }, + customFlags: "x" + }); + +/* Dot, in dotall mode (aka singleline mode, flag s) only. + */ + add(/\./, + function () { + return "[\\s\\S]"; + }, + { + trigger: function () { + return this.hasFlag("s"); + }, + customFlags: "s" + }); + +/* Named capturing group; match the opening delimiter only: (?<name> + * Capture names can use the characters A-Z, a-z, 0-9, _, and $ only. Names can't be integers. + * Supports Python-style (?P<name> as an alternate syntax to avoid issues in recent Opera (which + * natively supports the Python-style syntax). Otherwise, XRegExp might treat numbered + * backreferences to Python-style named capture as octals. + */ + add(/\(\?P?<([\w$]+)>/, + function (match) { + if (!isNaN(match[1])) { + // Avoid incorrect lookups, since named backreferences are added to match arrays + throw new SyntaxError("can't use integer as capture name " + match[0]); + } + this.captureNames.push(match[1]); + this.hasNamedCapture = true; + return "("; + }); + +/* Numbered backreference or octal, plus any following digits: \0, \11, etc. + * Octals except \0 not followed by 0-9 and backreferences to unopened capture groups throw an + * error. Other matches are returned unaltered. IE <= 8 doesn't support backreferences greater than + * \99 in regex syntax. + */ + add(/\\(\d+)/, + function (match, scope) { + if (!(scope === defaultScope && /^[1-9]/.test(match[1]) && +match[1] <= this.captureNames.length) && + match[1] !== "0") { + throw new SyntaxError("can't use octal escape or backreference to undefined group " + match[0]); + } + return match[0]; + }, + {scope: "all"}); + +/* Capturing group; match the opening parenthesis only. + * Required for support of named capturing groups. Also adds explicit capture mode (flag n). + */ + add(/\((?!\?)/, + function () { + if (this.hasFlag("n")) { + return "(?:"; + } + this.captureNames.push(null); + return "("; + }, + {customFlags: "n"}); + +/*-------------------------------------- + * Expose XRegExp + *------------------------------------*/ + +// For CommonJS enviroments + if (typeof exports !== "undefined") { + exports.XRegExp = self; + } + + return self; + +}()); + + +/***** unicode-base.js *****/ + +/*! + * XRegExp Unicode Base v1.0.0 + * (c) 2008-2012 Steven Levithan <http://xregexp.com/> + * MIT License + * Uses Unicode 6.1 <http://unicode.org/> + */ + +/** + * Adds support for the `\p{L}` or `\p{Letter}` Unicode category. Addon packages for other Unicode + * categories, scripts, blocks, and properties are available separately. All Unicode tokens can be + * inverted using `\P{..}` or `\p{^..}`. Token names are case insensitive, and any spaces, hyphens, + * and underscores are ignored. + * @requires XRegExp + */ +(function (XRegExp) { + "use strict"; + + var unicode = {}; + +/*-------------------------------------- + * Private helper functions + *------------------------------------*/ + +// Generates a standardized token name (lowercase, with hyphens, spaces, and underscores removed) + function slug(name) { + return name.replace(/[- _]+/g, "").toLowerCase(); + } + +// Expands a list of Unicode code points and ranges to be usable in a regex character class + function expand(str) { + return str.replace(/\w{4}/g, "\\u$&"); + } + +// Adds leading zeros if shorter than four characters + function pad4(str) { + while (str.length < 4) { + str = "0" + str; + } + return str; + } + +// Converts a hexadecimal number to decimal + function dec(hex) { + return parseInt(hex, 16); + } + +// Converts a decimal number to hexadecimal + function hex(dec) { + return parseInt(dec, 10).toString(16); + } + +// Inverts a list of Unicode code points and ranges + function invert(range) { + var output = [], + lastEnd = -1, + start; + XRegExp.forEach(range, /\\u(\w{4})(?:-\\u(\w{4}))?/, function (m) { + start = dec(m[1]); + if (start > (lastEnd + 1)) { + output.push("\\u" + pad4(hex(lastEnd + 1))); + if (start > (lastEnd + 2)) { + output.push("-\\u" + pad4(hex(start - 1))); + } + } + lastEnd = dec(m[2] || m[1]); + }); + if (lastEnd < 0xFFFF) { + output.push("\\u" + pad4(hex(lastEnd + 1))); + if (lastEnd < 0xFFFE) { + output.push("-\\uFFFF"); + } + } + return output.join(""); + } + +// Generates an inverted token on first use + function cacheInversion(item) { + return unicode["^" + item] || (unicode["^" + item] = invert(unicode[item])); + } + +/*-------------------------------------- + * Core functionality + *------------------------------------*/ + + XRegExp.install("extensibility"); + +/** + * Adds to the list of Unicode properties that XRegExp regexes can match via \p{..} or \P{..}. + * @memberOf XRegExp + * @param {Object} pack Named sets of Unicode code points and ranges. + * @param {Object} [aliases] Aliases for the primary token names. + * @example + * + * XRegExp.addUnicodePackage({ + * XDigit: '0030-00390041-00460061-0066' // 0-9A-Fa-f + * }, { + * XDigit: 'Hexadecimal' + * }); + */ + XRegExp.addUnicodePackage = function (pack, aliases) { + var p; + if (!XRegExp.isInstalled("extensibility")) { + throw new Error("extensibility must be installed before adding Unicode packages"); + } + if (pack) { + for (p in pack) { + if (pack.hasOwnProperty(p)) { + unicode[slug(p)] = expand(pack[p]); + } + } + } + if (aliases) { + for (p in aliases) { + if (aliases.hasOwnProperty(p)) { + unicode[slug(aliases[p])] = unicode[slug(p)]; + } + } + } + }; + +/* Adds data for the Unicode `Letter` category. Addon packages include other categories, scripts, + * blocks, and properties. + */ + XRegExp.addUnicodePackage({ + L: "0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05270531-055605590561-058705D0-05EA05F0-05F20620-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280840-085808A008A2-08AC0904-0939093D09500958-09610971-09770979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10CF10CF20D05-0D0C0D0E-0D100D12-0D3A0D3D0D4E0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC-0EDF0F000F40-0F470F49-0F6C0F88-0F8C1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510C710CD10D0-10FA10FC-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1BBA-1BE51C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11CF51CF61D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209C21022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2CF22CF32D00-2D252D272D2D2D30-2D672D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78B-A78EA790-A793A7A0-A7AAA7F8-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDAAE0-AAEAAAF2-AAF4AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC" + }, { + L: "Letter" + }); + +/* Adds Unicode property syntax to XRegExp: \p{..}, \P{..}, \p{^..} + */ + XRegExp.addToken( + /\\([pP]){(\^?)([^}]*)}/, + function (match, scope) { + var inv = (match[1] === "P" || match[2]) ? "^" : "", + item = slug(match[3]); + // The double negative \P{^..} is invalid + if (match[1] === "P" && match[2]) { + throw new SyntaxError("invalid double negation \\P{^"); + } + if (!unicode.hasOwnProperty(item)) { + throw new SyntaxError("invalid or unknown Unicode property " + match[0]); + } + return scope === "class" ? + (inv ? cacheInversion(item) : unicode[item]) : + "[" + inv + unicode[item] + "]"; + }, + {scope: "all"} + ); + +}(XRegExp)); + + +/***** unicode-categories.js *****/ + +/*! + * XRegExp Unicode Categories v1.2.0 + * (c) 2010-2012 Steven Levithan <http://xregexp.com/> + * MIT License + * Uses Unicode 6.1 <http://unicode.org/> + */ + +/** + * Adds support for all Unicode categories (aka properties) E.g., `\p{Lu}` or + * `\p{Uppercase Letter}`. Token names are case insensitive, and any spaces, hyphens, and + * underscores are ignored. + * @requires XRegExp, XRegExp Unicode Base + */ +(function (XRegExp) { + "use strict"; + + if (!XRegExp.addUnicodePackage) { + throw new ReferenceError("Unicode Base must be loaded before Unicode Categories"); + } + + XRegExp.install("extensibility"); + + XRegExp.addUnicodePackage({ + //L: "", // Included in the Unicode Base addon + Ll: "0061-007A00B500DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F05210523052505270561-05871D00-1D2B1D6B-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7B2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2CF32D00-2D252D272D2DA641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA661A663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CA78EA791A793A7A1A7A3A7A5A7A7A7A9A7FAFB00-FB06FB13-FB17FF41-FF5A", + Lu: "0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E05200522052405260531-055610A0-10C510C710CD1E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CED2CF2A640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA660A662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BA78DA790A792A7A0A7A2A7A4A7A6A7A8A7AAFF21-FF3A", + Lt: "01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC", + Lm: "02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D6A1D781D9B-1DBF2071207F2090-209C2C7C2C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A7F8A7F9A9CFAA70AADDAAF3AAF4FF70FF9EFF9F", + Lo: "00AA00BA01BB01C0-01C3029405D0-05EA05F0-05F20620-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150840-085808A008A2-08AC0904-0939093D09500958-09610972-09770979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10CF10CF20D05-0D0C0D0E-0D100D12-0D3A0D3D0D4E0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC-0EDF0F000F40-0F470F49-0F6C0F88-0F8C1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA10FD-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1BBA-1BE51C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF11CF51CF62135-21382D30-2D672D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCAAE0-AAEAAAF2AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC", + M: "0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065F067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0859-085B08E4-08FE0900-0903093A-093C093E-094F0951-0957096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F8D-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135D-135F1712-17141732-1734175217531772177317B4-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAD1BE6-1BF31C24-1C371CD0-1CD21CD4-1CE81CED1CF2-1CF41DC0-1DE61DFC-1DFF20D0-20F02CEF-2CF12D7F2DE0-2DFF302A-302F3099309AA66F-A672A674-A67DA69FA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1AAEB-AAEFAAF5AAF6ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26", + Mn: "0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065F067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0859-085B08E4-08FE0900-0902093A093C0941-0948094D0951-095709620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F8D-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135D-135F1712-17141732-1734175217531772177317B417B517B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91BAB1BE61BE81BE91BED1BEF-1BF11C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1CF41DC0-1DE61DFC-1DFF20D0-20DC20E120E5-20F02CEF-2CF12D7F2DE0-2DFF302A-302D3099309AA66FA674-A67DA69FA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1AAECAAEDAAF6ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26", + Mc: "0903093B093E-09400949-094C094E094F0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1BAC1BAD1BE71BEA-1BEC1BEE1BF21BF31C24-1C2B1C341C351CE11CF21CF3302E302FA823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BAAEBAAEEAAEFAAF5ABE3ABE4ABE6ABE7ABE9ABEAABEC", + Me: "0488048920DD-20E020E2-20E4A670-A672", + N: "0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0B72-0B770BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293248-324F3251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19", + Nd: "0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19D91A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19", + Nl: "16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF", + No: "00B200B300B900BC-00BE09F4-09F90B72-0B770BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F919DA20702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293248-324F3251-325F3280-328932B1-32BFA830-A835", + P: "0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100A700AB00B600B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E085E0964096509700AF00DF40E4F0E5A0E5B0F04-0F120F140F3A-0F3D0F850FD0-0FD40FD90FDA104A-104F10FB1360-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A194419451A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601BFC-1BFF1C3B-1C3F1C7E1C7F1CC0-1CC71CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2D702E00-2E2E2E30-2E3B3001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFAAF0AAF1ABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65", + Pd: "002D058A05BE140018062010-20152E172E1A2E3A2E3B301C303030A0FE31FE32FE58FE63FF0D", + Ps: "0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62", + Pe: "0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63", + Pi: "00AB2018201B201C201F20392E022E042E092E0C2E1C2E20", + Pf: "00BB2019201D203A2E032E052E0A2E0D2E1D2E21", + Pc: "005F203F20402054FE33FE34FE4D-FE4FFF3F", + Po: "0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100A700B600B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E085E0964096509700AF00DF40E4F0E5A0E5B0F04-0F120F140F850FD0-0FD40FD90FDA104A-104F10FB1360-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A194419451A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601BFC-1BFF1C3B-1C3F1C7E1C7F1CC0-1CC71CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2D702E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E30-2E393001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFAAF0AAF1ABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65", + S: "0024002B003C-003E005E0060007C007E00A2-00A600A800A900AC00AE-00B100B400B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F60482058F0606-0608060B060E060F06DE06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0D790E3F0F01-0F030F130F15-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F1390-139917DB194019DE-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B9210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23F32400-24262440-244A249C-24E92500-26FF2701-27672794-27C427C7-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-324732503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FBB2-FBC1FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD", + Sm: "002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C21182140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC", + Sc: "002400A2-00A5058F060B09F209F309FB0AF10BF90E3F17DB20A0-20B9A838FDFCFE69FF04FFE0FFE1FFE5FFE6", + Sk: "005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFBB2-FBC1FF3EFF40FFE3", + So: "00A600A900AE00B00482060E060F06DE06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0D790F01-0F030F130F15-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F1390-1399194019DE-19FF1B61-1B6A1B74-1B7C210021012103-210621082109211421162117211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23F32400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26FF2701-27672794-27BF2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-324732503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD", + Z: "002000A01680180E2000-200A20282029202F205F3000", + Zs: "002000A01680180E2000-200A202F205F3000", + Zl: "2028", + Zp: "2029", + C: "0000-001F007F-009F00AD03780379037F-0383038B038D03A20528-05300557055805600588058B-058E059005C8-05CF05EB-05EF05F5-0605061C061D06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F085C085D085F-089F08A108AD-08E308FF097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B78-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D3B0D3C0D450D490D4F-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EE0-0EFF0F480F6D-0F700F980FBD0FCD0FDB-0FFF10C610C8-10CC10CE10CF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B135C137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BF4-1BFB1C38-1C3A1C4A-1C4C1C80-1CBF1CC8-1CCF1CF7-1CFF1DE7-1DFB1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F209D-209F20BA-20CF20F1-20FF218A-218F23F4-23FF2427-243F244B-245F27002B4D-2B4F2B5A-2BFF2C2F2C5F2CF4-2CF82D262D28-2D2C2D2E2D2F2D68-2D6E2D71-2D7E2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E3C-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31BB-31BF31E4-31EF321F32FF4DB6-4DBF9FCD-9FFFA48D-A48FA4C7-A4CFA62C-A63FA698-A69EA6F8-A6FFA78FA794-A79FA7AB-A7F7A82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAF7-AB00AB07AB08AB0FAB10AB17-AB1FAB27AB2F-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBC2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF", + Cc: "0000-001F007F-009F", + Cf: "00AD0600-060406DD070F200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB", + Co: "E000-F8FF", + Cs: "D800-DFFF", + Cn: "03780379037F-0383038B038D03A20528-05300557055805600588058B-058E059005C8-05CF05EB-05EF05F5-05FF0605061C061D070E074B074C07B2-07BF07FB-07FF082E082F083F085C085D085F-089F08A108AD-08E308FF097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B78-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D3B0D3C0D450D490D4F-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EE0-0EFF0F480F6D-0F700F980FBD0FCD0FDB-0FFF10C610C8-10CC10CE10CF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B135C137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BF4-1BFB1C38-1C3A1C4A-1C4C1C80-1CBF1CC8-1CCF1CF7-1CFF1DE7-1DFB1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F209D-209F20BA-20CF20F1-20FF218A-218F23F4-23FF2427-243F244B-245F27002B4D-2B4F2B5A-2BFF2C2F2C5F2CF4-2CF82D262D28-2D2C2D2E2D2F2D68-2D6E2D71-2D7E2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E3C-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31BB-31BF31E4-31EF321F32FF4DB6-4DBF9FCD-9FFFA48D-A48FA4C7-A4CFA62C-A63FA698-A69EA6F8-A6FFA78FA794-A79FA7AB-A7F7A82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAF7-AB00AB07AB08AB0FAB10AB17-AB1FAB27AB2F-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBC2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF" + }, { + //L: "Letter", // Included in the Unicode Base addon + Ll: "Lowercase_Letter", + Lu: "Uppercase_Letter", + Lt: "Titlecase_Letter", + Lm: "Modifier_Letter", + Lo: "Other_Letter", + M: "Mark", + Mn: "Nonspacing_Mark", + Mc: "Spacing_Mark", + Me: "Enclosing_Mark", + N: "Number", + Nd: "Decimal_Number", + Nl: "Letter_Number", + No: "Other_Number", + P: "Punctuation", + Pd: "Dash_Punctuation", + Ps: "Open_Punctuation", + Pe: "Close_Punctuation", + Pi: "Initial_Punctuation", + Pf: "Final_Punctuation", + Pc: "Connector_Punctuation", + Po: "Other_Punctuation", + S: "Symbol", + Sm: "Math_Symbol", + Sc: "Currency_Symbol", + Sk: "Modifier_Symbol", + So: "Other_Symbol", + Z: "Separator", + Zs: "Space_Separator", + Zl: "Line_Separator", + Zp: "Paragraph_Separator", + C: "Other", + Cc: "Control", + Cf: "Format", + Co: "Private_Use", + Cs: "Surrogate", + Cn: "Unassigned" + }); + +}(XRegExp)); + + +/***** unicode-scripts.js *****/ + +/*! + * XRegExp Unicode Scripts v1.2.0 + * (c) 2010-2012 Steven Levithan <http://xregexp.com/> + * MIT License + * Uses Unicode 6.1 <http://unicode.org/> + */ + +/** + * Adds support for all Unicode scripts in the Basic Multilingual Plane (U+0000-U+FFFF). + * E.g., `\p{Latin}`. Token names are case insensitive, and any spaces, hyphens, and underscores + * are ignored. + * @requires XRegExp, XRegExp Unicode Base + */ +(function (XRegExp) { + "use strict"; + + if (!XRegExp.addUnicodePackage) { + throw new ReferenceError("Unicode Base must be loaded before Unicode Scripts"); + } + + XRegExp.install("extensibility"); + + XRegExp.addUnicodePackage({ + Arabic: "0600-06040606-060B060D-061A061E0620-063F0641-064A0656-065E066A-066F0671-06DC06DE-06FF0750-077F08A008A2-08AC08E4-08FEFB50-FBC1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFCFE70-FE74FE76-FEFC", + Armenian: "0531-05560559-055F0561-0587058A058FFB13-FB17", + Balinese: "1B00-1B4B1B50-1B7C", + Bamum: "A6A0-A6F7", + Batak: "1BC0-1BF31BFC-1BFF", + Bengali: "0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BC-09C409C709C809CB-09CE09D709DC09DD09DF-09E309E6-09FB", + Bopomofo: "02EA02EB3105-312D31A0-31BA", + Braille: "2800-28FF", + Buginese: "1A00-1A1B1A1E1A1F", + Buhid: "1740-1753", + Canadian_Aboriginal: "1400-167F18B0-18F5", + Cham: "AA00-AA36AA40-AA4DAA50-AA59AA5C-AA5F", + Cherokee: "13A0-13F4", + Common: "0000-0040005B-0060007B-00A900AB-00B900BB-00BF00D700F702B9-02DF02E5-02E902EC-02FF0374037E038503870589060C061B061F06400660-066906DD096409650E3F0FD5-0FD810FB16EB-16ED173517361802180318051CD31CE11CE9-1CEC1CEE-1CF31CF51CF62000-200B200E-2064206A-20702074-207E2080-208E20A0-20B92100-21252127-2129212C-21312133-214D214F-215F21892190-23F32400-24262440-244A2460-26FF2701-27FF2900-2B4C2B50-2B592E00-2E3B2FF0-2FFB3000-300430063008-30203030-3037303C-303F309B309C30A030FB30FC3190-319F31C0-31E33220-325F327F-32CF3358-33FF4DC0-4DFFA700-A721A788-A78AA830-A839FD3EFD3FFDFDFE10-FE19FE30-FE52FE54-FE66FE68-FE6BFEFFFF01-FF20FF3B-FF40FF5B-FF65FF70FF9EFF9FFFE0-FFE6FFE8-FFEEFFF9-FFFD", + Coptic: "03E2-03EF2C80-2CF32CF9-2CFF", + Cyrillic: "0400-04840487-05271D2B1D782DE0-2DFFA640-A697A69F", + Devanagari: "0900-09500953-09630966-09770979-097FA8E0-A8FB", + Ethiopic: "1200-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135D-137C1380-13992D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDEAB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2E", + Georgian: "10A0-10C510C710CD10D0-10FA10FC-10FF2D00-2D252D272D2D", + Glagolitic: "2C00-2C2E2C30-2C5E", + Greek: "0370-03730375-0377037A-037D038403860388-038A038C038E-03A103A3-03E103F0-03FF1D26-1D2A1D5D-1D611D66-1D6A1DBF1F00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FC41FC6-1FD31FD6-1FDB1FDD-1FEF1FF2-1FF41FF6-1FFE2126", + Gujarati: "0A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABC-0AC50AC7-0AC90ACB-0ACD0AD00AE0-0AE30AE6-0AF1", + Gurmukhi: "0A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3C0A3E-0A420A470A480A4B-0A4D0A510A59-0A5C0A5E0A66-0A75", + Han: "2E80-2E992E9B-2EF32F00-2FD5300530073021-30293038-303B3400-4DB54E00-9FCCF900-FA6DFA70-FAD9", + Hangul: "1100-11FF302E302F3131-318E3200-321E3260-327EA960-A97CAC00-D7A3D7B0-D7C6D7CB-D7FBFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC", + Hanunoo: "1720-1734", + Hebrew: "0591-05C705D0-05EA05F0-05F4FB1D-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FB4F", + Hiragana: "3041-3096309D-309F", + Inherited: "0300-036F04850486064B-0655065F0670095109521CD0-1CD21CD4-1CE01CE2-1CE81CED1CF41DC0-1DE61DFC-1DFF200C200D20D0-20F0302A-302D3099309AFE00-FE0FFE20-FE26", + Javanese: "A980-A9CDA9CF-A9D9A9DEA9DF", + Kannada: "0C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBC-0CC40CC6-0CC80CCA-0CCD0CD50CD60CDE0CE0-0CE30CE6-0CEF0CF10CF2", + Katakana: "30A1-30FA30FD-30FF31F0-31FF32D0-32FE3300-3357FF66-FF6FFF71-FF9D", + Kayah_Li: "A900-A92F", + Khmer: "1780-17DD17E0-17E917F0-17F919E0-19FF", + Lao: "0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60EC8-0ECD0ED0-0ED90EDC-0EDF", + Latin: "0041-005A0061-007A00AA00BA00C0-00D600D8-00F600F8-02B802E0-02E41D00-1D251D2C-1D5C1D62-1D651D6B-1D771D79-1DBE1E00-1EFF2071207F2090-209C212A212B2132214E2160-21882C60-2C7FA722-A787A78B-A78EA790-A793A7A0-A7AAA7F8-A7FFFB00-FB06FF21-FF3AFF41-FF5A", + Lepcha: "1C00-1C371C3B-1C491C4D-1C4F", + Limbu: "1900-191C1920-192B1930-193B19401944-194F", + Lisu: "A4D0-A4FF", + Malayalam: "0D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4E0D570D60-0D630D66-0D750D79-0D7F", + Mandaic: "0840-085B085E", + Meetei_Mayek: "AAE0-AAF6ABC0-ABEDABF0-ABF9", + Mongolian: "1800180118041806-180E1810-18191820-18771880-18AA", + Myanmar: "1000-109FAA60-AA7B", + New_Tai_Lue: "1980-19AB19B0-19C919D0-19DA19DE19DF", + Nko: "07C0-07FA", + Ogham: "1680-169C", + Ol_Chiki: "1C50-1C7F", + Oriya: "0B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3C-0B440B470B480B4B-0B4D0B560B570B5C0B5D0B5F-0B630B66-0B77", + Phags_Pa: "A840-A877", + Rejang: "A930-A953A95F", + Runic: "16A0-16EA16EE-16F0", + Samaritan: "0800-082D0830-083E", + Saurashtra: "A880-A8C4A8CE-A8D9", + Sinhala: "0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCA0DCF-0DD40DD60DD8-0DDF0DF2-0DF4", + Sundanese: "1B80-1BBF1CC0-1CC7", + Syloti_Nagri: "A800-A82B", + Syriac: "0700-070D070F-074A074D-074F", + Tagalog: "1700-170C170E-1714", + Tagbanwa: "1760-176C176E-177017721773", + Tai_Le: "1950-196D1970-1974", + Tai_Tham: "1A20-1A5E1A60-1A7C1A7F-1A891A90-1A991AA0-1AAD", + Tai_Viet: "AA80-AAC2AADB-AADF", + Tamil: "0B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCD0BD00BD70BE6-0BFA", + Telugu: "0C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4D0C550C560C580C590C60-0C630C66-0C6F0C78-0C7F", + Thaana: "0780-07B1", + Thai: "0E01-0E3A0E40-0E5B", + Tibetan: "0F00-0F470F49-0F6C0F71-0F970F99-0FBC0FBE-0FCC0FCE-0FD40FD90FDA", + Tifinagh: "2D30-2D672D6F2D702D7F", + Vai: "A500-A62B", + Yi: "A000-A48CA490-A4C6" + }); + +}(XRegExp)); + + +/***** unicode-blocks.js *****/ + +/*! + * XRegExp Unicode Blocks v1.2.0 + * (c) 2010-2012 Steven Levithan <http://xregexp.com/> + * MIT License + * Uses Unicode 6.1 <http://unicode.org/> + */ + +/** + * Adds support for all Unicode blocks in the Basic Multilingual Plane (U+0000-U+FFFF). Unicode + * blocks use the prefix "In". E.g., `\p{InBasicLatin}`. Token names are case insensitive, and any + * spaces, hyphens, and underscores are ignored. + * @requires XRegExp, XRegExp Unicode Base + */ +(function (XRegExp) { + "use strict"; + + if (!XRegExp.addUnicodePackage) { + throw new ReferenceError("Unicode Base must be loaded before Unicode Blocks"); + } + + XRegExp.install("extensibility"); + + XRegExp.addUnicodePackage({ + InBasic_Latin: "0000-007F", + InLatin_1_Supplement: "0080-00FF", + InLatin_Extended_A: "0100-017F", + InLatin_Extended_B: "0180-024F", + InIPA_Extensions: "0250-02AF", + InSpacing_Modifier_Letters: "02B0-02FF", + InCombining_Diacritical_Marks: "0300-036F", + InGreek_and_Coptic: "0370-03FF", + InCyrillic: "0400-04FF", + InCyrillic_Supplement: "0500-052F", + InArmenian: "0530-058F", + InHebrew: "0590-05FF", + InArabic: "0600-06FF", + InSyriac: "0700-074F", + InArabic_Supplement: "0750-077F", + InThaana: "0780-07BF", + InNKo: "07C0-07FF", + InSamaritan: "0800-083F", + InMandaic: "0840-085F", + InArabic_Extended_A: "08A0-08FF", + InDevanagari: "0900-097F", + InBengali: "0980-09FF", + InGurmukhi: "0A00-0A7F", + InGujarati: "0A80-0AFF", + InOriya: "0B00-0B7F", + InTamil: "0B80-0BFF", + InTelugu: "0C00-0C7F", + InKannada: "0C80-0CFF", + InMalayalam: "0D00-0D7F", + InSinhala: "0D80-0DFF", + InThai: "0E00-0E7F", + InLao: "0E80-0EFF", + InTibetan: "0F00-0FFF", + InMyanmar: "1000-109F", + InGeorgian: "10A0-10FF", + InHangul_Jamo: "1100-11FF", + InEthiopic: "1200-137F", + InEthiopic_Supplement: "1380-139F", + InCherokee: "13A0-13FF", + InUnified_Canadian_Aboriginal_Syllabics: "1400-167F", + InOgham: "1680-169F", + InRunic: "16A0-16FF", + InTagalog: "1700-171F", + InHanunoo: "1720-173F", + InBuhid: "1740-175F", + InTagbanwa: "1760-177F", + InKhmer: "1780-17FF", + InMongolian: "1800-18AF", + InUnified_Canadian_Aboriginal_Syllabics_Extended: "18B0-18FF", + InLimbu: "1900-194F", + InTai_Le: "1950-197F", + InNew_Tai_Lue: "1980-19DF", + InKhmer_Symbols: "19E0-19FF", + InBuginese: "1A00-1A1F", + InTai_Tham: "1A20-1AAF", + InBalinese: "1B00-1B7F", + InSundanese: "1B80-1BBF", + InBatak: "1BC0-1BFF", + InLepcha: "1C00-1C4F", + InOl_Chiki: "1C50-1C7F", + InSundanese_Supplement: "1CC0-1CCF", + InVedic_Extensions: "1CD0-1CFF", + InPhonetic_Extensions: "1D00-1D7F", + InPhonetic_Extensions_Supplement: "1D80-1DBF", + InCombining_Diacritical_Marks_Supplement: "1DC0-1DFF", + InLatin_Extended_Additional: "1E00-1EFF", + InGreek_Extended: "1F00-1FFF", + InGeneral_Punctuation: "2000-206F", + InSuperscripts_and_Subscripts: "2070-209F", + InCurrency_Symbols: "20A0-20CF", + InCombining_Diacritical_Marks_for_Symbols: "20D0-20FF", + InLetterlike_Symbols: "2100-214F", + InNumber_Forms: "2150-218F", + InArrows: "2190-21FF", + InMathematical_Operators: "2200-22FF", + InMiscellaneous_Technical: "2300-23FF", + InControl_Pictures: "2400-243F", + InOptical_Character_Recognition: "2440-245F", + InEnclosed_Alphanumerics: "2460-24FF", + InBox_Drawing: "2500-257F", + InBlock_Elements: "2580-259F", + InGeometric_Shapes: "25A0-25FF", + InMiscellaneous_Symbols: "2600-26FF", + InDingbats: "2700-27BF", + InMiscellaneous_Mathematical_Symbols_A: "27C0-27EF", + InSupplemental_Arrows_A: "27F0-27FF", + InBraille_Patterns: "2800-28FF", + InSupplemental_Arrows_B: "2900-297F", + InMiscellaneous_Mathematical_Symbols_B: "2980-29FF", + InSupplemental_Mathematical_Operators: "2A00-2AFF", + InMiscellaneous_Symbols_and_Arrows: "2B00-2BFF", + InGlagolitic: "2C00-2C5F", + InLatin_Extended_C: "2C60-2C7F", + InCoptic: "2C80-2CFF", + InGeorgian_Supplement: "2D00-2D2F", + InTifinagh: "2D30-2D7F", + InEthiopic_Extended: "2D80-2DDF", + InCyrillic_Extended_A: "2DE0-2DFF", + InSupplemental_Punctuation: "2E00-2E7F", + InCJK_Radicals_Supplement: "2E80-2EFF", + InKangxi_Radicals: "2F00-2FDF", + InIdeographic_Description_Characters: "2FF0-2FFF", + InCJK_Symbols_and_Punctuation: "3000-303F", + InHiragana: "3040-309F", + InKatakana: "30A0-30FF", + InBopomofo: "3100-312F", + InHangul_Compatibility_Jamo: "3130-318F", + InKanbun: "3190-319F", + InBopomofo_Extended: "31A0-31BF", + InCJK_Strokes: "31C0-31EF", + InKatakana_Phonetic_Extensions: "31F0-31FF", + InEnclosed_CJK_Letters_and_Months: "3200-32FF", + InCJK_Compatibility: "3300-33FF", + InCJK_Unified_Ideographs_Extension_A: "3400-4DBF", + InYijing_Hexagram_Symbols: "4DC0-4DFF", + InCJK_Unified_Ideographs: "4E00-9FFF", + InYi_Syllables: "A000-A48F", + InYi_Radicals: "A490-A4CF", + InLisu: "A4D0-A4FF", + InVai: "A500-A63F", + InCyrillic_Extended_B: "A640-A69F", + InBamum: "A6A0-A6FF", + InModifier_Tone_Letters: "A700-A71F", + InLatin_Extended_D: "A720-A7FF", + InSyloti_Nagri: "A800-A82F", + InCommon_Indic_Number_Forms: "A830-A83F", + InPhags_pa: "A840-A87F", + InSaurashtra: "A880-A8DF", + InDevanagari_Extended: "A8E0-A8FF", + InKayah_Li: "A900-A92F", + InRejang: "A930-A95F", + InHangul_Jamo_Extended_A: "A960-A97F", + InJavanese: "A980-A9DF", + InCham: "AA00-AA5F", + InMyanmar_Extended_A: "AA60-AA7F", + InTai_Viet: "AA80-AADF", + InMeetei_Mayek_Extensions: "AAE0-AAFF", + InEthiopic_Extended_A: "AB00-AB2F", + InMeetei_Mayek: "ABC0-ABFF", + InHangul_Syllables: "AC00-D7AF", + InHangul_Jamo_Extended_B: "D7B0-D7FF", + InHigh_Surrogates: "D800-DB7F", + InHigh_Private_Use_Surrogates: "DB80-DBFF", + InLow_Surrogates: "DC00-DFFF", + InPrivate_Use_Area: "E000-F8FF", + InCJK_Compatibility_Ideographs: "F900-FAFF", + InAlphabetic_Presentation_Forms: "FB00-FB4F", + InArabic_Presentation_Forms_A: "FB50-FDFF", + InVariation_Selectors: "FE00-FE0F", + InVertical_Forms: "FE10-FE1F", + InCombining_Half_Marks: "FE20-FE2F", + InCJK_Compatibility_Forms: "FE30-FE4F", + InSmall_Form_Variants: "FE50-FE6F", + InArabic_Presentation_Forms_B: "FE70-FEFF", + InHalfwidth_and_Fullwidth_Forms: "FF00-FFEF", + InSpecials: "FFF0-FFFF" + }); + +}(XRegExp)); + + +/***** unicode-properties.js *****/ + +/*! + * XRegExp Unicode Properties v1.0.0 + * (c) 2012 Steven Levithan <http://xregexp.com/> + * MIT License + * Uses Unicode 6.1 <http://unicode.org/> + */ + +/** + * Adds Unicode properties necessary to meet Level 1 Unicode support (detailed in UTS#18 RL1.2). + * Includes code points from the Basic Multilingual Plane (U+0000-U+FFFF) only. Token names are + * case insensitive, and any spaces, hyphens, and underscores are ignored. + * @requires XRegExp, XRegExp Unicode Base + */ +(function (XRegExp) { + "use strict"; + + if (!XRegExp.addUnicodePackage) { + throw new ReferenceError("Unicode Base must be loaded before Unicode Properties"); + } + + XRegExp.install("extensibility"); + + XRegExp.addUnicodePackage({ + Alphabetic: "0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE03450370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05270531-055605590561-058705B0-05BD05BF05C105C205C405C505C705D0-05EA05F0-05F20610-061A0620-06570659-065F066E-06D306D5-06DC06E1-06E806ED-06EF06FA-06FC06FF0710-073F074D-07B107CA-07EA07F407F507FA0800-0817081A-082C0840-085808A008A2-08AC08E4-08E908F0-08FE0900-093B093D-094C094E-09500955-09630971-09770979-097F0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BD-09C409C709C809CB09CC09CE09D709DC09DD09DF-09E309F009F10A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3E-0A420A470A480A4B0A4C0A510A59-0A5C0A5E0A70-0A750A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD-0AC50AC7-0AC90ACB0ACC0AD00AE0-0AE30B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D-0B440B470B480B4B0B4C0B560B570B5C0B5D0B5F-0B630B710B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCC0BD00BD70C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4C0C550C560C580C590C60-0C630C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD-0CC40CC6-0CC80CCA-0CCC0CD50CD60CDE0CE0-0CE30CF10CF20D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4C0D4E0D570D60-0D630D7A-0D7F0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCF-0DD40DD60DD8-0DDF0DF20DF30E01-0E3A0E40-0E460E4D0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60ECD0EDC-0EDF0F000F40-0F470F49-0F6C0F71-0F810F88-0F970F99-0FBC1000-10361038103B-103F1050-10621065-1068106E-1086108E109C109D10A0-10C510C710CD10D0-10FA10FC-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135F1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA16EE-16F01700-170C170E-17131720-17331740-17531760-176C176E-1770177217731780-17B317B6-17C817D717DC1820-18771880-18AA18B0-18F51900-191C1920-192B1930-19381950-196D1970-19741980-19AB19B0-19C91A00-1A1B1A20-1A5E1A61-1A741AA71B00-1B331B35-1B431B45-1B4B1B80-1BA91BAC-1BAF1BBA-1BE51BE7-1BF11C00-1C351C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF31CF51CF61D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209C21022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E2160-218824B6-24E92C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2CF22CF32D00-2D252D272D2D2D30-2D672D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2DE0-2DFF2E2F3005-30073021-30293031-30353038-303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A66EA674-A67BA67F-A697A69F-A6EFA717-A71FA722-A788A78B-A78EA790-A793A7A0-A7AAA7F8-A801A803-A805A807-A80AA80C-A827A840-A873A880-A8C3A8F2-A8F7A8FBA90A-A92AA930-A952A960-A97CA980-A9B2A9B4-A9BFA9CFAA00-AA36AA40-AA4DAA60-AA76AA7AAA80-AABEAAC0AAC2AADB-AADDAAE0-AAEFAAF2-AAF5AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABEAAC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1D-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC", + Uppercase: "0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E05200522052405260531-055610A0-10C510C710CD1E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F21452160-216F218324B6-24CF2C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CED2CF2A640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA660A662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BA78DA790A792A7A0A7A2A7A4A7A6A7A8A7AAFF21-FF3A", + Lowercase: "0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02B802C002C102E0-02E40345037103730377037A-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F05210523052505270561-05871D00-1DBF1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF72071207F2090-209C210A210E210F2113212F21342139213C213D2146-2149214E2170-217F218424D0-24E92C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7D2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2CF32D00-2D252D272D2DA641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA661A663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76F-A778A77AA77CA77FA781A783A785A787A78CA78EA791A793A7A1A7A3A7A5A7A7A7A9A7F8-A7FAFB00-FB06FB13-FB17FF41-FF5A", + White_Space: "0009-000D0020008500A01680180E2000-200A20282029202F205F3000", + Noncharacter_Code_Point: "FDD0-FDEFFFFEFFFF", + Default_Ignorable_Code_Point: "00AD034F115F116017B417B5180B-180D200B-200F202A-202E2060-206F3164FE00-FE0FFEFFFFA0FFF0-FFF8", + // \p{Any} matches a code unit. To match any code point via surrogate pairs, use (?:[\0-\uD7FF\uDC00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF]) + Any: "0000-FFFF", // \p{^Any} compiles to [^\u0000-\uFFFF]; [\p{^Any}] to [] + Ascii: "0000-007F", + // \p{Assigned} is equivalent to \p{^Cn} + //Assigned: XRegExp("[\\p{^Cn}]").source.replace(/[[\]]|\\u/g, "") // Negation inside a character class triggers inversion + Assigned: "0000-0377037A-037E0384-038A038C038E-03A103A3-05270531-05560559-055F0561-05870589058A058F0591-05C705D0-05EA05F0-05F40600-06040606-061B061E-070D070F-074A074D-07B107C0-07FA0800-082D0830-083E0840-085B085E08A008A2-08AC08E4-08FE0900-09770979-097F0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BC-09C409C709C809CB-09CE09D709DC09DD09DF-09E309E6-09FB0A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3C0A3E-0A420A470A480A4B-0A4D0A510A59-0A5C0A5E0A66-0A750A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABC-0AC50AC7-0AC90ACB-0ACD0AD00AE0-0AE30AE6-0AF10B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3C-0B440B470B480B4B-0B4D0B560B570B5C0B5D0B5F-0B630B66-0B770B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCD0BD00BD70BE6-0BFA0C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4D0C550C560C580C590C60-0C630C66-0C6F0C78-0C7F0C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBC-0CC40CC6-0CC80CCA-0CCD0CD50CD60CDE0CE0-0CE30CE6-0CEF0CF10CF20D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4E0D570D60-0D630D66-0D750D79-0D7F0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCA0DCF-0DD40DD60DD8-0DDF0DF2-0DF40E01-0E3A0E3F-0E5B0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60EC8-0ECD0ED0-0ED90EDC-0EDF0F00-0F470F49-0F6C0F71-0F970F99-0FBC0FBE-0FCC0FCE-0FDA1000-10C510C710CD10D0-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135D-137C1380-139913A0-13F41400-169C16A0-16F01700-170C170E-17141720-17361740-17531760-176C176E-1770177217731780-17DD17E0-17E917F0-17F91800-180E1810-18191820-18771880-18AA18B0-18F51900-191C1920-192B1930-193B19401944-196D1970-19741980-19AB19B0-19C919D0-19DA19DE-1A1B1A1E-1A5E1A60-1A7C1A7F-1A891A90-1A991AA0-1AAD1B00-1B4B1B50-1B7C1B80-1BF31BFC-1C371C3B-1C491C4D-1C7F1CC0-1CC71CD0-1CF61D00-1DE61DFC-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FC41FC6-1FD31FD6-1FDB1FDD-1FEF1FF2-1FF41FF6-1FFE2000-2064206A-20712074-208E2090-209C20A0-20B920D0-20F02100-21892190-23F32400-24262440-244A2460-26FF2701-2B4C2B50-2B592C00-2C2E2C30-2C5E2C60-2CF32CF9-2D252D272D2D2D30-2D672D6F2D702D7F-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2DE0-2E3B2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB3000-303F3041-30963099-30FF3105-312D3131-318E3190-31BA31C0-31E331F0-321E3220-32FE3300-4DB54DC0-9FCCA000-A48CA490-A4C6A4D0-A62BA640-A697A69F-A6F7A700-A78EA790-A793A7A0-A7AAA7F8-A82BA830-A839A840-A877A880-A8C4A8CE-A8D9A8E0-A8FBA900-A953A95F-A97CA980-A9CDA9CF-A9D9A9DEA9DFAA00-AA36AA40-AA4DAA50-AA59AA5C-AA7BAA80-AAC2AADB-AAF6AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABEDABF0-ABF9AC00-D7A3D7B0-D7C6D7CB-D7FBD800-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1D-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBC1FBD3-FD3FFD50-FD8FFD92-FDC7FDF0-FDFDFE00-FE19FE20-FE26FE30-FE52FE54-FE66FE68-FE6BFE70-FE74FE76-FEFCFEFFFF01-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDCFFE0-FFE6FFE8-FFEEFFF9-FFFD" + }); + +}(XRegExp)); + + +/***** matchrecursive.js *****/ + +/*! + * XRegExp.matchRecursive v0.2.0 + * (c) 2009-2012 Steven Levithan <http://xregexp.com/> + * MIT License + */ + +(function (XRegExp) { + "use strict"; + +/** + * Returns a match detail object composed of the provided values. + * @private + */ + function row(value, name, start, end) { + return {value:value, name:name, start:start, end:end}; + } + +/** + * Returns an array of match strings between outermost left and right delimiters, or an array of + * objects with detailed match parts and position data. An error is thrown if delimiters are + * unbalanced within the data. + * @memberOf XRegExp + * @param {String} str String to search. + * @param {String} left Left delimiter as an XRegExp pattern. + * @param {String} right Right delimiter as an XRegExp pattern. + * @param {String} [flags] Flags for the left and right delimiters. Use any of: `gimnsxy`. + * @param {Object} [options] Lets you specify `valueNames` and `escapeChar` options. + * @returns {Array} Array of matches, or an empty array. + * @example + * + * // Basic usage + * var str = '(t((e))s)t()(ing)'; + * XRegExp.matchRecursive(str, '\\(', '\\)', 'g'); + * // -> ['t((e))s', '', 'ing'] + * + * // Extended information mode with valueNames + * str = 'Here is <div> <div>an</div></div> example'; + * XRegExp.matchRecursive(str, '<div\\s*>', '</div>', 'gi', { + * valueNames: ['between', 'left', 'match', 'right'] + * }); + * // -> [ + * // {name: 'between', value: 'Here is ', start: 0, end: 8}, + * // {name: 'left', value: '<div>', start: 8, end: 13}, + * // {name: 'match', value: ' <div>an</div>', start: 13, end: 27}, + * // {name: 'right', value: '</div>', start: 27, end: 33}, + * // {name: 'between', value: ' example', start: 33, end: 41} + * // ] + * + * // Omitting unneeded parts with null valueNames, and using escapeChar + * str = '...{1}\\{{function(x,y){return y+x;}}'; + * XRegExp.matchRecursive(str, '{', '}', 'g', { + * valueNames: ['literal', null, 'value', null], + * escapeChar: '\\' + * }); + * // -> [ + * // {name: 'literal', value: '...', start: 0, end: 3}, + * // {name: 'value', value: '1', start: 4, end: 5}, + * // {name: 'literal', value: '\\{', start: 6, end: 8}, + * // {name: 'value', value: 'function(x,y){return y+x;}', start: 9, end: 35} + * // ] + * + * // Sticky mode via flag y + * str = '<1><<<2>>><3>4<5>'; + * XRegExp.matchRecursive(str, '<', '>', 'gy'); + * // -> ['1', '<<2>>', '3'] + */ + XRegExp.matchRecursive = function (str, left, right, flags, options) { + flags = flags || ""; + options = options || {}; + var global = flags.indexOf("g") > -1, + sticky = flags.indexOf("y") > -1, + basicFlags = flags.replace(/y/g, ""), // Flag y controlled internally + escapeChar = options.escapeChar, + vN = options.valueNames, + output = [], + openTokens = 0, + delimStart = 0, + delimEnd = 0, + lastOuterEnd = 0, + outerStart, + innerStart, + leftMatch, + rightMatch, + esc; + left = XRegExp(left, basicFlags); + right = XRegExp(right, basicFlags); + + if (escapeChar) { + if (escapeChar.length > 1) { + throw new SyntaxError("can't use more than one escape character"); + } + escapeChar = XRegExp.escape(escapeChar); + // Using XRegExp.union safely rewrites backreferences in `left` and `right` + esc = new RegExp( + "(?:" + escapeChar + "[\\S\\s]|(?:(?!" + XRegExp.union([left, right]).source + ")[^" + escapeChar + "])+)+", + flags.replace(/[^im]+/g, "") // Flags gy not needed here; flags nsx handled by XRegExp + ); + } + + while (true) { + // If using an escape character, advance to the delimiter's next starting position, + // skipping any escaped characters in between + if (escapeChar) { + delimEnd += (XRegExp.exec(str, esc, delimEnd, "sticky") || [""])[0].length; + } + leftMatch = XRegExp.exec(str, left, delimEnd); + rightMatch = XRegExp.exec(str, right, delimEnd); + // Keep the leftmost match only + if (leftMatch && rightMatch) { + if (leftMatch.index <= rightMatch.index) { + rightMatch = null; + } else { + leftMatch = null; + } + } + /* Paths (LM:leftMatch, RM:rightMatch, OT:openTokens): + LM | RM | OT | Result + 1 | 0 | 1 | loop + 1 | 0 | 0 | loop + 0 | 1 | 1 | loop + 0 | 1 | 0 | throw + 0 | 0 | 1 | throw + 0 | 0 | 0 | break + * Doesn't include the sticky mode special case + * Loop ends after the first completed match if `!global` */ + if (leftMatch || rightMatch) { + delimStart = (leftMatch || rightMatch).index; + delimEnd = delimStart + (leftMatch || rightMatch)[0].length; + } else if (!openTokens) { + break; + } + if (sticky && !openTokens && delimStart > lastOuterEnd) { + break; + } + if (leftMatch) { + if (!openTokens) { + outerStart = delimStart; + innerStart = delimEnd; + } + ++openTokens; + } else if (rightMatch && openTokens) { + if (!--openTokens) { + if (vN) { + if (vN[0] && outerStart > lastOuterEnd) { + output.push(row(vN[0], str.slice(lastOuterEnd, outerStart), lastOuterEnd, outerStart)); + } + if (vN[1]) { + output.push(row(vN[1], str.slice(outerStart, innerStart), outerStart, innerStart)); + } + if (vN[2]) { + output.push(row(vN[2], str.slice(innerStart, delimStart), innerStart, delimStart)); + } + if (vN[3]) { + output.push(row(vN[3], str.slice(delimStart, delimEnd), delimStart, delimEnd)); + } + } else { + output.push(str.slice(innerStart, delimStart)); + } + lastOuterEnd = delimEnd; + if (!global) { + break; + } + } + } else { + throw new Error("string contains unbalanced delimiters"); + } + // If the delimiter matched an empty string, avoid an infinite loop + if (delimStart === delimEnd) { + ++delimEnd; + } + } + + if (global && !sticky && vN && vN[0] && str.length > lastOuterEnd) { + output.push(row(vN[0], str.slice(lastOuterEnd), lastOuterEnd, str.length)); + } + + return output; + }; + +}(XRegExp)); + + +/***** build.js *****/ + +/*! + * XRegExp.build v0.1.0 + * (c) 2012 Steven Levithan <http://xregexp.com/> + * MIT License + * Inspired by RegExp.create by Lea Verou <http://lea.verou.me/> + */ + +(function (XRegExp) { + "use strict"; + + var subparts = /(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*]/g, + parts = XRegExp.union([/\({{([\w$]+)}}\)|{{([\w$]+)}}/, subparts], "g"); + +/** + * Strips a leading `^` and trailing unescaped `$`, if both are present. + * @private + * @param {String} pattern Pattern to process. + * @returns {String} Pattern with edge anchors removed. + */ + function deanchor(pattern) { + var startAnchor = /^(?:\(\?:\))?\^/, // Leading `^` or `(?:)^` (handles /x cruft) + endAnchor = /\$(?:\(\?:\))?$/; // Trailing `$` or `$(?:)` (handles /x cruft) + if (endAnchor.test(pattern.replace(/\\[\s\S]/g, ""))) { // Ensure trailing `$` isn't escaped + return pattern.replace(startAnchor, "").replace(endAnchor, ""); + } + return pattern; + } + +/** + * Converts the provided value to an XRegExp. + * @private + * @param {String|RegExp} value Value to convert. + * @returns {RegExp} XRegExp object with XRegExp syntax applied. + */ + function asXRegExp(value) { + return XRegExp.isRegExp(value) ? + (value.xregexp && !value.xregexp.isNative ? value : XRegExp(value.source)) : + XRegExp(value); + } + +/** + * Builds regexes using named subpatterns, for readability and pattern reuse. Backreferences in the + * outer pattern and provided subpatterns are automatically renumbered to work correctly. Native + * flags used by provided subpatterns are ignored in favor of the `flags` argument. + * @memberOf XRegExp + * @param {String} pattern XRegExp pattern using `{{name}}` for embedded subpatterns. Allows + * `({{name}})` as shorthand for `(?<name>{{name}})`. Patterns cannot be embedded within + * character classes. + * @param {Object} subs Lookup object for named subpatterns. Values can be strings or regexes. A + * leading `^` and trailing unescaped `$` are stripped from subpatterns, if both are present. + * @param {String} [flags] Any combination of XRegExp flags. + * @returns {RegExp} Regex with interpolated subpatterns. + * @example + * + * var time = XRegExp.build('(?x)^ {{hours}} ({{minutes}}) $', { + * hours: XRegExp.build('{{h12}} : | {{h24}}', { + * h12: /1[0-2]|0?[1-9]/, + * h24: /2[0-3]|[01][0-9]/ + * }, 'x'), + * minutes: /^[0-5][0-9]$/ + * }); + * time.test('10:59'); // -> true + * XRegExp.exec('10:59', time).minutes; // -> '59' + */ + XRegExp.build = function (pattern, subs, flags) { + var inlineFlags = /^\(\?([\w$]+)\)/.exec(pattern), + data = {}, + numCaps = 0, // Caps is short for captures + numPriorCaps, + numOuterCaps = 0, + outerCapsMap = [0], + outerCapNames, + sub, + p; + + // Add flags within a leading mode modifier to the overall pattern's flags + if (inlineFlags) { + flags = flags || ""; + inlineFlags[1].replace(/./g, function (flag) { + flags += (flags.indexOf(flag) > -1 ? "" : flag); // Don't add duplicates + }); + } + + for (p in subs) { + if (subs.hasOwnProperty(p)) { + // Passing to XRegExp enables entended syntax for subpatterns provided as strings + // and ensures independent validity, lest an unescaped `(`, `)`, `[`, or trailing + // `\` breaks the `(?:)` wrapper. For subpatterns provided as regexes, it dies on + // octals and adds the `xregexp` property, for simplicity + sub = asXRegExp(subs[p]); + // Deanchoring allows embedding independently useful anchored regexes. If you + // really need to keep your anchors, double them (i.e., `^^...$$`) + data[p] = {pattern: deanchor(sub.source), names: sub.xregexp.captureNames || []}; + } + } + + // Passing to XRegExp dies on octals and ensures the outer pattern is independently valid; + // helps keep this simple. Named captures will be put back + pattern = asXRegExp(pattern); + outerCapNames = pattern.xregexp.captureNames || []; + pattern = pattern.source.replace(parts, function ($0, $1, $2, $3, $4) { + var subName = $1 || $2, capName, intro; + if (subName) { // Named subpattern + if (!data.hasOwnProperty(subName)) { + throw new ReferenceError("undefined property " + $0); + } + if ($1) { // Named subpattern was wrapped in a capturing group + capName = outerCapNames[numOuterCaps]; + outerCapsMap[++numOuterCaps] = ++numCaps; + // If it's a named group, preserve the name. Otherwise, use the subpattern name + // as the capture name + intro = "(?<" + (capName || subName) + ">"; + } else { + intro = "(?:"; + } + numPriorCaps = numCaps; + return intro + data[subName].pattern.replace(subparts, function (match, paren, backref) { + if (paren) { // Capturing group + capName = data[subName].names[numCaps - numPriorCaps]; + ++numCaps; + if (capName) { // If the current capture has a name, preserve the name + return "(?<" + capName + ">"; + } + } else if (backref) { // Backreference + return "\\" + (+backref + numPriorCaps); // Rewrite the backreference + } + return match; + }) + ")"; + } + if ($3) { // Capturing group + capName = outerCapNames[numOuterCaps]; + outerCapsMap[++numOuterCaps] = ++numCaps; + if (capName) { // If the current capture has a name, preserve the name + return "(?<" + capName + ">"; + } + } else if ($4) { // Backreference + return "\\" + outerCapsMap[+$4]; // Rewrite the backreference + } + return $0; + }); + + return XRegExp(pattern, flags); + }; + +}(XRegExp)); + + +/***** prototypes.js *****/ + +/*! + * XRegExp Prototype Methods v1.0.0 + * (c) 2012 Steven Levithan <http://xregexp.com/> + * MIT License + */ + +/** + * Adds a collection of methods to `XRegExp.prototype`. RegExp objects copied by XRegExp are also + * augmented with any `XRegExp.prototype` methods. Hence, the following work equivalently: + * + * XRegExp('[a-z]', 'ig').xexec('abc'); + * XRegExp(/[a-z]/ig).xexec('abc'); + * XRegExp.globalize(/[a-z]/i).xexec('abc'); + */ +(function (XRegExp) { + "use strict"; + +/** + * Copy properties of `b` to `a`. + * @private + * @param {Object} a Object that will receive new properties. + * @param {Object} b Object whose properties will be copied. + */ + function extend(a, b) { + for (var p in b) { + if (b.hasOwnProperty(p)) { + a[p] = b[p]; + } + } + //return a; + } + + extend(XRegExp.prototype, { + +/** + * Implicitly calls the regex's `test` method with the first value in the provided arguments array. + * @memberOf XRegExp.prototype + * @param {*} context Ignored. Accepted only for congruity with `Function.prototype.apply`. + * @param {Array} args Array with the string to search as its first value. + * @returns {Boolean} Whether the regex matched the provided value. + * @example + * + * XRegExp('[a-z]').apply(null, ['abc']); // -> true + */ + apply: function (context, args) { + return this.test(args[0]); + }, + +/** + * Implicitly calls the regex's `test` method with the provided string. + * @memberOf XRegExp.prototype + * @param {*} context Ignored. Accepted only for congruity with `Function.prototype.call`. + * @param {String} str String to search. + * @returns {Boolean} Whether the regex matched the provided value. + * @example + * + * XRegExp('[a-z]').call(null, 'abc'); // -> true + */ + call: function (context, str) { + return this.test(str); + }, + +/** + * Implicitly calls {@link #XRegExp.forEach}. + * @memberOf XRegExp.prototype + * @example + * + * XRegExp('\\d').forEach('1a2345', function (match, i) { + * if (i % 2) this.push(+match[0]); + * }, []); + * // -> [2, 4] + */ + forEach: function (str, callback, context) { + return XRegExp.forEach(str, this, callback, context); + }, + +/** + * Implicitly calls {@link #XRegExp.globalize}. + * @memberOf XRegExp.prototype + * @example + * + * var globalCopy = XRegExp('regex').globalize(); + * globalCopy.global; // -> true + */ + globalize: function () { + return XRegExp.globalize(this); + }, + +/** + * Implicitly calls {@link #XRegExp.exec}. + * @memberOf XRegExp.prototype + * @example + * + * var match = XRegExp('U\\+(?<hex>[0-9A-F]{4})').xexec('U+2620'); + * match.hex; // -> '2620' + */ + xexec: function (str, pos, sticky) { + return XRegExp.exec(str, this, pos, sticky); + }, + +/** + * Implicitly calls {@link #XRegExp.test}. + * @memberOf XRegExp.prototype + * @example + * + * XRegExp('c').xtest('abc'); // -> true + */ + xtest: function (str, pos, sticky) { + return XRegExp.test(str, this, pos, sticky); + } + + }); + +}(XRegExp)); + diff --git a/static/admin/js/vendor/xregexp/xregexp.1865b1cf5085.js.gz b/static/admin/js/vendor/xregexp/xregexp.1865b1cf5085.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..bc672e00cc533275d6bd2319edf59c2025dfe6b4 GIT binary patch literal 39385 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 Z>8z6DH~w$aGCTO6eWL@%DU<Jv3;=F1A-w<q literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/xregexp/xregexp.js b/static/admin/js/vendor/xregexp/xregexp.js new file mode 100644 index 0000000..7a4454e --- /dev/null +++ b/static/admin/js/vendor/xregexp/xregexp.js @@ -0,0 +1,2308 @@ + +/***** xregexp.js *****/ + +/*! + * XRegExp v2.0.0 + * (c) 2007-2012 Steven Levithan <http://xregexp.com/> + * MIT License + */ + +/** + * XRegExp provides augmented, extensible JavaScript regular expressions. You get new syntax, + * flags, and methods beyond what browsers support natively. XRegExp is also a regex utility belt + * with tools to make your client-side grepping simpler and more powerful, while freeing you from + * worrying about pesky cross-browser inconsistencies and the dubious `lastIndex` property. See + * XRegExp's documentation (http://xregexp.com/) for more details. + * @module xregexp + * @requires N/A + */ +var XRegExp; + +// Avoid running twice; that would reset tokens and could break references to native globals +XRegExp = XRegExp || (function (undef) { + "use strict"; + +/*-------------------------------------- + * Private variables + *------------------------------------*/ + + var self, + addToken, + add, + +// Optional features; can be installed and uninstalled + features = { + natives: false, + extensibility: false + }, + +// Store native methods to use and restore ("native" is an ES3 reserved keyword) + nativ = { + exec: RegExp.prototype.exec, + test: RegExp.prototype.test, + match: String.prototype.match, + replace: String.prototype.replace, + split: String.prototype.split + }, + +// Storage for fixed/extended native methods + fixed = {}, + +// Storage for cached regexes + cache = {}, + +// Storage for addon tokens + tokens = [], + +// Token scopes + defaultScope = "default", + classScope = "class", + +// Regexes that match native regex syntax + nativeTokens = { + // Any native multicharacter token in default scope (includes octals, excludes character classes) + "default": /^(?:\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S])|\(\?[:=!]|[?*+]\?|{\d+(?:,\d*)?}\??)/, + // Any native multicharacter token in character class scope (includes octals) + "class": /^(?:\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S]))/ + }, + +// Any backreference in replacement strings + replacementToken = /\$(?:{([\w$]+)}|(\d\d?|[\s\S]))/g, + +// Any character with a later instance in the string + duplicateFlags = /([\s\S])(?=[\s\S]*\1)/g, + +// Any greedy/lazy quantifier + quantifier = /^(?:[?*+]|{\d+(?:,\d*)?})\??/, + +// Check for correct `exec` handling of nonparticipating capturing groups + compliantExecNpcg = nativ.exec.call(/()??/, "")[1] === undef, + +// Check for flag y support (Firefox 3+) + hasNativeY = RegExp.prototype.sticky !== undef, + +// Used to kill infinite recursion during XRegExp construction + isInsideConstructor = false, + +// Storage for known flags, including addon flags + registeredFlags = "gim" + (hasNativeY ? "y" : ""); + +/*-------------------------------------- + * Private helper functions + *------------------------------------*/ + +/** + * Attaches XRegExp.prototype properties and named capture supporting data to a regex object. + * @private + * @param {RegExp} regex Regex to augment. + * @param {Array} captureNames Array with capture names, or null. + * @param {Boolean} [isNative] Whether the regex was created by `RegExp` rather than `XRegExp`. + * @returns {RegExp} Augmented regex. + */ + function augment(regex, captureNames, isNative) { + var p; + // Can't auto-inherit these since the XRegExp constructor returns a nonprimitive value + for (p in self.prototype) { + if (self.prototype.hasOwnProperty(p)) { + regex[p] = self.prototype[p]; + } + } + regex.xregexp = {captureNames: captureNames, isNative: !!isNative}; + return regex; + } + +/** + * Returns native `RegExp` flags used by a regex object. + * @private + * @param {RegExp} regex Regex to check. + * @returns {String} Native flags in use. + */ + function getNativeFlags(regex) { + //return nativ.exec.call(/\/([a-z]*)$/i, String(regex))[1]; + return (regex.global ? "g" : "") + + (regex.ignoreCase ? "i" : "") + + (regex.multiline ? "m" : "") + + (regex.extended ? "x" : "") + // Proposed for ES6, included in AS3 + (regex.sticky ? "y" : ""); // Proposed for ES6, included in Firefox 3+ + } + +/** + * Copies a regex object while preserving special properties for named capture and augmenting with + * `XRegExp.prototype` methods. The copy has a fresh `lastIndex` property (set to zero). Allows + * adding and removing flags while copying the regex. + * @private + * @param {RegExp} regex Regex to copy. + * @param {String} [addFlags] Flags to be added while copying the regex. + * @param {String} [removeFlags] Flags to be removed while copying the regex. + * @returns {RegExp} Copy of the provided regex, possibly with modified flags. + */ + function copy(regex, addFlags, removeFlags) { + if (!self.isRegExp(regex)) { + throw new TypeError("type RegExp expected"); + } + var flags = nativ.replace.call(getNativeFlags(regex) + (addFlags || ""), duplicateFlags, ""); + if (removeFlags) { + // Would need to escape `removeFlags` if this was public + flags = nativ.replace.call(flags, new RegExp("[" + removeFlags + "]+", "g"), ""); + } + if (regex.xregexp && !regex.xregexp.isNative) { + // Compiling the current (rather than precompilation) source preserves the effects of nonnative source flags + regex = augment(self(regex.source, flags), + regex.xregexp.captureNames ? regex.xregexp.captureNames.slice(0) : null); + } else { + // Augment with `XRegExp.prototype` methods, but use native `RegExp` (avoid searching for special tokens) + regex = augment(new RegExp(regex.source, flags), null, true); + } + return regex; + } + +/* + * Returns the last index at which a given value can be found in an array, or `-1` if it's not + * present. The array is searched backwards. + * @private + * @param {Array} array Array to search. + * @param {*} value Value to locate in the array. + * @returns {Number} Last zero-based index at which the item is found, or -1. + */ + function lastIndexOf(array, value) { + var i = array.length; + if (Array.prototype.lastIndexOf) { + return array.lastIndexOf(value); // Use the native method if available + } + while (i--) { + if (array[i] === value) { + return i; + } + } + return -1; + } + +/** + * Determines whether an object is of the specified type. + * @private + * @param {*} value Object to check. + * @param {String} type Type to check for, in lowercase. + * @returns {Boolean} Whether the object matches the type. + */ + function isType(value, type) { + return Object.prototype.toString.call(value).toLowerCase() === "[object " + type + "]"; + } + +/** + * Prepares an options object from the given value. + * @private + * @param {String|Object} value Value to convert to an options object. + * @returns {Object} Options object. + */ + function prepareOptions(value) { + value = value || {}; + if (value === "all" || value.all) { + value = {natives: true, extensibility: true}; + } else if (isType(value, "string")) { + value = self.forEach(value, /[^\s,]+/, function (m) { + this[m] = true; + }, {}); + } + return value; + } + +/** + * Runs built-in/custom tokens in reverse insertion order, until a match is found. + * @private + * @param {String} pattern Original pattern from which an XRegExp object is being built. + * @param {Number} pos Position to search for tokens within `pattern`. + * @param {Number} scope Current regex scope. + * @param {Object} context Context object assigned to token handler functions. + * @returns {Object} Object with properties `output` (the substitution string returned by the + * successful token handler) and `match` (the token's match array), or null. + */ + function runTokens(pattern, pos, scope, context) { + var i = tokens.length, + result = null, + match, + t; + // Protect against constructing XRegExps within token handler and trigger functions + isInsideConstructor = true; + // Must reset `isInsideConstructor`, even if a `trigger` or `handler` throws + try { + while (i--) { // Run in reverse order + t = tokens[i]; + if ((t.scope === "all" || t.scope === scope) && (!t.trigger || t.trigger.call(context))) { + t.pattern.lastIndex = pos; + match = fixed.exec.call(t.pattern, pattern); // Fixed `exec` here allows use of named backreferences, etc. + if (match && match.index === pos) { + result = { + output: t.handler.call(context, match, scope), + match: match + }; + break; + } + } + } + } catch (err) { + throw err; + } finally { + isInsideConstructor = false; + } + return result; + } + +/** + * Enables or disables XRegExp syntax and flag extensibility. + * @private + * @param {Boolean} on `true` to enable; `false` to disable. + */ + function setExtensibility(on) { + self.addToken = addToken[on ? "on" : "off"]; + features.extensibility = on; + } + +/** + * Enables or disables native method overrides. + * @private + * @param {Boolean} on `true` to enable; `false` to disable. + */ + function setNatives(on) { + RegExp.prototype.exec = (on ? fixed : nativ).exec; + RegExp.prototype.test = (on ? fixed : nativ).test; + String.prototype.match = (on ? fixed : nativ).match; + String.prototype.replace = (on ? fixed : nativ).replace; + String.prototype.split = (on ? fixed : nativ).split; + features.natives = on; + } + +/*-------------------------------------- + * Constructor + *------------------------------------*/ + +/** + * Creates an extended regular expression object for matching text with a pattern. Differs from a + * native regular expression in that additional syntax and flags are supported. The returned object + * is in fact a native `RegExp` and works with all native methods. + * @class XRegExp + * @constructor + * @param {String|RegExp} pattern Regex pattern string, or an existing `RegExp` object to copy. + * @param {String} [flags] Any combination of flags: + * <li>`g` - global + * <li>`i` - ignore case + * <li>`m` - multiline anchors + * <li>`n` - explicit capture + * <li>`s` - dot matches all (aka singleline) + * <li>`x` - free-spacing and line comments (aka extended) + * <li>`y` - sticky (Firefox 3+ only) + * Flags cannot be provided when constructing one `RegExp` from another. + * @returns {RegExp} Extended regular expression object. + * @example + * + * // With named capture and flag x + * date = XRegExp('(?<year> [0-9]{4}) -? # year \n\ + * (?<month> [0-9]{2}) -? # month \n\ + * (?<day> [0-9]{2}) # day ', 'x'); + * + * // Passing a regex object to copy it. The copy maintains special properties for named capture, + * // is augmented with `XRegExp.prototype` methods, and has a fresh `lastIndex` property (set to + * // zero). Native regexes are not recompiled using XRegExp syntax. + * XRegExp(/regex/); + */ + self = function (pattern, flags) { + if (self.isRegExp(pattern)) { + if (flags !== undef) { + throw new TypeError("can't supply flags when constructing one RegExp from another"); + } + return copy(pattern); + } + // Tokens become part of the regex construction process, so protect against infinite recursion + // when an XRegExp is constructed within a token handler function + if (isInsideConstructor) { + throw new Error("can't call the XRegExp constructor within token definition functions"); + } + + var output = [], + scope = defaultScope, + tokenContext = { + hasNamedCapture: false, + captureNames: [], + hasFlag: function (flag) { + return flags.indexOf(flag) > -1; + } + }, + pos = 0, + tokenResult, + match, + chr; + pattern = pattern === undef ? "" : String(pattern); + flags = flags === undef ? "" : String(flags); + + if (nativ.match.call(flags, duplicateFlags)) { // Don't use test/exec because they would update lastIndex + throw new SyntaxError("invalid duplicate regular expression flag"); + } + // Strip/apply leading mode modifier with any combination of flags except g or y: (?imnsx) + pattern = nativ.replace.call(pattern, /^\(\?([\w$]+)\)/, function ($0, $1) { + if (nativ.test.call(/[gy]/, $1)) { + throw new SyntaxError("can't use flag g or y in mode modifier"); + } + flags = nativ.replace.call(flags + $1, duplicateFlags, ""); + return ""; + }); + self.forEach(flags, /[\s\S]/, function (m) { + if (registeredFlags.indexOf(m[0]) < 0) { + throw new SyntaxError("invalid regular expression flag " + m[0]); + } + }); + + while (pos < pattern.length) { + // Check for custom tokens at the current position + tokenResult = runTokens(pattern, pos, scope, tokenContext); + if (tokenResult) { + output.push(tokenResult.output); + pos += (tokenResult.match[0].length || 1); + } else { + // Check for native tokens (except character classes) at the current position + match = nativ.exec.call(nativeTokens[scope], pattern.slice(pos)); + if (match) { + output.push(match[0]); + pos += match[0].length; + } else { + chr = pattern.charAt(pos); + if (chr === "[") { + scope = classScope; + } else if (chr === "]") { + scope = defaultScope; + } + // Advance position by one character + output.push(chr); + ++pos; + } + } + } + + return augment(new RegExp(output.join(""), nativ.replace.call(flags, /[^gimy]+/g, "")), + tokenContext.hasNamedCapture ? tokenContext.captureNames : null); + }; + +/*-------------------------------------- + * Public methods/properties + *------------------------------------*/ + +// Installed and uninstalled states for `XRegExp.addToken` + addToken = { + on: function (regex, handler, options) { + options = options || {}; + if (regex) { + tokens.push({ + pattern: copy(regex, "g" + (hasNativeY ? "y" : "")), + handler: handler, + scope: options.scope || defaultScope, + trigger: options.trigger || null + }); + } + // Providing `customFlags` with null `regex` and `handler` allows adding flags that do + // nothing, but don't throw an error + if (options.customFlags) { + registeredFlags = nativ.replace.call(registeredFlags + options.customFlags, duplicateFlags, ""); + } + }, + off: function () { + throw new Error("extensibility must be installed before using addToken"); + } + }; + +/** + * Extends or changes XRegExp syntax and allows custom flags. This is used internally and can be + * used to create XRegExp addons. `XRegExp.install('extensibility')` must be run before calling + * this function, or an error is thrown. If more than one token can match the same string, the last + * added wins. + * @memberOf XRegExp + * @param {RegExp} regex Regex object that matches the new token. + * @param {Function} handler Function that returns a new pattern string (using native regex syntax) + * to replace the matched token within all future XRegExp regexes. Has access to persistent + * properties of the regex being built, through `this`. Invoked with two arguments: + * <li>The match array, with named backreference properties. + * <li>The regex scope where the match was found. + * @param {Object} [options] Options object with optional properties: + * <li>`scope` {String} Scopes where the token applies: 'default', 'class', or 'all'. + * <li>`trigger` {Function} Function that returns `true` when the token should be applied; e.g., + * if a flag is set. If `false` is returned, the matched string can be matched by other tokens. + * Has access to persistent properties of the regex being built, through `this` (including + * function `this.hasFlag`). + * <li>`customFlags` {String} Nonnative flags used by the token's handler or trigger functions. + * Prevents XRegExp from throwing an invalid flag error when the specified flags are used. + * @example + * + * // Basic usage: Adds \a for ALERT character + * XRegExp.addToken( + * /\\a/, + * function () {return '\\x07';}, + * {scope: 'all'} + * ); + * XRegExp('\\a[\\a-\\n]+').test('\x07\n\x07'); // -> true + */ + self.addToken = addToken.off; + +/** + * Caches and returns the result of calling `XRegExp(pattern, flags)`. On any subsequent call with + * the same pattern and flag combination, the cached copy is returned. + * @memberOf XRegExp + * @param {String} pattern Regex pattern string. + * @param {String} [flags] Any combination of XRegExp flags. + * @returns {RegExp} Cached XRegExp object. + * @example + * + * while (match = XRegExp.cache('.', 'gs').exec(str)) { + * // The regex is compiled once only + * } + */ + self.cache = function (pattern, flags) { + var key = pattern + "/" + (flags || ""); + return cache[key] || (cache[key] = self(pattern, flags)); + }; + +/** + * Escapes any regular expression metacharacters, for use when matching literal strings. The result + * can safely be used at any point within a regex that uses any flags. + * @memberOf XRegExp + * @param {String} str String to escape. + * @returns {String} String with regex metacharacters escaped. + * @example + * + * XRegExp.escape('Escaped? <.>'); + * // -> 'Escaped\?\ <\.>' + */ + self.escape = function (str) { + return nativ.replace.call(str, /[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); + }; + +/** + * Executes a regex search in a specified string. Returns a match array or `null`. If the provided + * regex uses named capture, named backreference properties are included on the match array. + * Optional `pos` and `sticky` arguments specify the search start position, and whether the match + * must start at the specified position only. The `lastIndex` property of the provided regex is not + * used, but is updated for compatibility. Also fixes browser bugs compared to the native + * `RegExp.prototype.exec` and can be used reliably cross-browser. + * @memberOf XRegExp + * @param {String} str String to search. + * @param {RegExp} regex Regex to search with. + * @param {Number} [pos=0] Zero-based index at which to start the search. + * @param {Boolean|String} [sticky=false] Whether the match must start at the specified position + * only. The string `'sticky'` is accepted as an alternative to `true`. + * @returns {Array} Match array with named backreference properties, or null. + * @example + * + * // Basic use, with named backreference + * var match = XRegExp.exec('U+2620', XRegExp('U\\+(?<hex>[0-9A-F]{4})')); + * match.hex; // -> '2620' + * + * // With pos and sticky, in a loop + * var pos = 2, result = [], match; + * while (match = XRegExp.exec('<1><2><3><4>5<6>', /<(\d)>/, pos, 'sticky')) { + * result.push(match[1]); + * pos = match.index + match[0].length; + * } + * // result -> ['2', '3', '4'] + */ + self.exec = function (str, regex, pos, sticky) { + var r2 = copy(regex, "g" + (sticky && hasNativeY ? "y" : ""), (sticky === false ? "y" : "")), + match; + r2.lastIndex = pos = pos || 0; + match = fixed.exec.call(r2, str); // Fixed `exec` required for `lastIndex` fix, etc. + if (sticky && match && match.index !== pos) { + match = null; + } + if (regex.global) { + regex.lastIndex = match ? r2.lastIndex : 0; + } + return match; + }; + +/** + * Executes a provided function once per regex match. + * @memberOf XRegExp + * @param {String} str String to search. + * @param {RegExp} regex Regex to search with. + * @param {Function} callback Function to execute for each match. Invoked with four arguments: + * <li>The match array, with named backreference properties. + * <li>The zero-based match index. + * <li>The string being traversed. + * <li>The regex object being used to traverse the string. + * @param {*} [context] Object to use as `this` when executing `callback`. + * @returns {*} Provided `context` object. + * @example + * + * // Extracts every other digit from a string + * XRegExp.forEach('1a2345', /\d/, function (match, i) { + * if (i % 2) this.push(+match[0]); + * }, []); + * // -> [2, 4] + */ + self.forEach = function (str, regex, callback, context) { + var pos = 0, + i = -1, + match; + while ((match = self.exec(str, regex, pos))) { + callback.call(context, match, ++i, str, regex); + pos = match.index + (match[0].length || 1); + } + return context; + }; + +/** + * Copies a regex object and adds flag `g`. The copy maintains special properties for named + * capture, is augmented with `XRegExp.prototype` methods, and has a fresh `lastIndex` property + * (set to zero). Native regexes are not recompiled using XRegExp syntax. + * @memberOf XRegExp + * @param {RegExp} regex Regex to globalize. + * @returns {RegExp} Copy of the provided regex with flag `g` added. + * @example + * + * var globalCopy = XRegExp.globalize(/regex/); + * globalCopy.global; // -> true + */ + self.globalize = function (regex) { + return copy(regex, "g"); + }; + +/** + * Installs optional features according to the specified options. + * @memberOf XRegExp + * @param {Object|String} options Options object or string. + * @example + * + * // With an options object + * XRegExp.install({ + * // Overrides native regex methods with fixed/extended versions that support named + * // backreferences and fix numerous cross-browser bugs + * natives: true, + * + * // Enables extensibility of XRegExp syntax and flags + * extensibility: true + * }); + * + * // With an options string + * XRegExp.install('natives extensibility'); + * + * // Using a shortcut to install all optional features + * XRegExp.install('all'); + */ + self.install = function (options) { + options = prepareOptions(options); + if (!features.natives && options.natives) { + setNatives(true); + } + if (!features.extensibility && options.extensibility) { + setExtensibility(true); + } + }; + +/** + * Checks whether an individual optional feature is installed. + * @memberOf XRegExp + * @param {String} feature Name of the feature to check. One of: + * <li>`natives` + * <li>`extensibility` + * @returns {Boolean} Whether the feature is installed. + * @example + * + * XRegExp.isInstalled('natives'); + */ + self.isInstalled = function (feature) { + return !!(features[feature]); + }; + +/** + * Returns `true` if an object is a regex; `false` if it isn't. This works correctly for regexes + * created in another frame, when `instanceof` and `constructor` checks would fail. + * @memberOf XRegExp + * @param {*} value Object to check. + * @returns {Boolean} Whether the object is a `RegExp` object. + * @example + * + * XRegExp.isRegExp('string'); // -> false + * XRegExp.isRegExp(/regex/i); // -> true + * XRegExp.isRegExp(RegExp('^', 'm')); // -> true + * XRegExp.isRegExp(XRegExp('(?s).')); // -> true + */ + self.isRegExp = function (value) { + return isType(value, "regexp"); + }; + +/** + * Retrieves the matches from searching a string using a chain of regexes that successively search + * within previous matches. The provided `chain` array can contain regexes and objects with `regex` + * and `backref` properties. When a backreference is specified, the named or numbered backreference + * is passed forward to the next regex or returned. + * @memberOf XRegExp + * @param {String} str String to search. + * @param {Array} chain Regexes that each search for matches within preceding results. + * @returns {Array} Matches by the last regex in the chain, or an empty array. + * @example + * + * // Basic usage; matches numbers within <b> tags + * XRegExp.matchChain('1 <b>2</b> 3 <b>4 a 56</b>', [ + * XRegExp('(?is)<b>.*?</b>'), + * /\d+/ + * ]); + * // -> ['2', '4', '56'] + * + * // Passing forward and returning specific backreferences + * html = '<a href="http://xregexp.com/api/">XRegExp</a>\ + * <a href="http://www.google.com/">Google</a>'; + * XRegExp.matchChain(html, [ + * {regex: /<a href="([^"]+)">/i, backref: 1}, + * {regex: XRegExp('(?i)^https?://(?<domain>[^/?#]+)'), backref: 'domain'} + * ]); + * // -> ['xregexp.com', 'www.google.com'] + */ + self.matchChain = function (str, chain) { + return (function recurseChain(values, level) { + var item = chain[level].regex ? chain[level] : {regex: chain[level]}, + matches = [], + addMatch = function (match) { + matches.push(item.backref ? (match[item.backref] || "") : match[0]); + }, + i; + for (i = 0; i < values.length; ++i) { + self.forEach(values[i], item.regex, addMatch); + } + return ((level === chain.length - 1) || !matches.length) ? + matches : + recurseChain(matches, level + 1); + }([str], 0)); + }; + +/** + * Returns a new string with one or all matches of a pattern replaced. The pattern can be a string + * or regex, and the replacement can be a string or a function to be called for each match. To + * perform a global search and replace, use the optional `scope` argument or include flag `g` if + * using a regex. Replacement strings can use `${n}` for named and numbered backreferences. + * Replacement functions can use named backreferences via `arguments[0].name`. Also fixes browser + * bugs compared to the native `String.prototype.replace` and can be used reliably cross-browser. + * @memberOf XRegExp + * @param {String} str String to search. + * @param {RegExp|String} search Search pattern to be replaced. + * @param {String|Function} replacement Replacement string or a function invoked to create it. + * Replacement strings can include special replacement syntax: + * <li>$$ - Inserts a literal '$'. + * <li>$&, $0 - Inserts the matched substring. + * <li>$` - Inserts the string that precedes the matched substring (left context). + * <li>$' - Inserts the string that follows the matched substring (right context). + * <li>$n, $nn - Where n/nn are digits referencing an existent capturing group, inserts + * backreference n/nn. + * <li>${n} - Where n is a name or any number of digits that reference an existent capturing + * group, inserts backreference n. + * Replacement functions are invoked with three or more arguments: + * <li>The matched substring (corresponds to $& above). Named backreferences are accessible as + * properties of this first argument. + * <li>0..n arguments, one for each backreference (corresponding to $1, $2, etc. above). + * <li>The zero-based index of the match within the total search string. + * <li>The total string being searched. + * @param {String} [scope='one'] Use 'one' to replace the first match only, or 'all'. If not + * explicitly specified and using a regex with flag `g`, `scope` is 'all'. + * @returns {String} New string with one or all matches replaced. + * @example + * + * // Regex search, using named backreferences in replacement string + * var name = XRegExp('(?<first>\\w+) (?<last>\\w+)'); + * XRegExp.replace('John Smith', name, '${last}, ${first}'); + * // -> 'Smith, John' + * + * // Regex search, using named backreferences in replacement function + * XRegExp.replace('John Smith', name, function (match) { + * return match.last + ', ' + match.first; + * }); + * // -> 'Smith, John' + * + * // Global string search/replacement + * XRegExp.replace('RegExp builds RegExps', 'RegExp', 'XRegExp', 'all'); + * // -> 'XRegExp builds XRegExps' + */ + self.replace = function (str, search, replacement, scope) { + var isRegex = self.isRegExp(search), + search2 = search, + result; + if (isRegex) { + if (scope === undef && search.global) { + scope = "all"; // Follow flag g when `scope` isn't explicit + } + // Note that since a copy is used, `search`'s `lastIndex` isn't updated *during* replacement iterations + search2 = copy(search, scope === "all" ? "g" : "", scope === "all" ? "" : "g"); + } else if (scope === "all") { + search2 = new RegExp(self.escape(String(search)), "g"); + } + result = fixed.replace.call(String(str), search2, replacement); // Fixed `replace` required for named backreferences, etc. + if (isRegex && search.global) { + search.lastIndex = 0; // Fixes IE, Safari bug (last tested IE 9, Safari 5.1) + } + return result; + }; + +/** + * Splits a string into an array of strings using a regex or string separator. Matches of the + * separator are not included in the result array. However, if `separator` is a regex that contains + * capturing groups, backreferences are spliced into the result each time `separator` is matched. + * Fixes browser bugs compared to the native `String.prototype.split` and can be used reliably + * cross-browser. + * @memberOf XRegExp + * @param {String} str String to split. + * @param {RegExp|String} separator Regex or string to use for separating the string. + * @param {Number} [limit] Maximum number of items to include in the result array. + * @returns {Array} Array of substrings. + * @example + * + * // Basic use + * XRegExp.split('a b c', ' '); + * // -> ['a', 'b', 'c'] + * + * // With limit + * XRegExp.split('a b c', ' ', 2); + * // -> ['a', 'b'] + * + * // Backreferences in result array + * XRegExp.split('..word1..', /([a-z]+)(\d+)/i); + * // -> ['..', 'word', '1', '..'] + */ + self.split = function (str, separator, limit) { + return fixed.split.call(str, separator, limit); + }; + +/** + * Executes a regex search in a specified string. Returns `true` or `false`. Optional `pos` and + * `sticky` arguments specify the search start position, and whether the match must start at the + * specified position only. The `lastIndex` property of the provided regex is not used, but is + * updated for compatibility. Also fixes browser bugs compared to the native + * `RegExp.prototype.test` and can be used reliably cross-browser. + * @memberOf XRegExp + * @param {String} str String to search. + * @param {RegExp} regex Regex to search with. + * @param {Number} [pos=0] Zero-based index at which to start the search. + * @param {Boolean|String} [sticky=false] Whether the match must start at the specified position + * only. The string `'sticky'` is accepted as an alternative to `true`. + * @returns {Boolean} Whether the regex matched the provided value. + * @example + * + * // Basic use + * XRegExp.test('abc', /c/); // -> true + * + * // With pos and sticky + * XRegExp.test('abc', /c/, 0, 'sticky'); // -> false + */ + self.test = function (str, regex, pos, sticky) { + // Do this the easy way :-) + return !!self.exec(str, regex, pos, sticky); + }; + +/** + * Uninstalls optional features according to the specified options. + * @memberOf XRegExp + * @param {Object|String} options Options object or string. + * @example + * + * // With an options object + * XRegExp.uninstall({ + * // Restores native regex methods + * natives: true, + * + * // Disables additional syntax and flag extensions + * extensibility: true + * }); + * + * // With an options string + * XRegExp.uninstall('natives extensibility'); + * + * // Using a shortcut to uninstall all optional features + * XRegExp.uninstall('all'); + */ + self.uninstall = function (options) { + options = prepareOptions(options); + if (features.natives && options.natives) { + setNatives(false); + } + if (features.extensibility && options.extensibility) { + setExtensibility(false); + } + }; + +/** + * Returns an XRegExp object that is the union of the given patterns. Patterns can be provided as + * regex objects or strings. Metacharacters are escaped in patterns provided as strings. + * Backreferences in provided regex objects are automatically renumbered to work correctly. Native + * flags used by provided regexes are ignored in favor of the `flags` argument. + * @memberOf XRegExp + * @param {Array} patterns Regexes and strings to combine. + * @param {String} [flags] Any combination of XRegExp flags. + * @returns {RegExp} Union of the provided regexes and strings. + * @example + * + * XRegExp.union(['a+b*c', /(dogs)\1/, /(cats)\1/], 'i'); + * // -> /a\+b\*c|(dogs)\1|(cats)\2/i + * + * XRegExp.union([XRegExp('(?<pet>dogs)\\k<pet>'), XRegExp('(?<pet>cats)\\k<pet>')]); + * // -> XRegExp('(?<pet>dogs)\\k<pet>|(?<pet>cats)\\k<pet>') + */ + self.union = function (patterns, flags) { + var parts = /(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*]/g, + numCaptures = 0, + numPriorCaptures, + captureNames, + rewrite = function (match, paren, backref) { + var name = captureNames[numCaptures - numPriorCaptures]; + if (paren) { // Capturing group + ++numCaptures; + if (name) { // If the current capture has a name + return "(?<" + name + ">"; + } + } else if (backref) { // Backreference + return "\\" + (+backref + numPriorCaptures); + } + return match; + }, + output = [], + pattern, + i; + if (!(isType(patterns, "array") && patterns.length)) { + throw new TypeError("patterns must be a nonempty array"); + } + for (i = 0; i < patterns.length; ++i) { + pattern = patterns[i]; + if (self.isRegExp(pattern)) { + numPriorCaptures = numCaptures; + captureNames = (pattern.xregexp && pattern.xregexp.captureNames) || []; + // Rewrite backreferences. Passing to XRegExp dies on octals and ensures patterns + // are independently valid; helps keep this simple. Named captures are put back + output.push(self(pattern.source).source.replace(parts, rewrite)); + } else { + output.push(self.escape(pattern)); + } + } + return self(output.join("|"), flags); + }; + +/** + * The XRegExp version number. + * @static + * @memberOf XRegExp + * @type String + */ + self.version = "2.0.0"; + +/*-------------------------------------- + * Fixed/extended native methods + *------------------------------------*/ + +/** + * Adds named capture support (with backreferences returned as `result.name`), and fixes browser + * bugs in the native `RegExp.prototype.exec`. Calling `XRegExp.install('natives')` uses this to + * override the native method. Use via `XRegExp.exec` without overriding natives. + * @private + * @param {String} str String to search. + * @returns {Array} Match array with named backreference properties, or null. + */ + fixed.exec = function (str) { + var match, name, r2, origLastIndex, i; + if (!this.global) { + origLastIndex = this.lastIndex; + } + match = nativ.exec.apply(this, arguments); + if (match) { + // Fix browsers whose `exec` methods don't consistently return `undefined` for + // nonparticipating capturing groups + if (!compliantExecNpcg && match.length > 1 && lastIndexOf(match, "") > -1) { + r2 = new RegExp(this.source, nativ.replace.call(getNativeFlags(this), "g", "")); + // Using `str.slice(match.index)` rather than `match[0]` in case lookahead allowed + // matching due to characters outside the match + nativ.replace.call(String(str).slice(match.index), r2, function () { + var i; + for (i = 1; i < arguments.length - 2; ++i) { + if (arguments[i] === undef) { + match[i] = undef; + } + } + }); + } + // Attach named capture properties + if (this.xregexp && this.xregexp.captureNames) { + for (i = 1; i < match.length; ++i) { + name = this.xregexp.captureNames[i - 1]; + if (name) { + match[name] = match[i]; + } + } + } + // Fix browsers that increment `lastIndex` after zero-length matches + if (this.global && !match[0].length && (this.lastIndex > match.index)) { + this.lastIndex = match.index; + } + } + if (!this.global) { + this.lastIndex = origLastIndex; // Fixes IE, Opera bug (last tested IE 9, Opera 11.6) + } + return match; + }; + +/** + * Fixes browser bugs in the native `RegExp.prototype.test`. Calling `XRegExp.install('natives')` + * uses this to override the native method. + * @private + * @param {String} str String to search. + * @returns {Boolean} Whether the regex matched the provided value. + */ + fixed.test = function (str) { + // Do this the easy way :-) + return !!fixed.exec.call(this, str); + }; + +/** + * Adds named capture support (with backreferences returned as `result.name`), and fixes browser + * bugs in the native `String.prototype.match`. Calling `XRegExp.install('natives')` uses this to + * override the native method. + * @private + * @param {RegExp} regex Regex to search with. + * @returns {Array} If `regex` uses flag g, an array of match strings or null. Without flag g, the + * result of calling `regex.exec(this)`. + */ + fixed.match = function (regex) { + if (!self.isRegExp(regex)) { + regex = new RegExp(regex); // Use native `RegExp` + } else if (regex.global) { + var result = nativ.match.apply(this, arguments); + regex.lastIndex = 0; // Fixes IE bug + return result; + } + return fixed.exec.call(regex, this); + }; + +/** + * Adds support for `${n}` tokens for named and numbered backreferences in replacement text, and + * provides named backreferences to replacement functions as `arguments[0].name`. Also fixes + * browser bugs in replacement text syntax when performing a replacement using a nonregex search + * value, and the value of a replacement regex's `lastIndex` property during replacement iterations + * and upon completion. Note that this doesn't support SpiderMonkey's proprietary third (`flags`) + * argument. Calling `XRegExp.install('natives')` uses this to override the native method. Use via + * `XRegExp.replace` without overriding natives. + * @private + * @param {RegExp|String} search Search pattern to be replaced. + * @param {String|Function} replacement Replacement string or a function invoked to create it. + * @returns {String} New string with one or all matches replaced. + */ + fixed.replace = function (search, replacement) { + var isRegex = self.isRegExp(search), captureNames, result, str, origLastIndex; + if (isRegex) { + if (search.xregexp) { + captureNames = search.xregexp.captureNames; + } + if (!search.global) { + origLastIndex = search.lastIndex; + } + } else { + search += ""; + } + if (isType(replacement, "function")) { + result = nativ.replace.call(String(this), search, function () { + var args = arguments, i; + if (captureNames) { + // Change the `arguments[0]` string primitive to a `String` object that can store properties + args[0] = new String(args[0]); + // Store named backreferences on the first argument + for (i = 0; i < captureNames.length; ++i) { + if (captureNames[i]) { + args[0][captureNames[i]] = args[i + 1]; + } + } + } + // Update `lastIndex` before calling `replacement`. + // Fixes IE, Chrome, Firefox, Safari bug (last tested IE 9, Chrome 17, Firefox 11, Safari 5.1) + if (isRegex && search.global) { + search.lastIndex = args[args.length - 2] + args[0].length; + } + return replacement.apply(null, args); + }); + } else { + str = String(this); // Ensure `args[args.length - 1]` will be a string when given nonstring `this` + result = nativ.replace.call(str, search, function () { + var args = arguments; // Keep this function's `arguments` available through closure + return nativ.replace.call(String(replacement), replacementToken, function ($0, $1, $2) { + var n; + // Named or numbered backreference with curly brackets + if ($1) { + /* XRegExp behavior for `${n}`: + * 1. Backreference to numbered capture, where `n` is 1+ digits. `0`, `00`, etc. is the entire match. + * 2. Backreference to named capture `n`, if it exists and is not a number overridden by numbered capture. + * 3. Otherwise, it's an error. + */ + n = +$1; // Type-convert; drop leading zeros + if (n <= args.length - 3) { + return args[n] || ""; + } + n = captureNames ? lastIndexOf(captureNames, $1) : -1; + if (n < 0) { + throw new SyntaxError("backreference to undefined group " + $0); + } + return args[n + 1] || ""; + } + // Else, special variable or numbered backreference (without curly brackets) + if ($2 === "$") return "$"; + if ($2 === "&" || +$2 === 0) return args[0]; // $&, $0 (not followed by 1-9), $00 + if ($2 === "`") return args[args.length - 1].slice(0, args[args.length - 2]); + if ($2 === "'") return args[args.length - 1].slice(args[args.length - 2] + args[0].length); + // Else, numbered backreference (without curly brackets) + $2 = +$2; // Type-convert; drop leading zero + /* XRegExp behavior: + * - Backreferences without curly brackets end after 1 or 2 digits. Use `${..}` for more digits. + * - `$1` is an error if there are no capturing groups. + * - `$10` is an error if there are less than 10 capturing groups. Use `${1}0` instead. + * - `$01` is equivalent to `$1` if a capturing group exists, otherwise it's an error. + * - `$0` (not followed by 1-9), `$00`, and `$&` are the entire match. + * Native behavior, for comparison: + * - Backreferences end after 1 or 2 digits. Cannot use backreference to capturing group 100+. + * - `$1` is a literal `$1` if there are no capturing groups. + * - `$10` is `$1` followed by a literal `0` if there are less than 10 capturing groups. + * - `$01` is equivalent to `$1` if a capturing group exists, otherwise it's a literal `$01`. + * - `$0` is a literal `$0`. `$&` is the entire match. + */ + if (!isNaN($2)) { + if ($2 > args.length - 3) { + throw new SyntaxError("backreference to undefined group " + $0); + } + return args[$2] || ""; + } + throw new SyntaxError("invalid token " + $0); + }); + }); + } + if (isRegex) { + if (search.global) { + search.lastIndex = 0; // Fixes IE, Safari bug (last tested IE 9, Safari 5.1) + } else { + search.lastIndex = origLastIndex; // Fixes IE, Opera bug (last tested IE 9, Opera 11.6) + } + } + return result; + }; + +/** + * Fixes browser bugs in the native `String.prototype.split`. Calling `XRegExp.install('natives')` + * uses this to override the native method. Use via `XRegExp.split` without overriding natives. + * @private + * @param {RegExp|String} separator Regex or string to use for separating the string. + * @param {Number} [limit] Maximum number of items to include in the result array. + * @returns {Array} Array of substrings. + */ + fixed.split = function (separator, limit) { + if (!self.isRegExp(separator)) { + return nativ.split.apply(this, arguments); // use faster native method + } + var str = String(this), + origLastIndex = separator.lastIndex, + output = [], + lastLastIndex = 0, + lastLength; + /* Values for `limit`, per the spec: + * If undefined: pow(2,32) - 1 + * If 0, Infinity, or NaN: 0 + * If positive number: limit = floor(limit); if (limit >= pow(2,32)) limit -= pow(2,32); + * If negative number: pow(2,32) - floor(abs(limit)) + * If other: Type-convert, then use the above rules + */ + limit = (limit === undef ? -1 : limit) >>> 0; + self.forEach(str, separator, function (match) { + if ((match.index + match[0].length) > lastLastIndex) { // != `if (match[0].length)` + output.push(str.slice(lastLastIndex, match.index)); + if (match.length > 1 && match.index < str.length) { + Array.prototype.push.apply(output, match.slice(1)); + } + lastLength = match[0].length; + lastLastIndex = match.index + lastLength; + } + }); + if (lastLastIndex === str.length) { + if (!nativ.test.call(separator, "") || lastLength) { + output.push(""); + } + } else { + output.push(str.slice(lastLastIndex)); + } + separator.lastIndex = origLastIndex; + return output.length > limit ? output.slice(0, limit) : output; + }; + +/*-------------------------------------- + * Built-in tokens + *------------------------------------*/ + +// Shortcut + add = addToken.on; + +/* Letter identity escapes that natively match literal characters: \p, \P, etc. + * Should be SyntaxErrors but are allowed in web reality. XRegExp makes them errors for cross- + * browser consistency and to reserve their syntax, but lets them be superseded by XRegExp addons. + */ + add(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4})|x(?![\dA-Fa-f]{2}))/, + function (match, scope) { + // \B is allowed in default scope only + if (match[1] === "B" && scope === defaultScope) { + return match[0]; + } + throw new SyntaxError("invalid escape " + match[0]); + }, + {scope: "all"}); + +/* Empty character class: [] or [^] + * Fixes a critical cross-browser syntax inconsistency. Unless this is standardized (per the spec), + * regex syntax can't be accurately parsed because character class endings can't be determined. + */ + add(/\[(\^?)]/, + function (match) { + // For cross-browser compatibility with ES3, convert [] to \b\B and [^] to [\s\S]. + // (?!) should work like \b\B, but is unreliable in Firefox + return match[1] ? "[\\s\\S]" : "\\b\\B"; + }); + +/* Comment pattern: (?# ) + * Inline comments are an alternative to the line comments allowed in free-spacing mode (flag x). + */ + add(/(?:\(\?#[^)]*\))+/, + function (match) { + // Keep tokens separated unless the following token is a quantifier + return nativ.test.call(quantifier, match.input.slice(match.index + match[0].length)) ? "" : "(?:)"; + }); + +/* Named backreference: \k<name> + * Backreference names can use the characters A-Z, a-z, 0-9, _, and $ only. + */ + add(/\\k<([\w$]+)>/, + function (match) { + var index = isNaN(match[1]) ? (lastIndexOf(this.captureNames, match[1]) + 1) : +match[1], + endIndex = match.index + match[0].length; + if (!index || index > this.captureNames.length) { + throw new SyntaxError("backreference to undefined group " + match[0]); + } + // Keep backreferences separate from subsequent literal numbers + return "\\" + index + ( + endIndex === match.input.length || isNaN(match.input.charAt(endIndex)) ? "" : "(?:)" + ); + }); + +/* Whitespace and line comments, in free-spacing mode (aka extended mode, flag x) only. + */ + add(/(?:\s+|#.*)+/, + function (match) { + // Keep tokens separated unless the following token is a quantifier + return nativ.test.call(quantifier, match.input.slice(match.index + match[0].length)) ? "" : "(?:)"; + }, + { + trigger: function () { + return this.hasFlag("x"); + }, + customFlags: "x" + }); + +/* Dot, in dotall mode (aka singleline mode, flag s) only. + */ + add(/\./, + function () { + return "[\\s\\S]"; + }, + { + trigger: function () { + return this.hasFlag("s"); + }, + customFlags: "s" + }); + +/* Named capturing group; match the opening delimiter only: (?<name> + * Capture names can use the characters A-Z, a-z, 0-9, _, and $ only. Names can't be integers. + * Supports Python-style (?P<name> as an alternate syntax to avoid issues in recent Opera (which + * natively supports the Python-style syntax). Otherwise, XRegExp might treat numbered + * backreferences to Python-style named capture as octals. + */ + add(/\(\?P?<([\w$]+)>/, + function (match) { + if (!isNaN(match[1])) { + // Avoid incorrect lookups, since named backreferences are added to match arrays + throw new SyntaxError("can't use integer as capture name " + match[0]); + } + this.captureNames.push(match[1]); + this.hasNamedCapture = true; + return "("; + }); + +/* Numbered backreference or octal, plus any following digits: \0, \11, etc. + * Octals except \0 not followed by 0-9 and backreferences to unopened capture groups throw an + * error. Other matches are returned unaltered. IE <= 8 doesn't support backreferences greater than + * \99 in regex syntax. + */ + add(/\\(\d+)/, + function (match, scope) { + if (!(scope === defaultScope && /^[1-9]/.test(match[1]) && +match[1] <= this.captureNames.length) && + match[1] !== "0") { + throw new SyntaxError("can't use octal escape or backreference to undefined group " + match[0]); + } + return match[0]; + }, + {scope: "all"}); + +/* Capturing group; match the opening parenthesis only. + * Required for support of named capturing groups. Also adds explicit capture mode (flag n). + */ + add(/\((?!\?)/, + function () { + if (this.hasFlag("n")) { + return "(?:"; + } + this.captureNames.push(null); + return "("; + }, + {customFlags: "n"}); + +/*-------------------------------------- + * Expose XRegExp + *------------------------------------*/ + +// For CommonJS enviroments + if (typeof exports !== "undefined") { + exports.XRegExp = self; + } + + return self; + +}()); + + +/***** unicode-base.js *****/ + +/*! + * XRegExp Unicode Base v1.0.0 + * (c) 2008-2012 Steven Levithan <http://xregexp.com/> + * MIT License + * Uses Unicode 6.1 <http://unicode.org/> + */ + +/** + * Adds support for the `\p{L}` or `\p{Letter}` Unicode category. Addon packages for other Unicode + * categories, scripts, blocks, and properties are available separately. All Unicode tokens can be + * inverted using `\P{..}` or `\p{^..}`. Token names are case insensitive, and any spaces, hyphens, + * and underscores are ignored. + * @requires XRegExp + */ +(function (XRegExp) { + "use strict"; + + var unicode = {}; + +/*-------------------------------------- + * Private helper functions + *------------------------------------*/ + +// Generates a standardized token name (lowercase, with hyphens, spaces, and underscores removed) + function slug(name) { + return name.replace(/[- _]+/g, "").toLowerCase(); + } + +// Expands a list of Unicode code points and ranges to be usable in a regex character class + function expand(str) { + return str.replace(/\w{4}/g, "\\u$&"); + } + +// Adds leading zeros if shorter than four characters + function pad4(str) { + while (str.length < 4) { + str = "0" + str; + } + return str; + } + +// Converts a hexadecimal number to decimal + function dec(hex) { + return parseInt(hex, 16); + } + +// Converts a decimal number to hexadecimal + function hex(dec) { + return parseInt(dec, 10).toString(16); + } + +// Inverts a list of Unicode code points and ranges + function invert(range) { + var output = [], + lastEnd = -1, + start; + XRegExp.forEach(range, /\\u(\w{4})(?:-\\u(\w{4}))?/, function (m) { + start = dec(m[1]); + if (start > (lastEnd + 1)) { + output.push("\\u" + pad4(hex(lastEnd + 1))); + if (start > (lastEnd + 2)) { + output.push("-\\u" + pad4(hex(start - 1))); + } + } + lastEnd = dec(m[2] || m[1]); + }); + if (lastEnd < 0xFFFF) { + output.push("\\u" + pad4(hex(lastEnd + 1))); + if (lastEnd < 0xFFFE) { + output.push("-\\uFFFF"); + } + } + return output.join(""); + } + +// Generates an inverted token on first use + function cacheInversion(item) { + return unicode["^" + item] || (unicode["^" + item] = invert(unicode[item])); + } + +/*-------------------------------------- + * Core functionality + *------------------------------------*/ + + XRegExp.install("extensibility"); + +/** + * Adds to the list of Unicode properties that XRegExp regexes can match via \p{..} or \P{..}. + * @memberOf XRegExp + * @param {Object} pack Named sets of Unicode code points and ranges. + * @param {Object} [aliases] Aliases for the primary token names. + * @example + * + * XRegExp.addUnicodePackage({ + * XDigit: '0030-00390041-00460061-0066' // 0-9A-Fa-f + * }, { + * XDigit: 'Hexadecimal' + * }); + */ + XRegExp.addUnicodePackage = function (pack, aliases) { + var p; + if (!XRegExp.isInstalled("extensibility")) { + throw new Error("extensibility must be installed before adding Unicode packages"); + } + if (pack) { + for (p in pack) { + if (pack.hasOwnProperty(p)) { + unicode[slug(p)] = expand(pack[p]); + } + } + } + if (aliases) { + for (p in aliases) { + if (aliases.hasOwnProperty(p)) { + unicode[slug(aliases[p])] = unicode[slug(p)]; + } + } + } + }; + +/* Adds data for the Unicode `Letter` category. Addon packages include other categories, scripts, + * blocks, and properties. + */ + XRegExp.addUnicodePackage({ + L: "0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05270531-055605590561-058705D0-05EA05F0-05F20620-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280840-085808A008A2-08AC0904-0939093D09500958-09610971-09770979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10CF10CF20D05-0D0C0D0E-0D100D12-0D3A0D3D0D4E0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC-0EDF0F000F40-0F470F49-0F6C0F88-0F8C1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510C710CD10D0-10FA10FC-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1BBA-1BE51C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11CF51CF61D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209C21022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2CF22CF32D00-2D252D272D2D2D30-2D672D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78B-A78EA790-A793A7A0-A7AAA7F8-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDAAE0-AAEAAAF2-AAF4AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC" + }, { + L: "Letter" + }); + +/* Adds Unicode property syntax to XRegExp: \p{..}, \P{..}, \p{^..} + */ + XRegExp.addToken( + /\\([pP]){(\^?)([^}]*)}/, + function (match, scope) { + var inv = (match[1] === "P" || match[2]) ? "^" : "", + item = slug(match[3]); + // The double negative \P{^..} is invalid + if (match[1] === "P" && match[2]) { + throw new SyntaxError("invalid double negation \\P{^"); + } + if (!unicode.hasOwnProperty(item)) { + throw new SyntaxError("invalid or unknown Unicode property " + match[0]); + } + return scope === "class" ? + (inv ? cacheInversion(item) : unicode[item]) : + "[" + inv + unicode[item] + "]"; + }, + {scope: "all"} + ); + +}(XRegExp)); + + +/***** unicode-categories.js *****/ + +/*! + * XRegExp Unicode Categories v1.2.0 + * (c) 2010-2012 Steven Levithan <http://xregexp.com/> + * MIT License + * Uses Unicode 6.1 <http://unicode.org/> + */ + +/** + * Adds support for all Unicode categories (aka properties) E.g., `\p{Lu}` or + * `\p{Uppercase Letter}`. Token names are case insensitive, and any spaces, hyphens, and + * underscores are ignored. + * @requires XRegExp, XRegExp Unicode Base + */ +(function (XRegExp) { + "use strict"; + + if (!XRegExp.addUnicodePackage) { + throw new ReferenceError("Unicode Base must be loaded before Unicode Categories"); + } + + XRegExp.install("extensibility"); + + XRegExp.addUnicodePackage({ + //L: "", // Included in the Unicode Base addon + Ll: "0061-007A00B500DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F05210523052505270561-05871D00-1D2B1D6B-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7B2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2CF32D00-2D252D272D2DA641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA661A663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CA78EA791A793A7A1A7A3A7A5A7A7A7A9A7FAFB00-FB06FB13-FB17FF41-FF5A", + Lu: "0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E05200522052405260531-055610A0-10C510C710CD1E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CED2CF2A640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA660A662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BA78DA790A792A7A0A7A2A7A4A7A6A7A8A7AAFF21-FF3A", + Lt: "01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC", + Lm: "02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D6A1D781D9B-1DBF2071207F2090-209C2C7C2C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A7F8A7F9A9CFAA70AADDAAF3AAF4FF70FF9EFF9F", + Lo: "00AA00BA01BB01C0-01C3029405D0-05EA05F0-05F20620-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150840-085808A008A2-08AC0904-0939093D09500958-09610972-09770979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10CF10CF20D05-0D0C0D0E-0D100D12-0D3A0D3D0D4E0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC-0EDF0F000F40-0F470F49-0F6C0F88-0F8C1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA10FD-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1BBA-1BE51C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF11CF51CF62135-21382D30-2D672D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCAAE0-AAEAAAF2AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC", + M: "0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065F067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0859-085B08E4-08FE0900-0903093A-093C093E-094F0951-0957096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F8D-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135D-135F1712-17141732-1734175217531772177317B4-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAD1BE6-1BF31C24-1C371CD0-1CD21CD4-1CE81CED1CF2-1CF41DC0-1DE61DFC-1DFF20D0-20F02CEF-2CF12D7F2DE0-2DFF302A-302F3099309AA66F-A672A674-A67DA69FA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1AAEB-AAEFAAF5AAF6ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26", + Mn: "0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065F067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0859-085B08E4-08FE0900-0902093A093C0941-0948094D0951-095709620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F8D-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135D-135F1712-17141732-1734175217531772177317B417B517B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91BAB1BE61BE81BE91BED1BEF-1BF11C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1CF41DC0-1DE61DFC-1DFF20D0-20DC20E120E5-20F02CEF-2CF12D7F2DE0-2DFF302A-302D3099309AA66FA674-A67DA69FA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1AAECAAEDAAF6ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26", + Mc: "0903093B093E-09400949-094C094E094F0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1BAC1BAD1BE71BEA-1BEC1BEE1BF21BF31C24-1C2B1C341C351CE11CF21CF3302E302FA823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BAAEBAAEEAAEFAAF5ABE3ABE4ABE6ABE7ABE9ABEAABEC", + Me: "0488048920DD-20E020E2-20E4A670-A672", + N: "0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0B72-0B770BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293248-324F3251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19", + Nd: "0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19D91A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19", + Nl: "16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF", + No: "00B200B300B900BC-00BE09F4-09F90B72-0B770BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F919DA20702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293248-324F3251-325F3280-328932B1-32BFA830-A835", + P: "0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100A700AB00B600B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E085E0964096509700AF00DF40E4F0E5A0E5B0F04-0F120F140F3A-0F3D0F850FD0-0FD40FD90FDA104A-104F10FB1360-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A194419451A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601BFC-1BFF1C3B-1C3F1C7E1C7F1CC0-1CC71CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2D702E00-2E2E2E30-2E3B3001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFAAF0AAF1ABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65", + Pd: "002D058A05BE140018062010-20152E172E1A2E3A2E3B301C303030A0FE31FE32FE58FE63FF0D", + Ps: "0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62", + Pe: "0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63", + Pi: "00AB2018201B201C201F20392E022E042E092E0C2E1C2E20", + Pf: "00BB2019201D203A2E032E052E0A2E0D2E1D2E21", + Pc: "005F203F20402054FE33FE34FE4D-FE4FFF3F", + Po: "0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100A700B600B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E085E0964096509700AF00DF40E4F0E5A0E5B0F04-0F120F140F850FD0-0FD40FD90FDA104A-104F10FB1360-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A194419451A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601BFC-1BFF1C3B-1C3F1C7E1C7F1CC0-1CC71CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2D702E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E30-2E393001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFAAF0AAF1ABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65", + S: "0024002B003C-003E005E0060007C007E00A2-00A600A800A900AC00AE-00B100B400B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F60482058F0606-0608060B060E060F06DE06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0D790E3F0F01-0F030F130F15-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F1390-139917DB194019DE-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B9210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23F32400-24262440-244A249C-24E92500-26FF2701-27672794-27C427C7-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-324732503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FBB2-FBC1FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD", + Sm: "002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C21182140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC", + Sc: "002400A2-00A5058F060B09F209F309FB0AF10BF90E3F17DB20A0-20B9A838FDFCFE69FF04FFE0FFE1FFE5FFE6", + Sk: "005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFBB2-FBC1FF3EFF40FFE3", + So: "00A600A900AE00B00482060E060F06DE06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0D790F01-0F030F130F15-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F1390-1399194019DE-19FF1B61-1B6A1B74-1B7C210021012103-210621082109211421162117211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23F32400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26FF2701-27672794-27BF2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-324732503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD", + Z: "002000A01680180E2000-200A20282029202F205F3000", + Zs: "002000A01680180E2000-200A202F205F3000", + Zl: "2028", + Zp: "2029", + C: "0000-001F007F-009F00AD03780379037F-0383038B038D03A20528-05300557055805600588058B-058E059005C8-05CF05EB-05EF05F5-0605061C061D06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F085C085D085F-089F08A108AD-08E308FF097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B78-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D3B0D3C0D450D490D4F-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EE0-0EFF0F480F6D-0F700F980FBD0FCD0FDB-0FFF10C610C8-10CC10CE10CF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B135C137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BF4-1BFB1C38-1C3A1C4A-1C4C1C80-1CBF1CC8-1CCF1CF7-1CFF1DE7-1DFB1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F209D-209F20BA-20CF20F1-20FF218A-218F23F4-23FF2427-243F244B-245F27002B4D-2B4F2B5A-2BFF2C2F2C5F2CF4-2CF82D262D28-2D2C2D2E2D2F2D68-2D6E2D71-2D7E2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E3C-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31BB-31BF31E4-31EF321F32FF4DB6-4DBF9FCD-9FFFA48D-A48FA4C7-A4CFA62C-A63FA698-A69EA6F8-A6FFA78FA794-A79FA7AB-A7F7A82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAF7-AB00AB07AB08AB0FAB10AB17-AB1FAB27AB2F-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBC2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF", + Cc: "0000-001F007F-009F", + Cf: "00AD0600-060406DD070F200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB", + Co: "E000-F8FF", + Cs: "D800-DFFF", + Cn: "03780379037F-0383038B038D03A20528-05300557055805600588058B-058E059005C8-05CF05EB-05EF05F5-05FF0605061C061D070E074B074C07B2-07BF07FB-07FF082E082F083F085C085D085F-089F08A108AD-08E308FF097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B78-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D3B0D3C0D450D490D4F-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EE0-0EFF0F480F6D-0F700F980FBD0FCD0FDB-0FFF10C610C8-10CC10CE10CF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B135C137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BF4-1BFB1C38-1C3A1C4A-1C4C1C80-1CBF1CC8-1CCF1CF7-1CFF1DE7-1DFB1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F209D-209F20BA-20CF20F1-20FF218A-218F23F4-23FF2427-243F244B-245F27002B4D-2B4F2B5A-2BFF2C2F2C5F2CF4-2CF82D262D28-2D2C2D2E2D2F2D68-2D6E2D71-2D7E2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E3C-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31BB-31BF31E4-31EF321F32FF4DB6-4DBF9FCD-9FFFA48D-A48FA4C7-A4CFA62C-A63FA698-A69EA6F8-A6FFA78FA794-A79FA7AB-A7F7A82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAF7-AB00AB07AB08AB0FAB10AB17-AB1FAB27AB2F-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBC2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF" + }, { + //L: "Letter", // Included in the Unicode Base addon + Ll: "Lowercase_Letter", + Lu: "Uppercase_Letter", + Lt: "Titlecase_Letter", + Lm: "Modifier_Letter", + Lo: "Other_Letter", + M: "Mark", + Mn: "Nonspacing_Mark", + Mc: "Spacing_Mark", + Me: "Enclosing_Mark", + N: "Number", + Nd: "Decimal_Number", + Nl: "Letter_Number", + No: "Other_Number", + P: "Punctuation", + Pd: "Dash_Punctuation", + Ps: "Open_Punctuation", + Pe: "Close_Punctuation", + Pi: "Initial_Punctuation", + Pf: "Final_Punctuation", + Pc: "Connector_Punctuation", + Po: "Other_Punctuation", + S: "Symbol", + Sm: "Math_Symbol", + Sc: "Currency_Symbol", + Sk: "Modifier_Symbol", + So: "Other_Symbol", + Z: "Separator", + Zs: "Space_Separator", + Zl: "Line_Separator", + Zp: "Paragraph_Separator", + C: "Other", + Cc: "Control", + Cf: "Format", + Co: "Private_Use", + Cs: "Surrogate", + Cn: "Unassigned" + }); + +}(XRegExp)); + + +/***** unicode-scripts.js *****/ + +/*! + * XRegExp Unicode Scripts v1.2.0 + * (c) 2010-2012 Steven Levithan <http://xregexp.com/> + * MIT License + * Uses Unicode 6.1 <http://unicode.org/> + */ + +/** + * Adds support for all Unicode scripts in the Basic Multilingual Plane (U+0000-U+FFFF). + * E.g., `\p{Latin}`. Token names are case insensitive, and any spaces, hyphens, and underscores + * are ignored. + * @requires XRegExp, XRegExp Unicode Base + */ +(function (XRegExp) { + "use strict"; + + if (!XRegExp.addUnicodePackage) { + throw new ReferenceError("Unicode Base must be loaded before Unicode Scripts"); + } + + XRegExp.install("extensibility"); + + XRegExp.addUnicodePackage({ + Arabic: "0600-06040606-060B060D-061A061E0620-063F0641-064A0656-065E066A-066F0671-06DC06DE-06FF0750-077F08A008A2-08AC08E4-08FEFB50-FBC1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFCFE70-FE74FE76-FEFC", + Armenian: "0531-05560559-055F0561-0587058A058FFB13-FB17", + Balinese: "1B00-1B4B1B50-1B7C", + Bamum: "A6A0-A6F7", + Batak: "1BC0-1BF31BFC-1BFF", + Bengali: "0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BC-09C409C709C809CB-09CE09D709DC09DD09DF-09E309E6-09FB", + Bopomofo: "02EA02EB3105-312D31A0-31BA", + Braille: "2800-28FF", + Buginese: "1A00-1A1B1A1E1A1F", + Buhid: "1740-1753", + Canadian_Aboriginal: "1400-167F18B0-18F5", + Cham: "AA00-AA36AA40-AA4DAA50-AA59AA5C-AA5F", + Cherokee: "13A0-13F4", + Common: "0000-0040005B-0060007B-00A900AB-00B900BB-00BF00D700F702B9-02DF02E5-02E902EC-02FF0374037E038503870589060C061B061F06400660-066906DD096409650E3F0FD5-0FD810FB16EB-16ED173517361802180318051CD31CE11CE9-1CEC1CEE-1CF31CF51CF62000-200B200E-2064206A-20702074-207E2080-208E20A0-20B92100-21252127-2129212C-21312133-214D214F-215F21892190-23F32400-24262440-244A2460-26FF2701-27FF2900-2B4C2B50-2B592E00-2E3B2FF0-2FFB3000-300430063008-30203030-3037303C-303F309B309C30A030FB30FC3190-319F31C0-31E33220-325F327F-32CF3358-33FF4DC0-4DFFA700-A721A788-A78AA830-A839FD3EFD3FFDFDFE10-FE19FE30-FE52FE54-FE66FE68-FE6BFEFFFF01-FF20FF3B-FF40FF5B-FF65FF70FF9EFF9FFFE0-FFE6FFE8-FFEEFFF9-FFFD", + Coptic: "03E2-03EF2C80-2CF32CF9-2CFF", + Cyrillic: "0400-04840487-05271D2B1D782DE0-2DFFA640-A697A69F", + Devanagari: "0900-09500953-09630966-09770979-097FA8E0-A8FB", + Ethiopic: "1200-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135D-137C1380-13992D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDEAB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2E", + Georgian: "10A0-10C510C710CD10D0-10FA10FC-10FF2D00-2D252D272D2D", + Glagolitic: "2C00-2C2E2C30-2C5E", + Greek: "0370-03730375-0377037A-037D038403860388-038A038C038E-03A103A3-03E103F0-03FF1D26-1D2A1D5D-1D611D66-1D6A1DBF1F00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FC41FC6-1FD31FD6-1FDB1FDD-1FEF1FF2-1FF41FF6-1FFE2126", + Gujarati: "0A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABC-0AC50AC7-0AC90ACB-0ACD0AD00AE0-0AE30AE6-0AF1", + Gurmukhi: "0A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3C0A3E-0A420A470A480A4B-0A4D0A510A59-0A5C0A5E0A66-0A75", + Han: "2E80-2E992E9B-2EF32F00-2FD5300530073021-30293038-303B3400-4DB54E00-9FCCF900-FA6DFA70-FAD9", + Hangul: "1100-11FF302E302F3131-318E3200-321E3260-327EA960-A97CAC00-D7A3D7B0-D7C6D7CB-D7FBFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC", + Hanunoo: "1720-1734", + Hebrew: "0591-05C705D0-05EA05F0-05F4FB1D-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FB4F", + Hiragana: "3041-3096309D-309F", + Inherited: "0300-036F04850486064B-0655065F0670095109521CD0-1CD21CD4-1CE01CE2-1CE81CED1CF41DC0-1DE61DFC-1DFF200C200D20D0-20F0302A-302D3099309AFE00-FE0FFE20-FE26", + Javanese: "A980-A9CDA9CF-A9D9A9DEA9DF", + Kannada: "0C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBC-0CC40CC6-0CC80CCA-0CCD0CD50CD60CDE0CE0-0CE30CE6-0CEF0CF10CF2", + Katakana: "30A1-30FA30FD-30FF31F0-31FF32D0-32FE3300-3357FF66-FF6FFF71-FF9D", + Kayah_Li: "A900-A92F", + Khmer: "1780-17DD17E0-17E917F0-17F919E0-19FF", + Lao: "0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60EC8-0ECD0ED0-0ED90EDC-0EDF", + Latin: "0041-005A0061-007A00AA00BA00C0-00D600D8-00F600F8-02B802E0-02E41D00-1D251D2C-1D5C1D62-1D651D6B-1D771D79-1DBE1E00-1EFF2071207F2090-209C212A212B2132214E2160-21882C60-2C7FA722-A787A78B-A78EA790-A793A7A0-A7AAA7F8-A7FFFB00-FB06FF21-FF3AFF41-FF5A", + Lepcha: "1C00-1C371C3B-1C491C4D-1C4F", + Limbu: "1900-191C1920-192B1930-193B19401944-194F", + Lisu: "A4D0-A4FF", + Malayalam: "0D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4E0D570D60-0D630D66-0D750D79-0D7F", + Mandaic: "0840-085B085E", + Meetei_Mayek: "AAE0-AAF6ABC0-ABEDABF0-ABF9", + Mongolian: "1800180118041806-180E1810-18191820-18771880-18AA", + Myanmar: "1000-109FAA60-AA7B", + New_Tai_Lue: "1980-19AB19B0-19C919D0-19DA19DE19DF", + Nko: "07C0-07FA", + Ogham: "1680-169C", + Ol_Chiki: "1C50-1C7F", + Oriya: "0B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3C-0B440B470B480B4B-0B4D0B560B570B5C0B5D0B5F-0B630B66-0B77", + Phags_Pa: "A840-A877", + Rejang: "A930-A953A95F", + Runic: "16A0-16EA16EE-16F0", + Samaritan: "0800-082D0830-083E", + Saurashtra: "A880-A8C4A8CE-A8D9", + Sinhala: "0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCA0DCF-0DD40DD60DD8-0DDF0DF2-0DF4", + Sundanese: "1B80-1BBF1CC0-1CC7", + Syloti_Nagri: "A800-A82B", + Syriac: "0700-070D070F-074A074D-074F", + Tagalog: "1700-170C170E-1714", + Tagbanwa: "1760-176C176E-177017721773", + Tai_Le: "1950-196D1970-1974", + Tai_Tham: "1A20-1A5E1A60-1A7C1A7F-1A891A90-1A991AA0-1AAD", + Tai_Viet: "AA80-AAC2AADB-AADF", + Tamil: "0B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCD0BD00BD70BE6-0BFA", + Telugu: "0C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4D0C550C560C580C590C60-0C630C66-0C6F0C78-0C7F", + Thaana: "0780-07B1", + Thai: "0E01-0E3A0E40-0E5B", + Tibetan: "0F00-0F470F49-0F6C0F71-0F970F99-0FBC0FBE-0FCC0FCE-0FD40FD90FDA", + Tifinagh: "2D30-2D672D6F2D702D7F", + Vai: "A500-A62B", + Yi: "A000-A48CA490-A4C6" + }); + +}(XRegExp)); + + +/***** unicode-blocks.js *****/ + +/*! + * XRegExp Unicode Blocks v1.2.0 + * (c) 2010-2012 Steven Levithan <http://xregexp.com/> + * MIT License + * Uses Unicode 6.1 <http://unicode.org/> + */ + +/** + * Adds support for all Unicode blocks in the Basic Multilingual Plane (U+0000-U+FFFF). Unicode + * blocks use the prefix "In". E.g., `\p{InBasicLatin}`. Token names are case insensitive, and any + * spaces, hyphens, and underscores are ignored. + * @requires XRegExp, XRegExp Unicode Base + */ +(function (XRegExp) { + "use strict"; + + if (!XRegExp.addUnicodePackage) { + throw new ReferenceError("Unicode Base must be loaded before Unicode Blocks"); + } + + XRegExp.install("extensibility"); + + XRegExp.addUnicodePackage({ + InBasic_Latin: "0000-007F", + InLatin_1_Supplement: "0080-00FF", + InLatin_Extended_A: "0100-017F", + InLatin_Extended_B: "0180-024F", + InIPA_Extensions: "0250-02AF", + InSpacing_Modifier_Letters: "02B0-02FF", + InCombining_Diacritical_Marks: "0300-036F", + InGreek_and_Coptic: "0370-03FF", + InCyrillic: "0400-04FF", + InCyrillic_Supplement: "0500-052F", + InArmenian: "0530-058F", + InHebrew: "0590-05FF", + InArabic: "0600-06FF", + InSyriac: "0700-074F", + InArabic_Supplement: "0750-077F", + InThaana: "0780-07BF", + InNKo: "07C0-07FF", + InSamaritan: "0800-083F", + InMandaic: "0840-085F", + InArabic_Extended_A: "08A0-08FF", + InDevanagari: "0900-097F", + InBengali: "0980-09FF", + InGurmukhi: "0A00-0A7F", + InGujarati: "0A80-0AFF", + InOriya: "0B00-0B7F", + InTamil: "0B80-0BFF", + InTelugu: "0C00-0C7F", + InKannada: "0C80-0CFF", + InMalayalam: "0D00-0D7F", + InSinhala: "0D80-0DFF", + InThai: "0E00-0E7F", + InLao: "0E80-0EFF", + InTibetan: "0F00-0FFF", + InMyanmar: "1000-109F", + InGeorgian: "10A0-10FF", + InHangul_Jamo: "1100-11FF", + InEthiopic: "1200-137F", + InEthiopic_Supplement: "1380-139F", + InCherokee: "13A0-13FF", + InUnified_Canadian_Aboriginal_Syllabics: "1400-167F", + InOgham: "1680-169F", + InRunic: "16A0-16FF", + InTagalog: "1700-171F", + InHanunoo: "1720-173F", + InBuhid: "1740-175F", + InTagbanwa: "1760-177F", + InKhmer: "1780-17FF", + InMongolian: "1800-18AF", + InUnified_Canadian_Aboriginal_Syllabics_Extended: "18B0-18FF", + InLimbu: "1900-194F", + InTai_Le: "1950-197F", + InNew_Tai_Lue: "1980-19DF", + InKhmer_Symbols: "19E0-19FF", + InBuginese: "1A00-1A1F", + InTai_Tham: "1A20-1AAF", + InBalinese: "1B00-1B7F", + InSundanese: "1B80-1BBF", + InBatak: "1BC0-1BFF", + InLepcha: "1C00-1C4F", + InOl_Chiki: "1C50-1C7F", + InSundanese_Supplement: "1CC0-1CCF", + InVedic_Extensions: "1CD0-1CFF", + InPhonetic_Extensions: "1D00-1D7F", + InPhonetic_Extensions_Supplement: "1D80-1DBF", + InCombining_Diacritical_Marks_Supplement: "1DC0-1DFF", + InLatin_Extended_Additional: "1E00-1EFF", + InGreek_Extended: "1F00-1FFF", + InGeneral_Punctuation: "2000-206F", + InSuperscripts_and_Subscripts: "2070-209F", + InCurrency_Symbols: "20A0-20CF", + InCombining_Diacritical_Marks_for_Symbols: "20D0-20FF", + InLetterlike_Symbols: "2100-214F", + InNumber_Forms: "2150-218F", + InArrows: "2190-21FF", + InMathematical_Operators: "2200-22FF", + InMiscellaneous_Technical: "2300-23FF", + InControl_Pictures: "2400-243F", + InOptical_Character_Recognition: "2440-245F", + InEnclosed_Alphanumerics: "2460-24FF", + InBox_Drawing: "2500-257F", + InBlock_Elements: "2580-259F", + InGeometric_Shapes: "25A0-25FF", + InMiscellaneous_Symbols: "2600-26FF", + InDingbats: "2700-27BF", + InMiscellaneous_Mathematical_Symbols_A: "27C0-27EF", + InSupplemental_Arrows_A: "27F0-27FF", + InBraille_Patterns: "2800-28FF", + InSupplemental_Arrows_B: "2900-297F", + InMiscellaneous_Mathematical_Symbols_B: "2980-29FF", + InSupplemental_Mathematical_Operators: "2A00-2AFF", + InMiscellaneous_Symbols_and_Arrows: "2B00-2BFF", + InGlagolitic: "2C00-2C5F", + InLatin_Extended_C: "2C60-2C7F", + InCoptic: "2C80-2CFF", + InGeorgian_Supplement: "2D00-2D2F", + InTifinagh: "2D30-2D7F", + InEthiopic_Extended: "2D80-2DDF", + InCyrillic_Extended_A: "2DE0-2DFF", + InSupplemental_Punctuation: "2E00-2E7F", + InCJK_Radicals_Supplement: "2E80-2EFF", + InKangxi_Radicals: "2F00-2FDF", + InIdeographic_Description_Characters: "2FF0-2FFF", + InCJK_Symbols_and_Punctuation: "3000-303F", + InHiragana: "3040-309F", + InKatakana: "30A0-30FF", + InBopomofo: "3100-312F", + InHangul_Compatibility_Jamo: "3130-318F", + InKanbun: "3190-319F", + InBopomofo_Extended: "31A0-31BF", + InCJK_Strokes: "31C0-31EF", + InKatakana_Phonetic_Extensions: "31F0-31FF", + InEnclosed_CJK_Letters_and_Months: "3200-32FF", + InCJK_Compatibility: "3300-33FF", + InCJK_Unified_Ideographs_Extension_A: "3400-4DBF", + InYijing_Hexagram_Symbols: "4DC0-4DFF", + InCJK_Unified_Ideographs: "4E00-9FFF", + InYi_Syllables: "A000-A48F", + InYi_Radicals: "A490-A4CF", + InLisu: "A4D0-A4FF", + InVai: "A500-A63F", + InCyrillic_Extended_B: "A640-A69F", + InBamum: "A6A0-A6FF", + InModifier_Tone_Letters: "A700-A71F", + InLatin_Extended_D: "A720-A7FF", + InSyloti_Nagri: "A800-A82F", + InCommon_Indic_Number_Forms: "A830-A83F", + InPhags_pa: "A840-A87F", + InSaurashtra: "A880-A8DF", + InDevanagari_Extended: "A8E0-A8FF", + InKayah_Li: "A900-A92F", + InRejang: "A930-A95F", + InHangul_Jamo_Extended_A: "A960-A97F", + InJavanese: "A980-A9DF", + InCham: "AA00-AA5F", + InMyanmar_Extended_A: "AA60-AA7F", + InTai_Viet: "AA80-AADF", + InMeetei_Mayek_Extensions: "AAE0-AAFF", + InEthiopic_Extended_A: "AB00-AB2F", + InMeetei_Mayek: "ABC0-ABFF", + InHangul_Syllables: "AC00-D7AF", + InHangul_Jamo_Extended_B: "D7B0-D7FF", + InHigh_Surrogates: "D800-DB7F", + InHigh_Private_Use_Surrogates: "DB80-DBFF", + InLow_Surrogates: "DC00-DFFF", + InPrivate_Use_Area: "E000-F8FF", + InCJK_Compatibility_Ideographs: "F900-FAFF", + InAlphabetic_Presentation_Forms: "FB00-FB4F", + InArabic_Presentation_Forms_A: "FB50-FDFF", + InVariation_Selectors: "FE00-FE0F", + InVertical_Forms: "FE10-FE1F", + InCombining_Half_Marks: "FE20-FE2F", + InCJK_Compatibility_Forms: "FE30-FE4F", + InSmall_Form_Variants: "FE50-FE6F", + InArabic_Presentation_Forms_B: "FE70-FEFF", + InHalfwidth_and_Fullwidth_Forms: "FF00-FFEF", + InSpecials: "FFF0-FFFF" + }); + +}(XRegExp)); + + +/***** unicode-properties.js *****/ + +/*! + * XRegExp Unicode Properties v1.0.0 + * (c) 2012 Steven Levithan <http://xregexp.com/> + * MIT License + * Uses Unicode 6.1 <http://unicode.org/> + */ + +/** + * Adds Unicode properties necessary to meet Level 1 Unicode support (detailed in UTS#18 RL1.2). + * Includes code points from the Basic Multilingual Plane (U+0000-U+FFFF) only. Token names are + * case insensitive, and any spaces, hyphens, and underscores are ignored. + * @requires XRegExp, XRegExp Unicode Base + */ +(function (XRegExp) { + "use strict"; + + if (!XRegExp.addUnicodePackage) { + throw new ReferenceError("Unicode Base must be loaded before Unicode Properties"); + } + + XRegExp.install("extensibility"); + + XRegExp.addUnicodePackage({ + Alphabetic: "0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE03450370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05270531-055605590561-058705B0-05BD05BF05C105C205C405C505C705D0-05EA05F0-05F20610-061A0620-06570659-065F066E-06D306D5-06DC06E1-06E806ED-06EF06FA-06FC06FF0710-073F074D-07B107CA-07EA07F407F507FA0800-0817081A-082C0840-085808A008A2-08AC08E4-08E908F0-08FE0900-093B093D-094C094E-09500955-09630971-09770979-097F0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BD-09C409C709C809CB09CC09CE09D709DC09DD09DF-09E309F009F10A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3E-0A420A470A480A4B0A4C0A510A59-0A5C0A5E0A70-0A750A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD-0AC50AC7-0AC90ACB0ACC0AD00AE0-0AE30B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D-0B440B470B480B4B0B4C0B560B570B5C0B5D0B5F-0B630B710B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCC0BD00BD70C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4C0C550C560C580C590C60-0C630C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD-0CC40CC6-0CC80CCA-0CCC0CD50CD60CDE0CE0-0CE30CF10CF20D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4C0D4E0D570D60-0D630D7A-0D7F0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCF-0DD40DD60DD8-0DDF0DF20DF30E01-0E3A0E40-0E460E4D0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60ECD0EDC-0EDF0F000F40-0F470F49-0F6C0F71-0F810F88-0F970F99-0FBC1000-10361038103B-103F1050-10621065-1068106E-1086108E109C109D10A0-10C510C710CD10D0-10FA10FC-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135F1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA16EE-16F01700-170C170E-17131720-17331740-17531760-176C176E-1770177217731780-17B317B6-17C817D717DC1820-18771880-18AA18B0-18F51900-191C1920-192B1930-19381950-196D1970-19741980-19AB19B0-19C91A00-1A1B1A20-1A5E1A61-1A741AA71B00-1B331B35-1B431B45-1B4B1B80-1BA91BAC-1BAF1BBA-1BE51BE7-1BF11C00-1C351C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF31CF51CF61D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209C21022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E2160-218824B6-24E92C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2CF22CF32D00-2D252D272D2D2D30-2D672D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2DE0-2DFF2E2F3005-30073021-30293031-30353038-303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A66EA674-A67BA67F-A697A69F-A6EFA717-A71FA722-A788A78B-A78EA790-A793A7A0-A7AAA7F8-A801A803-A805A807-A80AA80C-A827A840-A873A880-A8C3A8F2-A8F7A8FBA90A-A92AA930-A952A960-A97CA980-A9B2A9B4-A9BFA9CFAA00-AA36AA40-AA4DAA60-AA76AA7AAA80-AABEAAC0AAC2AADB-AADDAAE0-AAEFAAF2-AAF5AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABEAAC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1D-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC", + Uppercase: "0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E05200522052405260531-055610A0-10C510C710CD1E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F21452160-216F218324B6-24CF2C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CED2CF2A640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA660A662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BA78DA790A792A7A0A7A2A7A4A7A6A7A8A7AAFF21-FF3A", + Lowercase: "0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02B802C002C102E0-02E40345037103730377037A-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F05210523052505270561-05871D00-1DBF1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF72071207F2090-209C210A210E210F2113212F21342139213C213D2146-2149214E2170-217F218424D0-24E92C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7D2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2CF32D00-2D252D272D2DA641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA661A663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76F-A778A77AA77CA77FA781A783A785A787A78CA78EA791A793A7A1A7A3A7A5A7A7A7A9A7F8-A7FAFB00-FB06FB13-FB17FF41-FF5A", + White_Space: "0009-000D0020008500A01680180E2000-200A20282029202F205F3000", + Noncharacter_Code_Point: "FDD0-FDEFFFFEFFFF", + Default_Ignorable_Code_Point: "00AD034F115F116017B417B5180B-180D200B-200F202A-202E2060-206F3164FE00-FE0FFEFFFFA0FFF0-FFF8", + // \p{Any} matches a code unit. To match any code point via surrogate pairs, use (?:[\0-\uD7FF\uDC00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF]) + Any: "0000-FFFF", // \p{^Any} compiles to [^\u0000-\uFFFF]; [\p{^Any}] to [] + Ascii: "0000-007F", + // \p{Assigned} is equivalent to \p{^Cn} + //Assigned: XRegExp("[\\p{^Cn}]").source.replace(/[[\]]|\\u/g, "") // Negation inside a character class triggers inversion + Assigned: "0000-0377037A-037E0384-038A038C038E-03A103A3-05270531-05560559-055F0561-05870589058A058F0591-05C705D0-05EA05F0-05F40600-06040606-061B061E-070D070F-074A074D-07B107C0-07FA0800-082D0830-083E0840-085B085E08A008A2-08AC08E4-08FE0900-09770979-097F0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BC-09C409C709C809CB-09CE09D709DC09DD09DF-09E309E6-09FB0A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3C0A3E-0A420A470A480A4B-0A4D0A510A59-0A5C0A5E0A66-0A750A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABC-0AC50AC7-0AC90ACB-0ACD0AD00AE0-0AE30AE6-0AF10B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3C-0B440B470B480B4B-0B4D0B560B570B5C0B5D0B5F-0B630B66-0B770B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCD0BD00BD70BE6-0BFA0C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4D0C550C560C580C590C60-0C630C66-0C6F0C78-0C7F0C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBC-0CC40CC6-0CC80CCA-0CCD0CD50CD60CDE0CE0-0CE30CE6-0CEF0CF10CF20D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4E0D570D60-0D630D66-0D750D79-0D7F0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCA0DCF-0DD40DD60DD8-0DDF0DF2-0DF40E01-0E3A0E3F-0E5B0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60EC8-0ECD0ED0-0ED90EDC-0EDF0F00-0F470F49-0F6C0F71-0F970F99-0FBC0FBE-0FCC0FCE-0FDA1000-10C510C710CD10D0-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135D-137C1380-139913A0-13F41400-169C16A0-16F01700-170C170E-17141720-17361740-17531760-176C176E-1770177217731780-17DD17E0-17E917F0-17F91800-180E1810-18191820-18771880-18AA18B0-18F51900-191C1920-192B1930-193B19401944-196D1970-19741980-19AB19B0-19C919D0-19DA19DE-1A1B1A1E-1A5E1A60-1A7C1A7F-1A891A90-1A991AA0-1AAD1B00-1B4B1B50-1B7C1B80-1BF31BFC-1C371C3B-1C491C4D-1C7F1CC0-1CC71CD0-1CF61D00-1DE61DFC-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FC41FC6-1FD31FD6-1FDB1FDD-1FEF1FF2-1FF41FF6-1FFE2000-2064206A-20712074-208E2090-209C20A0-20B920D0-20F02100-21892190-23F32400-24262440-244A2460-26FF2701-2B4C2B50-2B592C00-2C2E2C30-2C5E2C60-2CF32CF9-2D252D272D2D2D30-2D672D6F2D702D7F-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2DE0-2E3B2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB3000-303F3041-30963099-30FF3105-312D3131-318E3190-31BA31C0-31E331F0-321E3220-32FE3300-4DB54DC0-9FCCA000-A48CA490-A4C6A4D0-A62BA640-A697A69F-A6F7A700-A78EA790-A793A7A0-A7AAA7F8-A82BA830-A839A840-A877A880-A8C4A8CE-A8D9A8E0-A8FBA900-A953A95F-A97CA980-A9CDA9CF-A9D9A9DEA9DFAA00-AA36AA40-AA4DAA50-AA59AA5C-AA7BAA80-AAC2AADB-AAF6AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABEDABF0-ABF9AC00-D7A3D7B0-D7C6D7CB-D7FBD800-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1D-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBC1FBD3-FD3FFD50-FD8FFD92-FDC7FDF0-FDFDFE00-FE19FE20-FE26FE30-FE52FE54-FE66FE68-FE6BFE70-FE74FE76-FEFCFEFFFF01-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDCFFE0-FFE6FFE8-FFEEFFF9-FFFD" + }); + +}(XRegExp)); + + +/***** matchrecursive.js *****/ + +/*! + * XRegExp.matchRecursive v0.2.0 + * (c) 2009-2012 Steven Levithan <http://xregexp.com/> + * MIT License + */ + +(function (XRegExp) { + "use strict"; + +/** + * Returns a match detail object composed of the provided values. + * @private + */ + function row(value, name, start, end) { + return {value:value, name:name, start:start, end:end}; + } + +/** + * Returns an array of match strings between outermost left and right delimiters, or an array of + * objects with detailed match parts and position data. An error is thrown if delimiters are + * unbalanced within the data. + * @memberOf XRegExp + * @param {String} str String to search. + * @param {String} left Left delimiter as an XRegExp pattern. + * @param {String} right Right delimiter as an XRegExp pattern. + * @param {String} [flags] Flags for the left and right delimiters. Use any of: `gimnsxy`. + * @param {Object} [options] Lets you specify `valueNames` and `escapeChar` options. + * @returns {Array} Array of matches, or an empty array. + * @example + * + * // Basic usage + * var str = '(t((e))s)t()(ing)'; + * XRegExp.matchRecursive(str, '\\(', '\\)', 'g'); + * // -> ['t((e))s', '', 'ing'] + * + * // Extended information mode with valueNames + * str = 'Here is <div> <div>an</div></div> example'; + * XRegExp.matchRecursive(str, '<div\\s*>', '</div>', 'gi', { + * valueNames: ['between', 'left', 'match', 'right'] + * }); + * // -> [ + * // {name: 'between', value: 'Here is ', start: 0, end: 8}, + * // {name: 'left', value: '<div>', start: 8, end: 13}, + * // {name: 'match', value: ' <div>an</div>', start: 13, end: 27}, + * // {name: 'right', value: '</div>', start: 27, end: 33}, + * // {name: 'between', value: ' example', start: 33, end: 41} + * // ] + * + * // Omitting unneeded parts with null valueNames, and using escapeChar + * str = '...{1}\\{{function(x,y){return y+x;}}'; + * XRegExp.matchRecursive(str, '{', '}', 'g', { + * valueNames: ['literal', null, 'value', null], + * escapeChar: '\\' + * }); + * // -> [ + * // {name: 'literal', value: '...', start: 0, end: 3}, + * // {name: 'value', value: '1', start: 4, end: 5}, + * // {name: 'literal', value: '\\{', start: 6, end: 8}, + * // {name: 'value', value: 'function(x,y){return y+x;}', start: 9, end: 35} + * // ] + * + * // Sticky mode via flag y + * str = '<1><<<2>>><3>4<5>'; + * XRegExp.matchRecursive(str, '<', '>', 'gy'); + * // -> ['1', '<<2>>', '3'] + */ + XRegExp.matchRecursive = function (str, left, right, flags, options) { + flags = flags || ""; + options = options || {}; + var global = flags.indexOf("g") > -1, + sticky = flags.indexOf("y") > -1, + basicFlags = flags.replace(/y/g, ""), // Flag y controlled internally + escapeChar = options.escapeChar, + vN = options.valueNames, + output = [], + openTokens = 0, + delimStart = 0, + delimEnd = 0, + lastOuterEnd = 0, + outerStart, + innerStart, + leftMatch, + rightMatch, + esc; + left = XRegExp(left, basicFlags); + right = XRegExp(right, basicFlags); + + if (escapeChar) { + if (escapeChar.length > 1) { + throw new SyntaxError("can't use more than one escape character"); + } + escapeChar = XRegExp.escape(escapeChar); + // Using XRegExp.union safely rewrites backreferences in `left` and `right` + esc = new RegExp( + "(?:" + escapeChar + "[\\S\\s]|(?:(?!" + XRegExp.union([left, right]).source + ")[^" + escapeChar + "])+)+", + flags.replace(/[^im]+/g, "") // Flags gy not needed here; flags nsx handled by XRegExp + ); + } + + while (true) { + // If using an escape character, advance to the delimiter's next starting position, + // skipping any escaped characters in between + if (escapeChar) { + delimEnd += (XRegExp.exec(str, esc, delimEnd, "sticky") || [""])[0].length; + } + leftMatch = XRegExp.exec(str, left, delimEnd); + rightMatch = XRegExp.exec(str, right, delimEnd); + // Keep the leftmost match only + if (leftMatch && rightMatch) { + if (leftMatch.index <= rightMatch.index) { + rightMatch = null; + } else { + leftMatch = null; + } + } + /* Paths (LM:leftMatch, RM:rightMatch, OT:openTokens): + LM | RM | OT | Result + 1 | 0 | 1 | loop + 1 | 0 | 0 | loop + 0 | 1 | 1 | loop + 0 | 1 | 0 | throw + 0 | 0 | 1 | throw + 0 | 0 | 0 | break + * Doesn't include the sticky mode special case + * Loop ends after the first completed match if `!global` */ + if (leftMatch || rightMatch) { + delimStart = (leftMatch || rightMatch).index; + delimEnd = delimStart + (leftMatch || rightMatch)[0].length; + } else if (!openTokens) { + break; + } + if (sticky && !openTokens && delimStart > lastOuterEnd) { + break; + } + if (leftMatch) { + if (!openTokens) { + outerStart = delimStart; + innerStart = delimEnd; + } + ++openTokens; + } else if (rightMatch && openTokens) { + if (!--openTokens) { + if (vN) { + if (vN[0] && outerStart > lastOuterEnd) { + output.push(row(vN[0], str.slice(lastOuterEnd, outerStart), lastOuterEnd, outerStart)); + } + if (vN[1]) { + output.push(row(vN[1], str.slice(outerStart, innerStart), outerStart, innerStart)); + } + if (vN[2]) { + output.push(row(vN[2], str.slice(innerStart, delimStart), innerStart, delimStart)); + } + if (vN[3]) { + output.push(row(vN[3], str.slice(delimStart, delimEnd), delimStart, delimEnd)); + } + } else { + output.push(str.slice(innerStart, delimStart)); + } + lastOuterEnd = delimEnd; + if (!global) { + break; + } + } + } else { + throw new Error("string contains unbalanced delimiters"); + } + // If the delimiter matched an empty string, avoid an infinite loop + if (delimStart === delimEnd) { + ++delimEnd; + } + } + + if (global && !sticky && vN && vN[0] && str.length > lastOuterEnd) { + output.push(row(vN[0], str.slice(lastOuterEnd), lastOuterEnd, str.length)); + } + + return output; + }; + +}(XRegExp)); + + +/***** build.js *****/ + +/*! + * XRegExp.build v0.1.0 + * (c) 2012 Steven Levithan <http://xregexp.com/> + * MIT License + * Inspired by RegExp.create by Lea Verou <http://lea.verou.me/> + */ + +(function (XRegExp) { + "use strict"; + + var subparts = /(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*]/g, + parts = XRegExp.union([/\({{([\w$]+)}}\)|{{([\w$]+)}}/, subparts], "g"); + +/** + * Strips a leading `^` and trailing unescaped `$`, if both are present. + * @private + * @param {String} pattern Pattern to process. + * @returns {String} Pattern with edge anchors removed. + */ + function deanchor(pattern) { + var startAnchor = /^(?:\(\?:\))?\^/, // Leading `^` or `(?:)^` (handles /x cruft) + endAnchor = /\$(?:\(\?:\))?$/; // Trailing `$` or `$(?:)` (handles /x cruft) + if (endAnchor.test(pattern.replace(/\\[\s\S]/g, ""))) { // Ensure trailing `$` isn't escaped + return pattern.replace(startAnchor, "").replace(endAnchor, ""); + } + return pattern; + } + +/** + * Converts the provided value to an XRegExp. + * @private + * @param {String|RegExp} value Value to convert. + * @returns {RegExp} XRegExp object with XRegExp syntax applied. + */ + function asXRegExp(value) { + return XRegExp.isRegExp(value) ? + (value.xregexp && !value.xregexp.isNative ? value : XRegExp(value.source)) : + XRegExp(value); + } + +/** + * Builds regexes using named subpatterns, for readability and pattern reuse. Backreferences in the + * outer pattern and provided subpatterns are automatically renumbered to work correctly. Native + * flags used by provided subpatterns are ignored in favor of the `flags` argument. + * @memberOf XRegExp + * @param {String} pattern XRegExp pattern using `{{name}}` for embedded subpatterns. Allows + * `({{name}})` as shorthand for `(?<name>{{name}})`. Patterns cannot be embedded within + * character classes. + * @param {Object} subs Lookup object for named subpatterns. Values can be strings or regexes. A + * leading `^` and trailing unescaped `$` are stripped from subpatterns, if both are present. + * @param {String} [flags] Any combination of XRegExp flags. + * @returns {RegExp} Regex with interpolated subpatterns. + * @example + * + * var time = XRegExp.build('(?x)^ {{hours}} ({{minutes}}) $', { + * hours: XRegExp.build('{{h12}} : | {{h24}}', { + * h12: /1[0-2]|0?[1-9]/, + * h24: /2[0-3]|[01][0-9]/ + * }, 'x'), + * minutes: /^[0-5][0-9]$/ + * }); + * time.test('10:59'); // -> true + * XRegExp.exec('10:59', time).minutes; // -> '59' + */ + XRegExp.build = function (pattern, subs, flags) { + var inlineFlags = /^\(\?([\w$]+)\)/.exec(pattern), + data = {}, + numCaps = 0, // Caps is short for captures + numPriorCaps, + numOuterCaps = 0, + outerCapsMap = [0], + outerCapNames, + sub, + p; + + // Add flags within a leading mode modifier to the overall pattern's flags + if (inlineFlags) { + flags = flags || ""; + inlineFlags[1].replace(/./g, function (flag) { + flags += (flags.indexOf(flag) > -1 ? "" : flag); // Don't add duplicates + }); + } + + for (p in subs) { + if (subs.hasOwnProperty(p)) { + // Passing to XRegExp enables entended syntax for subpatterns provided as strings + // and ensures independent validity, lest an unescaped `(`, `)`, `[`, or trailing + // `\` breaks the `(?:)` wrapper. For subpatterns provided as regexes, it dies on + // octals and adds the `xregexp` property, for simplicity + sub = asXRegExp(subs[p]); + // Deanchoring allows embedding independently useful anchored regexes. If you + // really need to keep your anchors, double them (i.e., `^^...$$`) + data[p] = {pattern: deanchor(sub.source), names: sub.xregexp.captureNames || []}; + } + } + + // Passing to XRegExp dies on octals and ensures the outer pattern is independently valid; + // helps keep this simple. Named captures will be put back + pattern = asXRegExp(pattern); + outerCapNames = pattern.xregexp.captureNames || []; + pattern = pattern.source.replace(parts, function ($0, $1, $2, $3, $4) { + var subName = $1 || $2, capName, intro; + if (subName) { // Named subpattern + if (!data.hasOwnProperty(subName)) { + throw new ReferenceError("undefined property " + $0); + } + if ($1) { // Named subpattern was wrapped in a capturing group + capName = outerCapNames[numOuterCaps]; + outerCapsMap[++numOuterCaps] = ++numCaps; + // If it's a named group, preserve the name. Otherwise, use the subpattern name + // as the capture name + intro = "(?<" + (capName || subName) + ">"; + } else { + intro = "(?:"; + } + numPriorCaps = numCaps; + return intro + data[subName].pattern.replace(subparts, function (match, paren, backref) { + if (paren) { // Capturing group + capName = data[subName].names[numCaps - numPriorCaps]; + ++numCaps; + if (capName) { // If the current capture has a name, preserve the name + return "(?<" + capName + ">"; + } + } else if (backref) { // Backreference + return "\\" + (+backref + numPriorCaps); // Rewrite the backreference + } + return match; + }) + ")"; + } + if ($3) { // Capturing group + capName = outerCapNames[numOuterCaps]; + outerCapsMap[++numOuterCaps] = ++numCaps; + if (capName) { // If the current capture has a name, preserve the name + return "(?<" + capName + ">"; + } + } else if ($4) { // Backreference + return "\\" + outerCapsMap[+$4]; // Rewrite the backreference + } + return $0; + }); + + return XRegExp(pattern, flags); + }; + +}(XRegExp)); + + +/***** prototypes.js *****/ + +/*! + * XRegExp Prototype Methods v1.0.0 + * (c) 2012 Steven Levithan <http://xregexp.com/> + * MIT License + */ + +/** + * Adds a collection of methods to `XRegExp.prototype`. RegExp objects copied by XRegExp are also + * augmented with any `XRegExp.prototype` methods. Hence, the following work equivalently: + * + * XRegExp('[a-z]', 'ig').xexec('abc'); + * XRegExp(/[a-z]/ig).xexec('abc'); + * XRegExp.globalize(/[a-z]/i).xexec('abc'); + */ +(function (XRegExp) { + "use strict"; + +/** + * Copy properties of `b` to `a`. + * @private + * @param {Object} a Object that will receive new properties. + * @param {Object} b Object whose properties will be copied. + */ + function extend(a, b) { + for (var p in b) { + if (b.hasOwnProperty(p)) { + a[p] = b[p]; + } + } + //return a; + } + + extend(XRegExp.prototype, { + +/** + * Implicitly calls the regex's `test` method with the first value in the provided arguments array. + * @memberOf XRegExp.prototype + * @param {*} context Ignored. Accepted only for congruity with `Function.prototype.apply`. + * @param {Array} args Array with the string to search as its first value. + * @returns {Boolean} Whether the regex matched the provided value. + * @example + * + * XRegExp('[a-z]').apply(null, ['abc']); // -> true + */ + apply: function (context, args) { + return this.test(args[0]); + }, + +/** + * Implicitly calls the regex's `test` method with the provided string. + * @memberOf XRegExp.prototype + * @param {*} context Ignored. Accepted only for congruity with `Function.prototype.call`. + * @param {String} str String to search. + * @returns {Boolean} Whether the regex matched the provided value. + * @example + * + * XRegExp('[a-z]').call(null, 'abc'); // -> true + */ + call: function (context, str) { + return this.test(str); + }, + +/** + * Implicitly calls {@link #XRegExp.forEach}. + * @memberOf XRegExp.prototype + * @example + * + * XRegExp('\\d').forEach('1a2345', function (match, i) { + * if (i % 2) this.push(+match[0]); + * }, []); + * // -> [2, 4] + */ + forEach: function (str, callback, context) { + return XRegExp.forEach(str, this, callback, context); + }, + +/** + * Implicitly calls {@link #XRegExp.globalize}. + * @memberOf XRegExp.prototype + * @example + * + * var globalCopy = XRegExp('regex').globalize(); + * globalCopy.global; // -> true + */ + globalize: function () { + return XRegExp.globalize(this); + }, + +/** + * Implicitly calls {@link #XRegExp.exec}. + * @memberOf XRegExp.prototype + * @example + * + * var match = XRegExp('U\\+(?<hex>[0-9A-F]{4})').xexec('U+2620'); + * match.hex; // -> '2620' + */ + xexec: function (str, pos, sticky) { + return XRegExp.exec(str, this, pos, sticky); + }, + +/** + * Implicitly calls {@link #XRegExp.test}. + * @memberOf XRegExp.prototype + * @example + * + * XRegExp('c').xtest('abc'); // -> true + */ + xtest: function (str, pos, sticky) { + return XRegExp.test(str, this, pos, sticky); + } + + }); + +}(XRegExp)); + diff --git a/static/admin/js/vendor/xregexp/xregexp.js.gz b/static/admin/js/vendor/xregexp/xregexp.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..bc672e00cc533275d6bd2319edf59c2025dfe6b4 GIT binary patch literal 39385 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 Z>8z6DH~w$aGCTO6eWL@%DU<Jv3;=F1A-w<q literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/xregexp/xregexp.min.c95393b8ca4d.js b/static/admin/js/vendor/xregexp/xregexp.min.c95393b8ca4d.js new file mode 100644 index 0000000..a190558 --- /dev/null +++ b/static/admin/js/vendor/xregexp/xregexp.min.c95393b8ca4d.js @@ -0,0 +1,18 @@ +//XRegExp 2.0.0 <xregexp.com> MIT License +var XRegExp;XRegExp=XRegExp||function(n){"use strict";function v(n,i,r){var u;for(u in t.prototype)t.prototype.hasOwnProperty(u)&&(n[u]=t.prototype[u]);return n.xregexp={captureNames:i,isNative:!!r},n}function g(n){return(n.global?"g":"")+(n.ignoreCase?"i":"")+(n.multiline?"m":"")+(n.extended?"x":"")+(n.sticky?"y":"")}function o(n,r,u){if(!t.isRegExp(n))throw new TypeError("type RegExp expected");var f=i.replace.call(g(n)+(r||""),h,"");return u&&(f=i.replace.call(f,new RegExp("["+u+"]+","g"),"")),n=n.xregexp&&!n.xregexp.isNative?v(t(n.source,f),n.xregexp.captureNames?n.xregexp.captureNames.slice(0):null):v(new RegExp(n.source,f),null,!0)}function a(n,t){var i=n.length;if(Array.prototype.lastIndexOf)return n.lastIndexOf(t);while(i--)if(n[i]===t)return i;return-1}function s(n,t){return Object.prototype.toString.call(n).toLowerCase()==="[object "+t+"]"}function d(n){return n=n||{},n==="all"||n.all?n={natives:!0,extensibility:!0}:s(n,"string")&&(n=t.forEach(n,/[^\s,]+/,function(n){this[n]=!0},{})),n}function ut(n,t,i,u){var o=p.length,s=null,e,f;y=!0;try{while(o--)if(f=p[o],(f.scope==="all"||f.scope===i)&&(!f.trigger||f.trigger.call(u))&&(f.pattern.lastIndex=t,e=r.exec.call(f.pattern,n),e&&e.index===t)){s={output:f.handler.call(u,e,i),match:e};break}}catch(h){throw h;}finally{y=!1}return s}function b(n){t.addToken=c[n?"on":"off"],f.extensibility=n}function tt(n){RegExp.prototype.exec=(n?r:i).exec,RegExp.prototype.test=(n?r:i).test,String.prototype.match=(n?r:i).match,String.prototype.replace=(n?r:i).replace,String.prototype.split=(n?r:i).split,f.natives=n}var t,c,u,f={natives:!1,extensibility:!1},i={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},r={},k={},p=[],e="default",rt="class",it={"default":/^(?:\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S])|\(\?[:=!]|[?*+]\?|{\d+(?:,\d*)?}\??)/,"class":/^(?:\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S]))/},et=/\$(?:{([\w$]+)}|(\d\d?|[\s\S]))/g,h=/([\s\S])(?=[\s\S]*\1)/g,nt=/^(?:[?*+]|{\d+(?:,\d*)?})\??/,ft=i.exec.call(/()??/,"")[1]===n,l=RegExp.prototype.sticky!==n,y=!1,w="gim"+(l?"y":"");return t=function(r,u){if(t.isRegExp(r)){if(u!==n)throw new TypeError("can't supply flags when constructing one RegExp from another");return o(r)}if(y)throw new Error("can't call the XRegExp constructor within token definition functions");var l=[],a=e,b={hasNamedCapture:!1,captureNames:[],hasFlag:function(n){return u.indexOf(n)>-1}},f=0,c,s,p;if(r=r===n?"":String(r),u=u===n?"":String(u),i.match.call(u,h))throw new SyntaxError("invalid duplicate regular expression flag");for(r=i.replace.call(r,/^\(\?([\w$]+)\)/,function(n,t){if(i.test.call(/[gy]/,t))throw new SyntaxError("can't use flag g or y in mode modifier");return u=i.replace.call(u+t,h,""),""}),t.forEach(u,/[\s\S]/,function(n){if(w.indexOf(n[0])<0)throw new SyntaxError("invalid regular expression flag "+n[0]);});f<r.length;)c=ut(r,f,a,b),c?(l.push(c.output),f+=c.match[0].length||1):(s=i.exec.call(it[a],r.slice(f)),s?(l.push(s[0]),f+=s[0].length):(p=r.charAt(f),p==="["?a=rt:p==="]"&&(a=e),l.push(p),++f));return v(new RegExp(l.join(""),i.replace.call(u,/[^gimy]+/g,"")),b.hasNamedCapture?b.captureNames:null)},c={on:function(n,t,r){r=r||{},n&&p.push({pattern:o(n,"g"+(l?"y":"")),handler:t,scope:r.scope||e,trigger:r.trigger||null}),r.customFlags&&(w=i.replace.call(w+r.customFlags,h,""))},off:function(){throw new Error("extensibility must be installed before using addToken");}},t.addToken=c.off,t.cache=function(n,i){var r=n+"/"+(i||"");return k[r]||(k[r]=t(n,i))},t.escape=function(n){return i.replace.call(n,/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},t.exec=function(n,t,i,u){var e=o(t,"g"+(u&&l?"y":""),u===!1?"y":""),f;return e.lastIndex=i=i||0,f=r.exec.call(e,n),u&&f&&f.index!==i&&(f=null),t.global&&(t.lastIndex=f?e.lastIndex:0),f},t.forEach=function(n,i,r,u){for(var e=0,o=-1,f;f=t.exec(n,i,e);)r.call(u,f,++o,n,i),e=f.index+(f[0].length||1);return u},t.globalize=function(n){return o(n,"g")},t.install=function(n){n=d(n),!f.natives&&n.natives&&tt(!0),!f.extensibility&&n.extensibility&&b(!0)},t.isInstalled=function(n){return!!f[n]},t.isRegExp=function(n){return s(n,"regexp")},t.matchChain=function(n,i){return function r(n,u){for(var o=i[u].regex?i[u]:{regex:i[u]},f=[],s=function(n){f.push(o.backref?n[o.backref]||"":n[0])},e=0;e<n.length;++e)t.forEach(n[e],o.regex,s);return u===i.length-1||!f.length?f:r(f,u+1)}([n],0)},t.replace=function(i,u,f,e){var c=t.isRegExp(u),s=u,h;return c?(e===n&&u.global&&(e="all"),s=o(u,e==="all"?"g":"",e==="all"?"":"g")):e==="all"&&(s=new RegExp(t.escape(String(u)),"g")),h=r.replace.call(String(i),s,f),c&&u.global&&(u.lastIndex=0),h},t.split=function(n,t,i){return r.split.call(n,t,i)},t.test=function(n,i,r,u){return!!t.exec(n,i,r,u)},t.uninstall=function(n){n=d(n),f.natives&&n.natives&&tt(!1),f.extensibility&&n.extensibility&&b(!1)},t.union=function(n,i){var l=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*]/g,o=0,f,h,c=function(n,t,i){var r=h[o-f];if(t){if(++o,r)return"(?<"+r+">"}else if(i)return"\\"+(+i+f);return n},e=[],r,u;if(!(s(n,"array")&&n.length))throw new TypeError("patterns must be a nonempty array");for(u=0;u<n.length;++u)r=n[u],t.isRegExp(r)?(f=o,h=r.xregexp&&r.xregexp.captureNames||[],e.push(t(r.source).source.replace(l,c))):e.push(t.escape(r));return t(e.join("|"),i)},t.version="2.0.0",r.exec=function(t){var r,f,e,o,u;if(this.global||(o=this.lastIndex),r=i.exec.apply(this,arguments),r){if(!ft&&r.length>1&&a(r,"")>-1&&(e=new RegExp(this.source,i.replace.call(g(this),"g","")),i.replace.call(String(t).slice(r.index),e,function(){for(var t=1;t<arguments.length-2;++t)arguments[t]===n&&(r[t]=n)})),this.xregexp&&this.xregexp.captureNames)for(u=1;u<r.length;++u)f=this.xregexp.captureNames[u-1],f&&(r[f]=r[u]);this.global&&!r[0].length&&this.lastIndex>r.index&&(this.lastIndex=r.index)}return this.global||(this.lastIndex=o),r},r.test=function(n){return!!r.exec.call(this,n)},r.match=function(n){if(t.isRegExp(n)){if(n.global){var u=i.match.apply(this,arguments);return n.lastIndex=0,u}}else n=new RegExp(n);return r.exec.call(n,this)},r.replace=function(n,r){var e=t.isRegExp(n),u,f,h,o;return e?(n.xregexp&&(u=n.xregexp.captureNames),n.global||(o=n.lastIndex)):n+="",s(r,"function")?f=i.replace.call(String(this),n,function(){var t=arguments,i;if(u)for(t[0]=new String(t[0]),i=0;i<u.length;++i)u[i]&&(t[0][u[i]]=t[i+1]);return e&&n.global&&(n.lastIndex=t[t.length-2]+t[0].length),r.apply(null,t)}):(h=String(this),f=i.replace.call(h,n,function(){var n=arguments;return i.replace.call(String(r),et,function(t,i,r){var f;if(i){if(f=+i,f<=n.length-3)return n[f]||"";if(f=u?a(u,i):-1,f<0)throw new SyntaxError("backreference to undefined group "+t);return n[f+1]||""}if(r==="$")return"$";if(r==="&"||+r==0)return n[0];if(r==="`")return n[n.length-1].slice(0,n[n.length-2]);if(r==="'")return n[n.length-1].slice(n[n.length-2]+n[0].length);if(r=+r,!isNaN(r)){if(r>n.length-3)throw new SyntaxError("backreference to undefined group "+t);return n[r]||""}throw new SyntaxError("invalid token "+t);})})),e&&(n.lastIndex=n.global?0:o),f},r.split=function(r,u){if(!t.isRegExp(r))return i.split.apply(this,arguments);var e=String(this),h=r.lastIndex,f=[],o=0,s;return u=(u===n?-1:u)>>>0,t.forEach(e,r,function(n){n.index+n[0].length>o&&(f.push(e.slice(o,n.index)),n.length>1&&n.index<e.length&&Array.prototype.push.apply(f,n.slice(1)),s=n[0].length,o=n.index+s)}),o===e.length?(!i.test.call(r,"")||s)&&f.push(""):f.push(e.slice(o)),r.lastIndex=h,f.length>u?f.slice(0,u):f},u=c.on,u(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4})|x(?![\dA-Fa-f]{2}))/,function(n,t){if(n[1]==="B"&&t===e)return n[0];throw new SyntaxError("invalid escape "+n[0]);},{scope:"all"}),u(/\[(\^?)]/,function(n){return n[1]?"[\\s\\S]":"\\b\\B"}),u(/(?:\(\?#[^)]*\))+/,function(n){return i.test.call(nt,n.input.slice(n.index+n[0].length))?"":"(?:)"}),u(/\\k<([\w$]+)>/,function(n){var t=isNaN(n[1])?a(this.captureNames,n[1])+1:+n[1],i=n.index+n[0].length;if(!t||t>this.captureNames.length)throw new SyntaxError("backreference to undefined group "+n[0]);return"\\"+t+(i===n.input.length||isNaN(n.input.charAt(i))?"":"(?:)")}),u(/(?:\s+|#.*)+/,function(n){return i.test.call(nt,n.input.slice(n.index+n[0].length))?"":"(?:)"},{trigger:function(){return this.hasFlag("x")},customFlags:"x"}),u(/\./,function(){return"[\\s\\S]"},{trigger:function(){return this.hasFlag("s")},customFlags:"s"}),u(/\(\?P?<([\w$]+)>/,function(n){if(!isNaN(n[1]))throw new SyntaxError("can't use integer as capture name "+n[0]);return this.captureNames.push(n[1]),this.hasNamedCapture=!0,"("}),u(/\\(\d+)/,function(n,t){if(!(t===e&&/^[1-9]/.test(n[1])&&+n[1]<=this.captureNames.length)&&n[1]!=="0")throw new SyntaxError("can't use octal escape or backreference to undefined group "+n[0]);return n[0]},{scope:"all"}),u(/\((?!\?)/,function(){return this.hasFlag("n")?"(?:":(this.captureNames.push(null),"(")},{customFlags:"n"}),typeof exports!="undefined"&&(exports.XRegExp=t),t}(); +//XRegExp Unicode Base 1.0.0 +(function(n){"use strict";function i(n){return n.replace(/[- _]+/g,"").toLowerCase()}function s(n){return n.replace(/\w{4}/g,"\\u$&")}function u(n){while(n.length<4)n="0"+n;return n}function f(n){return parseInt(n,16)}function r(n){return parseInt(n,10).toString(16)}function o(t){var e=[],i=-1,o;return n.forEach(t,/\\u(\w{4})(?:-\\u(\w{4}))?/,function(n){o=f(n[1]),o>i+1&&(e.push("\\u"+u(r(i+1))),o>i+2&&e.push("-\\u"+u(r(o-1)))),i=f(n[2]||n[1])}),i<65535&&(e.push("\\u"+u(r(i+1))),i<65534&&e.push("-\\uFFFF")),e.join("")}function e(n){return t["^"+n]||(t["^"+n]=o(t[n]))}var t={};n.install("extensibility"),n.addUnicodePackage=function(r,u){var f;if(!n.isInstalled("extensibility"))throw new Error("extensibility must be installed before adding Unicode packages");if(r)for(f in r)r.hasOwnProperty(f)&&(t[i(f)]=s(r[f]));if(u)for(f in u)u.hasOwnProperty(f)&&(t[i(u[f])]=t[i(f)])},n.addUnicodePackage({L:"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05270531-055605590561-058705D0-05EA05F0-05F20620-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280840-085808A008A2-08AC0904-0939093D09500958-09610971-09770979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10CF10CF20D05-0D0C0D0E-0D100D12-0D3A0D3D0D4E0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC-0EDF0F000F40-0F470F49-0F6C0F88-0F8C1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510C710CD10D0-10FA10FC-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1BBA-1BE51C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11CF51CF61D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209C21022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2CF22CF32D00-2D252D272D2D2D30-2D672D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78B-A78EA790-A793A7A0-A7AAA7F8-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDAAE0-AAEAAAF2-AAF4AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC"},{L:"Letter"}),n.addToken(/\\([pP]){(\^?)([^}]*)}/,function(n,r){var f=n[1]==="P"||n[2]?"^":"",u=i(n[3]);if(n[1]==="P"&&n[2])throw new SyntaxError("invalid double negation \\P{^");if(!t.hasOwnProperty(u))throw new SyntaxError("invalid or unknown Unicode property "+n[0]);return r==="class"?f?e(u):t[u]:"["+f+t[u]+"]"},{scope:"all"})})(XRegExp); +//XRegExp Unicode Categories 1.2.0 +(function(n){"use strict";if(!n.addUnicodePackage)throw new ReferenceError("Unicode Base must be loaded before Unicode Categories");n.install("extensibility"),n.addUnicodePackage({Ll:"0061-007A00B500DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F05210523052505270561-05871D00-1D2B1D6B-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7B2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2CF32D00-2D252D272D2DA641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA661A663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CA78EA791A793A7A1A7A3A7A5A7A7A7A9A7FAFB00-FB06FB13-FB17FF41-FF5A",Lu:"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E05200522052405260531-055610A0-10C510C710CD1E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CED2CF2A640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA660A662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BA78DA790A792A7A0A7A2A7A4A7A6A7A8A7AAFF21-FF3A",Lt:"01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC",Lm:"02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D6A1D781D9B-1DBF2071207F2090-209C2C7C2C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A7F8A7F9A9CFAA70AADDAAF3AAF4FF70FF9EFF9F",Lo:"00AA00BA01BB01C0-01C3029405D0-05EA05F0-05F20620-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150840-085808A008A2-08AC0904-0939093D09500958-09610972-09770979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10CF10CF20D05-0D0C0D0E-0D100D12-0D3A0D3D0D4E0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC-0EDF0F000F40-0F470F49-0F6C0F88-0F8C1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA10FD-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1BBA-1BE51C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF11CF51CF62135-21382D30-2D672D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCAAE0-AAEAAAF2AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",M:"0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065F067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0859-085B08E4-08FE0900-0903093A-093C093E-094F0951-0957096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F8D-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135D-135F1712-17141732-1734175217531772177317B4-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAD1BE6-1BF31C24-1C371CD0-1CD21CD4-1CE81CED1CF2-1CF41DC0-1DE61DFC-1DFF20D0-20F02CEF-2CF12D7F2DE0-2DFF302A-302F3099309AA66F-A672A674-A67DA69FA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1AAEB-AAEFAAF5AAF6ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26",Mn:"0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065F067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0859-085B08E4-08FE0900-0902093A093C0941-0948094D0951-095709620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F8D-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135D-135F1712-17141732-1734175217531772177317B417B517B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91BAB1BE61BE81BE91BED1BEF-1BF11C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1CF41DC0-1DE61DFC-1DFF20D0-20DC20E120E5-20F02CEF-2CF12D7F2DE0-2DFF302A-302D3099309AA66FA674-A67DA69FA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1AAECAAEDAAF6ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26",Mc:"0903093B093E-09400949-094C094E094F0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1BAC1BAD1BE71BEA-1BEC1BEE1BF21BF31C24-1C2B1C341C351CE11CF21CF3302E302FA823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BAAEBAAEEAAEFAAF5ABE3ABE4ABE6ABE7ABE9ABEAABEC",Me:"0488048920DD-20E020E2-20E4A670-A672",N:"0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0B72-0B770BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293248-324F3251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nd:"0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19D91A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nl:"16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF",No:"00B200B300B900BC-00BE09F4-09F90B72-0B770BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F919DA20702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293248-324F3251-325F3280-328932B1-32BFA830-A835",P:"0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100A700AB00B600B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E085E0964096509700AF00DF40E4F0E5A0E5B0F04-0F120F140F3A-0F3D0F850FD0-0FD40FD90FDA104A-104F10FB1360-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A194419451A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601BFC-1BFF1C3B-1C3F1C7E1C7F1CC0-1CC71CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2D702E00-2E2E2E30-2E3B3001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFAAF0AAF1ABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65",Pd:"002D058A05BE140018062010-20152E172E1A2E3A2E3B301C303030A0FE31FE32FE58FE63FF0D",Ps:"0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62",Pe:"0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63",Pi:"00AB2018201B201C201F20392E022E042E092E0C2E1C2E20",Pf:"00BB2019201D203A2E032E052E0A2E0D2E1D2E21",Pc:"005F203F20402054FE33FE34FE4D-FE4FFF3F",Po:"0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100A700B600B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E085E0964096509700AF00DF40E4F0E5A0E5B0F04-0F120F140F850FD0-0FD40FD90FDA104A-104F10FB1360-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A194419451A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601BFC-1BFF1C3B-1C3F1C7E1C7F1CC0-1CC71CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2D702E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E30-2E393001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFAAF0AAF1ABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65",S:"0024002B003C-003E005E0060007C007E00A2-00A600A800A900AC00AE-00B100B400B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F60482058F0606-0608060B060E060F06DE06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0D790E3F0F01-0F030F130F15-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F1390-139917DB194019DE-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B9210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23F32400-24262440-244A249C-24E92500-26FF2701-27672794-27C427C7-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-324732503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FBB2-FBC1FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD",Sm:"002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C21182140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC",Sc:"002400A2-00A5058F060B09F209F309FB0AF10BF90E3F17DB20A0-20B9A838FDFCFE69FF04FFE0FFE1FFE5FFE6",Sk:"005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFBB2-FBC1FF3EFF40FFE3",So:"00A600A900AE00B00482060E060F06DE06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0D790F01-0F030F130F15-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F1390-1399194019DE-19FF1B61-1B6A1B74-1B7C210021012103-210621082109211421162117211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23F32400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26FF2701-27672794-27BF2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-324732503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD",Z:"002000A01680180E2000-200A20282029202F205F3000",Zs:"002000A01680180E2000-200A202F205F3000",Zl:"2028",Zp:"2029",C:"0000-001F007F-009F00AD03780379037F-0383038B038D03A20528-05300557055805600588058B-058E059005C8-05CF05EB-05EF05F5-0605061C061D06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F085C085D085F-089F08A108AD-08E308FF097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B78-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D3B0D3C0D450D490D4F-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EE0-0EFF0F480F6D-0F700F980FBD0FCD0FDB-0FFF10C610C8-10CC10CE10CF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B135C137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BF4-1BFB1C38-1C3A1C4A-1C4C1C80-1CBF1CC8-1CCF1CF7-1CFF1DE7-1DFB1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F209D-209F20BA-20CF20F1-20FF218A-218F23F4-23FF2427-243F244B-245F27002B4D-2B4F2B5A-2BFF2C2F2C5F2CF4-2CF82D262D28-2D2C2D2E2D2F2D68-2D6E2D71-2D7E2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E3C-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31BB-31BF31E4-31EF321F32FF4DB6-4DBF9FCD-9FFFA48D-A48FA4C7-A4CFA62C-A63FA698-A69EA6F8-A6FFA78FA794-A79FA7AB-A7F7A82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAF7-AB00AB07AB08AB0FAB10AB17-AB1FAB27AB2F-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBC2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF",Cc:"0000-001F007F-009F",Cf:"00AD0600-060406DD070F200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB",Co:"E000-F8FF",Cs:"D800-DFFF",Cn:"03780379037F-0383038B038D03A20528-05300557055805600588058B-058E059005C8-05CF05EB-05EF05F5-05FF0605061C061D070E074B074C07B2-07BF07FB-07FF082E082F083F085C085D085F-089F08A108AD-08E308FF097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B78-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D3B0D3C0D450D490D4F-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EE0-0EFF0F480F6D-0F700F980FBD0FCD0FDB-0FFF10C610C8-10CC10CE10CF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B135C137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BF4-1BFB1C38-1C3A1C4A-1C4C1C80-1CBF1CC8-1CCF1CF7-1CFF1DE7-1DFB1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F209D-209F20BA-20CF20F1-20FF218A-218F23F4-23FF2427-243F244B-245F27002B4D-2B4F2B5A-2BFF2C2F2C5F2CF4-2CF82D262D28-2D2C2D2E2D2F2D68-2D6E2D71-2D7E2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E3C-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31BB-31BF31E4-31EF321F32FF4DB6-4DBF9FCD-9FFFA48D-A48FA4C7-A4CFA62C-A63FA698-A69EA6F8-A6FFA78FA794-A79FA7AB-A7F7A82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAF7-AB00AB07AB08AB0FAB10AB17-AB1FAB27AB2F-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBC2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF"},{Ll:"Lowercase_Letter",Lu:"Uppercase_Letter",Lt:"Titlecase_Letter",Lm:"Modifier_Letter",Lo:"Other_Letter",M:"Mark",Mn:"Nonspacing_Mark",Mc:"Spacing_Mark",Me:"Enclosing_Mark",N:"Number",Nd:"Decimal_Number",Nl:"Letter_Number",No:"Other_Number",P:"Punctuation",Pd:"Dash_Punctuation",Ps:"Open_Punctuation",Pe:"Close_Punctuation",Pi:"Initial_Punctuation",Pf:"Final_Punctuation",Pc:"Connector_Punctuation",Po:"Other_Punctuation",S:"Symbol",Sm:"Math_Symbol",Sc:"Currency_Symbol",Sk:"Modifier_Symbol",So:"Other_Symbol",Z:"Separator",Zs:"Space_Separator",Zl:"Line_Separator",Zp:"Paragraph_Separator",C:"Other",Cc:"Control",Cf:"Format",Co:"Private_Use",Cs:"Surrogate",Cn:"Unassigned"})})(XRegExp); +//XRegExp Unicode Scripts 1.2.0 +(function(n){"use strict";if(!n.addUnicodePackage)throw new ReferenceError("Unicode Base must be loaded before Unicode Scripts");n.install("extensibility"),n.addUnicodePackage({Arabic:"0600-06040606-060B060D-061A061E0620-063F0641-064A0656-065E066A-066F0671-06DC06DE-06FF0750-077F08A008A2-08AC08E4-08FEFB50-FBC1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFCFE70-FE74FE76-FEFC",Armenian:"0531-05560559-055F0561-0587058A058FFB13-FB17",Balinese:"1B00-1B4B1B50-1B7C",Bamum:"A6A0-A6F7",Batak:"1BC0-1BF31BFC-1BFF",Bengali:"0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BC-09C409C709C809CB-09CE09D709DC09DD09DF-09E309E6-09FB",Bopomofo:"02EA02EB3105-312D31A0-31BA",Braille:"2800-28FF",Buginese:"1A00-1A1B1A1E1A1F",Buhid:"1740-1753",Canadian_Aboriginal:"1400-167F18B0-18F5",Cham:"AA00-AA36AA40-AA4DAA50-AA59AA5C-AA5F",Cherokee:"13A0-13F4",Common:"0000-0040005B-0060007B-00A900AB-00B900BB-00BF00D700F702B9-02DF02E5-02E902EC-02FF0374037E038503870589060C061B061F06400660-066906DD096409650E3F0FD5-0FD810FB16EB-16ED173517361802180318051CD31CE11CE9-1CEC1CEE-1CF31CF51CF62000-200B200E-2064206A-20702074-207E2080-208E20A0-20B92100-21252127-2129212C-21312133-214D214F-215F21892190-23F32400-24262440-244A2460-26FF2701-27FF2900-2B4C2B50-2B592E00-2E3B2FF0-2FFB3000-300430063008-30203030-3037303C-303F309B309C30A030FB30FC3190-319F31C0-31E33220-325F327F-32CF3358-33FF4DC0-4DFFA700-A721A788-A78AA830-A839FD3EFD3FFDFDFE10-FE19FE30-FE52FE54-FE66FE68-FE6BFEFFFF01-FF20FF3B-FF40FF5B-FF65FF70FF9EFF9FFFE0-FFE6FFE8-FFEEFFF9-FFFD",Coptic:"03E2-03EF2C80-2CF32CF9-2CFF",Cyrillic:"0400-04840487-05271D2B1D782DE0-2DFFA640-A697A69F",Devanagari:"0900-09500953-09630966-09770979-097FA8E0-A8FB",Ethiopic:"1200-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135D-137C1380-13992D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDEAB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2E",Georgian:"10A0-10C510C710CD10D0-10FA10FC-10FF2D00-2D252D272D2D",Glagolitic:"2C00-2C2E2C30-2C5E",Greek:"0370-03730375-0377037A-037D038403860388-038A038C038E-03A103A3-03E103F0-03FF1D26-1D2A1D5D-1D611D66-1D6A1DBF1F00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FC41FC6-1FD31FD6-1FDB1FDD-1FEF1FF2-1FF41FF6-1FFE2126",Gujarati:"0A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABC-0AC50AC7-0AC90ACB-0ACD0AD00AE0-0AE30AE6-0AF1",Gurmukhi:"0A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3C0A3E-0A420A470A480A4B-0A4D0A510A59-0A5C0A5E0A66-0A75",Han:"2E80-2E992E9B-2EF32F00-2FD5300530073021-30293038-303B3400-4DB54E00-9FCCF900-FA6DFA70-FAD9",Hangul:"1100-11FF302E302F3131-318E3200-321E3260-327EA960-A97CAC00-D7A3D7B0-D7C6D7CB-D7FBFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",Hanunoo:"1720-1734",Hebrew:"0591-05C705D0-05EA05F0-05F4FB1D-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FB4F",Hiragana:"3041-3096309D-309F",Inherited:"0300-036F04850486064B-0655065F0670095109521CD0-1CD21CD4-1CE01CE2-1CE81CED1CF41DC0-1DE61DFC-1DFF200C200D20D0-20F0302A-302D3099309AFE00-FE0FFE20-FE26",Javanese:"A980-A9CDA9CF-A9D9A9DEA9DF",Kannada:"0C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBC-0CC40CC6-0CC80CCA-0CCD0CD50CD60CDE0CE0-0CE30CE6-0CEF0CF10CF2",Katakana:"30A1-30FA30FD-30FF31F0-31FF32D0-32FE3300-3357FF66-FF6FFF71-FF9D",Kayah_Li:"A900-A92F",Khmer:"1780-17DD17E0-17E917F0-17F919E0-19FF",Lao:"0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60EC8-0ECD0ED0-0ED90EDC-0EDF",Latin:"0041-005A0061-007A00AA00BA00C0-00D600D8-00F600F8-02B802E0-02E41D00-1D251D2C-1D5C1D62-1D651D6B-1D771D79-1DBE1E00-1EFF2071207F2090-209C212A212B2132214E2160-21882C60-2C7FA722-A787A78B-A78EA790-A793A7A0-A7AAA7F8-A7FFFB00-FB06FF21-FF3AFF41-FF5A",Lepcha:"1C00-1C371C3B-1C491C4D-1C4F",Limbu:"1900-191C1920-192B1930-193B19401944-194F",Lisu:"A4D0-A4FF",Malayalam:"0D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4E0D570D60-0D630D66-0D750D79-0D7F",Mandaic:"0840-085B085E",Meetei_Mayek:"AAE0-AAF6ABC0-ABEDABF0-ABF9",Mongolian:"1800180118041806-180E1810-18191820-18771880-18AA",Myanmar:"1000-109FAA60-AA7B",New_Tai_Lue:"1980-19AB19B0-19C919D0-19DA19DE19DF",Nko:"07C0-07FA",Ogham:"1680-169C",Ol_Chiki:"1C50-1C7F",Oriya:"0B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3C-0B440B470B480B4B-0B4D0B560B570B5C0B5D0B5F-0B630B66-0B77",Phags_Pa:"A840-A877",Rejang:"A930-A953A95F",Runic:"16A0-16EA16EE-16F0",Samaritan:"0800-082D0830-083E",Saurashtra:"A880-A8C4A8CE-A8D9",Sinhala:"0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCA0DCF-0DD40DD60DD8-0DDF0DF2-0DF4",Sundanese:"1B80-1BBF1CC0-1CC7",Syloti_Nagri:"A800-A82B",Syriac:"0700-070D070F-074A074D-074F",Tagalog:"1700-170C170E-1714",Tagbanwa:"1760-176C176E-177017721773",Tai_Le:"1950-196D1970-1974",Tai_Tham:"1A20-1A5E1A60-1A7C1A7F-1A891A90-1A991AA0-1AAD",Tai_Viet:"AA80-AAC2AADB-AADF",Tamil:"0B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCD0BD00BD70BE6-0BFA",Telugu:"0C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4D0C550C560C580C590C60-0C630C66-0C6F0C78-0C7F",Thaana:"0780-07B1",Thai:"0E01-0E3A0E40-0E5B",Tibetan:"0F00-0F470F49-0F6C0F71-0F970F99-0FBC0FBE-0FCC0FCE-0FD40FD90FDA",Tifinagh:"2D30-2D672D6F2D702D7F",Vai:"A500-A62B",Yi:"A000-A48CA490-A4C6"})})(XRegExp); +//XRegExp Unicode Blocks 1.2.0 +(function(n){"use strict";if(!n.addUnicodePackage)throw new ReferenceError("Unicode Base must be loaded before Unicode Blocks");n.install("extensibility"),n.addUnicodePackage({InBasic_Latin:"0000-007F",InLatin_1_Supplement:"0080-00FF",InLatin_Extended_A:"0100-017F",InLatin_Extended_B:"0180-024F",InIPA_Extensions:"0250-02AF",InSpacing_Modifier_Letters:"02B0-02FF",InCombining_Diacritical_Marks:"0300-036F",InGreek_and_Coptic:"0370-03FF",InCyrillic:"0400-04FF",InCyrillic_Supplement:"0500-052F",InArmenian:"0530-058F",InHebrew:"0590-05FF",InArabic:"0600-06FF",InSyriac:"0700-074F",InArabic_Supplement:"0750-077F",InThaana:"0780-07BF",InNKo:"07C0-07FF",InSamaritan:"0800-083F",InMandaic:"0840-085F",InArabic_Extended_A:"08A0-08FF",InDevanagari:"0900-097F",InBengali:"0980-09FF",InGurmukhi:"0A00-0A7F",InGujarati:"0A80-0AFF",InOriya:"0B00-0B7F",InTamil:"0B80-0BFF",InTelugu:"0C00-0C7F",InKannada:"0C80-0CFF",InMalayalam:"0D00-0D7F",InSinhala:"0D80-0DFF",InThai:"0E00-0E7F",InLao:"0E80-0EFF",InTibetan:"0F00-0FFF",InMyanmar:"1000-109F",InGeorgian:"10A0-10FF",InHangul_Jamo:"1100-11FF",InEthiopic:"1200-137F",InEthiopic_Supplement:"1380-139F",InCherokee:"13A0-13FF",InUnified_Canadian_Aboriginal_Syllabics:"1400-167F",InOgham:"1680-169F",InRunic:"16A0-16FF",InTagalog:"1700-171F",InHanunoo:"1720-173F",InBuhid:"1740-175F",InTagbanwa:"1760-177F",InKhmer:"1780-17FF",InMongolian:"1800-18AF",InUnified_Canadian_Aboriginal_Syllabics_Extended:"18B0-18FF",InLimbu:"1900-194F",InTai_Le:"1950-197F",InNew_Tai_Lue:"1980-19DF",InKhmer_Symbols:"19E0-19FF",InBuginese:"1A00-1A1F",InTai_Tham:"1A20-1AAF",InBalinese:"1B00-1B7F",InSundanese:"1B80-1BBF",InBatak:"1BC0-1BFF",InLepcha:"1C00-1C4F",InOl_Chiki:"1C50-1C7F",InSundanese_Supplement:"1CC0-1CCF",InVedic_Extensions:"1CD0-1CFF",InPhonetic_Extensions:"1D00-1D7F",InPhonetic_Extensions_Supplement:"1D80-1DBF",InCombining_Diacritical_Marks_Supplement:"1DC0-1DFF",InLatin_Extended_Additional:"1E00-1EFF",InGreek_Extended:"1F00-1FFF",InGeneral_Punctuation:"2000-206F",InSuperscripts_and_Subscripts:"2070-209F",InCurrency_Symbols:"20A0-20CF",InCombining_Diacritical_Marks_for_Symbols:"20D0-20FF",InLetterlike_Symbols:"2100-214F",InNumber_Forms:"2150-218F",InArrows:"2190-21FF",InMathematical_Operators:"2200-22FF",InMiscellaneous_Technical:"2300-23FF",InControl_Pictures:"2400-243F",InOptical_Character_Recognition:"2440-245F",InEnclosed_Alphanumerics:"2460-24FF",InBox_Drawing:"2500-257F",InBlock_Elements:"2580-259F",InGeometric_Shapes:"25A0-25FF",InMiscellaneous_Symbols:"2600-26FF",InDingbats:"2700-27BF",InMiscellaneous_Mathematical_Symbols_A:"27C0-27EF",InSupplemental_Arrows_A:"27F0-27FF",InBraille_Patterns:"2800-28FF",InSupplemental_Arrows_B:"2900-297F",InMiscellaneous_Mathematical_Symbols_B:"2980-29FF",InSupplemental_Mathematical_Operators:"2A00-2AFF",InMiscellaneous_Symbols_and_Arrows:"2B00-2BFF",InGlagolitic:"2C00-2C5F",InLatin_Extended_C:"2C60-2C7F",InCoptic:"2C80-2CFF",InGeorgian_Supplement:"2D00-2D2F",InTifinagh:"2D30-2D7F",InEthiopic_Extended:"2D80-2DDF",InCyrillic_Extended_A:"2DE0-2DFF",InSupplemental_Punctuation:"2E00-2E7F",InCJK_Radicals_Supplement:"2E80-2EFF",InKangxi_Radicals:"2F00-2FDF",InIdeographic_Description_Characters:"2FF0-2FFF",InCJK_Symbols_and_Punctuation:"3000-303F",InHiragana:"3040-309F",InKatakana:"30A0-30FF",InBopomofo:"3100-312F",InHangul_Compatibility_Jamo:"3130-318F",InKanbun:"3190-319F",InBopomofo_Extended:"31A0-31BF",InCJK_Strokes:"31C0-31EF",InKatakana_Phonetic_Extensions:"31F0-31FF",InEnclosed_CJK_Letters_and_Months:"3200-32FF",InCJK_Compatibility:"3300-33FF",InCJK_Unified_Ideographs_Extension_A:"3400-4DBF",InYijing_Hexagram_Symbols:"4DC0-4DFF",InCJK_Unified_Ideographs:"4E00-9FFF",InYi_Syllables:"A000-A48F",InYi_Radicals:"A490-A4CF",InLisu:"A4D0-A4FF",InVai:"A500-A63F",InCyrillic_Extended_B:"A640-A69F",InBamum:"A6A0-A6FF",InModifier_Tone_Letters:"A700-A71F",InLatin_Extended_D:"A720-A7FF",InSyloti_Nagri:"A800-A82F",InCommon_Indic_Number_Forms:"A830-A83F",InPhags_pa:"A840-A87F",InSaurashtra:"A880-A8DF",InDevanagari_Extended:"A8E0-A8FF",InKayah_Li:"A900-A92F",InRejang:"A930-A95F",InHangul_Jamo_Extended_A:"A960-A97F",InJavanese:"A980-A9DF",InCham:"AA00-AA5F",InMyanmar_Extended_A:"AA60-AA7F",InTai_Viet:"AA80-AADF",InMeetei_Mayek_Extensions:"AAE0-AAFF",InEthiopic_Extended_A:"AB00-AB2F",InMeetei_Mayek:"ABC0-ABFF",InHangul_Syllables:"AC00-D7AF",InHangul_Jamo_Extended_B:"D7B0-D7FF",InHigh_Surrogates:"D800-DB7F",InHigh_Private_Use_Surrogates:"DB80-DBFF",InLow_Surrogates:"DC00-DFFF",InPrivate_Use_Area:"E000-F8FF",InCJK_Compatibility_Ideographs:"F900-FAFF",InAlphabetic_Presentation_Forms:"FB00-FB4F",InArabic_Presentation_Forms_A:"FB50-FDFF",InVariation_Selectors:"FE00-FE0F",InVertical_Forms:"FE10-FE1F",InCombining_Half_Marks:"FE20-FE2F",InCJK_Compatibility_Forms:"FE30-FE4F",InSmall_Form_Variants:"FE50-FE6F",InArabic_Presentation_Forms_B:"FE70-FEFF",InHalfwidth_and_Fullwidth_Forms:"FF00-FFEF",InSpecials:"FFF0-FFFF"})})(XRegExp); +//XRegExp Unicode Properties 1.0.0 +(function(n){"use strict";if(!n.addUnicodePackage)throw new ReferenceError("Unicode Base must be loaded before Unicode Properties");n.install("extensibility"),n.addUnicodePackage({Alphabetic:"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE03450370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05270531-055605590561-058705B0-05BD05BF05C105C205C405C505C705D0-05EA05F0-05F20610-061A0620-06570659-065F066E-06D306D5-06DC06E1-06E806ED-06EF06FA-06FC06FF0710-073F074D-07B107CA-07EA07F407F507FA0800-0817081A-082C0840-085808A008A2-08AC08E4-08E908F0-08FE0900-093B093D-094C094E-09500955-09630971-09770979-097F0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BD-09C409C709C809CB09CC09CE09D709DC09DD09DF-09E309F009F10A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3E-0A420A470A480A4B0A4C0A510A59-0A5C0A5E0A70-0A750A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD-0AC50AC7-0AC90ACB0ACC0AD00AE0-0AE30B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D-0B440B470B480B4B0B4C0B560B570B5C0B5D0B5F-0B630B710B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCC0BD00BD70C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4C0C550C560C580C590C60-0C630C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD-0CC40CC6-0CC80CCA-0CCC0CD50CD60CDE0CE0-0CE30CF10CF20D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4C0D4E0D570D60-0D630D7A-0D7F0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCF-0DD40DD60DD8-0DDF0DF20DF30E01-0E3A0E40-0E460E4D0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60ECD0EDC-0EDF0F000F40-0F470F49-0F6C0F71-0F810F88-0F970F99-0FBC1000-10361038103B-103F1050-10621065-1068106E-1086108E109C109D10A0-10C510C710CD10D0-10FA10FC-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135F1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA16EE-16F01700-170C170E-17131720-17331740-17531760-176C176E-1770177217731780-17B317B6-17C817D717DC1820-18771880-18AA18B0-18F51900-191C1920-192B1930-19381950-196D1970-19741980-19AB19B0-19C91A00-1A1B1A20-1A5E1A61-1A741AA71B00-1B331B35-1B431B45-1B4B1B80-1BA91BAC-1BAF1BBA-1BE51BE7-1BF11C00-1C351C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF31CF51CF61D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209C21022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E2160-218824B6-24E92C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2CF22CF32D00-2D252D272D2D2D30-2D672D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2DE0-2DFF2E2F3005-30073021-30293031-30353038-303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A66EA674-A67BA67F-A697A69F-A6EFA717-A71FA722-A788A78B-A78EA790-A793A7A0-A7AAA7F8-A801A803-A805A807-A80AA80C-A827A840-A873A880-A8C3A8F2-A8F7A8FBA90A-A92AA930-A952A960-A97CA980-A9B2A9B4-A9BFA9CFAA00-AA36AA40-AA4DAA60-AA76AA7AAA80-AABEAAC0AAC2AADB-AADDAAE0-AAEFAAF2-AAF5AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABEAAC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1D-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",Uppercase:"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E05200522052405260531-055610A0-10C510C710CD1E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F21452160-216F218324B6-24CF2C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CED2CF2A640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA660A662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BA78DA790A792A7A0A7A2A7A4A7A6A7A8A7AAFF21-FF3A",Lowercase:"0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02B802C002C102E0-02E40345037103730377037A-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F05210523052505270561-05871D00-1DBF1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF72071207F2090-209C210A210E210F2113212F21342139213C213D2146-2149214E2170-217F218424D0-24E92C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7D2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2CF32D00-2D252D272D2DA641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA661A663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76F-A778A77AA77CA77FA781A783A785A787A78CA78EA791A793A7A1A7A3A7A5A7A7A7A9A7F8-A7FAFB00-FB06FB13-FB17FF41-FF5A",White_Space:"0009-000D0020008500A01680180E2000-200A20282029202F205F3000",Noncharacter_Code_Point:"FDD0-FDEFFFFEFFFF",Default_Ignorable_Code_Point:"00AD034F115F116017B417B5180B-180D200B-200F202A-202E2060-206F3164FE00-FE0FFEFFFFA0FFF0-FFF8",Any:"0000-FFFF",Ascii:"0000-007F",Assigned:"0000-0377037A-037E0384-038A038C038E-03A103A3-05270531-05560559-055F0561-05870589058A058F0591-05C705D0-05EA05F0-05F40600-06040606-061B061E-070D070F-074A074D-07B107C0-07FA0800-082D0830-083E0840-085B085E08A008A2-08AC08E4-08FE0900-09770979-097F0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BC-09C409C709C809CB-09CE09D709DC09DD09DF-09E309E6-09FB0A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3C0A3E-0A420A470A480A4B-0A4D0A510A59-0A5C0A5E0A66-0A750A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABC-0AC50AC7-0AC90ACB-0ACD0AD00AE0-0AE30AE6-0AF10B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3C-0B440B470B480B4B-0B4D0B560B570B5C0B5D0B5F-0B630B66-0B770B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCD0BD00BD70BE6-0BFA0C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4D0C550C560C580C590C60-0C630C66-0C6F0C78-0C7F0C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBC-0CC40CC6-0CC80CCA-0CCD0CD50CD60CDE0CE0-0CE30CE6-0CEF0CF10CF20D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4E0D570D60-0D630D66-0D750D79-0D7F0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCA0DCF-0DD40DD60DD8-0DDF0DF2-0DF40E01-0E3A0E3F-0E5B0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60EC8-0ECD0ED0-0ED90EDC-0EDF0F00-0F470F49-0F6C0F71-0F970F99-0FBC0FBE-0FCC0FCE-0FDA1000-10C510C710CD10D0-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135D-137C1380-139913A0-13F41400-169C16A0-16F01700-170C170E-17141720-17361740-17531760-176C176E-1770177217731780-17DD17E0-17E917F0-17F91800-180E1810-18191820-18771880-18AA18B0-18F51900-191C1920-192B1930-193B19401944-196D1970-19741980-19AB19B0-19C919D0-19DA19DE-1A1B1A1E-1A5E1A60-1A7C1A7F-1A891A90-1A991AA0-1AAD1B00-1B4B1B50-1B7C1B80-1BF31BFC-1C371C3B-1C491C4D-1C7F1CC0-1CC71CD0-1CF61D00-1DE61DFC-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FC41FC6-1FD31FD6-1FDB1FDD-1FEF1FF2-1FF41FF6-1FFE2000-2064206A-20712074-208E2090-209C20A0-20B920D0-20F02100-21892190-23F32400-24262440-244A2460-26FF2701-2B4C2B50-2B592C00-2C2E2C30-2C5E2C60-2CF32CF9-2D252D272D2D2D30-2D672D6F2D702D7F-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2DE0-2E3B2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB3000-303F3041-30963099-30FF3105-312D3131-318E3190-31BA31C0-31E331F0-321E3220-32FE3300-4DB54DC0-9FCCA000-A48CA490-A4C6A4D0-A62BA640-A697A69F-A6F7A700-A78EA790-A793A7A0-A7AAA7F8-A82BA830-A839A840-A877A880-A8C4A8CE-A8D9A8E0-A8FBA900-A953A95F-A97CA980-A9CDA9CF-A9D9A9DEA9DFAA00-AA36AA40-AA4DAA50-AA59AA5C-AA7BAA80-AAC2AADB-AAF6AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABEDABF0-ABF9AC00-D7A3D7B0-D7C6D7CB-D7FBD800-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1D-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBC1FBD3-FD3FFD50-FD8FFD92-FDC7FDF0-FDFDFE00-FE19FE20-FE26FE30-FE52FE54-FE66FE68-FE6BFE70-FE74FE76-FEFCFEFFFF01-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDCFFE0-FFE6FFE8-FFEEFFF9-FFFD"})})(XRegExp); +//XRegExp.matchRecursive 0.2.0 +(function(n){"use strict";function t(n,t,i,r){return{value:n,name:t,start:i,end:r}}n.matchRecursive=function(i,r,u,f,e){f=f||"",e=e||{};var g=f.indexOf("g")>-1,nt=f.indexOf("y")>-1,d=f.replace(/y/g,""),y=e.escapeChar,o=e.valueNames,v=[],b=0,h=0,s=0,c=0,p,w,l,a,k;if(r=n(r,d),u=n(u,d),y){if(y.length>1)throw new SyntaxError("can't use more than one escape character");y=n.escape(y),k=new RegExp("(?:"+y+"[\\S\\s]|(?:(?!"+n.union([r,u]).source+")[^"+y+"])+)+",f.replace(/[^im]+/g,""))}for(;;){if(y&&(s+=(n.exec(i,k,s,"sticky")||[""])[0].length),l=n.exec(i,r,s),a=n.exec(i,u,s),l&&a&&(l.index<=a.index?a=null:l=null),l||a)h=(l||a).index,s=h+(l||a)[0].length;else if(!b)break;if(nt&&!b&&h>c)break;if(l)b||(p=h,w=s),++b;else if(a&&b){if(!--b&&(o?(o[0]&&p>c&&v.push(t(o[0],i.slice(c,p),c,p)),o[1]&&v.push(t(o[1],i.slice(p,w),p,w)),o[2]&&v.push(t(o[2],i.slice(w,h),w,h)),o[3]&&v.push(t(o[3],i.slice(h,s),h,s))):v.push(i.slice(w,h)),c=s,!g))break}else throw new Error("string contains unbalanced delimiters");h===s&&++s}return g&&!nt&&o&&o[0]&&i.length>c&&v.push(t(o[0],i.slice(c),c,i.length)),v}})(XRegExp); +//XRegExp.build 0.1.0 +(function(n){"use strict";function u(n){var i=/^(?:\(\?:\))?\^/,t=/\$(?:\(\?:\))?$/;return t.test(n.replace(/\\[\s\S]/g,""))?n.replace(i,"").replace(t,""):n}function t(t){return n.isRegExp(t)?t.xregexp&&!t.xregexp.isNative?t:n(t.source):n(t)}var i=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*]/g,r=n.union([/\({{([\w$]+)}}\)|{{([\w$]+)}}/,i],"g");n.build=function(f,e,o){var w=/^\(\?([\w$]+)\)/.exec(f),l={},s=0,v,h=0,p=[0],y,a,c;w&&(o=o||"",w[1].replace(/./g,function(n){o+=o.indexOf(n)>-1?"":n}));for(c in e)e.hasOwnProperty(c)&&(a=t(e[c]),l[c]={pattern:u(a.source),names:a.xregexp.captureNames||[]});return f=t(f),y=f.xregexp.captureNames||[],f=f.source.replace(r,function(n,t,r,u,f){var o=t||r,e,c;if(o){if(!l.hasOwnProperty(o))throw new ReferenceError("undefined property "+n);return t?(e=y[h],p[++h]=++s,c="(?<"+(e||o)+">"):c="(?:",v=s,c+l[o].pattern.replace(i,function(n,t,i){if(t){if(e=l[o].names[s-v],++s,e)return"(?<"+e+">"}else if(i)return"\\"+(+i+v);return n})+")"}if(u){if(e=y[h],p[++h]=++s,e)return"(?<"+e+">"}else if(f)return"\\"+p[+f];return n}),n(f,o)}})(XRegExp); +//XRegExp Prototype Methods 1.0.0 +(function(n){"use strict";function t(n,t){for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i])}t(n.prototype,{apply:function(n,t){return this.test(t[0])},call:function(n,t){return this.test(t)},forEach:function(t,i,r){return n.forEach(t,this,i,r)},globalize:function(){return n.globalize(this)},xexec:function(t,i,r){return n.exec(t,this,i,r)},xtest:function(t,i,r){return n.test(t,this,i,r)}})})(XRegExp) diff --git a/static/admin/js/vendor/xregexp/xregexp.min.c95393b8ca4d.js.gz b/static/admin/js/vendor/xregexp/xregexp.min.c95393b8ca4d.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..95cd32257091ba05e7395ab1660bfb3e14fdf79d GIT binary patch literal 23476 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 literal 0 HcmV?d00001 diff --git a/static/admin/js/vendor/xregexp/xregexp.min.js b/static/admin/js/vendor/xregexp/xregexp.min.js new file mode 100644 index 0000000..a190558 --- /dev/null +++ b/static/admin/js/vendor/xregexp/xregexp.min.js @@ -0,0 +1,18 @@ +//XRegExp 2.0.0 <xregexp.com> MIT License +var XRegExp;XRegExp=XRegExp||function(n){"use strict";function v(n,i,r){var u;for(u in t.prototype)t.prototype.hasOwnProperty(u)&&(n[u]=t.prototype[u]);return n.xregexp={captureNames:i,isNative:!!r},n}function g(n){return(n.global?"g":"")+(n.ignoreCase?"i":"")+(n.multiline?"m":"")+(n.extended?"x":"")+(n.sticky?"y":"")}function o(n,r,u){if(!t.isRegExp(n))throw new TypeError("type RegExp expected");var f=i.replace.call(g(n)+(r||""),h,"");return u&&(f=i.replace.call(f,new RegExp("["+u+"]+","g"),"")),n=n.xregexp&&!n.xregexp.isNative?v(t(n.source,f),n.xregexp.captureNames?n.xregexp.captureNames.slice(0):null):v(new RegExp(n.source,f),null,!0)}function a(n,t){var i=n.length;if(Array.prototype.lastIndexOf)return n.lastIndexOf(t);while(i--)if(n[i]===t)return i;return-1}function s(n,t){return Object.prototype.toString.call(n).toLowerCase()==="[object "+t+"]"}function d(n){return n=n||{},n==="all"||n.all?n={natives:!0,extensibility:!0}:s(n,"string")&&(n=t.forEach(n,/[^\s,]+/,function(n){this[n]=!0},{})),n}function ut(n,t,i,u){var o=p.length,s=null,e,f;y=!0;try{while(o--)if(f=p[o],(f.scope==="all"||f.scope===i)&&(!f.trigger||f.trigger.call(u))&&(f.pattern.lastIndex=t,e=r.exec.call(f.pattern,n),e&&e.index===t)){s={output:f.handler.call(u,e,i),match:e};break}}catch(h){throw h;}finally{y=!1}return s}function b(n){t.addToken=c[n?"on":"off"],f.extensibility=n}function tt(n){RegExp.prototype.exec=(n?r:i).exec,RegExp.prototype.test=(n?r:i).test,String.prototype.match=(n?r:i).match,String.prototype.replace=(n?r:i).replace,String.prototype.split=(n?r:i).split,f.natives=n}var t,c,u,f={natives:!1,extensibility:!1},i={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},r={},k={},p=[],e="default",rt="class",it={"default":/^(?:\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S])|\(\?[:=!]|[?*+]\?|{\d+(?:,\d*)?}\??)/,"class":/^(?:\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S]))/},et=/\$(?:{([\w$]+)}|(\d\d?|[\s\S]))/g,h=/([\s\S])(?=[\s\S]*\1)/g,nt=/^(?:[?*+]|{\d+(?:,\d*)?})\??/,ft=i.exec.call(/()??/,"")[1]===n,l=RegExp.prototype.sticky!==n,y=!1,w="gim"+(l?"y":"");return t=function(r,u){if(t.isRegExp(r)){if(u!==n)throw new TypeError("can't supply flags when constructing one RegExp from another");return o(r)}if(y)throw new Error("can't call the XRegExp constructor within token definition functions");var l=[],a=e,b={hasNamedCapture:!1,captureNames:[],hasFlag:function(n){return u.indexOf(n)>-1}},f=0,c,s,p;if(r=r===n?"":String(r),u=u===n?"":String(u),i.match.call(u,h))throw new SyntaxError("invalid duplicate regular expression flag");for(r=i.replace.call(r,/^\(\?([\w$]+)\)/,function(n,t){if(i.test.call(/[gy]/,t))throw new SyntaxError("can't use flag g or y in mode modifier");return u=i.replace.call(u+t,h,""),""}),t.forEach(u,/[\s\S]/,function(n){if(w.indexOf(n[0])<0)throw new SyntaxError("invalid regular expression flag "+n[0]);});f<r.length;)c=ut(r,f,a,b),c?(l.push(c.output),f+=c.match[0].length||1):(s=i.exec.call(it[a],r.slice(f)),s?(l.push(s[0]),f+=s[0].length):(p=r.charAt(f),p==="["?a=rt:p==="]"&&(a=e),l.push(p),++f));return v(new RegExp(l.join(""),i.replace.call(u,/[^gimy]+/g,"")),b.hasNamedCapture?b.captureNames:null)},c={on:function(n,t,r){r=r||{},n&&p.push({pattern:o(n,"g"+(l?"y":"")),handler:t,scope:r.scope||e,trigger:r.trigger||null}),r.customFlags&&(w=i.replace.call(w+r.customFlags,h,""))},off:function(){throw new Error("extensibility must be installed before using addToken");}},t.addToken=c.off,t.cache=function(n,i){var r=n+"/"+(i||"");return k[r]||(k[r]=t(n,i))},t.escape=function(n){return i.replace.call(n,/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},t.exec=function(n,t,i,u){var e=o(t,"g"+(u&&l?"y":""),u===!1?"y":""),f;return e.lastIndex=i=i||0,f=r.exec.call(e,n),u&&f&&f.index!==i&&(f=null),t.global&&(t.lastIndex=f?e.lastIndex:0),f},t.forEach=function(n,i,r,u){for(var e=0,o=-1,f;f=t.exec(n,i,e);)r.call(u,f,++o,n,i),e=f.index+(f[0].length||1);return u},t.globalize=function(n){return o(n,"g")},t.install=function(n){n=d(n),!f.natives&&n.natives&&tt(!0),!f.extensibility&&n.extensibility&&b(!0)},t.isInstalled=function(n){return!!f[n]},t.isRegExp=function(n){return s(n,"regexp")},t.matchChain=function(n,i){return function r(n,u){for(var o=i[u].regex?i[u]:{regex:i[u]},f=[],s=function(n){f.push(o.backref?n[o.backref]||"":n[0])},e=0;e<n.length;++e)t.forEach(n[e],o.regex,s);return u===i.length-1||!f.length?f:r(f,u+1)}([n],0)},t.replace=function(i,u,f,e){var c=t.isRegExp(u),s=u,h;return c?(e===n&&u.global&&(e="all"),s=o(u,e==="all"?"g":"",e==="all"?"":"g")):e==="all"&&(s=new RegExp(t.escape(String(u)),"g")),h=r.replace.call(String(i),s,f),c&&u.global&&(u.lastIndex=0),h},t.split=function(n,t,i){return r.split.call(n,t,i)},t.test=function(n,i,r,u){return!!t.exec(n,i,r,u)},t.uninstall=function(n){n=d(n),f.natives&&n.natives&&tt(!1),f.extensibility&&n.extensibility&&b(!1)},t.union=function(n,i){var l=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*]/g,o=0,f,h,c=function(n,t,i){var r=h[o-f];if(t){if(++o,r)return"(?<"+r+">"}else if(i)return"\\"+(+i+f);return n},e=[],r,u;if(!(s(n,"array")&&n.length))throw new TypeError("patterns must be a nonempty array");for(u=0;u<n.length;++u)r=n[u],t.isRegExp(r)?(f=o,h=r.xregexp&&r.xregexp.captureNames||[],e.push(t(r.source).source.replace(l,c))):e.push(t.escape(r));return t(e.join("|"),i)},t.version="2.0.0",r.exec=function(t){var r,f,e,o,u;if(this.global||(o=this.lastIndex),r=i.exec.apply(this,arguments),r){if(!ft&&r.length>1&&a(r,"")>-1&&(e=new RegExp(this.source,i.replace.call(g(this),"g","")),i.replace.call(String(t).slice(r.index),e,function(){for(var t=1;t<arguments.length-2;++t)arguments[t]===n&&(r[t]=n)})),this.xregexp&&this.xregexp.captureNames)for(u=1;u<r.length;++u)f=this.xregexp.captureNames[u-1],f&&(r[f]=r[u]);this.global&&!r[0].length&&this.lastIndex>r.index&&(this.lastIndex=r.index)}return this.global||(this.lastIndex=o),r},r.test=function(n){return!!r.exec.call(this,n)},r.match=function(n){if(t.isRegExp(n)){if(n.global){var u=i.match.apply(this,arguments);return n.lastIndex=0,u}}else n=new RegExp(n);return r.exec.call(n,this)},r.replace=function(n,r){var e=t.isRegExp(n),u,f,h,o;return e?(n.xregexp&&(u=n.xregexp.captureNames),n.global||(o=n.lastIndex)):n+="",s(r,"function")?f=i.replace.call(String(this),n,function(){var t=arguments,i;if(u)for(t[0]=new String(t[0]),i=0;i<u.length;++i)u[i]&&(t[0][u[i]]=t[i+1]);return e&&n.global&&(n.lastIndex=t[t.length-2]+t[0].length),r.apply(null,t)}):(h=String(this),f=i.replace.call(h,n,function(){var n=arguments;return i.replace.call(String(r),et,function(t,i,r){var f;if(i){if(f=+i,f<=n.length-3)return n[f]||"";if(f=u?a(u,i):-1,f<0)throw new SyntaxError("backreference to undefined group "+t);return n[f+1]||""}if(r==="$")return"$";if(r==="&"||+r==0)return n[0];if(r==="`")return n[n.length-1].slice(0,n[n.length-2]);if(r==="'")return n[n.length-1].slice(n[n.length-2]+n[0].length);if(r=+r,!isNaN(r)){if(r>n.length-3)throw new SyntaxError("backreference to undefined group "+t);return n[r]||""}throw new SyntaxError("invalid token "+t);})})),e&&(n.lastIndex=n.global?0:o),f},r.split=function(r,u){if(!t.isRegExp(r))return i.split.apply(this,arguments);var e=String(this),h=r.lastIndex,f=[],o=0,s;return u=(u===n?-1:u)>>>0,t.forEach(e,r,function(n){n.index+n[0].length>o&&(f.push(e.slice(o,n.index)),n.length>1&&n.index<e.length&&Array.prototype.push.apply(f,n.slice(1)),s=n[0].length,o=n.index+s)}),o===e.length?(!i.test.call(r,"")||s)&&f.push(""):f.push(e.slice(o)),r.lastIndex=h,f.length>u?f.slice(0,u):f},u=c.on,u(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4})|x(?![\dA-Fa-f]{2}))/,function(n,t){if(n[1]==="B"&&t===e)return n[0];throw new SyntaxError("invalid escape "+n[0]);},{scope:"all"}),u(/\[(\^?)]/,function(n){return n[1]?"[\\s\\S]":"\\b\\B"}),u(/(?:\(\?#[^)]*\))+/,function(n){return i.test.call(nt,n.input.slice(n.index+n[0].length))?"":"(?:)"}),u(/\\k<([\w$]+)>/,function(n){var t=isNaN(n[1])?a(this.captureNames,n[1])+1:+n[1],i=n.index+n[0].length;if(!t||t>this.captureNames.length)throw new SyntaxError("backreference to undefined group "+n[0]);return"\\"+t+(i===n.input.length||isNaN(n.input.charAt(i))?"":"(?:)")}),u(/(?:\s+|#.*)+/,function(n){return i.test.call(nt,n.input.slice(n.index+n[0].length))?"":"(?:)"},{trigger:function(){return this.hasFlag("x")},customFlags:"x"}),u(/\./,function(){return"[\\s\\S]"},{trigger:function(){return this.hasFlag("s")},customFlags:"s"}),u(/\(\?P?<([\w$]+)>/,function(n){if(!isNaN(n[1]))throw new SyntaxError("can't use integer as capture name "+n[0]);return this.captureNames.push(n[1]),this.hasNamedCapture=!0,"("}),u(/\\(\d+)/,function(n,t){if(!(t===e&&/^[1-9]/.test(n[1])&&+n[1]<=this.captureNames.length)&&n[1]!=="0")throw new SyntaxError("can't use octal escape or backreference to undefined group "+n[0]);return n[0]},{scope:"all"}),u(/\((?!\?)/,function(){return this.hasFlag("n")?"(?:":(this.captureNames.push(null),"(")},{customFlags:"n"}),typeof exports!="undefined"&&(exports.XRegExp=t),t}(); +//XRegExp Unicode Base 1.0.0 +(function(n){"use strict";function i(n){return n.replace(/[- _]+/g,"").toLowerCase()}function s(n){return n.replace(/\w{4}/g,"\\u$&")}function u(n){while(n.length<4)n="0"+n;return n}function f(n){return parseInt(n,16)}function r(n){return parseInt(n,10).toString(16)}function o(t){var e=[],i=-1,o;return n.forEach(t,/\\u(\w{4})(?:-\\u(\w{4}))?/,function(n){o=f(n[1]),o>i+1&&(e.push("\\u"+u(r(i+1))),o>i+2&&e.push("-\\u"+u(r(o-1)))),i=f(n[2]||n[1])}),i<65535&&(e.push("\\u"+u(r(i+1))),i<65534&&e.push("-\\uFFFF")),e.join("")}function e(n){return t["^"+n]||(t["^"+n]=o(t[n]))}var t={};n.install("extensibility"),n.addUnicodePackage=function(r,u){var f;if(!n.isInstalled("extensibility"))throw new Error("extensibility must be installed before adding Unicode packages");if(r)for(f in r)r.hasOwnProperty(f)&&(t[i(f)]=s(r[f]));if(u)for(f in u)u.hasOwnProperty(f)&&(t[i(u[f])]=t[i(f)])},n.addUnicodePackage({L:"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05270531-055605590561-058705D0-05EA05F0-05F20620-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280840-085808A008A2-08AC0904-0939093D09500958-09610971-09770979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10CF10CF20D05-0D0C0D0E-0D100D12-0D3A0D3D0D4E0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC-0EDF0F000F40-0F470F49-0F6C0F88-0F8C1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510C710CD10D0-10FA10FC-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1BBA-1BE51C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11CF51CF61D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209C21022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2CF22CF32D00-2D252D272D2D2D30-2D672D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78B-A78EA790-A793A7A0-A7AAA7F8-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDAAE0-AAEAAAF2-AAF4AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC"},{L:"Letter"}),n.addToken(/\\([pP]){(\^?)([^}]*)}/,function(n,r){var f=n[1]==="P"||n[2]?"^":"",u=i(n[3]);if(n[1]==="P"&&n[2])throw new SyntaxError("invalid double negation \\P{^");if(!t.hasOwnProperty(u))throw new SyntaxError("invalid or unknown Unicode property "+n[0]);return r==="class"?f?e(u):t[u]:"["+f+t[u]+"]"},{scope:"all"})})(XRegExp); +//XRegExp Unicode Categories 1.2.0 +(function(n){"use strict";if(!n.addUnicodePackage)throw new ReferenceError("Unicode Base must be loaded before Unicode Categories");n.install("extensibility"),n.addUnicodePackage({Ll:"0061-007A00B500DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F05210523052505270561-05871D00-1D2B1D6B-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7B2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2CF32D00-2D252D272D2DA641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA661A663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CA78EA791A793A7A1A7A3A7A5A7A7A7A9A7FAFB00-FB06FB13-FB17FF41-FF5A",Lu:"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E05200522052405260531-055610A0-10C510C710CD1E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CED2CF2A640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA660A662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BA78DA790A792A7A0A7A2A7A4A7A6A7A8A7AAFF21-FF3A",Lt:"01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC",Lm:"02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D6A1D781D9B-1DBF2071207F2090-209C2C7C2C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A7F8A7F9A9CFAA70AADDAAF3AAF4FF70FF9EFF9F",Lo:"00AA00BA01BB01C0-01C3029405D0-05EA05F0-05F20620-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150840-085808A008A2-08AC0904-0939093D09500958-09610972-09770979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10CF10CF20D05-0D0C0D0E-0D100D12-0D3A0D3D0D4E0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC-0EDF0F000F40-0F470F49-0F6C0F88-0F8C1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA10FD-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1BBA-1BE51C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF11CF51CF62135-21382D30-2D672D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCAAE0-AAEAAAF2AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",M:"0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065F067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0859-085B08E4-08FE0900-0903093A-093C093E-094F0951-0957096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F8D-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135D-135F1712-17141732-1734175217531772177317B4-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAD1BE6-1BF31C24-1C371CD0-1CD21CD4-1CE81CED1CF2-1CF41DC0-1DE61DFC-1DFF20D0-20F02CEF-2CF12D7F2DE0-2DFF302A-302F3099309AA66F-A672A674-A67DA69FA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1AAEB-AAEFAAF5AAF6ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26",Mn:"0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065F067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0859-085B08E4-08FE0900-0902093A093C0941-0948094D0951-095709620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F8D-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135D-135F1712-17141732-1734175217531772177317B417B517B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91BAB1BE61BE81BE91BED1BEF-1BF11C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1CF41DC0-1DE61DFC-1DFF20D0-20DC20E120E5-20F02CEF-2CF12D7F2DE0-2DFF302A-302D3099309AA66FA674-A67DA69FA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1AAECAAEDAAF6ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26",Mc:"0903093B093E-09400949-094C094E094F0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1BAC1BAD1BE71BEA-1BEC1BEE1BF21BF31C24-1C2B1C341C351CE11CF21CF3302E302FA823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BAAEBAAEEAAEFAAF5ABE3ABE4ABE6ABE7ABE9ABEAABEC",Me:"0488048920DD-20E020E2-20E4A670-A672",N:"0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0B72-0B770BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293248-324F3251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nd:"0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19D91A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nl:"16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF",No:"00B200B300B900BC-00BE09F4-09F90B72-0B770BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F919DA20702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293248-324F3251-325F3280-328932B1-32BFA830-A835",P:"0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100A700AB00B600B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E085E0964096509700AF00DF40E4F0E5A0E5B0F04-0F120F140F3A-0F3D0F850FD0-0FD40FD90FDA104A-104F10FB1360-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A194419451A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601BFC-1BFF1C3B-1C3F1C7E1C7F1CC0-1CC71CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2D702E00-2E2E2E30-2E3B3001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFAAF0AAF1ABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65",Pd:"002D058A05BE140018062010-20152E172E1A2E3A2E3B301C303030A0FE31FE32FE58FE63FF0D",Ps:"0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62",Pe:"0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63",Pi:"00AB2018201B201C201F20392E022E042E092E0C2E1C2E20",Pf:"00BB2019201D203A2E032E052E0A2E0D2E1D2E21",Pc:"005F203F20402054FE33FE34FE4D-FE4FFF3F",Po:"0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100A700B600B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E085E0964096509700AF00DF40E4F0E5A0E5B0F04-0F120F140F850FD0-0FD40FD90FDA104A-104F10FB1360-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A194419451A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601BFC-1BFF1C3B-1C3F1C7E1C7F1CC0-1CC71CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2D702E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E30-2E393001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFAAF0AAF1ABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65",S:"0024002B003C-003E005E0060007C007E00A2-00A600A800A900AC00AE-00B100B400B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F60482058F0606-0608060B060E060F06DE06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0D790E3F0F01-0F030F130F15-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F1390-139917DB194019DE-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B9210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23F32400-24262440-244A249C-24E92500-26FF2701-27672794-27C427C7-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-324732503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FBB2-FBC1FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD",Sm:"002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C21182140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC",Sc:"002400A2-00A5058F060B09F209F309FB0AF10BF90E3F17DB20A0-20B9A838FDFCFE69FF04FFE0FFE1FFE5FFE6",Sk:"005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFBB2-FBC1FF3EFF40FFE3",So:"00A600A900AE00B00482060E060F06DE06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0D790F01-0F030F130F15-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F1390-1399194019DE-19FF1B61-1B6A1B74-1B7C210021012103-210621082109211421162117211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23F32400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26FF2701-27672794-27BF2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-324732503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD",Z:"002000A01680180E2000-200A20282029202F205F3000",Zs:"002000A01680180E2000-200A202F205F3000",Zl:"2028",Zp:"2029",C:"0000-001F007F-009F00AD03780379037F-0383038B038D03A20528-05300557055805600588058B-058E059005C8-05CF05EB-05EF05F5-0605061C061D06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F085C085D085F-089F08A108AD-08E308FF097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B78-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D3B0D3C0D450D490D4F-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EE0-0EFF0F480F6D-0F700F980FBD0FCD0FDB-0FFF10C610C8-10CC10CE10CF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B135C137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BF4-1BFB1C38-1C3A1C4A-1C4C1C80-1CBF1CC8-1CCF1CF7-1CFF1DE7-1DFB1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F209D-209F20BA-20CF20F1-20FF218A-218F23F4-23FF2427-243F244B-245F27002B4D-2B4F2B5A-2BFF2C2F2C5F2CF4-2CF82D262D28-2D2C2D2E2D2F2D68-2D6E2D71-2D7E2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E3C-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31BB-31BF31E4-31EF321F32FF4DB6-4DBF9FCD-9FFFA48D-A48FA4C7-A4CFA62C-A63FA698-A69EA6F8-A6FFA78FA794-A79FA7AB-A7F7A82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAF7-AB00AB07AB08AB0FAB10AB17-AB1FAB27AB2F-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBC2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF",Cc:"0000-001F007F-009F",Cf:"00AD0600-060406DD070F200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB",Co:"E000-F8FF",Cs:"D800-DFFF",Cn:"03780379037F-0383038B038D03A20528-05300557055805600588058B-058E059005C8-05CF05EB-05EF05F5-05FF0605061C061D070E074B074C07B2-07BF07FB-07FF082E082F083F085C085D085F-089F08A108AD-08E308FF097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B78-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D3B0D3C0D450D490D4F-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EE0-0EFF0F480F6D-0F700F980FBD0FCD0FDB-0FFF10C610C8-10CC10CE10CF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B135C137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BF4-1BFB1C38-1C3A1C4A-1C4C1C80-1CBF1CC8-1CCF1CF7-1CFF1DE7-1DFB1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F209D-209F20BA-20CF20F1-20FF218A-218F23F4-23FF2427-243F244B-245F27002B4D-2B4F2B5A-2BFF2C2F2C5F2CF4-2CF82D262D28-2D2C2D2E2D2F2D68-2D6E2D71-2D7E2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E3C-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31BB-31BF31E4-31EF321F32FF4DB6-4DBF9FCD-9FFFA48D-A48FA4C7-A4CFA62C-A63FA698-A69EA6F8-A6FFA78FA794-A79FA7AB-A7F7A82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAF7-AB00AB07AB08AB0FAB10AB17-AB1FAB27AB2F-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBC2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF"},{Ll:"Lowercase_Letter",Lu:"Uppercase_Letter",Lt:"Titlecase_Letter",Lm:"Modifier_Letter",Lo:"Other_Letter",M:"Mark",Mn:"Nonspacing_Mark",Mc:"Spacing_Mark",Me:"Enclosing_Mark",N:"Number",Nd:"Decimal_Number",Nl:"Letter_Number",No:"Other_Number",P:"Punctuation",Pd:"Dash_Punctuation",Ps:"Open_Punctuation",Pe:"Close_Punctuation",Pi:"Initial_Punctuation",Pf:"Final_Punctuation",Pc:"Connector_Punctuation",Po:"Other_Punctuation",S:"Symbol",Sm:"Math_Symbol",Sc:"Currency_Symbol",Sk:"Modifier_Symbol",So:"Other_Symbol",Z:"Separator",Zs:"Space_Separator",Zl:"Line_Separator",Zp:"Paragraph_Separator",C:"Other",Cc:"Control",Cf:"Format",Co:"Private_Use",Cs:"Surrogate",Cn:"Unassigned"})})(XRegExp); +//XRegExp Unicode Scripts 1.2.0 +(function(n){"use strict";if(!n.addUnicodePackage)throw new ReferenceError("Unicode Base must be loaded before Unicode Scripts");n.install("extensibility"),n.addUnicodePackage({Arabic:"0600-06040606-060B060D-061A061E0620-063F0641-064A0656-065E066A-066F0671-06DC06DE-06FF0750-077F08A008A2-08AC08E4-08FEFB50-FBC1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFCFE70-FE74FE76-FEFC",Armenian:"0531-05560559-055F0561-0587058A058FFB13-FB17",Balinese:"1B00-1B4B1B50-1B7C",Bamum:"A6A0-A6F7",Batak:"1BC0-1BF31BFC-1BFF",Bengali:"0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BC-09C409C709C809CB-09CE09D709DC09DD09DF-09E309E6-09FB",Bopomofo:"02EA02EB3105-312D31A0-31BA",Braille:"2800-28FF",Buginese:"1A00-1A1B1A1E1A1F",Buhid:"1740-1753",Canadian_Aboriginal:"1400-167F18B0-18F5",Cham:"AA00-AA36AA40-AA4DAA50-AA59AA5C-AA5F",Cherokee:"13A0-13F4",Common:"0000-0040005B-0060007B-00A900AB-00B900BB-00BF00D700F702B9-02DF02E5-02E902EC-02FF0374037E038503870589060C061B061F06400660-066906DD096409650E3F0FD5-0FD810FB16EB-16ED173517361802180318051CD31CE11CE9-1CEC1CEE-1CF31CF51CF62000-200B200E-2064206A-20702074-207E2080-208E20A0-20B92100-21252127-2129212C-21312133-214D214F-215F21892190-23F32400-24262440-244A2460-26FF2701-27FF2900-2B4C2B50-2B592E00-2E3B2FF0-2FFB3000-300430063008-30203030-3037303C-303F309B309C30A030FB30FC3190-319F31C0-31E33220-325F327F-32CF3358-33FF4DC0-4DFFA700-A721A788-A78AA830-A839FD3EFD3FFDFDFE10-FE19FE30-FE52FE54-FE66FE68-FE6BFEFFFF01-FF20FF3B-FF40FF5B-FF65FF70FF9EFF9FFFE0-FFE6FFE8-FFEEFFF9-FFFD",Coptic:"03E2-03EF2C80-2CF32CF9-2CFF",Cyrillic:"0400-04840487-05271D2B1D782DE0-2DFFA640-A697A69F",Devanagari:"0900-09500953-09630966-09770979-097FA8E0-A8FB",Ethiopic:"1200-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135D-137C1380-13992D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDEAB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2E",Georgian:"10A0-10C510C710CD10D0-10FA10FC-10FF2D00-2D252D272D2D",Glagolitic:"2C00-2C2E2C30-2C5E",Greek:"0370-03730375-0377037A-037D038403860388-038A038C038E-03A103A3-03E103F0-03FF1D26-1D2A1D5D-1D611D66-1D6A1DBF1F00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FC41FC6-1FD31FD6-1FDB1FDD-1FEF1FF2-1FF41FF6-1FFE2126",Gujarati:"0A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABC-0AC50AC7-0AC90ACB-0ACD0AD00AE0-0AE30AE6-0AF1",Gurmukhi:"0A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3C0A3E-0A420A470A480A4B-0A4D0A510A59-0A5C0A5E0A66-0A75",Han:"2E80-2E992E9B-2EF32F00-2FD5300530073021-30293038-303B3400-4DB54E00-9FCCF900-FA6DFA70-FAD9",Hangul:"1100-11FF302E302F3131-318E3200-321E3260-327EA960-A97CAC00-D7A3D7B0-D7C6D7CB-D7FBFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",Hanunoo:"1720-1734",Hebrew:"0591-05C705D0-05EA05F0-05F4FB1D-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FB4F",Hiragana:"3041-3096309D-309F",Inherited:"0300-036F04850486064B-0655065F0670095109521CD0-1CD21CD4-1CE01CE2-1CE81CED1CF41DC0-1DE61DFC-1DFF200C200D20D0-20F0302A-302D3099309AFE00-FE0FFE20-FE26",Javanese:"A980-A9CDA9CF-A9D9A9DEA9DF",Kannada:"0C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBC-0CC40CC6-0CC80CCA-0CCD0CD50CD60CDE0CE0-0CE30CE6-0CEF0CF10CF2",Katakana:"30A1-30FA30FD-30FF31F0-31FF32D0-32FE3300-3357FF66-FF6FFF71-FF9D",Kayah_Li:"A900-A92F",Khmer:"1780-17DD17E0-17E917F0-17F919E0-19FF",Lao:"0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60EC8-0ECD0ED0-0ED90EDC-0EDF",Latin:"0041-005A0061-007A00AA00BA00C0-00D600D8-00F600F8-02B802E0-02E41D00-1D251D2C-1D5C1D62-1D651D6B-1D771D79-1DBE1E00-1EFF2071207F2090-209C212A212B2132214E2160-21882C60-2C7FA722-A787A78B-A78EA790-A793A7A0-A7AAA7F8-A7FFFB00-FB06FF21-FF3AFF41-FF5A",Lepcha:"1C00-1C371C3B-1C491C4D-1C4F",Limbu:"1900-191C1920-192B1930-193B19401944-194F",Lisu:"A4D0-A4FF",Malayalam:"0D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4E0D570D60-0D630D66-0D750D79-0D7F",Mandaic:"0840-085B085E",Meetei_Mayek:"AAE0-AAF6ABC0-ABEDABF0-ABF9",Mongolian:"1800180118041806-180E1810-18191820-18771880-18AA",Myanmar:"1000-109FAA60-AA7B",New_Tai_Lue:"1980-19AB19B0-19C919D0-19DA19DE19DF",Nko:"07C0-07FA",Ogham:"1680-169C",Ol_Chiki:"1C50-1C7F",Oriya:"0B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3C-0B440B470B480B4B-0B4D0B560B570B5C0B5D0B5F-0B630B66-0B77",Phags_Pa:"A840-A877",Rejang:"A930-A953A95F",Runic:"16A0-16EA16EE-16F0",Samaritan:"0800-082D0830-083E",Saurashtra:"A880-A8C4A8CE-A8D9",Sinhala:"0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCA0DCF-0DD40DD60DD8-0DDF0DF2-0DF4",Sundanese:"1B80-1BBF1CC0-1CC7",Syloti_Nagri:"A800-A82B",Syriac:"0700-070D070F-074A074D-074F",Tagalog:"1700-170C170E-1714",Tagbanwa:"1760-176C176E-177017721773",Tai_Le:"1950-196D1970-1974",Tai_Tham:"1A20-1A5E1A60-1A7C1A7F-1A891A90-1A991AA0-1AAD",Tai_Viet:"AA80-AAC2AADB-AADF",Tamil:"0B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCD0BD00BD70BE6-0BFA",Telugu:"0C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4D0C550C560C580C590C60-0C630C66-0C6F0C78-0C7F",Thaana:"0780-07B1",Thai:"0E01-0E3A0E40-0E5B",Tibetan:"0F00-0F470F49-0F6C0F71-0F970F99-0FBC0FBE-0FCC0FCE-0FD40FD90FDA",Tifinagh:"2D30-2D672D6F2D702D7F",Vai:"A500-A62B",Yi:"A000-A48CA490-A4C6"})})(XRegExp); +//XRegExp Unicode Blocks 1.2.0 +(function(n){"use strict";if(!n.addUnicodePackage)throw new ReferenceError("Unicode Base must be loaded before Unicode Blocks");n.install("extensibility"),n.addUnicodePackage({InBasic_Latin:"0000-007F",InLatin_1_Supplement:"0080-00FF",InLatin_Extended_A:"0100-017F",InLatin_Extended_B:"0180-024F",InIPA_Extensions:"0250-02AF",InSpacing_Modifier_Letters:"02B0-02FF",InCombining_Diacritical_Marks:"0300-036F",InGreek_and_Coptic:"0370-03FF",InCyrillic:"0400-04FF",InCyrillic_Supplement:"0500-052F",InArmenian:"0530-058F",InHebrew:"0590-05FF",InArabic:"0600-06FF",InSyriac:"0700-074F",InArabic_Supplement:"0750-077F",InThaana:"0780-07BF",InNKo:"07C0-07FF",InSamaritan:"0800-083F",InMandaic:"0840-085F",InArabic_Extended_A:"08A0-08FF",InDevanagari:"0900-097F",InBengali:"0980-09FF",InGurmukhi:"0A00-0A7F",InGujarati:"0A80-0AFF",InOriya:"0B00-0B7F",InTamil:"0B80-0BFF",InTelugu:"0C00-0C7F",InKannada:"0C80-0CFF",InMalayalam:"0D00-0D7F",InSinhala:"0D80-0DFF",InThai:"0E00-0E7F",InLao:"0E80-0EFF",InTibetan:"0F00-0FFF",InMyanmar:"1000-109F",InGeorgian:"10A0-10FF",InHangul_Jamo:"1100-11FF",InEthiopic:"1200-137F",InEthiopic_Supplement:"1380-139F",InCherokee:"13A0-13FF",InUnified_Canadian_Aboriginal_Syllabics:"1400-167F",InOgham:"1680-169F",InRunic:"16A0-16FF",InTagalog:"1700-171F",InHanunoo:"1720-173F",InBuhid:"1740-175F",InTagbanwa:"1760-177F",InKhmer:"1780-17FF",InMongolian:"1800-18AF",InUnified_Canadian_Aboriginal_Syllabics_Extended:"18B0-18FF",InLimbu:"1900-194F",InTai_Le:"1950-197F",InNew_Tai_Lue:"1980-19DF",InKhmer_Symbols:"19E0-19FF",InBuginese:"1A00-1A1F",InTai_Tham:"1A20-1AAF",InBalinese:"1B00-1B7F",InSundanese:"1B80-1BBF",InBatak:"1BC0-1BFF",InLepcha:"1C00-1C4F",InOl_Chiki:"1C50-1C7F",InSundanese_Supplement:"1CC0-1CCF",InVedic_Extensions:"1CD0-1CFF",InPhonetic_Extensions:"1D00-1D7F",InPhonetic_Extensions_Supplement:"1D80-1DBF",InCombining_Diacritical_Marks_Supplement:"1DC0-1DFF",InLatin_Extended_Additional:"1E00-1EFF",InGreek_Extended:"1F00-1FFF",InGeneral_Punctuation:"2000-206F",InSuperscripts_and_Subscripts:"2070-209F",InCurrency_Symbols:"20A0-20CF",InCombining_Diacritical_Marks_for_Symbols:"20D0-20FF",InLetterlike_Symbols:"2100-214F",InNumber_Forms:"2150-218F",InArrows:"2190-21FF",InMathematical_Operators:"2200-22FF",InMiscellaneous_Technical:"2300-23FF",InControl_Pictures:"2400-243F",InOptical_Character_Recognition:"2440-245F",InEnclosed_Alphanumerics:"2460-24FF",InBox_Drawing:"2500-257F",InBlock_Elements:"2580-259F",InGeometric_Shapes:"25A0-25FF",InMiscellaneous_Symbols:"2600-26FF",InDingbats:"2700-27BF",InMiscellaneous_Mathematical_Symbols_A:"27C0-27EF",InSupplemental_Arrows_A:"27F0-27FF",InBraille_Patterns:"2800-28FF",InSupplemental_Arrows_B:"2900-297F",InMiscellaneous_Mathematical_Symbols_B:"2980-29FF",InSupplemental_Mathematical_Operators:"2A00-2AFF",InMiscellaneous_Symbols_and_Arrows:"2B00-2BFF",InGlagolitic:"2C00-2C5F",InLatin_Extended_C:"2C60-2C7F",InCoptic:"2C80-2CFF",InGeorgian_Supplement:"2D00-2D2F",InTifinagh:"2D30-2D7F",InEthiopic_Extended:"2D80-2DDF",InCyrillic_Extended_A:"2DE0-2DFF",InSupplemental_Punctuation:"2E00-2E7F",InCJK_Radicals_Supplement:"2E80-2EFF",InKangxi_Radicals:"2F00-2FDF",InIdeographic_Description_Characters:"2FF0-2FFF",InCJK_Symbols_and_Punctuation:"3000-303F",InHiragana:"3040-309F",InKatakana:"30A0-30FF",InBopomofo:"3100-312F",InHangul_Compatibility_Jamo:"3130-318F",InKanbun:"3190-319F",InBopomofo_Extended:"31A0-31BF",InCJK_Strokes:"31C0-31EF",InKatakana_Phonetic_Extensions:"31F0-31FF",InEnclosed_CJK_Letters_and_Months:"3200-32FF",InCJK_Compatibility:"3300-33FF",InCJK_Unified_Ideographs_Extension_A:"3400-4DBF",InYijing_Hexagram_Symbols:"4DC0-4DFF",InCJK_Unified_Ideographs:"4E00-9FFF",InYi_Syllables:"A000-A48F",InYi_Radicals:"A490-A4CF",InLisu:"A4D0-A4FF",InVai:"A500-A63F",InCyrillic_Extended_B:"A640-A69F",InBamum:"A6A0-A6FF",InModifier_Tone_Letters:"A700-A71F",InLatin_Extended_D:"A720-A7FF",InSyloti_Nagri:"A800-A82F",InCommon_Indic_Number_Forms:"A830-A83F",InPhags_pa:"A840-A87F",InSaurashtra:"A880-A8DF",InDevanagari_Extended:"A8E0-A8FF",InKayah_Li:"A900-A92F",InRejang:"A930-A95F",InHangul_Jamo_Extended_A:"A960-A97F",InJavanese:"A980-A9DF",InCham:"AA00-AA5F",InMyanmar_Extended_A:"AA60-AA7F",InTai_Viet:"AA80-AADF",InMeetei_Mayek_Extensions:"AAE0-AAFF",InEthiopic_Extended_A:"AB00-AB2F",InMeetei_Mayek:"ABC0-ABFF",InHangul_Syllables:"AC00-D7AF",InHangul_Jamo_Extended_B:"D7B0-D7FF",InHigh_Surrogates:"D800-DB7F",InHigh_Private_Use_Surrogates:"DB80-DBFF",InLow_Surrogates:"DC00-DFFF",InPrivate_Use_Area:"E000-F8FF",InCJK_Compatibility_Ideographs:"F900-FAFF",InAlphabetic_Presentation_Forms:"FB00-FB4F",InArabic_Presentation_Forms_A:"FB50-FDFF",InVariation_Selectors:"FE00-FE0F",InVertical_Forms:"FE10-FE1F",InCombining_Half_Marks:"FE20-FE2F",InCJK_Compatibility_Forms:"FE30-FE4F",InSmall_Form_Variants:"FE50-FE6F",InArabic_Presentation_Forms_B:"FE70-FEFF",InHalfwidth_and_Fullwidth_Forms:"FF00-FFEF",InSpecials:"FFF0-FFFF"})})(XRegExp); +//XRegExp Unicode Properties 1.0.0 +(function(n){"use strict";if(!n.addUnicodePackage)throw new ReferenceError("Unicode Base must be loaded before Unicode Properties");n.install("extensibility"),n.addUnicodePackage({Alphabetic:"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE03450370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05270531-055605590561-058705B0-05BD05BF05C105C205C405C505C705D0-05EA05F0-05F20610-061A0620-06570659-065F066E-06D306D5-06DC06E1-06E806ED-06EF06FA-06FC06FF0710-073F074D-07B107CA-07EA07F407F507FA0800-0817081A-082C0840-085808A008A2-08AC08E4-08E908F0-08FE0900-093B093D-094C094E-09500955-09630971-09770979-097F0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BD-09C409C709C809CB09CC09CE09D709DC09DD09DF-09E309F009F10A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3E-0A420A470A480A4B0A4C0A510A59-0A5C0A5E0A70-0A750A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD-0AC50AC7-0AC90ACB0ACC0AD00AE0-0AE30B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D-0B440B470B480B4B0B4C0B560B570B5C0B5D0B5F-0B630B710B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCC0BD00BD70C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4C0C550C560C580C590C60-0C630C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD-0CC40CC6-0CC80CCA-0CCC0CD50CD60CDE0CE0-0CE30CF10CF20D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4C0D4E0D570D60-0D630D7A-0D7F0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCF-0DD40DD60DD8-0DDF0DF20DF30E01-0E3A0E40-0E460E4D0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60ECD0EDC-0EDF0F000F40-0F470F49-0F6C0F71-0F810F88-0F970F99-0FBC1000-10361038103B-103F1050-10621065-1068106E-1086108E109C109D10A0-10C510C710CD10D0-10FA10FC-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135F1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA16EE-16F01700-170C170E-17131720-17331740-17531760-176C176E-1770177217731780-17B317B6-17C817D717DC1820-18771880-18AA18B0-18F51900-191C1920-192B1930-19381950-196D1970-19741980-19AB19B0-19C91A00-1A1B1A20-1A5E1A61-1A741AA71B00-1B331B35-1B431B45-1B4B1B80-1BA91BAC-1BAF1BBA-1BE51BE7-1BF11C00-1C351C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF31CF51CF61D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209C21022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E2160-218824B6-24E92C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2CF22CF32D00-2D252D272D2D2D30-2D672D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2DE0-2DFF2E2F3005-30073021-30293031-30353038-303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A66EA674-A67BA67F-A697A69F-A6EFA717-A71FA722-A788A78B-A78EA790-A793A7A0-A7AAA7F8-A801A803-A805A807-A80AA80C-A827A840-A873A880-A8C3A8F2-A8F7A8FBA90A-A92AA930-A952A960-A97CA980-A9B2A9B4-A9BFA9CFAA00-AA36AA40-AA4DAA60-AA76AA7AAA80-AABEAAC0AAC2AADB-AADDAAE0-AAEFAAF2-AAF5AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABEAAC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1D-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",Uppercase:"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E05200522052405260531-055610A0-10C510C710CD1E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F21452160-216F218324B6-24CF2C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CED2CF2A640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA660A662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BA78DA790A792A7A0A7A2A7A4A7A6A7A8A7AAFF21-FF3A",Lowercase:"0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02B802C002C102E0-02E40345037103730377037A-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F05210523052505270561-05871D00-1DBF1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF72071207F2090-209C210A210E210F2113212F21342139213C213D2146-2149214E2170-217F218424D0-24E92C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7D2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2CF32D00-2D252D272D2DA641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA661A663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76F-A778A77AA77CA77FA781A783A785A787A78CA78EA791A793A7A1A7A3A7A5A7A7A7A9A7F8-A7FAFB00-FB06FB13-FB17FF41-FF5A",White_Space:"0009-000D0020008500A01680180E2000-200A20282029202F205F3000",Noncharacter_Code_Point:"FDD0-FDEFFFFEFFFF",Default_Ignorable_Code_Point:"00AD034F115F116017B417B5180B-180D200B-200F202A-202E2060-206F3164FE00-FE0FFEFFFFA0FFF0-FFF8",Any:"0000-FFFF",Ascii:"0000-007F",Assigned:"0000-0377037A-037E0384-038A038C038E-03A103A3-05270531-05560559-055F0561-05870589058A058F0591-05C705D0-05EA05F0-05F40600-06040606-061B061E-070D070F-074A074D-07B107C0-07FA0800-082D0830-083E0840-085B085E08A008A2-08AC08E4-08FE0900-09770979-097F0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BC-09C409C709C809CB-09CE09D709DC09DD09DF-09E309E6-09FB0A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3C0A3E-0A420A470A480A4B-0A4D0A510A59-0A5C0A5E0A66-0A750A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABC-0AC50AC7-0AC90ACB-0ACD0AD00AE0-0AE30AE6-0AF10B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3C-0B440B470B480B4B-0B4D0B560B570B5C0B5D0B5F-0B630B66-0B770B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCD0BD00BD70BE6-0BFA0C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4D0C550C560C580C590C60-0C630C66-0C6F0C78-0C7F0C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBC-0CC40CC6-0CC80CCA-0CCD0CD50CD60CDE0CE0-0CE30CE6-0CEF0CF10CF20D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4E0D570D60-0D630D66-0D750D79-0D7F0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCA0DCF-0DD40DD60DD8-0DDF0DF2-0DF40E01-0E3A0E3F-0E5B0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60EC8-0ECD0ED0-0ED90EDC-0EDF0F00-0F470F49-0F6C0F71-0F970F99-0FBC0FBE-0FCC0FCE-0FDA1000-10C510C710CD10D0-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135D-137C1380-139913A0-13F41400-169C16A0-16F01700-170C170E-17141720-17361740-17531760-176C176E-1770177217731780-17DD17E0-17E917F0-17F91800-180E1810-18191820-18771880-18AA18B0-18F51900-191C1920-192B1930-193B19401944-196D1970-19741980-19AB19B0-19C919D0-19DA19DE-1A1B1A1E-1A5E1A60-1A7C1A7F-1A891A90-1A991AA0-1AAD1B00-1B4B1B50-1B7C1B80-1BF31BFC-1C371C3B-1C491C4D-1C7F1CC0-1CC71CD0-1CF61D00-1DE61DFC-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FC41FC6-1FD31FD6-1FDB1FDD-1FEF1FF2-1FF41FF6-1FFE2000-2064206A-20712074-208E2090-209C20A0-20B920D0-20F02100-21892190-23F32400-24262440-244A2460-26FF2701-2B4C2B50-2B592C00-2C2E2C30-2C5E2C60-2CF32CF9-2D252D272D2D2D30-2D672D6F2D702D7F-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2DE0-2E3B2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB3000-303F3041-30963099-30FF3105-312D3131-318E3190-31BA31C0-31E331F0-321E3220-32FE3300-4DB54DC0-9FCCA000-A48CA490-A4C6A4D0-A62BA640-A697A69F-A6F7A700-A78EA790-A793A7A0-A7AAA7F8-A82BA830-A839A840-A877A880-A8C4A8CE-A8D9A8E0-A8FBA900-A953A95F-A97CA980-A9CDA9CF-A9D9A9DEA9DFAA00-AA36AA40-AA4DAA50-AA59AA5C-AA7BAA80-AAC2AADB-AAF6AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABEDABF0-ABF9AC00-D7A3D7B0-D7C6D7CB-D7FBD800-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1D-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBC1FBD3-FD3FFD50-FD8FFD92-FDC7FDF0-FDFDFE00-FE19FE20-FE26FE30-FE52FE54-FE66FE68-FE6BFE70-FE74FE76-FEFCFEFFFF01-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDCFFE0-FFE6FFE8-FFEEFFF9-FFFD"})})(XRegExp); +//XRegExp.matchRecursive 0.2.0 +(function(n){"use strict";function t(n,t,i,r){return{value:n,name:t,start:i,end:r}}n.matchRecursive=function(i,r,u,f,e){f=f||"",e=e||{};var g=f.indexOf("g")>-1,nt=f.indexOf("y")>-1,d=f.replace(/y/g,""),y=e.escapeChar,o=e.valueNames,v=[],b=0,h=0,s=0,c=0,p,w,l,a,k;if(r=n(r,d),u=n(u,d),y){if(y.length>1)throw new SyntaxError("can't use more than one escape character");y=n.escape(y),k=new RegExp("(?:"+y+"[\\S\\s]|(?:(?!"+n.union([r,u]).source+")[^"+y+"])+)+",f.replace(/[^im]+/g,""))}for(;;){if(y&&(s+=(n.exec(i,k,s,"sticky")||[""])[0].length),l=n.exec(i,r,s),a=n.exec(i,u,s),l&&a&&(l.index<=a.index?a=null:l=null),l||a)h=(l||a).index,s=h+(l||a)[0].length;else if(!b)break;if(nt&&!b&&h>c)break;if(l)b||(p=h,w=s),++b;else if(a&&b){if(!--b&&(o?(o[0]&&p>c&&v.push(t(o[0],i.slice(c,p),c,p)),o[1]&&v.push(t(o[1],i.slice(p,w),p,w)),o[2]&&v.push(t(o[2],i.slice(w,h),w,h)),o[3]&&v.push(t(o[3],i.slice(h,s),h,s))):v.push(i.slice(w,h)),c=s,!g))break}else throw new Error("string contains unbalanced delimiters");h===s&&++s}return g&&!nt&&o&&o[0]&&i.length>c&&v.push(t(o[0],i.slice(c),c,i.length)),v}})(XRegExp); +//XRegExp.build 0.1.0 +(function(n){"use strict";function u(n){var i=/^(?:\(\?:\))?\^/,t=/\$(?:\(\?:\))?$/;return t.test(n.replace(/\\[\s\S]/g,""))?n.replace(i,"").replace(t,""):n}function t(t){return n.isRegExp(t)?t.xregexp&&!t.xregexp.isNative?t:n(t.source):n(t)}var i=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*]/g,r=n.union([/\({{([\w$]+)}}\)|{{([\w$]+)}}/,i],"g");n.build=function(f,e,o){var w=/^\(\?([\w$]+)\)/.exec(f),l={},s=0,v,h=0,p=[0],y,a,c;w&&(o=o||"",w[1].replace(/./g,function(n){o+=o.indexOf(n)>-1?"":n}));for(c in e)e.hasOwnProperty(c)&&(a=t(e[c]),l[c]={pattern:u(a.source),names:a.xregexp.captureNames||[]});return f=t(f),y=f.xregexp.captureNames||[],f=f.source.replace(r,function(n,t,r,u,f){var o=t||r,e,c;if(o){if(!l.hasOwnProperty(o))throw new ReferenceError("undefined property "+n);return t?(e=y[h],p[++h]=++s,c="(?<"+(e||o)+">"):c="(?:",v=s,c+l[o].pattern.replace(i,function(n,t,i){if(t){if(e=l[o].names[s-v],++s,e)return"(?<"+e+">"}else if(i)return"\\"+(+i+v);return n})+")"}if(u){if(e=y[h],p[++h]=++s,e)return"(?<"+e+">"}else if(f)return"\\"+p[+f];return n}),n(f,o)}})(XRegExp); +//XRegExp Prototype Methods 1.0.0 +(function(n){"use strict";function t(n,t){for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i])}t(n.prototype,{apply:function(n,t){return this.test(t[0])},call:function(n,t){return this.test(t)},forEach:function(t,i,r){return n.forEach(t,this,i,r)},globalize:function(){return n.globalize(this)},xexec:function(t,i,r){return n.exec(t,this,i,r)},xtest:function(t,i,r){return n.test(t,this,i,r)}})})(XRegExp) diff --git a/static/admin/js/vendor/xregexp/xregexp.min.js.gz b/static/admin/js/vendor/xregexp/xregexp.min.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..95cd32257091ba05e7395ab1660bfb3e14fdf79d GIT binary patch literal 23476 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 literal 0 HcmV?d00001 diff --git a/static/staticfiles.json b/static/staticfiles.json new file mode 100644 index 0000000..a1caaed --- /dev/null +++ b/static/staticfiles.json @@ -0,0 +1 @@ +{"paths": {"admin/js/vendor/select2/i18n/af.js": "admin/js/vendor/select2/i18n/af.c4a5cbd6a23f.js", "admin/js/vendor/select2/i18n/ar.js": "admin/js/vendor/select2/i18n/ar.7dcfd5775174.js", "admin/js/vendor/select2/i18n/az.js": "admin/js/vendor/select2/i18n/az.1804c238d269.js", "admin/js/vendor/select2/i18n/bg.js": "admin/js/vendor/select2/i18n/bg.096f4410173b.js", "admin/js/vendor/select2/i18n/bn.js": "admin/js/vendor/select2/i18n/bn.b33721dc9b8a.js", "admin/js/vendor/select2/i18n/bs.js": "admin/js/vendor/select2/i18n/bs.debce43cfca2.js", "admin/js/vendor/select2/i18n/ca.js": "admin/js/vendor/select2/i18n/ca.60f20182ff18.js", "admin/js/vendor/select2/i18n/cs.js": "admin/js/vendor/select2/i18n/cs.edd7167cdcb6.js", "admin/js/vendor/select2/i18n/da.js": "admin/js/vendor/select2/i18n/da.6bbc262044b3.js", "admin/js/vendor/select2/i18n/de.js": "admin/js/vendor/select2/i18n/de.630e81c65a7b.js", "admin/js/vendor/select2/i18n/dsb.js": "admin/js/vendor/select2/i18n/dsb.9c2742bfc55a.js", "admin/js/vendor/select2/i18n/el.js": "admin/js/vendor/select2/i18n/el.01c46bf8c8b3.js", "admin/js/vendor/select2/i18n/en.js": "admin/js/vendor/select2/i18n/en.aed9bad15375.js", "admin/js/vendor/select2/i18n/es.js": "admin/js/vendor/select2/i18n/es.8b21ebdb01ee.js", "admin/js/vendor/select2/i18n/et.js": "admin/js/vendor/select2/i18n/et.32b0b17ba1a9.js", "admin/js/vendor/select2/i18n/eu.js": "admin/js/vendor/select2/i18n/eu.6c45eaf416fe.js", "admin/js/vendor/select2/i18n/fa.js": "admin/js/vendor/select2/i18n/fa.1738b003dd26.js", "admin/js/vendor/select2/i18n/fi.js": "admin/js/vendor/select2/i18n/fi.2858f3167855.js", "admin/js/vendor/select2/i18n/fr.js": "admin/js/vendor/select2/i18n/fr.6129248732b9.js", "admin/js/vendor/select2/i18n/gl.js": "admin/js/vendor/select2/i18n/gl.e2766036e78a.js", "admin/js/vendor/select2/i18n/he.js": "admin/js/vendor/select2/i18n/he.4d933538516a.js", "admin/js/vendor/select2/i18n/hi.js": "admin/js/vendor/select2/i18n/hi.f81e979ec25f.js", "admin/js/vendor/select2/i18n/hr.js": "admin/js/vendor/select2/i18n/hr.68583e607f1e.js", "admin/js/vendor/select2/i18n/hsb.js": "admin/js/vendor/select2/i18n/hsb.50caaee90a0d.js", "admin/js/vendor/select2/i18n/hu.js": "admin/js/vendor/select2/i18n/hu.9edad4c24fd0.js", "admin/js/vendor/select2/i18n/hy.js": "admin/js/vendor/select2/i18n/hy.4c655f53f4e1.js", "admin/js/vendor/select2/i18n/id.js": "admin/js/vendor/select2/i18n/id.322604a430a5.js", "admin/js/vendor/select2/i18n/is.js": "admin/js/vendor/select2/i18n/is.a8a13c9122d7.js", "admin/js/vendor/select2/i18n/it.js": "admin/js/vendor/select2/i18n/it.110a0fa84968.js", "admin/js/vendor/select2/i18n/ja.js": "admin/js/vendor/select2/i18n/ja.442146837f55.js", "admin/js/vendor/select2/i18n/ka.js": "admin/js/vendor/select2/i18n/ka.8ea0684cc301.js", "admin/js/vendor/select2/i18n/km.js": "admin/js/vendor/select2/i18n/km.8c337905305d.js", "admin/js/vendor/select2/i18n/ko.js": "admin/js/vendor/select2/i18n/ko.82358a9b6840.js", "admin/js/vendor/select2/i18n/lt.js": "admin/js/vendor/select2/i18n/lt.2c390a6bf650.js", "admin/js/vendor/select2/i18n/lv.js": "admin/js/vendor/select2/i18n/lv.30bfb7fc3b63.js", "admin/js/vendor/select2/i18n/mk.js": "admin/js/vendor/select2/i18n/mk.92f1d29581b7.js", "admin/js/vendor/select2/i18n/ms.js": "admin/js/vendor/select2/i18n/ms.ade6aba46542.js", "admin/js/vendor/select2/i18n/nb.js": "admin/js/vendor/select2/i18n/nb.e535138ca26b.js", "admin/js/vendor/select2/i18n/ne.js": "admin/js/vendor/select2/i18n/ne.f61bf00bc3fe.js", "admin/js/vendor/select2/i18n/nl.js": "admin/js/vendor/select2/i18n/nl.674c0d3da68d.js", "admin/js/vendor/select2/i18n/pl.js": "admin/js/vendor/select2/i18n/pl.a10ee9248c07.js", "admin/js/vendor/select2/i18n/ps.js": "admin/js/vendor/select2/i18n/ps.de1a40c46c09.js", "admin/js/vendor/select2/i18n/pt-BR.js": "admin/js/vendor/select2/i18n/pt-BR.455adefc2984.js", "admin/js/vendor/select2/i18n/pt.js": "admin/js/vendor/select2/i18n/pt.5b4ec8cb5b23.js", "admin/js/vendor/select2/i18n/ro.js": "admin/js/vendor/select2/i18n/ro.ea7e3b822b06.js", "admin/js/vendor/select2/i18n/ru.js": "admin/js/vendor/select2/i18n/ru.962f048c22f2.js", "admin/js/vendor/select2/i18n/sk.js": "admin/js/vendor/select2/i18n/sk.34019208b835.js", "admin/js/vendor/select2/i18n/sl.js": "admin/js/vendor/select2/i18n/sl.a5e262c643f2.js", "admin/js/vendor/select2/i18n/sq.js": "admin/js/vendor/select2/i18n/sq.abf2d34b255a.js", "admin/js/vendor/select2/i18n/sr-Cyrl.js": "admin/js/vendor/select2/i18n/sr-Cyrl.116365a2de65.js", "admin/js/vendor/select2/i18n/sr.js": "admin/js/vendor/select2/i18n/sr.c9f16b9e0f93.js", "admin/js/vendor/select2/i18n/sv.js": "admin/js/vendor/select2/i18n/sv.725800c5e8fc.js", "admin/js/vendor/select2/i18n/th.js": "admin/js/vendor/select2/i18n/th.b013804dae9c.js", "admin/js/vendor/select2/i18n/tk.js": "admin/js/vendor/select2/i18n/tk.5042dc8eca8e.js", "admin/js/vendor/select2/i18n/tr.js": "admin/js/vendor/select2/i18n/tr.dc697d893beb.js", "admin/js/vendor/select2/i18n/uk.js": "admin/js/vendor/select2/i18n/uk.e05ad5df6258.js", "admin/js/vendor/select2/i18n/vi.js": "admin/js/vendor/select2/i18n/vi.0a60056920fc.js", "admin/js/vendor/select2/i18n/zh-CN.js": "admin/js/vendor/select2/i18n/zh-CN.bde34fa3f064.js", "admin/js/vendor/select2/i18n/zh-TW.js": "admin/js/vendor/select2/i18n/zh-TW.e727260f7094.js", "admin/css/vendor/select2/LICENSE-SELECT2.md": "admin/css/vendor/select2/LICENSE-SELECT2.f94142512c91.md", "admin/css/vendor/select2/select2.css": "admin/css/vendor/select2/select2.fd9fe49d3d91.css", "admin/css/vendor/select2/select2.min.css": "admin/css/vendor/select2/select2.min.af22a7e2bfec.css", "admin/js/vendor/jquery/jquery.js": "admin/js/vendor/jquery/jquery.11c05eb286ed.js", "admin/js/vendor/jquery/jquery.min.js": "admin/js/vendor/jquery/jquery.min.220afd743d9e.js", "admin/js/vendor/jquery/LICENSE.txt": "admin/js/vendor/jquery/LICENSE.75308107741f.txt", "admin/js/vendor/select2/LICENSE.md": "admin/js/vendor/select2/LICENSE.f94142512c91.md", "admin/js/vendor/select2/select2.full.js": "admin/js/vendor/select2/select2.full.d379d5235584.js", "admin/js/vendor/select2/select2.full.min.js": "admin/js/vendor/select2/select2.full.min.68e8d8f673b7.js", "admin/js/vendor/xregexp/LICENSE.txt": "admin/js/vendor/xregexp/LICENSE.d64cecf4f157.txt", "admin/js/vendor/xregexp/xregexp.js": "admin/js/vendor/xregexp/xregexp.1865b1cf5085.js", "admin/js/vendor/xregexp/xregexp.min.js": "admin/js/vendor/xregexp/xregexp.min.c95393b8ca4d.js", "admin/img/gis/move_vertex_off.svg": "admin/img/gis/move_vertex_off.7a23bf31ef8a.svg", "admin/img/gis/move_vertex_on.svg": "admin/img/gis/move_vertex_on.0047eba25b67.svg", "admin/js/admin/DateTimeShortcuts.js": "admin/js/admin/DateTimeShortcuts.a9c6d180860b.js", "admin/js/admin/RelatedObjectLookups.js": "admin/js/admin/RelatedObjectLookups.ea0683bea064.js", "admin/css/autocomplete.css": "admin/css/autocomplete.781713f30664.css", "admin/css/base.css": "admin/css/base.ae33e6383baa.css", "admin/css/changelists.css": "admin/css/changelists.cfe316f81936.css", "admin/css/dashboard.css": "admin/css/dashboard.7ac78187c567.css", "admin/css/fonts.css": "admin/css/fonts.168bab448fee.css", "admin/css/forms.css": "admin/css/forms.9f1ffc442e9a.css", "admin/css/login.css": "admin/css/login.252ffabd6548.css", "admin/css/responsive.css": "admin/css/responsive.755ce0b07393.css", "admin/css/responsive_rtl.css": "admin/css/responsive_rtl.51c7445ceeff.css", "admin/css/rtl.css": "admin/css/rtl.30f903442dc5.css", "admin/css/widgets.css": "admin/css/widgets.8874c301e7bc.css", "admin/fonts/LICENSE.txt": "admin/fonts/LICENSE.d273d63619c9.txt", "admin/fonts/README.txt": "admin/fonts/README.ab99e6b541ea.txt", "admin/fonts/Roboto-Bold-webfont.woff": "admin/fonts/Roboto-Bold-webfont.50d75e48e0a3.woff", "admin/fonts/Roboto-Light-webfont.woff": "admin/fonts/Roboto-Light-webfont.c73eb1ceba33.woff", "admin/fonts/Roboto-Regular-webfont.woff": "admin/fonts/Roboto-Regular-webfont.35b07eb2f871.woff", "admin/img/calendar-icons.svg": "admin/img/calendar-icons.39b290681a8b.svg", "admin/img/icon-addlink.svg": "admin/img/icon-addlink.d519b3bab011.svg", "admin/img/icon-alert.svg": "admin/img/icon-alert.034cc7d8a67f.svg", "admin/img/icon-calendar.svg": "admin/img/icon-calendar.ac7aea671bea.svg", "admin/img/icon-changelink.svg": "admin/img/icon-changelink.18d2fd706348.svg", "admin/img/icon-clock.svg": "admin/img/icon-clock.e1d4dfac3f2b.svg", "admin/img/icon-deletelink.svg": "admin/img/icon-deletelink.564ef9dc3854.svg", "admin/img/icon-no.svg": "admin/img/icon-no.439e821418cd.svg", "admin/img/icon-unknown-alt.svg": "admin/img/icon-unknown-alt.81536e128bb6.svg", "admin/img/icon-unknown.svg": "admin/img/icon-unknown.a18cb4398978.svg", "admin/img/icon-viewlink.svg": "admin/img/icon-viewlink.41eb31f7826e.svg", "admin/img/icon-yes.svg": "admin/img/icon-yes.d2f9f035226a.svg", "admin/img/inline-delete.svg": "admin/img/inline-delete.fec1b761f254.svg", "admin/img/LICENSE": "admin/img/LICENSE.2c54f4e1ca1c", "admin/img/README.txt": "admin/img/README.a70711a38d87.txt", "admin/img/search.svg": "admin/img/search.7cf54ff789c6.svg", "admin/img/selector-icons.svg": "admin/img/selector-icons.b4555096cea2.svg", "admin/img/sorting-icons.svg": "admin/img/sorting-icons.3a097b59f104.svg", "admin/img/tooltag-add.svg": "admin/img/tooltag-add.e59d620a9742.svg", "admin/img/tooltag-arrowright.svg": "admin/img/tooltag-arrowright.bbfb788a849e.svg", "admin/js/actions.js": "admin/js/actions.8d83e3af0fbd.js", "admin/js/actions.min.js": "admin/js/actions.min.5fa8cb0403f1.js", "admin/js/autocomplete.js": "admin/js/autocomplete.cfd2c4dc8981.js", "admin/js/calendar.js": "admin/js/calendar.aae57adab5f6.js", "admin/js/cancel.js": "admin/js/cancel.a2c3149a1c5e.js", "admin/js/change_form.js": "admin/js/change_form.9e85003a1a38.js", "admin/js/collapse.js": "admin/js/collapse.c5b851e91226.js", "admin/js/collapse.min.js": "admin/js/collapse.min.44dfdb427845.js", "admin/js/core.js": "admin/js/core.ea39b3bd34c3.js", "admin/js/inlines.js": "admin/js/inlines.12d1af430335.js", "admin/js/inlines.min.js": "admin/js/inlines.min.6d6c2416646e.js", "admin/js/jquery.init.js": "admin/js/jquery.init.95b62fa19378.js", "admin/js/popup_response.js": "admin/js/popup_response.6ce3197f8fc8.js", "admin/js/prepopulate.js": "admin/js/prepopulate.2f90da7170ec.js", "admin/js/prepopulate.min.js": "admin/js/prepopulate.min.85fd5e0fb706.js", "admin/js/prepopulate_init.js": "admin/js/prepopulate_init.0d3b53c37074.js", "admin/js/SelectBox.js": "admin/js/SelectBox.99d0cfd2e80c.js", "admin/js/SelectFilter2.js": "admin/js/SelectFilter2.c26733924aea.js", "admin/js/urlify.js": "admin/js/urlify.67bae52223e0.js"}, "version": "1.0"} \ No newline at end of file diff --git a/staticfiles/temp b/staticfiles/temp new file mode 100644 index 0000000..3602361 --- /dev/null +++ b/staticfiles/temp @@ -0,0 +1 @@ +temp \ No newline at end of file -- GitLab