96a908f2 by Jeff Balicki

remove pklugi

Signed-off-by: Jeff <jeff@gotenzing.com>
1 parent 1267c3c0
Showing 80 changed files with 0 additions and 2882 deletions
1 <?php
2 if ( ! defined( 'ABSPATH' ) ) exit;
3
4 if ( ! class_exists( 'WP_List_Table' ) ) {
5 require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );
6 }
7
8 if ( ! class_exists( 'WP_Plugin_Install_List_Table' ) ) {
9 require_once( ABSPATH . 'wp-admin/includes/class-wp-plugin-install-list-table.php' );
10 }
11
12 class grassblade_addons extends WP_Plugin_Install_List_Table {
13 public $premium_plugins = null;
14 public $last_checked = "";
15 public $installed_plugins = array();
16
17 function __construct() {
18 add_action( 'admin_menu', array($this,'addon_plugins_menu'), 12);
19
20 if(is_admin() && !empty($_GET["page"]) && $_GET["page"] == "grassblade-addons")
21 $this->addons_page_run();
22 }
23 function addons_page_run() {
24 add_filter("learn-press/admin-default-scripts", '__return_empty_array', 100);
25
26 if(empty($_GET["force-check"]))
27 add_filter("pre_http_request", array($this, "block_requests"), 10, 3);
28 }
29
30 /**
31 *
32 * Add Addon Plugins to the menu.
33 *
34 */
35
36 function addon_plugins_menu() {
37 global $submenu;
38 if(empty( $submenu[ "grassblade-lrs-settings" ] ) || !in_array( 'grassblade-addons', wp_list_pluck( $submenu[ "grassblade-lrs-settings" ], 2)) )
39 add_submenu_page("grassblade-lrs-settings", __("Add-ons", "grassblade"), __("Add-ons", "grassblade"),'manage_options','grassblade-addons', array($this, 'addon_plugins_menupage') );
40 }
41 function full_plugin_path($plugin_path = "") {
42
43 $plugin_basename = array(
44 str_replace('/', '\\', plugin_basename(__FILE__)),
45 str_replace('\\', '/', plugin_basename(__FILE__)),
46 );
47
48 $plugin_file_path = str_replace($plugin_basename, array("",""), realpath(plugin_dir_path(__FILE__).basename(__FILE__)));
49 $full_plugin_path = realpath($plugin_file_path.$plugin_path);
50
51 if(!file_exists($full_plugin_path))
52 return '';
53 else
54 return $full_plugin_path;
55 }
56 function add_version( $action_links, $plugin) {
57
58 if(!empty($plugin["plugin"]))
59 $plugin_path = $plugin["plugin"];
60 else if(!empty($plugin["slug"]))
61 $plugin_path = $this->installed_plugin_path($plugin["slug"]);
62
63 if(!empty($plugin["version"]))
64 $action_links[] = "<small class='new_version'>v".$plugin['version']."</small>";
65
66 if(!empty($plugin_path))
67 {
68 $full_plugin_path = $this->full_plugin_path( $plugin_path );
69
70 if(empty($full_plugin_path))
71 return $action_links;
72
73 $plugin_data = get_plugin_data( $full_plugin_path );
74
75 if(!empty($plugin_data) && !empty($plugin_data['Version']))
76 $action_links[] = "<small class='current_version' title='".__("Installed Version", "grassblade")."'>v".$plugin_data['Version']."</small>";
77 }
78
79 return $action_links;
80 }
81 function installed_plugin_path($slug) {
82
83 if(empty($this->installed_plugins))
84 return "";
85
86 foreach ($this->installed_plugins as $plugin) {
87 if($plugin->slug == $slug && !empty($plugin->plugin)) {
88 return $plugin->plugin;
89 }
90 }
91 return "";
92 }
93 function action_links( $action_links, $plugin) {
94 if(!empty($action_links)) {
95 foreach ($action_links as $key => $value) {
96 if(strpos($value, "action=install-plugin") || strpos($value, "action=activate") || strpos($value, "button button-disabled"))
97 {
98 unset( $action_links[$key] );// = $this->button_install_active_activate($plugin);
99 }
100
101 if(strpos($value, "tab=plugin-information"))
102 {
103 $link = !empty($plugin["more_details"])? $plugin["more_details"]:$plugin["product_url"];
104 $action_links[$key] = '<a href="'.$link.'" class="thickbox open-plugin-details-modal" target="_blank">'.__("More Details").'</a>';
105 }
106 }
107 }
108 if( is_array( $action_links ) )
109 array_unshift( $action_links, $this->button_install_active_activate($plugin) );
110
111 return $action_links;
112 }
113 function action_links_free( $action_links, $plugin) {
114 if( !is_multisite() )
115 return $action_links;
116
117 if (!empty($action_links)) {
118 foreach ($action_links as $key => $value) {
119 if(strpos($value, "action=install-plugin") || strpos($value, "action=activate") || strpos($value, "button button-disabled"))
120 {
121 unset( $action_links[$key] );// = $this->button_install_active_activate($plugin);
122 }
123 if (strpos($value, "tab=plugin-information")) {
124 $action_links[$key] = str_replace(self_admin_url(), network_admin_url(), $value);
125 }
126 }
127 array_unshift( $action_links, $this->button_install_active_activate($plugin) );
128 }
129 return $action_links;
130 }
131 function button_install_active_activate($plugin) {
132
133 if(!empty($plugin["plugin"]))
134 {
135 $full_plugin_path = $this->full_plugin_path($plugin["plugin"]);
136
137 if(!empty($full_plugin_path))
138 {
139 if(is_plugin_active($plugin["plugin"]))
140 $status = "active";
141 else
142 $status = "activate";
143 }
144 else
145 $status = "install-now";
146 }
147 else
148 $status = "install-now";
149
150
151 if($plugin["slug"] == "grassblade_lrs") {
152 if(function_exists("grassblade_settings")) {
153 $grassblade_settings = grassblade_settings();
154 $endpoint = $grassblade_settings["endpoint"];
155 }
156 else
157 $endpoint = get_option("grassblade_tincan_endpoint");
158
159 if(!empty($endpoint) && (strpos($endpoint, "gblrs.com/") !== false || strpos($endpoint, "/grassblade-lrs/")))
160 $status = "active";
161 }
162
163 switch ($status) {
164 case 'active':
165 return '<button type="button" class="button button-disabled" disabled="disabled">'.__("Active").'</button>';
166 break;
167 case 'activate':
168 $activation_link = wp_nonce_url( admin_url( 'plugins.php?action=activate&amp;plugin=' . urlencode( $plugin["plugin"] ) ), 'activate-plugin_' . $plugin["plugin"] );
169 return '<a href="'.$activation_link.'" class="button activate-now" aria-label="'.$plugin["name"].'">'.__("Activate").'</a>';
170 break;
171 default:
172 return '<a class="install-now button" href="'.$plugin["product_url"].'" target="_blank">'.__("Install Now").'</a>';
173 break;
174 }
175
176 }
177 function block_requests($pre, $r, $url) {
178
179 if(strpos($url, "nextsoftwaresolutions.com") || strpos($url, "api.wordpress.org/"))
180 return false; //Allow requests from nextsoftwaresolutions and to api.wordpress.org
181
182 return new WP_Error( 'http_request_failed', __( 'GrassBlade has blocked requests through HTTP.' ) );
183 }
184 function get_plugin($type, $slug) {
185 if(empty($this->premium_plugins[$type]))
186 return array();
187
188 foreach ($this->premium_plugins as $value) {
189 if(!empty($value["slug"]) && $value["slug"] == $slug)
190 return $value;
191 }
192 return array();
193 }
194 function addon_plugins_menupage() {
195
196 //must check that the user has the required capability
197 if (!current_user_can('manage_options'))
198 {
199 wp_die( __('You do not have sufficient permissions to access this page.') );
200 }
201 include_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
202
203 add_filter( 'plugin_install_action_links', array($this, "action_links"), 101, 2 );
204 add_filter( 'plugin_install_action_links', array($this, "add_version"), 12, 2 );
205 $this->grassblade_premium_plugins();
206 $gmt_offset = get_option( 'gmt_offset' );
207 $time = $this->last_checked + $gmt_offset * HOUR_IN_SECONDS;
208 ?>
209 <style type="text/css">
210 .premium_plugins .num-ratings, .lms_plugins .num-ratings {
211 display: none;
212 }
213 .premium_plugins .column-downloaded, .lms_plugins .column-downloaded {
214 display: none;
215 }
216 .wrap {
217 clear: both;
218 }
219 .button.check-again {
220 vertical-align: middle;
221 }
222 .current_version {
223 background: green;
224 padding: 4px 8px;
225 border-radius: 5px;
226 color: white;
227 font-weight: 400;
228 }
229 #wpbody-content .error {
230 display: none;
231 }
232 .gb_spinner {
233 background: url(<?php echo plugins_url( 'spinner.gif', __FILE__); ?>);
234 width: 20px;
235 height: 20px;
236 display: inline-block;
237 text-align: center;
238 vertical-align: middle;
239 margin-right: 5px;
240 }
241 small.new_version {
242 background: #f7831d;
243 color: white;
244 font-size: 0.7em;
245 padding: 2px 5px;
246 border-radius: 4px;
247 }
248 </style>
249 <script type="text/javascript">
250 jQuery(document).ready(function() {
251 jQuery(".wp-list-table.widefat.premium_plugins .name a, .wp-list-table.widefat.lms_plugins .name a").each(function(i,v){
252 jQuery(this).attr("href", jQuery(this).closest(".plugin-card").find(".authors a").attr("href") );
253 jQuery(this).attr("target", "_blank");
254 });
255
256 jQuery(".plugin-card").each(function(i, v) {
257 jQuery(v).find(".new_version").appendTo(jQuery(v).find(".name h3"));
258 });
259
260 jQuery(".activate-now, .free_plugins .install-now, .update-now").on("click", function(e) {
261 e.preventDefault();
262 grassblade_activate(this);
263 return false;
264 });
265
266 function grassblade_activate(context) {
267 jQuery(context).addClass("disabled");
268 if( !jQuery(context).find(".gb_spinner").length )
269 jQuery(context).prepend("<i class='gb_spinner'></i>");
270
271 jQuery.get(jQuery(context).attr("href"), function(data) {
272 window.location.reload();
273 });
274 }
275 });
276 </script>
277 <div>
278 <div class="wrap">
279 <h2>
280 <img style="top: 6px; position: relative;" src="<?php echo plugins_url('img/icon_30x30.png', (dirname(__FILE__))); ?>"/>
281 <?php _e("GrassBlade Add-ons", "grassblade"); ?>
282 </h2>
283 <br>
284 </div>
285 <div class="wrap <?php echo basename(dirname(dirname(__FILE__))); ?>">
286 <span class="last_checked"><?php printf( __( 'Last checked on %1$s at %2$s.' ), date_i18n( __( 'F j, Y' ), $time ), date_i18n( __( 'g:i a' ), $time ) ); ?></span> <a class="button check-again" href="<?php echo admin_url("admin.php?page=grassblade-addons&force-check=1"); ?>"><?php _e("Check Again"); ?></a>
287 <h3><?php _e("Premium Add-ons", "grassblade"); ?></h3>
288 <div class="wp-list-table widefat premium_plugins">
289 <div id="the-list">
290 <?php
291 $this->items = $this->grassblade_premium_plugins("premium");
292 parent::display_rows();
293 ?>
294 </div>
295 </div>
296 </div>
297 <div class="wrap">
298 <br>
299 <h3><?php _e("LMS Integrations ", "grassblade"); ?></h3>
300 <div style="position: relative; top: -15px"><?php __("(You need only ONE of these)", "grassblade"); ?></div>
301
302 <div class="wp-list-table widefat lms_plugins">
303 <div id="the-list">
304 <?php
305 $this->items = $this->grassblade_premium_plugins("lms");
306 parent::display_rows();
307 ?>
308 </div>
309 </div>
310 </div>
311 <?php
312 remove_filter( 'plugin_install_action_links', array($this, "action_links"), 101, 2 );
313 add_filter( 'plugin_install_action_links', array($this, "action_links_free"), 101, 2 );
314 ?>
315 <div class="wrap">
316 <br>
317
318 <h3><?php _e("Free Add-ons", "grassblade"); ?></h3>
319 <div class="wp-list-table widefat free_plugins">
320 <div id="the-list">
321 <?php
322 $this->get_grassblade_addon_plugins();
323 parent::display_rows();
324 ?>
325 </div>
326 </div>
327
328 </div>
329 <?php
330 }
331
332 function get_grassblade_addon_plugins(){
333
334 include_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
335
336 $paged = $this->get_pagenum();
337
338 if(!empty($this->installed_plugins))
339 $installed_plugins = $this->installed_plugins;
340 else
341 $installed_plugins = $this->installed_plugins = $this->get_installed_plugins();
342
343 $grassblade_free_addons = get_option("grassblade_free_addons");
344
345 if(!empty($_GET["force-check"]) || empty($grassblade_free_addons) || !is_array($grassblade_free_addons["addons"]) || empty($grassblade_free_addons["time"]) || $grassblade_free_addons["time"] < time() - 86400) {
346
347 $args = array(
348 'page' => $paged,
349 'per_page' => 30,
350 'fields' => array(
351 'last_updated' => true,
352 'icons' => true,
353 'active_installs' => true,
354 ),
355
356 // Send the locale and installed plugin slugs to the API so it can provide context-sensitive results.
357 'locale' => function_exists('get_user_locale')? get_user_locale():get_locale(),
358 'installed_plugins' => array_keys( $installed_plugins ),
359 );
360
361 $args['author'] = sanitize_title_with_dashes( 'liveaspankaj' );
362
363 $api = plugins_api( 'query_plugins', $args );
364
365 if ( is_wp_error( $api ) ) {
366 $this->error = $api;
367 return;
368 }
369
370 $grassblade_free_addons = array(
371 "time" => time(),
372 "addons" => $api->plugins,
373 );
374
375
376 update_option("grassblade_free_addons", $grassblade_free_addons);
377 }
378
379 $grassblade_plugins = $grassblade_free_addons["addons"];
380
381 foreach ($grassblade_plugins as $key => $plugin) {
382 $status = install_plugin_install_status( $plugin );
383 if( isset($status["file"]) && empty($plugin["plugin"]))
384 $grassblade_plugins[$key]["plugin"] = $status["file"];
385
386 if( $status["status"] == "install" && !empty( $status["url"] ))
387 $grassblade_plugins[$key]["product_url"] = $status["url"];
388 }
389 if ( $this->orderby ) {
390 uasort( $grassblade_plugins, array( $this, 'order_callback' ) );
391 }
392
393 $this->set_pagination_args( array(
394 'total_items' => count($grassblade_plugins),
395 'per_page' => 30,
396 ) );
397
398 if ( isset( $api->info['groups'] ) ) {
399 $this->groups = $api->info['groups'];
400 }
401
402 if ( $installed_plugins ) {
403 $js_plugins = array_fill_keys(
404 array( 'all', 'search', 'active', 'inactive', 'recently_activated', 'mustuse', 'dropins' ),
405 array()
406 );
407
408 $js_plugins['all'] = array_values( wp_list_pluck( $installed_plugins, 'plugin' ) );
409 $upgrade_plugins = wp_filter_object_list( $installed_plugins, array( 'upgrade' => true ), 'and', 'plugin' );
410
411 if ( $upgrade_plugins ) {
412 $js_plugins['upgrade'] = array_values( $upgrade_plugins );
413 }
414
415 wp_localize_script( 'updates', '_wpUpdatesItemCounts', array(
416 'plugins' => $js_plugins,
417 'totals' => wp_get_update_data(),
418 ) );
419 }
420
421 $this->items = $grassblade_plugins;
422 }
423 function update_installed_plugins_list($installed_plugins, $grassblade_addons) {
424 if(empty($grassblade_addons) || empty($grassblade_addons["addons"]) || !is_array($grassblade_addons["addons"]))
425 return $installed_plugins;
426
427 foreach ($grassblade_addons["addons"] as $type => $addons) {
428 foreach ($addons as $addon) {
429 if( !empty($addon["plugin"]) && $this->full_plugin_path($addon["plugin"]) )
430 $installed_plugins[] = $addon["slug"];
431 }
432 }
433 return $installed_plugins;
434 }
435 function grassblade_premium_plugins($type = "premium") {
436 if(!is_array($this->premium_plugins)) {
437 $grassblade_addons = get_option("grassblade_addons");
438
439 if(empty($_GET["force-check"])) {
440 if(!empty($grassblade_addons["time"]))
441 $this->last_checked = $grassblade_addons["time"];
442
443 if(!empty($grassblade_addons) && !empty($grassblade_addons["time"]) && $grassblade_addons["time"] > time() - 86400 ) {
444 if(!empty($grassblade_addons["addons"]) && ( empty($grassblade_addons["error_count"]) || $grassblade_addons["error_count"] < 5 ) ) {
445 $this->premium_plugins = $grassblade_addons["addons"];
446 }
447 else if( !empty($grassblade_addons["count"]) && $grassblade_addons["count"] > 5 ) {
448 $this->premium_plugins = array();
449 }
450 }
451 }
452
453 if(!is_array($this->premium_plugins)) {
454 $url = "https://license.nextsoftwaresolutions.com/premium_plugins/list.php";
455
456 if(!empty($this->installed_plugins))
457 $installed_plugins = $this->installed_plugins;
458 else
459 $installed_plugins = $this->installed_plugins = $this->get_installed_plugins();
460
461 $args = array("body" => array(
462 'url' => get_bloginfo('url'),
463 'plugin' => basename(dirname(__FILE__, 2)),
464 'locale' => function_exists('get_user_locale')? get_user_locale():get_locale(),
465 'installed_plugins' => $this->update_installed_plugins_list( array_keys( $installed_plugins ), $grassblade_addons ),
466 ));
467
468 $plugins = wp_remote_post($url, $args);
469
470 if( is_wp_error( $plugins ) ) {
471 $msg = $plugins->get_error_message();
472 echo $msg;
473 $count = empty($grassblade_addons["count"])? 1:(intVal($grassblade_addons["count"])+1);
474
475 if(empty($grassblade_addons["error_time"]))
476 $grassblade_addons["error_time"] = time();
477
478 $grassblade_addons["error_count"] = empty($grassblade_addons["error_count"])? 1:$grassblade_addons["error_count"]+1;
479
480 $grassblade_addons["error_msg"] = $msg;
481
482 update_option("grassblade_addons", $grassblade_addons);
483
484 if(!empty($grassblade_addons["time"]))
485 $this->last_checked = $grassblade_addons["time"];
486
487 $this->premium_plugins = !empty( $grassblade_addons["addons"] )? $grassblade_addons["addons"]:array();
488 return $this->premium_plugins;
489 }
490
491 if(empty($plugins["response"]) || empty($plugins["response"]["code"]) || $plugins["response"]["code"] != 200 || empty($plugins["body"]) || !is_string($plugins["body"])) {
492
493 if(empty($grassblade_addons["error_time"]))
494 $grassblade_addons["error_time"] = time();
495
496 $grassblade_addons["error_count"] = empty($grassblade_addons["error_count"])? 1:$grassblade_addons["error_count"]+1;
497
498 $grassblade_addons["error_msg"] = "bad response";
499
500 update_option("grassblade_addons", $grassblade_addons);
501
502 if(!empty($grassblade_addons["time"]))
503 $this->last_checked = $grassblade_addons["time"];
504
505 $this->premium_plugins = !empty( $grassblade_addons["addons"] )? $grassblade_addons["addons"]:array();
506 return $this->premium_plugins;
507 }
508
509 $plugins = json_decode($plugins["body"], true);
510 $plugins = $this->sanitize( $plugins );
511 $premium_plugins = array();
512
513 if(!empty($plugins) && is_array($plugins))
514 foreach ($plugins as $key => $value) {
515
516 if(!empty($value["type"])) {
517 $premium_plugins[$value["type"]] = empty($premium_plugins[$value["type"]])? array():$premium_plugins[$value["type"]];
518 $premium_plugins[$value["type"]][] = $value;
519 }
520 }
521 $this->premium_plugins = $premium_plugins;
522 $this->last_checked = time();
523 $grassblade_addons = array(
524 "time" => time(),
525 "addons" => $premium_plugins
526 );
527 update_option("grassblade_addons", $grassblade_addons);
528 }
529 }
530
531 if(empty($this->premium_plugins[$type]))
532 return array();
533 else
534 return $this->premium_plugins[$type];
535 }
536
537 function sanitize($array) {
538 if(!empty($array) && ( is_array($array) || is_object($array) ) ) {
539 foreach ($array as $key => $value) {
540 if(is_array($array))
541 $array[$key] = $this->sanitize($value);
542 else
543 if(is_object($array))
544 $array->{$key} = $this->sanitize($value);
545 }
546 }
547 else { //Not array
548 $array = strip_tags( $array, "<a><b>" );
549 $array = str_ireplace(array("onclick", "onload"), array("on click","on load"), $array);
550 }
551 return $array;
552 }
553 } // end of class
554
555 new grassblade_addons();
1 <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2 <div id="manual_completions_learndash" class="manual_completions_learndash">
3 <h2>
4 <img style="margin-right: 10px;" src="<?php echo esc_url(plugin_dir_url(__FILE__)."img/icon_30x30.png"); ?>"/>
5 Manual Completions for LearnDash
6 </h2>
7 <hr>
8 <table>
9 <tr id="upload_csv">
10 <td style="min-width: 100px">File</td>
11 <td>
12 <?php
13 if(!empty($upload_error)) {
14 ?>
15 <div style="color: red">
16 <?php echo $upload_error; ?>
17 </div>
18 <?php
19 }
20 ?>
21 <form method="post" enctype="multipart/form-data"><input type="file" name="completions_file">
22 <input type="submit" name="manual_completions_learndash" value="Upload">
23 </form>
24 <div>
25 <?php _e("Upload a CSV file (expected columns: user_id, course_id, lesson_id, topic_id, quiz_id) or select the options from below. ", "manual_completions_learndash"); ?>
26 <br><br>
27 </div>
28 </td>
29 </tr>
30 <tr id="course">
31 <td style="min-width: 100px"><?php _e("Course", "manual_completions_learndash"); ?></td>
32 <td style="min-width: 400px">
33 <select class="en_select2" id="course_id" name="course_id" onchange="manual_completions_learndash_course_selected(this)">
34 <option value=""><?php _e("-- SELECT --", "manual_completions_learndash"); ?></option>
35 <?php foreach ($courses as $key => $course): ?>
36 <option value="<?php echo $course->ID; ?>"><?php echo $course->post_title; ?></option>
37 <?php endforeach ?>
38 </select>
39 </td>
40 </tr>
41 <tr id="lesson" style="display: none;" onchange="manual_completions_learndash_lesson_selected(this)">
42 <td>Lesson</td>
43 <td>
44 <select class="en_select2" id="lesson_id" name="lesson_id">
45 <option value=""><?php _e("-- SELECT --", "manual_completions_learndash"); ?></option>
46 <option value="all"><?php _e("-- Entire Course --", "manual_completions_learndash"); ?></option>
47 </select>
48 </td>
49 </tr>
50 <tr id="topic" style="display: none;" onchange="manual_completions_learndash_topic_selected(this)">
51 <td>Topic</td>
52 <td>
53 <select class="en_select2" id="topic_id" name="topic_id">
54 <option value=""><?php _e("-- SELECT --", "manual_completions_learndash"); ?></option>
55 <option value="all"><?php _e("-- Entire Lesson --", "manual_completions_learndash"); ?></option>
56 </select>
57 </td>
58 </tr>
59 <tr id="quiz" style="display: none;">
60 <td>Quiz</td>
61 <td>
62 <select class="en_select2" id="quiz_id" name="quiz_id" onchange="manual_completions_learndash_quiz_selected(this)">
63 <option value=""><?php _e("-- SELECT --", "manual_completions_learndash"); ?></option>
64 </select>
65 </td>
66 </tr>
67 <tr id="users" style="display: none;">
68 <td>Users</td>
69 <td>
70 <input role="searchbox" value="" placeholder="<?php _e("Search User", "manual_completions_learndash"); ?>"/>
71 <select id="user_ids" name="user_ids" onchange="manual_completions_learndash_users_selected(this)">
72 <option value=""><?php _e("-- Select a User --", "manual_completions_learndash"); ?></option>
73 <?php foreach ($users as $user) {
74 $name = $user->ID.". ".$user->display_name;
75
76 $additional_info = array();
77 if($user->display_name != $user->user_login)
78 $additional_info[] = $user->user_login;
79
80 if($user->display_name != $user->user_email && $user->user_login != $user->user_email)
81 $additional_info[] = $user->user_email;
82
83 if(!empty($additional_info))
84 $name = $name." (".implode(", ", $additional_info).")";
85 ?>
86 <option value="<?php echo $user->ID; ?>" data-user_login="<?php echo strtolower( $user->user_login ); ?>" data-user_email="<?php echo strtolower( $user->user_email ); ?>"><?php echo sanitize_text_field($name); ?></option>
87 <?php } ?>
88 </select>
89 <?php _e("(Select Users, or, enter comma separated or space separated user_id. You can even copy/paste from CSV. Hit SPACE BAR after pasting.)", "manual_completions_learndash"); ?>
90 </td>
91 <br>
92 <td><button onclick="manual_completions_learndash_get_enrolled_users()" class="button"><?php _e("Get All Enrolled Users", "manual-completions-learndash"); ?></button></td>
93 </tr>
94 </table>
95 </div>
96 <div id="manual_completions_learndash_table" class="manual_completions_learndash">
97 <div class="button-secondary" id="process_completions" onclick="manual_completions_learndash_mark_complete()"><?php _e("Process Selected Completions", "manual_completions_learndash"); ?> <span class="count"></span></div>
98 <div class="button-secondary" id="check_completions" onclick="manual_completions_learndash_check_completion()"><?php _e("Check Completion Status", "manual_completions_learndash"); ?> <span class="count"></span></div>
99 <span id="list_count"><?php echo sprintf( __("Total %s rows", "manual_completions_learndash"), '<span class="count">0</span>'); ?> </span>
100 <br>
101 <div class="force_completion">
102 <input id="force_completion" type="checkbox"> <?php _e("Force Completion (Ignore xAPI Content Completion Status)", "manual_completions_learndash"); ?>
103 </div>
104
105 <table class="grassblade_table" style="width: 100%">
106 <tr class="header">
107 <th><input type="checkbox" id="select_all"></th>
108 <th><?php _e("S.No", "manual_completions_learndash"); ?></th>
109 <th><?php _e("User", "manual_completions_learndash"); ?></th>
110 <th><?php _e("Course", "manual_completions_learndash"); ?></th>
111 <th><?php _e("Lesson", "manual_completions_learndash"); ?></th>
112 <th><?php _e("Topic", "manual_completions_learndash"); ?></th>
113 <th><?php _e("Quiz", "manual_completions_learndash"); ?></th>
114 <th><?php _e("Actions", "manual_completions_learndash"); ?></th>
115 <th><?php _e("Status", "manual_completions_learndash"); ?></th>
116 </tr>
117 </table>
118 </div>
...\ No newline at end of file ...\ No newline at end of file
1 <?php
2 /*
3 Plugin Name: Manual Completions for LearnDash
4 Plugin URI: https://www.nextsoftwaresolutions.com/manual-completions-for-learndash/
5 Description: Manual Bulk Completions for LearnDash
6 Author: Next Software Solutions
7 Version: 1.7
8 Author URI: https://www.nextsoftwaresolutions.com
9 */
10
11 /**
12 * Manual Completions LearnDash
13 */
14 class manual_completions_learndash {
15 public $version = "1.7";
16 public $learndash_link = "https://www.nextsoftwaresolutions.com/r/learndash/manual_completions_learndash";
17
18 function __construct() {
19 if(!is_admin())
20 return;
21
22 $addon_plugins_file = dirname(__FILE__)."/addon_plugins/functions.php";
23 if(!class_exists('grassblade_addons') && file_exists($addon_plugins_file))
24 require_once($addon_plugins_file);
25
26 global $manual_completions_learndash;
27 $manual_completions_learndash = array("uploaded_data" => array(), "upload_error" => array(), "course_structure" => array(), "ajax_url" => admin_url("admin-ajax.php"));
28
29 add_action( 'admin_menu', array($this,'menu'), 10);
30
31 add_action( 'wp_ajax_manual_completions_learndash_course_selected', array($this, 'course_selected') );
32
33 add_action( 'wp_ajax_manual_completions_learndash_mark_complete', array($this, 'mark_complete') );
34
35 add_action( 'wp_ajax_manual_completions_learndash_check_completion', array($this, 'check_completion') );
36
37 add_action( 'wp_ajax_manual_completions_learndash_get_enrolled_users', array($this, 'get_enrolled_users') );
38
39 add_filter("learndash_submenu", array($this, "learndash_submenu"), 1, 1 );
40
41 if( !empty($_GET['page']) && $_GET['page'] == "grassblade-manual-completions-learndash" ) {
42
43 if( !empty($_POST["manual_completions_learndash"]) && !empty($_FILES['completions_file']['name'])) {
44 add_filter('upload_mimes', array($this, 'upload_mimes'));
45 add_action( 'admin_init', array($this, "process_upload"));
46 }
47 add_action("admin_print_styles", array($this, "manual_completions_learndash_scripts"));
48 }
49 }
50
51 function get_enrolled_users() {
52 if(!current_user_can("manage_options") || empty($_REQUEST["course_id"]) && empty($_REQUEST["group_id"]))
53 $this->json_out(array("status" => 0, "message" => __("Invalid Request", 'manage-enrollment-learndash')));
54
55 if(!empty($_REQUEST["course_id"]) && is_numeric($_REQUEST["course_id"])) {
56 $course_id = intVal($_REQUEST["course_id"]);
57
58 $user_ids = learndash_get_course_users_access_from_meta($course_id);
59 $user_ids = array_map("intVal", $user_ids);
60 $this->json_out( array("status" => 1, "data" => $user_ids, "course_id" => $course_id) );
61 }
62 // if(!empty($_REQUEST["group_id"]) && is_numeric($_REQUEST["group_id"])) {
63 // $group_id = intVal($_REQUEST["group_id"]);
64
65 // $user_ids = learndash_get_groups_user_ids($group_id);
66 // $user_ids = array_map("intVal", $user_ids);
67 // $this->json_out( array("status" => 1, "data" => $user_ids, "group_id" => $group_id) );
68 // }
69
70 $this->json_out(array("status" => 0, "message" => __("Invalid Request", 'manage-enrollment-learndash')));
71 }
72
73 function manual_completions_learndash_scripts() {
74 global $manual_completions_learndash;
75
76 wp_enqueue_script('manual_completions_learndash', plugins_url('/script.js', __FILE__), array('jquery'), $this->version );
77 wp_enqueue_style("manual_completions_learndash", plugins_url("/style.css", __FILE__), array(), $this->version );
78 wp_enqueue_script("select2js", plugins_url("/vendor/select2/js/select2.min.js", __FILE__), array(), $this->version );
79 wp_enqueue_style("select2css", plugins_url("/vendor/select2/css/select2.min.css", __FILE__), array(), $this->version );
80 wp_localize_script( 'manual_completions_learndash', 'manual_completions_learndash', $manual_completions_learndash);
81
82 wp_add_inline_style("manual_completions_learndash", '#manual_completions_learndash_table .has_xapi {background: url('.esc_url( plugins_url("img/icon-gb.png", __FILE__) ).'}');
83 }
84 function upload_mimes ( $existing_mimes=array() ) {
85 // add your extension to the mimes array as below
86 $existing_mimes['csv'] = 'text/csv';
87 return $existing_mimes;
88 }
89 function process_upload() {
90 global $manual_completions_learndash;
91 if(empty($manual_completions_learndash) || !is_array($manual_completions_learndash))
92 $manual_completions_learndash = array();
93
94 if(strtolower( pathinfo($_FILES['completions_file']['name'], PATHINFO_EXTENSION) ) != "csv" || $_FILES["completions_file"]["type"] != "text/csv" && $_FILES["completions_file"]["type"] != "application/vnd.ms-excel")
95 {
96 $manual_completions_learndash["upload_error"] = __('Upload Error: Invalid file format. Please upload a valid csv file', 'grassblade');
97 return;
98 }
99 require_once(dirname(__FILE__)."/../grassblade/addons/parsecsv.lib.php");
100 $csv = new parseCSV($_FILES['completions_file']['tmp_name']);
101 if(empty($csv->data) || !is_array($csv->data) || empty($csv->data[0]))
102 {
103 $manual_completions_learndash["upload_error"] = __('Upload Error: Empty csv file', 'grassblade');
104 return;
105 }
106 $csv_data = array();
107 foreach ($csv->data as $k => $data) {
108 $csv_data[$k] = array();
109 foreach ($data as $j => $val) {
110 $j = str_replace(" ", "_", strtolower(trim($j)));
111 $csv_data[$k][$j] = $val;
112 }
113 }
114
115 if(!isset($csv_data[0]["user_id"]) || !isset($csv_data[0]["course_id"])) {
116 $manual_completions_learndash["upload_error"] = __('Upload Error: Invalid file format. Expected columns: user_id, course_id, lesson_id, topic_id, quiz_id ', 'grassblade');
117 return;
118 }
119
120 $uploaded_data = $courses = $course_structure = $rejected_rows = array();
121 $allowed_columns = array("user_id", "course_id", "lesson_id", "topic_id", "quiz_id");
122 foreach ($csv_data as $k => $data) {
123 $row = array();
124 $empty_row = true;
125
126 foreach ($allowed_columns as $col) {
127 if(!empty($data[$col]))
128 $empty_row = false;
129
130 $row[$col] = (isset($data[$col]) && (is_numeric($data[$col]) || $data[$col] == "all"))? $data[$col]:"";
131 }
132
133 if($empty_row)
134 continue;
135
136 if(!empty($row["course_id"]) && !empty($row["user_id"])) {
137 $course_id = $row["course_id"];
138 if(!empty($courses[$course_id]))
139 $course = $courses[$course_id];
140 else {
141 $course = get_post($course_id);
142 if(!empty($course->ID) && $course->post_status == "publish" && $course->post_type == "sfwd-courses")
143 $courses[$course_id] = $course;
144 else
145 $course = null;
146 }
147
148 if(empty($course->ID)) {
149 $rejected_rows[] = $k + 2;
150 continue;
151 }
152
153 if(!isset($course_structure[$course_id]))
154 $course_structure[$course_id] = grassblade_learndash_get_course_structure($course);
155
156 if(empty($row["lesson_id"]) && empty($row["topic_id"]) && empty($row["quiz_id"]))
157 $row["lesson_id"] = "all";
158
159 $uploaded_data[] = $row;
160 }
161 else
162 $rejected_rows[] = $k + 2;
163 }
164
165 $manual_completions_learndash["uploaded_data"] = $uploaded_data;
166 $manual_completions_learndash["course_structure"] = $course_structure;
167
168 if(!empty($rejected_rows))
169 $manual_completions_learndash["upload_error"] = "Rejected Rows: ".implode(", ", $rejected_rows);
170 }
171 function menu() {
172 global $submenu, $admin_page_hooks;
173 $icon = plugin_dir_url(__FILE__)."img/icon-gb.png";
174
175 if(empty( $admin_page_hooks[ "grassblade-lrs-settings" ] )) {
176 add_menu_page("GrassBlade", "GrassBlade", "manage_options", "grassblade-lrs-settings", array($this, 'menu_page'), $icon, null);
177 add_action("admin_print_styles", array($this, "manual_completions_learndash_scripts"));
178 }
179
180 add_submenu_page("grassblade-lrs-settings", __('Manual Completions LearnDash', "manual_completions_learndash"), __('Manual Completions LearnDash', "manual_completions_learndash"),'manage_options','grassblade-manual-completions-learndash', array($this, 'menu_page'));
181 }
182
183 function form() {
184 global $wpdb;
185
186 $courses = get_posts("post_type=sfwd-courses&posts_per_page=-1&post_status=publish");
187 $users = $wpdb->get_results("SELECT ID, display_name, user_login, user_email FROM $wpdb->users ORDER BY display_name ASC");
188
189 $this->manual_completions_learndash_scripts();
190 include_once (dirname(__FILE__) . "/form.php");
191 }
192 function menu_page() {
193
194 if (!current_user_can('manage_options'))
195 {
196 wp_die( __('You do not have sufficient permissions to access this page.') );
197 }
198
199 $grassblade_plugin_file_path = WP_PLUGIN_DIR . '/grassblade/grassblade.php';
200 if(!defined("GRASSBLADE_VERSION") && file_exists($grassblade_plugin_file_path)) {
201 $grassblade_plugin_data = get_plugin_data($grassblade_plugin_file_path);
202 define('GRASSBLADE_VERSION', @$grassblade_plugin_data['Version']);
203 }
204
205 $learndash_plugin_file_path = WP_PLUGIN_DIR . '/sfwd-lms/sfwd_lms.php';
206 if(!defined("LEARNDASH_VERSION") && file_exists($learndash_plugin_file_path)) {
207 $learndash_plugin_data = get_plugin_data($learndash_plugin_file_path);
208 define('LEARNDASH_VERSION', @$learndash_plugin_data['Version']);
209 }
210
211 $dependency_active = true;
212
213 if (!file_exists($grassblade_plugin_file_path) ) {
214 $xapi_td = '<td><img src="'.plugin_dir_url(__FILE__).'img/no.png"/> '.(defined("GRASSBLADE_VERSION")? GRASSBLADE_VERSION:"").'</td>';
215 $xapi_td .= '<td>
216 <a class="buy-btn" href="https://www.nextsoftwaresolutions.com/grassblade-xapi-companion/">'.__("Buy Now", "grassblade-xapi-wp-courseware").'</a>
217 </td>';
218 $dependency_active = false;
219 }
220 else {
221 $xapi_td = '<td><img src="'.plugin_dir_url(__FILE__).'img/check.png"/> '.(defined("GRASSBLADE_VERSION")? GRASSBLADE_VERSION:"").'</td>';
222 if ( !is_plugin_active('grassblade/grassblade.php') ) {
223 $xapi_td .= '<td>'.$this->activate_plugin("grassblade/grassblade.php").'</td>';
224 $dependency_active = false;
225 }else {
226 $xapi_td .= '<td><img src="'.plugin_dir_url(__FILE__).'img/check.png"/></td>';
227 }
228 }
229
230 if (!file_exists( $learndash_plugin_file_path ) ) {
231 $learndash_td = '<td><img src="'.plugin_dir_url(__FILE__).'img/no.png"/> '.(defined("LEARNDASH_VERSION")? LEARNDASH_VERSION:"").'</td>';
232 $learndash_td .= '<td colspan="2">
233 <a class="buy-btn" href="'.$this->learndash_link.'">'.__("Buy Now", "grassblade-xapi-wp-courseware").'</a>
234 </td>';
235 $dependency_active = false;
236 }
237 else {
238 $learndash_td = '<td><img src="'.plugin_dir_url(__FILE__).'img/check.png"/> '.(defined("LEARNDASH_VERSION")? LEARNDASH_VERSION:"").'</td>';
239 if ( !is_plugin_active('sfwd-lms/sfwd_lms.php') ) {
240 $learndash_td .= '<td>'.$this->activate_plugin("sfwd-lms/sfwd_lms.php").'</td>';
241 $dependency_active = false;
242 } else {
243 $learndash_td .= '<td><img src="'.plugin_dir_url(__FILE__).'img/check.png"/></td>';
244 }
245 }
246
247 if($dependency_active)
248 $this->form();
249 else {
250
251 ?>
252 <div id="manual_completions_learndash" class="manual_completions_learndash_requirements">
253 <h2>
254 <img style="margin-right: 10px;" src="<?php echo esc_url(plugin_dir_url(__FILE__)."img/icon_30x30.png"); ?>"/>
255 Manual Completions for LearnDash
256 </h2>
257 <hr>
258 <div>
259 <p class="text">To use Manual Completions for LearnDash, you need to meet the following requirements.</p>
260 <h2>Requirements:</h2>
261 <table class="requirements-tbl">
262 <thead>
263 <tr>
264 <th>SNo</th>
265 <th>Requirements</th>
266 <th>Installed</th>
267 <th>Active</th>
268 </tr>
269 </thead>
270 <tbody>
271 <tr>
272 <td>1. </td>
273 <td><a class="links" href="https://www.nextsoftwaresolutions.com/grassblade-xapi-companion/">GrassBlade xAPI Companion</a></td>
274 <?php echo $xapi_td; ?>
275 </tr>
276 <tr>
277 <td>2. </td>
278 <td><a class="links" href="<?php echo $this->learndash_link; ?>">LearnDash LMS</a></td>
279 <?php echo $learndash_td; ?>
280 </tr>
281 </tbody>
282 </table>
283 <br>
284 </div>
285 </div>
286 <?php }
287 }
288 /**
289 * Generate an activation URL for a plugin like the ones found in WordPress plugin administration screen.
290 *
291 * @param string $plugin A plugin-folder/plugin-main-file.php path (e.g. "my-plugin/my-plugin.php")
292 *
293 * @return string The plugin activation url
294 */
295 function activate_plugin($plugin)
296 {
297 $activation_link = wp_nonce_url( 'plugins.php?action=activate&amp;plugin=' . urlencode( $plugin ), 'activate-plugin_' . $plugin );
298
299 $link = '<a href="#" onClick="return grassblade_learndash_activate_plugin(\''.$activation_link.'\');">'.__("Activate").'</a>';
300 return $link;
301 }
302 function learndash_submenu($add_submenu) {
303 $add_submenu["manual_completions_learndash"] = array(
304 "name" => __('Manual Completions', "manual_completions_learndash"),
305 "cap" => "manage_options",
306 "link" => 'admin.php?page=grassblade-manual-completions-learndash'
307 );
308 return $add_submenu;
309 }
310 function course_selected() {
311
312 if(!current_user_can("manage_options") || empty($_REQUEST["course_id"]))
313 $this->json_out(array("status" => 0));
314
315 $course_id = intVal($_REQUEST["course_id"]);
316 $course = get_post($course_id);
317
318 if(empty($course->ID) || $course->post_status != "publish")
319 $this->json_out(array("status" => 0));
320
321
322 $this->json_out(array("status" => 1, "data" => grassblade_learndash_get_course_structure($course) ));
323
324 }
325 function check_completion($return = false) {
326
327 if(!current_user_can("manage_options") || empty($_REQUEST["data"]) || (!is_array($_REQUEST["data"]) && !is_object($_REQUEST["data"])) )
328 $this->json_out(array("status" => 0, "message" => "Invalid Data"));
329
330 $completions = $_REQUEST["data"];
331 foreach ($completions as $k => $completion) {
332 $course_id = $completion["course_id"] = intVal($completion["course_id"]);
333 $lesson_id = $completion["lesson_id"] = (!empty($completion["lesson_id"]) && $completion["lesson_id"] != "all")? intVal($completion["lesson_id"]):$completion["lesson_id"];
334 $topic_id = $completion["topic_id"] = (!empty($completion["topic_id"]) && $completion["topic_id"] != "all")? intVal($completion["topic_id"]):$completion["topic_id"];
335 $quiz_id = $completion["quiz_id"] = intVal($completion["quiz_id"]);
336 $user_id = $completion["user_id"] = intVal($completion["user_id"]);
337
338 if(empty($course_id)) {
339 $completions[$k]["message"] = "Course not selected.";
340 $completions[$k]["status"] = 0;
341 }
342 else
343 if(empty($user_id)) {
344 $completions[$k]["message"] = "User not selected.";
345 $completions[$k]["status"] = 0;
346 }
347 else if( !ld_course_check_user_access($course_id, $user_id) ) {
348 $completions[$k]["message"] = "User not enrolled to course.";
349 $completions[$k]["status"] = 0;
350 }
351 else
352 {
353 $completed = null;
354
355 if(!empty($quiz_id))
356 $completed = learndash_is_quiz_complete($user_id, $quiz_id, $course_id);
357 else
358 if(!empty($topic_id) && !empty($lesson_id) && $topic_id != "all")
359 $completed = learndash_is_topic_complete($user_id, $topic_id);
360 else
361 if(!empty($lesson_id)) {
362 if($lesson_id == "all")
363 {
364 $completed = learndash_course_status($course_id, $user_id, true);
365 }
366 else
367 $completed = learndash_is_lesson_complete($user_id, $lesson_id, $course_id);
368 }
369 else
370 {
371 $completions[$k]["message"] = "Quiz/Lesson/Topic not selected.";
372 $completions[$k]["status"] = 0;
373 }
374
375 if(isset($completed)) {
376 global $learndash_course_statuses;
377 $completions[$k]["message"] = is_bool($completed)? (empty($completed)? "Not Completed":"Completed"):$learndash_course_statuses[$completed];
378 $completions[$k]["status"] = 1;
379 $completed = is_string($completed)? ($completed == "completed"):$completed;
380 $completions[$k]["completed"] = intVal($completed);
381 }
382 }
383 }
384 if( $return )
385 return $completions;
386
387 $this->json_out( array("status" => 1, "data" => $completions) );
388 }
389
390 function mark_complete() {
391
392 if(!current_user_can("manage_options") || empty($_REQUEST["data"]) || (!is_array($_REQUEST["data"]) && !is_object($_REQUEST["data"])) )
393 $this->json_out(array("status" => 0, "message" => "Invalid Data"));
394
395 $completions = $_REQUEST["data"];
396 $check_completions = $this->check_completion(true);
397 foreach ($completions as $k => $completion) {
398 if(!empty($check_completions[$k]) && !empty($check_completions[$k]["completed"])) {
399 $completions[$k]["status"] = 1;
400 $completions[$k]["message"] = "Already Completed";
401 $completions[$k]["info"] = $check_completions[$k];
402 continue;
403 }
404 $course_id = $completion["course_id"] = intVal($completion["course_id"]);
405 $lesson_id = $completion["lesson_id"] = (!empty($completion["lesson_id"]) && $completion["lesson_id"] != "all")? intVal($completion["lesson_id"]):$completion["lesson_id"];
406 $topic_id = $completion["topic_id"] = (!empty($completion["topic_id"]) && $completion["topic_id"] != "all")? intVal($completion["topic_id"]):$completion["topic_id"];
407 $quiz_id = $completion["quiz_id"] = intVal($completion["quiz_id"]);
408 $user_id = $completion["user_id"] = intVal($completion["user_id"]);
409
410 if(empty($course_id)) {
411 $completions[$k]["message"] = "Course not selected.";
412 $completions[$k]["status"] = 0;
413 }
414 else
415 if(empty($user_id)) {
416 $completions[$k]["message"] = "User not selected.";
417 $completions[$k]["status"] = 0;
418 }
419 else if( !ld_course_check_user_access($course_id, $user_id) ) {
420 $completions[$k]["message"] = "User not enrolled to course.";
421 $completions[$k]["status"] = 0;
422 }
423 else
424 {
425 if(!empty($_REQUEST["force_completion"])) {
426 $completions[$k]["a"] = "Force Completion";
427
428 remove_filter("learndash_process_mark_complete", "grassblade_learndash_process_mark_complete", 1, 3);
429 }
430
431 if(!empty($quiz_id))
432 $completions[$k] = $this->mark_quiz_complete($completion);
433 else
434 if(!empty($topic_id) && !empty($lesson_id) && $topic_id != "all")
435 $completions[$k] = $this->mark_topic_complete($completion);
436 else
437 if(!empty($lesson_id)) {
438
439 if($lesson_id == "all" || !empty($topic_id) && $topic_id == "all")
440 remove_filter("learndash_process_mark_complete", "grassblade_learndash_process_mark_complete", 1, 3);
441
442 if($lesson_id == "all")
443 $completions[$k] = $this->mark_course_complete($completion);
444 else
445 $completions[$k] = $this->mark_lesson_complete($completion);
446
447 if(empty($_REQUEST["force_completion"]))
448 if($lesson_id == "all" || !empty($topic_id) && $topic_id == "all")
449 add_filter("learndash_process_mark_complete", "grassblade_learndash_process_mark_complete", 1, 3);
450 }
451 else
452 {
453 $completions[$k]["message"] = "Quiz/Lesson/Topic not selected.";
454 $completions[$k]["status"] = 0;
455 }
456 }
457 }
458
459 $this->json_out( array("status" => 1, "data" => $completions) );
460 }
461 function mark_course_complete($completion) {
462 $course_id = $completion["course_id"];
463 $user_id = $completion["user_id"];
464 $user = get_user_by("id", $user_id);
465 $course = get_post($course_id);
466 $course_structure = grassblade_learndash_get_course_structure($course);
467 $completion["status_slug"] = learndash_course_status($course_id, $user_id, true);
468
469 $status = array();
470 if($completion["status_slug"] != "completed") {
471 if(!empty($course_structure->lessons))
472 foreach ($course_structure->lessons as $lesson_id => $lesson) {
473 if(!empty($lesson->topics))
474 foreach ($lesson->topics as $topic_id => $topic) {
475
476 if(!empty($topic->quizzes))
477 foreach ($topic->quizzes as $quiz_id => $quiz) {
478 $status["quiz_".$quiz_id] = $this->mark_quiz_complete(array("course_id" => $course_id, "user_id" => $user_id, "lesson_id" => $lesson_id, "topic_id" => $topic_id, "quiz_id" => $quiz_id));
479 }
480 $status["topic_".$topic_id] = $this->mark_topic_complete(array("course_id" => $course_id, "user_id" => $user_id, "lesson_id" => $lesson_id, "topic_id" => $topic_id));
481
482 }
483 if(!empty($lesson->quizzes))
484 foreach ($lesson->quizzes as $quiz_id => $quiz) {
485 $status["quiz_".$quiz_id] = $this->mark_quiz_complete(array("course_id" => $course_id, "user_id" => $user_id, "lesson_id" => $lesson_id, "quiz_id" => $quiz_id));
486 }
487
488 $status["lesson_".$lesson_id] = $this->mark_lesson_complete(array("course_id" => $course_id, "user_id" => $user_id, "lesson_id" => $lesson_id));
489 }
490 if(!empty($course_structure->quizzes))
491 foreach ($course_structure->quizzes as $quiz_id => $quiz) {
492 $status["quiz_".$quiz_id] = $this->mark_quiz_complete(array("course_id" => $course_id, "user_id" => $user_id, "quiz_id" => $quiz_id));
493 }
494 }
495
496 $completion["status_slug"] = learndash_course_status($course_id, $user_id, true);
497 $completion["status"] = ($completion["status_slug"] == "completed")*1;
498 $completion["message"] = learndash_course_status($course_id, $user_id, false);
499 $completion["info"] = $status;
500 return $completion;
501 }
502 function mark_quiz_complete($completion) {
503 $course_id = $completion["course_id"];
504 $quiz_id = $completion["quiz_id"];
505 $user_id = $completion["user_id"];
506 $user = get_user_by("id", $user_id);
507
508 $course = get_post($course_id);
509 $course_title = $course->post_title;
510 $score = 100;
511 $percentage = 100;
512 $percentage = round($percentage, 2);
513
514 $timespent = 1;
515 $time = time();
516 $count = 1;
517
518 $quiz = get_post_meta($quiz_id, '_sfwd-quiz', true);
519 $passingpercentage = empty($quiz['sfwd-quiz_passingpercentage'])? 0:intVal($quiz['sfwd-quiz_passingpercentage']);
520 $pass = ($percentage >= $passingpercentage)? 1:0;
521
522
523 $quiz = get_post($quiz_id);
524
525
526 $quizdata = array( "statement_id" => "", "course" => $course_id, "quiz" => $quiz_id, "quiz_title" => $quiz->post_title, "score" => $score, "total" => $score, "count" => $count, "pass" => $pass, "rank" => '-', "time" => $time, 'percentage' => $percentage, 'timespent' => $timespent, 'pro_quizid' => 0, 'm_edit_by' => get_current_user_id(), 'm_edit_time' => time());
527
528
529 $usermeta = get_user_meta( $user_id, '_sfwd-quizzes', true );
530 $usermeta = maybe_unserialize( $usermeta );
531 if ( !is_array( $usermeta ) ) $usermeta = Array();
532
533 $usermeta[] = $quizdata;
534
535 $quizdata['quiz'] = $quiz;
536 $quizdata['course'] = get_post($course_id);
537 $quizdata['started'] = $quizdata['completed'] = strtotime(@$statement->stored);
538
539 update_user_meta( $user_id, '_sfwd-quizzes', $usermeta );
540
541 do_action("learndash_quiz_completed", $quizdata, $user); //Hook for completed quiz
542
543 if(!empty($completion["topic_id"]))
544 grassblade_learndash_mark_lesson_complete_if_children_complete($completion["lesson_id"], $completion["user_id"], $completion["course_id"]);
545 else
546 if(!empty($completion["lesson_id"]))
547 grassblade_learndash_mark_lesson_complete_if_children_complete($completion["lesson_id"], $completion["user_id"], $completion["course_id"]);
548
549 $completion["message"] = "Successfully Marked Complete";
550 $completion["status"] = 1;
551 $completion["usermeta"] = $usermeta;
552 return $completion;
553 }
554 function mark_lesson_complete($completion) {
555 if(!empty($completion["topic_id"]) && $completion["topic_id"] == "all") {
556 $course_id = $completion["course_id"];
557 $user_id = $completion["user_id"];
558 $course = get_post($course_id);
559 $lesson_id = $completion["lesson_id"];
560 $course_structure = grassblade_learndash_get_course_structure($course);
561 if(!empty($course_structure->lessons) && !empty($course_structure->lessons->{$lesson_id})) {
562 $status = array();
563 $lesson = $course_structure->lessons->{$lesson_id};
564 if(!empty($lesson->topics))
565 foreach ($lesson->topics as $topic_id => $topic) {
566
567 if(!empty($topic->quizzes))
568 foreach ($topic->quizzes as $quiz_id => $quiz) {
569 $status["quiz_".$quiz_id] = $this->mark_quiz_complete(array("course_id" => $course_id, "user_id" => $user_id, "lesson_id" => $lesson_id, "topic_id" => $topic_id, "quiz_id" => $quiz_id));
570 }
571 $status["topic_".$topic_id] = $this->mark_topic_complete(array("course_id" => $course_id, "user_id" => $user_id, "lesson_id" => $lesson_id, "topic_id" => $topic_id));
572
573 }
574 if(!empty($lesson->quizzes))
575 foreach ($lesson->quizzes as $quiz_id => $quiz) {
576 $status["quiz_".$quiz_id] = $this->mark_quiz_complete(array("course_id" => $course_id, "user_id" => $user_id, "lesson_id" => $lesson_id, "quiz_id" => $quiz_id));
577 }
578
579 $status["lesson_".$lesson_id] = $this->mark_lesson_complete(array("course_id" => $course_id, "user_id" => $user_id, "lesson_id" => $lesson_id));
580 }
581
582 $completion["status"] = learndash_is_lesson_complete($user_id, $lesson_id, $course_id);
583 $completion["message"] = empty($completion["status"])? "Completion Failed":"Successfully Marked Complete";
584 $completion["info"] = $status;
585 return $completion;
586 }
587
588 $return = grassblade_learndash_mark_lesson_complete_if_children_complete($completion["lesson_id"], $completion["user_id"], $completion["course_id"]);
589 if(empty($return)) {
590 $completion["status"] = 0;
591 $completion["message"] = "Completion Failed. Child/Dependency not complete.";
592 }
593 else
594 if(strpos($return, "Failed")) {
595 $completion["status"] = 0;
596 $completion["message"] = "Completion Failed";
597 }
598 else {
599 $completion["status"] = 1;
600 $completion["message"] = "Successfully Marked Complete";
601 }
602 return $completion;
603 }
604 function mark_topic_complete($completion) {
605 $return = grassblade_learndash_mark_lesson_complete_if_children_complete($completion["topic_id"], $completion["user_id"], $completion["course_id"]);
606 if(empty($return) || strpos($return, "Failed")) {
607 $completion["status"] = 0;
608 $completion["message"] = $return;
609 }
610 else {
611 $completion["status"] = 1;
612 $completion["message"] = "Successfully Marked Complete";
613
614 grassblade_learndash_mark_lesson_complete_if_children_complete($completion["lesson_id"], $completion["user_id"], $completion["course_id"]);
615 }
616 return $completion;
617 }
618 function json_out($data) {
619 header('Content-Type: application/json');
620 echo json_encode($data);
621 exit();
622 }
623 }
624
625 new manual_completions_learndash();
1 === Manual Completions for LearnDash ===
2 Contributors: liveaspankaj
3 Donate link:
4 Tags: learndash, grassblade, manual, completion, mark complete, bulk
5 Requires at least: 4.0
6 Tested up to: 6.1.1
7 Stable tag: trunk
8 Requires PHP: 5.4
9 License: GPLv2 or later
10 License URI: https://www.gnu.org/licenses/gpl-2.0.html
11
12 Manual Completions for LearnDash lets you check completion as well as manually mark courses, lessons, topics and quizzes as complete. Individuals as well as in bulk.
13
14 == Description ==
15
16 Manual Completions for LearnDash provides a very simple interface to check completion as well as manually mark courses, lessons, topics and quizzes as complete.
17
18 You can use it for single completions as well as for **bulk completions** of hundreds of users. In one click, get all the enrolled users in the course.
19
20 You can also upload a CSV files with user_id, course_id, lesson_id, topic_id, quiz_id. To quickly list all the completions, and then process them in bulk in any order you want.
21
22 You can also bypass completions blocked by GrassBlade xAPI Companion for xAPI Contents.
23
24 **Tracking:**
25 - If you have an LRS, you can see tracking data, including the user id and name of the admin who marked the lesson complete.
26
27 **Requirements to use this plugin:**
28 To use this plugin you need these two plugins:
29 1. [LearnDash LMS](https://www.nextsoftwaresolutions.com/r/learndash/wp_mcl_plugin_page)
30 2. [GrassBlade xAPI Companion](https://www.nextsoftwaresolutions.com/grassblade-lrs-experience-api/)
31
32
33
34 **Related Plugins:**
35
36 - [Autocomplete LearnDash Lessons and Topics](https://wordpress.org/plugins/autocomplete-learndash/)
37 - [Visibility Control for LearnDash](https://wordpress.org/plugins/visibility-control-for-learndash/)
38 - [Manage Enrollment for LearnDash](https://wordpress.org/plugins/manage-enrollment-learndash/))
39
40
41 == Installation ==
42
43 This section describes how to install the plugin and get it working.
44
45
46 1. Upload the plugin files to the `/wp-content/plugins/manual-completions-learndash` directory, or install the plugin through the WordPress plugins screen directly.
47 1. Activate the plugin through the 'Plugins' screen in WordPress
48 1. Go to WP ADMIN > GrassBlade > Manual Completions for LearnDash or (WP ADMIN > LearnDash > Manual Completions)
49
50
51 == Frequently Asked Questions ==
52
53
54 == Screenshots ==
55
56 1. Manual Completions page
57 2. Checking Completion status
58 3. Marking Completions
59 4. Status Reported in the LRS (if you have an LRS)
60 5. CSV Upload Format
61 6. Get all enrolled users
62
63 == Changelog ==
64
65 = 1.7 =
66 * Improvement: User search is changed for select2 to own code to improve performance for large websites.
67 * Feature: Added Total count
68
69 = 1.6 =
70 * Fixed: issues related to addons page specially on network website.
71
72 = 1.5 =
73 * Feature: Added ability to pull list of all enrolled users.
74
75 = 1.4 =
76 * Feature: Added ability to mark complete entire Course or entire Lesson.
77
78 = 1.3 =
79 * Fixed: Styling to work with v4.0 of GrassBlade xAPI Companion
80
81
82 = 1.2 =
83 * Fixed: Completion with CSV upload showing Unknown Error.
84 * Fixed: Topic and Quiz selection causing issues
85
86 = 1.1 =
87 * Fixed CSS issue on GrassBlade page
88 * Added Addons page
89
90 = 1.0 =
91 * Initial Commit
92
93
1
2 jQuery(document).ready(function() {
3 window.course_structure = manual_completions_learndash.course_structure;
4
5 jQuery('#manual_completions_learndash select.en_select2').select2({width: "100%"});
6
7 jQuery("#select_all").on("change", function() {
8 jQuery("tr[data-completion] [type=checkbox]:not([disabled])").prop('checked', jQuery("#select_all").is(":checked"));
9 manual_completions_learndash_update_checked_count();
10 });
11
12 jQuery("#manual_completions_learndash_table table").click(function(e) {
13 if(jQuery(e.target).attr("type") == "checkbox") {
14 manual_completions_learndash_update_checked_count();
15 }
16 });
17
18 jQuery('#users [role="searchbox"]').on("keypress", function(e) {
19 manual_completions_learndash_handle_users_keypress(e, ",");
20 manual_completions_learndash_handle_users_keypress(e, " ");
21 });
22 jQuery('#users [role="searchbox"]').on("keyup change", function(e) {
23 if( e.which == 13 )
24 manual_completions_learndash_filter_users_list();
25 else
26 setTimeout( () => manual_completions_learndash_filter_users_list(), 1000 );
27 });
28
29 if(typeof manual_completions_learndash.uploaded_data == "object" && manual_completions_learndash.uploaded_data.length > 0) {
30 jQuery("#manual_completions_learndash #course").hide();
31
32 jQuery.each(manual_completions_learndash.uploaded_data, function(i, data) {
33 manual_completions_learndash_add_row(data, i+1);
34 });
35 }
36 });
37 function manual_completions_learndash_update_checked_count() {
38 jQuery("#process_completions .count, #check_completions .count").text(" (" + jQuery("#manual_completions_learndash_table input[type=checkbox]:not(#select_all):checked").length + ")");
39 }
40 function manual_completions_learndash_show_user_selection(show) {
41 if(show) {
42 jQuery('#users').show();
43 }
44 else
45 {
46 jQuery('#users').hide();
47 }
48 }
49 function manual_completions_learndash_filter_users_list() {
50 var string = jQuery('#users [role="searchbox"]').val().trim();
51 if(typeof window.manual_completions_learndash_filter_users_string == "string" && window.manual_completions_learndash_filter_users_string == string)
52 return;
53
54 window.manual_completions_learndash_filter_users_string = string;
55
56 if( string == "" ) {
57 jQuery("#users option").show();
58 }
59 else {
60 var select = "";
61 var count = 0;
62 jQuery("#users option").each(function(i, option) {
63 if( jQuery(option).val() == "" ) {
64 select = jQuery(option);
65 jQuery(select).html("Updating...");
66 select.show();
67 return;
68 }
69
70 if( jQuery(option).text().toLowerCase().indexOf(string) != -1 ) {
71 jQuery(option).show();
72 count++;
73 }
74 else
75 jQuery(option).hide();
76 });
77 if( select ) {
78 setTimeout(function(){ jQuery(select).html(" --- Select a User --- (" + count + ")"); }, 200);
79 }
80 }
81 }
82 function manual_completions_learndash_handle_users_keypress(e, splitter) {
83 //console.log(e.which, jQuery("#user_ids").val(), jQuery('#users [role="searchbox"]').val());
84 if(e.which == 32 || e.which == 13) {
85 var values = jQuery("#user_ids").val();
86 if(values == null)
87 values = [];
88
89 var string = jQuery('#users [role="searchbox"]').val();
90 var updated = false;
91 var input_items = string.split(splitter);
92 jQuery.each(input_items, function(i, v) {
93 if(v > 0) {
94 var value = jQuery("#user_ids option[value=" + v.trim() + "]").val();
95 if(value != undefined) {
96 updated = true;
97 values[values.length] = value;
98 jQuery("#user_ids").val(value).trigger("change");
99 delete( input_items[i] );
100 }
101 }
102 else
103 {
104 delete( input_items[i] );
105 }
106 });
107 if( updated ) {
108 jQuery('#users [role="searchbox"]').val(input_items.filter(function(el) { return el; }).join(splitter));
109 }
110 }
111 }
112 function manual_completions_learndash_course_selected(context) {
113 var course_id = jQuery(context).val();
114 if(typeof course_structure[course_id] == "object") {
115 manual_completions_learndash_show_elements( course_structure[course_id] );
116 return;
117 }
118 jQuery("#manual_completions_learndash #lesson, #manual_completions_learndash #topic, #manual_completions_learndash #quiz").hide();
119 jQuery("#manual_completions_learndash #quiz option.auto").remove();
120 manual_completions_learndash_clear_value("lesson");
121 manual_completions_learndash_clear_value("topic");
122 manual_completions_learndash_clear_value("quiz");
123
124 if( course_id == "" || course_id == null ) {
125 jQuery("#manual_completions_learndash #upload_csv").show();
126 return;
127 }
128 else
129 jQuery("#manual_completions_learndash #upload_csv").hide();
130
131
132 var data = {
133 "action" : "manual_completions_learndash_course_selected",
134 "course_id" : course_id
135 };
136
137 jQuery.post(manual_completions_learndash.ajax_url, data)
138 .done(function( data ) {
139 console.error(data);
140 if( data.status == 1 && typeof data.data == "object" ) {
141 course_structure[course_id] = data.data;
142 manual_completions_learndash_show_elements( course_structure[course_id] );
143 return;
144 }
145 else
146 alert("Invalid course data received");
147 })
148 .fail(function(xhr, status, error) {
149 console.log(xhr, status, error);
150 alert("Request to get course data failed");
151 });
152 }
153 function manual_completions_learndash_quiz_selected(context) {
154 if(jQuery("#manual_completions_learndash #quiz option:selected").hasClass("global"))
155 {
156 manual_completions_learndash_unselect_value("topic");
157 manual_completions_learndash_unselect_value("lesson");
158 }
159 var quiz_id = jQuery("#manual_completions_learndash #quiz_id").val();
160 manual_completions_learndash_show_user_selection(quiz_id > 0);
161 }
162 function manual_completions_learndash_topic_selected(context) {
163 var id = jQuery("#manual_completions_learndash #topic_id").val();
164 if(id > 0 || !jQuery("#manual_completions_learndash #quiz option:selected").hasClass("global"))
165 manual_completions_learndash_clear_value("quiz");
166 manual_completions_learndash_show_elements();
167 }
168 function manual_completions_learndash_lesson_selected(context) {
169 var id = jQuery("#manual_completions_learndash #lesson_id").val();
170 manual_completions_learndash_clear_value("topic");
171
172 if(id > 0 || !jQuery("#manual_completions_learndash #quiz option:selected").hasClass("global"))
173 manual_completions_learndash_clear_value("quiz");
174
175 manual_completions_learndash_show_elements();
176
177 if(id > 0 || id == "all")
178 manual_completions_learndash_show_user_selection(true);
179 }
180 function manual_completions_learndash_unselect_value(name) {
181 if(jQuery("#manual_completions_learndash #" + name + "_id").val() != "")
182 jQuery("#manual_completions_learndash #" + name + "_id").val("").trigger("change");
183 }
184 function manual_completions_learndash_clear_value(name) {
185 manual_completions_learndash_unselect_value(name);
186
187 jQuery("#manual_completions_learndash #" + name + " option.auto:not(.global)").remove();
188 if(jQuery("#manual_completions_learndash #" + name + " option").length <= 1)
189 jQuery("#manual_completions_learndash #" + name).hide();
190 }
191 function manual_completions_learndash_show_elements(data) {
192 var course_id = jQuery("#manual_completions_learndash #course_id").val();
193
194 if(data == undefined && typeof course_structure[course_id] != "object")
195 return;
196
197 var course_id = jQuery("#manual_completions_learndash #course_id").val();
198 var lesson_id = jQuery("#manual_completions_learndash #lesson_id").val();
199 var topic_id = jQuery("#manual_completions_learndash #topic_id").val();
200 var quiz_id = jQuery("#manual_completions_learndash #quiz_id").val();
201
202 if(typeof data != "object") {
203 data = course_structure[course_id];
204 }
205 if(typeof data != "object") {
206 console.error("Invalid data");
207 alert("Invalid data");
208 return;
209 }
210
211 if(typeof data["lessons"] == "object" && lesson_id == "") {
212 manual_completions_learndash_clear_value("lesson");
213 manual_completions_learndash_clear_value("topic");
214
215 jQuery.each(data["lessons"], function(lesson_id, lesson_data) {
216 jQuery("#manual_completions_learndash #lesson_id").append("<option class='auto' value='" + lesson_id + "' " + manual_completions_learndash_has_xapi_attr(lesson_data) + ">" + lesson_data.lesson["post_title"] + " " + manual_completions_learndash_has_xapi_label(lesson_data) + "</option>");
217 });
218 jQuery("#manual_completions_learndash #lesson").show();
219 }
220
221 if(typeof data["lessons"] == "object" && lesson_id > 0) {
222 if(typeof data["lessons"][lesson_id]["topics"] == "object" && topic_id == "") {
223 manual_completions_learndash_clear_value("topic");
224
225 jQuery.each(data["lessons"][lesson_id]["topics"], function(topic_id, topic_data) {
226 jQuery("#manual_completions_learndash #topic_id").append("<option class='auto' value='" + topic_id + "' " + manual_completions_learndash_has_xapi_attr(topic_data) + ">" + topic_data.topic["post_title"] + " " + manual_completions_learndash_has_xapi_label(topic_data) + "</option>");
227 });
228 jQuery("#manual_completions_learndash #topic").show();
229 }
230
231
232 if(typeof data["lessons"][lesson_id]["quizzes"] == "object" && topic_id == "") {
233 manual_completions_learndash_clear_value("quiz");
234
235 jQuery.each(data["lessons"][lesson_id]["quizzes"], function(quiz_id, quiz_data) {
236 jQuery("#manual_completions_learndash #quiz_id").append("<option class='auto' value='" + quiz_id + "' " + manual_completions_learndash_has_xapi_attr(quiz_data) + ">" + quiz_data.quiz["post_title"] + " (lesson quiz) " + manual_completions_learndash_has_xapi_label(quiz_data) + "</option>");
237 });
238 jQuery("#manual_completions_learndash #quiz").show();
239 }
240
241 if(typeof data["lessons"][lesson_id]["topics"] == "object" && topic_id > 0 && typeof data["lessons"][lesson_id]["topics"][topic_id]["quizzes"] == "object") {
242 manual_completions_learndash_clear_value("quiz");
243
244 jQuery.each(data["lessons"][lesson_id]["topics"][topic_id]["quizzes"], function(quiz_id, quiz_data) {
245 var has_xapi = (typeof quiz_data.xapi_content)
246 jQuery("#manual_completions_learndash #quiz_id").append("<option class='auto' value='" + quiz_id + "' " + manual_completions_learndash_has_xapi_attr(quiz_data) + ">" + quiz_data.quiz["post_title"] + " (topic quiz) " + manual_completions_learndash_has_xapi_label(quiz_data) + "</option>");
247 });
248 jQuery("#manual_completions_learndash #quiz").show();
249 }
250 }
251
252 if(typeof data["quizzes"] == "object" && quiz_id == "" && topic_id == "" && lesson_id == "") {
253 manual_completions_learndash_clear_value("quiz");
254 jQuery("#manual_completions_learndash #quiz option.auto").remove();
255
256 jQuery.each(data["quizzes"], function(quiz_id, quiz_data) {
257 jQuery("#manual_completions_learndash #quiz_id").append("<option class='auto global' value='" + quiz_id + "' " + manual_completions_learndash_has_xapi_attr(quiz_data) + ">" + quiz_data.quiz["post_title"] + " (global quiz) " + manual_completions_learndash_has_xapi_label(quiz_data) + "</option>");
258 });
259 jQuery("#manual_completions_learndash #quiz").show();
260 }
261
262 if( lesson_id > 0 || topic_id > 0 || quiz_id > 0 )
263 manual_completions_learndash_show_user_selection(true);
264 else
265 manual_completions_learndash_show_user_selection(false);
266 }
267 function manual_completions_learndash_has_xapi_label(data) {
268 if(typeof data == "object" && typeof data.xapi_content == "object")
269 return " (has xAPI Content) ";
270 else
271 return "";
272 }
273 function manual_completions_learndash_has_xapi_attr(data) {
274 if(typeof data == "object" && typeof data.xapi_content == "object")
275 return " data-xapi='1' ";
276 else
277 return "";
278 }
279 function manual_completions_learndash_xapi_icon(name, data) {
280 var course_id = (typeof data.course_id == "undefined")? "":data.course_id;
281 var quiz_id = (typeof data.quiz_id == "undefined")? "":data.quiz_id;
282 var topic_id = (typeof data.topic_id == "undefined")? "":data.topic_id;
283 var lesson_id = (typeof data.lesson_id == "undefined")? "":data.lesson_id;
284
285 if(typeof course_structure[course_id] != "object")
286 return " ";
287
288 switch(name) {
289 case "lesson":
290 if(lesson_id == "" || typeof course_structure[course_id].lessons != "object" || typeof course_structure[course_id].lessons[lesson_id] != "object" || typeof course_structure[course_id].lessons[lesson_id].xapi_content != "object" )
291 return " ";
292 else
293 return " <span class='has_xapi' title='Has xAPI'></span> ";
294
295 case "topic":
296 if(lesson_id == "" || typeof course_structure[course_id].lessons != "object" || typeof course_structure[course_id].lessons[lesson_id] != "object" )
297 return " ";
298
299 if(topic_id == "" || typeof course_structure[course_id].lessons[lesson_id].topics != "object" || typeof course_structure[course_id].lessons[lesson_id].topics[topic_id] != "object" || typeof course_structure[course_id].lessons[lesson_id].topics[topic_id] .xapi_content != "object" )
300 return " ";
301
302 return " <span class='has_xapi' title='Has xAPI'></span> ";
303
304 case "quiz":
305 if(quiz_id == "")
306 return " ";
307
308 if(typeof course_structure[course_id].quizzes == "object" && typeof course_structure[course_id].quizzes[quiz_id] == "object" && typeof course_structure[course_id].quizzes[quiz_id].xapi_content == "object")
309 return " <span class='has_xapi' title='Has xAPI'></span> "; //Global Quiz
310
311 if(lesson_id > 0 && typeof course_structure[course_id].lessons == "object" && typeof course_structure[course_id].lessons[lesson_id] == "object") {
312 if(typeof course_structure[course_id].lessons[lesson_id].quizzes == "object" && typeof course_structure[course_id].lessons[lesson_id].quizzes[quiz_id] == "object" && typeof course_structure[course_id].lessons[lesson_id].quizzes[quiz_id].xapi_content == "object")
313 return " <span class='has_xapi' title='Has xAPI'></span> "; //Lesson Quiz
314
315 if(topic_id > 0 && typeof course_structure[course_id].lessons[lesson_id].topics == "object" && typeof course_structure[course_id].lessons[lesson_id].topics[topic_id] == "object" && typeof course_structure[course_id].lessons[lesson_id].topics[topic_id].quizzes == "object" && typeof course_structure[course_id].lessons[lesson_id].topics[topic_id].quizzes[quiz_id] == "object" && typeof course_structure[course_id].lessons[lesson_id].topics[topic_id].quizzes[quiz_id].xapi_content == "object")
316 return " <span class='has_xapi' title='Has xAPI'></span> "; //Topic Quiz
317 }
318
319 return " ";
320 }
321 return " ";
322 }
323 function manual_completions_learndash_users_selected(context) {
324 var course_id = jQuery("#manual_completions_learndash #course_id").val();
325 var lesson_id = jQuery("#manual_completions_learndash #lesson_id").val();
326 var topic_id = jQuery("#manual_completions_learndash #topic_id").val();
327 var quiz_id = jQuery("#manual_completions_learndash #quiz_id").val();
328
329 //console.log(jQuery("#users select").val());
330 var user_ids = jQuery("#users select").val();
331 user_ids = (typeof user_ids != "object" && user_ids * 1 > 0)? [user_ids]:user_ids;
332
333 var sno = jQuery("#manual_completions_learndash_table table tr:last-child .sno").text()*1 + 1;
334
335 if(typeof user_ids == "object" && user_ids != null && user_ids.length > 0)
336 jQuery.each(user_ids, function(i, user_id) {
337 if( user_id > 0 ) {
338 var data = {course_id:course_id, lesson_id:lesson_id, topic_id:topic_id, quiz_id:quiz_id, user_id: user_id};
339 sno += manual_completions_learndash_add_row(data, sno);
340 }
341 });
342
343 jQuery("#users select").val("");
344 }
345 function manual_completions_learndash_add_row(data, sno) {
346 var course_id = (typeof data.course_id == "undefined")? "":data.course_id;
347 var user_id = (typeof data.user_id == "undefined")? "":data.user_id;
348 var quiz_id = (typeof data.quiz_id == "undefined")? "":data.quiz_id;
349 var topic_id = (typeof data.topic_id == "undefined")? "":data.topic_id;
350 var lesson_id = (typeof data.lesson_id == "undefined")? "":data.lesson_id;
351
352 if(typeof course_structure[course_id] == "undefined" || lesson_id == "" && topic_id > 0 || lesson_id > 0 && (typeof course_structure[course_id]["lessons"] == "undefined" || typeof course_structure[course_id]["lessons"][lesson_id] == "undefined") || topic_id > 0 && (typeof course_structure[course_id]["lessons"][lesson_id]["topics"] == "undefined" || typeof course_structure[course_id]["lessons"][lesson_id]["topics"][topic_id] == "undefined"))
353 {
354 console.log("Invalid row: ", data);
355 return;
356 }
357
358 if( lesson_id > 0 && topic_id > 0 && quiz_id > 0 )
359 {
360 if( (typeof course_structure[course_id]["lessons"][lesson_id]["topics"][topic_id]["quizzes"] == "undefined" || typeof course_structure[course_id]["lessons"][lesson_id]["topics"][topic_id]["quizzes"][quiz_id] == "undefined")) {
361 console.log("Invalid row: ", data);
362 return;
363 }
364 }
365 else
366 if( lesson_id > 0 && quiz_id > 0 )
367 {
368 if((typeof course_structure[course_id]["lessons"][lesson_id]["quizzes"] == "undefined" || typeof course_structure[course_id]["lessons"][lesson_id]["quizzes"][quiz_id] == "undefined")) {
369 console.log("Invalid row: ", data);
370 return;
371 }
372 }
373 else
374 if( quiz_id > 0 )
375 {
376 if((typeof course_structure[course_id]["quizzes"] == "undefined" || typeof course_structure[course_id]["quizzes"][quiz_id] == "undefined" )) {
377 console.log("Invalid row: ", data);
378 return;
379 }
380 }
381
382
383 var key = "completion_" + course_id + "_" + lesson_id + "_" + topic_id + "_" + quiz_id + "_" + user_id;
384 data["row_id"] = key;
385
386 var row = "<tr id='" + key + "' data-completion='" + JSON.stringify(data) + "'>";
387
388 if(jQuery("#manual_completions_learndash_table #" + key).length == 0)
389 {
390 var user_label = jQuery("#users option[value=" + user_id+ "]").text();
391 row += "<td>" + "<input type='checkbox' name='" + key + "'>" + "</td>";
392 row += "<td class='sno'>" + sno + "</td>";
393 row += "<td>" + user_label + "</td>";
394 row += "<td>" + manual_completions_learndash_get_label("course", course_id, lesson_id, topic_id, quiz_id) + "</td>";
395 row += "<td>" + manual_completions_learndash_xapi_icon("lesson", data) + manual_completions_learndash_get_label("lesson", course_id, lesson_id, topic_id, quiz_id) + "</td>";
396 row += "<td>" + manual_completions_learndash_xapi_icon("topic", data) + manual_completions_learndash_get_label("topic", course_id, lesson_id, topic_id, quiz_id) + "</td>";
397 row += "<td>" + manual_completions_learndash_xapi_icon("quiz", data) + manual_completions_learndash_get_label("quiz", course_id, lesson_id, topic_id, quiz_id) + "</td>";
398 row += "<td>" + manual_completions_learndash_get_mark_complete_button(data) + "</td>";
399 row += "<td class='status'>" + "Not Processed" + "</td>";
400
401 if(jQuery(row).find(".has_xapi").length)
402 jQuery("#manual_completions_learndash_table .force_completion").slideDown();
403
404 jQuery("#manual_completions_learndash_table table").append(row);
405 manual_completions_learndash_update_total_count();
406 return true;
407 }
408
409 return false;
410 }
411 function manual_completions_learndash_update_total_count() {
412 jQuery("#manual_completions_learndash_table #list_count .count").text(jQuery("#manual_completions_learndash_table tr").length - 1);
413 }
414 function manual_completions_learndash_get_mark_complete_button(data) {
415 return " <a onclick='manual_completions_learndash_mark_complete(this)' class='button-secondary'>Mark Complete</a> " + " <a onclick='manual_completions_learndash_check_completion(this)' class='button-secondary'>Check Completion</a> " + " <a onclick='manual_completions_learndash_remove(this);' class='button-secondary'> X </a> ";
416 }
417 function manual_completions_learndash_remove(context) {
418 jQuery(context).closest("tr").attr("data-status", "remove");
419
420 setTimeout(function() {
421 jQuery(context).closest("tr").remove();
422 manual_completions_learndash_update_checked_count();
423 manual_completions_learndash_update_total_count();
424 }, 600);
425 }
426 function manual_completions_learndash_mark_complete(selected) {
427
428 if( jQuery("#manual_completions_learndash_table tr[data-status=processing]").length > 0 )
429 {
430 alert("Please wait for current queue to complete.");
431 return;
432 }
433
434 var completion_data = [];
435
436 if( selected != undefined )
437 var selected_completions = jQuery(selected).closest("tr");
438 else
439 var selected_completions = jQuery("#manual_completions_learndash_table input[type=checkbox]:not(#select_all):checked").closest("tr");
440
441 selected_completions.attr("data-status", "waiting");
442 selected_completions.find(".status").text("Waiting...");
443
444 var processing_completions = selected_completions.slice(0, 10);
445
446 processing_completions.each(function(i, context) {
447 completion_data[i] = jQuery(context).data("completion");
448
449 jQuery(context).attr("data-status", "processing");
450 jQuery(context).find(".status").text("Processing...");
451 jQuery(context).find("input[type=checkbox]").prop("checked", false).prop("disabled", true);
452 });
453
454 if(typeof completion_data != "object" || completion_data == null || completion_data.length == 0) {
455 alert("Nothing to process.");
456 return;
457 }
458
459
460 var data = {
461 "action" : "manual_completions_learndash_mark_complete",
462 "data" : completion_data,
463 "force_completion" : (jQuery("#force_completion").is(":checked")? 1:0)
464 };
465 jQuery.post(manual_completions_learndash.ajax_url, data)
466 .done(function( data ) {
467 console.error(data);
468
469 if(typeof data.data == "object")
470 jQuery.each(data.data, function(i, data) {
471 var context = "#" + data.row_id;
472 if( data.status == 1 )
473 jQuery(context).closest("tr").attr("data-status", "processed");
474 else
475 jQuery(context).closest("tr").attr("data-status", "failed");
476
477 if(typeof data.message == "string")
478 jQuery(context).closest("tr").find(".status").text(data.message);
479 else
480 jQuery(context).closest("tr").find(".status").text("Invalid Response");
481 });
482 })
483 .fail(function(xhr, status, error) {
484 console.log(xhr, status, error);
485 // jQuery(context).closest("tr").find(".status").text("Request Failed");
486 processing_completions.find(".status").text("Failed Request");
487 processing_completions.attr("data-status", "failed");
488 })
489 .always(function() {
490 manual_completions_learndash_update_checked_count();
491
492 setTimeout(function() {
493
494 var waiting = jQuery("#manual_completions_learndash_table tr[data-status=waiting]");
495 if(waiting.length > 0)
496 manual_completions_learndash_mark_complete( waiting );
497 else if( selected == undefined )
498 alert("All Completions Processed.");
499
500 }, 500);
501 });
502 }
503 function manual_completions_learndash_check_completion(selected) {
504
505 if( jQuery("#manual_completions_learndash_table tr[data-status=processing]").length > 0 )
506 {
507 alert("Please wait for current queue to complete.");
508 return;
509 }
510
511 var completion_data = [];
512
513 if( selected != undefined )
514 var selected_completions = jQuery(selected).closest("tr");
515 else
516 var selected_completions = jQuery("#manual_completions_learndash_table input[type=checkbox]:not(#select_all):checked").closest("tr");
517
518 selected_completions.attr("data-status", "waiting");
519 selected_completions.find(".status").text("Waiting...");
520
521 var processing_completions = selected_completions.slice(0, 10);
522
523 processing_completions.each(function(i, context) {
524 completion_data[i] = jQuery(context).data("completion");
525
526 jQuery(context).attr("data-status", "processing");
527 jQuery(context).find(".status").text("Processing...");
528 jQuery(context).find("input[type=checkbox]").prop("checked", false).prop("disabled", true);
529 });
530
531 if(typeof completion_data != "object" || completion_data == null || completion_data.length == 0) {
532 alert("Nothing to process.");
533 return;
534 }
535
536 var data = {
537 "action" : "manual_completions_learndash_check_completion",
538 "data" : completion_data
539 };
540 jQuery.post(manual_completions_learndash.ajax_url, data)
541 .done(function( data ) {
542 console.error(data);
543
544 if(typeof data.data == "object")
545 jQuery.each(data.data, function(i, data) {
546 var context = "#" + data.row_id;
547 if( data.status == 1 )
548 jQuery(context).closest("tr").attr("data-status", "checked");
549 else
550 jQuery(context).closest("tr").attr("data-status", "failed");
551
552 if(typeof data.message == "string")
553 jQuery(context).closest("tr").find(".status").text(data.message);
554 else
555 jQuery(context).closest("tr").find(".status").text("Invalid Response");
556
557 if(typeof data.completed != "undefined")
558 jQuery(context).closest("tr").attr("data-completed", data.completed? "completed":"not_completed");
559
560 if( data.completed != 1 )
561 jQuery(context).find("input[type=checkbox]").prop("disabled", false);
562 });
563
564 jQuery("#manual_completions_learndash_table tr[data-status=processing]").find(".status").text("Unknown Response");
565 jQuery("#manual_completions_learndash_table tr[data-status=processing]").attr("data-status", "failed");
566 jQuery("#manual_completions_learndash_table tr[data-status=processing] input[type=checkbox]").prop("disabled", false);
567
568 })
569 .fail(function(xhr, status, error) {
570 console.log(xhr, status, error);
571 // jQuery(context).closest("tr").find(".status").text("Request Failed");
572 processing_completions.find(".status").text("Failed Request");
573 processing_completions.attr("data-status", "failed");
574 processing_completions.find("input[type=checkbox]").prop("disabled", false);
575 })
576 .always(function() {
577 manual_completions_learndash_update_checked_count();
578
579 setTimeout(function() {
580
581 var waiting = jQuery("#manual_completions_learndash_table tr[data-status=waiting]");
582 if(waiting.length > 0)
583 manual_completions_learndash_check_completion( waiting );
584 else if( selected == undefined )
585 alert("All requests processed.");
586
587 }, 500);
588 });
589 }
590 function manual_completions_learndash_get_label(name, course_id, lesson_id, topic_id, quiz_id) {
591
592 switch(name) {
593 case "course" :
594 return course_id + ". " + course_structure[course_id].course.post_title;
595 case "lesson" :
596 if(lesson_id == "all")
597 {
598 return "-- Entire Course --";
599 }
600 return (lesson_id == "" || lesson_id == null)? lesson_id:lesson_id + ". " + course_structure[course_id]["lessons"][lesson_id].lesson.post_title;
601 case "quiz" :
602 if(quiz_id == "" || quiz_id == null)
603 return quiz_id;
604
605
606 if(topic_id > 0 && lesson_id > 0 && typeof course_structure[course_id]["lessons"][lesson_id]["topics"][topic_id]["quizzes"] == "object" && typeof course_structure[course_id]["lessons"][lesson_id]["topics"][topic_id]["quizzes"][quiz_id] == "object")
607 return quiz_id + ". " + course_structure[course_id]["lessons"][lesson_id]["topics"][topic_id]["quizzes"][quiz_id].quiz.post_title;
608
609 if(lesson_id > 0 && typeof course_structure[course_id]["lessons"][lesson_id]["quizzes"] == "object" && typeof course_structure[course_id]["lessons"][lesson_id]["quizzes"][quiz_id] == "object")
610 return quiz_id + ". " + course_structure[course_id]["lessons"][lesson_id]["quizzes"][quiz_id].quiz.post_title;
611
612 if(typeof course_structure[course_id].quizzes == "object" && typeof course_structure[course_id].quizzes[quiz_id] == "object" )
613 return quiz_id + ". " + course_structure[course_id].quizzes[quiz_id].quiz.post_title;
614
615 return quiz_id;
616 case "topic" :
617 if(topic_id == "all")
618 {
619 return "-- Entire Lesson --";
620 }
621 return (lesson_id == "" || lesson_id == null || topic_id == "" || topic_id == null)? topic_id:topic_id + ". " + course_structure[course_id]["lessons"][lesson_id]["topics"][topic_id].topic.post_title;
622 }
623 return "";
624 }
625
626 function grassblade_learndash_activate_plugin(url) {
627 jQuery.get(url, function(data) {
628 window.location.reload();
629 });
630 return false;
631 }
632
633 function manual_completions_learndash_get_enrolled_users() {
634 var course_id = jQuery("#course_id").val();
635 var lesson_id = jQuery("#lesson_id").val();
636 var topic_id = jQuery("#topic_id").val();
637 var quiz_id = jQuery("#quiz_id").val();
638
639 if(course_id == "")
640 return;
641
642 if(lesson_id == "" && topic_id == "" && quiz_id == "")
643 lesson_id = "all";
644
645 var data = {
646 "action" : "manual_completions_learndash_get_enrolled_users",
647 "course_id" : course_id,
648 };
649
650 jQuery.post(manual_completions_learndash.ajax_url, data)
651 .done(function( data ) {
652 //console.error(data);
653 var old_sno = jQuery("#manual_completions_learndash_table tr:last .sno").text()*1;
654 var sno = 0;
655 if(typeof data.data == "object")
656 jQuery.each(data.data, function(i, user_id) {
657 var d = {
658 user_id: user_id,
659 course_id: data.course_id,
660 lesson_id: lesson_id,
661 topic_id: topic_id,
662 quiz_id: quiz_id,
663 };
664 manual_completions_learndash_add_row(d, old_sno + ++sno);
665 });
666
667 if(sno > 0)
668 alert("Found " + sno + " users.");
669 else
670 alert("No users found");
671 });
672 }
...\ No newline at end of file ...\ No newline at end of file
1 #manual_completions_learndash hr {
2 max-width: 90%;
3 margin-left: 0px;
4 border-top: 1px solid #62A21D;
5 margin-bottom: 20px;
6 }
7 .manual_completions_learndash_requirements .text{
8 font-weight: 400;
9 font-size: 15px;
10 }
11 .manual_completions_learndash_requirements .requirements {
12 font-weight: 500;
13 font-size: 16px;
14 }
15 .manual_completions_learndash_requirements table {
16 border-collapse: collapse;
17 min-width: 40%;
18 text-align: center;
19 }
20 .manual_completions_learndash_requirements thead {
21 background-color: #83BA39;
22 }
23 .manual_completions_learndash_requirements table {
24 border: 1px solid #ddd;
25 }
26 .manual_completions_learndash_requirements td{
27 padding: 18px;
28 border: 1px solid #ddd;
29 }
30 .manual_completions_learndash_requirements th {
31 border: 1px solid #ddd;
32 padding: 8px;
33 }
34 .manual_completions_learndash_requirements .links {
35 text-decoration: none;
36 margin-top: 10px !important;
37 color: #000000;
38 }
39 .manual_completions_learndash_requirements .buy-btn {
40 margin: 10px 0px 5px 0px !important;
41 text-transform: capitalize !important;
42 border-top: 1px solid #e6c628 !important;
43 background: -webkit-linear-gradient(top,#e6c628,#82ba39) !important;
44 padding: 7.5px 15px !important;
45 border-radius: 9px !important;
46 text-shadow: rgba(0,0,0,.4) 0 1px 0 !important;
47 color: white !important;
48 font-size: 14px !important;
49 font-weight: bold !important;
50 font-family: Arial,serif !important;
51 text-decoration: none !important;
52 vertical-align: middle !important;
53 }
54 #manual_completions_learndash img {
55 vertical-align: middle;
56 }
57 #manual_completions_learndash > h2 {
58 margin-bottom: 5px;
59 }
60
61
62 #manual_completions_learndash, .manual_completions_learndash {
63 padding: 30px;
64 background: white;
65 margin: 50px;
66 border-radius: 5px;
67 }
68 #manual_completions_learndash select, #manual_completions_learndash #users input {
69 width: 100%;
70 max-width: 100%;
71 height: 28px;
72 line-height: 28px;
73 }
74 #process_completions {
75 margin-bottom: 20px;
76 }
77 #manual_completions_learndash_table .grassblade_table tr td {
78 background: #fdefc9 !important;
79 color: #333 !important;
80 }
81 #manual_completions_learndash_table .grassblade_table tr td {
82 background: #fdefc9 !important;
83 }
84
85 #manual_completions_learndash_table .grassblade_table tr[data-completed=not_completed] td {
86 background: #ffda87 !important;
87 }
88
89 #manual_completions_learndash_table .grassblade_table tr[data-status=processed] td {
90 background: #befcb3 !important;
91 }
92 #manual_completions_learndash_table .grassblade_table tr[data-status=processing] td {
93 background: #b0a3f8 !important;
94 }
95 #manual_completions_learndash_table .grassblade_table tr[data-status=waiting] td {
96 background: #c3e3ff !important;
97 }
98 #manual_completions_learndash_table .grassblade_table tr[data-status=failed] td {
99 background: #ffc3c3 !important;
100 }
101 #manual_completions_learndash_table .grassblade_table tr[data-status=remove] td {
102 opacity: 0.1;
103 }
104 #manual_completions_learndash_table .grassblade_table tr[data-completed=completed] td {
105 background: #befcb3 !important;
106 }
107 #manual_completions_learndash_table .has_xapi {
108 width: 15px;
109 height: 15px;
110 display: inline-block;
111 float: right;
112 }
113 #manual_completions_learndash_table .force_completion {
114 display: none;
115 margin: 20px;
116 }
117 #manual_completions_learndash_table span#list_count {
118 line-height: 28px;
119 padding-left: 20px;
120 }
121
1 [*]
2 indent_style = space
3 end_of_line = lf
4
5 [*.js]
6 indent_size = 2
1 src/js/banner.*.js
2 src/js/wrapper.*.js
3 tests/vendor/*.js
4 tests/helpers.js
1 {
2 "bitwise": true,
3 "camelcase": true,
4 "curly": true,
5 "es3": true,
6 "eqnull": true,
7 "freeze": true,
8 "globals": {
9 "console": false,
10 "define": false,
11 "document": false,
12 "MockContainer": false,
13 "module": false,
14 "QUnit": false,
15 "require": false,
16 "test": false,
17 "window": false
18 },
19 "indent": 2,
20 "maxlen": 80,
21 "noarg": true,
22 "nonew": true,
23 "quotmark": "single",
24 "undef": true
25 }
1 .select2-container {
2 box-sizing: border-box;
3 display: inline-block;
4 margin: 0;
5 position: relative;
6 vertical-align: middle; }
7 .select2-container .select2-selection--single {
8 box-sizing: border-box;
9 cursor: pointer;
10 display: block;
11 height: 28px;
12 user-select: none;
13 -webkit-user-select: none; }
14 .select2-container .select2-selection--single .select2-selection__rendered {
15 display: block;
16 padding-left: 8px;
17 padding-right: 20px;
18 overflow: hidden;
19 text-overflow: ellipsis;
20 white-space: nowrap; }
21 .select2-container .select2-selection--single .select2-selection__clear {
22 position: relative; }
23 .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
24 padding-right: 8px;
25 padding-left: 20px; }
26 .select2-container .select2-selection--multiple {
27 box-sizing: border-box;
28 cursor: pointer;
29 display: block;
30 min-height: 32px;
31 user-select: none;
32 -webkit-user-select: none; }
33 .select2-container .select2-selection--multiple .select2-selection__rendered {
34 display: inline-block;
35 overflow: hidden;
36 padding-left: 8px;
37 text-overflow: ellipsis;
38 white-space: nowrap; }
39 .select2-container .select2-search--inline {
40 float: left; }
41 .select2-container .select2-search--inline .select2-search__field {
42 box-sizing: border-box;
43 border: none;
44 font-size: 100%;
45 margin-top: 5px;
46 padding: 0; }
47 .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
48 -webkit-appearance: none; }
49
50 .select2-dropdown {
51 background-color: white;
52 border: 1px solid #aaa;
53 border-radius: 4px;
54 box-sizing: border-box;
55 display: block;
56 position: absolute;
57 left: -100000px;
58 width: 100%;
59 z-index: 1051; }
60
61 .select2-results {
62 display: block; }
63
64 .select2-results__options {
65 list-style: none;
66 margin: 0;
67 padding: 0; }
68
69 .select2-results__option {
70 padding: 6px;
71 user-select: none;
72 -webkit-user-select: none; }
73 .select2-results__option[aria-selected] {
74 cursor: pointer; }
75
76 .select2-container--open .select2-dropdown {
77 left: 0; }
78
79 .select2-container--open .select2-dropdown--above {
80 border-bottom: none;
81 border-bottom-left-radius: 0;
82 border-bottom-right-radius: 0; }
83
84 .select2-container--open .select2-dropdown--below {
85 border-top: none;
86 border-top-left-radius: 0;
87 border-top-right-radius: 0; }
88
89 .select2-search--dropdown {
90 display: block;
91 padding: 4px; }
92 .select2-search--dropdown .select2-search__field {
93 padding: 4px;
94 width: 100%;
95 box-sizing: border-box; }
96 .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
97 -webkit-appearance: none; }
98 .select2-search--dropdown.select2-search--hide {
99 display: none; }
100
101 .select2-close-mask {
102 border: 0;
103 margin: 0;
104 padding: 0;
105 display: block;
106 position: fixed;
107 left: 0;
108 top: 0;
109 min-height: 100%;
110 min-width: 100%;
111 height: auto;
112 width: auto;
113 opacity: 0;
114 z-index: 99;
115 background-color: #fff;
116 filter: alpha(opacity=0); }
117
118 .select2-hidden-accessible {
119 border: 0 !important;
120 clip: rect(0 0 0 0) !important;
121 -webkit-clip-path: inset(50%) !important;
122 clip-path: inset(50%) !important;
123 height: 1px !important;
124 overflow: hidden !important;
125 padding: 0 !important;
126 position: absolute !important;
127 width: 1px !important;
128 white-space: nowrap !important; }
129
130 .select2-container--default .select2-selection--single {
131 background-color: #fff;
132 border: 1px solid #aaa;
133 border-radius: 4px; }
134 .select2-container--default .select2-selection--single .select2-selection__rendered {
135 color: #444;
136 line-height: 28px; }
137 .select2-container--default .select2-selection--single .select2-selection__clear {
138 cursor: pointer;
139 float: right;
140 font-weight: bold; }
141 .select2-container--default .select2-selection--single .select2-selection__placeholder {
142 color: #999; }
143 .select2-container--default .select2-selection--single .select2-selection__arrow {
144 height: 26px;
145 position: absolute;
146 top: 1px;
147 right: 1px;
148 width: 20px; }
149 .select2-container--default .select2-selection--single .select2-selection__arrow b {
150 border-color: #888 transparent transparent transparent;
151 border-style: solid;
152 border-width: 5px 4px 0 4px;
153 height: 0;
154 left: 50%;
155 margin-left: -4px;
156 margin-top: -2px;
157 position: absolute;
158 top: 50%;
159 width: 0; }
160
161 .select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
162 float: left; }
163
164 .select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
165 left: 1px;
166 right: auto; }
167
168 .select2-container--default.select2-container--disabled .select2-selection--single {
169 background-color: #eee;
170 cursor: default; }
171 .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
172 display: none; }
173
174 .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
175 border-color: transparent transparent #888 transparent;
176 border-width: 0 4px 5px 4px; }
177
178 .select2-container--default .select2-selection--multiple {
179 background-color: white;
180 border: 1px solid #aaa;
181 border-radius: 4px;
182 cursor: text; }
183 .select2-container--default .select2-selection--multiple .select2-selection__rendered {
184 box-sizing: border-box;
185 list-style: none;
186 margin: 0;
187 padding: 0 5px;
188 width: 100%; }
189 .select2-container--default .select2-selection--multiple .select2-selection__rendered li {
190 list-style: none; }
191 .select2-container--default .select2-selection--multiple .select2-selection__clear {
192 cursor: pointer;
193 float: right;
194 font-weight: bold;
195 margin-top: 5px;
196 margin-right: 10px;
197 padding: 1px; }
198 .select2-container--default .select2-selection--multiple .select2-selection__choice {
199 background-color: #e4e4e4;
200 border: 1px solid #aaa;
201 border-radius: 4px;
202 cursor: default;
203 float: left;
204 margin-right: 5px;
205 margin-top: 5px;
206 padding: 0 5px; }
207 .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
208 color: #999;
209 cursor: pointer;
210 display: inline-block;
211 font-weight: bold;
212 margin-right: 2px; }
213 .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
214 color: #333; }
215
216 .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
217 float: right; }
218
219 .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
220 margin-left: 5px;
221 margin-right: auto; }
222
223 .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
224 margin-left: 2px;
225 margin-right: auto; }
226
227 .select2-container--default.select2-container--focus .select2-selection--multiple {
228 border: solid black 1px;
229 outline: 0; }
230
231 .select2-container--default.select2-container--disabled .select2-selection--multiple {
232 background-color: #eee;
233 cursor: default; }
234
235 .select2-container--default.select2-container--disabled .select2-selection__choice__remove {
236 display: none; }
237
238 .select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
239 border-top-left-radius: 0;
240 border-top-right-radius: 0; }
241
242 .select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
243 border-bottom-left-radius: 0;
244 border-bottom-right-radius: 0; }
245
246 .select2-container--default .select2-search--dropdown .select2-search__field {
247 border: 1px solid #aaa; }
248
249 .select2-container--default .select2-search--inline .select2-search__field {
250 background: transparent;
251 border: none;
252 outline: 0;
253 box-shadow: none;
254 -webkit-appearance: textfield; }
255
256 .select2-container--default .select2-results > .select2-results__options {
257 max-height: 200px;
258 overflow-y: auto; }
259
260 .select2-container--default .select2-results__option[role=group] {
261 padding: 0; }
262
263 .select2-container--default .select2-results__option[aria-disabled=true] {
264 color: #999; }
265
266 .select2-container--default .select2-results__option[aria-selected=true] {
267 background-color: #ddd; }
268
269 .select2-container--default .select2-results__option .select2-results__option {
270 padding-left: 1em; }
271 .select2-container--default .select2-results__option .select2-results__option .select2-results__group {
272 padding-left: 0; }
273 .select2-container--default .select2-results__option .select2-results__option .select2-results__option {
274 margin-left: -1em;
275 padding-left: 2em; }
276 .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
277 margin-left: -2em;
278 padding-left: 3em; }
279 .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
280 margin-left: -3em;
281 padding-left: 4em; }
282 .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
283 margin-left: -4em;
284 padding-left: 5em; }
285 .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
286 margin-left: -5em;
287 padding-left: 6em; }
288
289 .select2-container--default .select2-results__option--highlighted[aria-selected] {
290 background-color: #5897fb;
291 color: white; }
292
293 .select2-container--default .select2-results__group {
294 cursor: default;
295 display: block;
296 padding: 6px; }
297
298 .select2-container--classic .select2-selection--single {
299 background-color: #f7f7f7;
300 border: 1px solid #aaa;
301 border-radius: 4px;
302 outline: 0;
303 background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%);
304 background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%);
305 background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
306 background-repeat: repeat-x;
307 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
308 .select2-container--classic .select2-selection--single:focus {
309 border: 1px solid #5897fb; }
310 .select2-container--classic .select2-selection--single .select2-selection__rendered {
311 color: #444;
312 line-height: 28px; }
313 .select2-container--classic .select2-selection--single .select2-selection__clear {
314 cursor: pointer;
315 float: right;
316 font-weight: bold;
317 margin-right: 10px; }
318 .select2-container--classic .select2-selection--single .select2-selection__placeholder {
319 color: #999; }
320 .select2-container--classic .select2-selection--single .select2-selection__arrow {
321 background-color: #ddd;
322 border: none;
323 border-left: 1px solid #aaa;
324 border-top-right-radius: 4px;
325 border-bottom-right-radius: 4px;
326 height: 26px;
327 position: absolute;
328 top: 1px;
329 right: 1px;
330 width: 20px;
331 background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
332 background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
333 background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
334 background-repeat: repeat-x;
335 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); }
336 .select2-container--classic .select2-selection--single .select2-selection__arrow b {
337 border-color: #888 transparent transparent transparent;
338 border-style: solid;
339 border-width: 5px 4px 0 4px;
340 height: 0;
341 left: 50%;
342 margin-left: -4px;
343 margin-top: -2px;
344 position: absolute;
345 top: 50%;
346 width: 0; }
347
348 .select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
349 float: left; }
350
351 .select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
352 border: none;
353 border-right: 1px solid #aaa;
354 border-radius: 0;
355 border-top-left-radius: 4px;
356 border-bottom-left-radius: 4px;
357 left: 1px;
358 right: auto; }
359
360 .select2-container--classic.select2-container--open .select2-selection--single {
361 border: 1px solid #5897fb; }
362 .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
363 background: transparent;
364 border: none; }
365 .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
366 border-color: transparent transparent #888 transparent;
367 border-width: 0 4px 5px 4px; }
368
369 .select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
370 border-top: none;
371 border-top-left-radius: 0;
372 border-top-right-radius: 0;
373 background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%);
374 background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);
375 background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
376 background-repeat: repeat-x;
377 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
378
379 .select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
380 border-bottom: none;
381 border-bottom-left-radius: 0;
382 border-bottom-right-radius: 0;
383 background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%);
384 background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%);
385 background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
386 background-repeat: repeat-x;
387 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); }
388
389 .select2-container--classic .select2-selection--multiple {
390 background-color: white;
391 border: 1px solid #aaa;
392 border-radius: 4px;
393 cursor: text;
394 outline: 0; }
395 .select2-container--classic .select2-selection--multiple:focus {
396 border: 1px solid #5897fb; }
397 .select2-container--classic .select2-selection--multiple .select2-selection__rendered {
398 list-style: none;
399 margin: 0;
400 padding: 0 5px; }
401 .select2-container--classic .select2-selection--multiple .select2-selection__clear {
402 display: none; }
403 .select2-container--classic .select2-selection--multiple .select2-selection__choice {
404 background-color: #e4e4e4;
405 border: 1px solid #aaa;
406 border-radius: 4px;
407 cursor: default;
408 float: left;
409 margin-right: 5px;
410 margin-top: 5px;
411 padding: 0 5px; }
412 .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
413 color: #888;
414 cursor: pointer;
415 display: inline-block;
416 font-weight: bold;
417 margin-right: 2px; }
418 .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
419 color: #555; }
420
421 .select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
422 float: right;
423 margin-left: 5px;
424 margin-right: auto; }
425
426 .select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
427 margin-left: 2px;
428 margin-right: auto; }
429
430 .select2-container--classic.select2-container--open .select2-selection--multiple {
431 border: 1px solid #5897fb; }
432
433 .select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
434 border-top: none;
435 border-top-left-radius: 0;
436 border-top-right-radius: 0; }
437
438 .select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
439 border-bottom: none;
440 border-bottom-left-radius: 0;
441 border-bottom-right-radius: 0; }
442
443 .select2-container--classic .select2-search--dropdown .select2-search__field {
444 border: 1px solid #aaa;
445 outline: 0; }
446
447 .select2-container--classic .select2-search--inline .select2-search__field {
448 outline: 0;
449 box-shadow: none; }
450
451 .select2-container--classic .select2-dropdown {
452 background-color: white;
453 border: 1px solid transparent; }
454
455 .select2-container--classic .select2-dropdown--above {
456 border-bottom: none; }
457
458 .select2-container--classic .select2-dropdown--below {
459 border-top: none; }
460
461 .select2-container--classic .select2-results > .select2-results__options {
462 max-height: 200px;
463 overflow-y: auto; }
464
465 .select2-container--classic .select2-results__option[role=group] {
466 padding: 0; }
467
468 .select2-container--classic .select2-results__option[aria-disabled=true] {
469 color: grey; }
470
471 .select2-container--classic .select2-results__option--highlighted[aria-selected] {
472 background-color: #3875d7;
473 color: white; }
474
475 .select2-container--classic .select2-results__group {
476 cursor: default;
477 display: block;
478 padding: 6px; }
479
480 .select2-container--classic.select2-container--open .select2-dropdown {
481 border-color: #5897fb; }
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__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px;padding:1px}.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-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}
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/af",[],function(){return{errorLoading:function(){return"Die resultate kon nie gelaai word nie."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Verwyders asseblief "+n+" character";return 1!=n&&(r+="s"),r},inputTooShort:function(e){return"Voer asseblief "+(e.minimum-e.input.length)+" of meer karakters"},loadingMore:function(){return"Meer resultate word gelaai…"},maximumSelected:function(e){var n="Kies asseblief net "+e.maximum+" item";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"Geen resultate gevind"},searching:function(){return"Besig…"},removeAllItems:function(){return"Verwyder alle items"}}}),e.define,e.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(n){return"الرجاء حذف "+(n.input.length-n.maximum)+" عناصر"},inputTooShort:function(n){return"الرجاء إضافة "+(n.minimum-n.input.length)+" عناصر"},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(n){return"تستطيع إختيار "+n.maximum+" بنود فقط"},noResults:function(){return"لم يتم العثور على أي نتائج"},searching:function(){return"جاري البحث…"},removeAllItems:function(){return"قم بإزالة كل العناصر"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/az",[],function(){return{inputTooLong:function(n){return n.input.length-n.maximum+" simvol silin"},inputTooShort:function(n){return n.minimum-n.input.length+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(n){return"Sadəcə "+n.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"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/bg",[],function(){return{inputTooLong:function(n){var e=n.input.length-n.maximum,u="Моля въведете с "+e+" по-малко символ";return e>1&&(u+="a"),u},inputTooShort:function(n){var e=n.minimum-n.input.length,u="Моля въведете още "+e+" символ";return e>1&&(u+="a"),u},loadingMore:function(){return"Зареждат се още…"},maximumSelected:function(n){var e="Можете да направите до "+n.maximum+" ";return n.maximum>1?e+="избора":e+="избор",e},noResults:function(){return"Няма намерени съвпадения"},searching:function(){return"Търсене…"},removeAllItems:function(){return"Премахнете всички елементи"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/bn",[],function(){return{errorLoading:function(){return"ফলাফলগুলি লোড করা যায়নি।"},inputTooLong:function(n){var e=n.input.length-n.maximum,u="অনুগ্রহ করে "+e+" টি অক্ষর মুছে দিন।";return 1!=e&&(u="অনুগ্রহ করে "+e+" টি অক্ষর মুছে দিন।"),u},inputTooShort:function(n){return n.minimum-n.input.length+" টি অক্ষর অথবা অধিক অক্ষর লিখুন।"},loadingMore:function(){return"আরো ফলাফল লোড হচ্ছে ..."},maximumSelected:function(n){var e=n.maximum+" টি আইটেম নির্বাচন করতে পারবেন।";return 1!=n.maximum&&(e=n.maximum+" টি আইটেম নির্বাচন করতে পারবেন।"),e},noResults:function(){return"কোন ফলাফল পাওয়া যায়নি।"},searching:function(){return"অনুসন্ধান করা হচ্ছে ..."}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/bs",[],function(){function e(e,n,r,t){return e%10==1&&e%100!=11?n:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?r:t}return{errorLoading:function(){return"Preuzimanje nije uspijelo."},inputTooLong:function(n){var r=n.input.length-n.maximum,t="Obrišite "+r+" simbol";return t+=e(r,"","a","a")},inputTooShort:function(n){var r=n.minimum-n.input.length,t="Ukucajte bar još "+r+" simbol";return t+=e(r,"","a","a")},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(n){var r="Možete izabrati samo "+n.maximum+" stavk";return r+=e(n.maximum,"u","e","i")},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Uklonite sve stavke"}}}),e.define,e.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La càrrega ha fallat"},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Si us plau, elimina "+n+" car";return r+=1==n?"àcter":"àcters"},inputTooShort:function(e){var n=e.minimum-e.input.length,r="Si us plau, introdueix "+n+" car";return r+=1==n?"àcter":"àcters"},loadingMore:function(){return"Carregant més resultats…"},maximumSelected:function(e){var n="Només es pot seleccionar "+e.maximum+" element";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"},removeAllItems:function(){return"Treu tots els elements"}}}),e.define,e.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/cs",[],function(){function e(e,n){switch(e){case 2:return n?"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(n){var t=n.input.length-n.maximum;return 1==t?"Prosím, zadejte o jeden znak méně.":t<=4?"Prosím, zadejte o "+e(t,!0)+" znaky méně.":"Prosím, zadejte o "+t+" znaků méně."},inputTooShort:function(n){var t=n.minimum-n.input.length;return 1==t?"Prosím, zadejte ještě jeden znak.":t<=4?"Prosím, zadejte ještě další "+e(t,!0)+" znaky.":"Prosím, zadejte ještě dalších "+t+" znaků."},loadingMore:function(){return"Načítají se další výsledky…"},maximumSelected:function(n){var t=n.maximum;return 1==t?"Můžete zvolit jen jednu položku.":t<=4?"Můžete zvolit maximálně "+e(t,!1)+" položky.":"Můžete zvolit maximálně "+t+" položek."},noResults:function(){return"Nenalezeny žádné položky."},searching:function(){return"Vyhledávání…"},removeAllItems:function(){return"Odstraňte všechny položky"}}}),e.define,e.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/da",[],function(){return{errorLoading:function(){return"Resultaterne kunne ikke indlæses."},inputTooLong:function(e){return"Angiv venligst "+(e.input.length-e.maximum)+" tegn mindre"},inputTooShort:function(e){return"Angiv venligst "+(e.minimum-e.input.length)+" tegn mere"},loadingMore:function(){return"Indlæser flere resultater…"},maximumSelected:function(e){var n="Du kan kun vælge "+e.maximum+" emne";return 1!=e.maximum&&(n+="r"),n},noResults:function(){return"Ingen resultater fundet"},searching:function(){return"Søger…"},removeAllItems:function(){return"Fjern alle elementer"}}}),e.define,e.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/de",[],function(){return{errorLoading:function(){return"Die Ergebnisse konnten nicht geladen werden."},inputTooLong:function(e){return"Bitte "+(e.input.length-e.maximum)+" Zeichen weniger eingeben"},inputTooShort:function(e){return"Bitte "+(e.minimum-e.input.length)+" Zeichen mehr eingeben"},loadingMore:function(){return"Lade mehr Ergebnisse…"},maximumSelected:function(e){var n="Sie können nur "+e.maximum+" Element";return 1!=e.maximum&&(n+="e"),n+=" auswählen"},noResults:function(){return"Keine Übereinstimmungen gefunden"},searching:function(){return"Suche…"},removeAllItems:function(){return"Entferne alle Elemente"}}}),e.define,e.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/dsb",[],function(){var n=["znamuško","znamušce","znamuška","znamuškow"],e=["zapisk","zapiska","zapiski","zapiskow"],u=function(n,e){return 1===n?e[0]:2===n?e[1]:n>2&&n<=4?e[2]:n>=5?e[3]:void 0};return{errorLoading:function(){return"Wuslědki njejsu se dali zacytaś."},inputTooLong:function(e){var a=e.input.length-e.maximum;return"Pšosym lašuj "+a+" "+u(a,n)},inputTooShort:function(e){var a=e.minimum-e.input.length;return"Pšosym zapódaj nanejmjenjej "+a+" "+u(a,n)},loadingMore:function(){return"Dalšne wuslědki se zacytaju…"},maximumSelected:function(n){return"Móžoš jano "+n.maximum+" "+u(n.maximum,e)+"wubraś."},noResults:function(){return"Žedne wuslědki namakane"},searching:function(){return"Pyta se…"},removeAllItems:function(){return"Remove all items"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/el",[],function(){return{errorLoading:function(){return"Τα αποτελέσματα δεν μπόρεσαν να φορτώσουν."},inputTooLong:function(n){var e=n.input.length-n.maximum,u="Παρακαλώ διαγράψτε "+e+" χαρακτήρ";return 1==e&&(u+="α"),1!=e&&(u+="ες"),u},inputTooShort:function(n){return"Παρακαλώ συμπληρώστε "+(n.minimum-n.input.length)+" ή περισσότερους χαρακτήρες"},loadingMore:function(){return"Φόρτωση περισσότερων αποτελεσμάτων…"},maximumSelected:function(n){var e="Μπορείτε να επιλέξετε μόνο "+n.maximum+" επιλογ";return 1==n.maximum&&(e+="ή"),1!=n.maximum&&(e+="ές"),e},noResults:function(){return"Δεν βρέθηκαν αποτελέσματα"},searching:function(){return"Αναζήτηση…"},removeAllItems:function(){return"Καταργήστε όλα τα στοιχεία"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Please delete "+n+" character";return 1!=n&&(r+="s"),r},inputTooShort:function(e){return"Please enter "+(e.minimum-e.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var n="You can only select "+e.maximum+" item";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No results found"},searching:function(){return"Searching…"},removeAllItems:function(){return"Remove all items"}}}),e.define,e.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"No se pudieron cargar los resultados"},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Por favor, elimine "+n+" car";return r+=1==n?"ácter":"acteres"},inputTooShort:function(e){var n=e.minimum-e.input.length,r="Por favor, introduzca "+n+" car";return r+=1==n?"ácter":"acteres"},loadingMore:function(){return"Cargando más resultados…"},maximumSelected:function(e){var n="Sólo puede seleccionar "+e.maximum+" elemento";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Eliminar todos los elementos"}}}),e.define,e.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/et",[],function(){return{inputTooLong:function(e){var n=e.input.length-e.maximum,t="Sisesta "+n+" täht";return 1!=n&&(t+="e"),t+=" vähem"},inputTooShort:function(e){var n=e.minimum-e.input.length,t="Sisesta "+n+" täht";return 1!=n&&(t+="e"),t+=" rohkem"},loadingMore:function(){return"Laen tulemusi…"},maximumSelected:function(e){var n="Saad vaid "+e.maximum+" tulemus";return 1==e.maximum?n+="e":n+="t",n+=" valida"},noResults:function(){return"Tulemused puuduvad"},searching:function(){return"Otsin…"},removeAllItems:function(){return"Eemalda kõik esemed"}}}),e.define,e.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/eu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Idatzi ";return n+=1==t?"karaktere bat":t+" karaktere",n+=" gutxiago"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Idatzi ";return n+=1==t?"karaktere bat":t+" karaktere",n+=" gehiago"},loadingMore:function(){return"Emaitza gehiago kargatzen…"},maximumSelected:function(e){return 1===e.maximum?"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"}}}),e.define,e.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/fa",[],function(){return{errorLoading:function(){return"امکان بارگذاری نتایج وجود ندارد."},inputTooLong:function(n){return"لطفاً "+(n.input.length-n.maximum)+" کاراکتر را حذف نمایید"},inputTooShort:function(n){return"لطفاً تعداد "+(n.minimum-n.input.length)+" کاراکتر یا بیشتر وارد نمایید"},loadingMore:function(){return"در حال بارگذاری نتایج بیشتر..."},maximumSelected:function(n){return"شما تنها می‌توانید "+n.maximum+" آیتم را انتخاب نمایید"},noResults:function(){return"هیچ نتیجه‌ای یافت نشد"},searching:function(){return"در حال جستجو..."},removeAllItems:function(){return"همه موارد را حذف کنید"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/fi",[],function(){return{errorLoading:function(){return"Tuloksia ei saatu ladattua."},inputTooLong:function(n){return"Ole hyvä ja anna "+(n.input.length-n.maximum)+" merkkiä vähemmän"},inputTooShort:function(n){return"Ole hyvä ja anna "+(n.minimum-n.input.length)+" merkkiä lisää"},loadingMore:function(){return"Ladataan lisää tuloksia…"},maximumSelected:function(n){return"Voit valita ainoastaan "+n.maximum+" kpl"},noResults:function(){return"Ei tuloksia"},searching:function(){return"Haetaan…"},removeAllItems:function(){return"Poista kaikki kohteet"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/fr",[],function(){return{errorLoading:function(){return"Les résultats ne peuvent pas être chargés."},inputTooLong:function(e){var n=e.input.length-e.maximum;return"Supprimez "+n+" caractère"+(n>1?"s":"")},inputTooShort:function(e){var n=e.minimum-e.input.length;return"Saisissez au moins "+n+" caractère"+(n>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 éléments"}}}),e.define,e.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/gl",[],function(){return{errorLoading:function(){return"Non foi posíbel cargar os resultados."},inputTooLong:function(e){var n=e.input.length-e.maximum;return 1===n?"Elimine un carácter":"Elimine "+n+" caracteres"},inputTooShort:function(e){var n=e.minimum-e.input.length;return 1===n?"Engada un carácter":"Engada "+n+" caracteres"},loadingMore:function(){return"Cargando máis resultados…"},maximumSelected:function(e){return 1===e.maximum?"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"}}}),e.define,e.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/he",[],function(){return{errorLoading:function(){return"שגיאה בטעינת התוצאות"},inputTooLong:function(n){var e=n.input.length-n.maximum,r="נא למחוק ";return r+=1===e?"תו אחד":e+" תווים"},inputTooShort:function(n){var e=n.minimum-n.input.length,r="נא להכניס ";return r+=1===e?"תו אחד":e+" תווים",r+=" או יותר"},loadingMore:function(){return"טוען תוצאות נוספות…"},maximumSelected:function(n){var e="באפשרותך לבחור עד ";return 1===n.maximum?e+="פריט אחד":e+=n.maximum+" פריטים",e},noResults:function(){return"לא נמצאו תוצאות"},searching:function(){return"מחפש…"},removeAllItems:function(){return"הסר את כל הפריטים"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hi",[],function(){return{errorLoading:function(){return"परिणामों को लोड नहीं किया जा सका।"},inputTooLong:function(n){var e=n.input.length-n.maximum,r=e+" अक्षर को हटा दें";return e>1&&(r=e+" अक्षरों को हटा दें "),r},inputTooShort:function(n){return"कृपया "+(n.minimum-n.input.length)+" या अधिक अक्षर दर्ज करें"},loadingMore:function(){return"अधिक परिणाम लोड हो रहे है..."},maximumSelected:function(n){return"आप केवल "+n.maximum+" आइटम का चयन कर सकते हैं"},noResults:function(){return"कोई परिणाम नहीं मिला"},searching:function(){return"खोज रहा है..."},removeAllItems:function(){return"सभी वस्तुओं को हटा दें"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hr",[],function(){function n(n){var e=" "+n+" znak";return n%10<5&&n%10>0&&(n%100<5||n%100>19)?n%10>1&&(e+="a"):e+="ova",e}return{errorLoading:function(){return"Preuzimanje nije uspjelo."},inputTooLong:function(e){return"Unesite "+n(e.input.length-e.maximum)},inputTooShort:function(e){return"Unesite još "+n(e.minimum-e.input.length)},loadingMore:function(){return"Učitavanje rezultata…"},maximumSelected:function(n){return"Maksimalan broj odabranih stavki je "+n.maximum},noResults:function(){return"Nema rezultata"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Ukloni sve stavke"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hsb",[],function(){var n=["znamješko","znamješce","znamješka","znamješkow"],e=["zapisk","zapiskaj","zapiski","zapiskow"],u=function(n,e){return 1===n?e[0]:2===n?e[1]:n>2&&n<=4?e[2]:n>=5?e[3]:void 0};return{errorLoading:function(){return"Wuslědki njedachu so začitać."},inputTooLong:function(e){var a=e.input.length-e.maximum;return"Prošu zhašej "+a+" "+u(a,n)},inputTooShort:function(e){var a=e.minimum-e.input.length;return"Prošu zapodaj znajmjeńša "+a+" "+u(a,n)},loadingMore:function(){return"Dalše wuslědki so začitaja…"},maximumSelected:function(n){return"Móžeš jenož "+n.maximum+" "+u(n.maximum,e)+"wubrać"},noResults:function(){return"Žane wuslědki namakane"},searching:function(){return"Pyta so…"},removeAllItems:function(){return"Remove all items"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/hu",[],function(){return{errorLoading:function(){return"Az eredmények betöltése nem sikerült."},inputTooLong:function(e){return"Túl hosszú. "+(e.input.length-e.maximum)+" karakterrel több, mint kellene."},inputTooShort:function(e){return"Túl rövid. Még "+(e.minimum-e.input.length)+" 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"}}}),e.define,e.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/hy",[],function(){return{errorLoading:function(){return"Արդյունքները հնարավոր չէ բեռնել։"},inputTooLong:function(n){return"Խնդրում ենք հեռացնել "+(n.input.length-n.maximum)+" նշան"},inputTooShort:function(n){return"Խնդրում ենք մուտքագրել "+(n.minimum-n.input.length)+" կամ ավել նշաններ"},loadingMore:function(){return"Բեռնվում են նոր արդյունքներ․․․"},maximumSelected:function(n){return"Դուք կարող եք ընտրել առավելագույնը "+n.maximum+" կետ"},noResults:function(){return"Արդյունքներ չեն գտնվել"},searching:function(){return"Որոնում․․․"},removeAllItems:function(){return"Հեռացնել բոլոր տարրերը"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(n){return"Hapuskan "+(n.input.length-n.maximum)+" huruf"},inputTooShort:function(n){return"Masukkan "+(n.minimum-n.input.length)+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(n){return"Anda hanya dapat memilih "+n.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"},removeAllItems:function(){return"Hapus semua item"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/is",[],function(){return{inputTooLong:function(n){var t=n.input.length-n.maximum,e="Vinsamlegast styttið texta um "+t+" staf";return t<=1?e:e+"i"},inputTooShort:function(n){var t=n.minimum-n.input.length,e="Vinsamlegast skrifið "+t+" staf";return t>1&&(e+="i"),e+=" í viðbót"},loadingMore:function(){return"Sæki fleiri niðurstöður…"},maximumSelected:function(n){return"Þú getur aðeins valið "+n.maximum+" atriði"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"},removeAllItems:function(){return"Fjarlægðu öll atriði"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/it",[],function(){return{errorLoading:function(){return"I risultati non possono essere caricati."},inputTooLong:function(e){var n=e.input.length-e.maximum,t="Per favore cancella "+n+" caratter";return t+=1!==n?"i":"e"},inputTooShort:function(e){return"Per favore inserisci "+(e.minimum-e.input.length)+" o più caratteri"},loadingMore:function(){return"Caricando più risultati…"},maximumSelected:function(e){var n="Puoi selezionare solo "+e.maximum+" element";return 1!==e.maximum?n+="i":n+="o",n},noResults:function(){return"Nessun risultato trovato"},searching:function(){return"Sto cercando…"},removeAllItems:function(){return"Rimuovi tutti gli oggetti"}}}),e.define,e.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"結果が読み込まれませんでした"},inputTooLong:function(n){return n.input.length-n.maximum+" 文字を削除してください"},inputTooShort:function(n){return"少なくとも "+(n.minimum-n.input.length)+" 文字を入力してください"},loadingMore:function(){return"読み込み中…"},maximumSelected:function(n){return n.maximum+" 件しか選択できません"},noResults:function(){return"対象が見つかりません"},searching:function(){return"検索しています…"},removeAllItems:function(){return"すべてのアイテムを削除"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ka",[],function(){return{errorLoading:function(){return"მონაცემების ჩატვირთვა შეუძლებელია."},inputTooLong:function(n){return"გთხოვთ აკრიფეთ "+(n.input.length-n.maximum)+" სიმბოლოთი ნაკლები"},inputTooShort:function(n){return"გთხოვთ აკრიფეთ "+(n.minimum-n.input.length)+" სიმბოლო ან მეტი"},loadingMore:function(){return"მონაცემების ჩატვირთვა…"},maximumSelected:function(n){return"თქვენ შეგიძლიათ აირჩიოთ არაუმეტეს "+n.maximum+" ელემენტი"},noResults:function(){return"რეზულტატი არ მოიძებნა"},searching:function(){return"ძიება…"},removeAllItems:function(){return"ამოიღე ყველა ელემენტი"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/km",[],function(){return{errorLoading:function(){return"មិនអាចទាញយកទិន្នន័យ"},inputTooLong:function(n){return"សូមលុបចេញ "+(n.input.length-n.maximum)+" អក្សរ"},inputTooShort:function(n){return"សូមបញ្ចូល"+(n.minimum-n.input.length)+" អក្សរ រឺ ច្រើនជាងនេះ"},loadingMore:function(){return"កំពុងទាញយកទិន្នន័យបន្ថែម..."},maximumSelected:function(n){return"អ្នកអាចជ្រើសរើសបានតែ "+n.maximum+" ជម្រើសប៉ុណ្ណោះ"},noResults:function(){return"មិនមានលទ្ធផល"},searching:function(){return"កំពុងស្វែងរក..."},removeAllItems:function(){return"លុបធាតុទាំងអស់"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(n){return"너무 깁니다. "+(n.input.length-n.maximum)+" 글자 지워주세요."},inputTooShort:function(n){return"너무 짧습니다. "+(n.minimum-n.input.length)+" 글자 더 입력해주세요."},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(n){return"최대 "+n.maximum+"개까지만 선택 가능합니다."},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"},removeAllItems:function(){return"모든 항목 삭제"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/lt",[],function(){function n(n,e,i,t){return n%10==1&&(n%100<11||n%100>19)?e:n%10>=2&&n%10<=9&&(n%100<11||n%100>19)?i:t}return{inputTooLong:function(e){var i=e.input.length-e.maximum,t="Pašalinkite "+i+" simbol";return t+=n(i,"į","ius","ių")},inputTooShort:function(e){var i=e.minimum-e.input.length,t="Įrašykite dar "+i+" simbol";return t+=n(i,"į","ius","ių")},loadingMore:function(){return"Kraunama daugiau rezultatų…"},maximumSelected:function(e){var i="Jūs galite pasirinkti tik "+e.maximum+" element";return i+=n(e.maximum,"ą","us","ų")},noResults:function(){return"Atitikmenų nerasta"},searching:function(){return"Ieškoma…"},removeAllItems:function(){return"Pašalinti visus elementus"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/lv",[],function(){function e(e,n,u,i){return 11===e?n:e%10==1?u:i}return{inputTooLong:function(n){var u=n.input.length-n.maximum,i="Lūdzu ievadiet par "+u;return(i+=" simbol"+e(u,"iem","u","iem"))+" mazāk"},inputTooShort:function(n){var u=n.minimum-n.input.length,i="Lūdzu ievadiet vēl "+u;return i+=" simbol"+e(u,"us","u","us")},loadingMore:function(){return"Datu ielāde…"},maximumSelected:function(n){var u="Jūs varat izvēlēties ne vairāk kā "+n.maximum;return u+=" element"+e(n.maximum,"us","u","us")},noResults:function(){return"Sakritību nav"},searching:function(){return"Meklēšana…"},removeAllItems:function(){return"Noņemt visus vienumus"}}}),e.define,e.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/mk",[],function(){return{inputTooLong:function(n){var e=(n.input.length,n.maximum,"Ве молиме внесете "+n.maximum+" помалку карактер");return 1!==n.maximum&&(e+="и"),e},inputTooShort:function(n){var e=(n.minimum,n.input.length,"Ве молиме внесете уште "+n.maximum+" карактер");return 1!==n.maximum&&(e+="и"),e},loadingMore:function(){return"Вчитување резултати…"},maximumSelected:function(n){var e="Можете да изберете само "+n.maximum+" ставк";return 1===n.maximum?e+="а":e+="и",e},noResults:function(){return"Нема пронајдено совпаѓања"},searching:function(){return"Пребарување…"},removeAllItems:function(){return"Отстрани ги сите предмети"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ms",[],function(){return{errorLoading:function(){return"Keputusan tidak berjaya dimuatkan."},inputTooLong:function(n){return"Sila hapuskan "+(n.input.length-n.maximum)+" aksara"},inputTooShort:function(n){return"Sila masukkan "+(n.minimum-n.input.length)+" atau lebih aksara"},loadingMore:function(){return"Sedang memuatkan keputusan…"},maximumSelected:function(n){return"Anda hanya boleh memilih "+n.maximum+" pilihan"},noResults:function(){return"Tiada padanan yang ditemui"},searching:function(){return"Mencari…"},removeAllItems:function(){return"Keluarkan semua item"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){return"Vennligst fjern "+(e.input.length-e.maximum)+" tegn"},inputTooShort:function(e){return"Vennligst skriv inn "+(e.minimum-e.input.length)+" 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"}}}),e.define,e.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ne",[],function(){return{errorLoading:function(){return"नतिजाहरु देखाउन सकिएन।"},inputTooLong:function(n){var e=n.input.length-n.maximum,u="कृपया "+e+" अक्षर मेटाउनुहोस्।";return 1!=e&&(u+="कृपया "+e+" अक्षरहरु मेटाउनुहोस्।"),u},inputTooShort:function(n){return"कृपया बाँकी रहेका "+(n.minimum-n.input.length)+" वा अरु धेरै अक्षरहरु भर्नुहोस्।"},loadingMore:function(){return"अरु नतिजाहरु भरिँदैछन् …"},maximumSelected:function(n){var e="तँपाई "+n.maximum+" वस्तु मात्र छान्न पाउँनुहुन्छ।";return 1!=n.maximum&&(e="तँपाई "+n.maximum+" वस्तुहरु मात्र छान्न पाउँनुहुन्छ।"),e},noResults:function(){return"कुनै पनि नतिजा भेटिएन।"},searching:function(){return"खोजि हुँदैछ…"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/nl",[],function(){return{errorLoading:function(){return"De resultaten konden niet worden geladen."},inputTooLong:function(e){return"Gelieve "+(e.input.length-e.maximum)+" karakters te verwijderen"},inputTooShort:function(e){return"Gelieve "+(e.minimum-e.input.length)+" of meer karakters in te voeren"},loadingMore:function(){return"Meer resultaten laden…"},maximumSelected:function(e){var n=1==e.maximum?"kan":"kunnen",r="Er "+n+" maar "+e.maximum+" item";return 1!=e.maximum&&(r+="s"),r+=" worden geselecteerd"},noResults:function(){return"Geen resultaten gevonden…"},searching:function(){return"Zoeken…"},removeAllItems:function(){return"Verwijder alle items"}}}),e.define,e.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/pl",[],function(){var n=["znak","znaki","znaków"],e=["element","elementy","elementów"],r=function(n,e){return 1===n?e[0]:n>1&&n<=4?e[1]:n>=5?e[2]:void 0};return{errorLoading:function(){return"Nie można załadować wyników."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Usuń "+t+" "+r(t,n)},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Podaj przynajmniej "+t+" "+r(t,n)},loadingMore:function(){return"Trwa ładowanie…"},maximumSelected:function(n){return"Możesz zaznaczyć tylko "+n.maximum+" "+r(n.maximum,e)},noResults:function(){return"Brak wyników"},searching:function(){return"Trwa wyszukiwanie…"},removeAllItems:function(){return"Usuń wszystkie przedmioty"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ps",[],function(){return{errorLoading:function(){return"پايلي نه سي ترلاسه کېدای"},inputTooLong:function(n){var e=n.input.length-n.maximum,r="د مهربانۍ لمخي "+e+" توری ړنګ کړئ";return 1!=e&&(r=r.replace("توری","توري")),r},inputTooShort:function(n){return"لږ تر لږه "+(n.minimum-n.input.length)+" يا ډېر توري وليکئ"},loadingMore:function(){return"نوري پايلي ترلاسه کيږي..."},maximumSelected:function(n){var e="تاسو يوازي "+n.maximum+" قلم په نښه کولای سی";return 1!=n.maximum&&(e=e.replace("قلم","قلمونه")),e},noResults:function(){return"پايلي و نه موندل سوې"},searching:function(){return"لټول کيږي..."},removeAllItems:function(){return"ټول توکي لرې کړئ"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/pt-BR",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Apague "+n+" caracter";return 1!=n&&(r+="es"),r},inputTooShort:function(e){return"Digite "+(e.minimum-e.input.length)+" ou mais caracteres"},loadingMore:function(){return"Carregando mais resultados…"},maximumSelected:function(e){var n="Você só pode selecionar "+e.maximum+" ite";return 1==e.maximum?n+="m":n+="ns",n},noResults:function(){return"Nenhum resultado encontrado"},searching:function(){return"Buscando…"},removeAllItems:function(){return"Remover todos os itens"}}}),e.define,e.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/pt",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var r=e.input.length-e.maximum,n="Por favor apague "+r+" ";return n+=1!=r?"caracteres":"caractere"},inputTooShort:function(e){return"Introduza "+(e.minimum-e.input.length)+" ou mais caracteres"},loadingMore:function(){return"A carregar mais resultados…"},maximumSelected:function(e){var r="Apenas pode seleccionar "+e.maximum+" ";return r+=1!=e.maximum?"itens":"item"},noResults:function(){return"Sem resultados"},searching:function(){return"A procurar…"},removeAllItems:function(){return"Remover todos os itens"}}}),e.define,e.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;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 1!==t&&(n+="e"),n},inputTooShort:function(e){return"Vă rugăm să introduceți "+(e.minimum-e.input.length)+" sau mai multe caractere"},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",1!==e.maximum&&(t+="e"),t},noResults:function(){return"Nu au fost găsite rezultate"},searching:function(){return"Căutare…"},removeAllItems:function(){return"Eliminați toate elementele"}}}),e.define,e.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ru",[],function(){function n(n,e,r,u){return n%10<5&&n%10>0&&n%100<5||n%100>20?n%10>1?r:e:u}return{errorLoading:function(){return"Невозможно загрузить результаты"},inputTooLong:function(e){var r=e.input.length-e.maximum,u="Пожалуйста, введите на "+r+" символ";return u+=n(r,"","a","ов"),u+=" меньше"},inputTooShort:function(e){var r=e.minimum-e.input.length,u="Пожалуйста, введите ещё хотя бы "+r+" символ";return u+=n(r,"","a","ов")},loadingMore:function(){return"Загрузка данных…"},maximumSelected:function(e){var r="Вы можете выбрать не более "+e.maximum+" элемент";return r+=n(e.maximum,"","a","ов")},noResults:function(){return"Совпадений не найдено"},searching:function(){return"Поиск…"},removeAllItems:function(){return"Удалить все элементы"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;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(n){var t=n.input.length-n.maximum;return 1==t?"Prosím, zadajte o jeden znak menej":t>=2&&t<=4?"Prosím, zadajte o "+e[t](!0)+" znaky menej":"Prosím, zadajte o "+t+" znakov menej"},inputTooShort:function(n){var t=n.minimum-n.input.length;return 1==t?"Prosím, zadajte ešte jeden znak":t<=4?"Prosím, zadajte ešte ďalšie "+e[t](!0)+" znaky":"Prosím, zadajte ešte ďalších "+t+" znakov"},loadingMore:function(){return"Načítanie ďalších výsledkov…"},maximumSelected:function(n){return 1==n.maximum?"Môžete zvoliť len jednu položku":n.maximum>=2&&n.maximum<=4?"Môžete zvoliť najviac "+e[n.maximum](!1)+" položky":"Môžete zvoliť najviac "+n.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"}}}),e.define,e.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/sl",[],function(){return{errorLoading:function(){return"Zadetkov iskanja ni bilo mogoče naložiti."},inputTooLong:function(e){var n=e.input.length-e.maximum,t="Prosim zbrišite "+n+" znak";return 2==n?t+="a":1!=n&&(t+="e"),t},inputTooShort:function(e){var n=e.minimum-e.input.length,t="Prosim vpišite še "+n+" znak";return 2==n?t+="a":1!=n&&(t+="e"),t},loadingMore:function(){return"Nalagam več zadetkov…"},maximumSelected:function(e){var n="Označite lahko največ "+e.maximum+" predmet";return 2==e.maximum?n+="a":1!=e.maximum&&(n+="e"),n},noResults:function(){return"Ni zadetkov."},searching:function(){return"Iščem…"},removeAllItems:function(){return"Odstranite vse elemente"}}}),e.define,e.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/sq",[],function(){return{errorLoading:function(){return"Rezultatet nuk mund të ngarkoheshin."},inputTooLong:function(e){var n=e.input.length-e.maximum,t="Të lutem fshi "+n+" karakter";return 1!=n&&(t+="e"),t},inputTooShort:function(e){return"Të lutem shkruaj "+(e.minimum-e.input.length)+" ose më shumë karaktere"},loadingMore:function(){return"Duke ngarkuar më shumë rezultate…"},maximumSelected:function(e){var n="Mund të zgjedhësh vetëm "+e.maximum+" element";return 1!=e.maximum&&(n+="e"),n},noResults:function(){return"Nuk u gjet asnjë rezultat"},searching:function(){return"Duke kërkuar…"},removeAllItems:function(){return"Hiq të gjitha sendet"}}}),e.define,e.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sr-Cyrl",[],function(){function n(n,e,r,u){return n%10==1&&n%100!=11?e:n%10>=2&&n%10<=4&&(n%100<12||n%100>14)?r:u}return{errorLoading:function(){return"Преузимање није успело."},inputTooLong:function(e){var r=e.input.length-e.maximum,u="Обришите "+r+" симбол";return u+=n(r,"","а","а")},inputTooShort:function(e){var r=e.minimum-e.input.length,u="Укуцајте бар још "+r+" симбол";return u+=n(r,"","а","а")},loadingMore:function(){return"Преузимање још резултата…"},maximumSelected:function(e){var r="Можете изабрати само "+e.maximum+" ставк";return r+=n(e.maximum,"у","е","и")},noResults:function(){return"Ништа није пронађено"},searching:function(){return"Претрага…"},removeAllItems:function(){return"Уклоните све ставке"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sr",[],function(){function n(n,e,r,t){return n%10==1&&n%100!=11?e:n%10>=2&&n%10<=4&&(n%100<12||n%100>14)?r:t}return{errorLoading:function(){return"Preuzimanje nije uspelo."},inputTooLong:function(e){var r=e.input.length-e.maximum,t="Obrišite "+r+" simbol";return t+=n(r,"","a","a")},inputTooShort:function(e){var r=e.minimum-e.input.length,t="Ukucajte bar još "+r+" simbol";return t+=n(r,"","a","a")},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(e){var r="Možete izabrati samo "+e.maximum+" stavk";return r+=n(e.maximum,"u","e","i")},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Уклоните све ставке"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(n){return"Vänligen sudda ut "+(n.input.length-n.maximum)+" tecken"},inputTooShort:function(n){return"Vänligen skriv in "+(n.minimum-n.input.length)+" eller fler tecken"},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(n){return"Du kan max välja "+n.maximum+" element"},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"},removeAllItems:function(){return"Ta bort alla objekt"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/th",[],function(){return{errorLoading:function(){return"ไม่สามารถค้นข้อมูลได้"},inputTooLong:function(n){return"โปรดลบออก "+(n.input.length-n.maximum)+" ตัวอักษร"},inputTooShort:function(n){return"โปรดพิมพ์เพิ่มอีก "+(n.minimum-n.input.length)+" ตัวอักษร"},loadingMore:function(){return"กำลังค้นข้อมูลเพิ่ม…"},maximumSelected:function(n){return"คุณสามารถเลือกได้ไม่เกิน "+n.maximum+" รายการ"},noResults:function(){return"ไม่พบข้อมูล"},searching:function(){return"กำลังค้นข้อมูล…"},removeAllItems:function(){return"ลบรายการทั้งหมด"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/tk",[],function(){return{errorLoading:function(){return"Netije ýüklenmedi."},inputTooLong:function(e){return e.input.length-e.maximum+" harp bozuň."},inputTooShort:function(e){return"Ýene-de iň az "+(e.minimum-e.input.length)+" harp ýazyň."},loadingMore:function(){return"Köpräk netije görkezilýär…"},maximumSelected:function(e){return"Diňe "+e.maximum+" sanysyny saýlaň."},noResults:function(){return"Netije tapylmady."},searching:function(){return"Gözlenýär…"},removeAllItems:function(){return"Remove all items"}}}),e.define,e.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/tr",[],function(){return{errorLoading:function(){return"Sonuç yüklenemedi"},inputTooLong:function(n){return n.input.length-n.maximum+" karakter daha girmelisiniz"},inputTooShort:function(n){return"En az "+(n.minimum-n.input.length)+" karakter daha girmelisiniz"},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(n){return"Sadece "+n.maximum+" seçim yapabilirsiniz"},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"},removeAllItems:function(){return"Tüm öğeleri kaldır"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/uk",[],function(){function n(n,e,u,r){return n%100>10&&n%100<15?r:n%10==1?e:n%10>1&&n%10<5?u:r}return{errorLoading:function(){return"Неможливо завантажити результати"},inputTooLong:function(e){return"Будь ласка, видаліть "+(e.input.length-e.maximum)+" "+n(e.maximum,"літеру","літери","літер")},inputTooShort:function(n){return"Будь ласка, введіть "+(n.minimum-n.input.length)+" або більше літер"},loadingMore:function(){return"Завантаження інших результатів…"},maximumSelected:function(e){return"Ви можете вибрати лише "+e.maximum+" "+n(e.maximum,"пункт","пункти","пунктів")},noResults:function(){return"Нічого не знайдено"},searching:function(){return"Пошук…"},removeAllItems:function(){return"Видалити всі елементи"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/vi",[],function(){return{inputTooLong:function(n){return"Vui lòng xóa bớt "+(n.input.length-n.maximum)+" ký tự"},inputTooShort:function(n){return"Vui lòng nhập thêm từ "+(n.minimum-n.input.length)+" ký tự trở lên"},loadingMore:function(){return"Đang lấy thêm kết quả…"},maximumSelected:function(n){return"Chỉ có thể chọn được "+n.maximum+" lựa chọn"},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"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(n){return"请删除"+(n.input.length-n.maximum)+"个字符"},inputTooShort:function(n){return"请再输入至少"+(n.minimum-n.input.length)+"个字符"},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(n){return"最多只能选择"+n.maximum+"个项目"},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"},removeAllItems:function(){return"删除所有项目"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
3 !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/zh-TW",[],function(){return{inputTooLong:function(n){return"請刪掉"+(n.input.length-n.maximum)+"個字元"},inputTooShort:function(n){return"請再輸入"+(n.minimum-n.input.length)+"個字元"},loadingMore:function(){return"載入中…"},maximumSelected:function(n){return"你只能選擇最多"+n.maximum+"項"},noResults:function(){return"沒有找到相符的項目"},searching:function(){return"搜尋中…"},removeAllItems:function(){return"刪除所有項目"}}}),n.define,n.require}();
...\ No newline at end of file ...\ No newline at end of file
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 !function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return void 0===t&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t),t}:n(jQuery)}(function(d){var e=function(){if(d&&d.fn&&d.fn.select2&&d.fn.select2.amd)var e=d.fn.select2.amd;var t,n,i,h,o,s,f,g,m,v,y,_,r,a,w,l;function b(e,t){return r.call(e,t)}function c(e,t){var n,i,r,o,s,a,l,c,u,d,p,h=t&&t.split("/"),f=y.map,g=f&&f["*"]||{};if(e){for(s=(e=e.split("/")).length-1,y.nodeIdCompat&&w.test(e[s])&&(e[s]=e[s].replace(w,"")),"."===e[0].charAt(0)&&h&&(e=h.slice(0,h.length-1).concat(e)),u=0;u<e.length;u++)if("."===(p=e[u]))e.splice(u,1),u-=1;else if(".."===p){if(0===u||1===u&&".."===e[2]||".."===e[u-1])continue;0<u&&(e.splice(u-1,2),u-=2)}e=e.join("/")}if((h||g)&&f){for(u=(n=e.split("/")).length;0<u;u-=1){if(i=n.slice(0,u).join("/"),h)for(d=h.length;0<d;d-=1)if(r=(r=f[h.slice(0,d).join("/")])&&r[i]){o=r,a=u;break}if(o)break;!l&&g&&g[i]&&(l=g[i],c=u)}!o&&l&&(o=l,a=c),o&&(n.splice(0,a,o),e=n.join("/"))}return e}function A(t,n){return function(){var e=a.call(arguments,0);return"string"!=typeof e[0]&&1===e.length&&e.push(null),s.apply(h,e.concat([t,n]))}}function x(t){return function(e){m[t]=e}}function D(e){if(b(v,e)){var t=v[e];delete v[e],_[e]=!0,o.apply(h,t)}if(!b(m,e)&&!b(_,e))throw new Error("No "+e);return m[e]}function u(e){var t,n=e?e.indexOf("!"):-1;return-1<n&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function S(e){return e?u(e):[]}return e&&e.requirejs||(e?n=e:e={},m={},v={},y={},_={},r=Object.prototype.hasOwnProperty,a=[].slice,w=/\.js$/,f=function(e,t){var n,i=u(e),r=i[0],o=t[1];return e=i[1],r&&(n=D(r=c(r,o))),r?e=n&&n.normalize?n.normalize(e,function(t){return function(e){return c(e,t)}}(o)):c(e,o):(r=(i=u(e=c(e,o)))[0],e=i[1],r&&(n=D(r))),{f:r?r+"!"+e:e,n:e,pr:r,p:n}},g={require:function(e){return A(e)},exports:function(e){var t=m[e];return void 0!==t?t:m[e]={}},module:function(e){return{id:e,uri:"",exports:m[e],config:function(e){return function(){return y&&y.config&&y.config[e]||{}}}(e)}}},o=function(e,t,n,i){var r,o,s,a,l,c,u,d=[],p=typeof n;if(c=S(i=i||e),"undefined"==p||"function"==p){for(t=!t.length&&n.length?["require","exports","module"]:t,l=0;l<t.length;l+=1)if("require"===(o=(a=f(t[l],c)).f))d[l]=g.require(e);else if("exports"===o)d[l]=g.exports(e),u=!0;else if("module"===o)r=d[l]=g.module(e);else if(b(m,o)||b(v,o)||b(_,o))d[l]=D(o);else{if(!a.p)throw new Error(e+" missing "+o);a.p.load(a.n,A(i,!0),x(o),{}),d[l]=m[o]}s=n?n.apply(m[e],d):void 0,e&&(r&&r.exports!==h&&r.exports!==m[e]?m[e]=r.exports:s===h&&u||(m[e]=s))}else e&&(m[e]=n)},t=n=s=function(e,t,n,i,r){if("string"==typeof e)return g[e]?g[e](t):D(f(e,S(t)).f);if(!e.splice){if((y=e).deps&&s(y.deps,y.callback),!t)return;t.splice?(e=t,t=n,n=null):e=h}return t=t||function(){},"function"==typeof n&&(n=i,i=r),i?o(h,e,t,n):setTimeout(function(){o(h,e,t,n)},4),s},s.config=function(e){return s(e)},t._defined=m,(i=function(e,t,n){if("string"!=typeof e)throw new Error("See almond README: incorrect module build, no module name");t.splice||(n=t,t=[]),b(m,e)||b(v,e)||(v[e]=[e,t,n])}).amd={jQuery:!0},e.requirejs=t,e.require=n,e.define=i),e.define("almond",function(){}),e.define("jquery",[],function(){var e=d||$;return null==e&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),e}),e.define("select2/utils",["jquery"],function(o){var r={};function u(e){var t=e.prototype,n=[];for(var i in t){"function"==typeof t[i]&&"constructor"!==i&&n.push(i)}return n}r.Extend=function(e,t){var n={}.hasOwnProperty;function i(){this.constructor=e}for(var r in t)n.call(t,r)&&(e[r]=t[r]);return i.prototype=t.prototype,e.prototype=new i,e.__super__=t.prototype,e},r.Decorate=function(i,r){var e=u(r),t=u(i);function o(){var e=Array.prototype.unshift,t=r.prototype.constructor.length,n=i.prototype.constructor;0<t&&(e.call(arguments,i.prototype.constructor),n=r.prototype.constructor),n.apply(this,arguments)}r.displayName=i.displayName,o.prototype=new function(){this.constructor=o};for(var n=0;n<t.length;n++){var s=t[n];o.prototype[s]=i.prototype[s]}function a(e){var t=function(){};e in o.prototype&&(t=o.prototype[e]);var n=r.prototype[e];return function(){return Array.prototype.unshift.call(arguments,t),n.apply(this,arguments)}}for(var l=0;l<e.length;l++){var c=e[l];o.prototype[c]=a(c)}return o};function e(){this.listeners={}}e.prototype.on=function(e,t){this.listeners=this.listeners||{},e in this.listeners?this.listeners[e].push(t):this.listeners[e]=[t]},e.prototype.trigger=function(e){var t=Array.prototype.slice,n=t.call(arguments,1);this.listeners=this.listeners||{},null==n&&(n=[]),0===n.length&&n.push({}),(n[0]._type=e)in this.listeners&&this.invoke(this.listeners[e],t.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},e.prototype.invoke=function(e,t){for(var n=0,i=e.length;n<i;n++)e[n].apply(this,t)},r.Observable=e,r.generateChars=function(e){for(var t="",n=0;n<e;n++){t+=Math.floor(36*Math.random()).toString(36)}return t},r.bind=function(e,t){return function(){e.apply(t,arguments)}},r._convertData=function(e){for(var t in e){var n=t.split("-"),i=e;if(1!==n.length){for(var r=0;r<n.length;r++){var o=n[r];(o=o.substring(0,1).toLowerCase()+o.substring(1))in i||(i[o]={}),r==n.length-1&&(i[o]=e[t]),i=i[o]}delete e[t]}}return e},r.hasScroll=function(e,t){var n=o(t),i=t.style.overflowX,r=t.style.overflowY;return(i!==r||"hidden"!==r&&"visible"!==r)&&("scroll"===i||"scroll"===r||(n.innerHeight()<t.scrollHeight||n.innerWidth()<t.scrollWidth))},r.escapeMarkup=function(e){var t={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return"string"!=typeof e?e:String(e).replace(/[&<>"'\/\\]/g,function(e){return t[e]})},r.appendMany=function(e,t){if("1.7"===o.fn.jquery.substr(0,3)){var n=o();o.map(t,function(e){n=n.add(e)}),t=n}e.append(t)},r.__cache={};var n=0;return r.GetUniqueElementId=function(e){var t=e.getAttribute("data-select2-id");return null==t&&(e.id?(t=e.id,e.setAttribute("data-select2-id",t)):(e.setAttribute("data-select2-id",++n),t=n.toString())),t},r.StoreData=function(e,t,n){var i=r.GetUniqueElementId(e);r.__cache[i]||(r.__cache[i]={}),r.__cache[i][t]=n},r.GetData=function(e,t){var n=r.GetUniqueElementId(e);return t?r.__cache[n]&&null!=r.__cache[n][t]?r.__cache[n][t]:o(e).data(t):r.__cache[n]},r.RemoveData=function(e){var t=r.GetUniqueElementId(e);null!=r.__cache[t]&&delete r.__cache[t],e.removeAttribute("data-select2-id")},r}),e.define("select2/results",["jquery","./utils"],function(h,f){function i(e,t,n){this.$element=e,this.data=n,this.options=t,i.__super__.constructor.call(this)}return f.Extend(i,f.Observable),i.prototype.render=function(){var e=h('<ul class="select2-results__options" role="listbox"></ul>');return this.options.get("multiple")&&e.attr("aria-multiselectable","true"),this.$results=e},i.prototype.clear=function(){this.$results.empty()},i.prototype.displayMessage=function(e){var t=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var n=h('<li role="alert" aria-live="assertive" class="select2-results__option"></li>'),i=this.options.get("translations").get(e.message);n.append(t(i(e.args))),n[0].className+=" select2-results__message",this.$results.append(n)},i.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},i.prototype.append=function(e){this.hideLoading();var t=[];if(null!=e.results&&0!==e.results.length){e.results=this.sort(e.results);for(var n=0;n<e.results.length;n++){var i=e.results[n],r=this.option(i);t.push(r)}this.$results.append(t)}else 0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"})},i.prototype.position=function(e,t){t.find(".select2-results").append(e)},i.prototype.sort=function(e){return this.options.get("sorter")(e)},i.prototype.highlightFirstItem=function(){var e=this.$results.find(".select2-results__option[aria-selected]"),t=e.filter("[aria-selected=true]");0<t.length?t.first().trigger("mouseenter"):e.first().trigger("mouseenter"),this.ensureHighlightVisible()},i.prototype.setClasses=function(){var t=this;this.data.current(function(e){var i=h.map(e,function(e){return e.id.toString()});t.$results.find(".select2-results__option[aria-selected]").each(function(){var e=h(this),t=f.GetData(this,"data"),n=""+t.id;null!=t.element&&t.element.selected||null==t.element&&-1<h.inArray(n,i)?e.attr("aria-selected","true"):e.attr("aria-selected","false")})})},i.prototype.showLoading=function(e){this.hideLoading();var t={disabled:!0,loading:!0,text:this.options.get("translations").get("searching")(e)},n=this.option(t);n.className+=" loading-results",this.$results.prepend(n)},i.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},i.prototype.option=function(e){var t=document.createElement("li");t.className="select2-results__option";var n={role:"option","aria-selected":"false"},i=window.Element.prototype.matches||window.Element.prototype.msMatchesSelector||window.Element.prototype.webkitMatchesSelector;for(var r in(null!=e.element&&i.call(e.element,":disabled")||null==e.element&&e.disabled)&&(delete n["aria-selected"],n["aria-disabled"]="true"),null==e.id&&delete n["aria-selected"],null!=e._resultId&&(t.id=e._resultId),e.title&&(t.title=e.title),e.children&&(n.role="group",n["aria-label"]=e.text,delete n["aria-selected"]),n){var o=n[r];t.setAttribute(r,o)}if(e.children){var s=h(t),a=document.createElement("strong");a.className="select2-results__group";h(a);this.template(e,a);for(var l=[],c=0;c<e.children.length;c++){var u=e.children[c],d=this.option(u);l.push(d)}var p=h("<ul></ul>",{class:"select2-results__options select2-results__options--nested"});p.append(l),s.append(a),s.append(p)}else this.template(e,t);return f.StoreData(t,"data",e),t},i.prototype.bind=function(t,e){var l=this,n=t.id+"-results";this.$results.attr("id",n),t.on("results:all",function(e){l.clear(),l.append(e.data),t.isOpen()&&(l.setClasses(),l.highlightFirstItem())}),t.on("results:append",function(e){l.append(e.data),t.isOpen()&&l.setClasses()}),t.on("query",function(e){l.hideMessages(),l.showLoading(e)}),t.on("select",function(){t.isOpen()&&(l.setClasses(),l.options.get("scrollAfterSelect")&&l.highlightFirstItem())}),t.on("unselect",function(){t.isOpen()&&(l.setClasses(),l.options.get("scrollAfterSelect")&&l.highlightFirstItem())}),t.on("open",function(){l.$results.attr("aria-expanded","true"),l.$results.attr("aria-hidden","false"),l.setClasses(),l.ensureHighlightVisible()}),t.on("close",function(){l.$results.attr("aria-expanded","false"),l.$results.attr("aria-hidden","true"),l.$results.removeAttr("aria-activedescendant")}),t.on("results:toggle",function(){var e=l.getHighlightedResults();0!==e.length&&e.trigger("mouseup")}),t.on("results:select",function(){var e=l.getHighlightedResults();if(0!==e.length){var t=f.GetData(e[0],"data");"true"==e.attr("aria-selected")?l.trigger("close",{}):l.trigger("select",{data:t})}}),t.on("results:previous",function(){var e=l.getHighlightedResults(),t=l.$results.find("[aria-selected]"),n=t.index(e);if(!(n<=0)){var i=n-1;0===e.length&&(i=0);var r=t.eq(i);r.trigger("mouseenter");var o=l.$results.offset().top,s=r.offset().top,a=l.$results.scrollTop()+(s-o);0===i?l.$results.scrollTop(0):s-o<0&&l.$results.scrollTop(a)}}),t.on("results:next",function(){var e=l.getHighlightedResults(),t=l.$results.find("[aria-selected]"),n=t.index(e)+1;if(!(n>=t.length)){var i=t.eq(n);i.trigger("mouseenter");var r=l.$results.offset().top+l.$results.outerHeight(!1),o=i.offset().top+i.outerHeight(!1),s=l.$results.scrollTop()+o-r;0===n?l.$results.scrollTop(0):r<o&&l.$results.scrollTop(s)}}),t.on("results:focus",function(e){e.element.addClass("select2-results__option--highlighted")}),t.on("results:message",function(e){l.displayMessage(e)}),h.fn.mousewheel&&this.$results.on("mousewheel",function(e){var t=l.$results.scrollTop(),n=l.$results.get(0).scrollHeight-t+e.deltaY,i=0<e.deltaY&&t-e.deltaY<=0,r=e.deltaY<0&&n<=l.$results.height();i?(l.$results.scrollTop(0),e.preventDefault(),e.stopPropagation()):r&&(l.$results.scrollTop(l.$results.get(0).scrollHeight-l.$results.height()),e.preventDefault(),e.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(e){var t=h(this),n=f.GetData(this,"data");"true"!==t.attr("aria-selected")?l.trigger("select",{originalEvent:e,data:n}):l.options.get("multiple")?l.trigger("unselect",{originalEvent:e,data:n}):l.trigger("close",{})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(e){var t=f.GetData(this,"data");l.getHighlightedResults().removeClass("select2-results__option--highlighted"),l.trigger("results:focus",{data:t,element:h(this)})})},i.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},i.prototype.destroy=function(){this.$results.remove()},i.prototype.ensureHighlightVisible=function(){var e=this.getHighlightedResults();if(0!==e.length){var t=this.$results.find("[aria-selected]").index(e),n=this.$results.offset().top,i=e.offset().top,r=this.$results.scrollTop()+(i-n),o=i-n;r-=2*e.outerHeight(!1),t<=2?this.$results.scrollTop(0):(o>this.$results.outerHeight()||o<0)&&this.$results.scrollTop(r)}},i.prototype.template=function(e,t){var n=this.options.get("templateResult"),i=this.options.get("escapeMarkup"),r=n(e,t);null==r?t.style.display="none":"string"==typeof r?t.innerHTML=i(r):h(t).append(r)},i}),e.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),e.define("select2/selection/base",["jquery","../utils","../keys"],function(n,i,r){function o(e,t){this.$element=e,this.options=t,o.__super__.constructor.call(this)}return i.Extend(o,i.Observable),o.prototype.render=function(){var e=n('<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=i.GetData(this.$element[0],"old-tabindex")?this._tabindex=i.GetData(this.$element[0],"old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),e.attr("title",this.$element.attr("title")),e.attr("tabindex",this._tabindex),e.attr("aria-disabled","false"),this.$selection=e},o.prototype.bind=function(e,t){var n=this,i=e.id+"-results";this.container=e,this.$selection.on("focus",function(e){n.trigger("focus",e)}),this.$selection.on("blur",function(e){n._handleBlur(e)}),this.$selection.on("keydown",function(e){n.trigger("keypress",e),e.which===r.SPACE&&e.preventDefault()}),e.on("results:focus",function(e){n.$selection.attr("aria-activedescendant",e.data._resultId)}),e.on("selection:update",function(e){n.update(e.data)}),e.on("open",function(){n.$selection.attr("aria-expanded","true"),n.$selection.attr("aria-owns",i),n._attachCloseHandler(e)}),e.on("close",function(){n.$selection.attr("aria-expanded","false"),n.$selection.removeAttr("aria-activedescendant"),n.$selection.removeAttr("aria-owns"),n.$selection.trigger("focus"),n._detachCloseHandler(e)}),e.on("enable",function(){n.$selection.attr("tabindex",n._tabindex),n.$selection.attr("aria-disabled","false")}),e.on("disable",function(){n.$selection.attr("tabindex","-1"),n.$selection.attr("aria-disabled","true")})},o.prototype._handleBlur=function(e){var t=this;window.setTimeout(function(){document.activeElement==t.$selection[0]||n.contains(t.$selection[0],document.activeElement)||t.trigger("blur",e)},1)},o.prototype._attachCloseHandler=function(e){n(document.body).on("mousedown.select2."+e.id,function(e){var t=n(e.target).closest(".select2");n(".select2.select2-container--open").each(function(){this!=t[0]&&i.GetData(this,"element").select2("close")})})},o.prototype._detachCloseHandler=function(e){n(document.body).off("mousedown.select2."+e.id)},o.prototype.position=function(e,t){t.find(".selection").append(e)},o.prototype.destroy=function(){this._detachCloseHandler(this.container)},o.prototype.update=function(e){throw new Error("The `update` method must be defined in child classes.")},o.prototype.isEnabled=function(){return!this.isDisabled()},o.prototype.isDisabled=function(){return this.options.get("disabled")},o}),e.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(e,t,n,i){function r(){r.__super__.constructor.apply(this,arguments)}return n.Extend(r,t),r.prototype.render=function(){var e=r.__super__.render.call(this);return e.addClass("select2-selection--single"),e.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),e},r.prototype.bind=function(t,e){var n=this;r.__super__.bind.apply(this,arguments);var i=t.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",i).attr("role","textbox").attr("aria-readonly","true"),this.$selection.attr("aria-labelledby",i),this.$selection.on("mousedown",function(e){1===e.which&&n.trigger("toggle",{originalEvent:e})}),this.$selection.on("focus",function(e){}),this.$selection.on("blur",function(e){}),t.on("focus",function(e){t.isOpen()||n.$selection.trigger("focus")})},r.prototype.clear=function(){var e=this.$selection.find(".select2-selection__rendered");e.empty(),e.removeAttr("title")},r.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},r.prototype.selectionContainer=function(){return e("<span></span>")},r.prototype.update=function(e){if(0!==e.length){var t=e[0],n=this.$selection.find(".select2-selection__rendered"),i=this.display(t,n);n.empty().append(i);var r=t.title||t.text;r?n.attr("title",r):n.removeAttr("title")}else this.clear()},r}),e.define("select2/selection/multiple",["jquery","./base","../utils"],function(r,e,l){function n(e,t){n.__super__.constructor.apply(this,arguments)}return l.Extend(n,e),n.prototype.render=function(){var e=n.__super__.render.call(this);return e.addClass("select2-selection--multiple"),e.html('<ul class="select2-selection__rendered"></ul>'),e},n.prototype.bind=function(e,t){var i=this;n.__super__.bind.apply(this,arguments),this.$selection.on("click",function(e){i.trigger("toggle",{originalEvent:e})}),this.$selection.on("click",".select2-selection__choice__remove",function(e){if(!i.isDisabled()){var t=r(this).parent(),n=l.GetData(t[0],"data");i.trigger("unselect",{originalEvent:e,data:n})}})},n.prototype.clear=function(){var e=this.$selection.find(".select2-selection__rendered");e.empty(),e.removeAttr("title")},n.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},n.prototype.selectionContainer=function(){return r('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">&times;</span></li>')},n.prototype.update=function(e){if(this.clear(),0!==e.length){for(var t=[],n=0;n<e.length;n++){var i=e[n],r=this.selectionContainer(),o=this.display(i,r);r.append(o);var s=i.title||i.text;s&&r.attr("title",s),l.StoreData(r[0],"data",i),t.push(r)}var a=this.$selection.find(".select2-selection__rendered");l.appendMany(a,t)}},n}),e.define("select2/selection/placeholder",["../utils"],function(e){function t(e,t,n){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n)}return t.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},t.prototype.createPlaceholder=function(e,t){var n=this.selectionContainer();return n.html(this.display(t)),n.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),n},t.prototype.update=function(e,t){var n=1==t.length&&t[0].id!=this.placeholder.id;if(1<t.length||n)return e.call(this,t);this.clear();var i=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(i)},t}),e.define("select2/selection/allowClear",["jquery","../keys","../utils"],function(r,i,a){function e(){}return e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(e){i._handleClear(e)}),t.on("keypress",function(e){i._handleKeyboardClear(e,t)})},e.prototype._handleClear=function(e,t){if(!this.isDisabled()){var n=this.$selection.find(".select2-selection__clear");if(0!==n.length){t.stopPropagation();var i=a.GetData(n[0],"data"),r=this.$element.val();this.$element.val(this.placeholder.id);var o={data:i};if(this.trigger("clear",o),o.prevented)this.$element.val(r);else{for(var s=0;s<i.length;s++)if(o={data:i[s]},this.trigger("unselect",o),o.prevented)return void this.$element.val(r);this.$element.trigger("input").trigger("change"),this.trigger("toggle",{})}}}},e.prototype._handleKeyboardClear=function(e,t,n){n.isOpen()||t.which!=i.DELETE&&t.which!=i.BACKSPACE||this._handleClear(t)},e.prototype.update=function(e,t){if(e.call(this,t),!(0<this.$selection.find(".select2-selection__placeholder").length||0===t.length)){var n=this.options.get("translations").get("removeAllItems"),i=r('<span class="select2-selection__clear" title="'+n()+'">&times;</span>');a.StoreData(i[0],"data",t),this.$selection.find(".select2-selection__rendered").prepend(i)}},e}),e.define("select2/selection/search",["jquery","../utils","../keys"],function(i,a,l){function e(e,t,n){e.call(this,t,n)}return e.prototype.render=function(e){var t=i('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></li>');this.$searchContainer=t,this.$search=t.find("input");var n=e.call(this);return this._transferTabIndex(),n},e.prototype.bind=function(e,t,n){var i=this,r=t.id+"-results";e.call(this,t,n),t.on("open",function(){i.$search.attr("aria-controls",r),i.$search.trigger("focus")}),t.on("close",function(){i.$search.val(""),i.$search.removeAttr("aria-controls"),i.$search.removeAttr("aria-activedescendant"),i.$search.trigger("focus")}),t.on("enable",function(){i.$search.prop("disabled",!1),i._transferTabIndex()}),t.on("disable",function(){i.$search.prop("disabled",!0)}),t.on("focus",function(e){i.$search.trigger("focus")}),t.on("results:focus",function(e){e.data._resultId?i.$search.attr("aria-activedescendant",e.data._resultId):i.$search.removeAttr("aria-activedescendant")}),this.$selection.on("focusin",".select2-search--inline",function(e){i.trigger("focus",e)}),this.$selection.on("focusout",".select2-search--inline",function(e){i._handleBlur(e)}),this.$selection.on("keydown",".select2-search--inline",function(e){if(e.stopPropagation(),i.trigger("keypress",e),i._keyUpPrevented=e.isDefaultPrevented(),e.which===l.BACKSPACE&&""===i.$search.val()){var t=i.$searchContainer.prev(".select2-selection__choice");if(0<t.length){var n=a.GetData(t[0],"data");i.searchRemoveChoice(n),e.preventDefault()}}}),this.$selection.on("click",".select2-search--inline",function(e){i.$search.val()&&e.stopPropagation()});var o=document.documentMode,s=o&&o<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(e){s?i.$selection.off("input.search input.searchcheck"):i.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(e){if(s&&"input"===e.type)i.$selection.off("input.search input.searchcheck");else{var t=e.which;t!=l.SHIFT&&t!=l.CTRL&&t!=l.ALT&&t!=l.TAB&&i.handleSearch(e)}})},e.prototype._transferTabIndex=function(e){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},e.prototype.createPlaceholder=function(e,t){this.$search.attr("placeholder",t.text)},e.prototype.update=function(e,t){var n=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),e.call(this,t),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),n&&this.$search.trigger("focus")},e.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var e=this.$search.val();this.trigger("query",{term:e})}this._keyUpPrevented=!1},e.prototype.searchRemoveChoice=function(e,t){this.trigger("unselect",{data:t}),this.$search.val(t.text),this.handleSearch()},e.prototype.resizeSearch=function(){this.$search.css("width","25px");var e="";""!==this.$search.attr("placeholder")?e=this.$selection.find(".select2-selection__rendered").width():e=.75*(this.$search.val().length+1)+"em";this.$search.css("width",e)},e}),e.define("select2/selection/eventRelay",["jquery"],function(s){function e(){}return e.prototype.bind=function(e,t,n){var i=this,r=["open","opening","close","closing","select","selecting","unselect","unselecting","clear","clearing"],o=["opening","closing","selecting","unselecting","clearing"];e.call(this,t,n),t.on("*",function(e,t){if(-1!==s.inArray(e,r)){t=t||{};var n=s.Event("select2:"+e,{params:t});i.$element.trigger(n),-1!==s.inArray(e,o)&&(t.prevented=n.isDefaultPrevented())}})},e}),e.define("select2/translation",["jquery","require"],function(t,n){function i(e){this.dict=e||{}}return i.prototype.all=function(){return this.dict},i.prototype.get=function(e){return this.dict[e]},i.prototype.extend=function(e){this.dict=t.extend({},e.all(),this.dict)},i._cache={},i.loadPath=function(e){if(!(e in i._cache)){var t=n(e);i._cache[e]=t}return new i(i._cache[e])},i}),e.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","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ώ":"ω","ς":"σ","’":"'"}}),e.define("select2/data/base",["../utils"],function(i){function n(e,t){n.__super__.constructor.call(this)}return i.Extend(n,i.Observable),n.prototype.current=function(e){throw new Error("The `current` method must be defined in child classes.")},n.prototype.query=function(e,t){throw new Error("The `query` method must be defined in child classes.")},n.prototype.bind=function(e,t){},n.prototype.destroy=function(){},n.prototype.generateResultId=function(e,t){var n=e.id+"-result-";return n+=i.generateChars(4),null!=t.id?n+="-"+t.id.toString():n+="-"+i.generateChars(4),n},n}),e.define("select2/data/select",["./base","../utils","jquery"],function(e,a,l){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return a.Extend(n,e),n.prototype.current=function(e){var n=[],i=this;this.$element.find(":selected").each(function(){var e=l(this),t=i.item(e);n.push(t)}),e(n)},n.prototype.select=function(r){var o=this;if(r.selected=!0,l(r.element).is("option"))return r.element.selected=!0,void this.$element.trigger("input").trigger("change");if(this.$element.prop("multiple"))this.current(function(e){var t=[];(r=[r]).push.apply(r,e);for(var n=0;n<r.length;n++){var i=r[n].id;-1===l.inArray(i,t)&&t.push(i)}o.$element.val(t),o.$element.trigger("input").trigger("change")});else{var e=r.id;this.$element.val(e),this.$element.trigger("input").trigger("change")}},n.prototype.unselect=function(r){var o=this;if(this.$element.prop("multiple")){if(r.selected=!1,l(r.element).is("option"))return r.element.selected=!1,void this.$element.trigger("input").trigger("change");this.current(function(e){for(var t=[],n=0;n<e.length;n++){var i=e[n].id;i!==r.id&&-1===l.inArray(i,t)&&t.push(i)}o.$element.val(t),o.$element.trigger("input").trigger("change")})}},n.prototype.bind=function(e,t){var n=this;(this.container=e).on("select",function(e){n.select(e.data)}),e.on("unselect",function(e){n.unselect(e.data)})},n.prototype.destroy=function(){this.$element.find("*").each(function(){a.RemoveData(this)})},n.prototype.query=function(i,e){var r=[],o=this;this.$element.children().each(function(){var e=l(this);if(e.is("option")||e.is("optgroup")){var t=o.item(e),n=o.matches(i,t);null!==n&&r.push(n)}}),e({results:r})},n.prototype.addOptions=function(e){a.appendMany(this.$element,e)},n.prototype.option=function(e){var t;e.children?(t=document.createElement("optgroup")).label=e.text:void 0!==(t=document.createElement("option")).textContent?t.textContent=e.text:t.innerText=e.text,void 0!==e.id&&(t.value=e.id),e.disabled&&(t.disabled=!0),e.selected&&(t.selected=!0),e.title&&(t.title=e.title);var n=l(t),i=this._normalizeItem(e);return i.element=t,a.StoreData(t,"data",i),n},n.prototype.item=function(e){var t={};if(null!=(t=a.GetData(e[0],"data")))return t;if(e.is("option"))t={id:e.val(),text:e.text(),disabled:e.prop("disabled"),selected:e.prop("selected"),title:e.prop("title")};else if(e.is("optgroup")){t={text:e.prop("label"),children:[],title:e.prop("title")};for(var n=e.children("option"),i=[],r=0;r<n.length;r++){var o=l(n[r]),s=this.item(o);i.push(s)}t.children=i}return(t=this._normalizeItem(t)).element=e[0],a.StoreData(e[0],"data",t),t},n.prototype._normalizeItem=function(e){e!==Object(e)&&(e={id:e,text:e});return null!=(e=l.extend({},{text:""},e)).id&&(e.id=e.id.toString()),null!=e.text&&(e.text=e.text.toString()),null==e._resultId&&e.id&&null!=this.container&&(e._resultId=this.generateResultId(this.container,e)),l.extend({},{selected:!1,disabled:!1},e)},n.prototype.matches=function(e,t){return this.options.get("matcher")(e,t)},n}),e.define("select2/data/array",["./select","../utils","jquery"],function(e,f,g){function i(e,t){this._dataToConvert=t.get("data")||[],i.__super__.constructor.call(this,e,t)}return f.Extend(i,e),i.prototype.bind=function(e,t){i.__super__.bind.call(this,e,t),this.addOptions(this.convertToOptions(this._dataToConvert))},i.prototype.select=function(n){var e=this.$element.find("option").filter(function(e,t){return t.value==n.id.toString()});0===e.length&&(e=this.option(n),this.addOptions(e)),i.__super__.select.call(this,n)},i.prototype.convertToOptions=function(e){var t=this,n=this.$element.find("option"),i=n.map(function(){return t.item(g(this)).id}).get(),r=[];function o(e){return function(){return g(this).val()==e.id}}for(var s=0;s<e.length;s++){var a=this._normalizeItem(e[s]);if(0<=g.inArray(a.id,i)){var l=n.filter(o(a)),c=this.item(l),u=g.extend(!0,{},a,c),d=this.option(u);l.replaceWith(d)}else{var p=this.option(a);if(a.children){var h=this.convertToOptions(a.children);f.appendMany(p,h)}r.push(p)}}return r},i}),e.define("select2/data/ajax",["./array","../utils","jquery"],function(e,t,o){function n(e,t){this.ajaxOptions=this._applyDefaults(t.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),n.__super__.constructor.call(this,e,t)}return t.Extend(n,e),n.prototype._applyDefaults=function(e){var t={data:function(e){return o.extend({},e,{q:e.term})},transport:function(e,t,n){var i=o.ajax(e);return i.then(t),i.fail(n),i}};return o.extend({},t,e,!0)},n.prototype.processResults=function(e){return e},n.prototype.query=function(n,i){var r=this;null!=this._request&&(o.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var t=o.extend({type:"GET"},this.ajaxOptions);function e(){var e=t.transport(t,function(e){var t=r.processResults(e,n);r.options.get("debug")&&window.console&&console.error&&(t&&t.results&&o.isArray(t.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),i(t)},function(){"status"in e&&(0===e.status||"0"===e.status)||r.trigger("results:message",{message:"errorLoading"})});r._request=e}"function"==typeof t.url&&(t.url=t.url.call(this.$element,n)),"function"==typeof t.data&&(t.data=t.data.call(this.$element,n)),this.ajaxOptions.delay&&null!=n.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(e,this.ajaxOptions.delay)):e()},n}),e.define("select2/data/tags",["jquery"],function(u){function e(e,t,n){var i=n.get("tags"),r=n.get("createTag");void 0!==r&&(this.createTag=r);var o=n.get("insertTag");if(void 0!==o&&(this.insertTag=o),e.call(this,t,n),u.isArray(i))for(var s=0;s<i.length;s++){var a=i[s],l=this._normalizeItem(a),c=this.option(l);this.$element.append(c)}}return e.prototype.query=function(e,c,u){var d=this;this._removeOldTags(),null!=c.term&&null==c.page?e.call(this,c,function e(t,n){for(var i=t.results,r=0;r<i.length;r++){var o=i[r],s=null!=o.children&&!e({results:o.children},!0);if((o.text||"").toUpperCase()===(c.term||"").toUpperCase()||s)return!n&&(t.data=i,void u(t))}if(n)return!0;var a=d.createTag(c);if(null!=a){var l=d.option(a);l.attr("data-select2-tag",!0),d.addOptions([l]),d.insertTag(i,a)}t.results=i,u(t)}):e.call(this,c,u)},e.prototype.createTag=function(e,t){var n=u.trim(t.term);return""===n?null:{id:n,text:n}},e.prototype.insertTag=function(e,t,n){t.unshift(n)},e.prototype._removeOldTags=function(e){this.$element.find("option[data-select2-tag]").each(function(){this.selected||u(this).remove()})},e}),e.define("select2/data/tokenizer",["jquery"],function(d){function e(e,t,n){var i=n.get("tokenizer");void 0!==i&&(this.tokenizer=i),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){e.call(this,t,n),this.$search=t.dropdown.$search||t.selection.$search||n.find(".select2-search__field")},e.prototype.query=function(e,t,n){var i=this;t.term=t.term||"";var r=this.tokenizer(t,this.options,function(e){var t=i._normalizeItem(e);if(!i.$element.find("option").filter(function(){return d(this).val()===t.id}).length){var n=i.option(t);n.attr("data-select2-tag",!0),i._removeOldTags(),i.addOptions([n])}!function(e){i.trigger("select",{data:e})}(t)});r.term!==t.term&&(this.$search.length&&(this.$search.val(r.term),this.$search.trigger("focus")),t.term=r.term),e.call(this,t,n)},e.prototype.tokenizer=function(e,t,n,i){for(var r=n.get("tokenSeparators")||[],o=t.term,s=0,a=this.createTag||function(e){return{id:e.term,text:e.term}};s<o.length;){var l=o[s];if(-1!==d.inArray(l,r)){var c=o.substr(0,s),u=a(d.extend({},t,{term:c}));null!=u?(i(u),o=o.substr(s+1)||"",s=0):s++}else s++}return{term:o}},e}),e.define("select2/data/minimumInputLength",[],function(){function e(e,t,n){this.minimumInputLength=n.get("minimumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",t.term.length<this.minimumInputLength?this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumInputLength",[],function(){function e(e,t,n){this.maximumInputLength=n.get("maximumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",0<this.maximumInputLength&&t.term.length>this.maximumInputLength?this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumSelectionLength",[],function(){function e(e,t,n){this.maximumSelectionLength=n.get("maximumSelectionLength"),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),t.on("select",function(){i._checkIfMaximumSelected()})},e.prototype.query=function(e,t,n){var i=this;this._checkIfMaximumSelected(function(){e.call(i,t,n)})},e.prototype._checkIfMaximumSelected=function(e,n){var i=this;this.current(function(e){var t=null!=e?e.length:0;0<i.maximumSelectionLength&&t>=i.maximumSelectionLength?i.trigger("results:message",{message:"maximumSelected",args:{maximum:i.maximumSelectionLength}}):n&&n()})},e}),e.define("select2/dropdown",["jquery","./utils"],function(t,e){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return e.Extend(n,e.Observable),n.prototype.render=function(){var e=t('<span class="select2-dropdown"><span class="select2-results"></span></span>');return e.attr("dir",this.options.get("dir")),this.$dropdown=e},n.prototype.bind=function(){},n.prototype.position=function(e,t){},n.prototype.destroy=function(){this.$dropdown.remove()},n}),e.define("select2/dropdown/search",["jquery","../utils"],function(o,e){function t(){}return t.prototype.render=function(e){var t=e.call(this),n=o('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></span>');return this.$searchContainer=n,this.$search=n.find("input"),t.prepend(n),t},t.prototype.bind=function(e,t,n){var i=this,r=t.id+"-results";e.call(this,t,n),this.$search.on("keydown",function(e){i.trigger("keypress",e),i._keyUpPrevented=e.isDefaultPrevented()}),this.$search.on("input",function(e){o(this).off("keyup")}),this.$search.on("keyup input",function(e){i.handleSearch(e)}),t.on("open",function(){i.$search.attr("tabindex",0),i.$search.attr("aria-controls",r),i.$search.trigger("focus"),window.setTimeout(function(){i.$search.trigger("focus")},0)}),t.on("close",function(){i.$search.attr("tabindex",-1),i.$search.removeAttr("aria-controls"),i.$search.removeAttr("aria-activedescendant"),i.$search.val(""),i.$search.trigger("blur")}),t.on("focus",function(){t.isOpen()||i.$search.trigger("focus")}),t.on("results:all",function(e){null!=e.query.term&&""!==e.query.term||(i.showSearch(e)?i.$searchContainer.removeClass("select2-search--hide"):i.$searchContainer.addClass("select2-search--hide"))}),t.on("results:focus",function(e){e.data._resultId?i.$search.attr("aria-activedescendant",e.data._resultId):i.$search.removeAttr("aria-activedescendant")})},t.prototype.handleSearch=function(e){if(!this._keyUpPrevented){var t=this.$search.val();this.trigger("query",{term:t})}this._keyUpPrevented=!1},t.prototype.showSearch=function(e,t){return!0},t}),e.define("select2/dropdown/hidePlaceholder",[],function(){function e(e,t,n,i){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n,i)}return e.prototype.append=function(e,t){t.results=this.removePlaceholder(t.results),e.call(this,t)},e.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},e.prototype.removePlaceholder=function(e,t){for(var n=t.slice(0),i=t.length-1;0<=i;i--){var r=t[i];this.placeholder.id===r.id&&n.splice(i,1)}return n},e}),e.define("select2/dropdown/infiniteScroll",["jquery"],function(n){function e(e,t,n,i){this.lastParams={},e.call(this,t,n,i),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return e.prototype.append=function(e,t){this.$loadingMore.remove(),this.loading=!1,e.call(this,t),this.showLoadingMore(t)&&(this.$results.append(this.$loadingMore),this.loadMoreIfNeeded())},e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),t.on("query",function(e){i.lastParams=e,i.loading=!0}),t.on("query:append",function(e){i.lastParams=e,i.loading=!0}),this.$results.on("scroll",this.loadMoreIfNeeded.bind(this))},e.prototype.loadMoreIfNeeded=function(){var e=n.contains(document.documentElement,this.$loadingMore[0]);if(!this.loading&&e){var t=this.$results.offset().top+this.$results.outerHeight(!1);this.$loadingMore.offset().top+this.$loadingMore.outerHeight(!1)<=t+50&&this.loadMore()}},e.prototype.loadMore=function(){this.loading=!0;var e=n.extend({},{page:1},this.lastParams);e.page++,this.trigger("query:append",e)},e.prototype.showLoadingMore=function(e,t){return t.pagination&&t.pagination.more},e.prototype.createLoadingMore=function(){var e=n('<li class="select2-results__option select2-results__option--load-more"role="option" aria-disabled="true"></li>'),t=this.options.get("translations").get("loadingMore");return e.html(t(this.lastParams)),e},e}),e.define("select2/dropdown/attachBody",["jquery","../utils"],function(f,a){function e(e,t,n){this.$dropdownParent=f(n.get("dropdownParent")||document.body),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),t.on("open",function(){i._showDropdown(),i._attachPositioningHandler(t),i._bindContainerResultHandlers(t)}),t.on("close",function(){i._hideDropdown(),i._detachPositioningHandler(t)}),this.$dropdownContainer.on("mousedown",function(e){e.stopPropagation()})},e.prototype.destroy=function(e){e.call(this),this.$dropdownContainer.remove()},e.prototype.position=function(e,t,n){t.attr("class",n.attr("class")),t.removeClass("select2"),t.addClass("select2-container--open"),t.css({position:"absolute",top:-999999}),this.$container=n},e.prototype.render=function(e){var t=f("<span></span>"),n=e.call(this);return t.append(n),this.$dropdownContainer=t},e.prototype._hideDropdown=function(e){this.$dropdownContainer.detach()},e.prototype._bindContainerResultHandlers=function(e,t){if(!this._containerResultsHandlersBound){var n=this;t.on("results:all",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("results:append",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("results:message",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("select",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("unselect",function(){n._positionDropdown(),n._resizeDropdown()}),this._containerResultsHandlersBound=!0}},e.prototype._attachPositioningHandler=function(e,t){var n=this,i="scroll.select2."+t.id,r="resize.select2."+t.id,o="orientationchange.select2."+t.id,s=this.$container.parents().filter(a.hasScroll);s.each(function(){a.StoreData(this,"select2-scroll-position",{x:f(this).scrollLeft(),y:f(this).scrollTop()})}),s.on(i,function(e){var t=a.GetData(this,"select2-scroll-position");f(this).scrollTop(t.y)}),f(window).on(i+" "+r+" "+o,function(e){n._positionDropdown(),n._resizeDropdown()})},e.prototype._detachPositioningHandler=function(e,t){var n="scroll.select2."+t.id,i="resize.select2."+t.id,r="orientationchange.select2."+t.id;this.$container.parents().filter(a.hasScroll).off(n),f(window).off(n+" "+i+" "+r)},e.prototype._positionDropdown=function(){var e=f(window),t=this.$dropdown.hasClass("select2-dropdown--above"),n=this.$dropdown.hasClass("select2-dropdown--below"),i=null,r=this.$container.offset();r.bottom=r.top+this.$container.outerHeight(!1);var o={height:this.$container.outerHeight(!1)};o.top=r.top,o.bottom=r.top+o.height;var s=this.$dropdown.outerHeight(!1),a=e.scrollTop(),l=e.scrollTop()+e.height(),c=a<r.top-s,u=l>r.bottom+s,d={left:r.left,top:o.bottom},p=this.$dropdownParent;"static"===p.css("position")&&(p=p.offsetParent());var h={top:0,left:0};(f.contains(document.body,p[0])||p[0].isConnected)&&(h=p.offset()),d.top-=h.top,d.left-=h.left,t||n||(i="below"),u||!c||t?!c&&u&&t&&(i="below"):i="above",("above"==i||t&&"below"!==i)&&(d.top=o.top-h.top-s),null!=i&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+i),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+i)),this.$dropdownContainer.css(d)},e.prototype._resizeDropdown=function(){var e={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(e.minWidth=e.width,e.position="relative",e.width="auto"),this.$dropdown.css(e)},e.prototype._showDropdown=function(e){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},e}),e.define("select2/dropdown/minimumResultsForSearch",[],function(){function e(e,t,n,i){this.minimumResultsForSearch=n.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),e.call(this,t,n,i)}return e.prototype.showSearch=function(e,t){return!(function e(t){for(var n=0,i=0;i<t.length;i++){var r=t[i];r.children?n+=e(r.children):n++}return n}(t.data.results)<this.minimumResultsForSearch)&&e.call(this,t)},e}),e.define("select2/dropdown/selectOnClose",["../utils"],function(o){function e(){}return e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),t.on("close",function(e){i._handleSelectOnClose(e)})},e.prototype._handleSelectOnClose=function(e,t){if(t&&null!=t.originalSelect2Event){var n=t.originalSelect2Event;if("select"===n._type||"unselect"===n._type)return}var i=this.getHighlightedResults();if(!(i.length<1)){var r=o.GetData(i[0],"data");null!=r.element&&r.element.selected||null==r.element&&r.selected||this.trigger("select",{data:r})}},e}),e.define("select2/dropdown/closeOnSelect",[],function(){function e(){}return e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),t.on("select",function(e){i._selectTriggered(e)}),t.on("unselect",function(e){i._selectTriggered(e)})},e.prototype._selectTriggered=function(e,t){var n=t.originalEvent;n&&(n.ctrlKey||n.metaKey)||this.trigger("close",{originalEvent:n,originalSelect2Event:t})},e}),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 1!=t&&(n+="s"),n},inputTooShort:function(e){return"Please enter "+(e.minimum-e.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return 1!=e.maximum&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"},removeAllItems:function(){return"Remove all items"}}}),e.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(c,u,d,p,h,f,g,m,v,y,s,t,_,w,$,b,A,x,D,S,C,E,O,T,q,j,L,I,e){function n(){this.reset()}return n.prototype.apply=function(e){if(null==(e=c.extend(!0,{},this.defaults,e)).dataAdapter){if(null!=e.ajax?e.dataAdapter=$:null!=e.data?e.dataAdapter=w:e.dataAdapter=_,0<e.minimumInputLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,x)),0<e.maximumInputLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,D)),0<e.maximumSelectionLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,S)),e.tags&&(e.dataAdapter=y.Decorate(e.dataAdapter,b)),null==e.tokenSeparators&&null==e.tokenizer||(e.dataAdapter=y.Decorate(e.dataAdapter,A)),null!=e.query){var t=u(e.amdBase+"compat/query");e.dataAdapter=y.Decorate(e.dataAdapter,t)}if(null!=e.initSelection){var n=u(e.amdBase+"compat/initSelection");e.dataAdapter=y.Decorate(e.dataAdapter,n)}}if(null==e.resultsAdapter&&(e.resultsAdapter=d,null!=e.ajax&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,T)),null!=e.placeholder&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,O)),e.selectOnClose&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,L))),null==e.dropdownAdapter){if(e.multiple)e.dropdownAdapter=C;else{var i=y.Decorate(C,E);e.dropdownAdapter=i}if(0!==e.minimumResultsForSearch&&(e.dropdownAdapter=y.Decorate(e.dropdownAdapter,j)),e.closeOnSelect&&(e.dropdownAdapter=y.Decorate(e.dropdownAdapter,I)),null!=e.dropdownCssClass||null!=e.dropdownCss||null!=e.adaptDropdownCssClass){var r=u(e.amdBase+"compat/dropdownCss");e.dropdownAdapter=y.Decorate(e.dropdownAdapter,r)}e.dropdownAdapter=y.Decorate(e.dropdownAdapter,q)}if(null==e.selectionAdapter){if(e.multiple?e.selectionAdapter=h:e.selectionAdapter=p,null!=e.placeholder&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,f)),e.allowClear&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,g)),e.multiple&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,m)),null!=e.containerCssClass||null!=e.containerCss||null!=e.adaptContainerCssClass){var o=u(e.amdBase+"compat/containerCss");e.selectionAdapter=y.Decorate(e.selectionAdapter,o)}e.selectionAdapter=y.Decorate(e.selectionAdapter,v)}e.language=this._resolveLanguage(e.language),e.language.push("en");for(var s=[],a=0;a<e.language.length;a++){var l=e.language[a];-1===s.indexOf(l)&&s.push(l)}return e.language=s,e.translations=this._processTranslations(e.language,e.debug),e},n.prototype.reset=function(){function a(e){return e.replace(/[^\u0000-\u007E]/g,function(e){return t[e]||e})}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:y.escapeMarkup,language:{},matcher:function e(t,n){if(""===c.trim(t.term))return n;if(n.children&&0<n.children.length){for(var i=c.extend(!0,{},n),r=n.children.length-1;0<=r;r--)null==e(t,n.children[r])&&i.children.splice(r,1);return 0<i.children.length?i:e(t,i)}var o=a(n.text).toUpperCase(),s=a(t.term).toUpperCase();return-1<o.indexOf(s)?n:null},minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,scrollAfterSelect:!1,sorter:function(e){return e},templateResult:function(e){return e.text},templateSelection:function(e){return e.text},theme:"default",width:"resolve"}},n.prototype.applyFromElement=function(e,t){var n=e.language,i=this.defaults.language,r=t.prop("lang"),o=t.closest("[lang]").prop("lang"),s=Array.prototype.concat.call(this._resolveLanguage(r),this._resolveLanguage(n),this._resolveLanguage(i),this._resolveLanguage(o));return e.language=s,e},n.prototype._resolveLanguage=function(e){if(!e)return[];if(c.isEmptyObject(e))return[];if(c.isPlainObject(e))return[e];var t;t=c.isArray(e)?e:[e];for(var n=[],i=0;i<t.length;i++)if(n.push(t[i]),"string"==typeof t[i]&&0<t[i].indexOf("-")){var r=t[i].split("-")[0];n.push(r)}return n},n.prototype._processTranslations=function(e,t){for(var n=new s,i=0;i<e.length;i++){var r=new s,o=e[i];if("string"==typeof o)try{r=s.loadPath(o)}catch(e){try{o=this.defaults.amdLanguageBase+o,r=s.loadPath(o)}catch(e){t&&window.console&&console.warn&&console.warn('Select2: The language file for "'+o+'" could not be automatically loaded. A fallback will be used instead.')}}else r=c.isPlainObject(o)?new s(o):o;n.extend(r)}return n},n.prototype.set=function(e,t){var n={};n[c.camelCase(e)]=t;var i=y._convertData(n);c.extend(!0,this.defaults,i)},new n}),e.define("select2/options",["require","jquery","./defaults","./utils"],function(i,d,r,p){function e(e,t){if(this.options=e,null!=t&&this.fromElement(t),null!=t&&(this.options=r.applyFromElement(this.options,t)),this.options=r.apply(this.options),t&&t.is("input")){var n=i(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=p.Decorate(this.options.dataAdapter,n)}}return e.prototype.fromElement=function(e){var t=["select2"];null==this.options.multiple&&(this.options.multiple=e.prop("multiple")),null==this.options.disabled&&(this.options.disabled=e.prop("disabled")),null==this.options.dir&&(e.prop("dir")?this.options.dir=e.prop("dir"):e.closest("[dir]").prop("dir")?this.options.dir=e.closest("[dir]").prop("dir"):this.options.dir="ltr"),e.prop("disabled",this.options.disabled),e.prop("multiple",this.options.multiple),p.GetData(e[0],"select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),p.StoreData(e[0],"data",p.GetData(e[0],"select2Tags")),p.StoreData(e[0],"tags",!0)),p.GetData(e[0],"ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),e.attr("ajax--url",p.GetData(e[0],"ajaxUrl")),p.StoreData(e[0],"ajax-Url",p.GetData(e[0],"ajaxUrl")));var n={};function i(e,t){return t.toUpperCase()}for(var r=0;r<e[0].attributes.length;r++){var o=e[0].attributes[r].name,s="data-";if(o.substr(0,s.length)==s){var a=o.substring(s.length),l=p.GetData(e[0],a);n[a.replace(/-([a-z])/g,i)]=l}}d.fn.jquery&&"1."==d.fn.jquery.substr(0,2)&&e[0].dataset&&(n=d.extend(!0,{},e[0].dataset,n));var c=d.extend(!0,{},p.GetData(e[0]),n);for(var u in c=p._convertData(c))-1<d.inArray(u,t)||(d.isPlainObject(this.options[u])?d.extend(this.options[u],c[u]):this.options[u]=c[u]);return this},e.prototype.get=function(e){return this.options[e]},e.prototype.set=function(e,t){this.options[e]=t},e}),e.define("select2/core",["jquery","./options","./utils","./keys"],function(o,c,u,i){var d=function(e,t){null!=u.GetData(e[0],"select2")&&u.GetData(e[0],"select2").destroy(),this.$element=e,this.id=this._generateId(e),t=t||{},this.options=new c(t,e),d.__super__.constructor.call(this);var n=e.attr("tabindex")||0;u.StoreData(e[0],"old-tabindex",n),e.attr("tabindex","-1");var i=this.options.get("dataAdapter");this.dataAdapter=new i(e,this.options);var r=this.render();this._placeContainer(r);var o=this.options.get("selectionAdapter");this.selection=new o(e,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,r);var s=this.options.get("dropdownAdapter");this.dropdown=new s(e,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,r);var a=this.options.get("resultsAdapter");this.results=new a(e,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(e){l.trigger("selection:update",{data:e})}),e.addClass("select2-hidden-accessible"),e.attr("aria-hidden","true"),this._syncAttributes(),u.StoreData(e[0],"select2",this),e.data("select2",this)};return u.Extend(d,u.Observable),d.prototype._generateId=function(e){return"select2-"+(null!=e.attr("id")?e.attr("id"):null!=e.attr("name")?e.attr("name")+"-"+u.generateChars(2):u.generateChars(4)).replace(/(:|\.|\[|\]|,)/g,"")},d.prototype._placeContainer=function(e){e.insertAfter(this.$element);var t=this._resolveWidth(this.$element,this.options.get("width"));null!=t&&e.css("width",t)},d.prototype._resolveWidth=function(e,t){var n=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==t){var i=this._resolveWidth(e,"style");return null!=i?i:this._resolveWidth(e,"element")}if("element"==t){var r=e.outerWidth(!1);return r<=0?"auto":r+"px"}if("style"!=t)return"computedstyle"!=t?t:window.getComputedStyle(e[0]).width;var o=e.attr("style");if("string"!=typeof o)return null;for(var s=o.split(";"),a=0,l=s.length;a<l;a+=1){var c=s[a].replace(/\s/g,"").match(n);if(null!==c&&1<=c.length)return c[1]}return null},d.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},d.prototype._registerDomEvents=function(){var t=this;this.$element.on("change.select2",function(){t.dataAdapter.current(function(e){t.trigger("selection:update",{data:e})})}),this.$element.on("focus.select2",function(e){t.trigger("focus",e)}),this._syncA=u.bind(this._syncAttributes,this),this._syncS=u.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var e=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=e?(this._observer=new e(function(e){t._syncA(),t._syncS(null,e)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",t._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",t._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",t._syncS,!1))},d.prototype._registerDataEvents=function(){var n=this;this.dataAdapter.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerSelectionEvents=function(){var n=this,i=["toggle","focus"];this.selection.on("toggle",function(){n.toggleDropdown()}),this.selection.on("focus",function(e){n.focus(e)}),this.selection.on("*",function(e,t){-1===o.inArray(e,i)&&n.trigger(e,t)})},d.prototype._registerDropdownEvents=function(){var n=this;this.dropdown.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerResultsEvents=function(){var n=this;this.results.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerEvents=function(){var n=this;this.on("open",function(){n.$container.addClass("select2-container--open")}),this.on("close",function(){n.$container.removeClass("select2-container--open")}),this.on("enable",function(){n.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){n.$container.addClass("select2-container--disabled")}),this.on("blur",function(){n.$container.removeClass("select2-container--focus")}),this.on("query",function(t){n.isOpen()||n.trigger("open",{}),this.dataAdapter.query(t,function(e){n.trigger("results:all",{data:e,query:t})})}),this.on("query:append",function(t){this.dataAdapter.query(t,function(e){n.trigger("results:append",{data:e,query:t})})}),this.on("keypress",function(e){var t=e.which;n.isOpen()?t===i.ESC||t===i.TAB||t===i.UP&&e.altKey?(n.close(e),e.preventDefault()):t===i.ENTER?(n.trigger("results:select",{}),e.preventDefault()):t===i.SPACE&&e.ctrlKey?(n.trigger("results:toggle",{}),e.preventDefault()):t===i.UP?(n.trigger("results:previous",{}),e.preventDefault()):t===i.DOWN&&(n.trigger("results:next",{}),e.preventDefault()):(t===i.ENTER||t===i.SPACE||t===i.DOWN&&e.altKey)&&(n.open(),e.preventDefault())})},d.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.isDisabled()?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},d.prototype._isChangeMutation=function(e,t){var n=!1,i=this;if(!e||!e.target||"OPTION"===e.target.nodeName||"OPTGROUP"===e.target.nodeName){if(t)if(t.addedNodes&&0<t.addedNodes.length)for(var r=0;r<t.addedNodes.length;r++){t.addedNodes[r].selected&&(n=!0)}else t.removedNodes&&0<t.removedNodes.length?n=!0:o.isArray(t)&&o.each(t,function(e,t){if(i._isChangeMutation(e,t))return!(n=!0)});else n=!0;return n}},d.prototype._syncSubtree=function(e,t){var n=this._isChangeMutation(e,t),i=this;n&&this.dataAdapter.current(function(e){i.trigger("selection:update",{data:e})})},d.prototype.trigger=function(e,t){var n=d.__super__.trigger,i={open:"opening",close:"closing",select:"selecting",unselect:"unselecting",clear:"clearing"};if(void 0===t&&(t={}),e in i){var r=i[e],o={prevented:!1,name:e,args:t};if(n.call(this,r,o),o.prevented)return void(t.prevented=!0)}n.call(this,e,t)},d.prototype.toggleDropdown=function(){this.isDisabled()||(this.isOpen()?this.close():this.open())},d.prototype.open=function(){this.isOpen()||this.isDisabled()||this.trigger("query",{})},d.prototype.close=function(e){this.isOpen()&&this.trigger("close",{originalEvent:e})},d.prototype.isEnabled=function(){return!this.isDisabled()},d.prototype.isDisabled=function(){return this.options.get("disabled")},d.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},d.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},d.prototype.focus=function(e){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},d.prototype.enable=function(e){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=e&&0!==e.length||(e=[!0]);var t=!e[0];this.$element.prop("disabled",t)},d.prototype.data=function(){this.options.get("debug")&&0<arguments.length&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var t=[];return this.dataAdapter.current(function(e){t=e}),t},d.prototype.val=function(e){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==e||0===e.length)return this.$element.val();var t=e[0];o.isArray(t)&&(t=o.map(t,function(e){return e.toString()})),this.$element.val(t).trigger("input").trigger("change")},d.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",u.GetData(this.$element[0],"old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),u.RemoveData(this.$element[0]),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},d.prototype.render=function(){var e=o('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return e.attr("dir",this.options.get("dir")),this.$container=e,this.$container.addClass("select2-container--"+this.options.get("theme")),u.StoreData(e[0],"element",this.$element),e},d}),e.define("select2/compat/utils",["jquery"],function(s){return{syncCssClasses:function(e,t,n){var i,r,o=[];(i=s.trim(e.attr("class")))&&s((i=""+i).split(/\s+/)).each(function(){0===this.indexOf("select2-")&&o.push(this)}),(i=s.trim(t.attr("class")))&&s((i=""+i).split(/\s+/)).each(function(){0!==this.indexOf("select2-")&&null!=(r=n(this))&&o.push(r)}),e.attr("class",o.join(" "))}}}),e.define("select2/compat/containerCss",["jquery","./utils"],function(s,a){function l(e){return null}function e(){}return e.prototype.render=function(e){var t=e.call(this),n=this.options.get("containerCssClass")||"";s.isFunction(n)&&(n=n(this.$element));var i=this.options.get("adaptContainerCssClass");if(i=i||l,-1!==n.indexOf(":all:")){n=n.replace(":all:","");var r=i;i=function(e){var t=r(e);return null!=t?t+" "+e:e}}var o=this.options.get("containerCss")||{};return s.isFunction(o)&&(o=o(this.$element)),a.syncCssClasses(t,this.$element,i),t.css(o),t.addClass(n),t},e}),e.define("select2/compat/dropdownCss",["jquery","./utils"],function(s,a){function l(e){return null}function e(){}return e.prototype.render=function(e){var t=e.call(this),n=this.options.get("dropdownCssClass")||"";s.isFunction(n)&&(n=n(this.$element));var i=this.options.get("adaptDropdownCssClass");if(i=i||l,-1!==n.indexOf(":all:")){n=n.replace(":all:","");var r=i;i=function(e){var t=r(e);return null!=t?t+" "+e:e}}var o=this.options.get("dropdownCss")||{};return s.isFunction(o)&&(o=o(this.$element)),a.syncCssClasses(t,this.$element,i),t.css(o),t.addClass(n),t},e}),e.define("select2/compat/initSelection",["jquery"],function(i){function e(e,t,n){n.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `initSelection` option has been deprecated in favor of a custom data adapter that overrides the `current` method. This method is now called multiple times instead of a single time when the instance is initialized. Support will be removed for the `initSelection` option in future versions of Select2"),this.initSelection=n.get("initSelection"),this._isInitialized=!1,e.call(this,t,n)}return e.prototype.current=function(e,t){var n=this;this._isInitialized?e.call(this,t):this.initSelection.call(null,this.$element,function(e){n._isInitialized=!0,i.isArray(e)||(e=[e]),t(e)})},e}),e.define("select2/compat/inputData",["jquery","../utils"],function(s,i){function e(e,t,n){this._currentData=[],this._valueSeparator=n.get("valueSeparator")||",","hidden"===t.prop("type")&&n.get("debug")&&console&&console.warn&&console.warn("Select2: Using a hidden input with Select2 is no longer supported and may stop working in the future. It is recommended to use a `<select>` element instead."),e.call(this,t,n)}return e.prototype.current=function(e,t){function i(e,t){var n=[];return e.selected||-1!==s.inArray(e.id,t)?(e.selected=!0,n.push(e)):e.selected=!1,e.children&&n.push.apply(n,i(e.children,t)),n}for(var n=[],r=0;r<this._currentData.length;r++){var o=this._currentData[r];n.push.apply(n,i(o,this.$element.val().split(this._valueSeparator)))}t(n)},e.prototype.select=function(e,t){if(this.options.get("multiple")){var n=this.$element.val();n+=this._valueSeparator+t.id,this.$element.val(n),this.$element.trigger("input").trigger("change")}else this.current(function(e){s.map(e,function(e){e.selected=!1})}),this.$element.val(t.id),this.$element.trigger("input").trigger("change")},e.prototype.unselect=function(e,r){var o=this;r.selected=!1,this.current(function(e){for(var t=[],n=0;n<e.length;n++){var i=e[n];r.id!=i.id&&t.push(i.id)}o.$element.val(t.join(o._valueSeparator)),o.$element.trigger("input").trigger("change")})},e.prototype.query=function(e,t,n){for(var i=[],r=0;r<this._currentData.length;r++){var o=this._currentData[r],s=this.matches(t,o);null!==s&&i.push(s)}n({results:i})},e.prototype.addOptions=function(e,t){var n=s.map(t,function(e){return i.GetData(e[0],"data")});this._currentData.push.apply(this._currentData,n)},e}),e.define("select2/compat/matcher",["jquery"],function(s){return function(o){return function(e,t){var n=s.extend(!0,{},t);if(null==e.term||""===s.trim(e.term))return n;if(t.children){for(var i=t.children.length-1;0<=i;i--){var r=t.children[i];o(e.term,r.text,r)||n.children.splice(i,1)}if(0<n.children.length)return n}return o(e.term,t.text,t)?n:null}}}),e.define("select2/compat/query",[],function(){function e(e,t,n){n.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `query` option has been deprecated in favor of a custom data adapter that overrides the `query` method. Support will be removed for the `query` option in future versions of Select2."),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.callback=n,this.options.get("query").call(null,t)},e}),e.define("select2/dropdown/attachContainer",[],function(){function e(e,t,n){e.call(this,t,n)}return e.prototype.position=function(e,t,n){n.find(".dropdown-wrapper").append(t),t.addClass("select2-dropdown--below"),n.addClass("select2-container--below")},e}),e.define("select2/dropdown/stopPropagation",[],function(){function e(){}return e.prototype.bind=function(e,t,n){e.call(this,t,n);this.$dropdown.on(["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"].join(" "),function(e){e.stopPropagation()})},e}),e.define("select2/selection/stopPropagation",[],function(){function e(){}return e.prototype.bind=function(e,t,n){e.call(this,t,n);this.$selection.on(["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"].join(" "),function(e){e.stopPropagation()})},e}),l=function(p){var h,f,e=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],t="onwheel"in document||9<=document.documentMode?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],g=Array.prototype.slice;if(p.event.fixHooks)for(var n=e.length;n;)p.event.fixHooks[e[--n]]=p.event.mouseHooks;var m=p.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var e=t.length;e;)this.addEventListener(t[--e],i,!1);else this.onmousewheel=i;p.data(this,"mousewheel-line-height",m.getLineHeight(this)),p.data(this,"mousewheel-page-height",m.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var e=t.length;e;)this.removeEventListener(t[--e],i,!1);else this.onmousewheel=null;p.removeData(this,"mousewheel-line-height"),p.removeData(this,"mousewheel-page-height")},getLineHeight:function(e){var t=p(e),n=t["offsetParent"in p.fn?"offsetParent":"parent"]();return n.length||(n=p("body")),parseInt(n.css("fontSize"),10)||parseInt(t.css("fontSize"),10)||16},getPageHeight:function(e){return p(e).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};function i(e){var t,n=e||window.event,i=g.call(arguments,1),r=0,o=0,s=0,a=0,l=0;if((e=p.event.fix(n)).type="mousewheel","detail"in n&&(s=-1*n.detail),"wheelDelta"in n&&(s=n.wheelDelta),"wheelDeltaY"in n&&(s=n.wheelDeltaY),"wheelDeltaX"in n&&(o=-1*n.wheelDeltaX),"axis"in n&&n.axis===n.HORIZONTAL_AXIS&&(o=-1*s,s=0),r=0===s?o:s,"deltaY"in n&&(r=s=-1*n.deltaY),"deltaX"in n&&(o=n.deltaX,0===s&&(r=-1*o)),0!==s||0!==o){if(1===n.deltaMode){var c=p.data(this,"mousewheel-line-height");r*=c,s*=c,o*=c}else if(2===n.deltaMode){var u=p.data(this,"mousewheel-page-height");r*=u,s*=u,o*=u}if(t=Math.max(Math.abs(s),Math.abs(o)),(!f||t<f)&&y(n,f=t)&&(f/=40),y(n,t)&&(r/=40,o/=40,s/=40),r=Math[1<=r?"floor":"ceil"](r/f),o=Math[1<=o?"floor":"ceil"](o/f),s=Math[1<=s?"floor":"ceil"](s/f),m.settings.normalizeOffset&&this.getBoundingClientRect){var d=this.getBoundingClientRect();a=e.clientX-d.left,l=e.clientY-d.top}return e.deltaX=o,e.deltaY=s,e.deltaFactor=f,e.offsetX=a,e.offsetY=l,e.deltaMode=0,i.unshift(e,r,o,s),h&&clearTimeout(h),h=setTimeout(v,200),(p.event.dispatch||p.event.handle).apply(this,i)}}function v(){f=null}function y(e,t){return m.settings.adjustOldDeltas&&"mousewheel"===e.type&&t%120==0}p.fn.extend({mousewheel:function(e){return e?this.bind("mousewheel",e):this.trigger("mousewheel")},unmousewheel:function(e){return this.unbind("mousewheel",e)}})},"function"==typeof e.define&&e.define.amd?e.define("jquery-mousewheel",["jquery"],l):"object"==typeof exports?module.exports=l:l(d),e.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults","./select2/utils"],function(r,e,o,t,s){if(null==r.fn.select2){var a=["open","close","destroy"];r.fn.select2=function(t){if("object"==typeof(t=t||{}))return this.each(function(){var e=r.extend(!0,{},t);new o(r(this),e)}),this;if("string"!=typeof t)throw new Error("Invalid arguments for Select2: "+t);var n,i=Array.prototype.slice.call(arguments,1);return this.each(function(){var e=s.GetData(this,"select2");null==e&&window.console&&console.error&&console.error("The select2('"+t+"') method was called on an element that is not using Select2."),n=e[t].apply(e,i)}),-1<r.inArray(t,a)?this:n}}return null==r.fn.select2.defaults&&(r.fn.select2.defaults=t),o}),{define:e.define,require:e.require}}(),t=e.require("jquery.select2");return d.fn.select2.amd=e,t});
...\ No newline at end of file ...\ No newline at end of file
This diff could not be displayed because it is too large.
1 /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 !function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return void 0===t&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t),t}:n(jQuery)}(function(u){var e=function(){if(u&&u.fn&&u.fn.select2&&u.fn.select2.amd)var e=u.fn.select2.amd;var t,n,r,h,o,s,f,g,m,v,y,_,i,a,b;function w(e,t){return i.call(e,t)}function l(e,t){var n,r,i,o,s,a,l,c,u,d,p,h=t&&t.split("/"),f=y.map,g=f&&f["*"]||{};if(e){for(s=(e=e.split("/")).length-1,y.nodeIdCompat&&b.test(e[s])&&(e[s]=e[s].replace(b,"")),"."===e[0].charAt(0)&&h&&(e=h.slice(0,h.length-1).concat(e)),u=0;u<e.length;u++)if("."===(p=e[u]))e.splice(u,1),u-=1;else if(".."===p){if(0===u||1===u&&".."===e[2]||".."===e[u-1])continue;0<u&&(e.splice(u-1,2),u-=2)}e=e.join("/")}if((h||g)&&f){for(u=(n=e.split("/")).length;0<u;u-=1){if(r=n.slice(0,u).join("/"),h)for(d=h.length;0<d;d-=1)if(i=(i=f[h.slice(0,d).join("/")])&&i[r]){o=i,a=u;break}if(o)break;!l&&g&&g[r]&&(l=g[r],c=u)}!o&&l&&(o=l,a=c),o&&(n.splice(0,a,o),e=n.join("/"))}return e}function A(t,n){return function(){var e=a.call(arguments,0);return"string"!=typeof e[0]&&1===e.length&&e.push(null),s.apply(h,e.concat([t,n]))}}function x(t){return function(e){m[t]=e}}function D(e){if(w(v,e)){var t=v[e];delete v[e],_[e]=!0,o.apply(h,t)}if(!w(m,e)&&!w(_,e))throw new Error("No "+e);return m[e]}function c(e){var t,n=e?e.indexOf("!"):-1;return-1<n&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function S(e){return e?c(e):[]}return e&&e.requirejs||(e?n=e:e={},m={},v={},y={},_={},i=Object.prototype.hasOwnProperty,a=[].slice,b=/\.js$/,f=function(e,t){var n,r=c(e),i=r[0],o=t[1];return e=r[1],i&&(n=D(i=l(i,o))),i?e=n&&n.normalize?n.normalize(e,function(t){return function(e){return l(e,t)}}(o)):l(e,o):(i=(r=c(e=l(e,o)))[0],e=r[1],i&&(n=D(i))),{f:i?i+"!"+e:e,n:e,pr:i,p:n}},g={require:function(e){return A(e)},exports:function(e){var t=m[e];return void 0!==t?t:m[e]={}},module:function(e){return{id:e,uri:"",exports:m[e],config:function(e){return function(){return y&&y.config&&y.config[e]||{}}}(e)}}},o=function(e,t,n,r){var i,o,s,a,l,c,u,d=[],p=typeof n;if(c=S(r=r||e),"undefined"==p||"function"==p){for(t=!t.length&&n.length?["require","exports","module"]:t,l=0;l<t.length;l+=1)if("require"===(o=(a=f(t[l],c)).f))d[l]=g.require(e);else if("exports"===o)d[l]=g.exports(e),u=!0;else if("module"===o)i=d[l]=g.module(e);else if(w(m,o)||w(v,o)||w(_,o))d[l]=D(o);else{if(!a.p)throw new Error(e+" missing "+o);a.p.load(a.n,A(r,!0),x(o),{}),d[l]=m[o]}s=n?n.apply(m[e],d):void 0,e&&(i&&i.exports!==h&&i.exports!==m[e]?m[e]=i.exports:s===h&&u||(m[e]=s))}else e&&(m[e]=n)},t=n=s=function(e,t,n,r,i){if("string"==typeof e)return g[e]?g[e](t):D(f(e,S(t)).f);if(!e.splice){if((y=e).deps&&s(y.deps,y.callback),!t)return;t.splice?(e=t,t=n,n=null):e=h}return t=t||function(){},"function"==typeof n&&(n=r,r=i),r?o(h,e,t,n):setTimeout(function(){o(h,e,t,n)},4),s},s.config=function(e){return s(e)},t._defined=m,(r=function(e,t,n){if("string"!=typeof e)throw new Error("See almond README: incorrect module build, no module name");t.splice||(n=t,t=[]),w(m,e)||w(v,e)||(v[e]=[e,t,n])}).amd={jQuery:!0},e.requirejs=t,e.require=n,e.define=r),e.define("almond",function(){}),e.define("jquery",[],function(){var e=u||$;return null==e&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),e}),e.define("select2/utils",["jquery"],function(o){var i={};function u(e){var t=e.prototype,n=[];for(var r in t){"function"==typeof t[r]&&"constructor"!==r&&n.push(r)}return n}i.Extend=function(e,t){var n={}.hasOwnProperty;function r(){this.constructor=e}for(var i in t)n.call(t,i)&&(e[i]=t[i]);return r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype,e},i.Decorate=function(r,i){var e=u(i),t=u(r);function o(){var e=Array.prototype.unshift,t=i.prototype.constructor.length,n=r.prototype.constructor;0<t&&(e.call(arguments,r.prototype.constructor),n=i.prototype.constructor),n.apply(this,arguments)}i.displayName=r.displayName,o.prototype=new function(){this.constructor=o};for(var n=0;n<t.length;n++){var s=t[n];o.prototype[s]=r.prototype[s]}function a(e){var t=function(){};e in o.prototype&&(t=o.prototype[e]);var n=i.prototype[e];return function(){return Array.prototype.unshift.call(arguments,t),n.apply(this,arguments)}}for(var l=0;l<e.length;l++){var c=e[l];o.prototype[c]=a(c)}return o};function e(){this.listeners={}}e.prototype.on=function(e,t){this.listeners=this.listeners||{},e in this.listeners?this.listeners[e].push(t):this.listeners[e]=[t]},e.prototype.trigger=function(e){var t=Array.prototype.slice,n=t.call(arguments,1);this.listeners=this.listeners||{},null==n&&(n=[]),0===n.length&&n.push({}),(n[0]._type=e)in this.listeners&&this.invoke(this.listeners[e],t.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},e.prototype.invoke=function(e,t){for(var n=0,r=e.length;n<r;n++)e[n].apply(this,t)},i.Observable=e,i.generateChars=function(e){for(var t="",n=0;n<e;n++){t+=Math.floor(36*Math.random()).toString(36)}return t},i.bind=function(e,t){return function(){e.apply(t,arguments)}},i._convertData=function(e){for(var t in e){var n=t.split("-"),r=e;if(1!==n.length){for(var i=0;i<n.length;i++){var o=n[i];(o=o.substring(0,1).toLowerCase()+o.substring(1))in r||(r[o]={}),i==n.length-1&&(r[o]=e[t]),r=r[o]}delete e[t]}}return e},i.hasScroll=function(e,t){var n=o(t),r=t.style.overflowX,i=t.style.overflowY;return(r!==i||"hidden"!==i&&"visible"!==i)&&("scroll"===r||"scroll"===i||(n.innerHeight()<t.scrollHeight||n.innerWidth()<t.scrollWidth))},i.escapeMarkup=function(e){var t={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return"string"!=typeof e?e:String(e).replace(/[&<>"'\/\\]/g,function(e){return t[e]})},i.appendMany=function(e,t){if("1.7"===o.fn.jquery.substr(0,3)){var n=o();o.map(t,function(e){n=n.add(e)}),t=n}e.append(t)},i.__cache={};var n=0;return i.GetUniqueElementId=function(e){var t=e.getAttribute("data-select2-id");return null==t&&(e.id?(t=e.id,e.setAttribute("data-select2-id",t)):(e.setAttribute("data-select2-id",++n),t=n.toString())),t},i.StoreData=function(e,t,n){var r=i.GetUniqueElementId(e);i.__cache[r]||(i.__cache[r]={}),i.__cache[r][t]=n},i.GetData=function(e,t){var n=i.GetUniqueElementId(e);return t?i.__cache[n]&&null!=i.__cache[n][t]?i.__cache[n][t]:o(e).data(t):i.__cache[n]},i.RemoveData=function(e){var t=i.GetUniqueElementId(e);null!=i.__cache[t]&&delete i.__cache[t],e.removeAttribute("data-select2-id")},i}),e.define("select2/results",["jquery","./utils"],function(h,f){function r(e,t,n){this.$element=e,this.data=n,this.options=t,r.__super__.constructor.call(this)}return f.Extend(r,f.Observable),r.prototype.render=function(){var e=h('<ul class="select2-results__options" role="listbox"></ul>');return this.options.get("multiple")&&e.attr("aria-multiselectable","true"),this.$results=e},r.prototype.clear=function(){this.$results.empty()},r.prototype.displayMessage=function(e){var t=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var n=h('<li role="alert" aria-live="assertive" class="select2-results__option"></li>'),r=this.options.get("translations").get(e.message);n.append(t(r(e.args))),n[0].className+=" select2-results__message",this.$results.append(n)},r.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},r.prototype.append=function(e){this.hideLoading();var t=[];if(null!=e.results&&0!==e.results.length){e.results=this.sort(e.results);for(var n=0;n<e.results.length;n++){var r=e.results[n],i=this.option(r);t.push(i)}this.$results.append(t)}else 0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"})},r.prototype.position=function(e,t){t.find(".select2-results").append(e)},r.prototype.sort=function(e){return this.options.get("sorter")(e)},r.prototype.highlightFirstItem=function(){var e=this.$results.find(".select2-results__option[aria-selected]"),t=e.filter("[aria-selected=true]");0<t.length?t.first().trigger("mouseenter"):e.first().trigger("mouseenter"),this.ensureHighlightVisible()},r.prototype.setClasses=function(){var t=this;this.data.current(function(e){var r=h.map(e,function(e){return e.id.toString()});t.$results.find(".select2-results__option[aria-selected]").each(function(){var e=h(this),t=f.GetData(this,"data"),n=""+t.id;null!=t.element&&t.element.selected||null==t.element&&-1<h.inArray(n,r)?e.attr("aria-selected","true"):e.attr("aria-selected","false")})})},r.prototype.showLoading=function(e){this.hideLoading();var t={disabled:!0,loading:!0,text:this.options.get("translations").get("searching")(e)},n=this.option(t);n.className+=" loading-results",this.$results.prepend(n)},r.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},r.prototype.option=function(e){var t=document.createElement("li");t.className="select2-results__option";var n={role:"option","aria-selected":"false"},r=window.Element.prototype.matches||window.Element.prototype.msMatchesSelector||window.Element.prototype.webkitMatchesSelector;for(var i in(null!=e.element&&r.call(e.element,":disabled")||null==e.element&&e.disabled)&&(delete n["aria-selected"],n["aria-disabled"]="true"),null==e.id&&delete n["aria-selected"],null!=e._resultId&&(t.id=e._resultId),e.title&&(t.title=e.title),e.children&&(n.role="group",n["aria-label"]=e.text,delete n["aria-selected"]),n){var o=n[i];t.setAttribute(i,o)}if(e.children){var s=h(t),a=document.createElement("strong");a.className="select2-results__group";h(a);this.template(e,a);for(var l=[],c=0;c<e.children.length;c++){var u=e.children[c],d=this.option(u);l.push(d)}var p=h("<ul></ul>",{class:"select2-results__options select2-results__options--nested"});p.append(l),s.append(a),s.append(p)}else this.template(e,t);return f.StoreData(t,"data",e),t},r.prototype.bind=function(t,e){var l=this,n=t.id+"-results";this.$results.attr("id",n),t.on("results:all",function(e){l.clear(),l.append(e.data),t.isOpen()&&(l.setClasses(),l.highlightFirstItem())}),t.on("results:append",function(e){l.append(e.data),t.isOpen()&&l.setClasses()}),t.on("query",function(e){l.hideMessages(),l.showLoading(e)}),t.on("select",function(){t.isOpen()&&(l.setClasses(),l.options.get("scrollAfterSelect")&&l.highlightFirstItem())}),t.on("unselect",function(){t.isOpen()&&(l.setClasses(),l.options.get("scrollAfterSelect")&&l.highlightFirstItem())}),t.on("open",function(){l.$results.attr("aria-expanded","true"),l.$results.attr("aria-hidden","false"),l.setClasses(),l.ensureHighlightVisible()}),t.on("close",function(){l.$results.attr("aria-expanded","false"),l.$results.attr("aria-hidden","true"),l.$results.removeAttr("aria-activedescendant")}),t.on("results:toggle",function(){var e=l.getHighlightedResults();0!==e.length&&e.trigger("mouseup")}),t.on("results:select",function(){var e=l.getHighlightedResults();if(0!==e.length){var t=f.GetData(e[0],"data");"true"==e.attr("aria-selected")?l.trigger("close",{}):l.trigger("select",{data:t})}}),t.on("results:previous",function(){var e=l.getHighlightedResults(),t=l.$results.find("[aria-selected]"),n=t.index(e);if(!(n<=0)){var r=n-1;0===e.length&&(r=0);var i=t.eq(r);i.trigger("mouseenter");var o=l.$results.offset().top,s=i.offset().top,a=l.$results.scrollTop()+(s-o);0===r?l.$results.scrollTop(0):s-o<0&&l.$results.scrollTop(a)}}),t.on("results:next",function(){var e=l.getHighlightedResults(),t=l.$results.find("[aria-selected]"),n=t.index(e)+1;if(!(n>=t.length)){var r=t.eq(n);r.trigger("mouseenter");var i=l.$results.offset().top+l.$results.outerHeight(!1),o=r.offset().top+r.outerHeight(!1),s=l.$results.scrollTop()+o-i;0===n?l.$results.scrollTop(0):i<o&&l.$results.scrollTop(s)}}),t.on("results:focus",function(e){e.element.addClass("select2-results__option--highlighted")}),t.on("results:message",function(e){l.displayMessage(e)}),h.fn.mousewheel&&this.$results.on("mousewheel",function(e){var t=l.$results.scrollTop(),n=l.$results.get(0).scrollHeight-t+e.deltaY,r=0<e.deltaY&&t-e.deltaY<=0,i=e.deltaY<0&&n<=l.$results.height();r?(l.$results.scrollTop(0),e.preventDefault(),e.stopPropagation()):i&&(l.$results.scrollTop(l.$results.get(0).scrollHeight-l.$results.height()),e.preventDefault(),e.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(e){var t=h(this),n=f.GetData(this,"data");"true"!==t.attr("aria-selected")?l.trigger("select",{originalEvent:e,data:n}):l.options.get("multiple")?l.trigger("unselect",{originalEvent:e,data:n}):l.trigger("close",{})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(e){var t=f.GetData(this,"data");l.getHighlightedResults().removeClass("select2-results__option--highlighted"),l.trigger("results:focus",{data:t,element:h(this)})})},r.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},r.prototype.destroy=function(){this.$results.remove()},r.prototype.ensureHighlightVisible=function(){var e=this.getHighlightedResults();if(0!==e.length){var t=this.$results.find("[aria-selected]").index(e),n=this.$results.offset().top,r=e.offset().top,i=this.$results.scrollTop()+(r-n),o=r-n;i-=2*e.outerHeight(!1),t<=2?this.$results.scrollTop(0):(o>this.$results.outerHeight()||o<0)&&this.$results.scrollTop(i)}},r.prototype.template=function(e,t){var n=this.options.get("templateResult"),r=this.options.get("escapeMarkup"),i=n(e,t);null==i?t.style.display="none":"string"==typeof i?t.innerHTML=r(i):h(t).append(i)},r}),e.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),e.define("select2/selection/base",["jquery","../utils","../keys"],function(n,r,i){function o(e,t){this.$element=e,this.options=t,o.__super__.constructor.call(this)}return r.Extend(o,r.Observable),o.prototype.render=function(){var e=n('<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=r.GetData(this.$element[0],"old-tabindex")?this._tabindex=r.GetData(this.$element[0],"old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),e.attr("title",this.$element.attr("title")),e.attr("tabindex",this._tabindex),e.attr("aria-disabled","false"),this.$selection=e},o.prototype.bind=function(e,t){var n=this,r=e.id+"-results";this.container=e,this.$selection.on("focus",function(e){n.trigger("focus",e)}),this.$selection.on("blur",function(e){n._handleBlur(e)}),this.$selection.on("keydown",function(e){n.trigger("keypress",e),e.which===i.SPACE&&e.preventDefault()}),e.on("results:focus",function(e){n.$selection.attr("aria-activedescendant",e.data._resultId)}),e.on("selection:update",function(e){n.update(e.data)}),e.on("open",function(){n.$selection.attr("aria-expanded","true"),n.$selection.attr("aria-owns",r),n._attachCloseHandler(e)}),e.on("close",function(){n.$selection.attr("aria-expanded","false"),n.$selection.removeAttr("aria-activedescendant"),n.$selection.removeAttr("aria-owns"),n.$selection.trigger("focus"),n._detachCloseHandler(e)}),e.on("enable",function(){n.$selection.attr("tabindex",n._tabindex),n.$selection.attr("aria-disabled","false")}),e.on("disable",function(){n.$selection.attr("tabindex","-1"),n.$selection.attr("aria-disabled","true")})},o.prototype._handleBlur=function(e){var t=this;window.setTimeout(function(){document.activeElement==t.$selection[0]||n.contains(t.$selection[0],document.activeElement)||t.trigger("blur",e)},1)},o.prototype._attachCloseHandler=function(e){n(document.body).on("mousedown.select2."+e.id,function(e){var t=n(e.target).closest(".select2");n(".select2.select2-container--open").each(function(){this!=t[0]&&r.GetData(this,"element").select2("close")})})},o.prototype._detachCloseHandler=function(e){n(document.body).off("mousedown.select2."+e.id)},o.prototype.position=function(e,t){t.find(".selection").append(e)},o.prototype.destroy=function(){this._detachCloseHandler(this.container)},o.prototype.update=function(e){throw new Error("The `update` method must be defined in child classes.")},o.prototype.isEnabled=function(){return!this.isDisabled()},o.prototype.isDisabled=function(){return this.options.get("disabled")},o}),e.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(e,t,n,r){function i(){i.__super__.constructor.apply(this,arguments)}return n.Extend(i,t),i.prototype.render=function(){var e=i.__super__.render.call(this);return e.addClass("select2-selection--single"),e.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),e},i.prototype.bind=function(t,e){var n=this;i.__super__.bind.apply(this,arguments);var r=t.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",r).attr("role","textbox").attr("aria-readonly","true"),this.$selection.attr("aria-labelledby",r),this.$selection.on("mousedown",function(e){1===e.which&&n.trigger("toggle",{originalEvent:e})}),this.$selection.on("focus",function(e){}),this.$selection.on("blur",function(e){}),t.on("focus",function(e){t.isOpen()||n.$selection.trigger("focus")})},i.prototype.clear=function(){var e=this.$selection.find(".select2-selection__rendered");e.empty(),e.removeAttr("title")},i.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},i.prototype.selectionContainer=function(){return e("<span></span>")},i.prototype.update=function(e){if(0!==e.length){var t=e[0],n=this.$selection.find(".select2-selection__rendered"),r=this.display(t,n);n.empty().append(r);var i=t.title||t.text;i?n.attr("title",i):n.removeAttr("title")}else this.clear()},i}),e.define("select2/selection/multiple",["jquery","./base","../utils"],function(i,e,l){function n(e,t){n.__super__.constructor.apply(this,arguments)}return l.Extend(n,e),n.prototype.render=function(){var e=n.__super__.render.call(this);return e.addClass("select2-selection--multiple"),e.html('<ul class="select2-selection__rendered"></ul>'),e},n.prototype.bind=function(e,t){var r=this;n.__super__.bind.apply(this,arguments),this.$selection.on("click",function(e){r.trigger("toggle",{originalEvent:e})}),this.$selection.on("click",".select2-selection__choice__remove",function(e){if(!r.isDisabled()){var t=i(this).parent(),n=l.GetData(t[0],"data");r.trigger("unselect",{originalEvent:e,data:n})}})},n.prototype.clear=function(){var e=this.$selection.find(".select2-selection__rendered");e.empty(),e.removeAttr("title")},n.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},n.prototype.selectionContainer=function(){return i('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">&times;</span></li>')},n.prototype.update=function(e){if(this.clear(),0!==e.length){for(var t=[],n=0;n<e.length;n++){var r=e[n],i=this.selectionContainer(),o=this.display(r,i);i.append(o);var s=r.title||r.text;s&&i.attr("title",s),l.StoreData(i[0],"data",r),t.push(i)}var a=this.$selection.find(".select2-selection__rendered");l.appendMany(a,t)}},n}),e.define("select2/selection/placeholder",["../utils"],function(e){function t(e,t,n){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n)}return t.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},t.prototype.createPlaceholder=function(e,t){var n=this.selectionContainer();return n.html(this.display(t)),n.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),n},t.prototype.update=function(e,t){var n=1==t.length&&t[0].id!=this.placeholder.id;if(1<t.length||n)return e.call(this,t);this.clear();var r=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(r)},t}),e.define("select2/selection/allowClear",["jquery","../keys","../utils"],function(i,r,a){function e(){}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(e){r._handleClear(e)}),t.on("keypress",function(e){r._handleKeyboardClear(e,t)})},e.prototype._handleClear=function(e,t){if(!this.isDisabled()){var n=this.$selection.find(".select2-selection__clear");if(0!==n.length){t.stopPropagation();var r=a.GetData(n[0],"data"),i=this.$element.val();this.$element.val(this.placeholder.id);var o={data:r};if(this.trigger("clear",o),o.prevented)this.$element.val(i);else{for(var s=0;s<r.length;s++)if(o={data:r[s]},this.trigger("unselect",o),o.prevented)return void this.$element.val(i);this.$element.trigger("input").trigger("change"),this.trigger("toggle",{})}}}},e.prototype._handleKeyboardClear=function(e,t,n){n.isOpen()||t.which!=r.DELETE&&t.which!=r.BACKSPACE||this._handleClear(t)},e.prototype.update=function(e,t){if(e.call(this,t),!(0<this.$selection.find(".select2-selection__placeholder").length||0===t.length)){var n=this.options.get("translations").get("removeAllItems"),r=i('<span class="select2-selection__clear" title="'+n()+'">&times;</span>');a.StoreData(r[0],"data",t),this.$selection.find(".select2-selection__rendered").prepend(r)}},e}),e.define("select2/selection/search",["jquery","../utils","../keys"],function(r,a,l){function e(e,t,n){e.call(this,t,n)}return e.prototype.render=function(e){var t=r('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></li>');this.$searchContainer=t,this.$search=t.find("input");var n=e.call(this);return this._transferTabIndex(),n},e.prototype.bind=function(e,t,n){var r=this,i=t.id+"-results";e.call(this,t,n),t.on("open",function(){r.$search.attr("aria-controls",i),r.$search.trigger("focus")}),t.on("close",function(){r.$search.val(""),r.$search.removeAttr("aria-controls"),r.$search.removeAttr("aria-activedescendant"),r.$search.trigger("focus")}),t.on("enable",function(){r.$search.prop("disabled",!1),r._transferTabIndex()}),t.on("disable",function(){r.$search.prop("disabled",!0)}),t.on("focus",function(e){r.$search.trigger("focus")}),t.on("results:focus",function(e){e.data._resultId?r.$search.attr("aria-activedescendant",e.data._resultId):r.$search.removeAttr("aria-activedescendant")}),this.$selection.on("focusin",".select2-search--inline",function(e){r.trigger("focus",e)}),this.$selection.on("focusout",".select2-search--inline",function(e){r._handleBlur(e)}),this.$selection.on("keydown",".select2-search--inline",function(e){if(e.stopPropagation(),r.trigger("keypress",e),r._keyUpPrevented=e.isDefaultPrevented(),e.which===l.BACKSPACE&&""===r.$search.val()){var t=r.$searchContainer.prev(".select2-selection__choice");if(0<t.length){var n=a.GetData(t[0],"data");r.searchRemoveChoice(n),e.preventDefault()}}}),this.$selection.on("click",".select2-search--inline",function(e){r.$search.val()&&e.stopPropagation()});var o=document.documentMode,s=o&&o<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(e){s?r.$selection.off("input.search input.searchcheck"):r.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(e){if(s&&"input"===e.type)r.$selection.off("input.search input.searchcheck");else{var t=e.which;t!=l.SHIFT&&t!=l.CTRL&&t!=l.ALT&&t!=l.TAB&&r.handleSearch(e)}})},e.prototype._transferTabIndex=function(e){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},e.prototype.createPlaceholder=function(e,t){this.$search.attr("placeholder",t.text)},e.prototype.update=function(e,t){var n=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),e.call(this,t),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),n&&this.$search.trigger("focus")},e.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var e=this.$search.val();this.trigger("query",{term:e})}this._keyUpPrevented=!1},e.prototype.searchRemoveChoice=function(e,t){this.trigger("unselect",{data:t}),this.$search.val(t.text),this.handleSearch()},e.prototype.resizeSearch=function(){this.$search.css("width","25px");var e="";""!==this.$search.attr("placeholder")?e=this.$selection.find(".select2-selection__rendered").width():e=.75*(this.$search.val().length+1)+"em";this.$search.css("width",e)},e}),e.define("select2/selection/eventRelay",["jquery"],function(s){function e(){}return e.prototype.bind=function(e,t,n){var r=this,i=["open","opening","close","closing","select","selecting","unselect","unselecting","clear","clearing"],o=["opening","closing","selecting","unselecting","clearing"];e.call(this,t,n),t.on("*",function(e,t){if(-1!==s.inArray(e,i)){t=t||{};var n=s.Event("select2:"+e,{params:t});r.$element.trigger(n),-1!==s.inArray(e,o)&&(t.prevented=n.isDefaultPrevented())}})},e}),e.define("select2/translation",["jquery","require"],function(t,n){function r(e){this.dict=e||{}}return r.prototype.all=function(){return this.dict},r.prototype.get=function(e){return this.dict[e]},r.prototype.extend=function(e){this.dict=t.extend({},e.all(),this.dict)},r._cache={},r.loadPath=function(e){if(!(e in r._cache)){var t=n(e);r._cache[e]=t}return new r(r._cache[e])},r}),e.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","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ώ":"ω","ς":"σ","’":"'"}}),e.define("select2/data/base",["../utils"],function(r){function n(e,t){n.__super__.constructor.call(this)}return r.Extend(n,r.Observable),n.prototype.current=function(e){throw new Error("The `current` method must be defined in child classes.")},n.prototype.query=function(e,t){throw new Error("The `query` method must be defined in child classes.")},n.prototype.bind=function(e,t){},n.prototype.destroy=function(){},n.prototype.generateResultId=function(e,t){var n=e.id+"-result-";return n+=r.generateChars(4),null!=t.id?n+="-"+t.id.toString():n+="-"+r.generateChars(4),n},n}),e.define("select2/data/select",["./base","../utils","jquery"],function(e,a,l){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return a.Extend(n,e),n.prototype.current=function(e){var n=[],r=this;this.$element.find(":selected").each(function(){var e=l(this),t=r.item(e);n.push(t)}),e(n)},n.prototype.select=function(i){var o=this;if(i.selected=!0,l(i.element).is("option"))return i.element.selected=!0,void this.$element.trigger("input").trigger("change");if(this.$element.prop("multiple"))this.current(function(e){var t=[];(i=[i]).push.apply(i,e);for(var n=0;n<i.length;n++){var r=i[n].id;-1===l.inArray(r,t)&&t.push(r)}o.$element.val(t),o.$element.trigger("input").trigger("change")});else{var e=i.id;this.$element.val(e),this.$element.trigger("input").trigger("change")}},n.prototype.unselect=function(i){var o=this;if(this.$element.prop("multiple")){if(i.selected=!1,l(i.element).is("option"))return i.element.selected=!1,void this.$element.trigger("input").trigger("change");this.current(function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n].id;r!==i.id&&-1===l.inArray(r,t)&&t.push(r)}o.$element.val(t),o.$element.trigger("input").trigger("change")})}},n.prototype.bind=function(e,t){var n=this;(this.container=e).on("select",function(e){n.select(e.data)}),e.on("unselect",function(e){n.unselect(e.data)})},n.prototype.destroy=function(){this.$element.find("*").each(function(){a.RemoveData(this)})},n.prototype.query=function(r,e){var i=[],o=this;this.$element.children().each(function(){var e=l(this);if(e.is("option")||e.is("optgroup")){var t=o.item(e),n=o.matches(r,t);null!==n&&i.push(n)}}),e({results:i})},n.prototype.addOptions=function(e){a.appendMany(this.$element,e)},n.prototype.option=function(e){var t;e.children?(t=document.createElement("optgroup")).label=e.text:void 0!==(t=document.createElement("option")).textContent?t.textContent=e.text:t.innerText=e.text,void 0!==e.id&&(t.value=e.id),e.disabled&&(t.disabled=!0),e.selected&&(t.selected=!0),e.title&&(t.title=e.title);var n=l(t),r=this._normalizeItem(e);return r.element=t,a.StoreData(t,"data",r),n},n.prototype.item=function(e){var t={};if(null!=(t=a.GetData(e[0],"data")))return t;if(e.is("option"))t={id:e.val(),text:e.text(),disabled:e.prop("disabled"),selected:e.prop("selected"),title:e.prop("title")};else if(e.is("optgroup")){t={text:e.prop("label"),children:[],title:e.prop("title")};for(var n=e.children("option"),r=[],i=0;i<n.length;i++){var o=l(n[i]),s=this.item(o);r.push(s)}t.children=r}return(t=this._normalizeItem(t)).element=e[0],a.StoreData(e[0],"data",t),t},n.prototype._normalizeItem=function(e){e!==Object(e)&&(e={id:e,text:e});return null!=(e=l.extend({},{text:""},e)).id&&(e.id=e.id.toString()),null!=e.text&&(e.text=e.text.toString()),null==e._resultId&&e.id&&null!=this.container&&(e._resultId=this.generateResultId(this.container,e)),l.extend({},{selected:!1,disabled:!1},e)},n.prototype.matches=function(e,t){return this.options.get("matcher")(e,t)},n}),e.define("select2/data/array",["./select","../utils","jquery"],function(e,f,g){function r(e,t){this._dataToConvert=t.get("data")||[],r.__super__.constructor.call(this,e,t)}return f.Extend(r,e),r.prototype.bind=function(e,t){r.__super__.bind.call(this,e,t),this.addOptions(this.convertToOptions(this._dataToConvert))},r.prototype.select=function(n){var e=this.$element.find("option").filter(function(e,t){return t.value==n.id.toString()});0===e.length&&(e=this.option(n),this.addOptions(e)),r.__super__.select.call(this,n)},r.prototype.convertToOptions=function(e){var t=this,n=this.$element.find("option"),r=n.map(function(){return t.item(g(this)).id}).get(),i=[];function o(e){return function(){return g(this).val()==e.id}}for(var s=0;s<e.length;s++){var a=this._normalizeItem(e[s]);if(0<=g.inArray(a.id,r)){var l=n.filter(o(a)),c=this.item(l),u=g.extend(!0,{},a,c),d=this.option(u);l.replaceWith(d)}else{var p=this.option(a);if(a.children){var h=this.convertToOptions(a.children);f.appendMany(p,h)}i.push(p)}}return i},r}),e.define("select2/data/ajax",["./array","../utils","jquery"],function(e,t,o){function n(e,t){this.ajaxOptions=this._applyDefaults(t.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),n.__super__.constructor.call(this,e,t)}return t.Extend(n,e),n.prototype._applyDefaults=function(e){var t={data:function(e){return o.extend({},e,{q:e.term})},transport:function(e,t,n){var r=o.ajax(e);return r.then(t),r.fail(n),r}};return o.extend({},t,e,!0)},n.prototype.processResults=function(e){return e},n.prototype.query=function(n,r){var i=this;null!=this._request&&(o.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var t=o.extend({type:"GET"},this.ajaxOptions);function e(){var e=t.transport(t,function(e){var t=i.processResults(e,n);i.options.get("debug")&&window.console&&console.error&&(t&&t.results&&o.isArray(t.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),r(t)},function(){"status"in e&&(0===e.status||"0"===e.status)||i.trigger("results:message",{message:"errorLoading"})});i._request=e}"function"==typeof t.url&&(t.url=t.url.call(this.$element,n)),"function"==typeof t.data&&(t.data=t.data.call(this.$element,n)),this.ajaxOptions.delay&&null!=n.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(e,this.ajaxOptions.delay)):e()},n}),e.define("select2/data/tags",["jquery"],function(u){function e(e,t,n){var r=n.get("tags"),i=n.get("createTag");void 0!==i&&(this.createTag=i);var o=n.get("insertTag");if(void 0!==o&&(this.insertTag=o),e.call(this,t,n),u.isArray(r))for(var s=0;s<r.length;s++){var a=r[s],l=this._normalizeItem(a),c=this.option(l);this.$element.append(c)}}return e.prototype.query=function(e,c,u){var d=this;this._removeOldTags(),null!=c.term&&null==c.page?e.call(this,c,function e(t,n){for(var r=t.results,i=0;i<r.length;i++){var o=r[i],s=null!=o.children&&!e({results:o.children},!0);if((o.text||"").toUpperCase()===(c.term||"").toUpperCase()||s)return!n&&(t.data=r,void u(t))}if(n)return!0;var a=d.createTag(c);if(null!=a){var l=d.option(a);l.attr("data-select2-tag",!0),d.addOptions([l]),d.insertTag(r,a)}t.results=r,u(t)}):e.call(this,c,u)},e.prototype.createTag=function(e,t){var n=u.trim(t.term);return""===n?null:{id:n,text:n}},e.prototype.insertTag=function(e,t,n){t.unshift(n)},e.prototype._removeOldTags=function(e){this.$element.find("option[data-select2-tag]").each(function(){this.selected||u(this).remove()})},e}),e.define("select2/data/tokenizer",["jquery"],function(d){function e(e,t,n){var r=n.get("tokenizer");void 0!==r&&(this.tokenizer=r),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){e.call(this,t,n),this.$search=t.dropdown.$search||t.selection.$search||n.find(".select2-search__field")},e.prototype.query=function(e,t,n){var r=this;t.term=t.term||"";var i=this.tokenizer(t,this.options,function(e){var t=r._normalizeItem(e);if(!r.$element.find("option").filter(function(){return d(this).val()===t.id}).length){var n=r.option(t);n.attr("data-select2-tag",!0),r._removeOldTags(),r.addOptions([n])}!function(e){r.trigger("select",{data:e})}(t)});i.term!==t.term&&(this.$search.length&&(this.$search.val(i.term),this.$search.trigger("focus")),t.term=i.term),e.call(this,t,n)},e.prototype.tokenizer=function(e,t,n,r){for(var i=n.get("tokenSeparators")||[],o=t.term,s=0,a=this.createTag||function(e){return{id:e.term,text:e.term}};s<o.length;){var l=o[s];if(-1!==d.inArray(l,i)){var c=o.substr(0,s),u=a(d.extend({},t,{term:c}));null!=u?(r(u),o=o.substr(s+1)||"",s=0):s++}else s++}return{term:o}},e}),e.define("select2/data/minimumInputLength",[],function(){function e(e,t,n){this.minimumInputLength=n.get("minimumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",t.term.length<this.minimumInputLength?this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumInputLength",[],function(){function e(e,t,n){this.maximumInputLength=n.get("maximumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",0<this.maximumInputLength&&t.term.length>this.maximumInputLength?this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumSelectionLength",[],function(){function e(e,t,n){this.maximumSelectionLength=n.get("maximumSelectionLength"),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("select",function(){r._checkIfMaximumSelected()})},e.prototype.query=function(e,t,n){var r=this;this._checkIfMaximumSelected(function(){e.call(r,t,n)})},e.prototype._checkIfMaximumSelected=function(e,n){var r=this;this.current(function(e){var t=null!=e?e.length:0;0<r.maximumSelectionLength&&t>=r.maximumSelectionLength?r.trigger("results:message",{message:"maximumSelected",args:{maximum:r.maximumSelectionLength}}):n&&n()})},e}),e.define("select2/dropdown",["jquery","./utils"],function(t,e){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return e.Extend(n,e.Observable),n.prototype.render=function(){var e=t('<span class="select2-dropdown"><span class="select2-results"></span></span>');return e.attr("dir",this.options.get("dir")),this.$dropdown=e},n.prototype.bind=function(){},n.prototype.position=function(e,t){},n.prototype.destroy=function(){this.$dropdown.remove()},n}),e.define("select2/dropdown/search",["jquery","../utils"],function(o,e){function t(){}return t.prototype.render=function(e){var t=e.call(this),n=o('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></span>');return this.$searchContainer=n,this.$search=n.find("input"),t.prepend(n),t},t.prototype.bind=function(e,t,n){var r=this,i=t.id+"-results";e.call(this,t,n),this.$search.on("keydown",function(e){r.trigger("keypress",e),r._keyUpPrevented=e.isDefaultPrevented()}),this.$search.on("input",function(e){o(this).off("keyup")}),this.$search.on("keyup input",function(e){r.handleSearch(e)}),t.on("open",function(){r.$search.attr("tabindex",0),r.$search.attr("aria-controls",i),r.$search.trigger("focus"),window.setTimeout(function(){r.$search.trigger("focus")},0)}),t.on("close",function(){r.$search.attr("tabindex",-1),r.$search.removeAttr("aria-controls"),r.$search.removeAttr("aria-activedescendant"),r.$search.val(""),r.$search.trigger("blur")}),t.on("focus",function(){t.isOpen()||r.$search.trigger("focus")}),t.on("results:all",function(e){null!=e.query.term&&""!==e.query.term||(r.showSearch(e)?r.$searchContainer.removeClass("select2-search--hide"):r.$searchContainer.addClass("select2-search--hide"))}),t.on("results:focus",function(e){e.data._resultId?r.$search.attr("aria-activedescendant",e.data._resultId):r.$search.removeAttr("aria-activedescendant")})},t.prototype.handleSearch=function(e){if(!this._keyUpPrevented){var t=this.$search.val();this.trigger("query",{term:t})}this._keyUpPrevented=!1},t.prototype.showSearch=function(e,t){return!0},t}),e.define("select2/dropdown/hidePlaceholder",[],function(){function e(e,t,n,r){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n,r)}return e.prototype.append=function(e,t){t.results=this.removePlaceholder(t.results),e.call(this,t)},e.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},e.prototype.removePlaceholder=function(e,t){for(var n=t.slice(0),r=t.length-1;0<=r;r--){var i=t[r];this.placeholder.id===i.id&&n.splice(r,1)}return n},e}),e.define("select2/dropdown/infiniteScroll",["jquery"],function(n){function e(e,t,n,r){this.lastParams={},e.call(this,t,n,r),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return e.prototype.append=function(e,t){this.$loadingMore.remove(),this.loading=!1,e.call(this,t),this.showLoadingMore(t)&&(this.$results.append(this.$loadingMore),this.loadMoreIfNeeded())},e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("query",function(e){r.lastParams=e,r.loading=!0}),t.on("query:append",function(e){r.lastParams=e,r.loading=!0}),this.$results.on("scroll",this.loadMoreIfNeeded.bind(this))},e.prototype.loadMoreIfNeeded=function(){var e=n.contains(document.documentElement,this.$loadingMore[0]);if(!this.loading&&e){var t=this.$results.offset().top+this.$results.outerHeight(!1);this.$loadingMore.offset().top+this.$loadingMore.outerHeight(!1)<=t+50&&this.loadMore()}},e.prototype.loadMore=function(){this.loading=!0;var e=n.extend({},{page:1},this.lastParams);e.page++,this.trigger("query:append",e)},e.prototype.showLoadingMore=function(e,t){return t.pagination&&t.pagination.more},e.prototype.createLoadingMore=function(){var e=n('<li class="select2-results__option select2-results__option--load-more"role="option" aria-disabled="true"></li>'),t=this.options.get("translations").get("loadingMore");return e.html(t(this.lastParams)),e},e}),e.define("select2/dropdown/attachBody",["jquery","../utils"],function(f,a){function e(e,t,n){this.$dropdownParent=f(n.get("dropdownParent")||document.body),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("open",function(){r._showDropdown(),r._attachPositioningHandler(t),r._bindContainerResultHandlers(t)}),t.on("close",function(){r._hideDropdown(),r._detachPositioningHandler(t)}),this.$dropdownContainer.on("mousedown",function(e){e.stopPropagation()})},e.prototype.destroy=function(e){e.call(this),this.$dropdownContainer.remove()},e.prototype.position=function(e,t,n){t.attr("class",n.attr("class")),t.removeClass("select2"),t.addClass("select2-container--open"),t.css({position:"absolute",top:-999999}),this.$container=n},e.prototype.render=function(e){var t=f("<span></span>"),n=e.call(this);return t.append(n),this.$dropdownContainer=t},e.prototype._hideDropdown=function(e){this.$dropdownContainer.detach()},e.prototype._bindContainerResultHandlers=function(e,t){if(!this._containerResultsHandlersBound){var n=this;t.on("results:all",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("results:append",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("results:message",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("select",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("unselect",function(){n._positionDropdown(),n._resizeDropdown()}),this._containerResultsHandlersBound=!0}},e.prototype._attachPositioningHandler=function(e,t){var n=this,r="scroll.select2."+t.id,i="resize.select2."+t.id,o="orientationchange.select2."+t.id,s=this.$container.parents().filter(a.hasScroll);s.each(function(){a.StoreData(this,"select2-scroll-position",{x:f(this).scrollLeft(),y:f(this).scrollTop()})}),s.on(r,function(e){var t=a.GetData(this,"select2-scroll-position");f(this).scrollTop(t.y)}),f(window).on(r+" "+i+" "+o,function(e){n._positionDropdown(),n._resizeDropdown()})},e.prototype._detachPositioningHandler=function(e,t){var n="scroll.select2."+t.id,r="resize.select2."+t.id,i="orientationchange.select2."+t.id;this.$container.parents().filter(a.hasScroll).off(n),f(window).off(n+" "+r+" "+i)},e.prototype._positionDropdown=function(){var e=f(window),t=this.$dropdown.hasClass("select2-dropdown--above"),n=this.$dropdown.hasClass("select2-dropdown--below"),r=null,i=this.$container.offset();i.bottom=i.top+this.$container.outerHeight(!1);var o={height:this.$container.outerHeight(!1)};o.top=i.top,o.bottom=i.top+o.height;var s=this.$dropdown.outerHeight(!1),a=e.scrollTop(),l=e.scrollTop()+e.height(),c=a<i.top-s,u=l>i.bottom+s,d={left:i.left,top:o.bottom},p=this.$dropdownParent;"static"===p.css("position")&&(p=p.offsetParent());var h={top:0,left:0};(f.contains(document.body,p[0])||p[0].isConnected)&&(h=p.offset()),d.top-=h.top,d.left-=h.left,t||n||(r="below"),u||!c||t?!c&&u&&t&&(r="below"):r="above",("above"==r||t&&"below"!==r)&&(d.top=o.top-h.top-s),null!=r&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+r),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+r)),this.$dropdownContainer.css(d)},e.prototype._resizeDropdown=function(){var e={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(e.minWidth=e.width,e.position="relative",e.width="auto"),this.$dropdown.css(e)},e.prototype._showDropdown=function(e){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},e}),e.define("select2/dropdown/minimumResultsForSearch",[],function(){function e(e,t,n,r){this.minimumResultsForSearch=n.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),e.call(this,t,n,r)}return e.prototype.showSearch=function(e,t){return!(function e(t){for(var n=0,r=0;r<t.length;r++){var i=t[r];i.children?n+=e(i.children):n++}return n}(t.data.results)<this.minimumResultsForSearch)&&e.call(this,t)},e}),e.define("select2/dropdown/selectOnClose",["../utils"],function(o){function e(){}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("close",function(e){r._handleSelectOnClose(e)})},e.prototype._handleSelectOnClose=function(e,t){if(t&&null!=t.originalSelect2Event){var n=t.originalSelect2Event;if("select"===n._type||"unselect"===n._type)return}var r=this.getHighlightedResults();if(!(r.length<1)){var i=o.GetData(r[0],"data");null!=i.element&&i.element.selected||null==i.element&&i.selected||this.trigger("select",{data:i})}},e}),e.define("select2/dropdown/closeOnSelect",[],function(){function e(){}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("select",function(e){r._selectTriggered(e)}),t.on("unselect",function(e){r._selectTriggered(e)})},e.prototype._selectTriggered=function(e,t){var n=t.originalEvent;n&&(n.ctrlKey||n.metaKey)||this.trigger("close",{originalEvent:n,originalSelect2Event:t})},e}),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 1!=t&&(n+="s"),n},inputTooShort:function(e){return"Please enter "+(e.minimum-e.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return 1!=e.maximum&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"},removeAllItems:function(){return"Remove all items"}}}),e.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(c,u,d,p,h,f,g,m,v,y,s,t,_,$,b,w,A,x,D,S,E,C,O,T,q,L,I,j,e){function n(){this.reset()}return n.prototype.apply=function(e){if(null==(e=c.extend(!0,{},this.defaults,e)).dataAdapter){if(null!=e.ajax?e.dataAdapter=b:null!=e.data?e.dataAdapter=$:e.dataAdapter=_,0<e.minimumInputLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,x)),0<e.maximumInputLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,D)),0<e.maximumSelectionLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,S)),e.tags&&(e.dataAdapter=y.Decorate(e.dataAdapter,w)),null==e.tokenSeparators&&null==e.tokenizer||(e.dataAdapter=y.Decorate(e.dataAdapter,A)),null!=e.query){var t=u(e.amdBase+"compat/query");e.dataAdapter=y.Decorate(e.dataAdapter,t)}if(null!=e.initSelection){var n=u(e.amdBase+"compat/initSelection");e.dataAdapter=y.Decorate(e.dataAdapter,n)}}if(null==e.resultsAdapter&&(e.resultsAdapter=d,null!=e.ajax&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,T)),null!=e.placeholder&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,O)),e.selectOnClose&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,I))),null==e.dropdownAdapter){if(e.multiple)e.dropdownAdapter=E;else{var r=y.Decorate(E,C);e.dropdownAdapter=r}if(0!==e.minimumResultsForSearch&&(e.dropdownAdapter=y.Decorate(e.dropdownAdapter,L)),e.closeOnSelect&&(e.dropdownAdapter=y.Decorate(e.dropdownAdapter,j)),null!=e.dropdownCssClass||null!=e.dropdownCss||null!=e.adaptDropdownCssClass){var i=u(e.amdBase+"compat/dropdownCss");e.dropdownAdapter=y.Decorate(e.dropdownAdapter,i)}e.dropdownAdapter=y.Decorate(e.dropdownAdapter,q)}if(null==e.selectionAdapter){if(e.multiple?e.selectionAdapter=h:e.selectionAdapter=p,null!=e.placeholder&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,f)),e.allowClear&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,g)),e.multiple&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,m)),null!=e.containerCssClass||null!=e.containerCss||null!=e.adaptContainerCssClass){var o=u(e.amdBase+"compat/containerCss");e.selectionAdapter=y.Decorate(e.selectionAdapter,o)}e.selectionAdapter=y.Decorate(e.selectionAdapter,v)}e.language=this._resolveLanguage(e.language),e.language.push("en");for(var s=[],a=0;a<e.language.length;a++){var l=e.language[a];-1===s.indexOf(l)&&s.push(l)}return e.language=s,e.translations=this._processTranslations(e.language,e.debug),e},n.prototype.reset=function(){function a(e){return e.replace(/[^\u0000-\u007E]/g,function(e){return t[e]||e})}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:y.escapeMarkup,language:{},matcher:function e(t,n){if(""===c.trim(t.term))return n;if(n.children&&0<n.children.length){for(var r=c.extend(!0,{},n),i=n.children.length-1;0<=i;i--)null==e(t,n.children[i])&&r.children.splice(i,1);return 0<r.children.length?r:e(t,r)}var o=a(n.text).toUpperCase(),s=a(t.term).toUpperCase();return-1<o.indexOf(s)?n:null},minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,scrollAfterSelect:!1,sorter:function(e){return e},templateResult:function(e){return e.text},templateSelection:function(e){return e.text},theme:"default",width:"resolve"}},n.prototype.applyFromElement=function(e,t){var n=e.language,r=this.defaults.language,i=t.prop("lang"),o=t.closest("[lang]").prop("lang"),s=Array.prototype.concat.call(this._resolveLanguage(i),this._resolveLanguage(n),this._resolveLanguage(r),this._resolveLanguage(o));return e.language=s,e},n.prototype._resolveLanguage=function(e){if(!e)return[];if(c.isEmptyObject(e))return[];if(c.isPlainObject(e))return[e];var t;t=c.isArray(e)?e:[e];for(var n=[],r=0;r<t.length;r++)if(n.push(t[r]),"string"==typeof t[r]&&0<t[r].indexOf("-")){var i=t[r].split("-")[0];n.push(i)}return n},n.prototype._processTranslations=function(e,t){for(var n=new s,r=0;r<e.length;r++){var i=new s,o=e[r];if("string"==typeof o)try{i=s.loadPath(o)}catch(e){try{o=this.defaults.amdLanguageBase+o,i=s.loadPath(o)}catch(e){t&&window.console&&console.warn&&console.warn('Select2: The language file for "'+o+'" could not be automatically loaded. A fallback will be used instead.')}}else i=c.isPlainObject(o)?new s(o):o;n.extend(i)}return n},n.prototype.set=function(e,t){var n={};n[c.camelCase(e)]=t;var r=y._convertData(n);c.extend(!0,this.defaults,r)},new n}),e.define("select2/options",["require","jquery","./defaults","./utils"],function(r,d,i,p){function e(e,t){if(this.options=e,null!=t&&this.fromElement(t),null!=t&&(this.options=i.applyFromElement(this.options,t)),this.options=i.apply(this.options),t&&t.is("input")){var n=r(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=p.Decorate(this.options.dataAdapter,n)}}return e.prototype.fromElement=function(e){var t=["select2"];null==this.options.multiple&&(this.options.multiple=e.prop("multiple")),null==this.options.disabled&&(this.options.disabled=e.prop("disabled")),null==this.options.dir&&(e.prop("dir")?this.options.dir=e.prop("dir"):e.closest("[dir]").prop("dir")?this.options.dir=e.closest("[dir]").prop("dir"):this.options.dir="ltr"),e.prop("disabled",this.options.disabled),e.prop("multiple",this.options.multiple),p.GetData(e[0],"select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),p.StoreData(e[0],"data",p.GetData(e[0],"select2Tags")),p.StoreData(e[0],"tags",!0)),p.GetData(e[0],"ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),e.attr("ajax--url",p.GetData(e[0],"ajaxUrl")),p.StoreData(e[0],"ajax-Url",p.GetData(e[0],"ajaxUrl")));var n={};function r(e,t){return t.toUpperCase()}for(var i=0;i<e[0].attributes.length;i++){var o=e[0].attributes[i].name,s="data-";if(o.substr(0,s.length)==s){var a=o.substring(s.length),l=p.GetData(e[0],a);n[a.replace(/-([a-z])/g,r)]=l}}d.fn.jquery&&"1."==d.fn.jquery.substr(0,2)&&e[0].dataset&&(n=d.extend(!0,{},e[0].dataset,n));var c=d.extend(!0,{},p.GetData(e[0]),n);for(var u in c=p._convertData(c))-1<d.inArray(u,t)||(d.isPlainObject(this.options[u])?d.extend(this.options[u],c[u]):this.options[u]=c[u]);return this},e.prototype.get=function(e){return this.options[e]},e.prototype.set=function(e,t){this.options[e]=t},e}),e.define("select2/core",["jquery","./options","./utils","./keys"],function(o,c,u,r){var d=function(e,t){null!=u.GetData(e[0],"select2")&&u.GetData(e[0],"select2").destroy(),this.$element=e,this.id=this._generateId(e),t=t||{},this.options=new c(t,e),d.__super__.constructor.call(this);var n=e.attr("tabindex")||0;u.StoreData(e[0],"old-tabindex",n),e.attr("tabindex","-1");var r=this.options.get("dataAdapter");this.dataAdapter=new r(e,this.options);var i=this.render();this._placeContainer(i);var o=this.options.get("selectionAdapter");this.selection=new o(e,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,i);var s=this.options.get("dropdownAdapter");this.dropdown=new s(e,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,i);var a=this.options.get("resultsAdapter");this.results=new a(e,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(e){l.trigger("selection:update",{data:e})}),e.addClass("select2-hidden-accessible"),e.attr("aria-hidden","true"),this._syncAttributes(),u.StoreData(e[0],"select2",this),e.data("select2",this)};return u.Extend(d,u.Observable),d.prototype._generateId=function(e){return"select2-"+(null!=e.attr("id")?e.attr("id"):null!=e.attr("name")?e.attr("name")+"-"+u.generateChars(2):u.generateChars(4)).replace(/(:|\.|\[|\]|,)/g,"")},d.prototype._placeContainer=function(e){e.insertAfter(this.$element);var t=this._resolveWidth(this.$element,this.options.get("width"));null!=t&&e.css("width",t)},d.prototype._resolveWidth=function(e,t){var n=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==t){var r=this._resolveWidth(e,"style");return null!=r?r:this._resolveWidth(e,"element")}if("element"==t){var i=e.outerWidth(!1);return i<=0?"auto":i+"px"}if("style"!=t)return"computedstyle"!=t?t:window.getComputedStyle(e[0]).width;var o=e.attr("style");if("string"!=typeof o)return null;for(var s=o.split(";"),a=0,l=s.length;a<l;a+=1){var c=s[a].replace(/\s/g,"").match(n);if(null!==c&&1<=c.length)return c[1]}return null},d.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},d.prototype._registerDomEvents=function(){var t=this;this.$element.on("change.select2",function(){t.dataAdapter.current(function(e){t.trigger("selection:update",{data:e})})}),this.$element.on("focus.select2",function(e){t.trigger("focus",e)}),this._syncA=u.bind(this._syncAttributes,this),this._syncS=u.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var e=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=e?(this._observer=new e(function(e){t._syncA(),t._syncS(null,e)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",t._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",t._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",t._syncS,!1))},d.prototype._registerDataEvents=function(){var n=this;this.dataAdapter.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerSelectionEvents=function(){var n=this,r=["toggle","focus"];this.selection.on("toggle",function(){n.toggleDropdown()}),this.selection.on("focus",function(e){n.focus(e)}),this.selection.on("*",function(e,t){-1===o.inArray(e,r)&&n.trigger(e,t)})},d.prototype._registerDropdownEvents=function(){var n=this;this.dropdown.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerResultsEvents=function(){var n=this;this.results.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerEvents=function(){var n=this;this.on("open",function(){n.$container.addClass("select2-container--open")}),this.on("close",function(){n.$container.removeClass("select2-container--open")}),this.on("enable",function(){n.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){n.$container.addClass("select2-container--disabled")}),this.on("blur",function(){n.$container.removeClass("select2-container--focus")}),this.on("query",function(t){n.isOpen()||n.trigger("open",{}),this.dataAdapter.query(t,function(e){n.trigger("results:all",{data:e,query:t})})}),this.on("query:append",function(t){this.dataAdapter.query(t,function(e){n.trigger("results:append",{data:e,query:t})})}),this.on("keypress",function(e){var t=e.which;n.isOpen()?t===r.ESC||t===r.TAB||t===r.UP&&e.altKey?(n.close(e),e.preventDefault()):t===r.ENTER?(n.trigger("results:select",{}),e.preventDefault()):t===r.SPACE&&e.ctrlKey?(n.trigger("results:toggle",{}),e.preventDefault()):t===r.UP?(n.trigger("results:previous",{}),e.preventDefault()):t===r.DOWN&&(n.trigger("results:next",{}),e.preventDefault()):(t===r.ENTER||t===r.SPACE||t===r.DOWN&&e.altKey)&&(n.open(),e.preventDefault())})},d.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.isDisabled()?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},d.prototype._isChangeMutation=function(e,t){var n=!1,r=this;if(!e||!e.target||"OPTION"===e.target.nodeName||"OPTGROUP"===e.target.nodeName){if(t)if(t.addedNodes&&0<t.addedNodes.length)for(var i=0;i<t.addedNodes.length;i++){t.addedNodes[i].selected&&(n=!0)}else t.removedNodes&&0<t.removedNodes.length?n=!0:o.isArray(t)&&o.each(t,function(e,t){if(r._isChangeMutation(e,t))return!(n=!0)});else n=!0;return n}},d.prototype._syncSubtree=function(e,t){var n=this._isChangeMutation(e,t),r=this;n&&this.dataAdapter.current(function(e){r.trigger("selection:update",{data:e})})},d.prototype.trigger=function(e,t){var n=d.__super__.trigger,r={open:"opening",close:"closing",select:"selecting",unselect:"unselecting",clear:"clearing"};if(void 0===t&&(t={}),e in r){var i=r[e],o={prevented:!1,name:e,args:t};if(n.call(this,i,o),o.prevented)return void(t.prevented=!0)}n.call(this,e,t)},d.prototype.toggleDropdown=function(){this.isDisabled()||(this.isOpen()?this.close():this.open())},d.prototype.open=function(){this.isOpen()||this.isDisabled()||this.trigger("query",{})},d.prototype.close=function(e){this.isOpen()&&this.trigger("close",{originalEvent:e})},d.prototype.isEnabled=function(){return!this.isDisabled()},d.prototype.isDisabled=function(){return this.options.get("disabled")},d.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},d.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},d.prototype.focus=function(e){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},d.prototype.enable=function(e){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=e&&0!==e.length||(e=[!0]);var t=!e[0];this.$element.prop("disabled",t)},d.prototype.data=function(){this.options.get("debug")&&0<arguments.length&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var t=[];return this.dataAdapter.current(function(e){t=e}),t},d.prototype.val=function(e){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==e||0===e.length)return this.$element.val();var t=e[0];o.isArray(t)&&(t=o.map(t,function(e){return e.toString()})),this.$element.val(t).trigger("input").trigger("change")},d.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",u.GetData(this.$element[0],"old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),u.RemoveData(this.$element[0]),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},d.prototype.render=function(){var e=o('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return e.attr("dir",this.options.get("dir")),this.$container=e,this.$container.addClass("select2-container--"+this.options.get("theme")),u.StoreData(e[0],"element",this.$element),e},d}),e.define("jquery-mousewheel",["jquery"],function(e){return e}),e.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults","./select2/utils"],function(i,e,o,t,s){if(null==i.fn.select2){var a=["open","close","destroy"];i.fn.select2=function(t){if("object"==typeof(t=t||{}))return this.each(function(){var e=i.extend(!0,{},t);new o(i(this),e)}),this;if("string"!=typeof t)throw new Error("Invalid arguments for Select2: "+t);var n,r=Array.prototype.slice.call(arguments,1);return this.each(function(){var e=s.GetData(this,"select2");null==e&&window.console&&console.error&&console.error("The select2('"+t+"') method was called on an element that is not using Select2."),n=e[t].apply(e,r)}),-1<i.inArray(t,a)?this:n}}return null==i.fn.select2.defaults&&(i.fn.select2.defaults=t),o}),{define:e.define,require:e.require}}(),t=e.require("jquery.select2");return u.fn.select2.amd=e,t});
...\ No newline at end of file ...\ No newline at end of file