Version Description
Download this release
Release Info
Developer | champsupertramp |
Plugin | ![]() |
Version | 1.3.73 |
Comparing to | |
See all releases |
Code changes from version 1.3.72 to 1.3.73
- addons/bp_avatar_transfer.php +98 -98
- addons/generate_random_users.php +260 -260
- addons/gravatar_transfer.php +82 -82
- addons/system_info.php +410 -410
- admin/assets/css/um-admin-builder.css +301 -301
- admin/assets/css/um-admin-columns.css +66 -66
- admin/assets/css/um-admin-dashboard.css +127 -127
- admin/assets/css/um-admin-form.css +60 -60
- admin/assets/css/um-admin-global.css +89 -89
- admin/assets/css/um-admin-menu.css +2 -2
- admin/assets/css/um-admin-misc.css +259 -259
- admin/assets/css/um-admin-modal.css +297 -297
- admin/assets/css/um-admin-redux.css +226 -226
- admin/assets/css/um-admin-rtl.css +73 -73
- admin/assets/css/um-admin-select2.css +192 -192
- admin/assets/js/um-admin-ajax.js +52 -52
- admin/assets/js/um-admin-builder.js +41 -41
- admin/assets/js/um-admin-dashboard.js +2 -2
- admin/assets/js/um-admin-dragdrop.js +409 -409
- admin/assets/js/um-admin-field.js +88 -88
- admin/assets/js/um-admin-form.js +37 -37
- admin/assets/js/um-admin-modal.js +364 -331
- admin/assets/js/um-admin-scripts.js +194 -194
- admin/assets/js/um-admin-users.js +30 -30
- admin/core/lib/ReduxFramework/.jshintrc +0 -19
- admin/core/lib/ReduxFramework/CHANGELOG.md +0 -1857
- admin/core/lib/ReduxFramework/CONTRIBUTING.md +0 -27
- admin/core/lib/ReduxFramework/Gruntfile.js +0 -439
- admin/core/lib/ReduxFramework/ReduxCore/assets/css/select2.css +0 -704
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/ace.min.js +0 -11
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/README.md +0 -114
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/release.sh +0 -79
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2-bootstrap.css +0 -87
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2-spinner.gif +0 -0
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2.css +0 -704
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2.jquery.json +0 -36
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2.js +0 -3541
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2.min.js +0 -23
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2.png +0 -0
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ar.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_az.js +0 -20
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_bg.js +0 -20
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ca.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_cs.js +0 -51
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_da.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_de.js +0 -18
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_el.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_en.js.template +0 -20
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_es.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_et.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_eu.js +0 -45
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_fa.js +0 -21
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_fi.js +0 -30
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_fr.js +0 -18
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_gl.js +0 -45
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_he.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_hr.js +0 -24
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_hu.js +0 -17
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_id.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_is.js +0 -17
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_it.js +0 -17
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ja.js +0 -17
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ka.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ko.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_lt.js +0 -26
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_lv.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_mk.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ms.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_nb.js +0 -22
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_nl.js +0 -17
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_pl.js +0 -54
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_pt-BR.js +0 -18
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_pt-PT.js +0 -17
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ro.js +0 -17
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_rs.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ru.js +0 -23
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_sk.js +0 -50
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_sv.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_th.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_tr.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ug-CN.js +0 -16
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_uk.js +0 -25
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_vi.js +0 -20
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_zh-CN.js +0 -16
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_zh-TW.js +0 -16
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2x2.png +0 -0
- admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_themecheck.php +0 -123
- admin/core/lib/ReduxFramework/ReduxCore/inc/debug.php +0 -84
- admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/ace.js +0 -1
addons/bp_avatar_transfer.php
CHANGED
@@ -1,99 +1,99 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class UM_ADDON_bp_avatar_transfer {
|
4 |
-
|
5 |
-
function __construct() {
|
6 |
-
|
7 |
-
add_action('admin_menu', array(&$this, 'admin_menu'), 1001);
|
8 |
-
|
9 |
-
add_action('admin_init', array(&$this, 'admin_init'), 1);
|
10 |
-
|
11 |
-
add_action('um_admin_addon_hook', array(&$this, 'um_admin_addon_hook') );
|
12 |
-
|
13 |
-
}
|
14 |
-
|
15 |
-
function admin_menu() {
|
16 |
-
|
17 |
-
global $ultimatemember;
|
18 |
-
$this->addon = $ultimatemember->addons['bp_avatar_transfer'];
|
19 |
-
add_submenu_page('ultimatemember', $this->addon[0], $this->addon[0], 'manage_options', 'bp_avatar_transfer', array(&$this, 'content') );
|
20 |
-
|
21 |
-
}
|
22 |
-
|
23 |
-
function um_admin_addon_hook( $hook ) {
|
24 |
-
global $ultimatemember;
|
25 |
-
switch( $hook ) {
|
26 |
-
case 'bp_avatar_transfer':
|
27 |
-
if ( class_exists('BuddyPress') ) {
|
28 |
-
|
29 |
-
$path = bp_core_avatar_upload_path() . '/avatars';
|
30 |
-
|
31 |
-
$files = glob( $path . '/*');
|
32 |
-
$i = 0;
|
33 |
-
foreach( $files as $key ) {
|
34 |
-
$q = (count(glob("$key/*")) === 0) ? 0 : 1;
|
35 |
-
if ( $q == 1 ) {
|
36 |
-
$photo = glob( $key . '/*');
|
37 |
-
foreach( $photo as $file ) {
|
38 |
-
if ( strstr( $file, 'bpfull' ) ) {
|
39 |
-
$get_user_id = explode('/', $file);
|
40 |
-
array_pop($get_user_id);
|
41 |
-
$user_id = end($get_user_id);
|
42 |
-
if ( !file_exists( $ultimatemember->files->upload_basedir . $user_id . '/profile_photo.jpg' ) ) {
|
43 |
-
$ultimatemember->files->new_user( $user_id );
|
44 |
-
copy( $file, $ultimatemember->files->upload_basedir . $user_id . '/profile_photo.jpg' );
|
45 |
-
update_user_meta($user_id, 'profile_photo', 'profile_photo.jpg');
|
46 |
-
$i++;
|
47 |
-
}
|
48 |
-
}
|
49 |
-
}
|
50 |
-
}
|
51 |
-
}
|
52 |
-
|
53 |
-
$this->content = '<p><strong>Done. Process completed!</p>';
|
54 |
-
$this->content .= $i . ' user(s) changed.</strong></p>';
|
55 |
-
|
56 |
-
}
|
57 |
-
break;
|
58 |
-
}
|
59 |
-
}
|
60 |
-
|
61 |
-
function admin_init() {
|
62 |
-
if ( isset( $_REQUEST['um-addon-hook'] ) ) {
|
63 |
-
$hook = $_REQUEST['um-addon-hook'];
|
64 |
-
do_action("um_admin_addon_hook", $hook);
|
65 |
-
}
|
66 |
-
}
|
67 |
-
|
68 |
-
function content() {
|
69 |
-
|
70 |
-
$this->process_link = add_query_arg('um-addon-hook','bp_avatar_transfer');
|
71 |
-
|
72 |
-
?>
|
73 |
-
|
74 |
-
<div class="wrap">
|
75 |
-
|
76 |
-
<h2>Ultimate Member <sup style="font-size:15px"><?php echo ultimatemember_version; ?></sup></h2>
|
77 |
-
|
78 |
-
<h3><?php echo $this->addon[0]; ?></h3>
|
79 |
-
|
80 |
-
<?php if ( isset( $this->content ) ) {
|
81 |
-
echo $this->content;
|
82 |
-
} else { ?>
|
83 |
-
|
84 |
-
<p>This tool allows you to move all custom user photos/avatars from BuddyPress to Ultimate Member platform. This can help you If you are switching from BuddyPress.</p>
|
85 |
-
<p>Depending on your users database, this could take a few moments. To start the process, click the following button.</p>
|
86 |
-
|
87 |
-
<p><a href="<?php echo $this->process_link; ?>" class="button button-primary">Start transferring avatars</a></p>
|
88 |
-
|
89 |
-
<?php } ?>
|
90 |
-
|
91 |
-
</div><div class="clear"></div>
|
92 |
-
|
93 |
-
<?php
|
94 |
-
|
95 |
-
}
|
96 |
-
|
97 |
-
}
|
98 |
-
|
99 |
$UM_ADDON_bp_avatar_transfer = new UM_ADDON_bp_avatar_transfer();
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class UM_ADDON_bp_avatar_transfer {
|
4 |
+
|
5 |
+
function __construct() {
|
6 |
+
|
7 |
+
add_action('admin_menu', array(&$this, 'admin_menu'), 1001);
|
8 |
+
|
9 |
+
add_action('admin_init', array(&$this, 'admin_init'), 1);
|
10 |
+
|
11 |
+
add_action('um_admin_addon_hook', array(&$this, 'um_admin_addon_hook') );
|
12 |
+
|
13 |
+
}
|
14 |
+
|
15 |
+
function admin_menu() {
|
16 |
+
|
17 |
+
global $ultimatemember;
|
18 |
+
$this->addon = $ultimatemember->addons['bp_avatar_transfer'];
|
19 |
+
add_submenu_page('ultimatemember', $this->addon[0], $this->addon[0], 'manage_options', 'bp_avatar_transfer', array(&$this, 'content') );
|
20 |
+
|
21 |
+
}
|
22 |
+
|
23 |
+
function um_admin_addon_hook( $hook ) {
|
24 |
+
global $ultimatemember;
|
25 |
+
switch( $hook ) {
|
26 |
+
case 'bp_avatar_transfer':
|
27 |
+
if ( class_exists('BuddyPress') ) {
|
28 |
+
|
29 |
+
$path = bp_core_avatar_upload_path() . '/avatars';
|
30 |
+
|
31 |
+
$files = glob( $path . '/*');
|
32 |
+
$i = 0;
|
33 |
+
foreach( $files as $key ) {
|
34 |
+
$q = (count(glob("$key/*")) === 0) ? 0 : 1;
|
35 |
+
if ( $q == 1 ) {
|
36 |
+
$photo = glob( $key . '/*');
|
37 |
+
foreach( $photo as $file ) {
|
38 |
+
if ( strstr( $file, 'bpfull' ) ) {
|
39 |
+
$get_user_id = explode('/', $file);
|
40 |
+
array_pop($get_user_id);
|
41 |
+
$user_id = end($get_user_id);
|
42 |
+
if ( !file_exists( $ultimatemember->files->upload_basedir . $user_id . '/profile_photo.jpg' ) ) {
|
43 |
+
$ultimatemember->files->new_user( $user_id );
|
44 |
+
copy( $file, $ultimatemember->files->upload_basedir . $user_id . '/profile_photo.jpg' );
|
45 |
+
update_user_meta($user_id, 'profile_photo', 'profile_photo.jpg');
|
46 |
+
$i++;
|
47 |
+
}
|
48 |
+
}
|
49 |
+
}
|
50 |
+
}
|
51 |
+
}
|
52 |
+
|
53 |
+
$this->content = '<p><strong>Done. Process completed!</p>';
|
54 |
+
$this->content .= $i . ' user(s) changed.</strong></p>';
|
55 |
+
|
56 |
+
}
|
57 |
+
break;
|
58 |
+
}
|
59 |
+
}
|
60 |
+
|
61 |
+
function admin_init() {
|
62 |
+
if ( isset( $_REQUEST['um-addon-hook'] ) ) {
|
63 |
+
$hook = $_REQUEST['um-addon-hook'];
|
64 |
+
do_action("um_admin_addon_hook", $hook);
|
65 |
+
}
|
66 |
+
}
|
67 |
+
|
68 |
+
function content() {
|
69 |
+
|
70 |
+
$this->process_link = add_query_arg('um-addon-hook','bp_avatar_transfer');
|
71 |
+
|
72 |
+
?>
|
73 |
+
|
74 |
+
<div class="wrap">
|
75 |
+
|
76 |
+
<h2>Ultimate Member <sup style="font-size:15px"><?php echo ultimatemember_version; ?></sup></h2>
|
77 |
+
|
78 |
+
<h3><?php echo $this->addon[0]; ?></h3>
|
79 |
+
|
80 |
+
<?php if ( isset( $this->content ) ) {
|
81 |
+
echo $this->content;
|
82 |
+
} else { ?>
|
83 |
+
|
84 |
+
<p>This tool allows you to move all custom user photos/avatars from BuddyPress to Ultimate Member platform. This can help you If you are switching from BuddyPress.</p>
|
85 |
+
<p>Depending on your users database, this could take a few moments. To start the process, click the following button.</p>
|
86 |
+
|
87 |
+
<p><a href="<?php echo $this->process_link; ?>" class="button button-primary">Start transferring avatars</a></p>
|
88 |
+
|
89 |
+
<?php } ?>
|
90 |
+
|
91 |
+
</div><div class="clear"></div>
|
92 |
+
|
93 |
+
<?php
|
94 |
+
|
95 |
+
}
|
96 |
+
|
97 |
+
}
|
98 |
+
|
99 |
$UM_ADDON_bp_avatar_transfer = new UM_ADDON_bp_avatar_transfer();
|
addons/generate_random_users.php
CHANGED
@@ -1,261 +1,261 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class UM_ADDON_generate_random_users {
|
4 |
-
|
5 |
-
function __construct() {
|
6 |
-
|
7 |
-
add_action('admin_menu', array(&$this, 'admin_menu'), 1001);
|
8 |
-
|
9 |
-
add_action('admin_init', array(&$this, 'admin_init'), 1);
|
10 |
-
|
11 |
-
add_action('um_admin_addon_hook', array(&$this, 'um_admin_addon_hook') );
|
12 |
-
|
13 |
-
}
|
14 |
-
|
15 |
-
|
16 |
-
function admin_menu() {
|
17 |
-
|
18 |
-
global $ultimatemember;
|
19 |
-
$this->addon = $ultimatemember->addons['generate_random_users'];
|
20 |
-
add_submenu_page('ultimatemember', $this->addon[0], $this->addon[0], 'manage_options', 'generate_random_users', array(&$this, 'content') );
|
21 |
-
|
22 |
-
}
|
23 |
-
|
24 |
-
function um_admin_addon_hook( $hook ) {
|
25 |
-
global $ultimatemember;
|
26 |
-
|
27 |
-
switch ( $hook ) {
|
28 |
-
case 'generate_random_users':
|
29 |
-
$json_url = "https://randomuser.me/api/";
|
30 |
-
|
31 |
-
$arr_post_header = array( );
|
32 |
-
|
33 |
-
if( isset( $_GET['gender'] ) ){
|
34 |
-
$gender = $_GET['gender'];
|
35 |
-
if( $gender != 'both' ){
|
36 |
-
$json_url = add_query_arg('gender', $gender, $json_url );
|
37 |
-
$arr_post_header['gender'] = $gender;
|
38 |
-
}
|
39 |
-
}
|
40 |
-
|
41 |
-
if( isset( $_GET['nationality'] ) ){
|
42 |
-
$nationality = implode(",", $_GET['nationality']);
|
43 |
-
if( ! empty( $nationality ) ){
|
44 |
-
$json_url = add_query_arg('nat', $nationality, $json_url );
|
45 |
-
}
|
46 |
-
$arr_post_header['nat'] = $nationality;
|
47 |
-
}
|
48 |
-
|
49 |
-
if( isset( $_GET['total_users'] ) ){
|
50 |
-
$total_users = intval( $_GET['total_users'] );
|
51 |
-
$json_url = add_query_arg('results', $total_users, $json_url );
|
52 |
-
$arr_post_header['results'] = $total_users;
|
53 |
-
}
|
54 |
-
|
55 |
-
|
56 |
-
$response = wp_remote_get( $json_url, array('timeout' => 120 ) );
|
57 |
-
$json = '';
|
58 |
-
|
59 |
-
if( is_array($response) ) {
|
60 |
-
if( isset( $response['body'] ) && ! empty( $response['body'] ) ){
|
61 |
-
$json = json_decode( $response['body'] );
|
62 |
-
}
|
63 |
-
}
|
64 |
-
|
65 |
-
if( is_wp_error( $response ) ){
|
66 |
-
wp_die( $response->get_error_message() );
|
67 |
-
}
|
68 |
-
|
69 |
-
if( ! empty( $json ) ){
|
70 |
-
|
71 |
-
remove_action('um_after_new_user_register', 'um_after_new_user_register', 10, 2);
|
72 |
-
|
73 |
-
$failed_dummies = 0;
|
74 |
-
$default_role = um_get_option("default_role");
|
75 |
-
|
76 |
-
foreach( $json->results as $dummy ){
|
77 |
-
|
78 |
-
if( isset( $_GET['password'] ) && ! empty( $_GET['password'] ) ){
|
79 |
-
$password = $_GET['password'];
|
80 |
-
}else{
|
81 |
-
$password = wp_generate_password( 8, false );
|
82 |
-
}
|
83 |
-
|
84 |
-
$site_url = @$_SERVER['SERVER_NAME'];
|
85 |
-
$random_generate = wp_generate_password( 4, false );
|
86 |
-
|
87 |
-
if( username_exists( $dummy->login->username ) ){
|
88 |
-
$dummy->login->username = $dummy->login->username.'_'. $random_generate;
|
89 |
-
}
|
90 |
-
|
91 |
-
$dummy->login->email = $dummy->login->username."_dummy@{$site_url}";
|
92 |
-
|
93 |
-
if( email_exists( $dummy->login->email ) ){
|
94 |
-
$dummy->login->email = $dummy->login->username."_dummy_{$random_generate}@{$site_url}";
|
95 |
-
}
|
96 |
-
|
97 |
-
$userdata = array(
|
98 |
-
'display_name' => ucfirst( $dummy->name->first )." ".ucfirst( $dummy->name->last ),
|
99 |
-
'first_name' => ucfirst( $dummy->name->first ),
|
100 |
-
'last_name' => ucfirst( $dummy->name->last ),
|
101 |
-
'user_email' => $dummy->login->email,
|
102 |
-
'user_login' => $dummy->login->username,
|
103 |
-
'user_pass' => $password,
|
104 |
-
);
|
105 |
-
|
106 |
-
$user_id = wp_insert_user( $userdata );
|
107 |
-
|
108 |
-
if( is_wp_error( $user_id ) ){
|
109 |
-
$failed_dummies++;
|
110 |
-
}
|
111 |
-
|
112 |
-
$usermeta = array(
|
113 |
-
'synced_profile_photo' => $dummy->picture->large,
|
114 |
-
'gender' => ucfirst($dummy->gender),
|
115 |
-
'birth_date' => date("Y/m/d", strtotime( $dummy->dob) ),
|
116 |
-
'_um_last_login' => date("Y/m/d", strtotime( $dummy->registered ) ),
|
117 |
-
'mobile_number' => $dummy->cell,
|
118 |
-
'phone_number' => $dummy->phone,
|
119 |
-
'synced_gravatar_hashed_id' => md5( strtolower( trim( $dummy->email ) ) ),
|
120 |
-
'account_status' => 'approved',
|
121 |
-
'_um_profile_dummy' => true,
|
122 |
-
'role' => isset( $default_role ) ? $default_role: 'member'
|
123 |
-
);
|
124 |
-
|
125 |
-
if( isset( $_GET['add_cover_photo'] ) && $_GET['add_cover_photo'] == 1 ){
|
126 |
-
|
127 |
-
$rand = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
|
128 |
-
$color = $rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)];
|
129 |
-
|
130 |
-
$usermeta['synced_cover_photo'] = 'http://placehold.it/650x350/'.$color.'/'.$color;
|
131 |
-
|
132 |
-
}
|
133 |
-
|
134 |
-
foreach ( $usermeta as $key => $value ) {
|
135 |
-
update_user_meta( $user_id, $key, $value );
|
136 |
-
}
|
137 |
-
|
138 |
-
|
139 |
-
}
|
140 |
-
wp_redirect( admin_url("admin.php?page=generate_random_users") ); exit;
|
141 |
-
}
|
142 |
-
|
143 |
-
break;
|
144 |
-
|
145 |
-
case 'remove_random_users':
|
146 |
-
|
147 |
-
$dummies = new WP_User_Query(
|
148 |
-
array(
|
149 |
-
'fields' => array('ID'),
|
150 |
-
'meta_key' => '_um_profile_dummy',
|
151 |
-
'meta_value' => true,
|
152 |
-
'meta_compare' => '='
|
153 |
-
)
|
154 |
-
);
|
155 |
-
|
156 |
-
if( $dummies->total_users > 0 ){
|
157 |
-
foreach ( $dummies->get_results() as $dummy ) {
|
158 |
-
|
159 |
-
if( isset( $dummy->ID ) ){
|
160 |
-
wp_delete_user( $dummy->ID );
|
161 |
-
}
|
162 |
-
|
163 |
-
}
|
164 |
-
}
|
165 |
-
|
166 |
-
delete_option('um_generated_dumies');
|
167 |
-
wp_redirect( admin_url("admin.php?page=generate_random_users") );
|
168 |
-
exit;
|
169 |
-
|
170 |
-
break;
|
171 |
-
|
172 |
-
default:
|
173 |
-
|
174 |
-
break;
|
175 |
-
}
|
176 |
-
|
177 |
-
}
|
178 |
-
|
179 |
-
function admin_init() {
|
180 |
-
if ( isset( $_REQUEST['um-addon-hook'] ) ) {
|
181 |
-
$hook = $_REQUEST['um-addon-hook'];
|
182 |
-
do_action("um_admin_addon_hook", $hook );
|
183 |
-
}
|
184 |
-
}
|
185 |
-
|
186 |
-
function content() {
|
187 |
-
|
188 |
-
?>
|
189 |
-
|
190 |
-
<div class="wrap">
|
191 |
-
|
192 |
-
<h2>Ultimate Member <sup style="font-size:15px"><?php echo ultimatemember_version; ?></sup></h2>
|
193 |
-
|
194 |
-
<h3><?php echo $this->addon[0]; ?></h3>
|
195 |
-
|
196 |
-
<?php if ( isset( $this->content ) ) {
|
197 |
-
echo $this->content;
|
198 |
-
} else { ?>
|
199 |
-
|
200 |
-
<p>This tool allows you to add dummies as Ultimate Member users. </p>
|
201 |
-
<?php
|
202 |
-
$dummies = new WP_User_Query(
|
203 |
-
array(
|
204 |
-
'fields' => array('ID'),
|
205 |
-
'meta_key' => '_um_profile_dummy',
|
206 |
-
'meta_value' => true,
|
207 |
-
'meta_compare' => '='
|
208 |
-
)
|
209 |
-
);
|
210 |
-
?>
|
211 |
-
<?php if( $dummies->total_users > 0 ): ?>
|
212 |
-
<form method="get">
|
213 |
-
<p>
|
214 |
-
<input type="submit" class="button button-secondary" value="Remove Generated Dummies (<?php echo $dummies->total_users;?>)"/>
|
215 |
-
<input type="hidden" name="um-addon-hook" value="remove_random_users"/>
|
216 |
-
<input type="hidden" name="page" value="generate_random_users"/>
|
217 |
-
</form>
|
218 |
-
<br/>
|
219 |
-
<?php endif; ?>
|
220 |
-
<form method="get">
|
221 |
-
<label for="total_users">How many dummies? <br/><input type="text" name="total_users" value="30" /> <br/><br/>
|
222 |
-
<label for="gender">Gender:</label> <br/>
|
223 |
-
<label><input type='radio' name="gender" value="male"/> Male</label> <br/>
|
224 |
-
<label><input type='radio' name="gender" value="female"/> Female</label> <br/>
|
225 |
-
<label><input type='radio' checked="checked" name="gender" value="both"/> Both</label>
|
226 |
-
<br/><br/>
|
227 |
-
<label for="nationality">Available Nationalities:</label><br/>
|
228 |
-
<select style="width:150px" name="nationality[]" multiple>
|
229 |
-
<?php
|
230 |
-
$nationality = array( 'AU', 'BR', 'CA', 'CH', 'DE', 'DK', 'ES', 'FI', 'FR', 'GB', 'IE', 'IR', 'NL', 'NZ', 'TR', 'US' );
|
231 |
-
foreach ($nationality as $code ) {
|
232 |
-
$value = strtolower($code);
|
233 |
-
echo "<option value='".$value."'/> ".$code."</option>";
|
234 |
-
}
|
235 |
-
?>
|
236 |
-
</select>
|
237 |
-
<br/><br/>
|
238 |
-
<label for="add_cover_photo"><input type="checkbox" name="add_cover_photo" value="1" />
|
239 |
-
Add cover photos?</label>
|
240 |
-
<br/><small>Generates random colored cover photos</small>
|
241 |
-
<br/><br/>
|
242 |
-
<label for="password">
|
243 |
-
Account Passwords:
|
244 |
-
<input type="password" name="password" />
|
245 |
-
<br/><small>if you leave this blank, it will generate random strings password</small>
|
246 |
-
</label>
|
247 |
-
<br/>
|
248 |
-
<input type="submit" class="button button-primary" value="Start Generating Dummies"/>
|
249 |
-
<input type="hidden" name="um-addon-hook" value="generate_random_users"/>
|
250 |
-
|
251 |
-
<?php } ?>
|
252 |
-
</form>
|
253 |
-
|
254 |
-
</div><div class="clear"></div>
|
255 |
-
|
256 |
-
<?php
|
257 |
-
|
258 |
-
}
|
259 |
-
}
|
260 |
-
|
261 |
$UM_ADDON_generate_random_users = new UM_ADDON_generate_random_users ();
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class UM_ADDON_generate_random_users {
|
4 |
+
|
5 |
+
function __construct() {
|
6 |
+
|
7 |
+
add_action('admin_menu', array(&$this, 'admin_menu'), 1001);
|
8 |
+
|
9 |
+
add_action('admin_init', array(&$this, 'admin_init'), 1);
|
10 |
+
|
11 |
+
add_action('um_admin_addon_hook', array(&$this, 'um_admin_addon_hook') );
|
12 |
+
|
13 |
+
}
|
14 |
+
|
15 |
+
|
16 |
+
function admin_menu() {
|
17 |
+
|
18 |
+
global $ultimatemember;
|
19 |
+
$this->addon = $ultimatemember->addons['generate_random_users'];
|
20 |
+
add_submenu_page('ultimatemember', $this->addon[0], $this->addon[0], 'manage_options', 'generate_random_users', array(&$this, 'content') );
|
21 |
+
|
22 |
+
}
|
23 |
+
|
24 |
+
function um_admin_addon_hook( $hook ) {
|
25 |
+
global $ultimatemember;
|
26 |
+
|
27 |
+
switch ( $hook ) {
|
28 |
+
case 'generate_random_users':
|
29 |
+
$json_url = "https://randomuser.me/api/";
|
30 |
+
|
31 |
+
$arr_post_header = array( );
|
32 |
+
|
33 |
+
if( isset( $_GET['gender'] ) ){
|
34 |
+
$gender = $_GET['gender'];
|
35 |
+
if( $gender != 'both' ){
|
36 |
+
$json_url = add_query_arg('gender', $gender, $json_url );
|
37 |
+
$arr_post_header['gender'] = $gender;
|
38 |
+
}
|
39 |
+
}
|
40 |
+
|
41 |
+
if( isset( $_GET['nationality'] ) ){
|
42 |
+
$nationality = implode(",", $_GET['nationality']);
|
43 |
+
if( ! empty( $nationality ) ){
|
44 |
+
$json_url = add_query_arg('nat', $nationality, $json_url );
|
45 |
+
}
|
46 |
+
$arr_post_header['nat'] = $nationality;
|
47 |
+
}
|
48 |
+
|
49 |
+
if( isset( $_GET['total_users'] ) ){
|
50 |
+
$total_users = intval( $_GET['total_users'] );
|
51 |
+
$json_url = add_query_arg('results', $total_users, $json_url );
|
52 |
+
$arr_post_header['results'] = $total_users;
|
53 |
+
}
|
54 |
+
|
55 |
+
|
56 |
+
$response = wp_remote_get( $json_url, array('timeout' => 120 ) );
|
57 |
+
$json = '';
|
58 |
+
|
59 |
+
if( is_array($response) ) {
|
60 |
+
if( isset( $response['body'] ) && ! empty( $response['body'] ) ){
|
61 |
+
$json = json_decode( $response['body'] );
|
62 |
+
}
|
63 |
+
}
|
64 |
+
|
65 |
+
if( is_wp_error( $response ) ){
|
66 |
+
wp_die( $response->get_error_message() );
|
67 |
+
}
|
68 |
+
|
69 |
+
if( ! empty( $json ) ){
|
70 |
+
|
71 |
+
remove_action('um_after_new_user_register', 'um_after_new_user_register', 10, 2);
|
72 |
+
|
73 |
+
$failed_dummies = 0;
|
74 |
+
$default_role = um_get_option("default_role");
|
75 |
+
|
76 |
+
foreach( $json->results as $dummy ){
|
77 |
+
|
78 |
+
if( isset( $_GET['password'] ) && ! empty( $_GET['password'] ) ){
|
79 |
+
$password = $_GET['password'];
|
80 |
+
}else{
|
81 |
+
$password = wp_generate_password( 8, false );
|
82 |
+
}
|
83 |
+
|
84 |
+
$site_url = @$_SERVER['SERVER_NAME'];
|
85 |
+
$random_generate = wp_generate_password( 4, false );
|
86 |
+
|
87 |
+
if( username_exists( $dummy->login->username ) ){
|
88 |
+
$dummy->login->username = $dummy->login->username.'_'. $random_generate;
|
89 |
+
}
|
90 |
+
|
91 |
+
$dummy->login->email = $dummy->login->username."_dummy@{$site_url}";
|
92 |
+
|
93 |
+
if( email_exists( $dummy->login->email ) ){
|
94 |
+
$dummy->login->email = $dummy->login->username."_dummy_{$random_generate}@{$site_url}";
|
95 |
+
}
|
96 |
+
|
97 |
+
$userdata = array(
|
98 |
+
'display_name' => ucfirst( $dummy->name->first )." ".ucfirst( $dummy->name->last ),
|
99 |
+
'first_name' => ucfirst( $dummy->name->first ),
|
100 |
+
'last_name' => ucfirst( $dummy->name->last ),
|
101 |
+
'user_email' => $dummy->login->email,
|
102 |
+
'user_login' => $dummy->login->username,
|
103 |
+
'user_pass' => $password,
|
104 |
+
);
|
105 |
+
|
106 |
+
$user_id = wp_insert_user( $userdata );
|
107 |
+
|
108 |
+
if( is_wp_error( $user_id ) ){
|
109 |
+
$failed_dummies++;
|
110 |
+
}
|
111 |
+
|
112 |
+
$usermeta = array(
|
113 |
+
'synced_profile_photo' => $dummy->picture->large,
|
114 |
+
'gender' => ucfirst($dummy->gender),
|
115 |
+
'birth_date' => date("Y/m/d", strtotime( $dummy->dob) ),
|
116 |
+
'_um_last_login' => date("Y/m/d", strtotime( $dummy->registered ) ),
|
117 |
+
'mobile_number' => $dummy->cell,
|
118 |
+
'phone_number' => $dummy->phone,
|
119 |
+
'synced_gravatar_hashed_id' => md5( strtolower( trim( $dummy->email ) ) ),
|
120 |
+
'account_status' => 'approved',
|
121 |
+
'_um_profile_dummy' => true,
|
122 |
+
'role' => isset( $default_role ) ? $default_role: 'member'
|
123 |
+
);
|
124 |
+
|
125 |
+
if( isset( $_GET['add_cover_photo'] ) && $_GET['add_cover_photo'] == 1 ){
|
126 |
+
|
127 |
+
$rand = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
|
128 |
+
$color = $rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)];
|
129 |
+
|
130 |
+
$usermeta['synced_cover_photo'] = 'http://placehold.it/650x350/'.$color.'/'.$color;
|
131 |
+
|
132 |
+
}
|
133 |
+
|
134 |
+
foreach ( $usermeta as $key => $value ) {
|
135 |
+
update_user_meta( $user_id, $key, $value );
|
136 |
+
}
|
137 |
+
|
138 |
+
|
139 |
+
}
|
140 |
+
wp_redirect( admin_url("admin.php?page=generate_random_users") ); exit;
|
141 |
+
}
|
142 |
+
|
143 |
+
break;
|
144 |
+
|
145 |
+
case 'remove_random_users':
|
146 |
+
|
147 |
+
$dummies = new WP_User_Query(
|
148 |
+
array(
|
149 |
+
'fields' => array('ID'),
|
150 |
+
'meta_key' => '_um_profile_dummy',
|
151 |
+
'meta_value' => true,
|
152 |
+
'meta_compare' => '='
|
153 |
+
)
|
154 |
+
);
|
155 |
+
|
156 |
+
if( $dummies->total_users > 0 ){
|
157 |
+
foreach ( $dummies->get_results() as $dummy ) {
|
158 |
+
|
159 |
+
if( isset( $dummy->ID ) ){
|
160 |
+
wp_delete_user( $dummy->ID );
|
161 |
+
}
|
162 |
+
|
163 |
+
}
|
164 |
+
}
|
165 |
+
|
166 |
+
delete_option('um_generated_dumies');
|
167 |
+
wp_redirect( admin_url("admin.php?page=generate_random_users") );
|
168 |
+
exit;
|
169 |
+
|
170 |
+
break;
|
171 |
+
|
172 |
+
default:
|
173 |
+
|
174 |
+
break;
|
175 |
+
}
|
176 |
+
|
177 |
+
}
|
178 |
+
|
179 |
+
function admin_init() {
|
180 |
+
if ( isset( $_REQUEST['um-addon-hook'] ) ) {
|
181 |
+
$hook = $_REQUEST['um-addon-hook'];
|
182 |
+
do_action("um_admin_addon_hook", $hook );
|
183 |
+
}
|
184 |
+
}
|
185 |
+
|
186 |
+
function content() {
|
187 |
+
|
188 |
+
?>
|
189 |
+
|
190 |
+
<div class="wrap">
|
191 |
+
|
192 |
+
<h2>Ultimate Member <sup style="font-size:15px"><?php echo ultimatemember_version; ?></sup></h2>
|
193 |
+
|
194 |
+
<h3><?php echo $this->addon[0]; ?></h3>
|
195 |
+
|
196 |
+
<?php if ( isset( $this->content ) ) {
|
197 |
+
echo $this->content;
|
198 |
+
} else { ?>
|
199 |
+
|
200 |
+
<p>This tool allows you to add dummies as Ultimate Member users. </p>
|
201 |
+
<?php
|
202 |
+
$dummies = new WP_User_Query(
|
203 |
+
array(
|
204 |
+
'fields' => array('ID'),
|
205 |
+
'meta_key' => '_um_profile_dummy',
|
206 |
+
'meta_value' => true,
|
207 |
+
'meta_compare' => '='
|
208 |
+
)
|
209 |
+
);
|
210 |
+
?>
|
211 |
+
<?php if( $dummies->total_users > 0 ): ?>
|
212 |
+
<form method="get">
|
213 |
+
<p>
|
214 |
+
<input type="submit" class="button button-secondary" value="Remove Generated Dummies (<?php echo $dummies->total_users;?>)"/>
|
215 |
+
<input type="hidden" name="um-addon-hook" value="remove_random_users"/>
|
216 |
+
<input type="hidden" name="page" value="generate_random_users"/>
|
217 |
+
</form>
|
218 |
+
<br/>
|
219 |
+
<?php endif; ?>
|
220 |
+
<form method="get">
|
221 |
+
<label for="total_users">How many dummies? <br/><input type="text" name="total_users" value="30" /> <br/><br/>
|
222 |
+
<label for="gender">Gender:</label> <br/>
|
223 |
+
<label><input type='radio' name="gender" value="male"/> Male</label> <br/>
|
224 |
+
<label><input type='radio' name="gender" value="female"/> Female</label> <br/>
|
225 |
+
<label><input type='radio' checked="checked" name="gender" value="both"/> Both</label>
|
226 |
+
<br/><br/>
|
227 |
+
<label for="nationality">Available Nationalities:</label><br/>
|
228 |
+
<select style="width:150px" name="nationality[]" multiple>
|
229 |
+
<?php
|
230 |
+
$nationality = array( 'AU', 'BR', 'CA', 'CH', 'DE', 'DK', 'ES', 'FI', 'FR', 'GB', 'IE', 'IR', 'NL', 'NZ', 'TR', 'US' );
|
231 |
+
foreach ($nationality as $code ) {
|
232 |
+
$value = strtolower($code);
|
233 |
+
echo "<option value='".$value."'/> ".$code."</option>";
|
234 |
+
}
|
235 |
+
?>
|
236 |
+
</select>
|
237 |
+
<br/><br/>
|
238 |
+
<label for="add_cover_photo"><input type="checkbox" name="add_cover_photo" value="1" />
|
239 |
+
Add cover photos?</label>
|
240 |
+
<br/><small>Generates random colored cover photos</small>
|
241 |
+
<br/><br/>
|
242 |
+
<label for="password">
|
243 |
+
Account Passwords:
|
244 |
+
<input type="password" name="password" />
|
245 |
+
<br/><small>if you leave this blank, it will generate random strings password</small>
|
246 |
+
</label>
|
247 |
+
<br/>
|
248 |
+
<input type="submit" class="button button-primary" value="Start Generating Dummies"/>
|
249 |
+
<input type="hidden" name="um-addon-hook" value="generate_random_users"/>
|
250 |
+
|
251 |
+
<?php } ?>
|
252 |
+
</form>
|
253 |
+
|
254 |
+
</div><div class="clear"></div>
|
255 |
+
|
256 |
+
<?php
|
257 |
+
|
258 |
+
}
|
259 |
+
}
|
260 |
+
|
261 |
$UM_ADDON_generate_random_users = new UM_ADDON_generate_random_users ();
|
addons/gravatar_transfer.php
CHANGED
@@ -1,83 +1,83 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class UM_ADDON_gravatar_transfer {
|
4 |
-
|
5 |
-
function __construct() {
|
6 |
-
|
7 |
-
add_action('admin_menu', array(&$this, 'admin_menu'), 1001);
|
8 |
-
|
9 |
-
add_action('admin_init', array(&$this, 'admin_init'), 1);
|
10 |
-
|
11 |
-
add_action('um_admin_addon_hook', array(&$this, 'um_admin_addon_hook') );
|
12 |
-
|
13 |
-
}
|
14 |
-
|
15 |
-
function gravatar_hash(){
|
16 |
-
global $wpdb;
|
17 |
-
$wpdb->query('DELETE FROM '.$wpdb->usermeta.' WHERE meta_key = "synced_gravatar_hashed_id" ');
|
18 |
-
|
19 |
-
$wpdb->query('INSERT INTO '.$wpdb->usermeta.'(user_id, meta_key, meta_value)
|
20 |
-
SELECT ID, "synced_gravatar_hashed_id", MD5( LOWER( TRIM(user_email) ) ) FROM '.$wpdb->users.' ');
|
21 |
-
|
22 |
-
return true;
|
23 |
-
}
|
24 |
-
|
25 |
-
function admin_menu() {
|
26 |
-
|
27 |
-
global $ultimatemember;
|
28 |
-
$this->addon = $ultimatemember->addons['gravatar_transfer'];
|
29 |
-
add_submenu_page('ultimatemember', $this->addon[0], $this->addon[0], 'manage_options', 'gravatar_transfer', array(&$this, 'content') );
|
30 |
-
|
31 |
-
}
|
32 |
-
|
33 |
-
function um_admin_addon_hook( $hook ) {
|
34 |
-
global $ultimatemember;
|
35 |
-
switch( $hook ) {
|
36 |
-
case 'gravatar_transfer':
|
37 |
-
if( $this->gravatar_hash() ){
|
38 |
-
$this->content = '<p><strong>Done. Process completed!</p>';
|
39 |
-
$result = count_users();
|
40 |
-
$this->content .= $result['total_users'] . ' user(s) changed.</strong></p>';
|
41 |
-
}
|
42 |
-
break;
|
43 |
-
}
|
44 |
-
}
|
45 |
-
|
46 |
-
function admin_init() {
|
47 |
-
if ( isset( $_REQUEST['um-addon-hook'] ) ) {
|
48 |
-
$hook = $_REQUEST['um-addon-hook'];
|
49 |
-
do_action("um_admin_addon_hook", $hook);
|
50 |
-
}
|
51 |
-
}
|
52 |
-
|
53 |
-
function content() {
|
54 |
-
|
55 |
-
$this->process_link = add_query_arg('um-addon-hook','gravatar_transfer');
|
56 |
-
|
57 |
-
?>
|
58 |
-
|
59 |
-
<div class="wrap">
|
60 |
-
|
61 |
-
<h2>Ultimate Member <sup style="font-size:15px"><?php echo ultimatemember_version; ?></sup></h2>
|
62 |
-
|
63 |
-
<h3><?php echo $this->addon[0]; ?></h3>
|
64 |
-
|
65 |
-
<?php if ( isset( $this->content ) ) {
|
66 |
-
echo $this->content;
|
67 |
-
} else { ?>
|
68 |
-
|
69 |
-
<p>This tool allows you to add gravatars to Ultimate Member users. This can help you to link gravatar photos to user accounts with their email address.</p>
|
70 |
-
<p>Depending on your users database, this could take a few moments. To start the process, click the following button.</p>
|
71 |
-
|
72 |
-
<p><a href="<?php echo $this->process_link; ?>" class="button button-primary">Start adding gravatars</a></p>
|
73 |
-
|
74 |
-
<?php } ?>
|
75 |
-
|
76 |
-
</div><div class="clear"></div>
|
77 |
-
|
78 |
-
<?php
|
79 |
-
|
80 |
-
}
|
81 |
-
}
|
82 |
-
|
83 |
$UM_ADDON_gravatar_transfer = new UM_ADDON_gravatar_transfer();
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class UM_ADDON_gravatar_transfer {
|
4 |
+
|
5 |
+
function __construct() {
|
6 |
+
|
7 |
+
add_action('admin_menu', array(&$this, 'admin_menu'), 1001);
|
8 |
+
|
9 |
+
add_action('admin_init', array(&$this, 'admin_init'), 1);
|
10 |
+
|
11 |
+
add_action('um_admin_addon_hook', array(&$this, 'um_admin_addon_hook') );
|
12 |
+
|
13 |
+
}
|
14 |
+
|
15 |
+
function gravatar_hash(){
|
16 |
+
global $wpdb;
|
17 |
+
$wpdb->query('DELETE FROM '.$wpdb->usermeta.' WHERE meta_key = "synced_gravatar_hashed_id" ');
|
18 |
+
|
19 |
+
$wpdb->query('INSERT INTO '.$wpdb->usermeta.'(user_id, meta_key, meta_value)
|
20 |
+
SELECT ID, "synced_gravatar_hashed_id", MD5( LOWER( TRIM(user_email) ) ) FROM '.$wpdb->users.' ');
|
21 |
+
|
22 |
+
return true;
|
23 |
+
}
|
24 |
+
|
25 |
+
function admin_menu() {
|
26 |
+
|
27 |
+
global $ultimatemember;
|
28 |
+
$this->addon = $ultimatemember->addons['gravatar_transfer'];
|
29 |
+
add_submenu_page('ultimatemember', $this->addon[0], $this->addon[0], 'manage_options', 'gravatar_transfer', array(&$this, 'content') );
|
30 |
+
|
31 |
+
}
|
32 |
+
|
33 |
+
function um_admin_addon_hook( $hook ) {
|
34 |
+
global $ultimatemember;
|
35 |
+
switch( $hook ) {
|
36 |
+
case 'gravatar_transfer':
|
37 |
+
if( $this->gravatar_hash() ){
|
38 |
+
$this->content = '<p><strong>Done. Process completed!</p>';
|
39 |
+
$result = count_users();
|
40 |
+
$this->content .= $result['total_users'] . ' user(s) changed.</strong></p>';
|
41 |
+
}
|
42 |
+
break;
|
43 |
+
}
|
44 |
+
}
|
45 |
+
|
46 |
+
function admin_init() {
|
47 |
+
if ( isset( $_REQUEST['um-addon-hook'] ) ) {
|
48 |
+
$hook = $_REQUEST['um-addon-hook'];
|
49 |
+
do_action("um_admin_addon_hook", $hook);
|
50 |
+
}
|
51 |
+
}
|
52 |
+
|
53 |
+
function content() {
|
54 |
+
|
55 |
+
$this->process_link = add_query_arg('um-addon-hook','gravatar_transfer');
|
56 |
+
|
57 |
+
?>
|
58 |
+
|
59 |
+
<div class="wrap">
|
60 |
+
|
61 |
+
<h2>Ultimate Member <sup style="font-size:15px"><?php echo ultimatemember_version; ?></sup></h2>
|
62 |
+
|
63 |
+
<h3><?php echo $this->addon[0]; ?></h3>
|
64 |
+
|
65 |
+
<?php if ( isset( $this->content ) ) {
|
66 |
+
echo $this->content;
|
67 |
+
} else { ?>
|
68 |
+
|
69 |
+
<p>This tool allows you to add gravatars to Ultimate Member users. This can help you to link gravatar photos to user accounts with their email address.</p>
|
70 |
+
<p>Depending on your users database, this could take a few moments. To start the process, click the following button.</p>
|
71 |
+
|
72 |
+
<p><a href="<?php echo $this->process_link; ?>" class="button button-primary">Start adding gravatars</a></p>
|
73 |
+
|
74 |
+
<?php } ?>
|
75 |
+
|
76 |
+
</div><div class="clear"></div>
|
77 |
+
|
78 |
+
<?php
|
79 |
+
|
80 |
+
}
|
81 |
+
}
|
82 |
+
|
83 |
$UM_ADDON_gravatar_transfer = new UM_ADDON_gravatar_transfer();
|
addons/system_info.php
CHANGED
@@ -1,411 +1,411 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class UM_ADDON_system_info {
|
4 |
-
|
5 |
-
function __construct() {
|
6 |
-
|
7 |
-
add_action('admin_menu', array(&$this, 'admin_menu'), 1001);
|
8 |
-
|
9 |
-
add_action('admin_init', array(&$this, 'admin_init'), 1);
|
10 |
-
|
11 |
-
add_action('um_admin_addon_hook', array(&$this, 'um_admin_addon_hook') );
|
12 |
-
|
13 |
-
}
|
14 |
-
|
15 |
-
|
16 |
-
function admin_menu() {
|
17 |
-
|
18 |
-
global $ultimatemember;
|
19 |
-
$this->addon = $ultimatemember->addons['system_info'];
|
20 |
-
add_submenu_page('ultimatemember', "System Info","System Info", 'manage_options', 'um_system_info', array(&$this, 'content') );
|
21 |
-
|
22 |
-
}
|
23 |
-
|
24 |
-
function um_admin_addon_hook( $hook ) {
|
25 |
-
global $ultimatemember;
|
26 |
-
|
27 |
-
switch ( $hook ) {
|
28 |
-
|
29 |
-
case 'download_system_info':
|
30 |
-
|
31 |
-
nocache_headers();
|
32 |
-
|
33 |
-
header( "Content-type: text/plain" );
|
34 |
-
header( 'Content-Disposition: attachment; filename="ultimatemember-system-info.txt"' );
|
35 |
-
|
36 |
-
echo wp_strip_all_tags( $_POST['um-sysinfo'] );
|
37 |
-
exit;
|
38 |
-
|
39 |
-
break;
|
40 |
-
|
41 |
-
default:
|
42 |
-
|
43 |
-
break;
|
44 |
-
}
|
45 |
-
|
46 |
-
}
|
47 |
-
|
48 |
-
function admin_init() {
|
49 |
-
if ( isset( $_REQUEST['um-addon-hook'] ) ) {
|
50 |
-
$hook = $_REQUEST['um-addon-hook'];
|
51 |
-
do_action("um_admin_addon_hook", $hook );
|
52 |
-
}
|
53 |
-
}
|
54 |
-
|
55 |
-
function content() {
|
56 |
-
global $wpdb, $ultimatemember;
|
57 |
-
|
58 |
-
if( !class_exists( 'Browser' ) )
|
59 |
-
require_once um_path . 'core/lib/browser.php';
|
60 |
-
|
61 |
-
// Detect browser
|
62 |
-
$browser = new Browser();
|
63 |
-
|
64 |
-
// Get theme info
|
65 |
-
$theme_data = wp_get_theme();
|
66 |
-
$theme = $theme_data->Name . ' ' . $theme_data->Version;
|
67 |
-
|
68 |
-
// Identify Hosting Provider
|
69 |
-
$host = um_get_host();
|
70 |
-
|
71 |
-
?>
|
72 |
-
|
73 |
-
<div class="wrap">
|
74 |
-
|
75 |
-
<h2>Ultimate Member</h2>
|
76 |
-
|
77 |
-
<h3><?php echo $this->addon[0]; ?></h3>
|
78 |
-
|
79 |
-
<?php if ( isset( $this->content ) ) {
|
80 |
-
echo $this->content;
|
81 |
-
} else { ?>
|
82 |
-
|
83 |
-
<form action="<?php echo esc_url( admin_url( 'admin.php?page=um_system_info' ) ); ?>" method="post" dir="ltr">
|
84 |
-
<textarea style="width:100%; height:400px;" readonly="readonly" onclick="this.focus();this.select()" id="system-info-textarea" name="um-sysinfo" title="<?php _e( 'To copy the system info, click below then press Ctrl + C (PC) or Cmd + C (Mac).', 'edd' ); ?>">
|
85 |
-
### Begin System Info ###
|
86 |
-
|
87 |
-
## Please include this information when posting support requests ##
|
88 |
-
|
89 |
-
<?php do_action( 'um_system_info_before' ); ?>
|
90 |
-
|
91 |
-
--- Site Info ---
|
92 |
-
|
93 |
-
Site URL: <?php echo site_url() . "\n"; ?>
|
94 |
-
Home URL: <?php echo home_url() . "\n"; ?>
|
95 |
-
Multisite: <?php echo is_multisite() ? 'Yes' . "\n" : 'No' . "\n" ?>
|
96 |
-
|
97 |
-
--- Hosting Provider ---
|
98 |
-
|
99 |
-
<?php if( $host ) : ?>
|
100 |
-
Host: <?php echo $host . "\n"; ?>
|
101 |
-
<?php endif; ?>
|
102 |
-
|
103 |
-
--- User Browser ---
|
104 |
-
|
105 |
-
<?php echo $browser ; ?>
|
106 |
-
|
107 |
-
--- WordPress Configurations ---
|
108 |
-
|
109 |
-
Version: <?php echo get_bloginfo( 'version' ) . "\n"; ?>
|
110 |
-
Language: <?php echo get_locale()."\n"; ?>
|
111 |
-
Permalink Structure: <?php echo get_option( 'permalink_structure' ) . "\n"; ?>
|
112 |
-
Active Theme: <?php echo $theme . "\n"; ?>
|
113 |
-
<?php $show_on_front = get_option( 'show_on_front' ); ?>
|
114 |
-
<?php if( $show_on_front == "posts" ): ?>
|
115 |
-
Show On Front: <?php echo get_option( 'show_on_front' ) . "/static\n" ?>
|
116 |
-
<?php elseif( $show_on_front == "page" ): ?>
|
117 |
-
Page On Front: <?php $id = get_option( 'page_on_front' ); echo get_the_title( $id ) . ' (#' . $id . ')' . "\n" ?>
|
118 |
-
Page For Posts: <?php $id = get_option( 'page_for_posts' ); echo get_the_title( $id ) . ' (#' . $id . ')' . "\n" ?>
|
119 |
-
<?php endif; ?>
|
120 |
-
ABSPATH: <?php echo ABSPATH."\n"; ?>
|
121 |
-
<?php $wp_count_posts = wp_count_posts(); ?>
|
122 |
-
All Posts/Pages: <?php echo array_sum((array)$wp_count_posts)."\n";?>
|
123 |
-
<?php
|
124 |
-
$request['cmd'] = '_notify-validate';
|
125 |
-
|
126 |
-
$params = array(
|
127 |
-
'sslverify' => false,
|
128 |
-
'timeout' => 60,
|
129 |
-
'user-agent' => 'UltimateMember/' . ultimatemember_version,
|
130 |
-
'body' => $request
|
131 |
-
);
|
132 |
-
|
133 |
-
$response = wp_remote_post( 'https://www.paypal.com/cgi-bin/webscr', $params );
|
134 |
-
|
135 |
-
if ( ! is_wp_error( $response ) && $response['response']['code'] >= 200 && $response['response']['code'] < 300 ) {
|
136 |
-
$WP_REMOTE_POST = 'wp_remote_post() works' . "\n";
|
137 |
-
} else {
|
138 |
-
$WP_REMOTE_POST = 'wp_remote_post() does not work' . "\n";
|
139 |
-
}
|
140 |
-
?>
|
141 |
-
WP Remote Post: <?php echo $WP_REMOTE_POST; ?>
|
142 |
-
WP_DEBUG: <?php echo defined( 'WP_DEBUG' ) ? WP_DEBUG ? 'Enabled' . "\n" : 'Disabled' . "\n" : 'Not set' . "\n" ?>
|
143 |
-
WP Table Prefix: <?php echo "Length: ". strlen( $wpdb->prefix ); echo ", Status:"; if ( strlen( $wpdb->prefix )>16 ) {echo " ERROR: Too Long";} else {echo " Acceptable";} echo "\n"; ?>
|
144 |
-
Memory Limit: <?php echo ( um_let_to_num( WP_MEMORY_LIMIT )/( 1024 ) )."MB"; ?><?php echo "\n"; ?>
|
145 |
-
|
146 |
-
--- UM Configurations ---
|
147 |
-
|
148 |
-
Version: <?php echo ultimatemember_version . "\n"; ?>
|
149 |
-
Upgraded From: <?php echo get_option( 'um_version_upgraded_from', 'None' ) . "\n"; ?>
|
150 |
-
Current URL Method: <?php echo um_get_option( 'current_url_method' ). "\n"; ?>
|
151 |
-
Cache User Profile: <?php if( um_get_option( 'um_profile_object_cache_stop' ) == 1 ){ echo "No"; }else{ echo "Yes"; } echo "\n"; ?>
|
152 |
-
Generate Slugs on Directories: <?php if( um_get_option( 'um_generate_slug_in_directory' ) == 1 ){ echo "No"; }else{ echo "Yes"; } echo "\n"; ?>
|
153 |
-
Rewrite Rules: <?php if( um_get_option( 'um_flush_stop' ) == 1 ){ echo "No"; }else{ echo "Yes"; } echo "\n"; ?>
|
154 |
-
Force UTF-8 Encoding: <?php if( um_get_option( 'um_force_utf8_strings' ) == 1 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
|
155 |
-
Time Check Security: <?php if( um_get_option( 'enable_timebot' ) == 1 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
|
156 |
-
JS/CSS Compression: <?php if( um_get_option( 'disable_minify' ) == 0 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
|
157 |
-
<?php if( is_multisite() ): ?>
|
158 |
-
Network Structure: <?php echo um_get_option( 'network_permalink_structure' ). "\n"; ?>
|
159 |
-
<?php endif; ?>
|
160 |
-
Nav Menu Settings: <?php if( um_get_option( 'disable_menu' ) == 0 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
|
161 |
-
Port Forwarding in URL: <?php if( um_get_option( 'um_port_forwarding_url' ) == 1 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
|
162 |
-
Exclude CSS/JS on Home: <?php if( um_get_option( 'js_css_exlcude_home' ) == 1 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
|
163 |
-
|
164 |
-
--- UM Pages Configuration ---
|
165 |
-
|
166 |
-
<?php do_action("um_system_info_before_page_config") ?>
|
167 |
-
User: <?php echo get_permalink( um_get_option('core_user') ) . "\n"; ?>
|
168 |
-
Account: <?php echo get_permalink( um_get_option('core_account') ) . "\n"; ?>
|
169 |
-
Members: <?php echo get_permalink( um_get_option('core_members') ) . "\n"; ?>
|
170 |
-
Register: <?php echo get_permalink( um_get_option('core_register') ) . "\n"; ?>
|
171 |
-
Login: <?php echo get_permalink( um_get_option('core_login') ) . "\n"; ?>
|
172 |
-
Logout: <?php echo get_permalink( um_get_option('core_logout') ) . "\n"; ?>
|
173 |
-
Password Reset: <?php echo get_permalink( um_get_option('core_password-reset') ) . "\n"; ?>
|
174 |
-
<?php do_action("um_system_info_after_page_config") ?>
|
175 |
-
|
176 |
-
-- UM Users Configuration ---
|
177 |
-
|
178 |
-
Default New User Role: <?php echo um_get_option('default_role') . "\n"; ?>
|
179 |
-
Profile Permalink Base: <?php echo um_get_option('permalink_base') . "\n"; ?>
|
180 |
-
User Display Name: <?php echo um_get_option('display_name') . "\n"; ?>
|
181 |
-
Force Name to Uppercase: <?php echo $this->value( um_get_option('force_display_name_capitlized'), 'yesno', true ); ?>
|
182 |
-
Redirect author to profile: <?php echo $this->value( um_get_option('author_redirect'), 'yesno', true ); ?>
|
183 |
-
Enable Members Directory: <?php echo $this->value( um_get_option('members_page'), 'yesno', true ); ?>
|
184 |
-
Use Gravatars: <?php echo $this->value( um_get_option('use_gravatars'), 'yesno', true ); ?>
|
185 |
-
<?php if( um_get_option('use_gravatars') ): ?>Gravatar builtin image: <?php echo um_get_option('use_um_gravatar_default_builtin_image') . "\n"; ?>
|
186 |
-
UM Avatar as blank Gravatar: <?php echo $this->value( um_get_option('use_um_gravatar_default_image'), 'yesno', true ); ?><?php endif; ?>
|
187 |
-
Require a strong password: <?php echo $this->value( um_get_option('reset_require_strongpass'), 'onoff', true ); ?>
|
188 |
-
Editable primary email field in profile view: <?php echo $this->value( um_get_option('editable_primary_email_in_profile'), 'onoff', true ); ?>
|
189 |
-
|
190 |
-
-- UM Access Configuration ---
|
191 |
-
|
192 |
-
Panic Key: <?php echo um_get_option('panic_key') . "\n"; ?>
|
193 |
-
Global Site Access: <?php $arr = array('Site accessible to Everyone','','Site accessible to Logged In Users'); echo $arr[ intval( um_get_option('accessible') ) ] . "\n"; ?>
|
194 |
-
<?php if( um_get_option('accessible') == 2 ):?>
|
195 |
-
Custom Redirect URL: <?php echo um_get_option('access_redirect')."\n";?>
|
196 |
-
Exclude the following URLs:<?php echo "\t\t\t\t".implode("\t\n\t\t\t\t\t\t\t\t\t\t",um_get_option('access_exclude_uris') )."\n";?><?php endif;?>
|
197 |
-
Backend Login Screen for Guests: <?php echo $this->value( um_get_option('wpadmin_login'), 'yesno', true ); ?>
|
198 |
-
<?php if( ! um_get_option('wpadmin_login') ):?>Redirect to alternative login page: <?php if( um_get_option('wpadmin_login_redirect') == 'um_login_page' ){ echo um_get_core_page('login')."\n"; }else{ echo um_get_option('wpadmin_login_redirect_url')."\n"; }?><?php endif; ?>
|
199 |
-
Backend Register Screen for Guests: <?php echo $this->value( um_get_option('wpadmin_register'), 'yesno', true ); ?>
|
200 |
-
<?php if( ! um_get_option('wpadmin_register') ):?>Redirect to alternative register page: <?php if( um_get_option('wpadmin_register_redirect') == 'um_register_page' ){ echo um_get_core_page('register')."\n"; }else{ echo um_get_option('wpadmin_register_redirect_url')."\n"; }?><?php endif; ?>
|
201 |
-
Access Control widget for Admins only: <?php echo $this->value( um_get_option('access_widget_admin_only'), 'yesno', true ); ?>
|
202 |
-
Enable the Reset Password Limit: <?php echo $this->value( um_get_option('enable_reset_password_limit'), 'yesno', true ); ?>
|
203 |
-
<?php if( um_get_option('enable_reset_password_limit') ) {
|
204 |
-
echo "Reset Password Limit:\t\t\t\t\t\t".um_get_option('reset_password_limit_number')."\n";
|
205 |
-
echo "Disable Reset Password Limit for Admins:\t".$this->value( um_get_option('disable_admin_reset_password_limit'), 'yesno', true );
|
206 |
-
} ?>
|
207 |
-
<?php $wpadmin_allow_ips = um_get_option('wpadmin_allow_ips'); if( ! empty( $wpadmin_allow_ips ) ){ ?>
|
208 |
-
Whitelisted Backend IPs: <?php echo count( explode("\n",trim(um_get_option('wpadmin_allow_ips') ) ) )."\n"; ?>
|
209 |
-
<?php }?>
|
210 |
-
<?php $blocked_ips = um_get_option('blocked_ips'); if( ! empty( $blocked_ips ) ){ ?>
|
211 |
-
Blocked IP Addresses: <?php echo count( explode("\n",um_get_option('blocked_ips') ) )."\n"; ?>
|
212 |
-
<?php }?>
|
213 |
-
<?php $blocked_emails = um_get_option('blocked_emails'); if( ! empty( $blocked_emails ) ){ ?>
|
214 |
-
Blocked Email Addresses: <?php echo count( explode("\n",um_get_option('blocked_emails') ) )."\n"; ?>
|
215 |
-
<?php }?>
|
216 |
-
<?php $blocked_words = um_get_option('blocked_words'); if( ! empty( $blocked_words ) ){ ?>
|
217 |
-
Blacklist Words: <?php echo count( explode("\n",um_get_option('blocked_words') ) )."\n"; ?>
|
218 |
-
<?php }?>
|
219 |
-
|
220 |
-
|
221 |
-
--- UM Email Configurations --
|
222 |
-
|
223 |
-
Mail appears from: <?php $mail_from = um_get_option('mail_from'); if( ! empty( $mail_from ) ){echo um_get_option('mail_from');}else{echo "-";}; echo "\n";?>
|
224 |
-
Mail appears from address: <?php $mail_from_addr = um_get_option('mail_from_addr'); if( ! empty( $mail_from_addr ) ){echo um_get_option('mail_from_addr');}else{echo "-";}; echo "\n";?>
|
225 |
-
Use HTML for E-mails: <?php echo $this->value( um_get_option('email_html'), 'yesno', true ); ?>
|
226 |
-
Account Welcome Email: <?php echo $this->value( um_get_option('welcome_email_on'), 'yesno', true ); ?>
|
227 |
-
Account Activation Email: <?php echo $this->value( um_get_option('checkmail_email_on'), 'yesno', true ); ?>
|
228 |
-
Pending Review Email: <?php echo $this->value( um_get_option('pending_email_on'), 'yesno', true ); ?>
|
229 |
-
Account Approved Email: <?php echo $this->value( um_get_option('approved_email_on'), 'yesno', true ); ?>
|
230 |
-
Account Rejected Email: <?php echo $this->value( um_get_option('rejected_email_on'), 'yesno', true ); ?>
|
231 |
-
Account Deactivated Email: <?php echo $this->value( um_get_option('inactive_email_on'), 'yesno', true ); ?>
|
232 |
-
Account Deleted Email: <?php echo $this->value( um_get_option('deletion_email_on'), 'yesno', true ); ?>
|
233 |
-
Password Reset Email: <?php echo $this->value( um_get_option('resetpw_email_on'), 'yesno', true ); ?>
|
234 |
-
Password Changed Email: <?php echo $this->value( um_get_option('changedpw_email_on'), 'yesno', true ); ?>
|
235 |
-
|
236 |
-
|
237 |
-
--- UM Total Users ---
|
238 |
-
|
239 |
-
<?php
|
240 |
-
|
241 |
-
$result = count_users();
|
242 |
-
echo 'All Users('.$result['total_users'].")\n";
|
243 |
-
foreach($result['avail_roles'] as $role => $count){
|
244 |
-
echo $role."(".$count.")\n";
|
245 |
-
}
|
246 |
-
?>
|
247 |
-
|
248 |
-
|
249 |
-
--- UM Roles ---
|
250 |
-
|
251 |
-
<?php
|
252 |
-
|
253 |
-
foreach( $ultimatemember->query->get_roles() as $role_id => $role ) {
|
254 |
-
echo $role." ({$role_id})\n";
|
255 |
-
}
|
256 |
-
|
257 |
-
?>
|
258 |
-
|
259 |
-
|
260 |
-
--- UM Custom Templates ---
|
261 |
-
|
262 |
-
<?php
|
263 |
-
// Show templates that have been copied to the theme's edd_templates dir
|
264 |
-
|
265 |
-
$dir = get_stylesheet_directory() . '/ultimate-member/templates/*.php';
|
266 |
-
if ( ! empty( $dir ) ){
|
267 |
-
$found = glob( $dir );
|
268 |
-
if( ! empty( $found ) ){
|
269 |
-
foreach ( glob( $dir ) as $file ) {
|
270 |
-
echo "File: " . $file . "\n";
|
271 |
-
}
|
272 |
-
}else {
|
273 |
-
echo 'N/A'."\n";
|
274 |
-
}
|
275 |
-
}
|
276 |
-
echo "\n\n";
|
277 |
-
|
278 |
-
$dir = get_stylesheet_directory() . '/ultimate-member/templates/emails/*.html';
|
279 |
-
echo "-- UM Email HTML Templates -- \n\n";
|
280 |
-
|
281 |
-
if ( ! empty( $dir ) ){
|
282 |
-
$found = glob( $dir );
|
283 |
-
if( ! empty( $found ) ){
|
284 |
-
foreach ( glob( $dir ) as $file ) {
|
285 |
-
echo "File: ". $file . "\n";
|
286 |
-
}
|
287 |
-
}else {
|
288 |
-
echo 'N/A'."\n";
|
289 |
-
}
|
290 |
-
}
|
291 |
-
|
292 |
-
?>
|
293 |
-
|
294 |
-
--- Web Server Configurations ---
|
295 |
-
|
296 |
-
PHP Version: <?php echo PHP_VERSION . "\n"; ?>
|
297 |
-
MySQL Version: <?php echo $wpdb->db_version() . "\n"; ?>
|
298 |
-
Web Server Info: <?php echo $_SERVER['SERVER_SOFTWARE'] . "\n"; ?>
|
299 |
-
|
300 |
-
--- PHP Configurations --
|
301 |
-
|
302 |
-
PHP Safe Mode: <?php echo $this->value( ini_get( 'safe_mode' ), 'yesno', true ); ?>
|
303 |
-
PHP Memory Limit: <?php echo ini_get( 'memory_limit' ) . "\n"; ?>
|
304 |
-
PHP Upload Max Size: <?php echo ini_get( 'upload_max_filesize' ) . "\n"; ?>
|
305 |
-
PHP Post Max Size: <?php echo ini_get( 'post_max_size' ) . "\n"; ?>
|
306 |
-
PHP Upload Max Filesize: <?php echo ini_get( 'upload_max_filesize' ) . "\n"; ?>
|
307 |
-
PHP Time Limit: <?php echo ini_get( 'max_execution_time' ) . "\n"; ?>
|
308 |
-
PHP Max Input Vars: <?php echo ini_get( 'max_input_vars' ) . "\n"; ?>
|
309 |
-
PHP Arg Separator: <?php echo ini_get( 'arg_separator.output' ) . "\n"; ?>
|
310 |
-
PHP Allow URL File Open: <?php echo ini_get( 'allow_url_fopen' ) ? "Yes\n" : "No\n"; ?>
|
311 |
-
|
312 |
-
|
313 |
-
--- Web Server Extensions/Modules ---
|
314 |
-
|
315 |
-
DISPLAY ERRORS: <?php echo ( ini_get( 'display_errors' ) ) ? 'On (' . ini_get( 'display_errors' ) . ')' : 'N/A'; ?><?php echo "\n"; ?>
|
316 |
-
FSOCKOPEN: <?php echo ( function_exists( 'fsockopen' ) ) ? 'Your server supports fsockopen.' : 'Your server does not support fsockopen.'; ?><?php echo "\n"; ?>
|
317 |
-
cURL: <?php echo ( function_exists( 'curl_init' ) ) ? 'Your server supports cURL.' : 'Your server does not support cURL.'; ?><?php echo "\n"; ?>
|
318 |
-
SOAP Client: <?php echo ( class_exists( 'SoapClient' ) ) ? 'Your server has the SOAP Client enabled.' : 'Your server does not have the SOAP Client enabled.'; ?><?php echo "\n"; ?>
|
319 |
-
SUHOSIN: <?php echo ( extension_loaded( 'suhosin' ) ) ? 'Your server has SUHOSIN installed.' : 'Your server does not have SUHOSIN installed.'; ?><?php echo "\n"; ?>
|
320 |
-
|
321 |
-
|
322 |
-
--- Session Configurations ---
|
323 |
-
|
324 |
-
Session: <?php echo isset( $_SESSION ) ? 'Enabled' : 'Disabled'; ?><?php echo "\n"; ?>
|
325 |
-
Session Name: <?php echo esc_html( ini_get( 'session.name' ) ); ?><?php echo "\n"; ?>
|
326 |
-
Cookie Path: <?php echo esc_html( ini_get( 'session.cookie_path' ) ); ?><?php echo "\n"; ?>
|
327 |
-
Save Path: <?php echo esc_html( ini_get( 'session.save_path' ) ); ?><?php echo "\n"; ?>
|
328 |
-
Use Cookies: <?php echo ini_get( 'session.use_cookies' ) ? 'On' : 'Off'; ?><?php echo "\n"; ?>
|
329 |
-
Use Only Cookies: <?php echo ini_get( 'session.use_only_cookies' ) ? 'On' : 'Off'; ?><?php echo "\n"; ?>
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
--- WordPress Active Plugins ---
|
334 |
-
|
335 |
-
<?php
|
336 |
-
$plugins = get_plugins();
|
337 |
-
$active_plugins = get_option( 'active_plugins', array() );
|
338 |
-
|
339 |
-
foreach ( $plugins as $plugin_path => $plugin ) {
|
340 |
-
// If the plugin isn't active, don't show it.
|
341 |
-
if ( ! in_array( $plugin_path, $active_plugins ) )
|
342 |
-
continue;
|
343 |
-
|
344 |
-
echo $plugin['Name'] . ': ' . $plugin['Version'] ."\n";
|
345 |
-
}
|
346 |
-
|
347 |
-
if ( is_multisite() ) :
|
348 |
-
?>
|
349 |
-
|
350 |
-
--- WordPress Network Active Plugins ---
|
351 |
-
|
352 |
-
<?php
|
353 |
-
$plugins = wp_get_active_network_plugins();
|
354 |
-
$active_plugins = get_site_option( 'active_sitewide_plugins', array() );
|
355 |
-
|
356 |
-
foreach ( $plugins as $plugin_path ) {
|
357 |
-
$plugin_base = plugin_basename( $plugin_path );
|
358 |
-
|
359 |
-
// If the plugin isn't active, don't show it.
|
360 |
-
if ( ! array_key_exists( $plugin_base, $active_plugins ) )
|
361 |
-
continue;
|
362 |
-
|
363 |
-
$plugin = get_plugin_data( $plugin_path );
|
364 |
-
|
365 |
-
echo $plugin['Name'] . ' :' . $plugin['Version'] ."\n";
|
366 |
-
}
|
367 |
-
|
368 |
-
endif;
|
369 |
-
?>
|
370 |
-
<?php
|
371 |
-
do_action( 'um_system_info_after' );
|
372 |
-
?>
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
### End System Info ###</textarea>
|
378 |
-
<p class="submit">
|
379 |
-
<input type="hidden" name="um-addon-hook" value="download_system_info" />
|
380 |
-
<?php submit_button( 'Download System Info File', 'primary', 'download_system_info', false ); ?>
|
381 |
-
</p>
|
382 |
-
</form>
|
383 |
-
|
384 |
-
<?php } ?>
|
385 |
-
|
386 |
-
<?php
|
387 |
-
|
388 |
-
}
|
389 |
-
|
390 |
-
function value( $raw_value = '', $type = 'yesno', $default = '', $default_negate = '' ){
|
391 |
-
|
392 |
-
if( $type == 'yesno' ){
|
393 |
-
if( $default == $raw_value ){
|
394 |
-
$raw_value = "Yes";
|
395 |
-
}else{
|
396 |
-
$raw_value = "No";
|
397 |
-
}
|
398 |
-
}else if( $type == 'onoff' ){
|
399 |
-
if( $default == $raw_value ){
|
400 |
-
$raw_value = "On";
|
401 |
-
}else{
|
402 |
-
$raw_value = "Off";
|
403 |
-
}
|
404 |
-
}
|
405 |
-
|
406 |
-
return $raw_value."\n";
|
407 |
-
}
|
408 |
-
|
409 |
-
}
|
410 |
-
|
411 |
$UM_ADDON_system_info = new UM_ADDON_system_info();
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class UM_ADDON_system_info {
|
4 |
+
|
5 |
+
function __construct() {
|
6 |
+
|
7 |
+
add_action('admin_menu', array(&$this, 'admin_menu'), 1001);
|
8 |
+
|
9 |
+
add_action('admin_init', array(&$this, 'admin_init'), 1);
|
10 |
+
|
11 |
+
add_action('um_admin_addon_hook', array(&$this, 'um_admin_addon_hook') );
|
12 |
+
|
13 |
+
}
|
14 |
+
|
15 |
+
|
16 |
+
function admin_menu() {
|
17 |
+
|
18 |
+
global $ultimatemember;
|
19 |
+
$this->addon = $ultimatemember->addons['system_info'];
|
20 |
+
add_submenu_page('ultimatemember', "System Info","System Info", 'manage_options', 'um_system_info', array(&$this, 'content') );
|
21 |
+
|
22 |
+
}
|
23 |
+
|
24 |
+
function um_admin_addon_hook( $hook ) {
|
25 |
+
global $ultimatemember;
|
26 |
+
|
27 |
+
switch ( $hook ) {
|
28 |
+
|
29 |
+
case 'download_system_info':
|
30 |
+
|
31 |
+
nocache_headers();
|
32 |
+
|
33 |
+
header( "Content-type: text/plain" );
|
34 |
+
header( 'Content-Disposition: attachment; filename="ultimatemember-system-info.txt"' );
|
35 |
+
|
36 |
+
echo wp_strip_all_tags( $_POST['um-sysinfo'] );
|
37 |
+
exit;
|
38 |
+
|
39 |
+
break;
|
40 |
+
|
41 |
+
default:
|
42 |
+
|
43 |
+
break;
|
44 |
+
}
|
45 |
+
|
46 |
+
}
|
47 |
+
|
48 |
+
function admin_init() {
|
49 |
+
if ( isset( $_REQUEST['um-addon-hook'] ) ) {
|
50 |
+
$hook = $_REQUEST['um-addon-hook'];
|
51 |
+
do_action("um_admin_addon_hook", $hook );
|
52 |
+
}
|
53 |
+
}
|
54 |
+
|
55 |
+
function content() {
|
56 |
+
global $wpdb, $ultimatemember;
|
57 |
+
|
58 |
+
if( !class_exists( 'Browser' ) )
|
59 |
+
require_once um_path . 'core/lib/browser.php';
|
60 |
+
|
61 |
+
// Detect browser
|
62 |
+
$browser = new Browser();
|
63 |
+
|
64 |
+
// Get theme info
|
65 |
+
$theme_data = wp_get_theme();
|
66 |
+
$theme = $theme_data->Name . ' ' . $theme_data->Version;
|
67 |
+
|
68 |
+
// Identify Hosting Provider
|
69 |
+
$host = um_get_host();
|
70 |
+
|
71 |
+
?>
|
72 |
+
|
73 |
+
<div class="wrap">
|
74 |
+
|
75 |
+
<h2>Ultimate Member</h2>
|
76 |
+
|
77 |
+
<h3><?php echo $this->addon[0]; ?></h3>
|
78 |
+
|
79 |
+
<?php if ( isset( $this->content ) ) {
|
80 |
+
echo $this->content;
|
81 |
+
} else { ?>
|
82 |
+
|
83 |
+
<form action="<?php echo esc_url( admin_url( 'admin.php?page=um_system_info' ) ); ?>" method="post" dir="ltr">
|
84 |
+
<textarea style="width:100%; height:400px;" readonly="readonly" onclick="this.focus();this.select()" id="system-info-textarea" name="um-sysinfo" title="<?php _e( 'To copy the system info, click below then press Ctrl + C (PC) or Cmd + C (Mac).', 'edd' ); ?>">
|
85 |
+
### Begin System Info ###
|
86 |
+
|
87 |
+
## Please include this information when posting support requests ##
|
88 |
+
|
89 |
+
<?php do_action( 'um_system_info_before' ); ?>
|
90 |
+
|
91 |
+
--- Site Info ---
|
92 |
+
|
93 |
+
Site URL: <?php echo site_url() . "\n"; ?>
|
94 |
+
Home URL: <?php echo home_url() . "\n"; ?>
|
95 |
+
Multisite: <?php echo is_multisite() ? 'Yes' . "\n" : 'No' . "\n" ?>
|
96 |
+
|
97 |
+
--- Hosting Provider ---
|
98 |
+
|
99 |
+
<?php if( $host ) : ?>
|
100 |
+
Host: <?php echo $host . "\n"; ?>
|
101 |
+
<?php endif; ?>
|
102 |
+
|
103 |
+
--- User Browser ---
|
104 |
+
|
105 |
+
<?php echo $browser ; ?>
|
106 |
+
|
107 |
+
--- WordPress Configurations ---
|
108 |
+
|
109 |
+
Version: <?php echo get_bloginfo( 'version' ) . "\n"; ?>
|
110 |
+
Language: <?php echo get_locale()."\n"; ?>
|
111 |
+
Permalink Structure: <?php echo get_option( 'permalink_structure' ) . "\n"; ?>
|
112 |
+
Active Theme: <?php echo $theme . "\n"; ?>
|
113 |
+
<?php $show_on_front = get_option( 'show_on_front' ); ?>
|
114 |
+
<?php if( $show_on_front == "posts" ): ?>
|
115 |
+
Show On Front: <?php echo get_option( 'show_on_front' ) . "/static\n" ?>
|
116 |
+
<?php elseif( $show_on_front == "page" ): ?>
|
117 |
+
Page On Front: <?php $id = get_option( 'page_on_front' ); echo get_the_title( $id ) . ' (#' . $id . ')' . "\n" ?>
|
118 |
+
Page For Posts: <?php $id = get_option( 'page_for_posts' ); echo get_the_title( $id ) . ' (#' . $id . ')' . "\n" ?>
|
119 |
+
<?php endif; ?>
|
120 |
+
ABSPATH: <?php echo ABSPATH."\n"; ?>
|
121 |
+
<?php $wp_count_posts = wp_count_posts(); ?>
|
122 |
+
All Posts/Pages: <?php echo array_sum((array)$wp_count_posts)."\n";?>
|
123 |
+
<?php
|
124 |
+
$request['cmd'] = '_notify-validate';
|
125 |
+
|
126 |
+
$params = array(
|
127 |
+
'sslverify' => false,
|
128 |
+
'timeout' => 60,
|
129 |
+
'user-agent' => 'UltimateMember/' . ultimatemember_version,
|
130 |
+
'body' => $request
|
131 |
+
);
|
132 |
+
|
133 |
+
$response = wp_remote_post( 'https://www.paypal.com/cgi-bin/webscr', $params );
|
134 |
+
|
135 |
+
if ( ! is_wp_error( $response ) && $response['response']['code'] >= 200 && $response['response']['code'] < 300 ) {
|
136 |
+
$WP_REMOTE_POST = 'wp_remote_post() works' . "\n";
|
137 |
+
} else {
|
138 |
+
$WP_REMOTE_POST = 'wp_remote_post() does not work' . "\n";
|
139 |
+
}
|
140 |
+
?>
|
141 |
+
WP Remote Post: <?php echo $WP_REMOTE_POST; ?>
|
142 |
+
WP_DEBUG: <?php echo defined( 'WP_DEBUG' ) ? WP_DEBUG ? 'Enabled' . "\n" : 'Disabled' . "\n" : 'Not set' . "\n" ?>
|
143 |
+
WP Table Prefix: <?php echo "Length: ". strlen( $wpdb->prefix ); echo ", Status:"; if ( strlen( $wpdb->prefix )>16 ) {echo " ERROR: Too Long";} else {echo " Acceptable";} echo "\n"; ?>
|
144 |
+
Memory Limit: <?php echo ( um_let_to_num( WP_MEMORY_LIMIT )/( 1024 ) )."MB"; ?><?php echo "\n"; ?>
|
145 |
+
|
146 |
+
--- UM Configurations ---
|
147 |
+
|
148 |
+
Version: <?php echo ultimatemember_version . "\n"; ?>
|
149 |
+
Upgraded From: <?php echo get_option( 'um_version_upgraded_from', 'None' ) . "\n"; ?>
|
150 |
+
Current URL Method: <?php echo um_get_option( 'current_url_method' ). "\n"; ?>
|
151 |
+
Cache User Profile: <?php if( um_get_option( 'um_profile_object_cache_stop' ) == 1 ){ echo "No"; }else{ echo "Yes"; } echo "\n"; ?>
|
152 |
+
Generate Slugs on Directories: <?php if( um_get_option( 'um_generate_slug_in_directory' ) == 1 ){ echo "No"; }else{ echo "Yes"; } echo "\n"; ?>
|
153 |
+
Rewrite Rules: <?php if( um_get_option( 'um_flush_stop' ) == 1 ){ echo "No"; }else{ echo "Yes"; } echo "\n"; ?>
|
154 |
+
Force UTF-8 Encoding: <?php if( um_get_option( 'um_force_utf8_strings' ) == 1 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
|
155 |
+
Time Check Security: <?php if( um_get_option( 'enable_timebot' ) == 1 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
|
156 |
+
JS/CSS Compression: <?php if( um_get_option( 'disable_minify' ) == 0 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
|
157 |
+
<?php if( is_multisite() ): ?>
|
158 |
+
Network Structure: <?php echo um_get_option( 'network_permalink_structure' ). "\n"; ?>
|
159 |
+
<?php endif; ?>
|
160 |
+
Nav Menu Settings: <?php if( um_get_option( 'disable_menu' ) == 0 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
|
161 |
+
Port Forwarding in URL: <?php if( um_get_option( 'um_port_forwarding_url' ) == 1 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
|
162 |
+
Exclude CSS/JS on Home: <?php if( um_get_option( 'js_css_exlcude_home' ) == 1 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
|
163 |
+
|
164 |
+
--- UM Pages Configuration ---
|
165 |
+
|
166 |
+
<?php do_action("um_system_info_before_page_config") ?>
|
167 |
+
User: <?php echo get_permalink( um_get_option('core_user') ) . "\n"; ?>
|
168 |
+
Account: <?php echo get_permalink( um_get_option('core_account') ) . "\n"; ?>
|
169 |
+
Members: <?php echo get_permalink( um_get_option('core_members') ) . "\n"; ?>
|
170 |
+
Register: <?php echo get_permalink( um_get_option('core_register') ) . "\n"; ?>
|
171 |
+
Login: <?php echo get_permalink( um_get_option('core_login') ) . "\n"; ?>
|
172 |
+
Logout: <?php echo get_permalink( um_get_option('core_logout') ) . "\n"; ?>
|
173 |
+
Password Reset: <?php echo get_permalink( um_get_option('core_password-reset') ) . "\n"; ?>
|
174 |
+
<?php do_action("um_system_info_after_page_config") ?>
|
175 |
+
|
176 |
+
-- UM Users Configuration ---
|
177 |
+
|
178 |
+
Default New User Role: <?php echo um_get_option('default_role') . "\n"; ?>
|
179 |
+
Profile Permalink Base: <?php echo um_get_option('permalink_base') . "\n"; ?>
|
180 |
+
User Display Name: <?php echo um_get_option('display_name') . "\n"; ?>
|
181 |
+
Force Name to Uppercase: <?php echo $this->value( um_get_option('force_display_name_capitlized'), 'yesno', true ); ?>
|
182 |
+
Redirect author to profile: <?php echo $this->value( um_get_option('author_redirect'), 'yesno', true ); ?>
|
183 |
+
Enable Members Directory: <?php echo $this->value( um_get_option('members_page'), 'yesno', true ); ?>
|
184 |
+
Use Gravatars: <?php echo $this->value( um_get_option('use_gravatars'), 'yesno', true ); ?>
|
185 |
+
<?php if( um_get_option('use_gravatars') ): ?>Gravatar builtin image: <?php echo um_get_option('use_um_gravatar_default_builtin_image') . "\n"; ?>
|
186 |
+
UM Avatar as blank Gravatar: <?php echo $this->value( um_get_option('use_um_gravatar_default_image'), 'yesno', true ); ?><?php endif; ?>
|
187 |
+
Require a strong password: <?php echo $this->value( um_get_option('reset_require_strongpass'), 'onoff', true ); ?>
|
188 |
+
Editable primary email field in profile view: <?php echo $this->value( um_get_option('editable_primary_email_in_profile'), 'onoff', true ); ?>
|
189 |
+
|
190 |
+
-- UM Access Configuration ---
|
191 |
+
|
192 |
+
Panic Key: <?php echo um_get_option('panic_key') . "\n"; ?>
|
193 |
+
Global Site Access: <?php $arr = array('Site accessible to Everyone','','Site accessible to Logged In Users'); echo $arr[ intval( um_get_option('accessible') ) ] . "\n"; ?>
|
194 |
+
<?php if( um_get_option('accessible') == 2 ):?>
|
195 |
+
Custom Redirect URL: <?php echo um_get_option('access_redirect')."\n";?>
|
196 |
+
Exclude the following URLs:<?php echo "\t\t\t\t".implode("\t\n\t\t\t\t\t\t\t\t\t\t",um_get_option('access_exclude_uris') )."\n";?><?php endif;?>
|
197 |
+
Backend Login Screen for Guests: <?php echo $this->value( um_get_option('wpadmin_login'), 'yesno', true ); ?>
|
198 |
+
<?php if( ! um_get_option('wpadmin_login') ):?>Redirect to alternative login page: <?php if( um_get_option('wpadmin_login_redirect') == 'um_login_page' ){ echo um_get_core_page('login')."\n"; }else{ echo um_get_option('wpadmin_login_redirect_url')."\n"; }?><?php endif; ?>
|
199 |
+
Backend Register Screen for Guests: <?php echo $this->value( um_get_option('wpadmin_register'), 'yesno', true ); ?>
|
200 |
+
<?php if( ! um_get_option('wpadmin_register') ):?>Redirect to alternative register page: <?php if( um_get_option('wpadmin_register_redirect') == 'um_register_page' ){ echo um_get_core_page('register')."\n"; }else{ echo um_get_option('wpadmin_register_redirect_url')."\n"; }?><?php endif; ?>
|
201 |
+
Access Control widget for Admins only: <?php echo $this->value( um_get_option('access_widget_admin_only'), 'yesno', true ); ?>
|
202 |
+
Enable the Reset Password Limit: <?php echo $this->value( um_get_option('enable_reset_password_limit'), 'yesno', true ); ?>
|
203 |
+
<?php if( um_get_option('enable_reset_password_limit') ) {
|
204 |
+
echo "Reset Password Limit:\t\t\t\t\t\t".um_get_option('reset_password_limit_number')."\n";
|
205 |
+
echo "Disable Reset Password Limit for Admins:\t".$this->value( um_get_option('disable_admin_reset_password_limit'), 'yesno', true );
|
206 |
+
} ?>
|
207 |
+
<?php $wpadmin_allow_ips = um_get_option('wpadmin_allow_ips'); if( ! empty( $wpadmin_allow_ips ) ){ ?>
|
208 |
+
Whitelisted Backend IPs: <?php echo count( explode("\n",trim(um_get_option('wpadmin_allow_ips') ) ) )."\n"; ?>
|
209 |
+
<?php }?>
|
210 |
+
<?php $blocked_ips = um_get_option('blocked_ips'); if( ! empty( $blocked_ips ) ){ ?>
|
211 |
+
Blocked IP Addresses: <?php echo count( explode("\n",um_get_option('blocked_ips') ) )."\n"; ?>
|
212 |
+
<?php }?>
|
213 |
+
<?php $blocked_emails = um_get_option('blocked_emails'); if( ! empty( $blocked_emails ) ){ ?>
|
214 |
+
Blocked Email Addresses: <?php echo count( explode("\n",um_get_option('blocked_emails') ) )."\n"; ?>
|
215 |
+
<?php }?>
|
216 |
+
<?php $blocked_words = um_get_option('blocked_words'); if( ! empty( $blocked_words ) ){ ?>
|
217 |
+
Blacklist Words: <?php echo count( explode("\n",um_get_option('blocked_words') ) )."\n"; ?>
|
218 |
+
<?php }?>
|
219 |
+
|
220 |
+
|
221 |
+
--- UM Email Configurations --
|
222 |
+
|
223 |
+
Mail appears from: <?php $mail_from = um_get_option('mail_from'); if( ! empty( $mail_from ) ){echo um_get_option('mail_from');}else{echo "-";}; echo "\n";?>
|
224 |
+
Mail appears from address: <?php $mail_from_addr = um_get_option('mail_from_addr'); if( ! empty( $mail_from_addr ) ){echo um_get_option('mail_from_addr');}else{echo "-";}; echo "\n";?>
|
225 |
+
Use HTML for E-mails: <?php echo $this->value( um_get_option('email_html'), 'yesno', true ); ?>
|
226 |
+
Account Welcome Email: <?php echo $this->value( um_get_option('welcome_email_on'), 'yesno', true ); ?>
|
227 |
+
Account Activation Email: <?php echo $this->value( um_get_option('checkmail_email_on'), 'yesno', true ); ?>
|
228 |
+
Pending Review Email: <?php echo $this->value( um_get_option('pending_email_on'), 'yesno', true ); ?>
|
229 |
+
Account Approved Email: <?php echo $this->value( um_get_option('approved_email_on'), 'yesno', true ); ?>
|
230 |
+
Account Rejected Email: <?php echo $this->value( um_get_option('rejected_email_on'), 'yesno', true ); ?>
|
231 |
+
Account Deactivated Email: <?php echo $this->value( um_get_option('inactive_email_on'), 'yesno', true ); ?>
|
232 |
+
Account Deleted Email: <?php echo $this->value( um_get_option('deletion_email_on'), 'yesno', true ); ?>
|
233 |
+
Password Reset Email: <?php echo $this->value( um_get_option('resetpw_email_on'), 'yesno', true ); ?>
|
234 |
+
Password Changed Email: <?php echo $this->value( um_get_option('changedpw_email_on'), 'yesno', true ); ?>
|
235 |
+
|
236 |
+
|
237 |
+
--- UM Total Users ---
|
238 |
+
|
239 |
+
<?php
|
240 |
+
|
241 |
+
$result = count_users();
|
242 |
+
echo 'All Users('.$result['total_users'].")\n";
|
243 |
+
foreach($result['avail_roles'] as $role => $count){
|
244 |
+
echo $role."(".$count.")\n";
|
245 |
+
}
|
246 |
+
?>
|
247 |
+
|
248 |
+
|
249 |
+
--- UM Roles ---
|
250 |
+
|
251 |
+
<?php
|
252 |
+
|
253 |
+
foreach( $ultimatemember->query->get_roles() as $role_id => $role ) {
|
254 |
+
echo $role." ({$role_id})\n";
|
255 |
+
}
|
256 |
+
|
257 |
+
?>
|
258 |
+
|
259 |
+
|
260 |
+
--- UM Custom Templates ---
|
261 |
+
|
262 |
+
<?php
|
263 |
+
// Show templates that have been copied to the theme's edd_templates dir
|
264 |
+
|
265 |
+
$dir = get_stylesheet_directory() . '/ultimate-member/templates/*.php';
|
266 |
+
if ( ! empty( $dir ) ){
|
267 |
+
$found = glob( $dir );
|
268 |
+
if( ! empty( $found ) ){
|
269 |
+
foreach ( glob( $dir ) as $file ) {
|
270 |
+
echo "File: " . $file . "\n";
|
271 |
+
}
|
272 |
+
}else {
|
273 |
+
echo 'N/A'."\n";
|
274 |
+
}
|
275 |
+
}
|
276 |
+
echo "\n\n";
|
277 |
+
|
278 |
+
$dir = get_stylesheet_directory() . '/ultimate-member/templates/emails/*.html';
|
279 |
+
echo "-- UM Email HTML Templates -- \n\n";
|
280 |
+
|
281 |
+
if ( ! empty( $dir ) ){
|
282 |
+
$found = glob( $dir );
|
283 |
+
if( ! empty( $found ) ){
|
284 |
+
foreach ( glob( $dir ) as $file ) {
|
285 |
+
echo "File: ". $file . "\n";
|
286 |
+
}
|
287 |
+
}else {
|
288 |
+
echo 'N/A'."\n";
|
289 |
+
}
|
290 |
+
}
|
291 |
+
|
292 |
+
?>
|
293 |
+
|
294 |
+
--- Web Server Configurations ---
|
295 |
+
|
296 |
+
PHP Version: <?php echo PHP_VERSION . "\n"; ?>
|
297 |
+
MySQL Version: <?php echo $wpdb->db_version() . "\n"; ?>
|
298 |
+
Web Server Info: <?php echo $_SERVER['SERVER_SOFTWARE'] . "\n"; ?>
|
299 |
+
|
300 |
+
--- PHP Configurations --
|
301 |
+
|
302 |
+
PHP Safe Mode: <?php echo $this->value( ini_get( 'safe_mode' ), 'yesno', true ); ?>
|
303 |
+
PHP Memory Limit: <?php echo ini_get( 'memory_limit' ) . "\n"; ?>
|
304 |
+
PHP Upload Max Size: <?php echo ini_get( 'upload_max_filesize' ) . "\n"; ?>
|
305 |
+
PHP Post Max Size: <?php echo ini_get( 'post_max_size' ) . "\n"; ?>
|
306 |
+
PHP Upload Max Filesize: <?php echo ini_get( 'upload_max_filesize' ) . "\n"; ?>
|
307 |
+
PHP Time Limit: <?php echo ini_get( 'max_execution_time' ) . "\n"; ?>
|
308 |
+
PHP Max Input Vars: <?php echo ini_get( 'max_input_vars' ) . "\n"; ?>
|
309 |
+
PHP Arg Separator: <?php echo ini_get( 'arg_separator.output' ) . "\n"; ?>
|
310 |
+
PHP Allow URL File Open: <?php echo ini_get( 'allow_url_fopen' ) ? "Yes\n" : "No\n"; ?>
|
311 |
+
|
312 |
+
|
313 |
+
--- Web Server Extensions/Modules ---
|
314 |
+
|
315 |
+
DISPLAY ERRORS: <?php echo ( ini_get( 'display_errors' ) ) ? 'On (' . ini_get( 'display_errors' ) . ')' : 'N/A'; ?><?php echo "\n"; ?>
|
316 |
+
FSOCKOPEN: <?php echo ( function_exists( 'fsockopen' ) ) ? 'Your server supports fsockopen.' : 'Your server does not support fsockopen.'; ?><?php echo "\n"; ?>
|
317 |
+
cURL: <?php echo ( function_exists( 'curl_init' ) ) ? 'Your server supports cURL.' : 'Your server does not support cURL.'; ?><?php echo "\n"; ?>
|
318 |
+
SOAP Client: <?php echo ( class_exists( 'SoapClient' ) ) ? 'Your server has the SOAP Client enabled.' : 'Your server does not have the SOAP Client enabled.'; ?><?php echo "\n"; ?>
|
319 |
+
SUHOSIN: <?php echo ( extension_loaded( 'suhosin' ) ) ? 'Your server has SUHOSIN installed.' : 'Your server does not have SUHOSIN installed.'; ?><?php echo "\n"; ?>
|
320 |
+
|
321 |
+
|
322 |
+
--- Session Configurations ---
|
323 |
+
|
324 |
+
Session: <?php echo isset( $_SESSION ) ? 'Enabled' : 'Disabled'; ?><?php echo "\n"; ?>
|
325 |
+
Session Name: <?php echo esc_html( ini_get( 'session.name' ) ); ?><?php echo "\n"; ?>
|
326 |
+
Cookie Path: <?php echo esc_html( ini_get( 'session.cookie_path' ) ); ?><?php echo "\n"; ?>
|
327 |
+
Save Path: <?php echo esc_html( ini_get( 'session.save_path' ) ); ?><?php echo "\n"; ?>
|
328 |
+
Use Cookies: <?php echo ini_get( 'session.use_cookies' ) ? 'On' : 'Off'; ?><?php echo "\n"; ?>
|
329 |
+
Use Only Cookies: <?php echo ini_get( 'session.use_only_cookies' ) ? 'On' : 'Off'; ?><?php echo "\n"; ?>
|
330 |
+
|
331 |
+
|
332 |
+
|
333 |
+
--- WordPress Active Plugins ---
|
334 |
+
|
335 |
+
<?php
|
336 |
+
$plugins = get_plugins();
|
337 |
+
$active_plugins = get_option( 'active_plugins', array() );
|
338 |
+
|
339 |
+
foreach ( $plugins as $plugin_path => $plugin ) {
|
340 |
+
// If the plugin isn't active, don't show it.
|
341 |
+
if ( ! in_array( $plugin_path, $active_plugins ) )
|
342 |
+
continue;
|
343 |
+
|
344 |
+
echo $plugin['Name'] . ': ' . $plugin['Version'] ."\n";
|
345 |
+
}
|
346 |
+
|
347 |
+
if ( is_multisite() ) :
|
348 |
+
?>
|
349 |
+
|
350 |
+
--- WordPress Network Active Plugins ---
|
351 |
+
|
352 |
+
<?php
|
353 |
+
$plugins = wp_get_active_network_plugins();
|
354 |
+
$active_plugins = get_site_option( 'active_sitewide_plugins', array() );
|
355 |
+
|
356 |
+
foreach ( $plugins as $plugin_path ) {
|
357 |
+
$plugin_base = plugin_basename( $plugin_path );
|
358 |
+
|
359 |
+
// If the plugin isn't active, don't show it.
|
360 |
+
if ( ! array_key_exists( $plugin_base, $active_plugins ) )
|
361 |
+
continue;
|
362 |
+
|
363 |
+
$plugin = get_plugin_data( $plugin_path );
|
364 |
+
|
365 |
+
echo $plugin['Name'] . ' :' . $plugin['Version'] ."\n";
|
366 |
+
}
|
367 |
+
|
368 |
+
endif;
|
369 |
+
?>
|
370 |
+
<?php
|
371 |
+
do_action( 'um_system_info_after' );
|
372 |
+
?>
|
373 |
+
|
374 |
+
|
375 |
+
|
376 |
+
|
377 |
+
### End System Info ###</textarea>
|
378 |
+
<p class="submit">
|
379 |
+
<input type="hidden" name="um-addon-hook" value="download_system_info" />
|
380 |
+
<?php submit_button( 'Download System Info File', 'primary', 'download_system_info', false ); ?>
|
381 |
+
</p>
|
382 |
+
</form>
|
383 |
+
|
384 |
+
<?php } ?>
|
385 |
+
|
386 |
+
<?php
|
387 |
+
|
388 |
+
}
|
389 |
+
|
390 |
+
function value( $raw_value = '', $type = 'yesno', $default = '', $default_negate = '' ){
|
391 |
+
|
392 |
+
if( $type == 'yesno' ){
|
393 |
+
if( $default == $raw_value ){
|
394 |
+
$raw_value = "Yes";
|
395 |
+
}else{
|
396 |
+
$raw_value = "No";
|
397 |
+
}
|
398 |
+
}else if( $type == 'onoff' ){
|
399 |
+
if( $default == $raw_value ){
|
400 |
+
$raw_value = "On";
|
401 |
+
}else{
|
402 |
+
$raw_value = "Off";
|
403 |
+
}
|
404 |
+
}
|
405 |
+
|
406 |
+
return $raw_value."\n";
|
407 |
+
}
|
408 |
+
|
409 |
+
}
|
410 |
+
|
411 |
$UM_ADDON_system_info = new UM_ADDON_system_info();
|
admin/assets/css/um-admin-builder.css
CHANGED
@@ -1,302 +1,302 @@
|
|
1 |
-
/*
|
2 |
-
- General
|
3 |
-
*/
|
4 |
-
|
5 |
-
.um-admin-builder * {
|
6 |
-
-webkit-font-smoothing: antialiased !important;
|
7 |
-
-moz-osx-font-smoothing: grayscale;
|
8 |
-
}
|
9 |
-
|
10 |
-
.um-admin-builder i {
|
11 |
-
font-size: 15px !important;
|
12 |
-
height: 100% !important;
|
13 |
-
line-height: 100% !important;
|
14 |
-
margin: 0 5px 0 0 !important;
|
15 |
-
}
|
16 |
-
|
17 |
-
.um-admin-builder .um-admin-drag {margin-top: 40px}
|
18 |
-
|
19 |
-
/*
|
20 |
-
- Add field
|
21 |
-
*/
|
22 |
-
.um-admin-drag-add-field {
|
23 |
-
display: block;
|
24 |
-
width: 100%;
|
25 |
-
height: 30px;
|
26 |
-
line-height: 30px;
|
27 |
-
text-align: center;
|
28 |
-
color: #aaa;
|
29 |
-
text-decoration: none;
|
30 |
-
}
|
31 |
-
|
32 |
-
.um-admin-drag-add-field:hover {color: #3ba1da}
|
33 |
-
|
34 |
-
.um-admin-drag-add-field i {
|
35 |
-
font-size: 23px !important;
|
36 |
-
margin: 0 !important;
|
37 |
-
}
|
38 |
-
|
39 |
-
/*
|
40 |
-
- Drag controls
|
41 |
-
*/
|
42 |
-
|
43 |
-
.um-admin-drag-ctrls-demo.um-admin-drag-ctrls {
|
44 |
-
position: absolute;
|
45 |
-
right: 7px;
|
46 |
-
top: -30px;
|
47 |
-
left: auto;
|
48 |
-
}
|
49 |
-
|
50 |
-
.um-admin-drag-ctrls {
|
51 |
-
position: absolute;
|
52 |
-
top: -30px;
|
53 |
-
left: 0;
|
54 |
-
}
|
55 |
-
|
56 |
-
.um-admin-drag-ctrls a {
|
57 |
-
float: left;
|
58 |
-
margin: 0 5px 0 0;
|
59 |
-
height: 30px;
|
60 |
-
line-height: 30px;
|
61 |
-
background: #eee;
|
62 |
-
color: #888;
|
63 |
-
padding: 0 8px;
|
64 |
-
text-decoration: none;
|
65 |
-
border-radius: 2px 2px 0 0;
|
66 |
-
}
|
67 |
-
|
68 |
-
.um-admin-drag-ctrls a:hover {background-color: #e5e5e5}
|
69 |
-
|
70 |
-
.um-admin-drag-ctrls a.active,
|
71 |
-
.um-admin-drag-ctrls a.active:hover {
|
72 |
-
background-color: #3ba1da;
|
73 |
-
color: #fff;
|
74 |
-
}
|
75 |
-
|
76 |
-
.um-admin-drag-ctrls.columns a {width: 30px !important;background-image: url(../img/1-column.gif); background-repeat: no-repeat; background-position: center;}
|
77 |
-
.um-admin-drag-ctrls.columns a:nth-child(2) {background-image: url(../img/2-columns.gif);}
|
78 |
-
.um-admin-drag-ctrls.columns a:last-child {background-image: url(../img/3-columns.gif);}
|
79 |
-
|
80 |
-
.um-admin-drag-ctrls.columns a.active {background-image: url(../img/1-column-active.gif)}
|
81 |
-
.um-admin-drag-ctrls.columns a.active:nth-child(2) {background-image: url(../img/2-columns-active.gif);}
|
82 |
-
.um-admin-drag-ctrls.columns a.active:last-child {background-image: url(../img/3-columns-active.gif);}
|
83 |
-
|
84 |
-
/*
|
85 |
-
- Drag Area
|
86 |
-
*/
|
87 |
-
|
88 |
-
.um-admin-drag {
|
89 |
-
width: 100%;
|
90 |
-
background: #f1f1f1;
|
91 |
-
box-sizing: border-box;
|
92 |
-
position: relative;
|
93 |
-
padding: 60px 20px 20px 20px;
|
94 |
-
}
|
95 |
-
|
96 |
-
.um-admin-drag-row {
|
97 |
-
width: 100%;
|
98 |
-
background: #fefefe;
|
99 |
-
box-sizing: border-box;
|
100 |
-
position: relative;
|
101 |
-
padding: 60px 20px 20px 20px;
|
102 |
-
margin: 0 0 60px 0;
|
103 |
-
}
|
104 |
-
.um-admin-drag-row:last-child {margin-bottom: 0}
|
105 |
-
|
106 |
-
.um-admin-drag-row-icons {
|
107 |
-
position: absolute;
|
108 |
-
right: 0;
|
109 |
-
top: -30px;
|
110 |
-
height: 30px;
|
111 |
-
}
|
112 |
-
|
113 |
-
.um-admin-drag-rowsub {
|
114 |
-
position: relative;
|
115 |
-
box-sizing: border-box;
|
116 |
-
background: #f1f1f1;
|
117 |
-
padding: 20px;
|
118 |
-
margin: 0 0 60px 0;
|
119 |
-
}
|
120 |
-
.um-admin-drag-rowsub:last-child {margin-bottom: 0}
|
121 |
-
|
122 |
-
.um-admin-drag-rowsub-icons {
|
123 |
-
position: absolute;
|
124 |
-
right: 0;
|
125 |
-
top: -30px;
|
126 |
-
height: 30px;
|
127 |
-
}
|
128 |
-
|
129 |
-
.um-admin-drag-col {
|
130 |
-
float: left;
|
131 |
-
width: 100%;
|
132 |
-
background: #fff;
|
133 |
-
border: 1px dashed #bbb;
|
134 |
-
box-sizing: border-box;
|
135 |
-
padding: 20px;
|
136 |
-
}
|
137 |
-
|
138 |
-
.um-admin-drag-col.cols-3 {width: 32%;}
|
139 |
-
.um-admin-drag-col.cols-3.cols-last {width: 32%;}
|
140 |
-
.um-admin-drag-col.cols-3.cols-middle {width: 32%;margin: 0 2%;}
|
141 |
-
|
142 |
-
.um-admin-drag-col.cols-1 {width: 100%;}
|
143 |
-
.um-admin-drag-col.cols-1.cols-last {width: 100%;}
|
144 |
-
.um-admin-drag-col.cols-1.cols-middle {}
|
145 |
-
|
146 |
-
.um-admin-drag-col.cols-2 {width: 49%;margin: 0 1% 0 0}
|
147 |
-
.um-admin-drag-col.cols-2.cols-last {width: 49%;margin: 0 0 0 1%;}
|
148 |
-
.um-admin-drag-col.cols-2.cols-middle {}
|
149 |
-
|
150 |
-
.um-admin-drag-addrow {
|
151 |
-
text-align: center;
|
152 |
-
font-size: 14px;
|
153 |
-
color: #888;
|
154 |
-
cursor: pointer;
|
155 |
-
border: 1px dashed #bbb;
|
156 |
-
padding: 10px 0;
|
157 |
-
margin: 20px 0 0 0;
|
158 |
-
}
|
159 |
-
.um-admin-drag-addrow i {
|
160 |
-
font-size: 23px !important;
|
161 |
-
margin: 0 !important;
|
162 |
-
}
|
163 |
-
.um-admin-drag-addrow:hover {color: #3ba1da}
|
164 |
-
|
165 |
-
/*
|
166 |
-
- Fields
|
167 |
-
*/
|
168 |
-
|
169 |
-
.um-admin-drag-fld {
|
170 |
-
display: block;
|
171 |
-
position: relative;
|
172 |
-
border: 1px solid #dddddd;
|
173 |
-
margin: 0 0 15px 0;
|
174 |
-
background: #F5F5F5;
|
175 |
-
cursor: move !important;
|
176 |
-
}
|
177 |
-
|
178 |
-
.um-admin-drag-fld-title i {
|
179 |
-
width: 24px;
|
180 |
-
display: inline-block;
|
181 |
-
text-align: center;
|
182 |
-
}
|
183 |
-
|
184 |
-
.um-admin-drag-fld.um-field-type-group {background: #555;border: 0}
|
185 |
-
.um-admin-drag-fld-title.um-field-type-group,.um-admin-drag-fld-type.um-field-type-group {color: #fff}
|
186 |
-
.um-admin-drag-group {background: #FCFCFC;cursor: default;padding: 20px;border: 1px dashed #bbb;}
|
187 |
-
.um-admin-drag-col.cols-3 .um-admin-drag-fld-icons.um-field-type-group{float: left;position: relative;bottom: auto;right: auto;height: 30px;display: block;}
|
188 |
-
.um-admin-drag-fld-icons.um-field-type-group a.um_admin_duplicate_field {display: none !important}
|
189 |
-
|
190 |
-
.um-admin-drag-fld-title,
|
191 |
-
.um-admin-drag-fld-type {
|
192 |
-
float: left;
|
193 |
-
font-weight: bold;
|
194 |
-
font-size: 13px;
|
195 |
-
color: #666;
|
196 |
-
height: 30px;
|
197 |
-
line-height: 30px;
|
198 |
-
margin: 0 0 0 20px;
|
199 |
-
}
|
200 |
-
|
201 |
-
.um-admin-drag-fld-type {
|
202 |
-
font-weight: 400;
|
203 |
-
color: #999;
|
204 |
-
}
|
205 |
-
|
206 |
-
.um-admin-drag-fld-icons {
|
207 |
-
float: right;
|
208 |
-
}
|
209 |
-
|
210 |
-
/*
|
211 |
-
- Responsive cols appearance
|
212 |
-
*/
|
213 |
-
|
214 |
-
.um-admin-drag-col.cols-3 .um-admin-drag-fld-title,
|
215 |
-
.um-admin-drag-col.cols-3 .um-admin-drag-fld-type {
|
216 |
-
height: auto;
|
217 |
-
line-height: 18px;
|
218 |
-
margin: 10px;
|
219 |
-
margin-bottom: 0;
|
220 |
-
}
|
221 |
-
|
222 |
-
.um-admin-drag-col.cols-3 .um-admin-drag-fld-type {
|
223 |
-
margin: 10px;
|
224 |
-
}
|
225 |
-
|
226 |
-
.um-admin-drag-col.cols-3 .um-admin-drag-fld-icons {
|
227 |
-
float: none;
|
228 |
-
position: absolute;
|
229 |
-
bottom: 0;
|
230 |
-
right: 0;
|
231 |
-
height: 30px;
|
232 |
-
display: none;
|
233 |
-
}
|
234 |
-
|
235 |
-
.um-admin-drag-col.cols-3 .um-admin-drag-fld:hover .um-admin-drag-fld-icons{display: block;}
|
236 |
-
|
237 |
-
/*
|
238 |
-
- Icons
|
239 |
-
*/
|
240 |
-
|
241 |
-
.um-admin-drag-row-icons a,
|
242 |
-
.um-admin-drag-row-icons span,
|
243 |
-
.um-admin-drag-rowsub-icons a,
|
244 |
-
.um-admin-drag-rowsub-icons span,
|
245 |
-
.um-admin-drag-fld-icons a{
|
246 |
-
text-decoration: none;
|
247 |
-
color: #fff;
|
248 |
-
width: 40px;
|
249 |
-
height: 30px;
|
250 |
-
line-height: 30px;
|
251 |
-
text-align: center;
|
252 |
-
display: block !important;
|
253 |
-
float: left;
|
254 |
-
background: #44b0ec;
|
255 |
-
padding: 0 4px;
|
256 |
-
transition: all .2s linear;
|
257 |
-
border-left: 1px solid #379dd5;
|
258 |
-
}
|
259 |
-
|
260 |
-
.um-admin-drag-row-icons span,
|
261 |
-
.um-admin-drag-rowsub-icons span
|
262 |
-
{cursor: move!important}
|
263 |
-
|
264 |
-
.um-admin-drag-row-icons a:hover,
|
265 |
-
.um-admin-drag-row-icons span:hover,
|
266 |
-
.um-admin-drag-rowsub-icons a:hover,
|
267 |
-
.um-admin-drag-rowsub-icons span:hover,
|
268 |
-
.um-admin-drag-fld-icons a:hover {background: #3396cd;}
|
269 |
-
|
270 |
-
.um-admin-drag-row-icons i,
|
271 |
-
.um-admin-drag-rowsub-icons i,
|
272 |
-
.um-admin-drag-fld-icons i{
|
273 |
-
font-size: 18px !important;
|
274 |
-
margin: 0 !important;
|
275 |
-
top: 2px;
|
276 |
-
position: relative;
|
277 |
-
}
|
278 |
-
|
279 |
-
/*
|
280 |
-
- UI Placeholders
|
281 |
-
*/
|
282 |
-
|
283 |
-
.um-row-placeholder {
|
284 |
-
width: 100%;
|
285 |
-
border: 2px dashed #aaa;
|
286 |
-
box-sizing: border-box;
|
287 |
-
}
|
288 |
-
|
289 |
-
.um-rowsub-placeholder {
|
290 |
-
width: 100%;
|
291 |
-
border: 2px dashed #ccc;
|
292 |
-
box-sizing: border-box;
|
293 |
-
display: block;
|
294 |
-
}
|
295 |
-
|
296 |
-
.um-fld-placeholder {
|
297 |
-
display: block;
|
298 |
-
border: 1px dashed #dddddd;
|
299 |
-
background: #fff;
|
300 |
-
box-sizing: border-box;
|
301 |
-
width: 100%;
|
302 |
}
|
1 |
+
/*
|
2 |
+
- General
|
3 |
+
*/
|
4 |
+
|
5 |
+
.um-admin-builder * {
|
6 |
+
-webkit-font-smoothing: antialiased !important;
|
7 |
+
-moz-osx-font-smoothing: grayscale;
|
8 |
+
}
|
9 |
+
|
10 |
+
.um-admin-builder i {
|
11 |
+
font-size: 15px !important;
|
12 |
+
height: 100% !important;
|
13 |
+
line-height: 100% !important;
|
14 |
+
margin: 0 5px 0 0 !important;
|
15 |
+
}
|
16 |
+
|
17 |
+
.um-admin-builder .um-admin-drag {margin-top: 40px}
|
18 |
+
|
19 |
+
/*
|
20 |
+
- Add field
|
21 |
+
*/
|
22 |
+
.um-admin-drag-add-field {
|
23 |
+
display: block;
|
24 |
+
width: 100%;
|
25 |
+
height: 30px;
|
26 |
+
line-height: 30px;
|
27 |
+
text-align: center;
|
28 |
+
color: #aaa;
|
29 |
+
text-decoration: none;
|
30 |
+
}
|
31 |
+
|
32 |
+
.um-admin-drag-add-field:hover {color: #3ba1da}
|
33 |
+
|
34 |
+
.um-admin-drag-add-field i {
|
35 |
+
font-size: 23px !important;
|
36 |
+
margin: 0 !important;
|
37 |
+
}
|
38 |
+
|
39 |
+
/*
|
40 |
+
- Drag controls
|
41 |
+
*/
|
42 |
+
|
43 |
+
.um-admin-drag-ctrls-demo.um-admin-drag-ctrls {
|
44 |
+
position: absolute;
|
45 |
+
right: 7px;
|
46 |
+
top: -30px;
|
47 |
+
left: auto;
|
48 |
+
}
|
49 |
+
|
50 |
+
.um-admin-drag-ctrls {
|
51 |
+
position: absolute;
|
52 |
+
top: -30px;
|
53 |
+
left: 0;
|
54 |
+
}
|
55 |
+
|
56 |
+
.um-admin-drag-ctrls a {
|
57 |
+
float: left;
|
58 |
+
margin: 0 5px 0 0;
|
59 |
+
height: 30px;
|
60 |
+
line-height: 30px;
|
61 |
+
background: #eee;
|
62 |
+
color: #888;
|
63 |
+
padding: 0 8px;
|
64 |
+
text-decoration: none;
|
65 |
+
border-radius: 2px 2px 0 0;
|
66 |
+
}
|
67 |
+
|
68 |
+
.um-admin-drag-ctrls a:hover {background-color: #e5e5e5}
|
69 |
+
|
70 |
+
.um-admin-drag-ctrls a.active,
|
71 |
+
.um-admin-drag-ctrls a.active:hover {
|
72 |
+
background-color: #3ba1da;
|
73 |
+
color: #fff;
|
74 |
+
}
|
75 |
+
|
76 |
+
.um-admin-drag-ctrls.columns a {width: 30px !important;background-image: url(../img/1-column.gif); background-repeat: no-repeat; background-position: center;}
|
77 |
+
.um-admin-drag-ctrls.columns a:nth-child(2) {background-image: url(../img/2-columns.gif);}
|
78 |
+
.um-admin-drag-ctrls.columns a:last-child {background-image: url(../img/3-columns.gif);}
|
79 |
+
|
80 |
+
.um-admin-drag-ctrls.columns a.active {background-image: url(../img/1-column-active.gif)}
|
81 |
+
.um-admin-drag-ctrls.columns a.active:nth-child(2) {background-image: url(../img/2-columns-active.gif);}
|
82 |
+
.um-admin-drag-ctrls.columns a.active:last-child {background-image: url(../img/3-columns-active.gif);}
|
83 |
+
|
84 |
+
/*
|
85 |
+
- Drag Area
|
86 |
+
*/
|
87 |
+
|
88 |
+
.um-admin-drag {
|
89 |
+
width: 100%;
|
90 |
+
background: #f1f1f1;
|
91 |
+
box-sizing: border-box;
|
92 |
+
position: relative;
|
93 |
+
padding: 60px 20px 20px 20px;
|
94 |
+
}
|
95 |
+
|
96 |
+
.um-admin-drag-row {
|
97 |
+
width: 100%;
|
98 |
+
background: #fefefe;
|
99 |
+
box-sizing: border-box;
|
100 |
+
position: relative;
|
101 |
+
padding: 60px 20px 20px 20px;
|
102 |
+
margin: 0 0 60px 0;
|
103 |
+
}
|
104 |
+
.um-admin-drag-row:last-child {margin-bottom: 0}
|
105 |
+
|
106 |
+
.um-admin-drag-row-icons {
|
107 |
+
position: absolute;
|
108 |
+
right: 0;
|
109 |
+
top: -30px;
|
110 |
+
height: 30px;
|
111 |
+
}
|
112 |
+
|
113 |
+
.um-admin-drag-rowsub {
|
114 |
+
position: relative;
|
115 |
+
box-sizing: border-box;
|
116 |
+
background: #f1f1f1;
|
117 |
+
padding: 20px;
|
118 |
+
margin: 0 0 60px 0;
|
119 |
+
}
|
120 |
+
.um-admin-drag-rowsub:last-child {margin-bottom: 0}
|
121 |
+
|
122 |
+
.um-admin-drag-rowsub-icons {
|
123 |
+
position: absolute;
|
124 |
+
right: 0;
|
125 |
+
top: -30px;
|
126 |
+
height: 30px;
|
127 |
+
}
|
128 |
+
|
129 |
+
.um-admin-drag-col {
|
130 |
+
float: left;
|
131 |
+
width: 100%;
|
132 |
+
background: #fff;
|
133 |
+
border: 1px dashed #bbb;
|
134 |
+
box-sizing: border-box;
|
135 |
+
padding: 20px;
|
136 |
+
}
|
137 |
+
|
138 |
+
.um-admin-drag-col.cols-3 {width: 32%;}
|
139 |
+
.um-admin-drag-col.cols-3.cols-last {width: 32%;}
|
140 |
+
.um-admin-drag-col.cols-3.cols-middle {width: 32%;margin: 0 2%;}
|
141 |
+
|
142 |
+
.um-admin-drag-col.cols-1 {width: 100%;}
|
143 |
+
.um-admin-drag-col.cols-1.cols-last {width: 100%;}
|
144 |
+
.um-admin-drag-col.cols-1.cols-middle {}
|
145 |
+
|
146 |
+
.um-admin-drag-col.cols-2 {width: 49%;margin: 0 1% 0 0}
|
147 |
+
.um-admin-drag-col.cols-2.cols-last {width: 49%;margin: 0 0 0 1%;}
|
148 |
+
.um-admin-drag-col.cols-2.cols-middle {}
|
149 |
+
|
150 |
+
.um-admin-drag-addrow {
|
151 |
+
text-align: center;
|
152 |
+
font-size: 14px;
|
153 |
+
color: #888;
|
154 |
+
cursor: pointer;
|
155 |
+
border: 1px dashed #bbb;
|
156 |
+
padding: 10px 0;
|
157 |
+
margin: 20px 0 0 0;
|
158 |
+
}
|
159 |
+
.um-admin-drag-addrow i {
|
160 |
+
font-size: 23px !important;
|
161 |
+
margin: 0 !important;
|
162 |
+
}
|
163 |
+
.um-admin-drag-addrow:hover {color: #3ba1da}
|
164 |
+
|
165 |
+
/*
|
166 |
+
- Fields
|
167 |
+
*/
|
168 |
+
|
169 |
+
.um-admin-drag-fld {
|
170 |
+
display: block;
|
171 |
+
position: relative;
|
172 |
+
border: 1px solid #dddddd;
|
173 |
+
margin: 0 0 15px 0;
|
174 |
+
background: #F5F5F5;
|
175 |
+
cursor: move !important;
|
176 |
+
}
|
177 |
+
|
178 |
+
.um-admin-drag-fld-title i {
|
179 |
+
width: 24px;
|
180 |
+
display: inline-block;
|
181 |
+
text-align: center;
|
182 |
+
}
|
183 |
+
|
184 |
+
.um-admin-drag-fld.um-field-type-group {background: #555;border: 0}
|
185 |
+
.um-admin-drag-fld-title.um-field-type-group,.um-admin-drag-fld-type.um-field-type-group {color: #fff}
|
186 |
+
.um-admin-drag-group {background: #FCFCFC;cursor: default;padding: 20px;border: 1px dashed #bbb;}
|
187 |
+
.um-admin-drag-col.cols-3 .um-admin-drag-fld-icons.um-field-type-group{float: left;position: relative;bottom: auto;right: auto;height: 30px;display: block;}
|
188 |
+
.um-admin-drag-fld-icons.um-field-type-group a.um_admin_duplicate_field {display: none !important}
|
189 |
+
|
190 |
+
.um-admin-drag-fld-title,
|
191 |
+
.um-admin-drag-fld-type {
|
192 |
+
float: left;
|
193 |
+
font-weight: bold;
|
194 |
+
font-size: 13px;
|
195 |
+
color: #666;
|
196 |
+
height: 30px;
|
197 |
+
line-height: 30px;
|
198 |
+
margin: 0 0 0 20px;
|
199 |
+
}
|
200 |
+
|
201 |
+
.um-admin-drag-fld-type {
|
202 |
+
font-weight: 400;
|
203 |
+
color: #999;
|
204 |
+
}
|
205 |
+
|
206 |
+
.um-admin-drag-fld-icons {
|
207 |
+
float: right;
|
208 |
+
}
|
209 |
+
|
210 |
+
/*
|
211 |
+
- Responsive cols appearance
|
212 |
+
*/
|
213 |
+
|
214 |
+
.um-admin-drag-col.cols-3 .um-admin-drag-fld-title,
|
215 |
+
.um-admin-drag-col.cols-3 .um-admin-drag-fld-type {
|
216 |
+
height: auto;
|
217 |
+
line-height: 18px;
|
218 |
+
margin: 10px;
|
219 |
+
margin-bottom: 0;
|
220 |
+
}
|
221 |
+
|
222 |
+
.um-admin-drag-col.cols-3 .um-admin-drag-fld-type {
|
223 |
+
margin: 10px;
|
224 |
+
}
|
225 |
+
|
226 |
+
.um-admin-drag-col.cols-3 .um-admin-drag-fld-icons {
|
227 |
+
float: none;
|
228 |
+
position: absolute;
|
229 |
+
bottom: 0;
|
230 |
+
right: 0;
|
231 |
+
height: 30px;
|
232 |
+
display: none;
|
233 |
+
}
|
234 |
+
|
235 |
+
.um-admin-drag-col.cols-3 .um-admin-drag-fld:hover .um-admin-drag-fld-icons{display: block;}
|
236 |
+
|
237 |
+
/*
|
238 |
+
- Icons
|
239 |
+
*/
|
240 |
+
|
241 |
+
.um-admin-drag-row-icons a,
|
242 |
+
.um-admin-drag-row-icons span,
|
243 |
+
.um-admin-drag-rowsub-icons a,
|
244 |
+
.um-admin-drag-rowsub-icons span,
|
245 |
+
.um-admin-drag-fld-icons a{
|
246 |
+
text-decoration: none;
|
247 |
+
color: #fff;
|
248 |
+
width: 40px;
|
249 |
+
height: 30px;
|
250 |
+
line-height: 30px;
|
251 |
+
text-align: center;
|
252 |
+
display: block !important;
|
253 |
+
float: left;
|
254 |
+
background: #44b0ec;
|
255 |
+
padding: 0 4px;
|
256 |
+
transition: all .2s linear;
|
257 |
+
border-left: 1px solid #379dd5;
|
258 |
+
}
|
259 |
+
|
260 |
+
.um-admin-drag-row-icons span,
|
261 |
+
.um-admin-drag-rowsub-icons span
|
262 |
+
{cursor: move!important}
|
263 |
+
|
264 |
+
.um-admin-drag-row-icons a:hover,
|
265 |
+
.um-admin-drag-row-icons span:hover,
|
266 |
+
.um-admin-drag-rowsub-icons a:hover,
|
267 |
+
.um-admin-drag-rowsub-icons span:hover,
|
268 |
+
.um-admin-drag-fld-icons a:hover {background: #3396cd;}
|
269 |
+
|
270 |
+
.um-admin-drag-row-icons i,
|
271 |
+
.um-admin-drag-rowsub-icons i,
|
272 |
+
.um-admin-drag-fld-icons i{
|
273 |
+
font-size: 18px !important;
|
274 |
+
margin: 0 !important;
|
275 |
+
top: 2px;
|
276 |
+
position: relative;
|
277 |
+
}
|
278 |
+
|
279 |
+
/*
|
280 |
+
- UI Placeholders
|
281 |
+
*/
|
282 |
+
|
283 |
+
.um-row-placeholder {
|
284 |
+
width: 100%;
|
285 |
+
border: 2px dashed #aaa;
|
286 |
+
box-sizing: border-box;
|
287 |
+
}
|
288 |
+
|
289 |
+
.um-rowsub-placeholder {
|
290 |
+
width: 100%;
|
291 |
+
border: 2px dashed #ccc;
|
292 |
+
box-sizing: border-box;
|
293 |
+
display: block;
|
294 |
+
}
|
295 |
+
|
296 |
+
.um-fld-placeholder {
|
297 |
+
display: block;
|
298 |
+
border: 1px dashed #dddddd;
|
299 |
+
background: #fff;
|
300 |
+
box-sizing: border-box;
|
301 |
+
width: 100%;
|
302 |
}
|
admin/assets/css/um-admin-columns.css
CHANGED
@@ -1,67 +1,67 @@
|
|
1 |
-
.um-admin td, .um-admin th {
|
2 |
-
-webkit-font-smoothing: antialiased !important;
|
3 |
-
-moz-osx-font-smoothing: grayscale;
|
4 |
-
}
|
5 |
-
|
6 |
-
.um-admin.post-type-um_form .manage-column.column-id {width: 60px}
|
7 |
-
.um-admin.post-type-um_form .manage-column.column-mode {width: 100px}
|
8 |
-
.um-admin.post-type-um_form .manage-column.column-title {width: 200px}
|
9 |
-
.um-admin.post-type-um_form .manage-column.column-shortcode {width: 200px}
|
10 |
-
.um-admin.post-type-um_form .manage-column.column-impressions {width: 100px}
|
11 |
-
.um-admin.post-type-um_form .manage-column.column-conversions {width: 100px}
|
12 |
-
|
13 |
-
.um-admin.post-type-um_directory .manage-column.column-id {width: 60px}
|
14 |
-
.um-admin.post-type-um_directory .manage-column.column-title {width: 250px}
|
15 |
-
|
16 |
-
.um-admin.post-type-um_role .manage-column.column-title {width: 200px}
|
17 |
-
.um-admin.post-type-um_role .manage-column.column-count {width: 150px}
|
18 |
-
.um-admin.post-type-um_role .manage-column.column-core {width: 150px}
|
19 |
-
|
20 |
-
.um-admin.post-type-um_form td.column-shortcode,
|
21 |
-
.um-admin.post-type-um_form td.column-id,
|
22 |
-
.um-admin.post-type-um_directory td.column-shortcode,
|
23 |
-
.um-admin.post-type-um_directory td.column-id,
|
24 |
-
.um-admin.post-type-um_role td.column-count
|
25 |
-
{font-size: 14px;}
|
26 |
-
|
27 |
-
.um-admin.users-php td.column-um_actions {padding-top: 12px}
|
28 |
-
|
29 |
-
.um-admin.users-php td.column-um_actions a.button {
|
30 |
-
height: 29px !important;
|
31 |
-
margin: 0 0 0 2px !important;
|
32 |
-
position: relative;
|
33 |
-
}
|
34 |
-
|
35 |
-
.um-admin-tag {
|
36 |
-
display: inline-block;
|
37 |
-
border-radius: 2px;
|
38 |
-
width: 100%;
|
39 |
-
box-sizing: border-box;
|
40 |
-
text-align: center;
|
41 |
-
background: #3ba1da;
|
42 |
-
color: #fff;
|
43 |
-
font-size: 14px;
|
44 |
-
height: 34px;
|
45 |
-
line-height: 34px;
|
46 |
-
}
|
47 |
-
.um-admin-tag.small {font-size: 13px;height:28px;line-height: 28px;display:inline;padding: 4px 10px;background: transparent;color: #666;border-radius:0;}
|
48 |
-
.um-admin-tag.approved {border-left: 2px solid #7ACF58}
|
49 |
-
.um-admin-tag.pending {border-left: 2px solid #C74A4A}
|
50 |
-
|
51 |
-
.um-admin-txtspace {margin: 0 0 0 10px;}
|
52 |
-
|
53 |
-
.um-adm-ico {
|
54 |
-
font-size: 18px;
|
55 |
-
width: 18px;
|
56 |
-
text-align: center;
|
57 |
-
display: inline-block;
|
58 |
-
color: #7ACF58;
|
59 |
-
}
|
60 |
-
|
61 |
-
.um-adm-ico.inactive {color: #C74A4A}
|
62 |
-
.um-adm-ico.pointer {cursor: pointer}
|
63 |
-
|
64 |
-
.um-admin-icontext i {
|
65 |
-
font-size: 18px;
|
66 |
-
margin: 0 5px 0 0;
|
67 |
}
|
1 |
+
.um-admin td, .um-admin th {
|
2 |
+
-webkit-font-smoothing: antialiased !important;
|
3 |
+
-moz-osx-font-smoothing: grayscale;
|
4 |
+
}
|
5 |
+
|
6 |
+
.um-admin.post-type-um_form .manage-column.column-id {width: 60px}
|
7 |
+
.um-admin.post-type-um_form .manage-column.column-mode {width: 100px}
|
8 |
+
.um-admin.post-type-um_form .manage-column.column-title {width: 200px}
|
9 |
+
.um-admin.post-type-um_form .manage-column.column-shortcode {width: 200px}
|
10 |
+
.um-admin.post-type-um_form .manage-column.column-impressions {width: 100px}
|
11 |
+
.um-admin.post-type-um_form .manage-column.column-conversions {width: 100px}
|
12 |
+
|
13 |
+
.um-admin.post-type-um_directory .manage-column.column-id {width: 60px}
|
14 |
+
.um-admin.post-type-um_directory .manage-column.column-title {width: 250px}
|
15 |
+
|
16 |
+
.um-admin.post-type-um_role .manage-column.column-title {width: 200px}
|
17 |
+
.um-admin.post-type-um_role .manage-column.column-count {width: 150px}
|
18 |
+
.um-admin.post-type-um_role .manage-column.column-core {width: 150px}
|
19 |
+
|
20 |
+
.um-admin.post-type-um_form td.column-shortcode,
|
21 |
+
.um-admin.post-type-um_form td.column-id,
|
22 |
+
.um-admin.post-type-um_directory td.column-shortcode,
|
23 |
+
.um-admin.post-type-um_directory td.column-id,
|
24 |
+
.um-admin.post-type-um_role td.column-count
|
25 |
+
{font-size: 14px;}
|
26 |
+
|
27 |
+
.um-admin.users-php td.column-um_actions {padding-top: 12px}
|
28 |
+
|
29 |
+
.um-admin.users-php td.column-um_actions a.button {
|
30 |
+
height: 29px !important;
|
31 |
+
margin: 0 0 0 2px !important;
|
32 |
+
position: relative;
|
33 |
+
}
|
34 |
+
|
35 |
+
.um-admin-tag {
|
36 |
+
display: inline-block;
|
37 |
+
border-radius: 2px;
|
38 |
+
width: 100%;
|
39 |
+
box-sizing: border-box;
|
40 |
+
text-align: center;
|
41 |
+
background: #3ba1da;
|
42 |
+
color: #fff;
|
43 |
+
font-size: 14px;
|
44 |
+
height: 34px;
|
45 |
+
line-height: 34px;
|
46 |
+
}
|
47 |
+
.um-admin-tag.small {font-size: 13px;height:28px;line-height: 28px;display:inline;padding: 4px 10px;background: transparent;color: #666;border-radius:0;}
|
48 |
+
.um-admin-tag.approved {border-left: 2px solid #7ACF58}
|
49 |
+
.um-admin-tag.pending {border-left: 2px solid #C74A4A}
|
50 |
+
|
51 |
+
.um-admin-txtspace {margin: 0 0 0 10px;}
|
52 |
+
|
53 |
+
.um-adm-ico {
|
54 |
+
font-size: 18px;
|
55 |
+
width: 18px;
|
56 |
+
text-align: center;
|
57 |
+
display: inline-block;
|
58 |
+
color: #7ACF58;
|
59 |
+
}
|
60 |
+
|
61 |
+
.um-adm-ico.inactive {color: #C74A4A}
|
62 |
+
.um-adm-ico.pointer {cursor: pointer}
|
63 |
+
|
64 |
+
.um-admin-icontext i {
|
65 |
+
font-size: 18px;
|
66 |
+
margin: 0 5px 0 0;
|
67 |
}
|
admin/assets/css/um-admin-dashboard.css
CHANGED
@@ -1,128 +1,128 @@
|
|
1 |
-
#um-extensions-wrap a.plugin-image,
|
2 |
-
#um-extensions-wrap a.plugin-image img {
|
3 |
-
max-width: 100%;
|
4 |
-
display: block;
|
5 |
-
}
|
6 |
-
|
7 |
-
#um-extensions-wrap .plugin-card .name,
|
8 |
-
#um-extensions-wrap .plugin-card .desc {
|
9 |
-
margin-left: 0;
|
10 |
-
}
|
11 |
-
|
12 |
-
#um-metaboxes-general h2 sup {
|
13 |
-
font-size: 14px;
|
14 |
-
position: relative;
|
15 |
-
font-weight: 400;
|
16 |
-
background: #3ba1da;
|
17 |
-
color: #fff !important;
|
18 |
-
padding: 2px 4px !important;
|
19 |
-
border-radius: 3px;
|
20 |
-
position: relative;
|
21 |
-
top: 5px;
|
22 |
-
left: 3px;
|
23 |
-
border: none !important;
|
24 |
-
}
|
25 |
-
|
26 |
-
.wrap a.red, .wrap span.red {color:#C74A4A}
|
27 |
-
.wrap span.ok {color:#7ACF58}
|
28 |
-
|
29 |
-
/* Misc */
|
30 |
-
|
31 |
-
.um-admin-dash-review {
|
32 |
-
text-decoration: none !important;
|
33 |
-
font-size: 16px;
|
34 |
-
position: absolute;
|
35 |
-
top: -2px;
|
36 |
-
right: 4px;
|
37 |
-
}
|
38 |
-
|
39 |
-
/* Dashboard widgets */
|
40 |
-
|
41 |
-
.p_seperate {
|
42 |
-
margin-top: 12px;
|
43 |
-
border-top: 1px solid #ddd;
|
44 |
-
}
|
45 |
-
|
46 |
-
.um-metabox-holder p.sub {
|
47 |
-
padding: 0 4px 2px 4px;
|
48 |
-
margin: 0 0 8px 0;
|
49 |
-
color: #8F8F8F;
|
50 |
-
font-size: 14px;
|
51 |
-
border-bottom: 1px solid #ECECEC;
|
52 |
-
}
|
53 |
-
|
54 |
-
.um-metabox-holder .table {
|
55 |
-
float: left;
|
56 |
-
width: 45%;
|
57 |
-
}
|
58 |
-
|
59 |
-
.um-metabox-holder a.warning {
|
60 |
-
color: #C74A4A !important;
|
61 |
-
background: transparent !important;
|
62 |
-
border: 0;
|
63 |
-
}
|
64 |
-
|
65 |
-
.um-metabox-holder .table_right {
|
66 |
-
float: right;
|
67 |
-
width: 45%;
|
68 |
-
}
|
69 |
-
|
70 |
-
.um-metabox-holder td.b {
|
71 |
-
padding-right: 6px;
|
72 |
-
text-align: right;
|
73 |
-
font-family: Georgia,"Times New Roman","Bitstream Charter",Times,serif;
|
74 |
-
font-size: 14px;
|
75 |
-
width: 1%;
|
76 |
-
}
|
77 |
-
|
78 |
-
.um-metabox-holder td.b {
|
79 |
-
text-align: right;
|
80 |
-
font-family: Georgia,"Times New Roman","Bitstream Charter",Times,serif;
|
81 |
-
font-size: 14px;
|
82 |
-
}
|
83 |
-
|
84 |
-
.um-metabox-holder table td {
|
85 |
-
white-space: nowrap;
|
86 |
-
font-size: 12px;
|
87 |
-
}
|
88 |
-
|
89 |
-
.um-metabox-holder td.b a {
|
90 |
-
font-size: 18px;
|
91 |
-
}
|
92 |
-
|
93 |
-
.um-metabox-holder .norm i {
|
94 |
-
display: inline-block;
|
95 |
-
width: 30px;
|
96 |
-
text-align: center;
|
97 |
-
}
|
98 |
-
|
99 |
-
.um-metabox-holder .norm p {
|
100 |
-
margin: 5px 0;
|
101 |
-
}
|
102 |
-
|
103 |
-
.um-metabox-holder .norm .count {
|
104 |
-
font-size: 16px;
|
105 |
-
font-family: Gerogia;
|
106 |
-
color: #999;
|
107 |
-
width: 40px;
|
108 |
-
display: inline-block;
|
109 |
-
text-align: right;
|
110 |
-
margin-right: 10px;
|
111 |
-
}
|
112 |
-
|
113 |
-
/* Share bar */
|
114 |
-
|
115 |
-
.um-admin-dash-share {
|
116 |
-
margin-top: 11px !important;
|
117 |
-
float: left;
|
118 |
-
line-height: 28px;
|
119 |
-
font-size: 15px;
|
120 |
-
}
|
121 |
-
|
122 |
-
.um-admin-dash-share a {
|
123 |
-
margin: 0 15px 0 0 !important;
|
124 |
-
text-decoration: none !important;
|
125 |
-
color: #777 !important;
|
126 |
-
font-size: 22px !important;
|
127 |
-
}
|
128 |
.um-admin-dash-share a:hover {color: #3ba1da !important}
|
1 |
+
#um-extensions-wrap a.plugin-image,
|
2 |
+
#um-extensions-wrap a.plugin-image img {
|
3 |
+
max-width: 100%;
|
4 |
+
display: block;
|
5 |
+
}
|
6 |
+
|
7 |
+
#um-extensions-wrap .plugin-card .name,
|
8 |
+
#um-extensions-wrap .plugin-card .desc {
|
9 |
+
margin-left: 0;
|
10 |
+
}
|
11 |
+
|
12 |
+
#um-metaboxes-general h2 sup {
|
13 |
+
font-size: 14px;
|
14 |
+
position: relative;
|
15 |
+
font-weight: 400;
|
16 |
+
background: #3ba1da;
|
17 |
+
color: #fff !important;
|
18 |
+
padding: 2px 4px !important;
|
19 |
+
border-radius: 3px;
|
20 |
+
position: relative;
|
21 |
+
top: 5px;
|
22 |
+
left: 3px;
|
23 |
+
border: none !important;
|
24 |
+
}
|
25 |
+
|
26 |
+
.wrap a.red, .wrap span.red {color:#C74A4A}
|
27 |
+
.wrap span.ok {color:#7ACF58}
|
28 |
+
|
29 |
+
/* Misc */
|
30 |
+
|
31 |
+
.um-admin-dash-review {
|
32 |
+
text-decoration: none !important;
|
33 |
+
font-size: 16px;
|
34 |
+
position: absolute;
|
35 |
+
top: -2px;
|
36 |
+
right: 4px;
|
37 |
+
}
|
38 |
+
|
39 |
+
/* Dashboard widgets */
|
40 |
+
|
41 |
+
.p_seperate {
|
42 |
+
margin-top: 12px;
|
43 |
+
border-top: 1px solid #ddd;
|
44 |
+
}
|
45 |
+
|
46 |
+
.um-metabox-holder p.sub {
|
47 |
+
padding: 0 4px 2px 4px;
|
48 |
+
margin: 0 0 8px 0;
|
49 |
+
color: #8F8F8F;
|
50 |
+
font-size: 14px;
|
51 |
+
border-bottom: 1px solid #ECECEC;
|
52 |
+
}
|
53 |
+
|
54 |
+
.um-metabox-holder .table {
|
55 |
+
float: left;
|
56 |
+
width: 45%;
|
57 |
+
}
|
58 |
+
|
59 |
+
.um-metabox-holder a.warning {
|
60 |
+
color: #C74A4A !important;
|
61 |
+
background: transparent !important;
|
62 |
+
border: 0;
|
63 |
+
}
|
64 |
+
|
65 |
+
.um-metabox-holder .table_right {
|
66 |
+
float: right;
|
67 |
+
width: 45%;
|
68 |
+
}
|
69 |
+
|
70 |
+
.um-metabox-holder td.b {
|
71 |
+
padding-right: 6px;
|
72 |
+
text-align: right;
|
73 |
+
font-family: Georgia,"Times New Roman","Bitstream Charter",Times,serif;
|
74 |
+
font-size: 14px;
|
75 |
+
width: 1%;
|
76 |
+
}
|
77 |
+
|
78 |
+
.um-metabox-holder td.b {
|
79 |
+
text-align: right;
|
80 |
+
font-family: Georgia,"Times New Roman","Bitstream Charter",Times,serif;
|
81 |
+
font-size: 14px;
|
82 |
+
}
|
83 |
+
|
84 |
+
.um-metabox-holder table td {
|
85 |
+
white-space: nowrap;
|
86 |
+
font-size: 12px;
|
87 |
+
}
|
88 |
+
|
89 |
+
.um-metabox-holder td.b a {
|
90 |
+
font-size: 18px;
|
91 |
+
}
|
92 |
+
|
93 |
+
.um-metabox-holder .norm i {
|
94 |
+
display: inline-block;
|
95 |
+
width: 30px;
|
96 |
+
text-align: center;
|
97 |
+
}
|
98 |
+
|
99 |
+
.um-metabox-holder .norm p {
|
100 |
+
margin: 5px 0;
|
101 |
+
}
|
102 |
+
|
103 |
+
.um-metabox-holder .norm .count {
|
104 |
+
font-size: 16px;
|
105 |
+
font-family: Gerogia;
|
106 |
+
color: #999;
|
107 |
+
width: 40px;
|
108 |
+
display: inline-block;
|
109 |
+
text-align: right;
|
110 |
+
margin-right: 10px;
|
111 |
+
}
|
112 |
+
|
113 |
+
/* Share bar */
|
114 |
+
|
115 |
+
.um-admin-dash-share {
|
116 |
+
margin-top: 11px !important;
|
117 |
+
float: left;
|
118 |
+
line-height: 28px;
|
119 |
+
font-size: 15px;
|
120 |
+
}
|
121 |
+
|
122 |
+
.um-admin-dash-share a {
|
123 |
+
margin: 0 15px 0 0 !important;
|
124 |
+
text-decoration: none !important;
|
125 |
+
color: #777 !important;
|
126 |
+
font-size: 22px !important;
|
127 |
+
}
|
128 |
.um-admin-dash-share a:hover {color: #3ba1da !important}
|
admin/assets/css/um-admin-form.css
CHANGED
@@ -1,61 +1,61 @@
|
|
1 |
-
/*
|
2 |
-
- General
|
3 |
-
*/
|
4 |
-
|
5 |
-
.um-admin-metabox * {
|
6 |
-
-webkit-font-smoothing: antialiased !important;
|
7 |
-
-moz-osx-font-smoothing: grayscale !important;
|
8 |
-
}
|
9 |
-
|
10 |
-
.um-admin-metabox h6 {
|
11 |
-
font-size: 14px;
|
12 |
-
margin: 12px 0 0 0;
|
13 |
-
}
|
14 |
-
|
15 |
-
/*
|
16 |
-
- Metabox layout
|
17 |
-
*/
|
18 |
-
|
19 |
-
.um-admin.post-type-um_form div#submitdiv,
|
20 |
-
.um-admin.post-type-um_form div#side-sortables
|
21 |
-
{display:none}
|
22 |
-
|
23 |
-
/*
|
24 |
-
- Boxed Links
|
25 |
-
*/
|
26 |
-
|
27 |
-
.um-admin-boxed-links {
|
28 |
-
width: 100%;
|
29 |
-
text-align: center;
|
30 |
-
}
|
31 |
-
|
32 |
-
.um-admin-boxed-links a {
|
33 |
-
width: 33.3%;
|
34 |
-
float: left;
|
35 |
-
border-left: 1px solid #fff;
|
36 |
-
border-right: 1px solid #fff;
|
37 |
-
padding: 30px 25px !important;
|
38 |
-
background: #f8f8f8;
|
39 |
-
text-align: center;
|
40 |
-
display: inline-block !important;
|
41 |
-
font-size: 14px;
|
42 |
-
transition: all .2s linear;
|
43 |
-
text-decoration: none;
|
44 |
-
color: #666;
|
45 |
-
margin: 0 !important;
|
46 |
-
box-sizing: border-box !important;
|
47 |
-
border-radius: 2px;
|
48 |
-
-webkit-font-smoothing: antialiased;
|
49 |
-
-moz-osx-font-smoothing: grayscale;
|
50 |
-
font-weight: 600;
|
51 |
-
}
|
52 |
-
|
53 |
-
.um-admin-boxed-links i {
|
54 |
-
font-size: 28px;
|
55 |
-
vertical-align: middle;
|
56 |
-
margin: 0 10px 0 0;
|
57 |
-
}
|
58 |
-
|
59 |
-
.um-admin-boxed-links a:hover {
|
60 |
-
background: #eee;
|
61 |
}
|
1 |
+
/*
|
2 |
+
- General
|
3 |
+
*/
|
4 |
+
|
5 |
+
.um-admin-metabox * {
|
6 |
+
-webkit-font-smoothing: antialiased !important;
|
7 |
+
-moz-osx-font-smoothing: grayscale !important;
|
8 |
+
}
|
9 |
+
|
10 |
+
.um-admin-metabox h6 {
|
11 |
+
font-size: 14px;
|
12 |
+
margin: 12px 0 0 0;
|
13 |
+
}
|
14 |
+
|
15 |
+
/*
|
16 |
+
- Metabox layout
|
17 |
+
*/
|
18 |
+
|
19 |
+
.um-admin.post-type-um_form div#submitdiv,
|
20 |
+
.um-admin.post-type-um_form div#side-sortables
|
21 |
+
{display:none}
|
22 |
+
|
23 |
+
/*
|
24 |
+
- Boxed Links
|
25 |
+
*/
|
26 |
+
|
27 |
+
.um-admin-boxed-links {
|
28 |
+
width: 100%;
|
29 |
+
text-align: center;
|
30 |
+
}
|
31 |
+
|
32 |
+
.um-admin-boxed-links a {
|
33 |
+
width: 33.3%;
|
34 |
+
float: left;
|
35 |
+
border-left: 1px solid #fff;
|
36 |
+
border-right: 1px solid #fff;
|
37 |
+
padding: 30px 25px !important;
|
38 |
+
background: #f8f8f8;
|
39 |
+
text-align: center;
|
40 |
+
display: inline-block !important;
|
41 |
+
font-size: 14px;
|
42 |
+
transition: all .2s linear;
|
43 |
+
text-decoration: none;
|
44 |
+
color: #666;
|
45 |
+
margin: 0 !important;
|
46 |
+
box-sizing: border-box !important;
|
47 |
+
border-radius: 2px;
|
48 |
+
-webkit-font-smoothing: antialiased;
|
49 |
+
-moz-osx-font-smoothing: grayscale;
|
50 |
+
font-weight: 600;
|
51 |
+
}
|
52 |
+
|
53 |
+
.um-admin-boxed-links i {
|
54 |
+
font-size: 28px;
|
55 |
+
vertical-align: middle;
|
56 |
+
margin: 0 10px 0 0;
|
57 |
+
}
|
58 |
+
|
59 |
+
.um-admin-boxed-links a:hover {
|
60 |
+
background: #eee;
|
61 |
}
|
admin/assets/css/um-admin-global.css
CHANGED
@@ -1,90 +1,90 @@
|
|
1 |
-
.um-admin-notice {
|
2 |
-
border-color: #3ba1da !important;
|
3 |
-
color: #555;
|
4 |
-
}
|
5 |
-
|
6 |
-
.um-admin-notice a.button-primary {
|
7 |
-
background-color: #3ba1da !important;
|
8 |
-
border-color: #3ba1da !important;
|
9 |
-
}
|
10 |
-
|
11 |
-
.um-admin-notice a.button-primary:hover {
|
12 |
-
background-color: #2295d8 !important;
|
13 |
-
border-color: #2295d8 !important;
|
14 |
-
}
|
15 |
-
|
16 |
-
.um-admin-notice a.button-secondary {opacity: 0.7}
|
17 |
-
.um-admin-notice a.button-secondary:hover {opacity: 0.9}
|
18 |
-
.um-admin-notice a {text-decoration: none;color: #3ba1da}
|
19 |
-
.um-admin-notice a:hover {color: #44b0ec}
|
20 |
-
|
21 |
-
.um-filter {
|
22 |
-
padding: 12px;
|
23 |
-
border-color: #ddd !important;
|
24 |
-
margin: 20px 0 0 0 !important;
|
25 |
-
font-size: 14px;
|
26 |
-
line-height: 24px;
|
27 |
-
}
|
28 |
-
|
29 |
-
/*
|
30 |
-
- General metabox styling
|
31 |
-
*/
|
32 |
-
|
33 |
-
#um-admin-access-settings h3 {
|
34 |
-
padding: 10px 20px 10px 60px;
|
35 |
-
color: #fff;
|
36 |
-
background: #3ba1da url(../img/logo-small.png) no-repeat 12px center;
|
37 |
-
font-weight: bold;
|
38 |
-
font-size: 14px !important;
|
39 |
-
-webkit-font-smoothing: antialiased !important;
|
40 |
-
-moz-osx-font-smoothing: grayscale !important;
|
41 |
-
}
|
42 |
-
|
43 |
-
#um-admin-access-settings h4 { margin: 10px 0 4px 0!important}
|
44 |
-
|
45 |
-
#um-admin-access-settings div.handlediv {
|
46 |
-
color: #fff !important;
|
47 |
-
-webkit-font-smoothing: antialiased !important;
|
48 |
-
-moz-osx-font-smoothing: grayscale !important;
|
49 |
-
}
|
50 |
-
|
51 |
-
#um-admin-access-settings p {font-size: 13px}
|
52 |
-
|
53 |
-
#um-admin-access-settings input[type=text] {font-size: 13px}
|
54 |
-
|
55 |
-
/*
|
56 |
-
- Nav Menu
|
57 |
-
*/
|
58 |
-
|
59 |
-
.um-nav-edit * {
|
60 |
-
-webkit-font-smoothing: antialiased !important;
|
61 |
-
-moz-osx-font-smoothing: grayscale !important;
|
62 |
-
}
|
63 |
-
|
64 |
-
.um-nav-edit-h2 {
|
65 |
-
padding: 10px 20px 10px 60px;
|
66 |
-
margin: 14px 12px 0 0;
|
67 |
-
border-radius: 3px;
|
68 |
-
color: #fff;
|
69 |
-
background: #3ba1da url(../img/logo-small.png) no-repeat 12px center;
|
70 |
-
font-weight: bold;
|
71 |
-
}
|
72 |
-
|
73 |
-
.um-nav-mode {margin-top:10px}
|
74 |
-
.um-nav-roles {display: none;margin-top:5px}
|
75 |
-
|
76 |
-
/*
|
77 |
-
- jQuery Tooltips
|
78 |
-
*/
|
79 |
-
|
80 |
-
.um-admin-tip {
|
81 |
-
margin: 0 0 0 2px;
|
82 |
-
color: #3ba1da !important;
|
83 |
-
vertical-align: middle;
|
84 |
-
position: relative;
|
85 |
-
top: -3px;
|
86 |
-
opacity: 0.8;
|
87 |
-
}
|
88 |
-
.um-admin-tip.n {margin-left: 5px}
|
89 |
-
.um-admin-tip i {cursor: pointer; vertical-align: middle; font-size: 20px; line-height: 20px;color: #3ba1da !important;}
|
90 |
a.um-delete{ color: #a00; }
|
1 |
+
.um-admin-notice {
|
2 |
+
border-color: #3ba1da !important;
|
3 |
+
color: #555;
|
4 |
+
}
|
5 |
+
|
6 |
+
.um-admin-notice a.button-primary {
|
7 |
+
background-color: #3ba1da !important;
|
8 |
+
border-color: #3ba1da !important;
|
9 |
+
}
|
10 |
+
|
11 |
+
.um-admin-notice a.button-primary:hover {
|
12 |
+
background-color: #2295d8 !important;
|
13 |
+
border-color: #2295d8 !important;
|
14 |
+
}
|
15 |
+
|
16 |
+
.um-admin-notice a.button-secondary {opacity: 0.7}
|
17 |
+
.um-admin-notice a.button-secondary:hover {opacity: 0.9}
|
18 |
+
.um-admin-notice a {text-decoration: none;color: #3ba1da}
|
19 |
+
.um-admin-notice a:hover {color: #44b0ec}
|
20 |
+
|
21 |
+
.um-filter {
|
22 |
+
padding: 12px;
|
23 |
+
border-color: #ddd !important;
|
24 |
+
margin: 20px 0 0 0 !important;
|
25 |
+
font-size: 14px;
|
26 |
+
line-height: 24px;
|
27 |
+
}
|
28 |
+
|
29 |
+
/*
|
30 |
+
- General metabox styling
|
31 |
+
*/
|
32 |
+
|
33 |
+
#um-admin-access-settings h3 {
|
34 |
+
padding: 10px 20px 10px 60px;
|
35 |
+
color: #fff;
|
36 |
+
background: #3ba1da url(../img/logo-small.png) no-repeat 12px center;
|
37 |
+
font-weight: bold;
|
38 |
+
font-size: 14px !important;
|
39 |
+
-webkit-font-smoothing: antialiased !important;
|
40 |
+
-moz-osx-font-smoothing: grayscale !important;
|
41 |
+
}
|
42 |
+
|
43 |
+
#um-admin-access-settings h4 { margin: 10px 0 4px 0!important}
|
44 |
+
|
45 |
+
#um-admin-access-settings div.handlediv {
|
46 |
+
color: #fff !important;
|
47 |
+
-webkit-font-smoothing: antialiased !important;
|
48 |
+
-moz-osx-font-smoothing: grayscale !important;
|
49 |
+
}
|
50 |
+
|
51 |
+
#um-admin-access-settings p {font-size: 13px}
|
52 |
+
|
53 |
+
#um-admin-access-settings input[type=text] {font-size: 13px}
|
54 |
+
|
55 |
+
/*
|
56 |
+
- Nav Menu
|
57 |
+
*/
|
58 |
+
|
59 |
+
.um-nav-edit * {
|
60 |
+
-webkit-font-smoothing: antialiased !important;
|
61 |
+
-moz-osx-font-smoothing: grayscale !important;
|
62 |
+
}
|
63 |
+
|
64 |
+
.um-nav-edit-h2 {
|
65 |
+
padding: 10px 20px 10px 60px;
|
66 |
+
margin: 14px 12px 0 0;
|
67 |
+
border-radius: 3px;
|
68 |
+
color: #fff;
|
69 |
+
background: #3ba1da url(../img/logo-small.png) no-repeat 12px center;
|
70 |
+
font-weight: bold;
|
71 |
+
}
|
72 |
+
|
73 |
+
.um-nav-mode {margin-top:10px}
|
74 |
+
.um-nav-roles {display: none;margin-top:5px}
|
75 |
+
|
76 |
+
/*
|
77 |
+
- jQuery Tooltips
|
78 |
+
*/
|
79 |
+
|
80 |
+
.um-admin-tip {
|
81 |
+
margin: 0 0 0 2px;
|
82 |
+
color: #3ba1da !important;
|
83 |
+
vertical-align: middle;
|
84 |
+
position: relative;
|
85 |
+
top: -3px;
|
86 |
+
opacity: 0.8;
|
87 |
+
}
|
88 |
+
.um-admin-tip.n {margin-left: 5px}
|
89 |
+
.um-admin-tip i {cursor: pointer; vertical-align: middle; font-size: 20px; line-height: 20px;color: #3ba1da !important;}
|
90 |
a.um-delete{ color: #a00; }
|
admin/assets/css/um-admin-menu.css
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
-
ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after {display: none !important}
|
2 |
-
|
3 |
ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{right:-9999999px}
|
1 |
+
ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after {display: none !important}
|
2 |
+
|
3 |
ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{right:-9999999px}
|
admin/assets/css/um-admin-misc.css
CHANGED
@@ -1,259 +1,259 @@
|
|
1 |
-
/*
|
2 |
-
- Welcome
|
3 |
-
*/
|
4 |
-
|
5 |
-
.um-about-wrap * {
|
6 |
-
-webkit-font-smoothing: antialiased;
|
7 |
-
-moz-osx-font-smoothing: grayscale;
|
8 |
-
}
|
9 |
-
|
10 |
-
.um-about-wrap a.um-about-icon {
|
11 |
-
margin: 0 0 0 15px !important;
|
12 |
-
padding: 0 !important;
|
13 |
-
text-decoration: none !important;
|
14 |
-
color: #777 !important;
|
15 |
-
font-size: 22px !important;
|
16 |
-
}
|
17 |
-
|
18 |
-
.um-about-wrap a.um-about-icon:hover {color: #3ba1da !important}
|
19 |
-
|
20 |
-
.um-badge {
|
21 |
-
color: #fff;
|
22 |
-
background: none !important;
|
23 |
-
background: #3ba1da url(../img/logo_small.png) no-repeat center 0px !important;
|
24 |
-
}
|
25 |
-
|
26 |
-
.um-about-wrap .ultimatemember-actions a.button-primary,
|
27 |
-
.um-about-wrap .ultimatemember-actions a.button {
|
28 |
-
vertical-align: top;
|
29 |
-
margin: 0 5px 0 0;
|
30 |
-
}
|
31 |
-
|
32 |
-
.changelog a.button-primary {
|
33 |
-
height: 40px;
|
34 |
-
line-height: 38px;
|
35 |
-
}
|
36 |
-
|
37 |
-
.um-about-wrap a {text-decoration: none}
|
38 |
-
|
39 |
-
/*
|
40 |
-
- General
|
41 |
-
*/
|
42 |
-
|
43 |
-
body.um-admin-modal-open {
|
44 |
-
overflow: hidden;
|
45 |
-
}
|
46 |
-
|
47 |
-
.um-admin #major-publishing-actions{background-color: #fff !important;border-top:0}
|
48 |
-
|
49 |
-
.um-admin-hide {display: none}
|
50 |
-
|
51 |
-
.um-admin-field {
|
52 |
-
display: block;
|
53 |
-
width: 100%;
|
54 |
-
margin-top: 10px;
|
55 |
-
}
|
56 |
-
|
57 |
-
.um-admin-field a.button {
|
58 |
-
position: relative;
|
59 |
-
top: 1px;
|
60 |
-
height: 30px !important;
|
61 |
-
}
|
62 |
-
|
63 |
-
.um-admin-half {
|
64 |
-
float: left;
|
65 |
-
width: 48%;
|
66 |
-
}
|
67 |
-
|
68 |
-
.um-admin-tri {
|
69 |
-
float: left;
|
70 |
-
width: 33%;
|
71 |
-
}
|
72 |
-
|
73 |
-
.um-admin-left{float: left}
|
74 |
-
.um-admin-right {float: right}
|
75 |
-
.um-admin-clear {clear: both}
|
76 |
-
|
77 |
-
.um-admin a.um-admin-activebg,
|
78 |
-
.um-admin a.um-admin-activebg:hover{
|
79 |
-
background: #3ba1da;
|
80 |
-
color: #fff;
|
81 |
-
}
|
82 |
-
|
83 |
-
.um-admin a.button i,
|
84 |
-
.um-admin a.button-primary i {
|
85 |
-
font-size: 15px !important;
|
86 |
-
height: 15px !important;
|
87 |
-
width: 15px !important;
|
88 |
-
text-align: center !important;
|
89 |
-
margin: 0 5px 0 0 !important;
|
90 |
-
display: inline-block;
|
91 |
-
}
|
92 |
-
|
93 |
-
.um-admin a.button i:before,
|
94 |
-
.um-admin a.button-primary i:before {
|
95 |
-
position: relative;
|
96 |
-
top: 1px;
|
97 |
-
}
|
98 |
-
|
99 |
-
/*
|
100 |
-
- Form Inputs
|
101 |
-
*/
|
102 |
-
|
103 |
-
.um-admin-metabox h3 {
|
104 |
-
padding-left: 0 !important;
|
105 |
-
}
|
106 |
-
|
107 |
-
.um-admin-metabox h4 {
|
108 |
-
font-size: 14px;
|
109 |
-
background: #f5f5f5;
|
110 |
-
padding: 8px 4px;
|
111 |
-
color: #333;
|
112 |
-
}
|
113 |
-
|
114 |
-
.um-admin-metabox p {margin: 10px 0 0 0}
|
115 |
-
|
116 |
-
.um-admin-metabox label{
|
117 |
-
display: block;
|
118 |
-
cursor: default;
|
119 |
-
margin: 0 0 8px 0 !important;
|
120 |
-
padding: 0!important;
|
121 |
-
font-size: 13px;
|
122 |
-
color: #666;
|
123 |
-
}
|
124 |
-
|
125 |
-
.um-admin-metabox input[type=text]:disabled{
|
126 |
-
opacity: 0.7 !important;
|
127 |
-
color: #aaa !important;
|
128 |
-
}
|
129 |
-
|
130 |
-
.um-admin-metabox input[type=text] {
|
131 |
-
height: auto !important;
|
132 |
-
}
|
133 |
-
|
134 |
-
.um-admin-metabox input[type=text],
|
135 |
-
.um-admin-metabox textarea {
|
136 |
-
width: 100%;
|
137 |
-
max-width: 100%;
|
138 |
-
display: block;
|
139 |
-
box-sizing: border-box !important;
|
140 |
-
font-size: 13px !important;
|
141 |
-
line-height: 1.4em !important;
|
142 |
-
padding: 4px 10px !important;
|
143 |
-
}
|
144 |
-
|
145 |
-
.um-admin-metabox textarea {
|
146 |
-
padding: 8px !important;
|
147 |
-
line-height: 1.6em;
|
148 |
-
color: #888 !important;
|
149 |
-
}
|
150 |
-
|
151 |
-
.um-admin-metabox input[type=text].um-admin-error,
|
152 |
-
.um-admin-metabox textarea.um-admin-error
|
153 |
-
{border-color: #C74A4A!important}
|
154 |
-
|
155 |
-
.um-admin-metabox input[type=text].small {width: 54px}
|
156 |
-
|
157 |
-
.um-admin-metabox textarea {min-height: 100px;height: 100px}
|
158 |
-
.um-admin-metabox textarea.tall {min-height: 200px;height: 200px}
|
159 |
-
|
160 |
-
.wp-picker-container input.wp-color-picker[type="text"] {
|
161 |
-
width: 68px !important;
|
162 |
-
float: left !important;
|
163 |
-
padding: 2px 4px !important;
|
164 |
-
border-width: 1px !important;
|
165 |
-
}
|
166 |
-
|
167 |
-
/*
|
168 |
-
- Error blocks
|
169 |
-
*/
|
170 |
-
|
171 |
-
.um-admin-error-block, .um-admin-success-block{
|
172 |
-
display: none;
|
173 |
-
width: 100%;
|
174 |
-
background: #C74A4A;
|
175 |
-
border-radius: 3px;
|
176 |
-
color: #fff;
|
177 |
-
box-sizing: border-box;
|
178 |
-
position: relative;
|
179 |
-
padding: 12px;
|
180 |
-
font-size: 13px;
|
181 |
-
line-height: 1em !important;
|
182 |
-
margin: 0 0 16px 0;
|
183 |
-
}
|
184 |
-
|
185 |
-
.um-admin-success-block {
|
186 |
-
background: #7ACF58;
|
187 |
-
}
|
188 |
-
|
189 |
-
/*
|
190 |
-
- Yes or NO UI
|
191 |
-
*/
|
192 |
-
|
193 |
-
p.disabled-on-off .um-admin-yesno {
|
194 |
-
opacity: 0.5!important;
|
195 |
-
cursor: default !important;
|
196 |
-
}
|
197 |
-
p.disabled-on-off .um-admin-yesno *{
|
198 |
-
cursor: default !important;
|
199 |
-
}
|
200 |
-
|
201 |
-
.um-admin-yesno {
|
202 |
-
width: 100px !important;
|
203 |
-
height: 26px;
|
204 |
-
display: block;
|
205 |
-
position: relative;
|
206 |
-
color: #fff;
|
207 |
-
}
|
208 |
-
|
209 |
-
.um-admin-yesno span.btn {
|
210 |
-
position: absolute;
|
211 |
-
left: 0;
|
212 |
-
top: -2px;
|
213 |
-
width: 50px;
|
214 |
-
height: 28px;
|
215 |
-
text-align: center;
|
216 |
-
background: #f9f9f9;
|
217 |
-
z-index: 999;
|
218 |
-
border-radius: 3px;
|
219 |
-
cursor: pointer;
|
220 |
-
border: solid 1px #D0D9DB;
|
221 |
-
margin: 0;
|
222 |
-
padding: 0 !important;
|
223 |
-
}
|
224 |
-
|
225 |
-
.um-admin-yesno span.btn.pos-1 {left: 48px}
|
226 |
-
|
227 |
-
.um-admin-yesno span.yes, .um-admin-yesno span.no {
|
228 |
-
width: 50px;
|
229 |
-
float: left;
|
230 |
-
line-height: 24px;
|
231 |
-
height: 26px;
|
232 |
-
cursor: default;
|
233 |
-
font-size: 14px;
|
234 |
-
color: #fff;
|
235 |
-
padding: 0 0 0 10px;
|
236 |
-
box-sizing: border-box;
|
237 |
-
}
|
238 |
-
|
239 |
-
.um-admin-yesno .yes {
|
240 |
-
background: #3ba1da;
|
241 |
-
border-radius: 3px 0 0 3px;
|
242 |
-
border: 1px solid rgba(0,0,0,.2);
|
243 |
-
}
|
244 |
-
|
245 |
-
.um-admin-yesno .no {
|
246 |
-
padding: 0 10px 0 0 !important;
|
247 |
-
text-align: right;
|
248 |
-
float: right;
|
249 |
-
background: #fff;
|
250 |
-
color: #222 !important;
|
251 |
-
border-radius: 0 3px 3px 0;
|
252 |
-
border: 1px solid #ddd;
|
253 |
-
}
|
254 |
-
|
255 |
-
.um-admin.users-php .subsubsub li.subsep {
|
256 |
-
display: block;
|
257 |
-
visibility: hidden;
|
258 |
-
height: 0;
|
259 |
-
}
|
1 |
+
/*
|
2 |
+
- Welcome
|
3 |
+
*/
|
4 |
+
|
5 |
+
.um-about-wrap * {
|
6 |
+
-webkit-font-smoothing: antialiased;
|
7 |
+
-moz-osx-font-smoothing: grayscale;
|
8 |
+
}
|
9 |
+
|
10 |
+
.um-about-wrap a.um-about-icon {
|
11 |
+
margin: 0 0 0 15px !important;
|
12 |
+
padding: 0 !important;
|
13 |
+
text-decoration: none !important;
|
14 |
+
color: #777 !important;
|
15 |
+
font-size: 22px !important;
|
16 |
+
}
|
17 |
+
|
18 |
+
.um-about-wrap a.um-about-icon:hover {color: #3ba1da !important}
|
19 |
+
|
20 |
+
.um-badge {
|
21 |
+
color: #fff;
|
22 |
+
background: none !important;
|
23 |
+
background: #3ba1da url(../img/logo_small.png) no-repeat center 0px !important;
|
24 |
+
}
|
25 |
+
|
26 |
+
.um-about-wrap .ultimatemember-actions a.button-primary,
|
27 |
+
.um-about-wrap .ultimatemember-actions a.button {
|
28 |
+
vertical-align: top;
|
29 |
+
margin: 0 5px 0 0;
|
30 |
+
}
|
31 |
+
|
32 |
+
.changelog a.button-primary {
|
33 |
+
height: 40px;
|
34 |
+
line-height: 38px;
|
35 |
+
}
|
36 |
+
|
37 |
+
.um-about-wrap a {text-decoration: none}
|
38 |
+
|
39 |
+
/*
|
40 |
+
- General
|
41 |
+
*/
|
42 |
+
|
43 |
+
body.um-admin-modal-open {
|
44 |
+
overflow: hidden;
|
45 |
+
}
|
46 |
+
|
47 |
+
.um-admin #major-publishing-actions{background-color: #fff !important;border-top:0}
|
48 |
+
|
49 |
+
.um-admin-hide {display: none}
|
50 |
+
|
51 |
+
.um-admin-field {
|
52 |
+
display: block;
|
53 |
+
width: 100%;
|
54 |
+
margin-top: 10px;
|
55 |
+
}
|
56 |
+
|
57 |
+
.um-admin-field a.button {
|
58 |
+
position: relative;
|
59 |
+
top: 1px;
|
60 |
+
height: 30px !important;
|
61 |
+
}
|
62 |
+
|
63 |
+
.um-admin-half {
|
64 |
+
float: left;
|
65 |
+
width: 48%;
|
66 |
+
}
|
67 |
+
|
68 |
+
.um-admin-tri {
|
69 |
+
float: left;
|
70 |
+
width: 33%;
|
71 |
+
}
|
72 |
+
|
73 |
+
.um-admin-left{float: left}
|
74 |
+
.um-admin-right {float: right}
|
75 |
+
.um-admin-clear {clear: both}
|
76 |
+
|
77 |
+
.um-admin a.um-admin-activebg,
|
78 |
+
.um-admin a.um-admin-activebg:hover{
|
79 |
+
background: #3ba1da;
|
80 |
+
color: #fff;
|
81 |
+
}
|
82 |
+
|
83 |
+
.um-admin a.button i,
|
84 |
+
.um-admin a.button-primary i {
|
85 |
+
font-size: 15px !important;
|
86 |
+
height: 15px !important;
|
87 |
+
width: 15px !important;
|
88 |
+
text-align: center !important;
|
89 |
+
margin: 0 5px 0 0 !important;
|
90 |
+
display: inline-block;
|
91 |
+
}
|
92 |
+
|
93 |
+
.um-admin a.button i:before,
|
94 |
+
.um-admin a.button-primary i:before {
|
95 |
+
position: relative;
|
96 |
+
top: 1px;
|
97 |
+
}
|
98 |
+
|
99 |
+
/*
|
100 |
+
- Form Inputs
|
101 |
+
*/
|
102 |
+
|
103 |
+
.um-admin-metabox h3 {
|
104 |
+
padding-left: 0 !important;
|
105 |
+
}
|
106 |
+
|
107 |
+
.um-admin-metabox h4 {
|
108 |
+
font-size: 14px;
|
109 |
+
background: #f5f5f5;
|
110 |
+
padding: 8px 4px;
|
111 |
+
color: #333;
|
112 |
+
}
|
113 |
+
|
114 |
+
.um-admin-metabox p {margin: 10px 0 0 0}
|
115 |
+
|
116 |
+
.um-admin-metabox label{
|
117 |
+
display: block;
|
118 |
+
cursor: default;
|
119 |
+
margin: 0 0 8px 0 !important;
|
120 |
+
padding: 0!important;
|
121 |
+
font-size: 13px;
|
122 |
+
color: #666;
|
123 |
+
}
|
124 |
+
|
125 |
+
.um-admin-metabox input[type=text]:disabled{
|
126 |
+
opacity: 0.7 !important;
|
127 |
+
color: #aaa !important;
|
128 |
+
}
|
129 |
+
|
130 |
+
.um-admin-metabox input[type=text] {
|
131 |
+
height: auto !important;
|
132 |
+
}
|
133 |
+
|
134 |
+
.um-admin-metabox input[type=text],
|
135 |
+
.um-admin-metabox textarea {
|
136 |
+
width: 100%;
|
137 |
+
max-width: 100%;
|
138 |
+
display: block;
|
139 |
+
box-sizing: border-box !important;
|
140 |
+
font-size: 13px !important;
|
141 |
+
line-height: 1.4em !important;
|
142 |
+
padding: 4px 10px !important;
|
143 |
+
}
|
144 |
+
|
145 |
+
.um-admin-metabox textarea {
|
146 |
+
padding: 8px !important;
|
147 |
+
line-height: 1.6em;
|
148 |
+
color: #888 !important;
|
149 |
+
}
|
150 |
+
|
151 |
+
.um-admin-metabox input[type=text].um-admin-error,
|
152 |
+
.um-admin-metabox textarea.um-admin-error
|
153 |
+
{border-color: #C74A4A!important}
|
154 |
+
|
155 |
+
.um-admin-metabox input[type=text].small {width: 54px}
|
156 |
+
|
157 |
+
.um-admin-metabox textarea {min-height: 100px;height: 100px}
|
158 |
+
.um-admin-metabox textarea.tall {min-height: 200px;height: 200px}
|
159 |
+
|
160 |
+
.wp-picker-container input.wp-color-picker[type="text"] {
|
161 |
+
width: 68px !important;
|
162 |
+
float: left !important;
|
163 |
+
padding: 2px 4px !important;
|
164 |
+
border-width: 1px !important;
|
165 |
+
}
|
166 |
+
|
167 |
+
/*
|
168 |
+
- Error blocks
|
169 |
+
*/
|
170 |
+
|
171 |
+
.um-admin-error-block, .um-admin-success-block{
|
172 |
+
display: none;
|
173 |
+
width: 100%;
|
174 |
+
background: #C74A4A;
|
175 |
+
border-radius: 3px;
|
176 |
+
color: #fff;
|
177 |
+
box-sizing: border-box;
|
178 |
+
position: relative;
|
179 |
+
padding: 12px;
|
180 |
+
font-size: 13px;
|
181 |
+
line-height: 1em !important;
|
182 |
+
margin: 0 0 16px 0;
|
183 |
+
}
|
184 |
+
|
185 |
+
.um-admin-success-block {
|
186 |
+
background: #7ACF58;
|
187 |
+
}
|
188 |
+
|
189 |
+
/*
|
190 |
+
- Yes or NO UI
|
191 |
+
*/
|
192 |
+
|
193 |
+
p.disabled-on-off .um-admin-yesno {
|
194 |
+
opacity: 0.5!important;
|
195 |
+
cursor: default !important;
|
196 |
+
}
|
197 |
+
p.disabled-on-off .um-admin-yesno *{
|
198 |
+
cursor: default !important;
|
199 |
+
}
|
200 |
+
|
201 |
+
.um-admin-yesno {
|
202 |
+
width: 100px !important;
|
203 |
+
height: 26px;
|
204 |
+
display: block;
|
205 |
+
position: relative;
|
206 |
+
color: #fff;
|
207 |
+
}
|
208 |
+
|
209 |
+
.um-admin-yesno span.btn {
|
210 |
+
position: absolute;
|
211 |
+
left: 0;
|
212 |
+
top: -2px;
|
213 |
+
width: 50px;
|
214 |
+
height: 28px;
|
215 |
+
text-align: center;
|
216 |
+
background: #f9f9f9;
|
217 |
+
z-index: 999;
|
218 |
+
border-radius: 3px;
|
219 |
+
cursor: pointer;
|
220 |
+
border: solid 1px #D0D9DB;
|
221 |
+
margin: 0;
|
222 |
+
padding: 0 !important;
|
223 |
+
}
|
224 |
+
|
225 |
+
.um-admin-yesno span.btn.pos-1 {left: 48px}
|
226 |
+
|
227 |
+
.um-admin-yesno span.yes, .um-admin-yesno span.no {
|
228 |
+
width: 50px;
|
229 |
+
float: left;
|
230 |
+
line-height: 24px;
|
231 |
+
height: 26px;
|
232 |
+
cursor: default;
|
233 |
+
font-size: 14px;
|
234 |
+
color: #fff;
|
235 |
+
padding: 0 0 0 10px;
|
236 |
+
box-sizing: border-box;
|
237 |
+
}
|
238 |
+
|
239 |
+
.um-admin-yesno .yes {
|
240 |
+
background: #3ba1da;
|
241 |
+
border-radius: 3px 0 0 3px;
|
242 |
+
border: 1px solid rgba(0,0,0,.2);
|
243 |
+
}
|
244 |
+
|
245 |
+
.um-admin-yesno .no {
|
246 |
+
padding: 0 10px 0 0 !important;
|
247 |
+
text-align: right;
|
248 |
+
float: right;
|
249 |
+
background: #fff;
|
250 |
+
color: #222 !important;
|
251 |
+
border-radius: 0 3px 3px 0;
|
252 |
+
border: 1px solid #ddd;
|
253 |
+
}
|
254 |
+
|
255 |
+
.um-admin.users-php .subsubsub li.subsep {
|
256 |
+
display: block;
|
257 |
+
visibility: hidden;
|
258 |
+
height: 0;
|
259 |
+
}
|
admin/assets/css/um-admin-modal.css
CHANGED
@@ -1,298 +1,298 @@
|
|
1 |
-
/*
|
2 |
-
- Overlay
|
3 |
-
*/
|
4 |
-
|
5 |
-
.um-admin-overlay {
|
6 |
-
background: rgba(0,0,0, .7);
|
7 |
-
width: 100%;
|
8 |
-
height: 100%;
|
9 |
-
position: fixed;
|
10 |
-
top: 0;
|
11 |
-
left: 0;
|
12 |
-
z-index: 10000;
|
13 |
-
}
|
14 |
-
|
15 |
-
/*
|
16 |
-
- modal
|
17 |
-
*/
|
18 |
-
|
19 |
-
.um-admin-modal * {
|
20 |
-
-webkit-font-smoothing: antialiased !important;
|
21 |
-
-moz-osx-font-smoothing: grayscale;
|
22 |
-
}
|
23 |
-
|
24 |
-
.um-admin-modal input[type=submit].button-primary,
|
25 |
-
.um-admin-modal a.button-primary,
|
26 |
-
.um-admin-modal a.button {
|
27 |
-
padding: 0 12px !important;
|
28 |
-
vertical-align: middle !important;
|
29 |
-
}
|
30 |
-
|
31 |
-
.um-admin .um-admin-modal a.button i:before {
|
32 |
-
display: block;
|
33 |
-
top: 0px;
|
34 |
-
}
|
35 |
-
|
36 |
-
.um-admin-modal input[type=submit].button-primary {
|
37 |
-
line-height: 24px !important;
|
38 |
-
}
|
39 |
-
|
40 |
-
.um-admin-modal {
|
41 |
-
border-radius: 3px;
|
42 |
-
background: #fff;
|
43 |
-
position: fixed;
|
44 |
-
top: 50% !important;
|
45 |
-
left: 50% !important;
|
46 |
-
display: none;
|
47 |
-
z-index: 10001;
|
48 |
-
box-sizing: border-box;
|
49 |
-
|
50 |
-
width: 730px;
|
51 |
-
margin-left: -365px;
|
52 |
-
}
|
53 |
-
|
54 |
-
.um-admin-modal.normal {width: 730px;margin-left: -365px;}
|
55 |
-
.um-admin-modal.smaller {width: 500px;margin-left: -250px;}
|
56 |
-
.um-admin-modal.small {width: 400px;margin-left: -200px;}
|
57 |
-
|
58 |
-
.um-admin-modal-close {
|
59 |
-
position: absolute;
|
60 |
-
color: #fff !important;
|
61 |
-
right: 16px;
|
62 |
-
top: 14px;
|
63 |
-
font-size: 22px;
|
64 |
-
text-decoration: none;
|
65 |
-
opacity: 0.4;
|
66 |
-
}
|
67 |
-
.um-admin-modal-close:hover{opacity:1}
|
68 |
-
|
69 |
-
.um-admin-modal-head {
|
70 |
-
padding: 4px 20px;
|
71 |
-
background: #3ba1da;
|
72 |
-
position: relative;
|
73 |
-
border-radius: 3px 3px 0 0;
|
74 |
-
}
|
75 |
-
|
76 |
-
.um-admin-modal-body {
|
77 |
-
padding: 10px 20px 10px 20px;
|
78 |
-
max-height: 500px;
|
79 |
-
overflow: auto;
|
80 |
-
}
|
81 |
-
|
82 |
-
.um-admin-modal-body.um-admin-metabox label {margin: 0!important}
|
83 |
-
|
84 |
-
.um-admin-modal.loading .um-admin-modal-body {
|
85 |
-
height: 200px;
|
86 |
-
background: url(../img/ajax-loader.gif) no-repeat center;
|
87 |
-
}
|
88 |
-
|
89 |
-
.um-admin-modal-foot {
|
90 |
-
padding: 20px 0 !important;
|
91 |
-
border-top: 1px solid #ddd;
|
92 |
-
text-align: center;
|
93 |
-
background: #eee;
|
94 |
-
border-radius: 0 0 3px 3px;
|
95 |
-
}
|
96 |
-
|
97 |
-
.um-admin-modal-foot a,
|
98 |
-
.um-admin-modal-foot input{
|
99 |
-
margin: 0 10px !important;
|
100 |
-
font-size: 14px !important;
|
101 |
-
}
|
102 |
-
|
103 |
-
.um-admin-modal h3 {
|
104 |
-
font-size: 14px;
|
105 |
-
line-height: 14px;
|
106 |
-
font-weight: normal;
|
107 |
-
color: #fff;
|
108 |
-
}
|
109 |
-
|
110 |
-
.um-admin-modal h4 {
|
111 |
-
margin: 0 0 10px 0 !important;
|
112 |
-
}
|
113 |
-
|
114 |
-
.um-admin-modal label,
|
115 |
-
.um-admin-modal p {
|
116 |
-
font-size: 13px;
|
117 |
-
color: #aaa;
|
118 |
-
}
|
119 |
-
|
120 |
-
.um-admin-infobox p,
|
121 |
-
.um-admin-infobox label {
|
122 |
-
color: #666;
|
123 |
-
}
|
124 |
-
|
125 |
-
.um-admin-infobox p {
|
126 |
-
border-top: 1px solid #e5e5e5;
|
127 |
-
padding-top: 15px;
|
128 |
-
}
|
129 |
-
|
130 |
-
.um-admin-infobox label {
|
131 |
-
font-weight: bold;
|
132 |
-
display: block;
|
133 |
-
color: #333;
|
134 |
-
cursor: default;
|
135 |
-
}
|
136 |
-
|
137 |
-
/*
|
138 |
-
- Conditional fields
|
139 |
-
*/
|
140 |
-
|
141 |
-
.um-admin-btn-toggle {
|
142 |
-
padding: 10px 0;
|
143 |
-
}
|
144 |
-
|
145 |
-
.um-admin-btn-toggle p {
|
146 |
-
margin: 0 5px 0 0 !important;
|
147 |
-
}
|
148 |
-
|
149 |
-
.um-admin-btn-toggle p.um-admin-reset-conditions {
|
150 |
-
margin: 0 0 5px 0 !important;
|
151 |
-
}
|
152 |
-
|
153 |
-
.um-admin-btn-toggle a {
|
154 |
-
text-decoration: none;
|
155 |
-
color: #999;
|
156 |
-
}
|
157 |
-
|
158 |
-
.um-admin-btn-toggle a.active, .um-admin-btn-toggle a.active:hover {
|
159 |
-
color: #3ba1da;
|
160 |
-
}
|
161 |
-
|
162 |
-
.um-admin-btn-toggle i {
|
163 |
-
margin: 0 5px 0 0 !important;
|
164 |
-
height: 100%;
|
165 |
-
color: #666;
|
166 |
-
position: relative;
|
167 |
-
top: 1px;
|
168 |
-
}
|
169 |
-
|
170 |
-
.um-admin-btn-content {
|
171 |
-
display: none;
|
172 |
-
padding: 10px 0 0 0;
|
173 |
-
}
|
174 |
-
|
175 |
-
.um-admin-btn-content p {
|
176 |
-
float: left;
|
177 |
-
margin-right: 10px !important;
|
178 |
-
padding: 0 !important;
|
179 |
-
}
|
180 |
-
|
181 |
-
.dynamic-mce-content {display: none}
|
182 |
-
|
183 |
-
/*
|
184 |
-
- Buttons and Links
|
185 |
-
*/
|
186 |
-
|
187 |
-
.um-admin-btns {
|
188 |
-
line-height: 1.5em;
|
189 |
-
margin: 0 0 5px 0;
|
190 |
-
}
|
191 |
-
|
192 |
-
.um-admin-btns a {
|
193 |
-
margin: 0 3px 8px 0!important;
|
194 |
-
font-size: 12px !important;
|
195 |
-
display: inline-block !important;
|
196 |
-
position: relative;
|
197 |
-
}
|
198 |
-
|
199 |
-
.um-admin-btns a.button.with-icon {
|
200 |
-
padding-right: 25px !important;
|
201 |
-
}
|
202 |
-
.um-admin-btns a span {
|
203 |
-
color: #aaa;
|
204 |
-
position: absolute !important;
|
205 |
-
width: 25px;
|
206 |
-
text-align: center;
|
207 |
-
right: 0;
|
208 |
-
top: 0;
|
209 |
-
font-size: 15px !important;
|
210 |
-
}
|
211 |
-
|
212 |
-
.um-admin-btns a span.remove:before{
|
213 |
-
font-family: "Ionicons" !important;
|
214 |
-
content: "\f128";
|
215 |
-
}
|
216 |
-
.um-admin-btns a span:hover{color: #cb3838}
|
217 |
-
|
218 |
-
/*
|
219 |
-
- WP Editor
|
220 |
-
*/
|
221 |
-
|
222 |
-
.um-admin-modal-body.um-admin-metabox .um-admin-editor-h {
|
223 |
-
margin-top: 12px;
|
224 |
-
}
|
225 |
-
|
226 |
-
.um-admin-modal-body.um-admin-metabox .um-admin-editor-h label,
|
227 |
-
.um-admin-modal-body.um-admin-metabox .wp-editor-wrap
|
228 |
-
{margin: 0 0 4px 0 !important}
|
229 |
-
|
230 |
-
.um-admin-modal-body.um-admin-metabox .wp-editor-wrap textarea {
|
231 |
-
border: 0 !important;
|
232 |
-
}
|
233 |
-
|
234 |
-
/*
|
235 |
-
- Boxes / Icons
|
236 |
-
*/
|
237 |
-
|
238 |
-
#UM_fonticons div.um-admin-metabox {
|
239 |
-
padding-bottom: 22px !important;
|
240 |
-
}
|
241 |
-
|
242 |
-
p._icon_search{
|
243 |
-
position: relative;
|
244 |
-
width: 85% !important;
|
245 |
-
margin: 0 auto !important;
|
246 |
-
padding: 12px 0 0 0 !important;
|
247 |
-
}
|
248 |
-
|
249 |
-
p._icon_search:before {
|
250 |
-
position: absolute;
|
251 |
-
right: 6px;
|
252 |
-
top: 12px;
|
253 |
-
font-size: 20px;
|
254 |
-
content: "\f4a4";
|
255 |
-
font-family: "Ionicons";
|
256 |
-
color: #999;
|
257 |
-
}
|
258 |
-
p._icon_search input[type=text]{padding-right: 40px!important}
|
259 |
-
|
260 |
-
.um-admin-icons {
|
261 |
-
padding: 0 0 15px 12px;
|
262 |
-
float: left;
|
263 |
-
}
|
264 |
-
|
265 |
-
.um-admin-icons span {
|
266 |
-
cursor: pointer;
|
267 |
-
float: left;
|
268 |
-
margin: 5px;
|
269 |
-
color: #777;
|
270 |
-
border: 4px solid #eee;
|
271 |
-
border-radius: 3px;
|
272 |
-
}
|
273 |
-
.um-admin-icons span:hover,
|
274 |
-
.um-admin-icons span.highlighted
|
275 |
-
{color: #3ba1da;border-color: #3ba1da}
|
276 |
-
|
277 |
-
.um-admin-icons i{vertical-align: middle !important;font-size: 24px;width: 24px;text-align: center;padding: 15px 20px;display: inline-block;}
|
278 |
-
|
279 |
-
span.um-admin-icon-value {
|
280 |
-
margin: 0 10px;
|
281 |
-
font-size: 13px;
|
282 |
-
}
|
283 |
-
span.um-admin-icon-value i {
|
284 |
-
font-size: 28px;
|
285 |
-
color: #3ba1da;
|
286 |
-
position: relative;
|
287 |
-
top: 5px;
|
288 |
-
}
|
289 |
-
|
290 |
-
span.um-admin-icon-clear{
|
291 |
-
display: none;
|
292 |
-
cursor: pointer;
|
293 |
-
position: relative;
|
294 |
-
color: #ccc;
|
295 |
-
}
|
296 |
-
span.um-admin-icon-clear.show {display: inline-block}
|
297 |
-
span.um-admin-icon-clear:hover {color: #777}
|
298 |
span.um-admin-icon-clear i {font-size: 20px;vertical-align: middle;}
|
1 |
+
/*
|
2 |
+
- Overlay
|
3 |
+
*/
|
4 |
+
|
5 |
+
.um-admin-overlay {
|
6 |
+
background: rgba(0,0,0, .7);
|
7 |
+
width: 100%;
|
8 |
+
height: 100%;
|
9 |
+
position: fixed;
|
10 |
+
top: 0;
|
11 |
+
left: 0;
|
12 |
+
z-index: 10000;
|
13 |
+
}
|
14 |
+
|
15 |
+
/*
|
16 |
+
- modal
|
17 |
+
*/
|
18 |
+
|
19 |
+
.um-admin-modal * {
|
20 |
+
-webkit-font-smoothing: antialiased !important;
|
21 |
+
-moz-osx-font-smoothing: grayscale;
|
22 |
+
}
|
23 |
+
|
24 |
+
.um-admin-modal input[type=submit].button-primary,
|
25 |
+
.um-admin-modal a.button-primary,
|
26 |
+
.um-admin-modal a.button {
|
27 |
+
padding: 0 12px !important;
|
28 |
+
vertical-align: middle !important;
|
29 |
+
}
|
30 |
+
|
31 |
+
.um-admin .um-admin-modal a.button i:before {
|
32 |
+
display: block;
|
33 |
+
top: 0px;
|
34 |
+
}
|
35 |
+
|
36 |
+
.um-admin-modal input[type=submit].button-primary {
|
37 |
+
line-height: 24px !important;
|
38 |
+
}
|
39 |
+
|
40 |
+
.um-admin-modal {
|
41 |
+
border-radius: 3px;
|
42 |
+
background: #fff;
|
43 |
+
position: fixed;
|
44 |
+
top: 50% !important;
|
45 |
+
left: 50% !important;
|
46 |
+
display: none;
|
47 |
+
z-index: 10001;
|
48 |
+
box-sizing: border-box;
|
49 |
+
|
50 |
+
width: 730px;
|
51 |
+
margin-left: -365px;
|
52 |
+
}
|
53 |
+
|
54 |
+
.um-admin-modal.normal {width: 730px;margin-left: -365px;}
|
55 |
+
.um-admin-modal.smaller {width: 500px;margin-left: -250px;}
|
56 |
+
.um-admin-modal.small {width: 400px;margin-left: -200px;}
|
57 |
+
|
58 |
+
.um-admin-modal-close {
|
59 |
+
position: absolute;
|
60 |
+
color: #fff !important;
|
61 |
+
right: 16px;
|
62 |
+
top: 14px;
|
63 |
+
font-size: 22px;
|
64 |
+
text-decoration: none;
|
65 |
+
opacity: 0.4;
|
66 |
+
}
|
67 |
+
.um-admin-modal-close:hover{opacity:1}
|
68 |
+
|
69 |
+
.um-admin-modal-head {
|
70 |
+
padding: 4px 20px;
|
71 |
+
background: #3ba1da;
|
72 |
+
position: relative;
|
73 |
+
border-radius: 3px 3px 0 0;
|
74 |
+
}
|
75 |
+
|
76 |
+
.um-admin-modal-body {
|
77 |
+
padding: 10px 20px 10px 20px;
|
78 |
+
max-height: 500px;
|
79 |
+
overflow: auto;
|
80 |
+
}
|
81 |
+
|
82 |
+
.um-admin-modal-body.um-admin-metabox label {margin: 0!important}
|
83 |
+
|
84 |
+
.um-admin-modal.loading .um-admin-modal-body {
|
85 |
+
height: 200px;
|
86 |
+
background: url(../img/ajax-loader.gif) no-repeat center;
|
87 |
+
}
|
88 |
+
|
89 |
+
.um-admin-modal-foot {
|
90 |
+
padding: 20px 0 !important;
|
91 |
+
border-top: 1px solid #ddd;
|
92 |
+
text-align: center;
|
93 |
+
background: #eee;
|
94 |
+
border-radius: 0 0 3px 3px;
|
95 |
+
}
|
96 |
+
|
97 |
+
.um-admin-modal-foot a,
|
98 |
+
.um-admin-modal-foot input{
|
99 |
+
margin: 0 10px !important;
|
100 |
+
font-size: 14px !important;
|
101 |
+
}
|
102 |
+
|
103 |
+
.um-admin-modal h3 {
|
104 |
+
font-size: 14px;
|
105 |
+
line-height: 14px;
|
106 |
+
font-weight: normal;
|
107 |
+
color: #fff;
|
108 |
+
}
|
109 |
+
|
110 |
+
.um-admin-modal h4 {
|
111 |
+
margin: 0 0 10px 0 !important;
|
112 |
+
}
|
113 |
+
|
114 |
+
.um-admin-modal label,
|
115 |
+
.um-admin-modal p {
|
116 |
+
font-size: 13px;
|
117 |
+
color: #aaa;
|
118 |
+
}
|
119 |
+
|
120 |
+
.um-admin-infobox p,
|
121 |
+
.um-admin-infobox label {
|
122 |
+
color: #666;
|
123 |
+
}
|
124 |
+
|
125 |
+
.um-admin-infobox p {
|
126 |
+
border-top: 1px solid #e5e5e5;
|
127 |
+
padding-top: 15px;
|
128 |
+
}
|
129 |
+
|
130 |
+
.um-admin-infobox label {
|
131 |
+
font-weight: bold;
|
132 |
+
display: block;
|
133 |
+
color: #333;
|
134 |
+
cursor: default;
|
135 |
+
}
|
136 |
+
|
137 |
+
/*
|
138 |
+
- Conditional fields
|
139 |
+
*/
|
140 |
+
|
141 |
+
.um-admin-btn-toggle {
|
142 |
+
padding: 10px 0;
|
143 |
+
}
|
144 |
+
|
145 |
+
.um-admin-btn-toggle p {
|
146 |
+
margin: 0 5px 0 0 !important;
|
147 |
+
}
|
148 |
+
|
149 |
+
.um-admin-btn-toggle p.um-admin-reset-conditions {
|
150 |
+
margin: 0 0 5px 0 !important;
|
151 |
+
}
|
152 |
+
|
153 |
+
.um-admin-btn-toggle a {
|
154 |
+
text-decoration: none;
|
155 |
+
color: #999;
|
156 |
+
}
|
157 |
+
|
158 |
+
.um-admin-btn-toggle a.active, .um-admin-btn-toggle a.active:hover {
|
159 |
+
color: #3ba1da;
|
160 |
+
}
|
161 |
+
|
162 |
+
.um-admin-btn-toggle i {
|
163 |
+
margin: 0 5px 0 0 !important;
|
164 |
+
height: 100%;
|
165 |
+
color: #666;
|
166 |
+
position: relative;
|
167 |
+
top: 1px;
|
168 |
+
}
|
169 |
+
|
170 |
+
.um-admin-btn-content {
|
171 |
+
display: none;
|
172 |
+
padding: 10px 0 0 0;
|
173 |
+
}
|
174 |
+
|
175 |
+
.um-admin-btn-content p {
|
176 |
+
float: left;
|
177 |
+
margin-right: 10px !important;
|
178 |
+
padding: 0 !important;
|
179 |
+
}
|
180 |
+
|
181 |
+
.dynamic-mce-content {display: none}
|
182 |
+
|
183 |
+
/*
|
184 |
+
- Buttons and Links
|
185 |
+
*/
|
186 |
+
|
187 |
+
.um-admin-btns {
|
188 |
+
line-height: 1.5em;
|
189 |
+
margin: 0 0 5px 0;
|
190 |
+
}
|
191 |
+
|
192 |
+
.um-admin-btns a {
|
193 |
+
margin: 0 3px 8px 0!important;
|
194 |
+
font-size: 12px !important;
|
195 |
+
display: inline-block !important;
|
196 |
+
position: relative;
|
197 |
+
}
|
198 |
+
|
199 |
+
.um-admin-btns a.button.with-icon {
|
200 |
+
padding-right: 25px !important;
|
201 |
+
}
|
202 |
+
.um-admin-btns a span {
|
203 |
+
color: #aaa;
|
204 |
+
position: absolute !important;
|
205 |
+
width: 25px;
|
206 |
+
text-align: center;
|
207 |
+
right: 0;
|
208 |
+
top: 0;
|
209 |
+
font-size: 15px !important;
|
210 |
+
}
|
211 |
+
|
212 |
+
.um-admin-btns a span.remove:before{
|
213 |
+
font-family: "Ionicons" !important;
|
214 |
+
content: "\f128";
|
215 |
+
}
|
216 |
+
.um-admin-btns a span:hover{color: #cb3838}
|
217 |
+
|
218 |
+
/*
|
219 |
+
- WP Editor
|
220 |
+
*/
|
221 |
+
|
222 |
+
.um-admin-modal-body.um-admin-metabox .um-admin-editor-h {
|
223 |
+
margin-top: 12px;
|
224 |
+
}
|
225 |
+
|
226 |
+
.um-admin-modal-body.um-admin-metabox .um-admin-editor-h label,
|
227 |
+
.um-admin-modal-body.um-admin-metabox .wp-editor-wrap
|
228 |
+
{margin: 0 0 4px 0 !important}
|
229 |
+
|
230 |
+
.um-admin-modal-body.um-admin-metabox .wp-editor-wrap textarea {
|
231 |
+
border: 0 !important;
|
232 |
+
}
|
233 |
+
|
234 |
+
/*
|
235 |
+
- Boxes / Icons
|
236 |
+
*/
|
237 |
+
|
238 |
+
#UM_fonticons div.um-admin-metabox {
|
239 |
+
padding-bottom: 22px !important;
|
240 |
+
}
|
241 |
+
|
242 |
+
p._icon_search{
|
243 |
+
position: relative;
|
244 |
+
width: 85% !important;
|
245 |
+
margin: 0 auto !important;
|
246 |
+
padding: 12px 0 0 0 !important;
|
247 |
+
}
|
248 |
+
|
249 |
+
p._icon_search:before {
|
250 |
+
position: absolute;
|
251 |
+
right: 6px;
|
252 |
+
top: 12px;
|
253 |
+
font-size: 20px;
|
254 |
+
content: "\f4a4";
|
255 |
+
font-family: "Ionicons";
|
256 |
+
color: #999;
|
257 |
+
}
|
258 |
+
p._icon_search input[type=text]{padding-right: 40px!important}
|
259 |
+
|
260 |
+
.um-admin-icons {
|
261 |
+
padding: 0 0 15px 12px;
|
262 |
+
float: left;
|
263 |
+
}
|
264 |
+
|
265 |
+
.um-admin-icons span {
|
266 |
+
cursor: pointer;
|
267 |
+
float: left;
|
268 |
+
margin: 5px;
|
269 |
+
color: #777;
|
270 |
+
border: 4px solid #eee;
|
271 |
+
border-radius: 3px;
|
272 |
+
}
|
273 |
+
.um-admin-icons span:hover,
|
274 |
+
.um-admin-icons span.highlighted
|
275 |
+
{color: #3ba1da;border-color: #3ba1da}
|
276 |
+
|
277 |
+
.um-admin-icons i{vertical-align: middle !important;font-size: 24px;width: 24px;text-align: center;padding: 15px 20px;display: inline-block;}
|
278 |
+
|
279 |
+
span.um-admin-icon-value {
|
280 |
+
margin: 0 10px;
|
281 |
+
font-size: 13px;
|
282 |
+
}
|
283 |
+
span.um-admin-icon-value i {
|
284 |
+
font-size: 28px;
|
285 |
+
color: #3ba1da;
|
286 |
+
position: relative;
|
287 |
+
top: 5px;
|
288 |
+
}
|
289 |
+
|
290 |
+
span.um-admin-icon-clear{
|
291 |
+
display: none;
|
292 |
+
cursor: pointer;
|
293 |
+
position: relative;
|
294 |
+
color: #ccc;
|
295 |
+
}
|
296 |
+
span.um-admin-icon-clear.show {display: inline-block}
|
297 |
+
span.um-admin-icon-clear:hover {color: #777}
|
298 |
span.um-admin-icon-clear i {font-size: 20px;vertical-align: middle;}
|
admin/assets/css/um-admin-redux.css
CHANGED
@@ -1,227 +1,227 @@
|
|
1 |
-
/*
|
2 |
-
- ReduxPanel
|
3 |
-
*/
|
4 |
-
|
5 |
-
.redux-container {
|
6 |
-
border-radius: 0 !important;
|
7 |
-
-webkit-font-smoothing: antialiased;
|
8 |
-
-moz-osx-font-smoothing: grayscale;
|
9 |
-
background: none !important;
|
10 |
-
box-shadow: none !important;
|
11 |
-
border: 0 !important;
|
12 |
-
}
|
13 |
-
|
14 |
-
.redux-container #import_export_default_section_group h4 {
|
15 |
-
margin: 0 0 12px 0 !important;
|
16 |
-
}
|
17 |
-
|
18 |
-
.redux-container #import_export_default_section_group .hr {
|
19 |
-
height: 4px !important;
|
20 |
-
}
|
21 |
-
|
22 |
-
.redux-sidebar .redux-group-menu li.active a, .redux-sidebar .redux-group-menu li.active a:hover, .redux-sidebar .redux-group-menu li.activeChild a, .redux-sidebar .redux-group-menu li.activeChild a:hover {
|
23 |
-
background: transparent;
|
24 |
-
}
|
25 |
-
|
26 |
-
.redux-container #info_bar {
|
27 |
-
display: none;
|
28 |
-
}
|
29 |
-
|
30 |
-
.redux-sidebar .redux-group-menu {
|
31 |
-
font-size: 14px;
|
32 |
-
}
|
33 |
-
|
34 |
-
.redux-sidebar .redux-group-menu li.active a, .admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild a {
|
35 |
-
color: #3ba1da !important;
|
36 |
-
background: #e5e5e5 !important;
|
37 |
-
}
|
38 |
-
|
39 |
-
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections a {
|
40 |
-
color: #fff !important;
|
41 |
-
}
|
42 |
-
|
43 |
-
.redux-container .redux_field_th {
|
44 |
-
font-size: 14px;
|
45 |
-
font-weight: 600;
|
46 |
-
color: #222;
|
47 |
-
}
|
48 |
-
|
49 |
-
.redux-main {
|
50 |
-
background: none !important;
|
51 |
-
box-shadow: none !important;
|
52 |
-
border-left: 0 !important;
|
53 |
-
padding: 0 25px;
|
54 |
-
}
|
55 |
-
|
56 |
-
.redux-container-sortable .checkbox-container input {
|
57 |
-
display: none;
|
58 |
-
}
|
59 |
-
|
60 |
-
#redux-header {
|
61 |
-
background: transparent !important;
|
62 |
-
border: none !important;
|
63 |
-
padding: 0 !important;
|
64 |
-
}
|
65 |
-
|
66 |
-
.redux-container #redux-header .display_header {
|
67 |
-
margin: 0 0 10px 0 !important;
|
68 |
-
}
|
69 |
-
|
70 |
-
#redux-header .display_header span {
|
71 |
-
font-size: 14px;
|
72 |
-
position: relative;
|
73 |
-
font-weight: 400;
|
74 |
-
background: #3ba1da;
|
75 |
-
color: #fff !important;
|
76 |
-
padding: 2px 4px !important;
|
77 |
-
border-radius: 3px;
|
78 |
-
position: relative;
|
79 |
-
top: -3px;
|
80 |
-
left: 0;
|
81 |
-
}
|
82 |
-
|
83 |
-
#redux-header h2 {
|
84 |
-
color: #222;
|
85 |
-
-webkit-font-smoothing: antialiased;
|
86 |
-
-moz-osx-font-smoothing: grayscale;
|
87 |
-
font-size: 23px;
|
88 |
-
font-weight: 400;
|
89 |
-
padding: 1px 15px 4px 0px;
|
90 |
-
line-height: 29px;
|
91 |
-
margin: 5px 0 0 0;
|
92 |
-
}
|
93 |
-
|
94 |
-
#redux-share {margin-top: 11px !important}
|
95 |
-
|
96 |
-
#redux-share a {
|
97 |
-
margin: 0 15px 0 0 !important;
|
98 |
-
text-decoration: none !important;
|
99 |
-
color: #777 !important;
|
100 |
-
font-size: 22px !important;
|
101 |
-
}
|
102 |
-
#redux-share a:hover {color: #3ba1da !important}
|
103 |
-
|
104 |
-
.redux-main .form-table tr {
|
105 |
-
border-bottom: 0;
|
106 |
-
}
|
107 |
-
|
108 |
-
.redux-main .redux-option-image {
|
109 |
-
max-width: 200px;
|
110 |
-
max-height: 200px;
|
111 |
-
}
|
112 |
-
|
113 |
-
.redux-container #redux-footer {
|
114 |
-
border-radius: 0;
|
115 |
-
background: none !important;
|
116 |
-
padding: 10px 0;
|
117 |
-
border-top: 1px solid #D8D8D8;
|
118 |
-
}
|
119 |
-
|
120 |
-
.redux-container #redux-footer .redux-action_bar {
|
121 |
-
padding-top: 9px !important;
|
122 |
-
}
|
123 |
-
|
124 |
-
.redux-container textarea, .redux-container input[type=text], .redux-container ul.data-full li {
|
125 |
-
font-family: Georgia, "Times New Roman", "Bitstream Charter", Times, serif;
|
126 |
-
font-size: 13px;
|
127 |
-
line-height: 19px;
|
128 |
-
color: #333;
|
129 |
-
}
|
130 |
-
|
131 |
-
.redux-sidebar .redux-group-tab-link-a i {
|
132 |
-
vertical-align: middle;
|
133 |
-
font-size: 1.2em;
|
134 |
-
position: absolute;
|
135 |
-
width: 20px;
|
136 |
-
text-align: center;
|
137 |
-
top: 6px;
|
138 |
-
color: #888;
|
139 |
-
}
|
140 |
-
|
141 |
-
@media screen and (max-width:1124px){
|
142 |
-
.redux-sidebar .redux-group-tab-link-a i {
|
143 |
-
position: relative;
|
144 |
-
top: auto;
|
145 |
-
}
|
146 |
-
.redux-sidebar .redux-group-menu li a {
|
147 |
-
text-align: center;
|
148 |
-
padding: 6px !important;
|
149 |
-
}
|
150 |
-
}
|
151 |
-
|
152 |
-
.redux-sidebar .redux-menu-warning i, .redux-sidebar .redux-menu-error i, .redux-sidebar .hasSubSections .extraIconSubsections i {
|
153 |
-
top: 11px;
|
154 |
-
}
|
155 |
-
|
156 |
-
.redux-container ul.data-full{padding:0!important;margin:0!important}
|
157 |
-
|
158 |
-
.redux-container .description {
|
159 |
-
color: #666 !important;
|
160 |
-
font-size: 14px !important;
|
161 |
-
font-style: italic !important;
|
162 |
-
margin-top: 10px !important;
|
163 |
-
}
|
164 |
-
|
165 |
-
.redux-container-switch {font-size: 13px}
|
166 |
-
|
167 |
-
.redux-sidebar .redux-group-menu li {
|
168 |
-
margin-top: 4px;
|
169 |
-
}
|
170 |
-
|
171 |
-
.redux-sidebar .redux-group-menu li a {
|
172 |
-
color: #555;
|
173 |
-
opacity: 1 !important;
|
174 |
-
padding: 6px 4px 6px 14px;
|
175 |
-
border-radius: 3px;
|
176 |
-
border: none;
|
177 |
-
transition: all .2s linear !important;
|
178 |
-
}
|
179 |
-
|
180 |
-
.redux-sidebar .redux-group-menu li a:hover {
|
181 |
-
background: #e5e5e5;
|
182 |
-
color: #333;
|
183 |
-
}
|
184 |
-
|
185 |
-
.redux-main #redux-sticky {
|
186 |
-
margin: 0;
|
187 |
-
min-height: auto;
|
188 |
-
}
|
189 |
-
|
190 |
-
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections a {
|
191 |
-
background: #3ba1da !important;
|
192 |
-
color: #fff;
|
193 |
-
}
|
194 |
-
|
195 |
-
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections a i {color: #fff !important}
|
196 |
-
|
197 |
-
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active {
|
198 |
-
border-right: 0;
|
199 |
-
}
|
200 |
-
|
201 |
-
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li {
|
202 |
-
border-right: 0;
|
203 |
-
margin-top: 4px;
|
204 |
-
padding-left: 12px;
|
205 |
-
}
|
206 |
-
|
207 |
-
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a {
|
208 |
-
background: transparent !important;
|
209 |
-
color: #555 !important;
|
210 |
-
border-bottom: 0;
|
211 |
-
padding: 6px 4px 6px 14px !important;
|
212 |
-
}
|
213 |
-
|
214 |
-
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a:hover {
|
215 |
-
background: #e5e5e5 !important;
|
216 |
-
color: #333 !important;
|
217 |
-
}
|
218 |
-
|
219 |
-
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a {
|
220 |
-
color: #3ba1da !important;
|
221 |
-
background: #e5e5e5 !important;
|
222 |
-
text-shadow: none !important;
|
223 |
-
}
|
224 |
-
|
225 |
-
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections .active a:after {
|
226 |
-
border: none !important;
|
227 |
}
|
1 |
+
/*
|
2 |
+
- ReduxPanel
|
3 |
+
*/
|
4 |
+
|
5 |
+
.redux-container {
|
6 |
+
border-radius: 0 !important;
|
7 |
+
-webkit-font-smoothing: antialiased;
|
8 |
+
-moz-osx-font-smoothing: grayscale;
|
9 |
+
background: none !important;
|
10 |
+
box-shadow: none !important;
|
11 |
+
border: 0 !important;
|
12 |
+
}
|
13 |
+
|
14 |
+
.redux-container #import_export_default_section_group h4 {
|
15 |
+
margin: 0 0 12px 0 !important;
|
16 |
+
}
|
17 |
+
|
18 |
+
.redux-container #import_export_default_section_group .hr {
|
19 |
+
height: 4px !important;
|
20 |
+
}
|
21 |
+
|
22 |
+
.redux-sidebar .redux-group-menu li.active a, .redux-sidebar .redux-group-menu li.active a:hover, .redux-sidebar .redux-group-menu li.activeChild a, .redux-sidebar .redux-group-menu li.activeChild a:hover {
|
23 |
+
background: transparent;
|
24 |
+
}
|
25 |
+
|
26 |
+
.redux-container #info_bar {
|
27 |
+
display: none;
|
28 |
+
}
|
29 |
+
|
30 |
+
.redux-sidebar .redux-group-menu {
|
31 |
+
font-size: 14px;
|
32 |
+
}
|
33 |
+
|
34 |
+
.redux-sidebar .redux-group-menu li.active a, .admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild a {
|
35 |
+
color: #3ba1da !important;
|
36 |
+
background: #e5e5e5 !important;
|
37 |
+
}
|
38 |
+
|
39 |
+
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections a {
|
40 |
+
color: #fff !important;
|
41 |
+
}
|
42 |
+
|
43 |
+
.redux-container .redux_field_th {
|
44 |
+
font-size: 14px;
|
45 |
+
font-weight: 600;
|
46 |
+
color: #222;
|
47 |
+
}
|
48 |
+
|
49 |
+
.redux-main {
|
50 |
+
background: none !important;
|
51 |
+
box-shadow: none !important;
|
52 |
+
border-left: 0 !important;
|
53 |
+
padding: 0 25px;
|
54 |
+
}
|
55 |
+
|
56 |
+
.redux-container-sortable .checkbox-container input {
|
57 |
+
display: none;
|
58 |
+
}
|
59 |
+
|
60 |
+
#redux-header {
|
61 |
+
background: transparent !important;
|
62 |
+
border: none !important;
|
63 |
+
padding: 0 !important;
|
64 |
+
}
|
65 |
+
|
66 |
+
.redux-container #redux-header .display_header {
|
67 |
+
margin: 0 0 10px 0 !important;
|
68 |
+
}
|
69 |
+
|
70 |
+
#redux-header .display_header span {
|
71 |
+
font-size: 14px;
|
72 |
+
position: relative;
|
73 |
+
font-weight: 400;
|
74 |
+
background: #3ba1da;
|
75 |
+
color: #fff !important;
|
76 |
+
padding: 2px 4px !important;
|
77 |
+
border-radius: 3px;
|
78 |
+
position: relative;
|
79 |
+
top: -3px;
|
80 |
+
left: 0;
|
81 |
+
}
|
82 |
+
|
83 |
+
#redux-header h2 {
|
84 |
+
color: #222;
|
85 |
+
-webkit-font-smoothing: antialiased;
|
86 |
+
-moz-osx-font-smoothing: grayscale;
|
87 |
+
font-size: 23px;
|
88 |
+
font-weight: 400;
|
89 |
+
padding: 1px 15px 4px 0px;
|
90 |
+
line-height: 29px;
|
91 |
+
margin: 5px 0 0 0;
|
92 |
+
}
|
93 |
+
|
94 |
+
#redux-share {margin-top: 11px !important}
|
95 |
+
|
96 |
+
#redux-share a {
|
97 |
+
margin: 0 15px 0 0 !important;
|
98 |
+
text-decoration: none !important;
|
99 |
+
color: #777 !important;
|
100 |
+
font-size: 22px !important;
|
101 |
+
}
|
102 |
+
#redux-share a:hover {color: #3ba1da !important}
|
103 |
+
|
104 |
+
.redux-main .form-table tr {
|
105 |
+
border-bottom: 0;
|
106 |
+
}
|
107 |
+
|
108 |
+
.redux-main .redux-option-image {
|
109 |
+
max-width: 200px;
|
110 |
+
max-height: 200px;
|
111 |
+
}
|
112 |
+
|
113 |
+
.redux-container #redux-footer {
|
114 |
+
border-radius: 0;
|
115 |
+
background: none !important;
|
116 |
+
padding: 10px 0;
|
117 |
+
border-top: 1px solid #D8D8D8;
|
118 |
+
}
|
119 |
+
|
120 |
+
.redux-container #redux-footer .redux-action_bar {
|
121 |
+
padding-top: 9px !important;
|
122 |
+
}
|
123 |
+
|
124 |
+
.redux-container textarea, .redux-container input[type=text], .redux-container ul.data-full li {
|
125 |
+
font-family: Georgia, "Times New Roman", "Bitstream Charter", Times, serif;
|
126 |
+
font-size: 13px;
|
127 |
+
line-height: 19px;
|
128 |
+
color: #333;
|
129 |
+
}
|
130 |
+
|
131 |
+
.redux-sidebar .redux-group-tab-link-a i {
|
132 |
+
vertical-align: middle;
|
133 |
+
font-size: 1.2em;
|
134 |
+
position: absolute;
|
135 |
+
width: 20px;
|
136 |
+
text-align: center;
|
137 |
+
top: 6px;
|
138 |
+
color: #888;
|
139 |
+
}
|
140 |
+
|
141 |
+
@media screen and (max-width:1124px){
|
142 |
+
.redux-sidebar .redux-group-tab-link-a i {
|
143 |
+
position: relative;
|
144 |
+
top: auto;
|
145 |
+
}
|
146 |
+
.redux-sidebar .redux-group-menu li a {
|
147 |
+
text-align: center;
|
148 |
+
padding: 6px !important;
|
149 |
+
}
|
150 |
+
}
|
151 |
+
|
152 |
+
.redux-sidebar .redux-menu-warning i, .redux-sidebar .redux-menu-error i, .redux-sidebar .hasSubSections .extraIconSubsections i {
|
153 |
+
top: 11px;
|
154 |
+
}
|
155 |
+
|
156 |
+
.redux-container ul.data-full{padding:0!important;margin:0!important}
|
157 |
+
|
158 |
+
.redux-container .description {
|
159 |
+
color: #666 !important;
|
160 |
+
font-size: 14px !important;
|
161 |
+
font-style: italic !important;
|
162 |
+
margin-top: 10px !important;
|
163 |
+
}
|
164 |
+
|
165 |
+
.redux-container-switch {font-size: 13px}
|
166 |
+
|
167 |
+
.redux-sidebar .redux-group-menu li {
|
168 |
+
margin-top: 4px;
|
169 |
+
}
|
170 |
+
|
171 |
+
.redux-sidebar .redux-group-menu li a {
|
172 |
+
color: #555;
|
173 |
+
opacity: 1 !important;
|
174 |
+
padding: 6px 4px 6px 14px;
|
175 |
+
border-radius: 3px;
|
176 |
+
border: none;
|
177 |
+
transition: all .2s linear !important;
|
178 |
+
}
|
179 |
+
|
180 |
+
.redux-sidebar .redux-group-menu li a:hover {
|
181 |
+
background: #e5e5e5;
|
182 |
+
color: #333;
|
183 |
+
}
|
184 |
+
|
185 |
+
.redux-main #redux-sticky {
|
186 |
+
margin: 0;
|
187 |
+
min-height: auto;
|
188 |
+
}
|
189 |
+
|
190 |
+
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections a {
|
191 |
+
background: #3ba1da !important;
|
192 |
+
color: #fff;
|
193 |
+
}
|
194 |
+
|
195 |
+
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections a i {color: #fff !important}
|
196 |
+
|
197 |
+
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active {
|
198 |
+
border-right: 0;
|
199 |
+
}
|
200 |
+
|
201 |
+
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li {
|
202 |
+
border-right: 0;
|
203 |
+
margin-top: 4px;
|
204 |
+
padding-left: 12px;
|
205 |
+
}
|
206 |
+
|
207 |
+
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a {
|
208 |
+
background: transparent !important;
|
209 |
+
color: #555 !important;
|
210 |
+
border-bottom: 0;
|
211 |
+
padding: 6px 4px 6px 14px !important;
|
212 |
+
}
|
213 |
+
|
214 |
+
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a:hover {
|
215 |
+
background: #e5e5e5 !important;
|
216 |
+
color: #333 !important;
|
217 |
+
}
|
218 |
+
|
219 |
+
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a {
|
220 |
+
color: #3ba1da !important;
|
221 |
+
background: #e5e5e5 !important;
|
222 |
+
text-shadow: none !important;
|
223 |
+
}
|
224 |
+
|
225 |
+
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections .active a:after {
|
226 |
+
border: none !important;
|
227 |
}
|
admin/assets/css/um-admin-rtl.css
CHANGED
@@ -1,74 +1,74 @@
|
|
1 |
-
.um-admin-yesno span.yes, .um-admin-yesno span.no {
|
2 |
-
padding: 0 10px 0 0;
|
3 |
-
}
|
4 |
-
|
5 |
-
.um-admin-drag-ctrls-demo.um-admin-drag-ctrls {
|
6 |
-
left: 12px;
|
7 |
-
right: auto;
|
8 |
-
}
|
9 |
-
|
10 |
-
.um-admin-drag-row-icons {
|
11 |
-
left: 0;
|
12 |
-
right: auto;
|
13 |
-
}
|
14 |
-
|
15 |
-
.um-admin-drag-ctrls.columns {
|
16 |
-
right: 0 !important;
|
17 |
-
left: auto;
|
18 |
-
}
|
19 |
-
|
20 |
-
.um-admin-drag-ctrls.columns a {
|
21 |
-
float: right;
|
22 |
-
}
|
23 |
-
|
24 |
-
.um-admin-drag-rowsub-icons {
|
25 |
-
right: auto;
|
26 |
-
left: 0;
|
27 |
-
}
|
28 |
-
|
29 |
-
.um-admin-drag-row-icons a {
|
30 |
-
float: right;
|
31 |
-
}
|
32 |
-
|
33 |
-
.um-admin-drag-fld-icons a {
|
34 |
-
float: right;
|
35 |
-
}
|
36 |
-
|
37 |
-
.um-admin-drag-fld-icons {
|
38 |
-
float: left;
|
39 |
-
}
|
40 |
-
|
41 |
-
.um-admin-drag-fld-title, .um-admin-drag-fld-type {
|
42 |
-
float: right;
|
43 |
-
margin: 0 20px 0 0;
|
44 |
-
}
|
45 |
-
|
46 |
-
.redux-main {
|
47 |
-
margin-left: 0!important;
|
48 |
-
margin-right: 201px !important;
|
49 |
-
}
|
50 |
-
|
51 |
-
#redux-header h2 {
|
52 |
-
padding: 2px 0 4px 15px;
|
53 |
-
}
|
54 |
-
|
55 |
-
.redux-container #redux-header .display_header {float: right}
|
56 |
-
|
57 |
-
.admin-color-fresh .redux-sidebar .redux-group-menu li.hasSubSections a .extraIconSubsections {float: left}
|
58 |
-
|
59 |
-
.select2-container .select2-choice > .select2-chosen {
|
60 |
-
text-align: right !important;
|
61 |
-
}
|
62 |
-
|
63 |
-
.select2-container .select2-choice .select2-arrow {
|
64 |
-
border: none !important;
|
65 |
-
right: auto !important;
|
66 |
-
left: 0 !important;
|
67 |
-
}
|
68 |
-
|
69 |
-
.select2-container .select2-choice > .select2-chosen {
|
70 |
-
margin-right: 10px !important;
|
71 |
-
margin-left: 26px !important;
|
72 |
-
}
|
73 |
-
|
74 |
.redux-container-switch .switch-options {float: right;margin-right:0!important}
|
1 |
+
.um-admin-yesno span.yes, .um-admin-yesno span.no {
|
2 |
+
padding: 0 10px 0 0;
|
3 |
+
}
|
4 |
+
|
5 |
+
.um-admin-drag-ctrls-demo.um-admin-drag-ctrls {
|
6 |
+
left: 12px;
|
7 |
+
right: auto;
|
8 |
+
}
|
9 |
+
|
10 |
+
.um-admin-drag-row-icons {
|
11 |
+
left: 0;
|
12 |
+
right: auto;
|
13 |
+
}
|
14 |
+
|
15 |
+
.um-admin-drag-ctrls.columns {
|
16 |
+
right: 0 !important;
|
17 |
+
left: auto;
|
18 |
+
}
|
19 |
+
|
20 |
+
.um-admin-drag-ctrls.columns a {
|
21 |
+
float: right;
|
22 |
+
}
|
23 |
+
|
24 |
+
.um-admin-drag-rowsub-icons {
|
25 |
+
right: auto;
|
26 |
+
left: 0;
|
27 |
+
}
|
28 |
+
|
29 |
+
.um-admin-drag-row-icons a {
|
30 |
+
float: right;
|
31 |
+
}
|
32 |
+
|
33 |
+
.um-admin-drag-fld-icons a {
|
34 |
+
float: right;
|
35 |
+
}
|
36 |
+
|
37 |
+
.um-admin-drag-fld-icons {
|
38 |
+
float: left;
|
39 |
+
}
|
40 |
+
|
41 |
+
.um-admin-drag-fld-title, .um-admin-drag-fld-type {
|
42 |
+
float: right;
|
43 |
+
margin: 0 20px 0 0;
|
44 |
+
}
|
45 |
+
|
46 |
+
.redux-main {
|
47 |
+
margin-left: 0!important;
|
48 |
+
margin-right: 201px !important;
|
49 |
+
}
|
50 |
+
|
51 |
+
#redux-header h2 {
|
52 |
+
padding: 2px 0 4px 15px;
|
53 |
+
}
|
54 |
+
|
55 |
+
.redux-container #redux-header .display_header {float: right}
|
56 |
+
|
57 |
+
.admin-color-fresh .redux-sidebar .redux-group-menu li.hasSubSections a .extraIconSubsections {float: left}
|
58 |
+
|
59 |
+
.select2-container .select2-choice > .select2-chosen {
|
60 |
+
text-align: right !important;
|
61 |
+
}
|
62 |
+
|
63 |
+
.select2-container .select2-choice .select2-arrow {
|
64 |
+
border: none !important;
|
65 |
+
right: auto !important;
|
66 |
+
left: 0 !important;
|
67 |
+
}
|
68 |
+
|
69 |
+
.select2-container .select2-choice > .select2-chosen {
|
70 |
+
margin-right: 10px !important;
|
71 |
+
margin-left: 26px !important;
|
72 |
+
}
|
73 |
+
|
74 |
.redux-container-switch .switch-options {float: right;margin-right:0!important}
|
admin/assets/css/um-admin-select2.css
CHANGED
@@ -1,193 +1,193 @@
|
|
1 |
-
/*body.um-admin .select2-container {margin-right: 2px!important;}
|
2 |
-
|
3 |
-
body.um-admin .select2-drop,
|
4 |
-
body.um-admin .select2-drop.select2-drop-above,
|
5 |
-
body.um-admin .select2-drop-active,
|
6 |
-
body.um-admin .select2-container-multi .select2-choices
|
7 |
-
{border: 1px solid #ddd !important}
|
8 |
-
|
9 |
-
body.um-admin .select2-container .select2-choice
|
10 |
-
{
|
11 |
-
height: 27px !important;
|
12 |
-
line-height: 27px !important;
|
13 |
-
border: 1px solid #ddd !important;
|
14 |
-
color: #888 !important;
|
15 |
-
}
|
16 |
-
|
17 |
-
body.um-admin .select2-container .select2-choice > .select2-chosen {
|
18 |
-
font-size: 13px !important;
|
19 |
-
}
|
20 |
-
|
21 |
-
body.um-admin .select2-container .select2-choice {
|
22 |
-
font-size: 13px !important;
|
23 |
-
}
|
24 |
-
|
25 |
-
body.um-admin .select2-container .select2-choice .select2-arrow:before {
|
26 |
-
font-size: 23px !important;
|
27 |
-
line-height: 27px;
|
28 |
-
}
|
29 |
-
|
30 |
-
body.um-admin .select2-search-choice-close:before {
|
31 |
-
font-size: 20px !important;
|
32 |
-
color: #aaa;
|
33 |
-
line-height: 27px;
|
34 |
-
}
|
35 |
-
|
36 |
-
body.um-admin .select2-container-multi .select2-search-choice-close:before {
|
37 |
-
font-size: 15px !important;
|
38 |
-
}
|
39 |
-
|
40 |
-
body.um-admin .select2-search input[type=text] {
|
41 |
-
font-size: 13px !important;
|
42 |
-
}
|
43 |
-
|
44 |
-
body.um-admin .select2-results li {
|
45 |
-
font-size: 13px !important;
|
46 |
-
}
|
47 |
-
|
48 |
-
body.um-admin .select2-results .select2-no-results,
|
49 |
-
body.um-admin .select2-results .select2-searching,
|
50 |
-
body.um-admin .select2-results .select2-selection-limit {
|
51 |
-
font-size: 13px !important;
|
52 |
-
}
|
53 |
-
|
54 |
-
body.um-admin .select2-container-multi .select2-choices .select2-search-choice {
|
55 |
-
line-height: 13px !important;
|
56 |
-
font-size: 13px !important;
|
57 |
-
}
|
58 |
-
|
59 |
-
body.um-admin .select2-drop-mask {
|
60 |
-
z-index: 10020 !important;
|
61 |
-
}
|
62 |
-
|
63 |
-
body.um-admin .select2-drop {
|
64 |
-
z-index: 999999 !important;
|
65 |
-
}
|
66 |
-
|
67 |
-
body.um-admin .select2-search {
|
68 |
-
z-index: 10040 !important;
|
69 |
-
}*/
|
70 |
-
|
71 |
-
/* Select2 4.0*/
|
72 |
-
body.um-admin .select2.select2-container .select2-selection{
|
73 |
-
display: block !important;
|
74 |
-
height: 28px !important;
|
75 |
-
padding: 0 0 0 12px !important;
|
76 |
-
overflow: hidden !important;
|
77 |
-
position: relative !important;
|
78 |
-
white-space: nowrap !important;
|
79 |
-
line-height: 25px !important;
|
80 |
-
color: #666 !important;
|
81 |
-
font-size: 13px !important;
|
82 |
-
text-align: left !important;
|
83 |
-
text-decoration: none !important;
|
84 |
-
-moz-border-radius: 2px !important;
|
85 |
-
-webkit-border-radius: 2px !important;
|
86 |
-
border-radius: 2px !important;
|
87 |
-
background-clip: padding-box !important;
|
88 |
-
-webkit-touch-callout: none;
|
89 |
-
-webkit-user-select: none;
|
90 |
-
-moz-user-select: none;
|
91 |
-
-ms-user-select: none;
|
92 |
-
user-select: none;
|
93 |
-
background: none !important;
|
94 |
-
background-color: #fff !important;
|
95 |
-
border: 2px solid #ddd !important;
|
96 |
-
}
|
97 |
-
body.um-admin .select2.select2-container .select2-selection .select2-selection__arrow b[role=presentation]{
|
98 |
-
display:none;
|
99 |
-
}
|
100 |
-
body.um-admin .select2.select2-container .select2-selection .select2-selection__arrow:before{
|
101 |
-
content: "\f3d0" !important;
|
102 |
-
font-size: 27px !important;
|
103 |
-
font-family: "Ionicons" !important;
|
104 |
-
width: 100% !important;
|
105 |
-
display: block;
|
106 |
-
height: 100%;
|
107 |
-
line-height: 28px;
|
108 |
-
color: #aaaaaa;
|
109 |
-
}
|
110 |
-
body.um-admin .select2.select2-container .select2-selection .select2-selection__arrow {
|
111 |
-
display: inline-block !important;
|
112 |
-
width: 34px !important;
|
113 |
-
height: 100% !important;
|
114 |
-
position: absolute !important;
|
115 |
-
right: 0 !important;
|
116 |
-
top: 0 !important;
|
117 |
-
-moz-border-radius: 0 2px 2px 0 !important;
|
118 |
-
-webkit-border-radius: 0 2px 2px 0 !important;
|
119 |
-
border-radius: 0 2px 2px 0 !important;
|
120 |
-
background-clip: padding-box !important;
|
121 |
-
text-align: center !important;
|
122 |
-
background: transparent !important;
|
123 |
-
border-left: 0 !important;
|
124 |
-
}
|
125 |
-
body.um-admin .select2-container.select2-container--open .select2-dropdown{
|
126 |
-
border: 2px solid #ddd !important;
|
127 |
-
}
|
128 |
-
body.um-admin .select2-results li{
|
129 |
-
list-style: none;
|
130 |
-
display: list-item;
|
131 |
-
background-image: none;
|
132 |
-
font-size: 13px;
|
133 |
-
margin: 5px !important;
|
134 |
-
padding: 3px 0 !important;
|
135 |
-
color: #666 !important;
|
136 |
-
}
|
137 |
-
body.um-admin .select2-results li {
|
138 |
-
padding: 3px 7px 4px !important;
|
139 |
-
cursor: pointer;
|
140 |
-
min-height: 1em !important;
|
141 |
-
}
|
142 |
-
|
143 |
-
body.um-admin .select2-container--default .select2-selection--single .select2-selection__rendered {
|
144 |
-
line-height: 25px;
|
145 |
-
}
|
146 |
-
body.um-admin .select2-results li.select2-results__option.select2-results__option--highlighted{
|
147 |
-
background: none !important;
|
148 |
-
background: #f4f4f4 !important;
|
149 |
-
color: #666 !important;
|
150 |
-
}
|
151 |
-
body.um-admin .select2-container--default .select2-results__option[aria-selected=true] {
|
152 |
-
background: transparent !important;
|
153 |
-
}
|
154 |
-
body.um-admin .select2-selection__clear {
|
155 |
-
right: 10px;
|
156 |
-
font-size: 25px;
|
157 |
-
color: #aaaaaa !important;
|
158 |
-
font-weight: 300 !important;
|
159 |
-
}
|
160 |
-
|
161 |
-
body.um-admin .select2-container--default .select2-selection--multiple .select2-selection__rendered {
|
162 |
-
box-sizing: border-box;
|
163 |
-
list-style: none;
|
164 |
-
margin: 0;
|
165 |
-
padding: 0px;
|
166 |
-
width: 100%;
|
167 |
-
line-height: 20px;
|
168 |
-
font-size: 13px;
|
169 |
-
}
|
170 |
-
|
171 |
-
body.um-admin .select2.select2-container .select2-selection.select2-selection--multiple {
|
172 |
-
height: auto !important;
|
173 |
-
}
|
174 |
-
|
175 |
-
body.um-admin .select2-container--default .select2-selection--multiple .select2-selection__clear {
|
176 |
-
cursor: pointer;
|
177 |
-
float: right;
|
178 |
-
margin-top: 0px;
|
179 |
-
margin-right: 5px;
|
180 |
-
font-size: 25px;
|
181 |
-
}
|
182 |
-
|
183 |
-
body.um-admin .select2-container--default .select2-results__option[aria-selected=true] {
|
184 |
-
background-color: #ddd !important;
|
185 |
-
}
|
186 |
-
|
187 |
-
body.um-admin .select2-container .select2-search--inline {
|
188 |
-
line-height: 37px !important;
|
189 |
-
}
|
190 |
-
|
191 |
-
body.um-admin .select2-drop-active {
|
192 |
-
z-index: 99999 !important;
|
193 |
}
|
1 |
+
/*body.um-admin .select2-container {margin-right: 2px!important;}
|
2 |
+
|
3 |
+
body.um-admin .select2-drop,
|
4 |
+
body.um-admin .select2-drop.select2-drop-above,
|
5 |
+
body.um-admin .select2-drop-active,
|
6 |
+
body.um-admin .select2-container-multi .select2-choices
|
7 |
+
{border: 1px solid #ddd !important}
|
8 |
+
|
9 |
+
body.um-admin .select2-container .select2-choice
|
10 |
+
{
|
11 |
+
height: 27px !important;
|
12 |
+
line-height: 27px !important;
|
13 |
+
border: 1px solid #ddd !important;
|
14 |
+
color: #888 !important;
|
15 |
+
}
|
16 |
+
|
17 |
+
body.um-admin .select2-container .select2-choice > .select2-chosen {
|
18 |
+
font-size: 13px !important;
|
19 |
+
}
|
20 |
+
|
21 |
+
body.um-admin .select2-container .select2-choice {
|
22 |
+
font-size: 13px !important;
|
23 |
+
}
|
24 |
+
|
25 |
+
body.um-admin .select2-container .select2-choice .select2-arrow:before {
|
26 |
+
font-size: 23px !important;
|
27 |
+
line-height: 27px;
|
28 |
+
}
|
29 |
+
|
30 |
+
body.um-admin .select2-search-choice-close:before {
|
31 |
+
font-size: 20px !important;
|
32 |
+
color: #aaa;
|
33 |
+
line-height: 27px;
|
34 |
+
}
|
35 |
+
|
36 |
+
body.um-admin .select2-container-multi .select2-search-choice-close:before {
|
37 |
+
font-size: 15px !important;
|
38 |
+
}
|
39 |
+
|
40 |
+
body.um-admin .select2-search input[type=text] {
|
41 |
+
font-size: 13px !important;
|
42 |
+
}
|
43 |
+
|
44 |
+
body.um-admin .select2-results li {
|
45 |
+
font-size: 13px !important;
|
46 |
+
}
|
47 |
+
|
48 |
+
body.um-admin .select2-results .select2-no-results,
|
49 |
+
body.um-admin .select2-results .select2-searching,
|
50 |
+
body.um-admin .select2-results .select2-selection-limit {
|
51 |
+
font-size: 13px !important;
|
52 |
+
}
|
53 |
+
|
54 |
+
body.um-admin .select2-container-multi .select2-choices .select2-search-choice {
|
55 |
+
line-height: 13px !important;
|
56 |
+
font-size: 13px !important;
|
57 |
+
}
|
58 |
+
|
59 |
+
body.um-admin .select2-drop-mask {
|
60 |
+
z-index: 10020 !important;
|
61 |
+
}
|
62 |
+
|
63 |
+
body.um-admin .select2-drop {
|
64 |
+
z-index: 999999 !important;
|
65 |
+
}
|
66 |
+
|
67 |
+
body.um-admin .select2-search {
|
68 |
+
z-index: 10040 !important;
|
69 |
+
}*/
|
70 |
+
|
71 |
+
/* Select2 4.0*/
|
72 |
+
body.um-admin .select2.select2-container .select2-selection{
|
73 |
+
display: block !important;
|
74 |
+
height: 28px !important;
|
75 |
+
padding: 0 0 0 12px !important;
|
76 |
+
overflow: hidden !important;
|
77 |
+
position: relative !important;
|
78 |
+
white-space: nowrap !important;
|
79 |
+
line-height: 25px !important;
|
80 |
+
color: #666 !important;
|
81 |
+
font-size: 13px !important;
|
82 |
+
text-align: left !important;
|
83 |
+
text-decoration: none !important;
|
84 |
+
-moz-border-radius: 2px !important;
|
85 |
+
-webkit-border-radius: 2px !important;
|
86 |
+
border-radius: 2px !important;
|
87 |
+
background-clip: padding-box !important;
|
88 |
+
-webkit-touch-callout: none;
|
89 |
+
-webkit-user-select: none;
|
90 |
+
-moz-user-select: none;
|
91 |
+
-ms-user-select: none;
|
92 |
+
user-select: none;
|
93 |
+
background: none !important;
|
94 |
+
background-color: #fff !important;
|
95 |
+
border: 2px solid #ddd !important;
|
96 |
+
}
|
97 |
+
body.um-admin .select2.select2-container .select2-selection .select2-selection__arrow b[role=presentation]{
|
98 |
+
display:none;
|
99 |
+
}
|
100 |
+
body.um-admin .select2.select2-container .select2-selection .select2-selection__arrow:before{
|
101 |
+
content: "\f3d0" !important;
|
102 |
+
font-size: 27px !important;
|
103 |
+
font-family: "Ionicons" !important;
|
104 |
+
width: 100% !important;
|
105 |
+
display: block;
|
106 |
+
height: 100%;
|
107 |
+
line-height: 28px;
|
108 |
+
color: #aaaaaa;
|
109 |
+
}
|
110 |
+
body.um-admin .select2.select2-container .select2-selection .select2-selection__arrow {
|
111 |
+
display: inline-block !important;
|
112 |
+
width: 34px !important;
|
113 |
+
height: 100% !important;
|
114 |
+
position: absolute !important;
|
115 |
+
right: 0 !important;
|
116 |
+
top: 0 !important;
|
117 |
+
-moz-border-radius: 0 2px 2px 0 !important;
|
118 |
+
-webkit-border-radius: 0 2px 2px 0 !important;
|
119 |
+
border-radius: 0 2px 2px 0 !important;
|
120 |
+
background-clip: padding-box !important;
|
121 |
+
text-align: center !important;
|
122 |
+
background: transparent !important;
|
123 |
+
border-left: 0 !important;
|
124 |
+
}
|
125 |
+
body.um-admin .select2-container.select2-container--open .select2-dropdown{
|
126 |
+
border: 2px solid #ddd !important;
|
127 |
+
}
|
128 |
+
body.um-admin .select2-results li{
|
129 |
+
list-style: none;
|
130 |
+
display: list-item;
|
131 |
+
background-image: none;
|
132 |
+
font-size: 13px;
|
133 |
+
margin: 5px !important;
|
134 |
+
padding: 3px 0 !important;
|
135 |
+
color: #666 !important;
|
136 |
+
}
|
137 |
+
body.um-admin .select2-results li {
|
138 |
+
padding: 3px 7px 4px !important;
|
139 |
+
cursor: pointer;
|
140 |
+
min-height: 1em !important;
|
141 |
+
}
|
142 |
+
|
143 |
+
body.um-admin .select2-container--default .select2-selection--single .select2-selection__rendered {
|
144 |
+
line-height: 25px;
|
145 |
+
}
|
146 |
+
body.um-admin .select2-results li.select2-results__option.select2-results__option--highlighted{
|
147 |
+
background: none !important;
|
148 |
+
background: #f4f4f4 !important;
|
149 |
+
color: #666 !important;
|
150 |
+
}
|
151 |
+
body.um-admin .select2-container--default .select2-results__option[aria-selected=true] {
|
152 |
+
background: transparent !important;
|
153 |
+
}
|
154 |
+
body.um-admin .select2-selection__clear {
|
155 |
+
right: 10px;
|
156 |
+
font-size: 25px;
|
157 |
+
color: #aaaaaa !important;
|
158 |
+
font-weight: 300 !important;
|
159 |
+
}
|
160 |
+
|
161 |
+
body.um-admin .select2-container--default .select2-selection--multiple .select2-selection__rendered {
|
162 |
+
box-sizing: border-box;
|
163 |
+
list-style: none;
|
164 |
+
margin: 0;
|
165 |
+
padding: 0px;
|
166 |
+
width: 100%;
|
167 |
+
line-height: 20px;
|
168 |
+
font-size: 13px;
|
169 |
+
}
|
170 |
+
|
171 |
+
body.um-admin .select2.select2-container .select2-selection.select2-selection--multiple {
|
172 |
+
height: auto !important;
|
173 |
+
}
|
174 |
+
|
175 |
+
body.um-admin .select2-container--default .select2-selection--multiple .select2-selection__clear {
|
176 |
+
cursor: pointer;
|
177 |
+
float: right;
|
178 |
+
margin-top: 0px;
|
179 |
+
margin-right: 5px;
|
180 |
+
font-size: 25px;
|
181 |
+
}
|
182 |
+
|
183 |
+
body.um-admin .select2-container--default .select2-results__option[aria-selected=true] {
|
184 |
+
background-color: #ddd !important;
|
185 |
+
}
|
186 |
+
|
187 |
+
body.um-admin .select2-container .select2-search--inline {
|
188 |
+
line-height: 37px !important;
|
189 |
+
}
|
190 |
+
|
191 |
+
body.um-admin .select2-drop-active {
|
192 |
+
z-index: 99999 !important;
|
193 |
}
|
admin/assets/js/um-admin-ajax.js
CHANGED
@@ -1,53 +1,53 @@
|
|
1 |
-
jQuery(document).ready(function() {
|
2 |
-
|
3 |
-
jQuery(document).ajaxStart(function(){
|
4 |
-
jQuery('.tipsy').hide();
|
5 |
-
});
|
6 |
-
|
7 |
-
jQuery(document).on('click', 'a[data-silent_action^="um_"]',function(){
|
8 |
-
|
9 |
-
in_row = '';
|
10 |
-
in_sub_row = '';
|
11 |
-
in_column = '';
|
12 |
-
in_group = '';
|
13 |
-
|
14 |
-
if ( jQuery('.um-col-demon-settings').data('in_column') ) {
|
15 |
-
in_row = jQuery('.um-col-demon-settings').data('in_row');
|
16 |
-
in_sub_row = jQuery('.um-col-demon-settings').data('in_sub_row');
|
17 |
-
in_column = jQuery('.um-col-demon-settings').data('in_column');
|
18 |
-
in_group = jQuery('.um-col-demon-settings').data('in_group');
|
19 |
-
}
|
20 |
-
|
21 |
-
act_id = jQuery(this).data('silent_action');
|
22 |
-
arg1 = jQuery(this).data('arg1');
|
23 |
-
arg2 = jQuery(this).data('arg2');
|
24 |
-
|
25 |
-
jQuery('.tipsy').hide();
|
26 |
-
|
27 |
-
um_admin_remove_modal();
|
28 |
-
|
29 |
-
jQuery.ajax({
|
30 |
-
url: ultimatemember_ajax_url,
|
31 |
-
type: 'POST',
|
32 |
-
data: {action: 'ultimatemember_do_ajax_action', act_id : act_id, arg1 : arg1, arg2 : arg2, in_row: in_row, in_sub_row: in_sub_row, in_column: in_column, in_group: in_group },
|
33 |
-
success: function(data){
|
34 |
-
|
35 |
-
jQuery('.um-col-demon-settings').data('in_row', '');
|
36 |
-
jQuery('.um-col-demon-settings').data('in_sub_row', '');
|
37 |
-
jQuery('.um-col-demon-settings').data('in_column', '');
|
38 |
-
jQuery('.um-col-demon-settings').data('in_group', '');
|
39 |
-
|
40 |
-
um_admin_modal_responsive();
|
41 |
-
um_admin_update_builder();
|
42 |
-
|
43 |
-
},
|
44 |
-
error: function(data){
|
45 |
-
|
46 |
-
}
|
47 |
-
});
|
48 |
-
|
49 |
-
return false;
|
50 |
-
|
51 |
-
});
|
52 |
-
|
53 |
});
|
1 |
+
jQuery(document).ready(function() {
|
2 |
+
|
3 |
+
jQuery(document).ajaxStart(function(){
|
4 |
+
jQuery('.tipsy').hide();
|
5 |
+
});
|
6 |
+
|
7 |
+
jQuery(document).on('click', 'a[data-silent_action^="um_"]',function(){
|
8 |
+
|
9 |
+
in_row = '';
|
10 |
+
in_sub_row = '';
|
11 |
+
in_column = '';
|
12 |
+
in_group = '';
|
13 |
+
|
14 |
+
if ( jQuery('.um-col-demon-settings').data('in_column') ) {
|
15 |
+
in_row = jQuery('.um-col-demon-settings').data('in_row');
|
16 |
+
in_sub_row = jQuery('.um-col-demon-settings').data('in_sub_row');
|
17 |
+
in_column = jQuery('.um-col-demon-settings').data('in_column');
|
18 |
+
in_group = jQuery('.um-col-demon-settings').data('in_group');
|
19 |
+
}
|
20 |
+
|
21 |
+
act_id = jQuery(this).data('silent_action');
|
22 |
+
arg1 = jQuery(this).data('arg1');
|
23 |
+
arg2 = jQuery(this).data('arg2');
|
24 |
+
|
25 |
+
jQuery('.tipsy').hide();
|
26 |
+
|
27 |
+
um_admin_remove_modal();
|
28 |
+
|
29 |
+
jQuery.ajax({
|
30 |
+
url: ultimatemember_ajax_url,
|
31 |
+
type: 'POST',
|
32 |
+
data: {action: 'ultimatemember_do_ajax_action', act_id : act_id, arg1 : arg1, arg2 : arg2, in_row: in_row, in_sub_row: in_sub_row, in_column: in_column, in_group: in_group },
|
33 |
+
success: function(data){
|
34 |
+
|
35 |
+
jQuery('.um-col-demon-settings').data('in_row', '');
|
36 |
+
jQuery('.um-col-demon-settings').data('in_sub_row', '');
|
37 |
+
jQuery('.um-col-demon-settings').data('in_column', '');
|
38 |
+
jQuery('.um-col-demon-settings').data('in_group', '');
|
39 |
+
|
40 |
+
um_admin_modal_responsive();
|
41 |
+
um_admin_update_builder();
|
42 |
+
|
43 |
+
},
|
44 |
+
error: function(data){
|
45 |
+
|
46 |
+
}
|
47 |
+
});
|
48 |
+
|
49 |
+
return false;
|
50 |
+
|
51 |
+
});
|
52 |
+
|
53 |
});
|
admin/assets/js/um-admin-builder.js
CHANGED
@@ -1,42 +1,42 @@
|
|
1 |
-
/**
|
2 |
-
This function updates the
|
3 |
-
builder area with fields
|
4 |
-
**/
|
5 |
-
|
6 |
-
function um_admin_update_builder(){
|
7 |
-
|
8 |
-
form_id = jQuery('.um-admin-builder').data('form_id');
|
9 |
-
|
10 |
-
jQuery('.tipsy').hide();
|
11 |
-
|
12 |
-
jQuery.ajax({
|
13 |
-
url: ultimatemember_ajax_url,
|
14 |
-
type: 'POST',
|
15 |
-
data: {action: 'update_builder', form_id: form_id },
|
16 |
-
success: function(data){
|
17 |
-
|
18 |
-
jQuery('.um-admin-drag-ajax').html(data);
|
19 |
-
|
20 |
-
jQuery('.tipsy').hide();
|
21 |
-
|
22 |
-
/* trigger columns at start */
|
23 |
-
allow_update_via_col_click = false;
|
24 |
-
jQuery('.um-admin-drag-ctrls.columns a.active').each(function(){
|
25 |
-
jQuery(this).trigger('click');
|
26 |
-
}).promise().done( function(){ allow_update_via_col_click = true; } );
|
27 |
-
|
28 |
-
UM_Rows_Refresh();
|
29 |
-
|
30 |
-
},
|
31 |
-
error: function(data){
|
32 |
-
|
33 |
-
}
|
34 |
-
});
|
35 |
-
|
36 |
-
return false;
|
37 |
-
|
38 |
-
}
|
39 |
-
|
40 |
-
jQuery(document).ready(function() {
|
41 |
-
|
42 |
});
|
1 |
+
/**
|
2 |
+
This function updates the
|
3 |
+
builder area with fields
|
4 |
+
**/
|
5 |
+
|
6 |
+
function um_admin_update_builder(){
|
7 |
+
|
8 |
+
form_id = jQuery('.um-admin-builder').data('form_id');
|
9 |
+
|
10 |
+
jQuery('.tipsy').hide();
|
11 |
+
|
12 |
+
jQuery.ajax({
|
13 |
+
url: ultimatemember_ajax_url,
|
14 |
+
type: 'POST',
|
15 |
+
data: {action: 'update_builder', form_id: form_id },
|
16 |
+
success: function(data){
|
17 |
+
|
18 |
+
jQuery('.um-admin-drag-ajax').html(data);
|
19 |
+
|
20 |
+
jQuery('.tipsy').hide();
|
21 |
+
|
22 |
+
/* trigger columns at start */
|
23 |
+
allow_update_via_col_click = false;
|
24 |
+
jQuery('.um-admin-drag-ctrls.columns a.active').each(function(){
|
25 |
+
jQuery(this).trigger('click');
|
26 |
+
}).promise().done( function(){ allow_update_via_col_click = true; } );
|
27 |
+
|
28 |
+
UM_Rows_Refresh();
|
29 |
+
|
30 |
+
},
|
31 |
+
error: function(data){
|
32 |
+
|
33 |
+
}
|
34 |
+
});
|
35 |
+
|
36 |
+
return false;
|
37 |
+
|
38 |
+
}
|
39 |
+
|
40 |
+
jQuery(document).ready(function() {
|
41 |
+
|
42 |
});
|
admin/assets/js/um-admin-dashboard.js
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
-
jQuery(document).ready(function() {
|
2 |
-
|
3 |
});
|
1 |
+
jQuery(document).ready(function() {
|
2 |
+
|
3 |
});
|
admin/assets/js/um-admin-dragdrop.js
CHANGED
@@ -1,410 +1,410 @@
|
|
1 |
-
function UM_Drag_and_Drop(){
|
2 |
-
|
3 |
-
jQuery('.um-admin-drag-col,.um-admin-drag-group').sortable({
|
4 |
-
items: '.um-admin-drag-fld',
|
5 |
-
connectWith: '.um-admin-drag-col,.um-admin-drag-group',
|
6 |
-
placeholder: "um-fld-placeholder",
|
7 |
-
forcePlaceholderSize:true,
|
8 |
-
update: function(event, ui){
|
9 |
-
|
10 |
-
jQuery('#publish').attr('disabled','disabled');
|
11 |
-
|
12 |
-
if ( ui.item.hasClass('um-field-type-group') && ui.item.parents('.um-field-type-group').length > 0 ) {
|
13 |
-
|
14 |
-
jQuery('.um-admin-drag-col,.um-admin-drag-group').sortable('cancel');
|
15 |
-
|
16 |
-
jQuery('#publish').removeAttr('disabled');
|
17 |
-
|
18 |
-
} else {
|
19 |
-
|
20 |
-
UM_Change_Field_Col();
|
21 |
-
|
22 |
-
UM_Change_Field_Grp();
|
23 |
-
|
24 |
-
UM_Rows_Refresh();
|
25 |
-
|
26 |
-
}
|
27 |
-
|
28 |
-
}
|
29 |
-
});
|
30 |
-
|
31 |
-
jQuery('.um-admin-drag-rowsubs').sortable({
|
32 |
-
items: '.um-admin-drag-rowsub',
|
33 |
-
placeholder: "um-rowsub-placeholder",
|
34 |
-
forcePlaceholderSize:true,
|
35 |
-
zIndex: 9999999999,
|
36 |
-
update: function(){
|
37 |
-
|
38 |
-
jQuery('#publish').attr('disabled','disabled');
|
39 |
-
|
40 |
-
UM_update_subrows();
|
41 |
-
|
42 |
-
UM_Rows_Refresh();
|
43 |
-
|
44 |
-
}
|
45 |
-
}).disableSelection();
|
46 |
-
|
47 |
-
jQuery('.um-admin-drag-rowsub').sortable({
|
48 |
-
items: '.um-admin-drag-col',
|
49 |
-
zIndex: 9999999999,
|
50 |
-
update: function(){
|
51 |
-
|
52 |
-
jQuery('#publish').attr('disabled','disabled');
|
53 |
-
|
54 |
-
row = jQuery(this);
|
55 |
-
row.find('.um-admin-drag-col').removeClass('cols-1 cols-2 cols-3 cols-last cols-middle');
|
56 |
-
row.find('.um-admin-drag-col').addClass('cols-' + row.find('.um-admin-drag-col').length );
|
57 |
-
row.find('.um-admin-drag-col:last').addClass('cols-last');
|
58 |
-
if ( row.find('.um-admin-drag-col').length == 3 ) {row.find('.um-admin-drag-col:eq(1)').addClass('cols-middle');}
|
59 |
-
|
60 |
-
UM_Change_Field_Col();
|
61 |
-
|
62 |
-
UM_Change_Field_Grp();
|
63 |
-
|
64 |
-
UM_Rows_Refresh();
|
65 |
-
|
66 |
-
}
|
67 |
-
}).disableSelection();
|
68 |
-
|
69 |
-
jQuery('.um-admin-drag-ajax').sortable({
|
70 |
-
items: '.um-admin-drag-row',
|
71 |
-
handle: ".um-admin-drag-row-start",
|
72 |
-
zIndex: 9999999999,
|
73 |
-
placeholder: "um-row-placeholder",
|
74 |
-
forcePlaceholderSize:true,
|
75 |
-
out: function(){
|
76 |
-
jQuery('.tipsy').remove();
|
77 |
-
},
|
78 |
-
update: function(){
|
79 |
-
|
80 |
-
jQuery('#publish').attr('disabled','disabled');
|
81 |
-
|
82 |
-
UM_update_rows();
|
83 |
-
|
84 |
-
UM_Change_Field_Col();
|
85 |
-
|
86 |
-
UM_Change_Field_Grp();
|
87 |
-
|
88 |
-
UM_Rows_Refresh();
|
89 |
-
|
90 |
-
}
|
91 |
-
}).disableSelection();
|
92 |
-
|
93 |
-
}
|
94 |
-
|
95 |
-
function UM_update_rows(){
|
96 |
-
var c = 0;
|
97 |
-
jQuery('a[data-remove_element="um-admin-drag-row"]').remove();
|
98 |
-
jQuery('.um-admin-drag-row').each(function(){
|
99 |
-
c++;
|
100 |
-
row = jQuery(this);
|
101 |
-
if ( c != 1 ) {
|
102 |
-
row.find('.um-admin-drag-row-icons').append( '<a href="#" class="um-admin-tipsy-n" title="Delete Row" data-remove_element="um-admin-drag-row"><i class="um-faicon-trash-o"></i></a>' );
|
103 |
-
}
|
104 |
-
});
|
105 |
-
}
|
106 |
-
|
107 |
-
function UM_update_subrows(){
|
108 |
-
jQuery('a[data-remove_element="um-admin-drag-rowsub"]').remove();
|
109 |
-
jQuery('.um-admin-drag-row').each(function(){
|
110 |
-
c = 0;
|
111 |
-
jQuery(this).find('.um-admin-drag-rowsub').each(function(){
|
112 |
-
c++;
|
113 |
-
row = jQuery(this);
|
114 |
-
if ( c != 1 ) {
|
115 |
-
row.find('.um-admin-drag-rowsub-icons').append('<a href="#" class="um-admin-tipsy-n" title="Delete Row" data-remove_element="um-admin-drag-rowsub"><i class="um-faicon-trash-o"></i></a>');
|
116 |
-
}
|
117 |
-
});
|
118 |
-
});
|
119 |
-
}
|
120 |
-
|
121 |
-
function UM_Change_Field_Col(){
|
122 |
-
jQuery('.um-admin-drag-col .um-admin-drag-fld').each(function(){
|
123 |
-
cols = jQuery(this).parents('.um-admin-drag-rowsub').find('.um-admin-drag-col').length;
|
124 |
-
col = jQuery(this).parents('.um-admin-drag-col');
|
125 |
-
if ( col.hasClass('cols-last') ) {
|
126 |
-
if ( cols == 1 ) {
|
127 |
-
saved_col = 1;
|
128 |
-
}
|
129 |
-
if ( cols == 3 ) {
|
130 |
-
saved_col = 3;
|
131 |
-
} else if ( cols == 2 ) {
|
132 |
-
saved_col = 2;
|
133 |
-
}
|
134 |
-
} else if ( col.hasClass('cols-middle') && cols == 3 ) {
|
135 |
-
saved_col = 2;
|
136 |
-
} else {
|
137 |
-
saved_col = 1;
|
138 |
-
}
|
139 |
-
|
140 |
-
jQuery(this).data('column', saved_col);
|
141 |
-
});
|
142 |
-
}
|
143 |
-
|
144 |
-
function UM_Change_Field_Grp(){
|
145 |
-
jQuery('.um-admin-drag-col .um-admin-drag-fld:not(.um-field-type-group)').each(function(){
|
146 |
-
if ( jQuery(this).parents('.um-admin-drag-group').length == 0 ){
|
147 |
-
jQuery(this).data('group', '');
|
148 |
-
} else {
|
149 |
-
jQuery(this).data('group', jQuery(this).parents('.um-admin-drag-fld.um-field-type-group').data('key') );
|
150 |
-
}
|
151 |
-
});
|
152 |
-
}
|
153 |
-
|
154 |
-
function UM_Rows_Refresh(){
|
155 |
-
|
156 |
-
jQuery('.um_update_order_fields').empty();
|
157 |
-
|
158 |
-
/* ROWS */
|
159 |
-
var c = 0;
|
160 |
-
jQuery('.um-admin-drag-row').each(function(){
|
161 |
-
c++;
|
162 |
-
|
163 |
-
row = jQuery(this);
|
164 |
-
|
165 |
-
col_num = '';
|
166 |
-
row.find('.um-admin-drag-rowsub').each(function(){
|
167 |
-
|
168 |
-
subrow = jQuery(this);
|
169 |
-
|
170 |
-
subrow.find('.um-admin-drag-col').removeClass('cols-1 cols-2 cols-3 cols-last cols-middle');
|
171 |
-
subrow.find('.um-admin-drag-col').addClass('cols-' + subrow.find('.um-admin-drag-col').length );
|
172 |
-
subrow.find('.um-admin-drag-col:last').addClass('cols-last');
|
173 |
-
if ( subrow.find('.um-admin-drag-col').length == 3 ) {subrow.find('.um-admin-drag-col:eq(1)').addClass('cols-middle');}
|
174 |
-
|
175 |
-
if ( !col_num ) {
|
176 |
-
col_num = subrow.find('.um-admin-drag-col').length;
|
177 |
-
} else {
|
178 |
-
col_num = col_num + ':' + subrow.find('.um-admin-drag-col').length;
|
179 |
-
}
|
180 |
-
|
181 |
-
});
|
182 |
-
|
183 |
-
jQuery('.um_update_order_fields').append('<input type="hidden" name="_um_rowcols_'+c+'_cols" id="_um_rowcols_'+c+'_cols" value="'+col_num+'" />');
|
184 |
-
|
185 |
-
sub_rows_count = row.find('.um-admin-drag-rowsub').length;
|
186 |
-
|
187 |
-
var origin_id = jQuery(this).attr('data-original');
|
188 |
-
|
189 |
-
jQuery('.um_update_order_fields').append('<input type="hidden" name="_um_row_'+c+'" id="_um_row_'+c+'" value="_um_row_'+c+'" />');
|
190 |
-
jQuery('.um_update_order_fields').append('<input type="hidden" name="_um_roworigin_'+c+'_val" id="_um_roworigin_'+c+'_val" value="'+origin_id+'" />');
|
191 |
-
jQuery('.um_update_order_fields').append('<input type="hidden" name="_um_rowsub_'+c+'_rows" id="_um_rowsub_'+c+'_rows" value="'+sub_rows_count+'" />');
|
192 |
-
|
193 |
-
jQuery(this).attr('data-original', '_um_row_'+c );
|
194 |
-
|
195 |
-
});
|
196 |
-
|
197 |
-
/* FIELDS */
|
198 |
-
var order;
|
199 |
-
order = 0;
|
200 |
-
jQuery('.um-admin-drag-col .um-admin-drag-fld').each(function(){
|
201 |
-
|
202 |
-
if ( !jQuery(this).hasClass('group') ) {
|
203 |
-
var group = jQuery(this).data('group');
|
204 |
-
if ( group != '' ) {
|
205 |
-
if ( jQuery('.um-admin-drag-fld.um-field-type-group.' + group ).find('.um-admin-drag-group').find( jQuery(this) ).length == 0 ) {
|
206 |
-
jQuery(this).appendTo( jQuery('.um-admin-drag-fld.um-field-type-group.' + group ).find('.um-admin-drag-group') );
|
207 |
-
} else {
|
208 |
-
//jQuery(this).prependTo( jQuery('.um-admin-drag-fld.um-field-type-group.' + group ).find('.um-admin-drag-group') );
|
209 |
-
}
|
210 |
-
jQuery('.um_update_order_fields').append('<input type="hidden" name="um_group_'+jQuery(this).data('key')+'" id="um_group_'+jQuery(this).data('key')+'" value="'+group+'" />');
|
211 |
-
} else {
|
212 |
-
jQuery('.um_update_order_fields').append('<input type="hidden" name="um_group_'+jQuery(this).data('key')+'" id="um_group_'+jQuery(this).data('key')+'" value="" />');
|
213 |
-
}
|
214 |
-
}
|
215 |
-
|
216 |
-
order++;
|
217 |
-
|
218 |
-
row = jQuery(this).parents('.um-admin-drag-row').index()+1;
|
219 |
-
row = '_um_row_'+row;
|
220 |
-
|
221 |
-
saved_col = jQuery(this).data('column');
|
222 |
-
|
223 |
-
if ( saved_col == 3 ){
|
224 |
-
jQuery(this).appendTo( jQuery(this).parents('.um-admin-drag-rowsub').find('.um-admin-drag-col:eq(2)') );
|
225 |
-
}
|
226 |
-
if ( saved_col == 2 ){
|
227 |
-
jQuery(this).appendTo( jQuery(this).parents('.um-admin-drag-rowsub').find('.um-admin-drag-col:eq(1)') );
|
228 |
-
}
|
229 |
-
|
230 |
-
sub_row = jQuery(this).parents('.um-admin-drag-rowsub').index();
|
231 |
-
|
232 |
-
jQuery('.um_update_order_fields').append('<input type="hidden" name="um_position_'+jQuery(this).data('key')+'" id="um_position_'+jQuery(this).data('key')+'" value="'+order+'" />');
|
233 |
-
|
234 |
-
jQuery('.um_update_order_fields').append('<input type="hidden" name="um_row_'+jQuery(this).data('key')+'" id="um_row_'+jQuery(this).data('key')+'" value="'+row+'" />');
|
235 |
-
|
236 |
-
jQuery('.um_update_order_fields').append('<input type="hidden" name="um_subrow_'+jQuery(this).data('key')+'" id="um_subrow_'+jQuery(this).data('key')+'" value="'+sub_row+'" />');
|
237 |
-
|
238 |
-
jQuery('.um_update_order_fields').append('<input type="hidden" name="um_col_'+jQuery(this).data('key')+'" id="um_col_'+jQuery(this).data('key')+'" value="'+saved_col+'" />');
|
239 |
-
|
240 |
-
});
|
241 |
-
|
242 |
-
UM_Drag_and_Drop();
|
243 |
-
|
244 |
-
UM_Add_Icon();
|
245 |
-
|
246 |
-
jQuery.ajax({
|
247 |
-
url: ultimatemember_ajax_url,
|
248 |
-
type: 'POST',
|
249 |
-
data: jQuery('.um_update_order').serialize(),
|
250 |
-
success: function(){
|
251 |
-
jQuery('#publish').removeAttr('disabled');
|
252 |
-
}
|
253 |
-
});
|
254 |
-
|
255 |
-
}
|
256 |
-
|
257 |
-
function UM_Add_Icon(){
|
258 |
-
|
259 |
-
var add_icon_html = '<a href="#" class="um-admin-drag-add-field um-admin-tipsy-n" title="Add Field" data-modal="UM_fields" data-modal-size="normal" data-dynamic-content="um_admin_show_fields" data-arg2="'+jQuery('.um-admin-drag-ajax').data('form_id')+'" data-arg1=""><i class="um-icon-plus"></i></a>';
|
260 |
-
|
261 |
-
jQuery('.um-admin-drag-col').each(function(){
|
262 |
-
if ( jQuery(this).find('.um-admin-drag-add-field').length == 0 ) {
|
263 |
-
jQuery(this).append(add_icon_html);
|
264 |
-
} else {
|
265 |
-
jQuery(this).find('.um-admin-drag-add-field').remove();
|
266 |
-
jQuery(this).append(add_icon_html);
|
267 |
-
}
|
268 |
-
});
|
269 |
-
|
270 |
-
jQuery('.um-admin-drag-group').each(function(){
|
271 |
-
if ( jQuery(this).find('.um-admin-drag-add-field').length == 0 ) {
|
272 |
-
jQuery(this).append(add_icon_html);
|
273 |
-
} else {
|
274 |
-
jQuery(this).find('.um-admin-drag-add-field').remove();
|
275 |
-
jQuery(this).append(add_icon_html);
|
276 |
-
}
|
277 |
-
});
|
278 |
-
|
279 |
-
}
|
280 |
-
|
281 |
-
jQuery(document).ready(function() {
|
282 |
-
|
283 |
-
if ( !jQuery('.um-admin-drag').length ) return false;
|
284 |
-
|
285 |
-
UM_Drag_and_Drop();
|
286 |
-
|
287 |
-
/* add field to respected area */
|
288 |
-
jQuery(document).on('click', 'a.um-admin-drag-add-field', function(){
|
289 |
-
in_row = jQuery(this).parents('.um-admin-drag-row').index();
|
290 |
-
in_sub_row = jQuery(this).parents('.um-admin-drag-rowsub').index();
|
291 |
-
if ( jQuery(this).parents('.um-admin-drag-rowsub').find('.um-admin-drag-col').length == 1 ) {
|
292 |
-
in_column = 1;
|
293 |
-
} else {
|
294 |
-
if ( jQuery(this).parents('.um-admin-drag-col').hasClass('cols-middle')){
|
295 |
-
in_column = 2;
|
296 |
-
} else if ( jQuery(this).parents('.um-admin-drag-col').hasClass('cols-last') ) {
|
297 |
-
if ( jQuery(this).parents('.um-admin-drag-rowsub').find('.um-admin-drag-col').length == 3 ) {
|
298 |
-
in_column = 3;
|
299 |
-
} else {
|
300 |
-
in_column = 2;
|
301 |
-
}
|
302 |
-
} else {
|
303 |
-
in_column = 1;
|
304 |
-
}
|
305 |
-
}
|
306 |
-
|
307 |
-
if ( jQuery(this).parents('.um-admin-drag-group').length ) {
|
308 |
-
in_group = jQuery(this).parents('.um-admin-drag-fld.um-field-type-group').data('key');
|
309 |
-
} else {
|
310 |
-
in_group = '';
|
311 |
-
}
|
312 |
-
|
313 |
-
jQuery('.um-col-demon-settings').data('in_row', in_row);
|
314 |
-
jQuery('.um-col-demon-settings').data('in_sub_row', in_sub_row);
|
315 |
-
jQuery('.um-col-demon-settings').data('in_column', in_column);
|
316 |
-
jQuery('.um-col-demon-settings').data('in_group', in_group);
|
317 |
-
});
|
318 |
-
|
319 |
-
/* add row */
|
320 |
-
jQuery(document).on('click', '*[data-row_action="add_row"]', function(){
|
321 |
-
var dragg = jQuery('.um-admin-drag-ajax');
|
322 |
-
dragg.append( '<div class="um-admin-drag-row">' + jQuery('.um-col-demon-row').html() + '</div>' );
|
323 |
-
dragg.find('.um-admin-drag-row:last').find('.um-admin-drag-row-icons').find('a.um-admin-drag-row-edit').attr('data-arg3', '_um_row_' + ( dragg.find('.um-admin-drag-row').length ) );
|
324 |
-
dragg.find('.um-admin-drag-row:last').attr('data-original', '_um_row_' + ( dragg.find('.um-admin-drag-row').length ) );
|
325 |
-
UM_update_rows();
|
326 |
-
UM_update_subrows();
|
327 |
-
UM_Rows_Refresh();
|
328 |
-
});
|
329 |
-
|
330 |
-
/* add sub row */
|
331 |
-
jQuery(document).on('click', '*[data-row_action="add_subrow"]', function(){
|
332 |
-
var dragg = jQuery(this).parents('.um-admin-drag-row').find('.um-admin-drag-rowsubs');
|
333 |
-
dragg.append( '<div class="um-admin-drag-rowsub">' + jQuery('.um-col-demon-subrow').html() + '</div>' );
|
334 |
-
UM_update_subrows();
|
335 |
-
UM_Rows_Refresh();
|
336 |
-
});
|
337 |
-
|
338 |
-
/* remove element */
|
339 |
-
jQuery(document).on('click', 'a[data-remove_element^="um-"]',function(){
|
340 |
-
element = jQuery(this).data('remove_element');
|
341 |
-
|
342 |
-
jQuery(this).parents('.' +element).find('.um-admin-drag-fld').each(function(){
|
343 |
-
jQuery(this).find('a[data-silent_action="um_admin_remove_field"]').trigger('click');
|
344 |
-
});
|
345 |
-
|
346 |
-
jQuery(this).parents('.' +element).remove();
|
347 |
-
jQuery('.tipsy').remove();
|
348 |
-
UM_Rows_Refresh();
|
349 |
-
});
|
350 |
-
|
351 |
-
/* dynamically change columns */
|
352 |
-
jQuery(document).on('click', '.um-admin-drag-ctrls.columns a', function(){
|
353 |
-
|
354 |
-
var row = jQuery(this).parents('.um-admin-drag-rowsub');
|
355 |
-
var tab = jQuery(this);
|
356 |
-
var tabs = jQuery(this).parent();
|
357 |
-
tabs.find('a').removeClass('active');
|
358 |
-
tab.addClass('active');
|
359 |
-
var existing_cols = row.find('.um-admin-drag-col').length;
|
360 |
-
var required_cols = tab.data('cols');
|
361 |
-
var needed_cols = required_cols - existing_cols;
|
362 |
-
|
363 |
-
if ( needed_cols > 0 ) {
|
364 |
-
|
365 |
-
for (i = 0; i < needed_cols; i++){
|
366 |
-
row.find('.um-admin-drag-col-dynamic').append('<div class="um-admin-drag-col"></div>');
|
367 |
-
}
|
368 |
-
|
369 |
-
row.find('.um-admin-drag-col').removeClass('cols-1 cols-2 cols-3 cols-last cols-middle');
|
370 |
-
row.find('.um-admin-drag-col').addClass('cols-' + row.find('.um-admin-drag-col').length );
|
371 |
-
row.find('.um-admin-drag-col:last').addClass('cols-last');
|
372 |
-
|
373 |
-
if ( row.find('.um-admin-drag-col').length == 3 ) {row.find('.um-admin-drag-col:eq(1)').addClass('cols-middle');}
|
374 |
-
|
375 |
-
} else if ( needed_cols < 0 ) {
|
376 |
-
|
377 |
-
needed_cols = needed_cols + 3;
|
378 |
-
if ( needed_cols == 2 ) {
|
379 |
-
row.find('.um-admin-drag-col:first').append( row.find('.um-admin-drag-col.cols-last').html() );
|
380 |
-
row.find('.um-admin-drag-col.cols-last').remove();
|
381 |
-
}
|
382 |
-
if ( needed_cols == 1 ) {
|
383 |
-
row.find('.um-admin-drag-col:first').append( row.find('.um-admin-drag-col.cols-last').html() );
|
384 |
-
row.find('.um-admin-drag-col:first').append( row.find('.um-admin-drag-col.cols-middle').html() );
|
385 |
-
row.find('.um-admin-drag-col.cols-last').remove();
|
386 |
-
row.find('.um-admin-drag-col.cols-middle').remove();
|
387 |
-
}
|
388 |
-
|
389 |
-
row.find('.um-admin-drag-col').removeClass('cols-1 cols-2 cols-3 cols-last cols-middle');
|
390 |
-
row.find('.um-admin-drag-col').addClass('cols-' + row.find('.um-admin-drag-col:visible').length );
|
391 |
-
row.find('.um-admin-drag-col:last').addClass('cols-last');
|
392 |
-
|
393 |
-
}
|
394 |
-
|
395 |
-
if ( allow_update_via_col_click == true ) {
|
396 |
-
UM_Change_Field_Col();
|
397 |
-
UM_Rows_Refresh();
|
398 |
-
}
|
399 |
-
|
400 |
-
});
|
401 |
-
|
402 |
-
/* trigger columns at start */
|
403 |
-
allow_update_via_col_click = false;
|
404 |
-
jQuery('.um-admin-drag-ctrls.columns a.active').each(function(){
|
405 |
-
jQuery(this).trigger('click');
|
406 |
-
}).promise().done( function(){ allow_update_via_col_click = true; } );
|
407 |
-
|
408 |
-
UM_Rows_Refresh();
|
409 |
-
|
410 |
});
|
1 |
+
function UM_Drag_and_Drop(){
|
2 |
+
|
3 |
+
jQuery('.um-admin-drag-col,.um-admin-drag-group').sortable({
|
4 |
+
items: '.um-admin-drag-fld',
|
5 |
+
connectWith: '.um-admin-drag-col,.um-admin-drag-group',
|
6 |
+
placeholder: "um-fld-placeholder",
|
7 |
+
forcePlaceholderSize:true,
|
8 |
+
update: function(event, ui){
|
9 |
+
|
10 |
+
jQuery('#publish').attr('disabled','disabled');
|
11 |
+
|
12 |
+
if ( ui.item.hasClass('um-field-type-group') && ui.item.parents('.um-field-type-group').length > 0 ) {
|
13 |
+
|
14 |
+
jQuery('.um-admin-drag-col,.um-admin-drag-group').sortable('cancel');
|
15 |
+
|
16 |
+
jQuery('#publish').removeAttr('disabled');
|
17 |
+
|
18 |
+
} else {
|
19 |
+
|
20 |
+
UM_Change_Field_Col();
|
21 |
+
|
22 |
+
UM_Change_Field_Grp();
|
23 |
+
|
24 |
+
UM_Rows_Refresh();
|
25 |
+
|
26 |
+
}
|
27 |
+
|
28 |
+
}
|
29 |
+
});
|
30 |
+
|
31 |
+
jQuery('.um-admin-drag-rowsubs').sortable({
|
32 |
+
items: '.um-admin-drag-rowsub',
|
33 |
+
placeholder: "um-rowsub-placeholder",
|
34 |
+
forcePlaceholderSize:true,
|
35 |
+
zIndex: 9999999999,
|
36 |
+
update: function(){
|
37 |
+
|
38 |
+
jQuery('#publish').attr('disabled','disabled');
|
39 |
+
|
40 |
+
UM_update_subrows();
|
41 |
+
|
42 |
+
UM_Rows_Refresh();
|
43 |
+
|
44 |
+
}
|
45 |
+
}).disableSelection();
|
46 |
+
|
47 |
+
jQuery('.um-admin-drag-rowsub').sortable({
|
48 |
+
items: '.um-admin-drag-col',
|
49 |
+
zIndex: 9999999999,
|
50 |
+
update: function(){
|
51 |
+
|
52 |
+
jQuery('#publish').attr('disabled','disabled');
|
53 |
+
|
54 |
+
row = jQuery(this);
|
55 |
+
row.find('.um-admin-drag-col').removeClass('cols-1 cols-2 cols-3 cols-last cols-middle');
|
56 |
+
row.find('.um-admin-drag-col').addClass('cols-' + row.find('.um-admin-drag-col').length );
|
57 |
+
row.find('.um-admin-drag-col:last').addClass('cols-last');
|
58 |
+
if ( row.find('.um-admin-drag-col').length == 3 ) {row.find('.um-admin-drag-col:eq(1)').addClass('cols-middle');}
|
59 |
+
|
60 |
+
UM_Change_Field_Col();
|
61 |
+
|
62 |
+
UM_Change_Field_Grp();
|
63 |
+
|
64 |
+
UM_Rows_Refresh();
|
65 |
+
|
66 |
+
}
|
67 |
+
}).disableSelection();
|
68 |
+
|
69 |
+
jQuery('.um-admin-drag-ajax').sortable({
|
70 |
+
items: '.um-admin-drag-row',
|
71 |
+
handle: ".um-admin-drag-row-start",
|
72 |
+
zIndex: 9999999999,
|
73 |
+
placeholder: "um-row-placeholder",
|
74 |
+
forcePlaceholderSize:true,
|
75 |
+
out: function(){
|
76 |
+
jQuery('.tipsy').remove();
|
77 |
+
},
|
78 |
+
update: function(){
|
79 |
+
|
80 |
+
jQuery('#publish').attr('disabled','disabled');
|
81 |
+
|
82 |
+
UM_update_rows();
|
83 |
+
|
84 |
+
UM_Change_Field_Col();
|
85 |
+
|
86 |
+
UM_Change_Field_Grp();
|
87 |
+
|
88 |
+
UM_Rows_Refresh();
|
89 |
+
|
90 |
+
}
|
91 |
+
}).disableSelection();
|
92 |
+
|
93 |
+
}
|
94 |
+
|
95 |
+
function UM_update_rows(){
|
96 |
+
var c = 0;
|
97 |
+
jQuery('a[data-remove_element="um-admin-drag-row"]').remove();
|
98 |
+
jQuery('.um-admin-drag-row').each(function(){
|
99 |
+
c++;
|
100 |
+
row = jQuery(this);
|
101 |
+
if ( c != 1 ) {
|
102 |
+
row.find('.um-admin-drag-row-icons').append( '<a href="#" class="um-admin-tipsy-n" title="Delete Row" data-remove_element="um-admin-drag-row"><i class="um-faicon-trash-o"></i></a>' );
|
103 |
+
}
|
104 |
+
});
|
105 |
+
}
|
106 |
+
|
107 |
+
function UM_update_subrows(){
|
108 |
+
jQuery('a[data-remove_element="um-admin-drag-rowsub"]').remove();
|
109 |
+
jQuery('.um-admin-drag-row').each(function(){
|
110 |
+
c = 0;
|
111 |
+
jQuery(this).find('.um-admin-drag-rowsub').each(function(){
|
112 |
+
c++;
|
113 |
+
row = jQuery(this);
|
114 |
+
if ( c != 1 ) {
|
115 |
+
row.find('.um-admin-drag-rowsub-icons').append('<a href="#" class="um-admin-tipsy-n" title="Delete Row" data-remove_element="um-admin-drag-rowsub"><i class="um-faicon-trash-o"></i></a>');
|
116 |
+
}
|
117 |
+
});
|
118 |
+
});
|
119 |
+
}
|
120 |
+
|
121 |
+
function UM_Change_Field_Col(){
|
122 |
+
jQuery('.um-admin-drag-col .um-admin-drag-fld').each(function(){
|
123 |
+
cols = jQuery(this).parents('.um-admin-drag-rowsub').find('.um-admin-drag-col').length;
|
124 |
+
col = jQuery(this).parents('.um-admin-drag-col');
|
125 |
+
if ( col.hasClass('cols-last') ) {
|
126 |
+
if ( cols == 1 ) {
|
127 |
+
saved_col = 1;
|
128 |
+
}
|
129 |
+
if ( cols == 3 ) {
|
130 |
+
saved_col = 3;
|
131 |
+
} else if ( cols == 2 ) {
|
132 |
+
saved_col = 2;
|
133 |
+
}
|
134 |
+
} else if ( col.hasClass('cols-middle') && cols == 3 ) {
|
135 |
+
saved_col = 2;
|
136 |
+
} else {
|
137 |
+
saved_col = 1;
|
138 |
+
}
|
139 |
+
|
140 |
+
jQuery(this).data('column', saved_col);
|
141 |
+
});
|
142 |
+
}
|
143 |
+
|
144 |
+
function UM_Change_Field_Grp(){
|
145 |
+
jQuery('.um-admin-drag-col .um-admin-drag-fld:not(.um-field-type-group)').each(function(){
|
146 |
+
if ( jQuery(this).parents('.um-admin-drag-group').length == 0 ){
|
147 |
+
jQuery(this).data('group', '');
|
148 |
+
} else {
|
149 |
+
jQuery(this).data('group', jQuery(this).parents('.um-admin-drag-fld.um-field-type-group').data('key') );
|
150 |
+
}
|
151 |
+
});
|
152 |
+
}
|
153 |
+
|
154 |
+
function UM_Rows_Refresh(){
|
155 |
+
|
156 |
+
jQuery('.um_update_order_fields').empty();
|
157 |
+
|
158 |
+
/* ROWS */
|
159 |
+
var c = 0;
|
160 |
+
jQuery('.um-admin-drag-row').each(function(){
|
161 |
+
c++;
|
162 |
+
|
163 |
+
row = jQuery(this);
|
164 |
+
|
165 |
+
col_num = '';
|
166 |
+
row.find('.um-admin-drag-rowsub').each(function(){
|
167 |
+
|
168 |
+
subrow = jQuery(this);
|
169 |
+
|
170 |
+
subrow.find('.um-admin-drag-col').removeClass('cols-1 cols-2 cols-3 cols-last cols-middle');
|
171 |
+
subrow.find('.um-admin-drag-col').addClass('cols-' + subrow.find('.um-admin-drag-col').length );
|
172 |
+
subrow.find('.um-admin-drag-col:last').addClass('cols-last');
|
173 |
+
if ( subrow.find('.um-admin-drag-col').length == 3 ) {subrow.find('.um-admin-drag-col:eq(1)').addClass('cols-middle');}
|
174 |
+
|
175 |
+
if ( !col_num ) {
|
176 |
+
col_num = subrow.find('.um-admin-drag-col').length;
|
177 |
+
} else {
|
178 |
+
col_num = col_num + ':' + subrow.find('.um-admin-drag-col').length;
|
179 |
+
}
|
180 |
+
|
181 |
+
});
|
182 |
+
|
183 |
+
jQuery('.um_update_order_fields').append('<input type="hidden" name="_um_rowcols_'+c+'_cols" id="_um_rowcols_'+c+'_cols" value="'+col_num+'" />');
|
184 |
+
|
185 |
+
sub_rows_count = row.find('.um-admin-drag-rowsub').length;
|
186 |
+
|
187 |
+
var origin_id = jQuery(this).attr('data-original');
|
188 |
+
|
189 |
+
jQuery('.um_update_order_fields').append('<input type="hidden" name="_um_row_'+c+'" id="_um_row_'+c+'" value="_um_row_'+c+'" />');
|
190 |
+
jQuery('.um_update_order_fields').append('<input type="hidden" name="_um_roworigin_'+c+'_val" id="_um_roworigin_'+c+'_val" value="'+origin_id+'" />');
|
191 |
+
jQuery('.um_update_order_fields').append('<input type="hidden" name="_um_rowsub_'+c+'_rows" id="_um_rowsub_'+c+'_rows" value="'+sub_rows_count+'" />');
|
192 |
+
|
193 |
+
jQuery(this).attr('data-original', '_um_row_'+c );
|
194 |
+
|
195 |
+
});
|
196 |
+
|
197 |
+
/* FIELDS */
|
198 |
+
var order;
|
199 |
+
order = 0;
|
200 |
+
jQuery('.um-admin-drag-col .um-admin-drag-fld').each(function(){
|
201 |
+
|
202 |
+
if ( !jQuery(this).hasClass('group') ) {
|
203 |
+
var group = jQuery(this).data('group');
|
204 |
+
if ( group != '' ) {
|
205 |
+
if ( jQuery('.um-admin-drag-fld.um-field-type-group.' + group ).find('.um-admin-drag-group').find( jQuery(this) ).length == 0 ) {
|
206 |
+
jQuery(this).appendTo( jQuery('.um-admin-drag-fld.um-field-type-group.' + group ).find('.um-admin-drag-group') );
|
207 |
+
} else {
|
208 |
+
//jQuery(this).prependTo( jQuery('.um-admin-drag-fld.um-field-type-group.' + group ).find('.um-admin-drag-group') );
|
209 |
+
}
|
210 |
+
jQuery('.um_update_order_fields').append('<input type="hidden" name="um_group_'+jQuery(this).data('key')+'" id="um_group_'+jQuery(this).data('key')+'" value="'+group+'" />');
|
211 |
+
} else {
|
212 |
+
jQuery('.um_update_order_fields').append('<input type="hidden" name="um_group_'+jQuery(this).data('key')+'" id="um_group_'+jQuery(this).data('key')+'" value="" />');
|
213 |
+
}
|
214 |
+
}
|
215 |
+
|
216 |
+
order++;
|
217 |
+
|
218 |
+
row = jQuery(this).parents('.um-admin-drag-row').index()+1;
|
219 |
+
row = '_um_row_'+row;
|
220 |
+
|
221 |
+
saved_col = jQuery(this).data('column');
|
222 |
+
|
223 |
+
if ( saved_col == 3 ){
|
224 |
+
jQuery(this).appendTo( jQuery(this).parents('.um-admin-drag-rowsub').find('.um-admin-drag-col:eq(2)') );
|
225 |
+
}
|
226 |
+
if ( saved_col == 2 ){
|
227 |
+
jQuery(this).appendTo( jQuery(this).parents('.um-admin-drag-rowsub').find('.um-admin-drag-col:eq(1)') );
|
228 |
+
}
|
229 |
+
|
230 |
+
sub_row = jQuery(this).parents('.um-admin-drag-rowsub').index();
|
231 |
+
|
232 |
+
jQuery('.um_update_order_fields').append('<input type="hidden" name="um_position_'+jQuery(this).data('key')+'" id="um_position_'+jQuery(this).data('key')+'" value="'+order+'" />');
|
233 |
+
|
234 |
+
jQuery('.um_update_order_fields').append('<input type="hidden" name="um_row_'+jQuery(this).data('key')+'" id="um_row_'+jQuery(this).data('key')+'" value="'+row+'" />');
|
235 |
+
|
236 |
+
jQuery('.um_update_order_fields').append('<input type="hidden" name="um_subrow_'+jQuery(this).data('key')+'" id="um_subrow_'+jQuery(this).data('key')+'" value="'+sub_row+'" />');
|
237 |
+
|
238 |
+
jQuery('.um_update_order_fields').append('<input type="hidden" name="um_col_'+jQuery(this).data('key')+'" id="um_col_'+jQuery(this).data('key')+'" value="'+saved_col+'" />');
|
239 |
+
|
240 |
+
});
|
241 |
+
|
242 |
+
UM_Drag_and_Drop();
|
243 |
+
|
244 |
+
UM_Add_Icon();
|
245 |
+
|
246 |
+
jQuery.ajax({
|
247 |
+
url: ultimatemember_ajax_url,
|
248 |
+
type: 'POST',
|
249 |
+
data: jQuery('.um_update_order').serialize(),
|
250 |
+
success: function(){
|
251 |
+
jQuery('#publish').removeAttr('disabled');
|
252 |
+
}
|
253 |
+
});
|
254 |
+
|
255 |
+
}
|
256 |
+
|
257 |
+
function UM_Add_Icon(){
|
258 |
+
|
259 |
+
var add_icon_html = '<a href="#" class="um-admin-drag-add-field um-admin-tipsy-n" title="Add Field" data-modal="UM_fields" data-modal-size="normal" data-dynamic-content="um_admin_show_fields" data-arg2="'+jQuery('.um-admin-drag-ajax').data('form_id')+'" data-arg1=""><i class="um-icon-plus"></i></a>';
|
260 |
+
|
261 |
+
jQuery('.um-admin-drag-col').each(function(){
|
262 |
+
if ( jQuery(this).find('.um-admin-drag-add-field').length == 0 ) {
|
263 |
+
jQuery(this).append(add_icon_html);
|
264 |
+
} else {
|
265 |
+
jQuery(this).find('.um-admin-drag-add-field').remove();
|
266 |
+
jQuery(this).append(add_icon_html);
|
267 |
+
}
|
268 |
+
});
|
269 |
+
|
270 |
+
jQuery('.um-admin-drag-group').each(function(){
|
271 |
+
if ( jQuery(this).find('.um-admin-drag-add-field').length == 0 ) {
|
272 |
+
jQuery(this).append(add_icon_html);
|
273 |
+
} else {
|
274 |
+
jQuery(this).find('.um-admin-drag-add-field').remove();
|
275 |
+
jQuery(this).append(add_icon_html);
|
276 |
+
}
|
277 |
+
});
|
278 |
+
|
279 |
+
}
|
280 |
+
|
281 |
+
jQuery(document).ready(function() {
|
282 |
+
|
283 |
+
if ( !jQuery('.um-admin-drag').length ) return false;
|
284 |
+
|
285 |
+
UM_Drag_and_Drop();
|
286 |
+
|
287 |
+
/* add field to respected area */
|
288 |
+
jQuery(document).on('click', 'a.um-admin-drag-add-field', function(){
|
289 |
+
in_row = jQuery(this).parents('.um-admin-drag-row').index();
|
290 |
+
in_sub_row = jQuery(this).parents('.um-admin-drag-rowsub').index();
|
291 |
+
if ( jQuery(this).parents('.um-admin-drag-rowsub').find('.um-admin-drag-col').length == 1 ) {
|
292 |
+
in_column = 1;
|
293 |
+
} else {
|
294 |
+
if ( jQuery(this).parents('.um-admin-drag-col').hasClass('cols-middle')){
|
295 |
+
in_column = 2;
|
296 |
+
} else if ( jQuery(this).parents('.um-admin-drag-col').hasClass('cols-last') ) {
|
297 |
+
if ( jQuery(this).parents('.um-admin-drag-rowsub').find('.um-admin-drag-col').length == 3 ) {
|
298 |
+
in_column = 3;
|
299 |
+
} else {
|
300 |
+
in_column = 2;
|
301 |
+
}
|
302 |
+
} else {
|
303 |
+
in_column = 1;
|
304 |
+
}
|
305 |
+
}
|
306 |
+
|
307 |
+
if ( jQuery(this).parents('.um-admin-drag-group').length ) {
|
308 |
+
in_group = jQuery(this).parents('.um-admin-drag-fld.um-field-type-group').data('key');
|
309 |
+
} else {
|
310 |
+
in_group = '';
|
311 |
+
}
|
312 |
+
|
313 |
+
jQuery('.um-col-demon-settings').data('in_row', in_row);
|
314 |
+
jQuery('.um-col-demon-settings').data('in_sub_row', in_sub_row);
|
315 |
+
jQuery('.um-col-demon-settings').data('in_column', in_column);
|
316 |
+
jQuery('.um-col-demon-settings').data('in_group', in_group);
|
317 |
+
});
|
318 |
+
|
319 |
+
/* add row */
|
320 |
+
jQuery(document).on('click', '*[data-row_action="add_row"]', function(){
|
321 |
+
var dragg = jQuery('.um-admin-drag-ajax');
|
322 |
+
dragg.append( '<div class="um-admin-drag-row">' + jQuery('.um-col-demon-row').html() + '</div>' );
|
323 |
+
dragg.find('.um-admin-drag-row:last').find('.um-admin-drag-row-icons').find('a.um-admin-drag-row-edit').attr('data-arg3', '_um_row_' + ( dragg.find('.um-admin-drag-row').length ) );
|
324 |
+
dragg.find('.um-admin-drag-row:last').attr('data-original', '_um_row_' + ( dragg.find('.um-admin-drag-row').length ) );
|
325 |
+
UM_update_rows();
|
326 |
+
UM_update_subrows();
|
327 |
+
UM_Rows_Refresh();
|
328 |
+
});
|
329 |
+
|
330 |
+
/* add sub row */
|
331 |
+
jQuery(document).on('click', '*[data-row_action="add_subrow"]', function(){
|
332 |
+
var dragg = jQuery(this).parents('.um-admin-drag-row').find('.um-admin-drag-rowsubs');
|
333 |
+
dragg.append( '<div class="um-admin-drag-rowsub">' + jQuery('.um-col-demon-subrow').html() + '</div>' );
|
334 |
+
UM_update_subrows();
|
335 |
+
UM_Rows_Refresh();
|
336 |
+
});
|
337 |
+
|
338 |
+
/* remove element */
|
339 |
+
jQuery(document).on('click', 'a[data-remove_element^="um-"]',function(){
|
340 |
+
element = jQuery(this).data('remove_element');
|
341 |
+
|
342 |
+
jQuery(this).parents('.' +element).find('.um-admin-drag-fld').each(function(){
|
343 |
+
jQuery(this).find('a[data-silent_action="um_admin_remove_field"]').trigger('click');
|
344 |
+
});
|
345 |
+
|
346 |
+
jQuery(this).parents('.' +element).remove();
|
347 |
+
jQuery('.tipsy').remove();
|
348 |
+
UM_Rows_Refresh();
|
349 |
+
});
|
350 |
+
|
351 |
+
/* dynamically change columns */
|
352 |
+
jQuery(document).on('click', '.um-admin-drag-ctrls.columns a', function(){
|
353 |
+
|
354 |
+
var row = jQuery(this).parents('.um-admin-drag-rowsub');
|
355 |
+
var tab = jQuery(this);
|
356 |
+
var tabs = jQuery(this).parent();
|
357 |
+
tabs.find('a').removeClass('active');
|
358 |
+
tab.addClass('active');
|
359 |
+
var existing_cols = row.find('.um-admin-drag-col').length;
|
360 |
+
var required_cols = tab.data('cols');
|
361 |
+
var needed_cols = required_cols - existing_cols;
|
362 |
+
|
363 |
+
if ( needed_cols > 0 ) {
|
364 |
+
|
365 |
+
for (i = 0; i < needed_cols; i++){
|
366 |
+
row.find('.um-admin-drag-col-dynamic').append('<div class="um-admin-drag-col"></div>');
|
367 |
+
}
|
368 |
+
|
369 |
+
row.find('.um-admin-drag-col').removeClass('cols-1 cols-2 cols-3 cols-last cols-middle');
|
370 |
+
row.find('.um-admin-drag-col').addClass('cols-' + row.find('.um-admin-drag-col').length );
|
371 |
+
row.find('.um-admin-drag-col:last').addClass('cols-last');
|
372 |
+
|
373 |
+
if ( row.find('.um-admin-drag-col').length == 3 ) {row.find('.um-admin-drag-col:eq(1)').addClass('cols-middle');}
|
374 |
+
|
375 |
+
} else if ( needed_cols < 0 ) {
|
376 |
+
|
377 |
+
needed_cols = needed_cols + 3;
|
378 |
+
if ( needed_cols == 2 ) {
|
379 |
+
row.find('.um-admin-drag-col:first').append( row.find('.um-admin-drag-col.cols-last').html() );
|
380 |
+
row.find('.um-admin-drag-col.cols-last').remove();
|
381 |
+
}
|
382 |
+
if ( needed_cols == 1 ) {
|
383 |
+
row.find('.um-admin-drag-col:first').append( row.find('.um-admin-drag-col.cols-last').html() );
|
384 |
+
row.find('.um-admin-drag-col:first').append( row.find('.um-admin-drag-col.cols-middle').html() );
|
385 |
+
row.find('.um-admin-drag-col.cols-last').remove();
|
386 |
+
row.find('.um-admin-drag-col.cols-middle').remove();
|
387 |
+
}
|
388 |
+
|
389 |
+
row.find('.um-admin-drag-col').removeClass('cols-1 cols-2 cols-3 cols-last cols-middle');
|
390 |
+
row.find('.um-admin-drag-col').addClass('cols-' + row.find('.um-admin-drag-col:visible').length );
|
391 |
+
row.find('.um-admin-drag-col:last').addClass('cols-last');
|
392 |
+
|
393 |
+
}
|
394 |
+
|
395 |
+
if ( allow_update_via_col_click == true ) {
|
396 |
+
UM_Change_Field_Col();
|
397 |
+
UM_Rows_Refresh();
|
398 |
+
}
|
399 |
+
|
400 |
+
});
|
401 |
+
|
402 |
+
/* trigger columns at start */
|
403 |
+
allow_update_via_col_click = false;
|
404 |
+
jQuery('.um-admin-drag-ctrls.columns a.active').each(function(){
|
405 |
+
jQuery(this).trigger('click');
|
406 |
+
}).promise().done( function(){ allow_update_via_col_click = true; } );
|
407 |
+
|
408 |
+
UM_Rows_Refresh();
|
409 |
+
|
410 |
});
|
admin/assets/js/um-admin-field.js
CHANGED
@@ -1,89 +1,89 @@
|
|
1 |
-
jQuery(document).ready(function() {
|
2 |
-
|
3 |
-
/* Remove field permanently */
|
4 |
-
jQuery(document).on('click', '.um-admin-btns a span.remove', function(e){
|
5 |
-
e.preventDefault();
|
6 |
-
|
7 |
-
if (confirm('This will permanently delete this custom field from database')) {
|
8 |
-
|
9 |
-
jQuery(this).parents('a').remove();
|
10 |
-
|
11 |
-
arg1 = jQuery(this).parents('a').data('arg1');
|
12 |
-
|
13 |
-
jQuery.ajax({
|
14 |
-
url: ultimatemember_ajax_url,
|
15 |
-
type: 'POST',
|
16 |
-
data: {action: 'ultimatemember_do_ajax_action', act_id : 'um_admin_remove_field_global', arg1 : arg1 },
|
17 |
-
success: function(data){
|
18 |
-
|
19 |
-
},
|
20 |
-
error: function(data){
|
21 |
-
|
22 |
-
}
|
23 |
-
});
|
24 |
-
|
25 |
-
|
26 |
-
}
|
27 |
-
|
28 |
-
return false;
|
29 |
-
});
|
30 |
-
|
31 |
-
/* Add a Field */
|
32 |
-
jQuery(document).on('submit', 'form.um_add_field', function(e){
|
33 |
-
|
34 |
-
e.preventDefault();
|
35 |
-
|
36 |
-
var form = jQuery(this);
|
37 |
-
|
38 |
-
jQuery.ajax({
|
39 |
-
url: ultimatemember_ajax_url,
|
40 |
-
type: 'POST',
|
41 |
-
dataType: 'json',
|
42 |
-
data: form.serialize(),
|
43 |
-
beforeSend: function(){
|
44 |
-
form.css({'opacity': 0.5});
|
45 |
-
jQuery('.um-admin-error').removeClass('um-admin-error');
|
46 |
-
form.find('.um-admin-error-block').hide();
|
47 |
-
form.find('.um-admin-success-block').hide();
|
48 |
-
},
|
49 |
-
complete: function(){
|
50 |
-
form.css({'opacity': 1});
|
51 |
-
},
|
52 |
-
success: function(data){
|
53 |
-
|
54 |
-
if (data.error){
|
55 |
-
|
56 |
-
c = 0;
|
57 |
-
jQuery.each(data.error, function(i, v){
|
58 |
-
c++;
|
59 |
-
if ( c == 1 ) {
|
60 |
-
form.find('#'+i).addClass('um-admin-error').focus();
|
61 |
-
form.find('.um-admin-error-block').show().html(v);
|
62 |
-
}
|
63 |
-
});
|
64 |
-
|
65 |
-
um_admin_modal_responsive();
|
66 |
-
|
67 |
-
} else {
|
68 |
-
|
69 |
-
jQuery('.um-col-demon-settings').data('in_row', '');
|
70 |
-
jQuery('.um-col-demon-settings').data('in_sub_row', '');
|
71 |
-
jQuery('.um-col-demon-settings').data('in_column', '');
|
72 |
-
jQuery('.um-col-demon-settings').data('in_group', '');
|
73 |
-
|
74 |
-
um_admin_remove_modal();
|
75 |
-
um_admin_update_builder();
|
76 |
-
|
77 |
-
}
|
78 |
-
|
79 |
-
},
|
80 |
-
error: function(data){
|
81 |
-
|
82 |
-
}
|
83 |
-
});
|
84 |
-
|
85 |
-
return false;
|
86 |
-
|
87 |
-
});
|
88 |
-
|
89 |
});
|
1 |
+
jQuery(document).ready(function() {
|
2 |
+
|
3 |
+
/* Remove field permanently */
|
4 |
+
jQuery(document).on('click', '.um-admin-btns a span.remove', function(e){
|
5 |
+
e.preventDefault();
|
6 |
+
|
7 |
+
if (confirm('This will permanently delete this custom field from database')) {
|
8 |
+
|
9 |
+
jQuery(this).parents('a').remove();
|
10 |
+
|
11 |
+
arg1 = jQuery(this).parents('a').data('arg1');
|
12 |
+
|
13 |
+
jQuery.ajax({
|
14 |
+
url: ultimatemember_ajax_url,
|
15 |
+
type: 'POST',
|
16 |
+
data: {action: 'ultimatemember_do_ajax_action', act_id : 'um_admin_remove_field_global', arg1 : arg1 },
|
17 |
+
success: function(data){
|
18 |
+
|
19 |
+
},
|
20 |
+
error: function(data){
|
21 |
+
|
22 |
+
}
|
23 |
+
});
|
24 |
+
|
25 |
+
|
26 |
+
}
|
27 |
+
|
28 |
+
return false;
|
29 |
+
});
|
30 |
+
|
31 |
+
/* Add a Field */
|
32 |
+
jQuery(document).on('submit', 'form.um_add_field', function(e){
|
33 |
+
|
34 |
+
e.preventDefault();
|
35 |
+
|
36 |
+
var form = jQuery(this);
|
37 |
+
|
38 |
+
jQuery.ajax({
|
39 |
+
url: ultimatemember_ajax_url,
|
40 |
+
type: 'POST',
|
41 |
+
dataType: 'json',
|
42 |
+
data: form.serialize(),
|
43 |
+
beforeSend: function(){
|
44 |
+
form.css({'opacity': 0.5});
|
45 |
+
jQuery('.um-admin-error').removeClass('um-admin-error');
|
46 |
+
form.find('.um-admin-error-block').hide();
|
47 |
+
form.find('.um-admin-success-block').hide();
|
48 |
+
},
|
49 |
+
complete: function(){
|
50 |
+
form.css({'opacity': 1});
|
51 |
+
},
|
52 |
+
success: function(data){
|
53 |
+
|
54 |
+
if (data.error){
|
55 |
+
|
56 |
+
c = 0;
|
57 |
+
jQuery.each(data.error, function(i, v){
|
58 |
+
c++;
|
59 |
+
if ( c == 1 ) {
|
60 |
+
form.find('#'+i).addClass('um-admin-error').focus();
|
61 |
+
form.find('.um-admin-error-block').show().html(v);
|
62 |
+
}
|
63 |
+
});
|
64 |
+
|
65 |
+
um_admin_modal_responsive();
|
66 |
+
|
67 |
+
} else {
|
68 |
+
|
69 |
+
jQuery('.um-col-demon-settings').data('in_row', '');
|
70 |
+
jQuery('.um-col-demon-settings').data('in_sub_row', '');
|
71 |
+
jQuery('.um-col-demon-settings').data('in_column', '');
|
72 |
+
jQuery('.um-col-demon-settings').data('in_group', '');
|
73 |
+
|
74 |
+
um_admin_remove_modal();
|
75 |
+
um_admin_update_builder();
|
76 |
+
|
77 |
+
}
|
78 |
+
|
79 |
+
},
|
80 |
+
error: function(data){
|
81 |
+
|
82 |
+
}
|
83 |
+
});
|
84 |
+
|
85 |
+
return false;
|
86 |
+
|
87 |
+
});
|
88 |
+
|
89 |
});
|
admin/assets/js/um-admin-form.js
CHANGED
@@ -1,38 +1,38 @@
|
|
1 |
-
jQuery(document).ready(function() {
|
2 |
-
|
3 |
-
/* Default form tab */
|
4 |
-
if ( jQuery('.um-admin-boxed-links').length > 0 ) {
|
5 |
-
|
6 |
-
var tab = jQuery('.um-admin-boxed-links a[data-role="'+jQuery('input#_um_mode').val()+'"]');
|
7 |
-
|
8 |
-
tab.parents('.um-admin-boxed-links').find('a').removeClass('um-admin-activebg');
|
9 |
-
tab.addClass('um-admin-activebg');
|
10 |
-
jQuery('.um-admin div#side-sortables').show();
|
11 |
-
jQuery('div[id^="um-admin-form"]').hide();
|
12 |
-
jQuery('#submitdiv').show();
|
13 |
-
jQuery('div#um-admin-form-mode,div#um-admin-form-title,div#um-admin-form-builder,div#um-admin-form-shortcode').show();
|
14 |
-
jQuery('div[id^="um-admin-form-'+tab.data('role')+'"]').show();
|
15 |
-
jQuery('.empty-container').css({'border' : 'none'});
|
16 |
-
jQuery('.um-admin-builder').removeClass().addClass( 'um-admin-builder ' + jQuery('input#_um_mode').val() );
|
17 |
-
|
18 |
-
}
|
19 |
-
|
20 |
-
/* Creating new form button */
|
21 |
-
jQuery('.um-admin-boxed-links:not(.is-core-form) a').click(function(){
|
22 |
-
|
23 |
-
var tab = jQuery(this);
|
24 |
-
|
25 |
-
tab.parents('.um-admin-boxed-links').find('a').removeClass('um-admin-activebg');
|
26 |
-
tab.addClass('um-admin-activebg');
|
27 |
-
jQuery('.um-admin div#side-sortables').show();
|
28 |
-
jQuery('div[id^="um-admin-form"]').hide();
|
29 |
-
jQuery('#submitdiv').show();
|
30 |
-
jQuery('div#um-admin-form-mode,div#um-admin-form-title,div#um-admin-form-builder,div#um-admin-form-shortcode').show();
|
31 |
-
jQuery('div[id^="um-admin-form-'+tab.data('role')+'"]').show();
|
32 |
-
jQuery('input#_um_mode').val( tab.data('role') );
|
33 |
-
jQuery('.empty-container').css({'border' : 'none'});
|
34 |
-
jQuery('.um-admin-builder').removeClass().addClass( 'um-admin-builder ' + jQuery('input#_um_mode').val() );
|
35 |
-
|
36 |
-
});
|
37 |
-
|
38 |
});
|
1 |
+
jQuery(document).ready(function() {
|
2 |
+
|
3 |
+
/* Default form tab */
|
4 |
+
if ( jQuery('.um-admin-boxed-links').length > 0 ) {
|
5 |
+
|
6 |
+
var tab = jQuery('.um-admin-boxed-links a[data-role="'+jQuery('input#_um_mode').val()+'"]');
|
7 |
+
|
8 |
+
tab.parents('.um-admin-boxed-links').find('a').removeClass('um-admin-activebg');
|
9 |
+
tab.addClass('um-admin-activebg');
|
10 |
+
jQuery('.um-admin div#side-sortables').show();
|
11 |
+
jQuery('div[id^="um-admin-form"]').hide();
|
12 |
+
jQuery('#submitdiv').show();
|
13 |
+
jQuery('div#um-admin-form-mode,div#um-admin-form-title,div#um-admin-form-builder,div#um-admin-form-shortcode').show();
|
14 |
+
jQuery('div[id^="um-admin-form-'+tab.data('role')+'"]').show();
|
15 |
+
jQuery('.empty-container').css({'border' : 'none'});
|
16 |
+
jQuery('.um-admin-builder').removeClass().addClass( 'um-admin-builder ' + jQuery('input#_um_mode').val() );
|
17 |
+
|
18 |
+
}
|
19 |
+
|
20 |
+
/* Creating new form button */
|
21 |
+
jQuery('.um-admin-boxed-links:not(.is-core-form) a').click(function(){
|
22 |
+
|
23 |
+
var tab = jQuery(this);
|
24 |
+
|
25 |
+
tab.parents('.um-admin-boxed-links').find('a').removeClass('um-admin-activebg');
|
26 |
+
tab.addClass('um-admin-activebg');
|
27 |
+
jQuery('.um-admin div#side-sortables').show();
|
28 |
+
jQuery('div[id^="um-admin-form"]').hide();
|
29 |
+
jQuery('#submitdiv').show();
|
30 |
+
jQuery('div#um-admin-form-mode,div#um-admin-form-title,div#um-admin-form-builder,div#um-admin-form-shortcode').show();
|
31 |
+
jQuery('div[id^="um-admin-form-'+tab.data('role')+'"]').show();
|
32 |
+
jQuery('input#_um_mode').val( tab.data('role') );
|
33 |
+
jQuery('.empty-container').css({'border' : 'none'});
|
34 |
+
jQuery('.um-admin-builder').removeClass().addClass( 'um-admin-builder ' + jQuery('input#_um_mode').val() );
|
35 |
+
|
36 |
+
});
|
37 |
+
|
38 |
});
|
admin/assets/js/um-admin-modal.js
CHANGED
@@ -1,331 +1,364 @@
|
|
1 |
-
function um_admin_live_update_scripts() {
|
2 |
-
|
3 |
-
jQuery('.um-admin-modal-body:visible select').select2({
|
4 |
-
allowClear: false,
|
5 |
-
minimumResultsForSearch: 10
|
6 |
-
});
|
7 |
-
|
8 |
-
jQuery('.um-adm-conditional').each(function(){jQuery(this).trigger('change');});
|
9 |
-
|
10 |
-
jQuery('.um-admin-colorpicker').wpColorPicker();
|
11 |
-
|
12 |
-
}
|
13 |
-
|
14 |
-
function um_admin_new_modal( id, ajax, size ){
|
15 |
-
|
16 |
-
var modal = jQuery('body').find('.um-admin-overlay');
|
17 |
-
|
18 |
-
jQuery('.tipsy').hide();
|
19 |
-
|
20 |
-
um_admin_remove_modal();
|
21 |
-
|
22 |
-
jQuery('body').addClass('um-admin-modal-open').append('<div class="um-admin-overlay" /><div class="um-admin-modal" />');
|
23 |
-
jQuery('#' + id).prependTo('.um-admin-modal');
|
24 |
-
jQuery('#' + id).show();
|
25 |
-
jQuery('.um-admin-modal').show();
|
26 |
-
|
27 |
-
jQuery('.um-admin-modal-head').append('<a href="#" data-action="UM_remove_modal" class="um-admin-modal-close"><i class="um-faicon-times"></i></a>');
|
28 |
-
|
29 |
-
if ( ajax == true ) {
|
30 |
-
um_admin_modal_size( size );
|
31 |
-
um_admin_modal_preload();
|
32 |
-
um_admin_modal_responsive();
|
33 |
-
} else {
|
34 |
-
um_admin_modal_responsive();
|
35 |
-
}
|
36 |
-
|
37 |
-
}
|
38 |
-
|
39 |
-
function um_admin_modal_ajaxcall( act_id, arg1, arg2, arg3 ) {
|
40 |
-
|
41 |
-
in_row = '';
|
42 |
-
in_sub_row = '';
|
43 |
-
in_column = '';
|
44 |
-
in_group = '';
|
45 |
-
|
46 |
-
if ( jQuery('.um-col-demon-settings').data('in_column') ) {
|
47 |
-
in_row = jQuery('.um-col-demon-settings').data('in_row');
|
48 |
-
in_sub_row = jQuery('.um-col-demon-settings').data('in_sub_row');
|
49 |
-
in_column = jQuery('.um-col-demon-settings').data('in_column');
|
50 |
-
in_group = jQuery('.um-col-demon-settings').data('in_group');
|
51 |
-
}
|
52 |
-
|
53 |
-
jQuery.ajax({
|
54 |
-
url: ultimatemember_ajax_url,
|
55 |
-
type: 'POST',
|
56 |
-
data: {action: 'ultimatemember_dynamic_modal_content', act_id: act_id, arg1 : arg1, arg2 : arg2, arg3: arg3, in_row: in_row, in_sub_row: in_sub_row, in_column: in_column, in_group: in_group },
|
57 |
-
complete: function(){
|
58 |
-
um_admin_modal_loaded();
|
59 |
-
um_admin_modal_responsive();
|
60 |
-
},
|
61 |
-
success: function(data){
|
62 |
-
|
63 |
-
jQuery('.um-admin-modal').find('.um-admin-modal-body').html( data );
|
64 |
-
|
65 |
-
um_responsive();
|
66 |
-
|
67 |
-
um_admin_live_update_scripts();
|
68 |
-
|
69 |
-
if ( jQuery('.um-admin-editor:visible').length > 0 ) {
|
70 |
-
|
71 |
-
if ( act_id == 'um_admin_edit_field_popup' ) {
|
72 |
-
|
73 |
-
tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_edit');
|
74 |
-
jQuery('.um-admin-editor:visible').html( jQuery('.um-hidden-editor-edit').contents() );
|
75 |
-
tinyMCE.execCommand('mceAddEditor', true, 'um_editor_edit');
|
76 |
-
|
77 |
-
jQuery('.switch-html').trigger('click');
|
78 |
-
jQuery('.switch-html').trigger('click');
|
79 |
-
jQuery('.switch-tmce').trigger('click');
|
80 |
-
|
81 |
-
jQuery('#um_editor_edit_ifr').height(200);
|
82 |
-
|
83 |
-
var editor = tinyMCE.get('um_editor_edit');
|
84 |
-
var content = editor.getContent();
|
85 |
-
editor.setContent( jQuery('.um-admin-modal:visible .dynamic-mce-content').html() );
|
86 |
-
|
87 |
-
} else {
|
88 |
-
|
89 |
-
tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_new');
|
90 |
-
jQuery('.um-admin-editor:visible').html( jQuery('.um-hidden-editor-new').contents() );
|
91 |
-
tinyMCE.execCommand('mceAddEditor', true, 'um_editor_new');
|
92 |
-
|
93 |
-
jQuery('.switch-html').trigger('click');
|
94 |
-
jQuery('.switch-html').trigger('click');
|
95 |
-
jQuery('.switch-tmce').trigger('click');
|
96 |
-
|
97 |
-
jQuery('#um_editor_new_ifr').height(200);
|
98 |
-
|
99 |
-
}
|
100 |
-
|
101 |
-
}
|
102 |
-
|
103 |
-
},
|
104 |
-
error: function(data){
|
105 |
-
|
106 |
-
}
|
107 |
-
});
|
108 |
-
return false;
|
109 |
-
}
|
110 |
-
|
111 |
-
function um_admin_modal_responsive() {
|
112 |
-
var required_margin = jQuery('.um-admin-modal:visible').innerHeight() / 2 + 'px';
|
113 |
-
jQuery('.um-admin-modal:visible').css({'margin-top': '-' + required_margin });
|
114 |
-
}
|
115 |
-
|
116 |
-
function um_admin_remove_modal(){
|
117 |
-
|
118 |
-
if ( jQuery('.um-admin-editor:visible').length > 0 ) {
|
119 |
-
|
120 |
-
if ( jQuery('.um-admin-modal:visible').find('form').parent().attr('id') == 'UM_edit_field' ) {
|
121 |
-
|
122 |
-
tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_edit');
|
123 |
-
jQuery('.um-hidden-editor-edit').html( jQuery('.um-admin-editor:visible').contents() );
|
124 |
-
tinyMCE.execCommand('mceAddEditor', true, 'um_editor_edit');
|
125 |
-
|
126 |
-
} else {
|
127 |
-
|
128 |
-
tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_new');
|
129 |
-
jQuery('.um-hidden-editor-new').html( jQuery('.um-admin-editor:visible').contents() );
|
130 |
-
tinyMCE.execCommand('mceAddEditor', true, 'um_editor_new');
|
131 |
-
|
132 |
-
}
|
133 |
-
|
134 |
-
}
|
135 |
-
|
136 |
-
jQuery('body').removeClass('um-admin-modal-open');
|
137 |
-
jQuery('.um-admin-modal div[id^="UM_"]').hide().appendTo('body');
|
138 |
-
jQuery('.um-admin-modal,.um-admin-overlay').remove();
|
139 |
-
}
|
140 |
-
|
141 |
-
function um_admin_modal_preload() {
|
142 |
-
jQuery('.um-admin-modal:visible').addClass('loading');
|
143 |
-
jQuery('.um-admin-modal-body:visible').empty();
|
144 |
-
}
|
145 |
-
|
146 |
-
function um_admin_modal_loaded() {
|
147 |
-
jQuery('.um-admin-modal:visible').removeClass('loading');
|
148 |
-
}
|
149 |
-
|
150 |
-
function um_admin_modal_size( aclass ) {
|
151 |
-
jQuery('.um-admin-modal:visible').addClass(aclass);
|
152 |
-
}
|
153 |
-
|
154 |
-
function um_admin_modal_add_attr( id, value ) {
|
155 |
-
jQuery('.um-admin-modal:visible').data( id, value );
|
156 |
-
}
|
157 |
-
|
158 |
-
/**
|
159 |
-
Custom modal scripting starts
|
160 |
-
**/
|
161 |
-
|
162 |
-
jQuery(document).ready(function() {
|
163 |
-
|
164 |
-
/**
|
165 |
-
disable link
|
166 |
-
**/
|
167 |
-
jQuery(document).on('click', '.um-admin-builder a, .um-admin-modal a', function(e){
|
168 |
-
e.preventDefault();
|
169 |
-
return false;
|
170 |
-
});
|
171 |
-
|
172 |
-
/**
|
173 |
-
toggle area
|
174 |
-
**/
|
175 |
-
jQuery(document).on('click', '.um-admin-btn-toggle a', function(e){
|
176 |
-
var content = jQuery(this).parent().find('.um-admin-btn-content');
|
177 |
-
var link = jQuery(this);
|
178 |
-
if ( content.is(':hidden') ) {
|
179 |
-
content.show();
|
180 |
-
link.find('i').removeClass().addClass('um-icon-minus');
|
181 |
-
link.addClass('active');
|
182 |
-
} else {
|
183 |
-
content.hide();
|
184 |
-
link.find('i').removeClass().addClass('um-icon-plus');
|
185 |
-
link.removeClass('active');
|
186 |
-
}
|
187 |
-
um_admin_modal_responsive();
|
188 |
-
});
|
189 |
-
|
190 |
-
/**
|
191 |
-
clone a condition
|
192 |
-
**/
|
193 |
-
jQuery(document).on('click', '.um-admin-new-condition', function(){
|
194 |
-
var content = jQuery(this).parents('.um-admin-btn-content');
|
195 |
-
content.find('select').select2('destroy');
|
196 |
-
var length = content.find('.um-admin-cur-condition').length;
|
197 |
-
if ( length < 5 ) {
|
198 |
-
var cloned = jQuery(this).parents('.um-admin-cur-condition').clone();
|
199 |
-
cloned.find('input[type=text],select').each(function(){
|
200 |
-
jQuery(this).attr('id', jQuery(this).attr('id') + length );
|
201 |
-
jQuery(this).attr('name', jQuery(this).attr('name') + length );
|
202 |
-
});
|
203 |
-
cloned.find('input[type=text]').val('');
|
204 |
-
cloned.find('.um-admin-new-condition').replaceWith('<p><a href="#" class="um-admin-remove-condition button um-admin-tipsy-n" title="Remove condition"><i class="um-icon-close" style="margin-right:0!important"></i></a></p>');
|
205 |
-
|
206 |
-
cloned.appendTo( content );
|
207 |
-
cloned.find('select').val('');
|
208 |
-
um_admin_live_update_scripts();
|
209 |
-
um_admin_modal_responsive();
|
210 |
-
} else {
|
211 |
-
alert('You already have 5 rules');
|
212 |
-
}
|
213 |
-
});
|
214 |
-
|
215 |
-
/**
|
216 |
-
reset conditions
|
217 |
-
**/
|
218 |
-
jQuery(document).on('click', '.um-admin-reset-conditions a', function(){
|
219 |
-
var content = jQuery(this).parents('.um-admin-btn-content');
|
220 |
-
content.find('.um-admin-cur-condition').slice(1).remove();
|
221 |
-
content.find('input[type=text]').val('');
|
222 |
-
content.find('select').val('');
|
223 |
-
um_admin_live_update_scripts();
|
224 |
-
um_admin_modal_responsive();
|
225 |
-
});
|
226 |
-
|
227 |
-
/**
|
228 |
-
remove a condition
|
229 |
-
**/
|
230 |
-
jQuery(document).on('click', '.um-admin-remove-condition', function(){
|
231 |
-
var condition = jQuery(this).parents('.um-admin-cur-condition');
|
232 |
-
jQuery('.tipsy').remove();
|
233 |
-
condition.remove();
|
234 |
-
um_admin_live_update_scripts();
|
235 |
-
um_admin_modal_responsive();
|
236 |
-
});
|
237 |
-
|
238 |
-
/**
|
239 |
-
remove modal via action
|
240 |
-
**/
|
241 |
-
jQuery(document).on('click', '.um-admin-overlay, a[data-action="UM_remove_modal"]', function(){
|
242 |
-
um_admin_remove_modal();
|
243 |
-
});
|
244 |
-
|
245 |
-
/**
|
246 |
-
fire new modal
|
247 |
-
**/
|
248 |
-
jQuery(document).on('click', 'a[data-modal^="UM_"], span[data-modal^="UM_"]', function(e){
|
249 |
-
|
250 |
-
e.preventDefault();
|
251 |
-
|
252 |
-
var modal_id = jQuery(this).attr('data-modal');
|
253 |
-
|
254 |
-
if ( jQuery(this).attr('data-back') ) {
|
255 |
-
|
256 |
-
jQuery('#UM_fonticons').find('a.um-admin-modal-back').attr("data-modal", jQuery(this).attr('data-back') );
|
257 |
-
var current_icon = jQuery( '#' + jQuery(this).attr('data-back') ).find('input#_icon').val();
|
258 |
-
if ( current_icon == '' ) {
|
259 |
-
jQuery('#UM_fonticons').find('.um-admin-icons span').removeClass('highlighted');
|
260 |
-
}
|
261 |
-
|
262 |
-
}
|
263 |
-
|
264 |
-
if ( jQuery(this).data('dynamic-content') ) {
|
265 |
-
um_admin_new_modal( modal_id, true, jQuery(this).data('modal-size') );
|
266 |
-
um_admin_modal_ajaxcall( jQuery(this).data('dynamic-content'), jQuery(this).data('arg1'), jQuery(this).data('arg2'), jQuery(this).data('arg3') );
|
267 |
-
} else {
|
268 |
-
um_admin_new_modal( modal_id );
|
269 |
-
}
|
270 |
-
|
271 |
-
return false;
|
272 |
-
|
273 |
-
});
|
274 |
-
|
275 |
-
/**
|
276 |
-
choose font icon
|
277 |
-
**/
|
278 |
-
jQuery(document).on('click', '.um-admin-icons span', function(){
|
279 |
-
var icon = jQuery(this).attr('data-code');
|
280 |
-
jQuery(this).parent().find('span').removeClass('highlighted');
|
281 |
-
jQuery(this).addClass('highlighted');
|
282 |
-
jQuery('#UM_fonticons').find('a.um-admin-modal-back').attr("data-code", icon);
|
283 |
-
});
|
284 |
-
|
285 |
-
/**
|
286 |
-
submit font icon
|
287 |
-
**/
|
288 |
-
jQuery(document).on('click', '#UM_fonticons a.um-admin-modal-back:not(.um-admin-modal-cancel)', function(){
|
289 |
-
var v_id = '';
|
290 |
-
var icon_selected = jQuery(this).attr('data-code');
|
291 |
-
if (icon_selected != ''){
|
292 |
-
if ( jQuery(this).attr('data-modal') ) {
|
293 |
-
v_id = '#' + jQuery(this).attr('data-modal');
|
294 |
-
} else {
|
295 |
-
v_id = '.postbox';
|
296 |
-
}
|
297 |
-
jQuery( v_id ).find('input#_icon,input#_um_icon').val( icon_selected );
|
298 |
-
jQuery( v_id ).find('span.um-admin-icon-value').html('<i class="'+icon_selected+'"></i>');
|
299 |
-
jQuery( v_id ).find('.um-admin-icon-clear').show();
|
300 |
-
}
|
301 |
-
jQuery(this).attr('data-code', '');
|
302 |
-
if ( v_id == '.postbox' ) {
|
303 |
-
um_admin_remove_modal();
|
304 |
-
}
|
305 |
-
});
|
306 |
-
|
307 |
-
/**
|
308 |
-
restore font icon
|
309 |
-
**/
|
310 |
-
jQuery(document).on('click', 'span.um-admin-icon-clear', function(){
|
311 |
-
var element = jQuery(this).parents('p');
|
312 |
-
jQuery('#UM_fonticons a.um-admin-modal-back').attr('data-code', '');
|
313 |
-
element.find('input[type=hidden]').val('');
|
314 |
-
element.find('.um-admin-icon-value').html('No Icon');
|
315 |
-
jQuery(this).hide();
|
316 |
-
});
|
317 |
-
|
318 |
-
/**
|
319 |
-
search font icons
|
320 |
-
**/
|
321 |
-
jQuery(document).on('keyup blur', '#_icon_search', function(){
|
322 |
-
if ( jQuery(this).val().toLowerCase() != '' ) {
|
323 |
-
jQuery('.um-admin-icons span').hide();
|
324 |
-
jQuery('.um-admin-icons span[data-code*="'+jQuery(this).val().toLowerCase()+'"]').show();
|
325 |
-
} else {
|
326 |
-
jQuery('.um-admin-icons span:hidden').show();
|
327 |
-
}
|
328 |
-
um_admin_modal_responsive();
|
329 |
-
});
|
330 |
-
|
331 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
function um_admin_live_update_scripts() {
|
2 |
+
|
3 |
+
jQuery('.um-admin-modal-body:visible select').select2({
|
4 |
+
allowClear: false,
|
5 |
+
minimumResultsForSearch: 10
|
6 |
+
});
|
7 |
+
|
8 |
+
jQuery('.um-adm-conditional').each(function(){jQuery(this).trigger('change');});
|
9 |
+
|
10 |
+
jQuery('.um-admin-colorpicker').wpColorPicker();
|
11 |
+
|
12 |
+
}
|
13 |
+
|
14 |
+
function um_admin_new_modal( id, ajax, size ){
|
15 |
+
|
16 |
+
var modal = jQuery('body').find('.um-admin-overlay');
|
17 |
+
|
18 |
+
jQuery('.tipsy').hide();
|
19 |
+
|
20 |
+
um_admin_remove_modal();
|
21 |
+
|
22 |
+
jQuery('body').addClass('um-admin-modal-open').append('<div class="um-admin-overlay" /><div class="um-admin-modal" />');
|
23 |
+
jQuery('#' + id).prependTo('.um-admin-modal');
|
24 |
+
jQuery('#' + id).show();
|
25 |
+
jQuery('.um-admin-modal').show();
|
26 |
+
|
27 |
+
jQuery('.um-admin-modal-head').append('<a href="#" data-action="UM_remove_modal" class="um-admin-modal-close"><i class="um-faicon-times"></i></a>');
|
28 |
+
|
29 |
+
if ( ajax == true ) {
|
30 |
+
um_admin_modal_size( size );
|
31 |
+
um_admin_modal_preload();
|
32 |
+
um_admin_modal_responsive();
|
33 |
+
} else {
|
34 |
+
um_admin_modal_responsive();
|
35 |
+
}
|
36 |
+
|
37 |
+
}
|
38 |
+
|
39 |
+
function um_admin_modal_ajaxcall( act_id, arg1, arg2, arg3 ) {
|
40 |
+
|
41 |
+
in_row = '';
|
42 |
+
in_sub_row = '';
|
43 |
+
in_column = '';
|
44 |
+
in_group = '';
|
45 |
+
|
46 |
+
if ( jQuery('.um-col-demon-settings').data('in_column') ) {
|
47 |
+
in_row = jQuery('.um-col-demon-settings').data('in_row');
|
48 |
+
in_sub_row = jQuery('.um-col-demon-settings').data('in_sub_row');
|
49 |
+
in_column = jQuery('.um-col-demon-settings').data('in_column');
|
50 |
+
in_group = jQuery('.um-col-demon-settings').data('in_group');
|
51 |
+
}
|
52 |
+
|
53 |
+
jQuery.ajax({
|
54 |
+
url: ultimatemember_ajax_url,
|
55 |
+
type: 'POST',
|
56 |
+
data: {action: 'ultimatemember_dynamic_modal_content', act_id: act_id, arg1 : arg1, arg2 : arg2, arg3: arg3, in_row: in_row, in_sub_row: in_sub_row, in_column: in_column, in_group: in_group },
|
57 |
+
complete: function(){
|
58 |
+
um_admin_modal_loaded();
|
59 |
+
um_admin_modal_responsive();
|
60 |
+
},
|
61 |
+
success: function(data){
|
62 |
+
|
63 |
+
jQuery('.um-admin-modal').find('.um-admin-modal-body').html( data );
|
64 |
+
|
65 |
+
um_responsive();
|
66 |
+
|
67 |
+
um_admin_live_update_scripts();
|
68 |
+
|
69 |
+
if ( jQuery('.um-admin-editor:visible').length > 0 ) {
|
70 |
+
|
71 |
+
if ( act_id == 'um_admin_edit_field_popup' ) {
|
72 |
+
|
73 |
+
tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_edit');
|
74 |
+
jQuery('.um-admin-editor:visible').html( jQuery('.um-hidden-editor-edit').contents() );
|
75 |
+
tinyMCE.execCommand('mceAddEditor', true, 'um_editor_edit');
|
76 |
+
|
77 |
+
jQuery('.switch-html').trigger('click');
|
78 |
+
jQuery('.switch-html').trigger('click');
|
79 |
+
jQuery('.switch-tmce').trigger('click');
|
80 |
+
|
81 |
+
jQuery('#um_editor_edit_ifr').height(200);
|
82 |
+
|
83 |
+
var editor = tinyMCE.get('um_editor_edit');
|
84 |
+
var content = editor.getContent();
|
85 |
+
editor.setContent( jQuery('.um-admin-modal:visible .dynamic-mce-content').html() );
|
86 |
+
|
87 |
+
} else {
|
88 |
+
|
89 |
+
tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_new');
|
90 |
+
jQuery('.um-admin-editor:visible').html( jQuery('.um-hidden-editor-new').contents() );
|
91 |
+
tinyMCE.execCommand('mceAddEditor', true, 'um_editor_new');
|
92 |
+
|
93 |
+
jQuery('.switch-html').trigger('click');
|
94 |
+
jQuery('.switch-html').trigger('click');
|
95 |
+
jQuery('.switch-tmce').trigger('click');
|
96 |
+
|
97 |
+
jQuery('#um_editor_new_ifr').height(200);
|
98 |
+
|
99 |
+
}
|
100 |
+
|
101 |
+
}
|
102 |
+
|
103 |
+
},
|
104 |
+
error: function(data){
|
105 |
+
|
106 |
+
}
|
107 |
+
});
|
108 |
+
return false;
|
109 |
+
}
|
110 |
+
|
111 |
+
function um_admin_modal_responsive() {
|
112 |
+
var required_margin = jQuery('.um-admin-modal:visible').innerHeight() / 2 + 'px';
|
113 |
+
jQuery('.um-admin-modal:visible').css({'margin-top': '-' + required_margin });
|
114 |
+
}
|
115 |
+
|
116 |
+
function um_admin_remove_modal(){
|
117 |
+
|
118 |
+
if ( jQuery('.um-admin-editor:visible').length > 0 ) {
|
119 |
+
|
120 |
+
if ( jQuery('.um-admin-modal:visible').find('form').parent().attr('id') == 'UM_edit_field' ) {
|
121 |
+
|
122 |
+
tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_edit');
|
123 |
+
jQuery('.um-hidden-editor-edit').html( jQuery('.um-admin-editor:visible').contents() );
|
124 |
+
tinyMCE.execCommand('mceAddEditor', true, 'um_editor_edit');
|
125 |
+
|
126 |
+
} else {
|
127 |
+
|
128 |
+
tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_new');
|
129 |
+
jQuery('.um-hidden-editor-new').html( jQuery('.um-admin-editor:visible').contents() );
|
130 |
+
tinyMCE.execCommand('mceAddEditor', true, 'um_editor_new');
|
131 |
+
|
132 |
+
}
|
133 |
+
|
134 |
+
}
|
135 |
+
|
136 |
+
jQuery('body').removeClass('um-admin-modal-open');
|
137 |
+
jQuery('.um-admin-modal div[id^="UM_"]').hide().appendTo('body');
|
138 |
+
jQuery('.um-admin-modal,.um-admin-overlay').remove();
|
139 |
+
}
|
140 |
+
|
141 |
+
function um_admin_modal_preload() {
|
142 |
+
jQuery('.um-admin-modal:visible').addClass('loading');
|
143 |
+
jQuery('.um-admin-modal-body:visible').empty();
|
144 |
+
}
|
145 |
+
|
146 |
+
function um_admin_modal_loaded() {
|
147 |
+
jQuery('.um-admin-modal:visible').removeClass('loading');
|
148 |
+
}
|
149 |
+
|
150 |
+
function um_admin_modal_size( aclass ) {
|
151 |
+
jQuery('.um-admin-modal:visible').addClass(aclass);
|
152 |
+
}
|
153 |
+
|
154 |
+
function um_admin_modal_add_attr( id, value ) {
|
155 |
+
jQuery('.um-admin-modal:visible').data( id, value );
|
156 |
+
}
|
157 |
+
|
158 |
+
/**
|
159 |
+
Custom modal scripting starts
|
160 |
+
**/
|
161 |
+
|
162 |
+
jQuery(document).ready(function() {
|
163 |
+
|
164 |
+
/**
|
165 |
+
disable link
|
166 |
+
**/
|
167 |
+
jQuery(document).on('click', '.um-admin-builder a, .um-admin-modal a', function(e){
|
168 |
+
e.preventDefault();
|
169 |
+
return false;
|
170 |
+
});
|
171 |
+
|
172 |
+
/**
|
173 |
+
toggle area
|
174 |
+
**/
|
175 |
+
jQuery(document).on('click', '.um-admin-btn-toggle a', function(e){
|
176 |
+
var content = jQuery(this).parent().find('.um-admin-btn-content');
|
177 |
+
var link = jQuery(this);
|
178 |
+
if ( content.is(':hidden') ) {
|
179 |
+
content.show();
|
180 |
+
link.find('i').removeClass().addClass('um-icon-minus');
|
181 |
+
link.addClass('active');
|
182 |
+
} else {
|
183 |
+
content.hide();
|
184 |
+
link.find('i').removeClass().addClass('um-icon-plus');
|
185 |
+
link.removeClass('active');
|
186 |
+
}
|
187 |
+
um_admin_modal_responsive();
|
188 |
+
});
|
189 |
+
|
190 |
+
/**
|
191 |
+
clone a condition
|
192 |
+
**/
|
193 |
+
jQuery(document).on('click', '.um-admin-new-condition', function(){
|
194 |
+
var content = jQuery(this).parents('.um-admin-btn-content');
|
195 |
+
content.find('select').select2('destroy');
|
196 |
+
var length = content.find('.um-admin-cur-condition').length;
|
197 |
+
if ( length < 5 ) {
|
198 |
+
var cloned = jQuery(this).parents('.um-admin-cur-condition').clone();
|
199 |
+
cloned.find('input[type=text],select').each(function(){
|
200 |
+
jQuery(this).attr('id', jQuery(this).attr('id') + length );
|
201 |
+
jQuery(this).attr('name', jQuery(this).attr('name') + length );
|
202 |
+
});
|
203 |
+
cloned.find('input[type=text]').val('');
|
204 |
+
cloned.find('.um-admin-new-condition').replaceWith('<p><a href="#" class="um-admin-remove-condition button um-admin-tipsy-n" title="Remove condition"><i class="um-icon-close" style="margin-right:0!important"></i></a></p>');
|
205 |
+
|
206 |
+
cloned.appendTo( content );
|
207 |
+
cloned.find('select').val('');
|
208 |
+
um_admin_live_update_scripts();
|
209 |
+
um_admin_modal_responsive();
|
210 |
+
} else {
|
211 |
+
alert('You already have 5 rules');
|
212 |
+
}
|
213 |
+
});
|
214 |
+
|
215 |
+
/**
|
216 |
+
reset conditions
|
217 |
+
**/
|
218 |
+
jQuery(document).on('click', '.um-admin-reset-conditions a', function(){
|
219 |
+
var content = jQuery(this).parents('.um-admin-btn-content');
|
220 |
+
content.find('.um-admin-cur-condition').slice(1).remove();
|
221 |
+
content.find('input[type=text]').val('');
|
222 |
+
content.find('select').val('');
|
223 |
+
um_admin_live_update_scripts();
|
224 |
+
um_admin_modal_responsive();
|
225 |
+
});
|
226 |
+
|
227 |
+
/**
|
228 |
+
remove a condition
|
229 |
+
**/
|
230 |
+
jQuery(document).on('click', '.um-admin-remove-condition', function(){
|
231 |
+
var condition = jQuery(this).parents('.um-admin-cur-condition');
|
232 |
+
jQuery('.tipsy').remove();
|
233 |
+
condition.remove();
|
234 |
+
um_admin_live_update_scripts();
|
235 |
+
um_admin_modal_responsive();
|
236 |
+
});
|
237 |
+
|
238 |
+
/**
|
239 |
+
remove modal via action
|
240 |
+
**/
|
241 |
+
jQuery(document).on('click', '.um-admin-overlay, a[data-action="UM_remove_modal"]', function(){
|
242 |
+
um_admin_remove_modal();
|
243 |
+
});
|
244 |
+
|
245 |
+
/**
|
246 |
+
fire new modal
|
247 |
+
**/
|
248 |
+
jQuery(document).on('click', 'a[data-modal^="UM_"], span[data-modal^="UM_"]', function(e){
|
249 |
+
|
250 |
+
e.preventDefault();
|
251 |
+
|
252 |
+
var modal_id = jQuery(this).attr('data-modal');
|
253 |
+
|
254 |
+
if ( jQuery(this).attr('data-back') ) {
|
255 |
+
|
256 |
+
jQuery('#UM_fonticons').find('a.um-admin-modal-back').attr("data-modal", jQuery(this).attr('data-back') );
|
257 |
+
var current_icon = jQuery( '#' + jQuery(this).attr('data-back') ).find('input#_icon').val();
|
258 |
+
if ( current_icon == '' ) {
|
259 |
+
jQuery('#UM_fonticons').find('.um-admin-icons span').removeClass('highlighted');
|
260 |
+
}
|
261 |
+
|
262 |
+
}
|
263 |
+
|
264 |
+
if ( jQuery(this).data('dynamic-content') ) {
|
265 |
+
um_admin_new_modal( modal_id, true, jQuery(this).data('modal-size') );
|
266 |
+
um_admin_modal_ajaxcall( jQuery(this).data('dynamic-content'), jQuery(this).data('arg1'), jQuery(this).data('arg2'), jQuery(this).data('arg3') );
|
267 |
+
} else {
|
268 |
+
um_admin_new_modal( modal_id );
|
269 |
+
}
|
270 |
+
|
271 |
+
return false;
|
272 |
+
|
273 |
+
});
|
274 |
+
|
275 |
+
/**
|
276 |
+
choose font icon
|
277 |
+
**/
|
278 |
+
jQuery(document).on('click', '.um-admin-icons span', function(){
|
279 |
+
var icon = jQuery(this).attr('data-code');
|
280 |
+
jQuery(this).parent().find('span').removeClass('highlighted');
|
281 |
+
jQuery(this).addClass('highlighted');
|
282 |
+
jQuery('#UM_fonticons').find('a.um-admin-modal-back').attr("data-code", icon);
|
283 |
+
});
|
284 |
+
|
285 |
+
/**
|
286 |
+
submit font icon
|
287 |
+
**/
|
288 |
+
jQuery(document).on('click', '#UM_fonticons a.um-admin-modal-back:not(.um-admin-modal-cancel)', function(){
|
289 |
+
var v_id = '';
|
290 |
+
var icon_selected = jQuery(this).attr('data-code');
|
291 |
+
if (icon_selected != ''){
|
292 |
+
if ( jQuery(this).attr('data-modal') ) {
|
293 |
+
v_id = '#' + jQuery(this).attr('data-modal');
|
294 |
+
} else {
|
295 |
+
v_id = '.postbox';
|
296 |
+
}
|
297 |
+
jQuery( v_id ).find('input#_icon,input#_um_icon').val( icon_selected );
|
298 |
+
jQuery( v_id ).find('span.um-admin-icon-value').html('<i class="'+icon_selected+'"></i>');
|
299 |
+
jQuery( v_id ).find('.um-admin-icon-clear').show();
|
300 |
+
}
|
301 |
+
jQuery(this).attr('data-code', '');
|
302 |
+
if ( v_id == '.postbox' ) {
|
303 |
+
um_admin_remove_modal();
|
304 |
+
}
|
305 |
+
});
|
306 |
+
|
307 |
+
/**
|
308 |
+
restore font icon
|
309 |
+
**/
|
310 |
+
jQuery(document).on('click', 'span.um-admin-icon-clear', function(){
|
311 |
+
var element = jQuery(this).parents('p');
|
312 |
+
jQuery('#UM_fonticons a.um-admin-modal-back').attr('data-code', '');
|
313 |
+
element.find('input[type=hidden]').val('');
|
314 |
+
element.find('.um-admin-icon-value').html('No Icon');
|
315 |
+
jQuery(this).hide();
|
316 |
+
});
|
317 |
+
|
318 |
+
/**
|
319 |
+
search font icons
|
320 |
+
**/
|
321 |
+
jQuery(document).on('keyup blur', '#_icon_search', function(){
|
322 |
+
if ( jQuery(this).val().toLowerCase() != '' ) {
|
323 |
+
jQuery('.um-admin-icons span').hide();
|
324 |
+
jQuery('.um-admin-icons span[data-code*="'+jQuery(this).val().toLowerCase()+'"]').show();
|
325 |
+
} else {
|
326 |
+
jQuery('.um-admin-icons span:hidden').show();
|
327 |
+
}
|
328 |
+
um_admin_modal_responsive();
|
329 |
+
});
|
330 |
+
|
331 |
+
|
332 |
+
/**
|
333 |
+
* Retrieve options from a callback function
|
334 |
+
*/
|
335 |
+
jQuery(document).on('blur',"#_custom_dropdown_options_source", function(){
|
336 |
+
var me = jQuery(this);
|
337 |
+
var _options = jQuery('textarea[id=_options]');
|
338 |
+
|
339 |
+
if( me.val() != '' ){
|
340 |
+
var um_option_callback = me.val();
|
341 |
+
jQuery.ajax({
|
342 |
+
url: ultimatemember_ajax_url,
|
343 |
+
type: 'POST',
|
344 |
+
data: {action: 'ultimatemember_populate_dropdown_options', um_option_callback: um_option_callback },
|
345 |
+
complete: function(){
|
346 |
+
|
347 |
+
},
|
348 |
+
success: function( response ){
|
349 |
+
var arr_opts = [];
|
350 |
+
|
351 |
+
for (var key in response.data ){
|
352 |
+
arr_opts.push( response.data[ key ] );
|
353 |
+
}
|
354 |
+
|
355 |
+
_options.val( arr_opts.join('\n') );
|
356 |
+
|
357 |
+
}
|
358 |
+
});
|
359 |
+
}
|
360 |
+
|
361 |
+
});
|
362 |
+
|
363 |
+
}); // end jQuery(document).ready
|
364 |
+
|
admin/assets/js/um-admin-scripts.js
CHANGED
@@ -1,195 +1,195 @@
|
|
1 |
-
jQuery(document).ready(function() {
|
2 |
-
|
3 |
-
/**
|
4 |
-
clone a field dropdown
|
5 |
-
**/
|
6 |
-
jQuery(document).on('click', '.um-admin-clone', function(e){
|
7 |
-
e.preventDefault();
|
8 |
-
var container = jQuery(this).parents('.um-admin-field');
|
9 |
-
var parent = jQuery(this).parents('p').find('.um-admin-field:last-child');
|
10 |
-
container.find('select').select2('destroy');
|
11 |
-
var cloned = container.clone();
|
12 |
-
cloned.find('.um-admin-clone').replaceWith('<a href="#" class="um-admin-clone-remove button um-admin-tipsy-n" title="Remove Field"><i class="um-icon-close" style="margin-right:0!important"></i></a>');
|
13 |
-
cloned.insertAfter( parent );
|
14 |
-
cloned.find('select').val('');
|
15 |
-
jQuery('.um-admin-field select').select2({
|
16 |
-
allowClear: true,
|
17 |
-
minimumResultsForSearch: 10
|
18 |
-
});
|
19 |
-
return false;
|
20 |
-
});
|
21 |
-
|
22 |
-
/**
|
23 |
-
remove a field dropdown
|
24 |
-
**/
|
25 |
-
jQuery(document).on('click', '.um-admin-clone-remove', function(e){
|
26 |
-
e.preventDefault();
|
27 |
-
var container = jQuery(this).parents('.um-admin-field');
|
28 |
-
jQuery('.tipsy').remove();
|
29 |
-
container.remove();
|
30 |
-
jQuery('.um-admin-field select').select2({
|
31 |
-
allowClear: true,
|
32 |
-
minimumResultsForSearch: 10
|
33 |
-
});
|
34 |
-
return false;
|
35 |
-
});
|
36 |
-
|
37 |
-
/**
|
38 |
-
Ajax link
|
39 |
-
**/
|
40 |
-
|
41 |
-
jQuery('.um-admin-ajaxlink').click(function(e){
|
42 |
-
e.preventDefault();
|
43 |
-
return false;
|
44 |
-
});
|
45 |
-
|
46 |
-
/**
|
47 |
-
On/Off Buttons
|
48 |
-
**/
|
49 |
-
|
50 |
-
jQuery(document).on('click', '.um-admin-yesno span.btn', function(){
|
51 |
-
if (!jQuery(this).parents('p').hasClass('disabled-on-off')){
|
52 |
-
if ( jQuery(this).parent().find('input[type=hidden]').val() == 0 ){
|
53 |
-
update_val = 1;
|
54 |
-
jQuery(this).animate({'left': '48px'}, 200);
|
55 |
-
jQuery(this).parent().find('input[type=hidden]').val( update_val ).trigger('change');
|
56 |
-
} else {
|
57 |
-
update_val = 0;
|
58 |
-
jQuery(this).animate({'left': '0'}, 200);
|
59 |
-
jQuery(this).parent().find('input[type=hidden]').val( update_val ).trigger('change');
|
60 |
-
}
|
61 |
-
}
|
62 |
-
});
|
63 |
-
|
64 |
-
/**
|
65 |
-
WP Color Picker
|
66 |
-
**/
|
67 |
-
|
68 |
-
jQuery('.um-admin-colorpicker').wpColorPicker();
|
69 |
-
|
70 |
-
/**
|
71 |
-
Select Dropdowns
|
72 |
-
**/
|
73 |
-
|
74 |
-
jQuery(".umaf-selectjs, .ultimate-member_page_um_options .redux-select-item ").select2({
|
75 |
-
allowClear: false,
|
76 |
-
minimumResultsForSearch: 10
|
77 |
-
});
|
78 |
-
|
79 |
-
jQuery('.um-admin-field select').select2({
|
80 |
-
allowClear: true,
|
81 |
-
minimumResultsForSearch: 10
|
82 |
-
});
|
83 |
-
|
84 |
-
/**
|
85 |
-
Tooltips
|
86 |
-
**/
|
87 |
-
|
88 |
-
if( typeof tipsy !== 'undefined' ){
|
89 |
-
jQuery('.um-admin-tipsy-n,#redux-share a').tipsy({gravity: 'n', opacity: 1, live: 'a.live' });
|
90 |
-
jQuery('.um-admin-tipsy-w').tipsy({gravity: 'w', opacity: 1, live: 'a.live' });
|
91 |
-
jQuery('.um-admin-tipsy-e').tipsy({gravity: 'e', opacity: 1, live: 'a.live' });
|
92 |
-
jQuery('.um-admin-tipsy-s').tipsy({gravity: 's', opacity: 1, live: 'a.live' });
|
93 |
-
}
|
94 |
-
|
95 |
-
/**
|
96 |
-
Conditional fields
|
97 |
-
**/
|
98 |
-
|
99 |
-
jQuery(document).on('change', '.um-adm-conditional', function(){
|
100 |
-
|
101 |
-
if ( jQuery(this).data('cond1') ) {
|
102 |
-
if (jQuery(this).val() == jQuery(this).data('cond1') ){
|
103 |
-
jQuery('.' + jQuery(this).data('cond1-show') ).show();
|
104 |
-
jQuery('.' + jQuery(this).data('cond1-hide') ).hide();
|
105 |
-
|
106 |
-
if ( jQuery(this).data('cond1-show') == '_roles' ) {
|
107 |
-
return false;
|
108 |
-
}
|
109 |
-
|
110 |
-
} else {
|
111 |
-
jQuery('.' + jQuery(this).data('cond1-show') ).hide();
|
112 |
-
jQuery('.' + jQuery(this).data('cond1-hide') ).show();
|
113 |
-
}
|
114 |
-
}
|
115 |
-
|
116 |
-
if ( jQuery(this).data('cond2') ) {
|
117 |
-
if (jQuery(this).val() == jQuery(this).data('cond2') ){
|
118 |
-
jQuery('.' + jQuery(this).data('cond2-show') ).show();
|
119 |
-
jQuery('.' + jQuery(this).data('cond2-hide') ).hide();
|
120 |
-
|
121 |
-
if ( jQuery(this).data('cond2-show') == '_roles' ) {
|
122 |
-
return false;
|
123 |
-
}
|
124 |
-
|
125 |
-
} else {
|
126 |
-
jQuery('.' + jQuery(this).data('cond2-show') ).hide();
|
127 |
-
jQuery('.' + jQuery(this).data('cond2-hide') ).show();
|
128 |
-
}
|
129 |
-
}
|
130 |
-
|
131 |
-
if ( jQuery(this).data('cond3') ) {
|
132 |
-
if (jQuery(this).val() == jQuery(this).data('cond3') ){
|
133 |
-
jQuery('.' + jQuery(this).data('cond3-show') ).show();
|
134 |
-
jQuery('.' + jQuery(this).data('cond3-hide') ).hide();
|
135 |
-
} else {
|
136 |
-
jQuery('.' + jQuery(this).data('cond3-show') ).hide();
|
137 |
-
jQuery('.' + jQuery(this).data('cond3-hide') ).show();
|
138 |
-
}
|
139 |
-
}
|
140 |
-
|
141 |
-
});jQuery('.um-adm-conditional').each(function(){jQuery(this).trigger('change');});
|
142 |
-
|
143 |
-
/**
|
144 |
-
Conditional fields for
|
145 |
-
Radio Group
|
146 |
-
**/
|
147 |
-
jQuery('.um-conditional-radio-group input[type=radio]').click(function(){
|
148 |
-
var holder = jQuery('.um-conditional-radio-group');
|
149 |
-
|
150 |
-
var val = jQuery(this).val();
|
151 |
-
var cond1 = holder.data('cond1');
|
152 |
-
var show1 = holder.data('cond1-show');
|
153 |
-
if ( val == cond1 ) { // condition met
|
154 |
-
jQuery('.' + show1).show();
|
155 |
-
} else {
|
156 |
-
jQuery('.' + show1).hide();
|
157 |
-
}
|
158 |
-
|
159 |
-
var val2 = jQuery(this).val();
|
160 |
-
var cond2 = holder.data('cond2');
|
161 |
-
var show2 = holder.data('cond2-show');
|
162 |
-
if ( val2 == cond2 ) { // condition met
|
163 |
-
jQuery('.' + show2).show();
|
164 |
-
} else {
|
165 |
-
jQuery('.' + show2).hide();
|
166 |
-
}
|
167 |
-
|
168 |
-
});jQuery('.um-conditional-radio-group input[type=radio]:checked').each(function(){jQuery(this).trigger('click');});
|
169 |
-
|
170 |
-
/**
|
171 |
-
Conditional fields for
|
172 |
-
nav-menu editor options
|
173 |
-
**/
|
174 |
-
|
175 |
-
jQuery('.um-nav-mode').each(function(){
|
176 |
-
|
177 |
-
if ( jQuery(this).find('input[type=radio]:checked').val() ) {
|
178 |
-
if ( jQuery(this).find('input[type=radio]:checked').val() == 2 ) {
|
179 |
-
jQuery(this).parents('.um-nav-edit').find('.um-nav-roles').show();
|
180 |
-
} else {
|
181 |
-
jQuery(this).parents('.um-nav-edit').find('.um-nav-roles').hide();
|
182 |
-
}
|
183 |
-
}
|
184 |
-
|
185 |
-
});
|
186 |
-
|
187 |
-
jQuery(document).on('click', '.um-nav-mode input[type=radio]', function(){
|
188 |
-
if ( jQuery(this).val() == 2 ) {
|
189 |
-
jQuery(this).parents('.um-nav-edit').find('.um-nav-roles').show();
|
190 |
-
} else {
|
191 |
-
jQuery(this).parents('.um-nav-edit').find('.um-nav-roles').hide();
|
192 |
-
}
|
193 |
-
});
|
194 |
-
|
195 |
});
|
1 |
+
jQuery(document).ready(function() {
|
2 |
+
|
3 |
+
/**
|
4 |
+
clone a field dropdown
|
5 |
+
**/
|
6 |
+
jQuery(document).on('click', '.um-admin-clone', function(e){
|
7 |
+
e.preventDefault();
|
8 |
+
var container = jQuery(this).parents('.um-admin-field');
|
9 |
+
var parent = jQuery(this).parents('p').find('.um-admin-field:last-child');
|
10 |
+
container.find('select').select2('destroy');
|
11 |
+
var cloned = container.clone();
|
12 |
+
cloned.find('.um-admin-clone').replaceWith('<a href="#" class="um-admin-clone-remove button um-admin-tipsy-n" title="Remove Field"><i class="um-icon-close" style="margin-right:0!important"></i></a>');
|
13 |
+
cloned.insertAfter( parent );
|
14 |
+
cloned.find('select').val('');
|
15 |
+
jQuery('.um-admin-field select').select2({
|
16 |
+
allowClear: true,
|
17 |
+
minimumResultsForSearch: 10
|
18 |
+
});
|
19 |
+
return false;
|
20 |
+
});
|
21 |
+
|
22 |
+
/**
|
23 |
+
remove a field dropdown
|
24 |
+
**/
|
25 |
+
jQuery(document).on('click', '.um-admin-clone-remove', function(e){
|
26 |
+
e.preventDefault();
|
27 |
+
var container = jQuery(this).parents('.um-admin-field');
|
28 |
+
jQuery('.tipsy').remove();
|
29 |
+
container.remove();
|
30 |
+
jQuery('.um-admin-field select').select2({
|
31 |
+
allowClear: true,
|
32 |
+
minimumResultsForSearch: 10
|
33 |
+
});
|
34 |
+
return false;
|
35 |
+
});
|
36 |
+
|
37 |
+
/**
|
38 |
+
Ajax link
|
39 |
+
**/
|
40 |
+
|
41 |
+
jQuery('.um-admin-ajaxlink').click(function(e){
|
42 |
+
e.preventDefault();
|
43 |
+
return false;
|
44 |
+
});
|
45 |
+
|
46 |
+
/**
|
47 |
+
On/Off Buttons
|
48 |
+
**/
|
49 |
+
|
50 |
+
jQuery(document).on('click', '.um-admin-yesno span.btn', function(){
|
51 |
+
if (!jQuery(this).parents('p').hasClass('disabled-on-off')){
|
52 |
+
if ( jQuery(this).parent().find('input[type=hidden]').val() == 0 ){
|
53 |
+
update_val = 1;
|
54 |
+
jQuery(this).animate({'left': '48px'}, 200);
|
55 |
+
jQuery(this).parent().find('input[type=hidden]').val( update_val ).trigger('change');
|
56 |
+
} else {
|
57 |
+
update_val = 0;
|
58 |
+
jQuery(this).animate({'left': '0'}, 200);
|
59 |
+
jQuery(this).parent().find('input[type=hidden]').val( update_val ).trigger('change');
|
60 |
+
}
|
61 |
+
}
|
62 |
+
});
|
63 |
+
|
64 |
+
/**
|
65 |
+
WP Color Picker
|
66 |
+
**/
|
67 |
+
|
68 |
+
jQuery('.um-admin-colorpicker').wpColorPicker();
|
69 |
+
|
70 |
+
/**
|
71 |
+
Select Dropdowns
|
72 |
+
**/
|
73 |
+
|
74 |
+
jQuery(".umaf-selectjs, .ultimate-member_page_um_options .redux-select-item ").select2({
|
75 |
+
allowClear: false,
|
76 |
+
minimumResultsForSearch: 10
|
77 |
+
});
|
78 |
+
|
79 |
+
jQuery('.um-admin-field select').select2({
|
80 |
+
allowClear: true,
|
81 |
+
minimumResultsForSearch: 10
|
82 |
+
});
|
83 |
+
|
84 |
+
/**
|
85 |
+
Tooltips
|
86 |
+
**/
|
87 |
+
|
88 |
+
if( typeof tipsy !== 'undefined' ){
|
89 |
+
jQuery('.um-admin-tipsy-n,#redux-share a').tipsy({gravity: 'n', opacity: 1, live: 'a.live' });
|
90 |
+
jQuery('.um-admin-tipsy-w').tipsy({gravity: 'w', opacity: 1, live: 'a.live' });
|
91 |
+
jQuery('.um-admin-tipsy-e').tipsy({gravity: 'e', opacity: 1, live: 'a.live' });
|
92 |
+
jQuery('.um-admin-tipsy-s').tipsy({gravity: 's', opacity: 1, live: 'a.live' });
|
93 |
+
}
|
94 |
+
|
95 |
+
/**
|
96 |
+
Conditional fields
|
97 |
+
**/
|
98 |
+
|
99 |
+
jQuery(document).on('change', '.um-adm-conditional', function(){
|
100 |
+
|
101 |
+
if ( jQuery(this).data('cond1') ) {
|
102 |
+
if (jQuery(this).val() == jQuery(this).data('cond1') ){
|
103 |
+
jQuery('.' + jQuery(this).data('cond1-show') ).show();
|
104 |
+
jQuery('.' + jQuery(this).data('cond1-hide') ).hide();
|
105 |
+
|
106 |
+
if ( jQuery(this).data('cond1-show') == '_roles' ) {
|
107 |
+
return false;
|
108 |
+
}
|
109 |
+
|
110 |
+
} else {
|
111 |
+
jQuery('.' + jQuery(this).data('cond1-show') ).hide();
|
112 |
+
jQuery('.' + jQuery(this).data('cond1-hide') ).show();
|
113 |
+
}
|
114 |
+
}
|
115 |
+
|
116 |
+
if ( jQuery(this).data('cond2') ) {
|
117 |
+
if (jQuery(this).val() == jQuery(this).data('cond2') ){
|
118 |
+
jQuery('.' + jQuery(this).data('cond2-show') ).show();
|
119 |
+
jQuery('.' + jQuery(this).data('cond2-hide') ).hide();
|
120 |
+
|
121 |
+
if ( jQuery(this).data('cond2-show') == '_roles' ) {
|
122 |
+
return false;
|
123 |
+
}
|
124 |
+
|
125 |
+
} else {
|
126 |
+
jQuery('.' + jQuery(this).data('cond2-show') ).hide();
|
127 |
+
jQuery('.' + jQuery(this).data('cond2-hide') ).show();
|
128 |
+
}
|
129 |
+
}
|
130 |
+
|
131 |
+
if ( jQuery(this).data('cond3') ) {
|
132 |
+
if (jQuery(this).val() == jQuery(this).data('cond3') ){
|
133 |
+
jQuery('.' + jQuery(this).data('cond3-show') ).show();
|
134 |
+
jQuery('.' + jQuery(this).data('cond3-hide') ).hide();
|
135 |
+
} else {
|
136 |
+
jQuery('.' + jQuery(this).data('cond3-show') ).hide();
|
137 |
+
jQuery('.' + jQuery(this).data('cond3-hide') ).show();
|
138 |
+
}
|
139 |
+
}
|
140 |
+
|
141 |
+
});jQuery('.um-adm-conditional').each(function(){jQuery(this).trigger('change');});
|
142 |
+
|
143 |
+
/**
|
144 |
+
Conditional fields for
|
145 |
+
Radio Group
|
146 |
+
**/
|
147 |
+
jQuery('.um-conditional-radio-group input[type=radio]').click(function(){
|
148 |
+
var holder = jQuery('.um-conditional-radio-group');
|
149 |
+
|
150 |
+
var val = jQuery(this).val();
|
151 |
+
var cond1 = holder.data('cond1');
|
152 |
+
var show1 = holder.data('cond1-show');
|
153 |
+
if ( val == cond1 ) { // condition met
|
154 |
+
jQuery('.' + show1).show();
|
155 |
+
} else {
|
156 |
+
jQuery('.' + show1).hide();
|
157 |
+
}
|
158 |
+
|
159 |
+
var val2 = jQuery(this).val();
|
160 |
+
var cond2 = holder.data('cond2');
|
161 |
+
var show2 = holder.data('cond2-show');
|
162 |
+
if ( val2 == cond2 ) { // condition met
|
163 |
+
jQuery('.' + show2).show();
|
164 |
+
} else {
|
165 |
+
jQuery('.' + show2).hide();
|
166 |
+
}
|
167 |
+
|
168 |
+
});jQuery('.um-conditional-radio-group input[type=radio]:checked').each(function(){jQuery(this).trigger('click');});
|
169 |
+
|
170 |
+
/**
|
171 |
+
Conditional fields for
|
172 |
+
nav-menu editor options
|
173 |
+
**/
|
174 |
+
|
175 |
+
jQuery('.um-nav-mode').each(function(){
|
176 |
+
|
177 |
+
if ( jQuery(this).find('input[type=radio]:checked').val() ) {
|
178 |
+
if ( jQuery(this).find('input[type=radio]:checked').val() == 2 ) {
|
179 |
+
jQuery(this).parents('.um-nav-edit').find('.um-nav-roles').show();
|
180 |
+
} else {
|
181 |
+
jQuery(this).parents('.um-nav-edit').find('.um-nav-roles').hide();
|
182 |
+
}
|
183 |
+
}
|
184 |
+
|
185 |
+
});
|
186 |
+
|
187 |
+
jQuery(document).on('click', '.um-nav-mode input[type=radio]', function(){
|
188 |
+
if ( jQuery(this).val() == 2 ) {
|
189 |
+
jQuery(this).parents('.um-nav-edit').find('.um-nav-roles').show();
|
190 |
+
} else {
|
191 |
+
jQuery(this).parents('.um-nav-edit').find('.um-nav-roles').hide();
|
192 |
+
}
|
193 |
+
});
|
194 |
+
|
195 |
});
|
admin/assets/js/um-admin-users.js
CHANGED
@@ -1,30 +1,30 @@
|
|
1 |
-
jQuery(document).ready(function() {
|
2 |
-
|
3 |
-
function getParameterByName(name, url) {
|
4 |
-
if (!url) url = window.location.href;
|
5 |
-
name = name.replace(/[\[\]]/g, "\\$&");
|
6 |
-
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
|
7 |
-
results = regex.exec(url);
|
8 |
-
if (!results) return null;
|
9 |
-
if (!results[2]) return '';
|
10 |
-
return decodeURIComponent(results[2].replace(/\+/g, " "));
|
11 |
-
}
|
12 |
-
|
13 |
-
jQuery("#_um_synced_role").on("change",function(){
|
14 |
-
$sync_button = jQuery("#_um_button_sync_update_button");
|
15 |
-
var url = $sync_button.attr("href");
|
16 |
-
|
17 |
-
if ( ! getParameterByName('wp_role', url) ) {
|
18 |
-
console.log("wp_role is not set");
|
19 |
-
}
|
20 |
-
|
21 |
-
var um_role = getParameterByName('um_role', url);
|
22 |
-
var wp_role = jQuery(this).val();
|
23 |
-
$sync_button.attr("href", window.location.href+'&um_adm_action=mass_role_sync&um_role='+um_role+'&wp_role='+wp_role );
|
24 |
-
|
25 |
-
});
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
});
|
30 |
-
|
1 |
+
jQuery(document).ready(function() {
|
2 |
+
|
3 |
+
function getParameterByName(name, url) {
|
4 |
+
if (!url) url = window.location.href;
|
5 |
+
name = name.replace(/[\[\]]/g, "\\$&");
|
6 |
+
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
|
7 |
+
results = regex.exec(url);
|
8 |
+
if (!results) return null;
|
9 |
+
if (!results[2]) return '';
|
10 |
+
return decodeURIComponent(results[2].replace(/\+/g, " "));
|
11 |
+
}
|
12 |
+
|
13 |
+
jQuery("#_um_synced_role").on("change",function(){
|
14 |
+
$sync_button = jQuery("#_um_button_sync_update_button");
|
15 |
+
var url = $sync_button.attr("href");
|
16 |
+
|
17 |
+
if ( ! getParameterByName('wp_role', url) ) {
|
18 |
+
console.log("wp_role is not set");
|
19 |
+
}
|
20 |
+
|
21 |
+
var um_role = getParameterByName('um_role', url);
|
22 |
+
var wp_role = jQuery(this).val();
|
23 |
+
$sync_button.attr("href", window.location.href+'&um_adm_action=mass_role_sync&um_role='+um_role+'&wp_role='+wp_role );
|
24 |
+
|
25 |
+
});
|
26 |
+
|
27 |
+
|
28 |
+
|
29 |
+
});
|
30 |
+
|
admin/core/lib/ReduxFramework/.jshintrc
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"boss": true,
|
3 |
-
"immed": true,
|
4 |
-
"noarg": true,
|
5 |
-
"onevar": true,
|
6 |
-
|
7 |
-
"browser": true,
|
8 |
-
|
9 |
-
"globals": {
|
10 |
-
"_": false,
|
11 |
-
"jQuery": true,
|
12 |
-
"module": true,
|
13 |
-
"console": true,
|
14 |
-
"document": true,
|
15 |
-
"window": true,
|
16 |
-
"redux_change": true,
|
17 |
-
"redux": true
|
18 |
-
}
|
19 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/CHANGELOG.md
DELETED
@@ -1,1857 +0,0 @@
|
|
1 |
-
# Redux Framework Changelog
|
2 |
-
|
3 |
-
## 3.5.8.1
|
4 |
-
* Fixed: #2652 - load_plugin_textdomain using depreciated argument.
|
5 |
-
|
6 |
-
## 3.5.8
|
7 |
-
* Fixed: Customizer preview callback working again.
|
8 |
-
|
9 |
-
## 3.5.7.12
|
10 |
-
* Fixed: last_tab argument not working.
|
11 |
-
|
12 |
-
## 3.5.7.11
|
13 |
-
* Fixed: #2637 - color picker clear.
|
14 |
-
* Fixed: #2633.
|
15 |
-
|
16 |
-
## 3.5.7.10
|
17 |
-
* Fixed: #2624 - Border field saving/output 0px when no default set. Now accepts no default and outputs no CSS for blank values.
|
18 |
-
* Fixed: color_rgba no long outputs CSS with empty color values.
|
19 |
-
|
20 |
-
## 3.5.7.9
|
21 |
-
* Fixed: #2612 - pseudo classes not appending to multiple selectors in link_color output.
|
22 |
-
|
23 |
-
## 3.5.7.8
|
24 |
-
* Modified: The mass data escaping of Redux Core output. Part I.
|
25 |
-
|
26 |
-
## 3.5.7.7
|
27 |
-
* Fixed: #2609 - Section not folding correctly with class argument specified.
|
28 |
-
|
29 |
-
## 3.5.7.6
|
30 |
-
* Fixed: #2607 - button_set required scalar check for array returned by terms in the data arg. Thanks @Enchiridion.
|
31 |
-
|
32 |
-
## 3.5.7.5
|
33 |
-
* Fixed: Fixing more inconsistencies with wp_filesystem dirlist. How about some proper documentation, Otto?
|
34 |
-
|
35 |
-
## 3.5.7.4
|
36 |
-
* Fixed: #2582: Added extra check for get_terms to avoid error.
|
37 |
-
|
38 |
-
## 3.5.7.3
|
39 |
-
* Fixed Filesystem proxy dirlist triggering file permission errors on empty array.
|
40 |
-
|
41 |
-
## 3.5.7.2
|
42 |
-
* Fixed: #2571 - Sorter adding extra disable column on new entries if 'disabled' is lowercase.
|
43 |
-
* Updated Fields css for dev_mode off.
|
44 |
-
|
45 |
-
## 3.5.7.1
|
46 |
-
* Updated: Updated container.tpl version.
|
47 |
-
* Fixed: #2570 - multi-text field CSS bleeding over into WP.
|
48 |
-
|
49 |
-
## 3.5.7
|
50 |
-
* Fixed Customizer customizer_only and customizer section overrides. Also global customizer => false was not working.
|
51 |
-
|
52 |
-
## 3.5.6.9
|
53 |
-
* Added Security suggestions posed in #2543 by Julio Potier from SecuPress.
|
54 |
-
|
55 |
-
## 3.5.6.8
|
56 |
-
* Fixed: 'dirlist' in filesystem proxy returning permission error on empty dirs.
|
57 |
-
|
58 |
-
## 3.5.6.7
|
59 |
-
* Added setOption and getOption to Redux API.
|
60 |
-
* Added 'hide_save' argument.
|
61 |
-
|
62 |
-
## 3.5.6.6
|
63 |
-
* Added: 'readonly' argument for textarea.
|
64 |
-
|
65 |
-
## 3.5.6.5
|
66 |
-
* Fixed: #2545 - CSS validator error output misconfigured.
|
67 |
-
* Fixed: ACE adding escape slashes to quotes via CSS validation, causing improper error message.
|
68 |
-
|
69 |
-
## 3.5.6.4
|
70 |
-
* Added: `ajax_save` arg for fields. Setting to false will reload the options panel when the set option has changed.
|
71 |
-
* Fixed: #2532 - Spinner field arrow spacing off when dev_mode set to false due to missing `!important` CSS suffix.
|
72 |
-
|
73 |
-
## 3.5.6.3
|
74 |
-
* Added: `autocomplete` arg to text field. This is FALSE by default.
|
75 |
-
|
76 |
-
## 3.5.6.2
|
77 |
-
* Fixed: Color RGBA field missing name_suffix. Will now work in repeater extension.
|
78 |
-
|
79 |
-
## 3.5.6.1
|
80 |
-
* Fixed: Index error regarding icon argument.
|
81 |
-
|
82 |
-
## 3.5.6
|
83 |
-
* Fixed Customizer WP 4.3 final fixes.
|
84 |
-
|
85 |
-
## 3.5.5.9
|
86 |
-
* Fixed #2500 - Conflict with outdated select2 in JW Player plugin.
|
87 |
-
|
88 |
-
## 3.5.5.8
|
89 |
-
* Modified: icon_type no longer needed for section icons. Now detects if URLs are provided for images.
|
90 |
-
* Fixed: Various customizer fixes. HTML in the customizer title.
|
91 |
-
* Modified: Media URL now is 95% wide.
|
92 |
-
* Modified: Select2 now 100% width instead of just resolve (that doesn't always work).
|
93 |
-
|
94 |
-
## 3.5.5.7
|
95 |
-
* Modified: Field enqueue method to allow for more flexibility.
|
96 |
-
* Added: Support for Airplane Mode plugin (https://github.com/norcross/airplane-mode) by @norcross. Thanks @chriscct7 #2463
|
97 |
-
|
98 |
-
## 3.5.5.6
|
99 |
-
* Fixed: Undefined index in theme-check enhancements. Thanks @winwinwebdesign!
|
100 |
-
* Removed: SASS compiler & code. Note needed.
|
101 |
-
* Fixed: Color transparency live-update for Customizer for color, background,
|
102 |
-
and color gradient fields.
|
103 |
-
|
104 |
-
## 3.5.5.5
|
105 |
-
* Fixed: Undefined index when removing a section.
|
106 |
-
|
107 |
-
## 3.5.5.4
|
108 |
-
* Fixed: Typography bug onload always saying settings have changed.
|
109 |
-
* Modified: Added minified customizer JS.
|
110 |
-
|
111 |
-
## 3.5.5.3
|
112 |
-
* Fixed: Redux CUSTOMIZER! YEA!
|
113 |
-
|
114 |
-
## 3.5.5.2
|
115 |
-
* Fixed: Small echo in Redux API
|
116 |
-
|
117 |
-
## 3.5.5.1
|
118 |
-
* Fixed: PHP 5.2 Theme-Check error.
|
119 |
-
|
120 |
-
## 3.5.5
|
121 |
-
* Fixed: Date-time fixes with CSS overloading and positioning.
|
122 |
-
|
123 |
-
## 3.5.4.35
|
124 |
-
* Added: Lite support for https://wordpress.org/plugins/plugin-dependencies/
|
125 |
-
* Modified: CDN to be a more bulletproof solution (http://jsdelivr.net).
|
126 |
-
* Modified: CDN alerts to be more clear, and have proper links.
|
127 |
-
|
128 |
-
## 3.5.4.34
|
129 |
-
* Fixed: Bad code in raw field hosing up the entire panel.
|
130 |
-
|
131 |
-
## 3.5.4.33
|
132 |
-
* Modified: #2436 - Validation check for any validation type ending in 'not_empty' now recognized.
|
133 |
-
|
134 |
-
## 3.5.4.32
|
135 |
-
* Fixed: Undefined index for undeclared variable in Theme-Check checks.
|
136 |
-
* Fixed: Annoying Redux Theme-Check notices.
|
137 |
-
* Fixed: How some functions were called.
|
138 |
-
|
139 |
-
## 3.5.4.31
|
140 |
-
* Fixed: Theme-Check baby! Everything working as it should with extra theme-check hints to prepare
|
141 |
-
your theme for submission!
|
142 |
-
* Fixed: Better .org hinting for theme submission.
|
143 |
-
* Modified: `forced_dev_mode_off` argument that will ensure dev_mode is ALWAYS off.
|
144 |
-
PLEASE do not ship with this enabled. We will NOT provide any support for any instance that
|
145 |
-
has this argument enabled. Disable and test prior to posting on our issue tracker.
|
146 |
-
* Added: `customizer_only` as a global arg that disables all of Redux except for the customizer, in
|
147 |
-
preparation for our customizer integration.
|
148 |
-
|
149 |
-
## 3.5.4.30
|
150 |
-
* Modified: Dissmissable Redux Admin notices now use the WP 4.2 dismiss JS and Ajax. Pretty.
|
151 |
-
* Modified: Admin notice code is now it's own isolated class inside core.
|
152 |
-
* Modified: Use DB for admin notice, not flat-files. Boo.
|
153 |
-
* Modified: Sample configs not to cause errors if multiple users use the same function name.
|
154 |
-
* Fixed: CDN internationalization class.
|
155 |
-
* Modified: Parsedown so as not to throw a shortcode error that didn't actually exist.
|
156 |
-
|
157 |
-
## 3.5.4.29
|
158 |
-
* Fixed: #2446 - Non google font choice not saving in certain instances.
|
159 |
-
|
160 |
-
## 3.5.4.28
|
161 |
-
* Fixed: Added additional check in redux.js to stop errors with panels containing multiple raw fields.
|
162 |
-
* Fixed: Hopefully, the issue of settings not saving on first install when using the Redux API.
|
163 |
-
|
164 |
-
## 3.5.4.27
|
165 |
-
* Fixed: Set use_cdn argument to true, by default.
|
166 |
-
|
167 |
-
## 3.5.4.26
|
168 |
-
* Fixed #2437 - undefined value set to blank line height.
|
169 |
-
|
170 |
-
## 3.5.4.25
|
171 |
-
* Fixed: #2429 - Required evaluator 'contains' not working properly with multi_check
|
172 |
-
|
173 |
-
## 3.5.4.24
|
174 |
-
* Fixed: #2426 - Section field not indenting.
|
175 |
-
|
176 |
-
## 3.5.4.23
|
177 |
-
* Fixed: Divider field not rendering properly.
|
178 |
-
* Added: `fieldset_class` argument for fields. Thanks @Enchiridion.
|
179 |
-
* Added: Option to set checkbox label. Thanks @Enchiridion.
|
180 |
-
* Added: javascript .trigger('change') to switch, spinner, and image_select. Thanks @Enchiridion.
|
181 |
-
|
182 |
-
## 3.5.4.22
|
183 |
-
* Modified: Ajax change output of error and notice via hooks.
|
184 |
-
|
185 |
-
## 3.5.4.21
|
186 |
-
* Fixed: #2414 - Bad ajax save due to mis-initialized variable.
|
187 |
-
|
188 |
-
## 3.5.4.20
|
189 |
-
* Fixed: CSS in metabox fields all wanky.
|
190 |
-
* Added: 'reload_on_change' arg for fields, to force page reload after setting change.
|
191 |
-
|
192 |
-
## 3.5.4.19
|
193 |
-
* Fixed: #2377 - Replaced mysql_gets_server_info with $wpdb.
|
194 |
-
|
195 |
-
## 3.5.4.18
|
196 |
-
* Modified: Templates to properly excape values.
|
197 |
-
* Fixed: Import/Export to properly be full-width and use lazy-load JS.
|
198 |
-
* Modified: CSS for sections to bound to the section, not all of Redux.
|
199 |
-
|
200 |
-
## 3.5.4.17
|
201 |
-
* Fixed: #2368 - Options panel layout offset.
|
202 |
-
* Fixed: #2369 - validate_callback not working for color, color_gradient, and date.
|
203 |
-
|
204 |
-
## 3.5.4.16
|
205 |
-
* Fixed: #2355 - Space missing in switch class arg.
|
206 |
-
* Fixed: Fixed all fields without leading space in class arg.
|
207 |
-
|
208 |
-
## 3.5.4.15
|
209 |
-
* Modified: Restrict table modification to redux-container.
|
210 |
-
* Fixed: Container overflow for pre's.
|
211 |
-
* Modified: Redux API to include removeSection and removeField.
|
212 |
-
* Added: Added before and after hooks to any panel template file.
|
213 |
-
|
214 |
-
## 3.5.4.14
|
215 |
-
* Fixed: #2351 - WP_Error check added to admin blast remote get.
|
216 |
-
|
217 |
-
## 3.5.4.13
|
218 |
-
* Modified: Moved styling for the divide field into it's own CSS file.
|
219 |
-
* Modified: All WP Color Pickers to properly save the value before save.
|
220 |
-
* Added: CSS Styles for the customizer. ;)
|
221 |
-
|
222 |
-
## 3.5.4.12
|
223 |
-
* Modified: Panel is MUCH more responsive now.
|
224 |
-
* Fixed: Small stylings for a few fields.
|
225 |
-
* Fixed: Added extra qTip class.
|
226 |
-
|
227 |
-
## 3.5.4.11
|
228 |
-
* Modified: Ajax save animation. Added fallback for pre 4.2 CSS.
|
229 |
-
* Fixed: Small issue with Redux info boxes and spacing.
|
230 |
-
* Fixed: Small bug with the Redux API where divide sections were causing errors.
|
231 |
-
* Fixed: Small admin blast fix.
|
232 |
-
|
233 |
-
## 3.5.4.10
|
234 |
-
* Modified: Qtip and Spectrum vendor libraries restored to local.
|
235 |
-
* Fixed: Admin notice loading on front end.
|
236 |
-
* Modified: Callback actions run with do_action_ref_array now.
|
237 |
-
* Added: show_options_object argument to enable or disable option object.
|
238 |
-
|
239 |
-
## 3.5.4.9
|
240 |
-
* Added: Error suppressing to filesystem class to avoid notice errors when site goes down.
|
241 |
-
|
242 |
-
## 3.5.4.8
|
243 |
-
* Fixed: Panels not rendering, again
|
244 |
-
* Added: Vendor support plugin link to CDN fallback message.
|
245 |
-
|
246 |
-
## 3.5.4.7
|
247 |
-
* Modified: Moved vendor libraries ACE, select2, qtip, and spectrum to CDN.
|
248 |
-
* Removed: Local installs of above libraries.
|
249 |
-
|
250 |
-
## 3.5.4.6
|
251 |
-
* Fixed: Option panel not rendering due to experimental code.
|
252 |
-
|
253 |
-
## 3.5.4.5
|
254 |
-
* Fixed: How sorter works with data
|
255 |
-
* Modified: How the data arg is stored in Redux.
|
256 |
-
|
257 |
-
## 3.5.4.4
|
258 |
-
* Removed: sysinfo.php. No longer needed in lieu of our support URL feature.
|
259 |
-
* Removed: debug.php. Moved to options_object extension.
|
260 |
-
* Modified: #2274 - PHP Unit test compatibility. Thanks @daithi-coombes.
|
261 |
-
* Modified: #2144 - Optional class argument per image. Thanks @paulthecoder.
|
262 |
-
* Fixed: #2278 - More W3 Total Cache hacks.
|
263 |
-
|
264 |
-
## 3.5.4.3
|
265 |
-
* Fixed: #2258 - welcome redirect error with embedding plugin scenarios.
|
266 |
-
* Fixed: Redux plugin load order when activating plugins.
|
267 |
-
|
268 |
-
## 3.5.4.2
|
269 |
-
* Fixed: #2271 - stuck redirect on godaddy (seriously, get a real host, people) servers.
|
270 |
-
|
271 |
-
## 3.5.4.1
|
272 |
-
* Fixed: #2216 - Reset section not always working within FF.
|
273 |
-
|
274 |
-
## 3.5.4
|
275 |
-
* Modified: update_notice arg only truly shows up if dev_mode is on.
|
276 |
-
|
277 |
-
## 3.5.3.3
|
278 |
-
* Added: Tooltip to developer mode badge, for informational purposes.
|
279 |
-
* Modified: Added css_layout ext to default value filter, to avoid errors.
|
280 |
-
|
281 |
-
## 3.5.3.2
|
282 |
-
* Fixed: #2239 - Various extensions didn't support default values for default arg. Filtered out offending extensions.
|
283 |
-
|
284 |
-
## 3.5.3.1
|
285 |
-
* Fixed: WP.org ONLY SVN mixup.
|
286 |
-
|
287 |
-
## 3.5.3
|
288 |
-
* Fixed: #2228 - Submenu items still visible if permissions not allowed.
|
289 |
-
* Fixed: Import/Export showing up in customizer.
|
290 |
-
* Modified: Admin-fresh theme to match new WordPress 4.2
|
291 |
-
* Modified: Redux widget now has a proper ID. Thanks @corradomatt!
|
292 |
-
* Modified: Added text-shadow to submenu items to give a stronger "pop"
|
293 |
-
* Modified: Page_slug now dynamically generated if not specified.
|
294 |
-
|
295 |
-
## 3.5.2.2
|
296 |
-
* Modified: Admin blast message pinging server on each load after three day expiration. Possible slow down of the overall panel loading time.
|
297 |
-
|
298 |
-
## 3.5.2.1
|
299 |
-
* Fixed: #2221 - Background field media not enqueueing when used with no other media based fields.
|
300 |
-
|
301 |
-
## 3.5.2
|
302 |
-
* Fixed: #2214: Bad path for import/export enqueue.
|
303 |
-
* Release: Wp.org release.
|
304 |
-
|
305 |
-
## 3.5.1
|
306 |
-
* Release: Wp.org release.
|
307 |
-
|
308 |
-
## 3.5.0.7
|
309 |
-
* Modified: Redux News dashboard widget appears only when dev_mode is true or in a local host environment.
|
310 |
-
|
311 |
-
## 3.5.0.6
|
312 |
-
* Fixed #2127 - Elusive icons not working in footer as before.
|
313 |
-
* Fixed Issue where Status tab not showing extension versions properly.
|
314 |
-
* Fixed Issue in support URL not passing data correctly.
|
315 |
-
|
316 |
-
## 3.5.0.5
|
317 |
-
* Fixed Support URLs now work even if max_input_vars is way low in PHP 5.3+
|
318 |
-
|
319 |
-
## 3.5.0.4
|
320 |
-
* Fixed #2197 - Import/export not loading proper for those who have opted to install Wordpress in ways it was never intended.
|
321 |
-
|
322 |
-
## 3.5.0.3
|
323 |
-
* Fixed: 'Generate Support URL' feature kicking back error.
|
324 |
-
|
325 |
-
## 3.5.0.2
|
326 |
-
* Fixed Sortable checkbox labels not displaying properly.
|
327 |
-
* Fixed Sortable textbox not displaying default value as placeholder.
|
328 |
-
* Updated: sample-config with accurate example for both sortable modes.
|
329 |
-
|
330 |
-
## 3.5.0.1
|
331 |
-
* Fixed #2181 - Fixed issue with Ajax Save when PHP 5.3 Magic Quotes were disabled.
|
332 |
-
|
333 |
-
## 3.5.0 OFFICIAL RELEASE
|
334 |
-
Various fixes and improvements for release.
|
335 |
-
|
336 |
-
## 3.4.4.9.4
|
337 |
-
* Fixed: #2181 - Issue with PHP < 5.4 and the Ace Editor field. Oy.
|
338 |
-
|
339 |
-
## 3.4.4.9.3
|
340 |
-
* Fixed: #2163 - Undefined error in JS.
|
341 |
-
|
342 |
-
## 3.4.4.9.2
|
343 |
-
* Fixed: #2176 - Infinite loop in the customizer for live preview of themes.
|
344 |
-
|
345 |
-
## 3.4.4.9.1
|
346 |
-
* Fixed: Support page now works.
|
347 |
-
* Fixed: Fix for MySQL deprecated functions in php 5.5+.
|
348 |
-
|
349 |
-
## 3.4.4.9
|
350 |
-
* Added: Dynamic admin messages (aka Newsflash). Dismissable admin messages announcing breaking Redux news.
|
351 |
-
Messages will not appear for users when dev_mode is set to `false`. However, messages remain active
|
352 |
-
on localhosts, so devs may benefit.
|
353 |
-
|
354 |
-
## 3.4.4.8
|
355 |
-
* Fixed: #2155 - Fixed import with ajax_save.
|
356 |
-
* Fixed: Changelog now uses raw field parsedown if present.
|
357 |
-
|
358 |
-
## 3.4.4.7
|
359 |
-
* Added: Redux Framework News Widget on the WP Dashboard.
|
360 |
-
|
361 |
-
## 3.4.4.6
|
362 |
-
* Fixed: #2156: `label` argument not recognized when using sortable as textbox.
|
363 |
-
|
364 |
-
## 3.4.4.5
|
365 |
-
* Fixed: #2140 Another PHP 5.2 issue with ajax_save.
|
366 |
-
* Modified: Opt groups for select field now working in customizer even if not supported.
|
367 |
-
|
368 |
-
## 3.4.4.4
|
369 |
-
* Added: `full_width` arg now makes ANY field full-width. :)
|
370 |
-
|
371 |
-
## 3.4.4.3
|
372 |
-
* Fixed: #2133 - Ajax save adding extra backspashes in PHP 5.2 only (They didn't use array map properly).
|
373 |
-
* Fixed: Customizer wasn't working. Thanks @sgssandhu!
|
374 |
-
|
375 |
-
## 3.4.4.2
|
376 |
-
* Fixed: #2125 - Compiler not firing on first save, when using ajax_save.
|
377 |
-
|
378 |
-
## 3.4.4.1
|
379 |
-
* Fixed: #2118 - Typography JS error.
|
380 |
-
|
381 |
-
## 3.4.4
|
382 |
-
* Fixed: Odd typography bug no one has reported.
|
383 |
-
* Modified: Sticky header and footer to remain within the redux-main container.
|
384 |
-
|
385 |
-
## 3.4.3.9
|
386 |
-
* Fixed #2097 - Slash fix for ajax_save that was previously believed to be an isolated issue. Now applied on all ajax saves.
|
387 |
-
|
388 |
-
## 3.4.3.8
|
389 |
-
* Fixed: #2086 - color_rgba improperly functioning when transparent mode set to false.
|
390 |
-
|
391 |
-
## 3.4.3.7
|
392 |
-
* Fixed Import/Export bug where it wasn't running.
|
393 |
-
* Modified Locations of the core extensions directory as well as grunt configuration.
|
394 |
-
|
395 |
-
## 3.4.3.6
|
396 |
-
* Fixed #2047 - Validation will now accept 0 as a value to be tested. Thanks @Ninos!
|
397 |
-
* Added url_slug validation with option flush_permalinks!
|
398 |
-
* Fixed Issue where the remove of background field was always showing an empty preview box.
|
399 |
-
* Modified Turned ajax_save on by default for additional bug reports. ;)
|
400 |
-
* Modified Added some margin above validation errors/warnings so they look better.
|
401 |
-
* Modified Removed previous element border for any section so it looks better.
|
402 |
-
|
403 |
-
## 3.4.3.5
|
404 |
-
* Fixed #2081 - Section field hiding any field after. Weird.
|
405 |
-
|
406 |
-
## 3.4.3.4
|
407 |
-
* Added #2047 - `output_transparent` argument to output the blank color feature as 'transparent'.
|
408 |
-
* Fixed #2080 - missing 'rem' unit and inability to process float values. Thanks to @HELWATANY for the fixes!
|
409 |
-
* Fixed #2043 - misaligned images in image_select field.
|
410 |
-
|
411 |
-
## 3.4.3.3
|
412 |
-
* Added: #2064 - Merge argument for image_select. Thanks @Ninos
|
413 |
-
* Modified: Import/Export is now an extensiona and decoupled from the core.
|
414 |
-
* Fixed: Spinner had a nasty number bug, now resolved.
|
415 |
-
* Fixed: #2076 - RTL bug with old ID's. Thanks @mahfoozroy.
|
416 |
-
* Fixed: #2072 - Ajax_save editor type bug fix.
|
417 |
-
|
418 |
-
## 3.4.3.2
|
419 |
-
* Fixed: #2058 - Incorrect path in include statement for sysinfo.php
|
420 |
-
|
421 |
-
## 3.4.3.1
|
422 |
-
* Modified: Templates now have versioning with a warning (dev_mode only) if they are outdated from the core templates.
|
423 |
-
|
424 |
-
## 3.4.3
|
425 |
-
* Modified: Ajax saving now has overlay during save to avoid confusion for users.
|
426 |
-
|
427 |
-
## 3.4.2.9
|
428 |
-
* Modified: Template files even more for simplicity and ease.
|
429 |
-
* Modified: Saving. Redux now has the ajax_save argument if you want it!
|
430 |
-
* Modified: Validation warnings now work.
|
431 |
-
|
432 |
-
## 3.4.2.8
|
433 |
-
* Fixed: Changed set_transient function to public to avoid errors in new templating code.
|
434 |
-
|
435 |
-
## 3.4.2.7
|
436 |
-
* Modified: Entire panel template is now decoupled from the theme and implemented with many filters for easy customization.
|
437 |
-
|
438 |
-
## 3.4.2.6
|
439 |
-
* Fixed: #1478 - Import/export failing when two instances if Redux in use. Thanks, @desaiuditd!
|
440 |
-
* Fixed: Section field not indenting properly, if at all.
|
441 |
-
|
442 |
-
## 3.4.2.5
|
443 |
-
* Added: #2031 - Proper CSS sanitization for compliancy with WP.org.
|
444 |
-
|
445 |
-
## 3.4.2.4
|
446 |
-
* Fixed: #2027 - added isset()
|
447 |
-
|
448 |
-
## 3.4.2.3
|
449 |
-
* Fixed: #2019 - Reset issues with PHP 5.2. Thanks a bunch, @Webcreations907!
|
450 |
-
|
451 |
-
## 3.4.2.2
|
452 |
-
* Fixed: #2023: Issue with custom submenus in menu.
|
453 |
-
|
454 |
-
## 3.4.2.1
|
455 |
-
* Fixed: #2025: Issue with select sorting.
|
456 |
-
|
457 |
-
## 3.4.2
|
458 |
-
* Update: ACE Editor. Thanks @corradomatt.
|
459 |
-
|
460 |
-
## 3.4.1
|
461 |
-
* Fixed: Small filesystem option with bad filter key reference.
|
462 |
-
* Added: Small return if $section filter returned the section empty.
|
463 |
-
|
464 |
-
## 3.4.0
|
465 |
-
* WP.org Release
|
466 |
-
|
467 |
-
## 3.3.10.7
|
468 |
-
* Fixed: Reset section hook firing too early.
|
469 |
-
|
470 |
-
## 3.3.10.6
|
471 |
-
* Modified: The Redux Repeater field has landed!
|
472 |
-
|
473 |
-
## 3.3.10.5
|
474 |
-
* Fixed: #1983 - color_rgba not outputting default values on first load (before save).
|
475 |
-
|
476 |
-
## 3.3.10.4
|
477 |
-
* Fixed: Google font enqueues with opt_name to avoid collision with multiple Redux instances.
|
478 |
-
|
479 |
-
## 3.3.10.3
|
480 |
-
* Fixed: #1980 - JS errors with sorter & sortable.
|
481 |
-
* Fixed: color_rgba field outputting incorrect information via output/compiler.
|
482 |
-
|
483 |
-
## 3.3.10.2
|
484 |
-
* Fixed: #1979 - Goole fonts not properly loading in typography dropdown.
|
485 |
-
|
486 |
-
## 3.3.10.1
|
487 |
-
* Fixed: Undefined index error on MU installs.
|
488 |
-
|
489 |
-
## 3.3.10
|
490 |
-
* Removed: SASS compile of field CSS, for the time being. Compiler remains in core.
|
491 |
-
* Improved: Panel load time, most notable when not in dev_mode. Better for your clients. :)
|
492 |
-
* Updated: Elusive Font library.
|
493 |
-
* Fixed: #1961 - color_rgba field defaulting to black on reset.
|
494 |
-
|
495 |
-
## 3.3.9.35
|
496 |
-
* Fixed: #1941 - Datepicker opened off screen.
|
497 |
-
* Fixed: #1756, #1957 - Slider issues. Thanks @FFIN!
|
498 |
-
* Fixed: #1960 - Duplicate slide when clicking Add. Again, thanks to @FFIN for the fix.
|
499 |
-
* Added: New filter: apply_filters 'redux/validate/{opt_name}/before_validation'
|
500 |
-
* Fixed: #1745 - Adding settings submenu to empty submenu now works. Many, many thanks to @No3x for cracking this one!
|
501 |
-
|
502 |
-
## 3.3.9.34
|
503 |
-
* Fixed: #1955 - Undefined index rgba in output routine.
|
504 |
-
|
505 |
-
## 3.3.9.33
|
506 |
-
* Modified: #1947 - Added display:none to TR tag under info field.
|
507 |
-
|
508 |
-
## 3.3.9.32
|
509 |
-
* Replaced: #1951 - Replaced develop branch of scssphp to master branch due to PHP 5.2 incompatibililty.
|
510 |
-
|
511 |
-
## 3.3.9.31
|
512 |
-
* Fixed: #1943 - Removed premature DIV close.
|
513 |
-
* Fixed: #1945 - Media preview not rendering when default ID specified.
|
514 |
-
|
515 |
-
## 3.3.9.30
|
516 |
-
* Modified: #1930 - reorder 'psedo-class of link_color field. Thanks @freddessaint
|
517 |
-
* Modified: SASS compiler outputs to page by default. Faster.
|
518 |
-
* Fixed: #1927 - Incorrect dir path to spectrum library in color_rgba field corrected.
|
519 |
-
|
520 |
-
## 3.3.9.29
|
521 |
-
* Modified: color_rgba field now usees spectrum color picker. minicolors removed. Just...too buggy.
|
522 |
-
|
523 |
-
## 3.3.9.28
|
524 |
-
* Modified: #1922 - Filesystem output function.
|
525 |
-
|
526 |
-
## 3.3.9.27
|
527 |
-
* Fixed: Added PHP 5.2 support (ugh!) for SASS compiler.
|
528 |
-
|
529 |
-
## 3.3.9.26
|
530 |
-
* Fixed: More SASS compiler tweaking.
|
531 |
-
|
532 |
-
## 3.3.9.25
|
533 |
-
* Fixed: PHP errors when disabling SASS.
|
534 |
-
|
535 |
-
## 3.3.9.24
|
536 |
-
* Fixed #1909 - malformed DIV class HTML in slider field.
|
537 |
-
|
538 |
-
## 3.3.9.23
|
539 |
-
* Removed Argument for SASS compile file output location removed. Didn't work, too much trouble.
|
540 |
-
|
541 |
-
## 3.3.9.22
|
542 |
-
* Fixed: #1904 - select_image field not displaying saved value on page reload.
|
543 |
-
|
544 |
-
## 3.3.9.21
|
545 |
-
* Fixed: SASS compile under multi-instance outputting incorrect CSS file
|
546 |
-
|
547 |
-
## 3.3.9.20
|
548 |
-
* Fixed: redux-admin scss images converted to base64
|
549 |
-
|
550 |
-
## 3.3.9.17
|
551 |
-
* Added SASS compiler for admin CSS.
|
552 |
-
* Added SASS to CSS for grunt compiler.
|
553 |
-
|
554 |
-
## 3.3.9.16
|
555 |
-
* Added SASS compiler for fields.
|
556 |
-
|
557 |
-
## 3.3.9.16
|
558 |
-
* Updated: select2 3.5.2
|
559 |
-
|
560 |
-
## 3.3.9.15
|
561 |
-
* Fixed: #1856 - Illegal offset string warnings in framework.php. Thanks @CGlingener.
|
562 |
-
* Fixed: #1874 - Required operator 'contains' and 'not_contains' not working with select set to multi.
|
563 |
-
* Fixed: #1829 - Required operator '=' and '!=' not working with select set to multi.
|
564 |
-
|
565 |
-
## 3.3.9.14
|
566 |
-
* Fixed: #1870 - Border field doubling up on px in output/compiler.
|
567 |
-
* Added: `hidden` argument for fields.
|
568 |
-
* Added: `hidden` argument for sections.
|
569 |
-
|
570 |
-
## 3.3.9.12
|
571 |
-
* Fixed: #1868 - Improper panel render when opening expanded, when `open_expanded` set to true.
|
572 |
-
* Added: `hide_expand` argument, to hide the expand options button.
|
573 |
-
|
574 |
-
## 3.3.9.11
|
575 |
-
* Fixed: #1865 - Sortable select not saving proper order.
|
576 |
-
* Fixed: #1864 - Footer z-index CSS adjusted.
|
577 |
-
|
578 |
-
## 3.3.9.10
|
579 |
-
* Fixed: #1848 - Import-export filed buttons not functioning properly.
|
580 |
-
|
581 |
-
## 3.3.9.9
|
582 |
-
* Fixed: #1834 - Wordpress data dealing with IDs as array keys not rendering properly.
|
583 |
-
* Fixed: #1830 - Font lists were added in quotes. Thanks @karimhossenbux.
|
584 |
-
|
585 |
-
## 3.3.9.8
|
586 |
-
* Fixed: #1798 - Fixed lazy load JS to only load visible sections. Much more optimized.
|
587 |
-
|
588 |
-
## 3.3.9.7
|
589 |
-
* Fixed: #1821 - Exo 2 font not working, issue with typography and escaping.
|
590 |
-
|
591 |
-
## 3.3.9.6
|
592 |
-
* Added: #1803 - Optgroup support for select field.
|
593 |
-
|
594 |
-
## 3.3.9.5
|
595 |
-
* Added: Decimal increments to spinner.
|
596 |
-
|
597 |
-
## 3.3.9.4
|
598 |
-
* Added: Customizer now supports PANEL! Yay 4.0.
|
599 |
-
|
600 |
-
## 3.3.9.3
|
601 |
-
* Fixed: #1789 - Customizer now properly working again with WP 4.0. Odd bug.
|
602 |
-
* Modified: README.md updates as per @cmwwebfx suggestions.
|
603 |
-
|
604 |
-
## 3.3.9.2
|
605 |
-
* Fixed: #1782 - Fixed some extra themecheck and customizer issues.
|
606 |
-
|
607 |
-
## 3.3.9.1
|
608 |
-
* Fixed: #1782 - Media field not showing files after upload? Hopefully this fixes it.
|
609 |
-
|
610 |
-
## 3.3.9
|
611 |
-
* Fixed: #1775 - Call to undefined function is_customize_preview() in pre WP 4.0.
|
612 |
-
* Fixed: Issue where in some cases tracking still occuring after opt-out.
|
613 |
-
* Modified: Documentation URL.
|
614 |
-
|
615 |
-
## 3.3.8.8
|
616 |
-
* Fixed: #1742 - Sidebar subsections don't always expand.
|
617 |
-
|
618 |
-
## 3.3.8.7
|
619 |
-
* Fixed: #1758 - Thanks @echo1consulting!
|
620 |
-
* Added: 'hidden' to menu_type argument to allow for hidden menus until available.
|
621 |
-
|
622 |
-
## 3.3.8.6
|
623 |
-
* Fixed: #1749 - Remove font-wight and font-style from css output when not in use.
|
624 |
-
|
625 |
-
## 3.3.8.5
|
626 |
-
* Modified: Added the "redux/options/{$this->args['opt_name']}/compiler/advanced" hook for more advanced compiling.
|
627 |
-
* Added: Suggestions as per #1709. Thanks @echo1consulting.
|
628 |
-
|
629 |
-
## 3.3.8.4
|
630 |
-
* Modified: Removed a cURL instance from the core and fixed the developer ad resizing.
|
631 |
-
* Fixed: PHP 5.2 issues. *sigh*
|
632 |
-
|
633 |
-
## 3.3.8.3
|
634 |
-
* Added: #1593 - Great pull request by @JonasDoebertin. Now you can enqueue dynamic output to the login screen or admin backend.
|
635 |
-
|
636 |
-
## 3.3.8.2
|
637 |
-
* Fixed: Customizer wasn't saving at all! That's been like 4 months. No one's reported it. Hmm.
|
638 |
-
* Fixed: #1702 - Customizer only fields were being erased on panel save.
|
639 |
-
|
640 |
-
## 3.3.8.1
|
641 |
-
* Fixed: Various Theme-Check errors with languages.
|
642 |
-
* Added: Theme-Check class to help devs know what is what.
|
643 |
-
* Fixed: The way we include files from include_once to require_once everywhere.
|
644 |
-
* Modified: Language files to reflect new strings.
|
645 |
-
* Modified: Formatted a bunch of old class files.
|
646 |
-
* Added: Notice on the updates for non-devs to use the new dev_mode disabler plugin and notify their developer. ;)
|
647 |
-
|
648 |
-
## 3.3.8
|
649 |
-
* Modified: Updated potomo, thanks @shivapoudel.
|
650 |
-
* Added: Grunt checktextdomain and made improvements. Thanks @shivapoudel.
|
651 |
-
|
652 |
-
## 3.3.7.11
|
653 |
-
* Modified: #1685 - Specifying no default argument for image_select caused errors on reset.
|
654 |
-
|
655 |
-
## 3.3.7.10
|
656 |
-
* Fixed: #1667 - Slides Upload button causing JS error.
|
657 |
-
|
658 |
-
## 3.3.7.9
|
659 |
-
* Fixed: #1670 - Fix for Theme Check -> `add_setting() method needs to have a sanitization callback function passed.`
|
660 |
-
|
661 |
-
## 3.3.7.8
|
662 |
-
* Fixed: #1661 - Fix for undefined index in some versions of PHP. Thanks @gianbalex!
|
663 |
-
* Modified: #1658 - Improvements from @shivapoudel, including:
|
664 |
-
* Removed makepot and used grunt-wp-i18n instead.
|
665 |
-
* Added a jshintrc file
|
666 |
-
* Added a `grunt addtextdomain` to correct any bad textdomains in the core.
|
667 |
-
* Updated .gitignore for better readability
|
668 |
-
* Updates to a few other files including package.json.
|
669 |
-
* Updated language files.
|
670 |
-
* Update codestyles/.editorconfig to reflect the project's standards.
|
671 |
-
|
672 |
-
## 3.3.7.7
|
673 |
-
* Modified: #1653 - Better admin bar with external links: Admin bar menu priority, icon, and external links. Thanks @shivapoudel!
|
674 |
-
|
675 |
-
## 3.3.7.6
|
676 |
-
* Added: #1651 - `library_filter` argument. Allows specification of what files to display in the media library.
|
677 |
-
* Modified: #1651 - `mode` argument accepts either file type or mime type (but not both).
|
678 |
-
|
679 |
-
## 3.3.7.5
|
680 |
-
* Fixed: #1650 - Toogle error with responsive CSS.
|
681 |
-
|
682 |
-
## 3.3.7.4
|
683 |
-
* Fixed: #1643 - Slight border issue (2px) on sticky footer.
|
684 |
-
|
685 |
-
## 3.3.7.3
|
686 |
-
* Fixed: #1642 - Added `font_family_clear` arg, enabling the clear option for font-family.
|
687 |
-
* Fixed: #1638 - Spacing field not outputting when units values attached to default values.
|
688 |
-
* Modified #1644 - `import_icon` argument now accepts wordpress dashicons
|
689 |
-
|
690 |
-
## 3.3.7.2
|
691 |
-
* Fixed: #1634 - Double border for sections field. Thanks @AlexandruDoda
|
692 |
-
* Modified: Changelog location to now Changelog.md.
|
693 |
-
|
694 |
-
## 3.3.7.1
|
695 |
-
* Fixed: #1632 - Sortable with no defaults set revert to false (instead of options values).
|
696 |
-
* Fixed: Labels for sortable in text mode updated to match framework.
|
697 |
-
|
698 |
-
## 3.3.7
|
699 |
-
* Added: #1586 - Class-level declaration for callbacks and validation. Thanks @echo1consulting.
|
700 |
-
* Modified: Typography field now fully dynamic.
|
701 |
-
* Modified: No longer require a google_api_key for the typography module. :)
|
702 |
-
* Fixed: FTP credentials screen giving a "undefined submit_button function". Resolved.
|
703 |
-
* Modified: #1628 - Spacing and dimensions now only output 0 if the entry is a 0, not empty.
|
704 |
-
Thanks @Webcreations907
|
705 |
-
* Modified: CSS for menu items when active (no hover).
|
706 |
-
* Added: Visual feedback to left menu if active.
|
707 |
-
|
708 |
-
## 3.3.6.9
|
709 |
-
* Fixed: #1623 - Registered older noUISlider JS under a new name to avoid conflicts.
|
710 |
-
* Modified: #1622 - Removed googlefonts.js dependency.
|
711 |
-
|
712 |
-
## 3.3.6.8
|
713 |
-
* Fixed: #1600 - ACE Editor bombing in PHP 5.2 environments.
|
714 |
-
|
715 |
-
## 3.3.6.7
|
716 |
-
* Fixed: #1591 - Erroneous outputting of font-weight and font-style when no font-family selected.
|
717 |
-
* Updated: #1569 - Improved submenu highlighting.
|
718 |
-
* Added: #1487 - Added `get_default_value` function into the framework.php
|
719 |
-
|
720 |
-
## 3.3.6.6
|
721 |
-
* Fixed: Framework URI errors when using child themes. Some restructuring.
|
722 |
-
|
723 |
-
## 3.3.6.5
|
724 |
-
* Fixed: Framework URI errors when embedded in theme with Windows.
|
725 |
-
|
726 |
-
## 3.3.6.4
|
727 |
-
* Added: image_size as an option for the data argument. Thanks @Gyroscopic!
|
728 |
-
|
729 |
-
## 3.3.6.3
|
730 |
-
* Modified: How Redux paths are run. Should cover all use cases now. Child themes can also embed
|
731 |
-
Redux properly now. Thanks @cfoellmann for the suggestions. Fix for issue #1566.
|
732 |
-
|
733 |
-
## 3.3.6.2
|
734 |
-
* Modified: How we declare the uploads directory and URL. Using core WP functions now.
|
735 |
-
|
736 |
-
## 3.3.6.1
|
737 |
-
* Modified: Now if a section is empty, but has subsections, that section will be "skipped" when
|
738 |
-
clicked and the first subsection will then be shown.
|
739 |
-
|
740 |
-
## 3.3.6
|
741 |
-
* Modified: Language files.
|
742 |
-
* Fixed: #1560 - IE8 RGBA fallack
|
743 |
-
|
744 |
-
## 3.3.5.12
|
745 |
-
* Fixed: #1543 - Hint icon not changing when set in args.
|
746 |
-
|
747 |
-
## 3.3.5.11
|
748 |
-
* Fixed: #1537 - Media field not accepting images with mode set to false.
|
749 |
-
|
750 |
-
## 3.3.5.10
|
751 |
-
* Fixed: #1529 - ACE Editor conflict with Visual Composer.
|
752 |
-
* Added: #1530 - Added argument to specify admin bar icon, `admin_bar_icon`. Thanks Ninos!
|
753 |
-
* Fixed: #1532 - Media field not accepting any mime type when `'mode' => false`.
|
754 |
-
|
755 |
-
## 3.3.5.9
|
756 |
-
* Fixed: #1520 - Checkbox field not displaying Wordpress data when using data argument.
|
757 |
-
|
758 |
-
## 3.3.5.8
|
759 |
-
* Fixed: #1516 - Invalid index and foreach when using compiler and async_typography.
|
760 |
-
|
761 |
-
## 3.3.5.7
|
762 |
-
* Fixed: #1509 - Sorter adding unnecessary bits on some items.
|
763 |
-
* Fixed: #1514 - Customizer and multisite not getting on properly.
|
764 |
-
* Fixed: #1512 - Slides 'Upload' button not showing or saving selected image.
|
765 |
-
|
766 |
-
## 3.3.5.6
|
767 |
-
* Fixed: Checkboxes with required were working in reverse.
|
768 |
-
|
769 |
-
## 3.3.5.5
|
770 |
-
* Fixed: ASync Typography now works! No more flashing fonts.
|
771 |
-
|
772 |
-
## 3.3.5.4
|
773 |
-
* Fixed: #1489 - Color picker UI lining up improperly.
|
774 |
-
* Fixed: #1497 - dev_mode spinner issue.
|
775 |
-
|
776 |
-
## 3.3.5.3
|
777 |
-
* Fixed: Spelling error in tracking dialog.
|
778 |
-
* Modified: Updated ace_editor.
|
779 |
-
* Modified: Many MANY fields for the group field.
|
780 |
-
* Fixed: Some CSS bugs.
|
781 |
-
|
782 |
-
## 3.3.5.2
|
783 |
-
* Fixed: #1481 - Custom fonts loading in google font CSS.
|
784 |
-
* Fixed: #1485 - Customizer 'invalid argument' error. Thanks @rnlmedia.
|
785 |
-
|
786 |
-
## 3.3.5.1
|
787 |
-
* Fixed: #1472 - font style not displaying saved valie with no font-family argument set.
|
788 |
-
* Fixed: #1471 - raw field and required not playing nice together.
|
789 |
-
|
790 |
-
## 3.3.5
|
791 |
-
* Added: An annoying notice at the top so our devs don't ship with dev_mode on. ;)
|
792 |
-
|
793 |
-
## 3.3.4.9
|
794 |
-
* Fixed: #1462 - Google fonts not loading in font drop down.
|
795 |
-
|
796 |
-
## 3.3.4.8
|
797 |
-
* Fixed: More WP FileSystem tanking. Did PHP fallback before FTP. Works 99.9% of the time without credentials.
|
798 |
-
|
799 |
-
## 3.3.4.7
|
800 |
-
* Fixed: Incorrect folder CHMOD in filesystem class.
|
801 |
-
|
802 |
-
## 3.3.4.6
|
803 |
-
* Fixed: #1454 - Chmod permissions for redux folder.
|
804 |
-
|
805 |
-
## 3.3.4.5
|
806 |
-
* Fixed: #1451 - Googlefonts not loading due to failing copy function.
|
807 |
-
|
808 |
-
## 3.3.4.4
|
809 |
-
* Fixed: #1450 - Saves witch values with no `on` or `off` args make the core unhappy.
|
810 |
-
|
811 |
-
## 3.3.4.3
|
812 |
-
* Fixed: #1444, again, due to filesystem growing pains.
|
813 |
-
* Fixed: #1449 - Restoring `options` argument over a lousy attempt to fix placeholder.
|
814 |
-
|
815 |
-
## 3.3.4.2
|
816 |
-
* Fixed: More file permission issues.
|
817 |
-
|
818 |
-
## 3.3.4.1
|
819 |
-
* Fixed: Font debug was left from last commit. Sorry all.
|
820 |
-
|
821 |
-
## 3.3.3.8
|
822 |
-
* Fixed: Issues with file writing. Basically many users don't install WordPress with all the permissions correct.
|
823 |
-
So... Had to move it back to /uploads/. Sorry Otto, that's just how it is.
|
824 |
-
* Fixed: #1444 - output of typography all_styles when font_style UI was hidden.
|
825 |
-
|
826 |
-
## 3.3.3.7
|
827 |
-
* Fixed: #1440 - flaw in new cleanFilePath logic.
|
828 |
-
|
829 |
-
## 3.3.3.6
|
830 |
-
* Fixed: #1432 - Theme check failing when double-slashes existed in get_template_directory() return.
|
831 |
-
* Removed: curlRead from helper class.
|
832 |
-
|
833 |
-
## 3.3.3.5
|
834 |
-
* Fixed: #1426 - menu_name not appearing on front end admin bar.
|
835 |
-
* Added: #1427 - button_set added to customizer UI. Thanks @wpexplorer.
|
836 |
-
|
837 |
-
## 3.3.3.4
|
838 |
-
* Fixed: #1429 - ACE Editor erroring with no default value set.
|
839 |
-
* Fixed: wp_filesystem now initialized with credentials in an effort to combat the tmp file issue.
|
840 |
-
|
841 |
-
## 3.3.3.3
|
842 |
-
* Modified: Code purification.
|
843 |
-
|
844 |
-
## 3.3.3.2
|
845 |
-
* Modified: How section tabs work. Isolated within the redux-container class.
|
846 |
-
|
847 |
-
## 3.3.3
|
848 |
-
* Modified: #1412 - Redesigned text label, placeholder fix.
|
849 |
-
|
850 |
-
## 3.3.2.10
|
851 |
-
* Fixed: #1408 & #1357 - Typography subsets losing value after multiple saves
|
852 |
-
on other panels.
|
853 |
-
|
854 |
-
## 3.3.2.9
|
855 |
-
* Fixed: #1403 - unit value no longer prints after empty typography values
|
856 |
-
* Modified: Typography: Backup font no longer appends to `font-family` variable.
|
857 |
-
Please use the `backup-font` variable to specify backup fonts. This
|
858 |
-
does not apply to output/compiler strings.
|
859 |
-
|
860 |
-
## 3.3.2.8
|
861 |
-
* Fixed: #1403 - Backup font not appearing in font-family variable.
|
862 |
-
|
863 |
-
## 3.3.2.7
|
864 |
-
* Modified: Customizer now supports section and field `permissions` argument.
|
865 |
-
* Fixed: #1399 - Customizer respects `page_permissions` argument.
|
866 |
-
|
867 |
-
## 3.3.2.6
|
868 |
-
* Fixed: #1400 - output/compiler string incomplete using multiple selectors.
|
869 |
-
|
870 |
-
## 3.3.2.5
|
871 |
-
* Fixed: #1396 - Custom fonts cutting off multiple families in selector, after save.
|
872 |
-
* Fixed: Typography attempting to queue up non google fonts on backend.
|
873 |
-
* Added: #1395 - Display of child theme status in sysinfo, thanks @SiR-DanieL.
|
874 |
-
|
875 |
-
## 3.3.2.4
|
876 |
-
* Fixed: #1387 - Page jump when clicking "Options Object". Thanks @rrikesh.
|
877 |
-
* Added: #1392 - Filters to change the following localized strings:
|
878 |
-
redux/{opt_name}/localize/reset
|
879 |
-
redux/{opt_name}/localize/reset_all
|
880 |
-
redux/{opt_name}/localize/save_pending
|
881 |
-
redux/{opt_name}/localize/preset
|
882 |
-
|
883 |
-
## 3.3.2.3
|
884 |
-
* Fixed: #1376 - checkbox.min.js missing.
|
885 |
-
|
886 |
-
## 3.3.2.2
|
887 |
-
* Fixed: Static variable changes for instances and basic comment cleanup
|
888 |
-
|
889 |
-
## 3.3.2.1
|
890 |
-
* Fixed: #1361 - Raw field not hiding with required.
|
891 |
-
* Fixed: Datepicker not formatting properly. Still needs some work.
|
892 |
-
|
893 |
-
## 3.3.1.9
|
894 |
-
* Fixed: #1357 - Preview not rendering font on page load.
|
895 |
-
|
896 |
-
## 3.3.1.8
|
897 |
-
* Fixed: #1356 - Color fields and transparency not syncing due to new JS.
|
898 |
-
|
899 |
-
## 3.3.1.7
|
900 |
-
* Fixed: #1354 - Add class check for W3_ObjectCache.
|
901 |
-
|
902 |
-
## 3.3.1.6
|
903 |
-
* Fixed: #1341 - JS not initializing properly in import_export.
|
904 |
-
|
905 |
-
## 3.3.1.5
|
906 |
-
* Fixed: #1339 - Typography would lose Font Weight and Style. value was
|
907 |
-
named val in the HTML, so it would be destroyed on the next save
|
908 |
-
if not initialized.
|
909 |
-
|
910 |
-
## 3.3.1.4
|
911 |
-
* Fixed: #1226 - W3 Total Cache was affecting validation and compiler hooks.
|
912 |
-
* Fixed: Menu errors weren't showing properly for non-subsectioned items.
|
913 |
-
|
914 |
-
## 3.3.1.3
|
915 |
-
* Fixed: #1341 - Import/Export buttons not functioning. Also fixed sortable somehow.
|
916 |
-
|
917 |
-
## 3.3.1.2
|
918 |
-
* Fixed: Slides not initializing with the last fix.
|
919 |
-
|
920 |
-
## 3.3.1.1
|
921 |
-
* Fixed: Slides field was not properly initialized for the media elements. Fixed.
|
922 |
-
|
923 |
-
## 3.3.0.6
|
924 |
-
* Fixed: #1337 - `redux` JS dependency loading issue. Many thanks @tpaksu
|
925 |
-
|
926 |
-
## 3.3.0.5
|
927 |
-
* Modified: Drastically changed the way JavaScript is used in the panel. Forced as-needed
|
928 |
-
initialization of fields. Thus reducing dramatically the overall load time of
|
929 |
-
the panel. The effects have been seen up to 300% speed improvement. The only
|
930 |
-
time a field will be initialized is if it's visible, thus reducing the processing
|
931 |
-
needed in DOM overall.
|
932 |
-
|
933 |
-
## 3.3.0.4
|
934 |
-
* Fixed: #1336 - fixed default font in preview.
|
935 |
-
|
936 |
-
## 3.3.0.3
|
937 |
-
* Fixed: #1334 - Typography not un-saving italics.
|
938 |
-
|
939 |
-
## 3.3.0.2
|
940 |
-
* Added: #1332 - New validation: numeric_not_empty.
|
941 |
-
|
942 |
-
## 3.3.0.1
|
943 |
-
* Fixed: #1330 - Required not working on all fields.
|
944 |
-
|
945 |
-
## 3.3.0
|
946 |
-
* Added: #1329 - `'preview' = array('always_display' => true)` argument to typography, to determine if preview field show always be shown.
|
947 |
-
|
948 |
-
## 3.2.9.38
|
949 |
-
* Fixed: #1322 - Sections not folding with required argument.
|
950 |
-
* Modified: Portions of core javascript rewritten into object code.
|
951 |
-
|
952 |
-
## 3.2.9.37
|
953 |
-
* Fixed: #1270 - Editor field compiler hook not firing in visual mode.
|
954 |
-
|
955 |
-
## 3.2.9.36
|
956 |
-
* Added: `hide_reset` argument, to hide the Reset All and Reset Section buttons.
|
957 |
-
|
958 |
-
## 3.2.9.35
|
959 |
-
* Fixed: select2 dependency in select_image, and other fields.
|
960 |
-
|
961 |
-
## 3.2.9.34
|
962 |
-
* Fixed: Filter out `@eaDir` directories in extensions folder.
|
963 |
-
* Added: `content_title` argument to slides field. Thanks @psaikali!
|
964 |
-
|
965 |
-
## 3.2.9.33
|
966 |
-
* Fixed: Fixed the image_select presets to work again. Also now will function even if import/export is disabled.
|
967 |
-
|
968 |
-
## 3.2.9.32
|
969 |
-
* Fixed: Minor tweaks for metabox update.
|
970 |
-
|
971 |
-
## 3.2.9.31
|
972 |
-
* Fixed: #1297 - Missing space in image_select class.
|
973 |
-
* Fixed: Slider field tweaked for metaboxes.
|
974 |
-
|
975 |
-
## 3.2.9.30
|
976 |
-
* Fixed: #1291 - Change of font-family would not trigger preview, or show in open preview.
|
977 |
-
|
978 |
-
## 3.2.9.29
|
979 |
-
* Fixed: #1289 - Typography not retaining size/height/spacing/word/letter spacing settings.
|
980 |
-
|
981 |
-
## 3.2.9.28
|
982 |
-
* Fixed: #1288 - Background color-picker dependency missing. Thanks @farhanwazir.
|
983 |
-
|
984 |
-
## 3.2.9.27
|
985 |
-
* Fixed: Search extension failed do to dependency issue from the core.
|
986 |
-
|
987 |
-
## 3.2.9.26
|
988 |
-
* Fixed: #1281 - color field output/compiler outputting incorrect selector when only one array present.
|
989 |
-
|
990 |
-
## 3.2.9.25
|
991 |
-
* Fixed: Update check only appears once if multiple instances of Redux are loaded in the same wordpress instance.
|
992 |
-
|
993 |
-
## 3.2.9.24
|
994 |
-
* Fixed: Changing font-family in typography didn't trigger 'save changes' notification.
|
995 |
-
* Fixed: More typography: Back up font appearing in font-family when opening selector.
|
996 |
-
* Fixed: Typography: undefined message when NOT using google fonts. Thanks @farhanwazir
|
997 |
-
|
998 |
-
## 3.2.9.23
|
999 |
-
* Added: `customizer_only` argument for fields & sections, contributed by @andreilupu.
|
1000 |
-
|
1001 |
-
## 3.2.9.22
|
1002 |
-
* Fixed: Typography font backup not in sync with font-family.
|
1003 |
-
* Fixed: Typography not saving font-family after switching back and forth between standard
|
1004 |
-
and google fonts.
|
1005 |
-
* Fixed: Background field selects not properly aligned.
|
1006 |
-
|
1007 |
-
## 3.2.9.21
|
1008 |
-
* Added: select2 args for spacing field.
|
1009 |
-
* Modified: All field javascript rewritten using jQuery objects (versus standard function).
|
1010 |
-
Prepping for another crack at group field.
|
1011 |
-
|
1012 |
-
## 3.2.9.20
|
1013 |
-
* Added: select2 args for the following fields: typography, background, border, dimensions and slider.
|
1014 |
-
* Fixed: Removed select field dependency from background field.
|
1015 |
-
|
1016 |
-
## 3.2.9.19
|
1017 |
-
* Fixed: #1264 - Color-picker/transparent checkbox functionality.
|
1018 |
-
* Fixed: Typography fine-tuning.
|
1019 |
-
|
1020 |
-
## 3.2.9.18
|
1021 |
-
* Modified: Typography field rewritten to fill out font-family field dynamically, versus on page load.
|
1022 |
-
* Fixed: All typography select fields render as select2.
|
1023 |
-
|
1024 |
-
## 3.2.9.17
|
1025 |
-
* Fixed: Switching between transparency on and off now restores the last chosen color in
|
1026 |
-
all color fields.
|
1027 |
-
|
1028 |
-
## 3.2.9.16
|
1029 |
-
* Fixed: Redux uploads dir should NOT be ~/wp-content/uploads, but just wp-content.
|
1030 |
-
As per Otto.
|
1031 |
-
* Fixed: Navigation no longer has that annoying outline around the links. Yuk.
|
1032 |
-
|
1033 |
-
## 3.2.9.15
|
1034 |
-
* Fixed: #1218 - Select2 multi select not accepting any keyboard input.
|
1035 |
-
|
1036 |
-
## 3.2.9.14
|
1037 |
-
* Fixed: #1228 - CSS fixes
|
1038 |
-
|
1039 |
-
## 3.2.9.13
|
1040 |
-
* Fixed: #1255 - button_set multi field not saving when all buttons not selected.
|
1041 |
-
|
1042 |
-
## 3.2.9.12
|
1043 |
-
* Fixed: #1254 - Border field with 0px not outputting properly.
|
1044 |
-
* Fixed: #1250 - Typography preview font-size not set in preview.
|
1045 |
-
* Fixed: #1247 - Spacing field not outputting properly in `absolute` mode.
|
1046 |
-
* Modified: Typography previewing hidden until font inputs are changed.
|
1047 |
-
|
1048 |
-
## 3.2.9.11
|
1049 |
-
* Fixed: Vendor js not loading properly when dev_mode = true
|
1050 |
-
* Fixed: Border field not outputting properly.
|
1051 |
-
|
1052 |
-
## 3.2.9.10
|
1053 |
-
* Modified: Centralized import/export code in anticipation of new builder features.
|
1054 |
-
* Fixed: Removed rogue echo statement.
|
1055 |
-
|
1056 |
-
## 3.2.9.9
|
1057 |
-
* Modified: select2 loads only when a field requires it.
|
1058 |
-
|
1059 |
-
## 3.2.9.8
|
1060 |
-
* Modified: More code to load JS on demand for fields require it.
|
1061 |
-
|
1062 |
-
## 3.2.9.7
|
1063 |
-
* Modified: Field specific JS only loads with active field.
|
1064 |
-
* Fixed: Hints stopped working due to classname change.
|
1065 |
-
|
1066 |
-
## 3.2.9.6
|
1067 |
-
* Fixed: Permissions argument on section array not filtering out raw field.
|
1068 |
-
|
1069 |
-
## 3.2.9.5
|
1070 |
-
* Fixed: Too many CSS tweaks to list, due to last build.
|
1071 |
-
* Fixed: Sortable and Sorter fields now sort without page scroll when page size is
|
1072 |
-
under 782px.
|
1073 |
-
* Fixed: Hint icon defaults to left position when screen size is under 782px.
|
1074 |
-
* Fixed: `permissions` argument for fields and sections erasing saved field data. See #1231
|
1075 |
-
|
1076 |
-
## 3.2.9.4
|
1077 |
-
* Modified: Woohoo! Nearly fully responsive. Yanked out all SMOF and NHP field customizations.
|
1078 |
-
Lots of little fixes on all browser screens. This will also greatly benefit Metaboxes
|
1079 |
-
and other areas of Redux.
|
1080 |
-
* Fixed: In dev_mode panel CSS was being loaded 2x.
|
1081 |
-
|
1082 |
-
## 3.2.9.3
|
1083 |
-
* Fixed: Typography color picker bleeding under other elements. #1225
|
1084 |
-
* Fixed: Hint icon_color index error from builder. #1222
|
1085 |
-
|
1086 |
-
## 3.2.9.2
|
1087 |
-
* Fixed: Tracking. It was... odd. Also started our support hooks, UI to come.
|
1088 |
-
* Fixed: Now import/export supports multiple instances. I can't believe this has been this way for so long.
|
1089 |
-
|
1090 |
-
## 3.2.9.1
|
1091 |
-
* Fixed: Spacing field not outputting proper CSS when `mode` was set to absolute, and `all` was set to true.
|
1092 |
-
* Fixed: CSS fix for typography. Color picker would interfere with save/reset bar.
|
1093 |
-
|
1094 |
-
## 3.2.8.21
|
1095 |
-
* Added: Network admin support! Set argument 'database' to network and data will be saved site-wide.
|
1096 |
-
Also two new arguments: network_admin & network_sites for where to show the panel.
|
1097 |
-
|
1098 |
-
## 3.2.8.20
|
1099 |
-
* Fixed: Redux now ignores any directories that begin with `.` in the extension folder. See #1213.
|
1100 |
-
|
1101 |
-
## 3.2.8.19
|
1102 |
-
* Fixed: Redux not saving when validating uploads.
|
1103 |
-
* Modified: Dimension field default now accepts either `units` or `unit`.
|
1104 |
-
|
1105 |
-
## 3.2.8.18
|
1106 |
-
* Fixed: Border field output/compiler formatting. Removed 'inherit' in place of default values. See #1208.
|
1107 |
-
* Fixed: Trim() warning in framework.php when saving. See #1209, #1201.
|
1108 |
-
|
1109 |
-
## 3.2.8.17
|
1110 |
-
* Fixed: Typography not outputting all styles when `all_styles` set to true.
|
1111 |
-
|
1112 |
-
## 3.2.8.16
|
1113 |
-
* Added: `output` argument for `color` and `color_rgba` fields accepts key/pairs for different modes. Example:
|
1114 |
-
```
|
1115 |
-
'output' => array('color' => '.site-title, .site-header', 'background-color' => '.site-background')
|
1116 |
-
```
|
1117 |
-
|
1118 |
-
## 3.2.8.15
|
1119 |
-
* Added: Customizer hook that can be used to simulate the customizer for live preview in the customizer.
|
1120 |
-
`redux/customizer/live_preview`
|
1121 |
-
|
1122 |
-
## 3.2.8.14
|
1123 |
-
* Fixed: 'Cannot send header' issues with typography.
|
1124 |
-
* Modified: Google CSS moved into HEAD via WP enqueue.
|
1125 |
-
|
1126 |
-
## 3.2.8.13
|
1127 |
-
* Added: `class` argument to the Redux Arguments, section array, and metabox array. If set, a class will be
|
1128 |
-
appended to whichever level is used. This allows further customization for our users.
|
1129 |
-
|
1130 |
-
## 3.2.8.12
|
1131 |
-
* Fixed: Small fix for validation if subsection parent is free of errors, remove the red highlight when
|
1132 |
-
not expanded.
|
1133 |
-
* Fixed: Small CSS classes for flashing fonts where web-font-loader.
|
1134 |
-
* Fixed: ASync Flash on fonts. FINALLY. What a pain.
|
1135 |
-
* Modified: Now do a trim on all fields before validating. No need to alert because of a space...
|
1136 |
-
|
1137 |
-
## 3.2.8.11
|
1138 |
-
* Modified: Typography field CSS completely rewritten. All thanks to @eplanetdesign!
|
1139 |
-
* Modified: Validation now works in metaboxes as well as updates numbers as changes occur. Validation for
|
1140 |
-
subsections is SO hot now.
|
1141 |
-
* Modified: Various CSS fixes and improvements.
|
1142 |
-
* Fixed: 3+ JavaScript errors found in the background field. Now works flawlessly.
|
1143 |
-
* Added: disable_save_warn flags to the arguments to disable the "you should save" slidedown.
|
1144 |
-
|
1145 |
-
## 3.2.8.10
|
1146 |
-
* Fixed: PHP warnings in background field. #1173. Thanks, @abossola.
|
1147 |
-
* Fixed: CSS validation not respecting child selector symbol. #1162
|
1148 |
-
|
1149 |
-
## 3.2.8.9
|
1150 |
-
* Modified: Turned of mod_rewrite check.
|
1151 |
-
|
1152 |
-
## 3.2.8.8
|
1153 |
-
* Modified: How errors are displayed, no longer dependent on the ID, now proper classes.
|
1154 |
-
* Fixed: Extra check for typography bug.
|
1155 |
-
* Fixed: Error css alignment issue with subsections.
|
1156 |
-
* Modified: Error notice stays until all errors are gone. Also updates it's number as errors fixed!
|
1157 |
-
|
1158 |
-
## 3.2.8.7
|
1159 |
-
* Modified: Moved google font files to proprietary folder in upload to help with permission issues.
|
1160 |
-
|
1161 |
-
## 3.2.8.6
|
1162 |
-
* Fixed: javascript error in typography field.
|
1163 |
-
|
1164 |
-
## 3.2.8.5
|
1165 |
-
* Fixed: Added a title to the google fonts stylesheet to fix validation errors.
|
1166 |
-
|
1167 |
-
## 3.2.8.4
|
1168 |
-
* Fixed: One more slides field error check, and an extra JS goodie for an extension.
|
1169 |
-
|
1170 |
-
## 3.2.8.3
|
1171 |
-
* Fixed: Leftover debug code messing up slides field.
|
1172 |
-
|
1173 |
-
## 3.2.8.2
|
1174 |
-
* Fixed: More reliable saved action hook.
|
1175 |
-
* Added: Actions hooks for errors and warnings.
|
1176 |
-
|
1177 |
-
## 3.2.8.1
|
1178 |
-
* Fixed: Removed erroneous debug output in link_color field.
|
1179 |
-
|
1180 |
-
## 3.2.7.3
|
1181 |
-
* Added: is_empty / empty / !isset AND not_empty / !empty / isset as required operations
|
1182 |
-
|
1183 |
-
## 3.2.7.2
|
1184 |
-
* Fixed: Reset defaults error.
|
1185 |
-
* Added: `show` argument to turn on and off input boxes in slider.
|
1186 |
-
|
1187 |
-
## 3.2.7.1
|
1188 |
-
* Fixed: Required now works with muti-check fields and button set when set to multi.
|
1189 |
-
|
1190 |
-
## 3.2.7
|
1191 |
-
* Fixed: Import works again. A single line was missed...
|
1192 |
-
|
1193 |
-
## 3.2.6.2
|
1194 |
-
* Fixed: link_color field not outputting CSS properly via compiler or output. Thanks @vertigo7x
|
1195 |
-
* Fixed: Sorter field CSS. Buttons were all smushed together.
|
1196 |
-
|
1197 |
-
## 3.2.6.1
|
1198 |
-
* Fixed: 'undefined' error in typography.js. Thanks @ksere.
|
1199 |
-
|
1200 |
-
## 3.2.6
|
1201 |
-
* Fixed: Another stray undefined index. Oy.
|
1202 |
-
|
1203 |
-
## 3.2.5.1
|
1204 |
-
* Added: `open_expanded` argument to start the panel completely expanded initially.
|
1205 |
-
|
1206 |
-
## 3.2.5
|
1207 |
-
* Fixed: Various bad mistakes. Oy.
|
1208 |
-
|
1209 |
-
## 3.2.4
|
1210 |
-
* Fixed: Slight typography speed improvement. Less HTML hopefully faster page loads.
|
1211 |
-
* Fixed: Unload error on first load if the typography defaults are not set.
|
1212 |
-
|
1213 |
-
## 3.2.3.5
|
1214 |
-
* Modified: Moved update check functions to class file and out of the core.
|
1215 |
-
* Fixed: Errors pertaining to mod_rewrite check.
|
1216 |
-
|
1217 |
-
## 3.2.3.4
|
1218 |
-
* Fixed: All those headers already set errors.
|
1219 |
-
|
1220 |
-
## 3.2.3.3
|
1221 |
-
* Added: $changed_values variable to save hooks denoting the old values on a save.
|
1222 |
-
* Added: Pointers to Extensions on load.
|
1223 |
-
* Modified: CSS Output for the background field.
|
1224 |
-
|
1225 |
-
## 3.2.3.2
|
1226 |
-
* Fixed: Validation error messages not appearing on save.
|
1227 |
-
* Modified: Speed boost on validation types.
|
1228 |
-
* Added: Apache mod_rewrite check. This should solve many issues we've been seeing regarding mod_rewrite noe being enabled.
|
1229 |
-
|
1230 |
-
## 3.2.3.1
|
1231 |
-
* Fixed: Sortable field not saving properly.
|
1232 |
-
* Fixed: Erroneous data in admin.less
|
1233 |
-
* Updated: sample-config.php. Sortable checkbox field example now uses true/false instead of text
|
1234 |
-
meant for textbox example.
|
1235 |
-
|
1236 |
-
## 3.2.3
|
1237 |
-
* Fixed: Responsive issues with spacing and dimension fields.
|
1238 |
-
|
1239 |
-
## 3.2.2.16
|
1240 |
-
* Fixed: Style conflicts with WP 3.9. Added register filter to fields via id.
|
1241 |
-
|
1242 |
-
## 3.2.2.15
|
1243 |
-
* Fixed: Metaboxes issues.
|
1244 |
-
|
1245 |
-
## 3.2.2.14
|
1246 |
-
* Modified: Some admin panel stylings. Now perfect with mobile hover. Also fixed an issue
|
1247 |
-
with the slidedown width for sections. No more 2 empty pixels.
|
1248 |
-
|
1249 |
-
## 3.2.2.13
|
1250 |
-
* Added: Tick mark if section has sub sections. Hidden when subsections expanded.
|
1251 |
-
|
1252 |
-
## 3.2.2.12
|
1253 |
-
* Fixed: Compiler hook in the customizer now passes the CSS.
|
1254 |
-
|
1255 |
-
## 3.2.2.11
|
1256 |
-
* Fixed: Compiler hook now properly fires in the customizer.
|
1257 |
-
|
1258 |
-
## 3.2.2.10
|
1259 |
-
* Fixed: Validation error with headers already being set.
|
1260 |
-
|
1261 |
-
## 3.2.2.9
|
1262 |
-
* Fixed: Added mode for width/height to override dimensions css output.
|
1263 |
-
|
1264 |
-
## 3.2.2.8
|
1265 |
-
* Fixed: Restoring lost formatting from multiple merges.
|
1266 |
-
|
1267 |
-
## 3.2.2.7
|
1268 |
-
* Fixed: New sorter default values get set properly now. ;)
|
1269 |
-
|
1270 |
-
## 3.2.2.6
|
1271 |
-
* Added: `data` and `args` can now be set to sorter! Just make sure to have it be a key based on what
|
1272 |
-
you want it to display as. IE: `array('Main'=>'sidebars')`
|
1273 |
-
|
1274 |
-
## 3.2.2.5
|
1275 |
-
* Added: Prevent Redux from firing on AJAX heartbeat, but added hook for it 'redux/ajax/heartbeat'.
|
1276 |
-
* Fixed: Removed erroneous 's' character from HTML.
|
1277 |
-
|
1278 |
-
## 3.2.2.4
|
1279 |
-
* Added: Check to make sure a field isn't empty after the filter. If it is empty, skip over it.
|
1280 |
-
|
1281 |
-
## 3.2.2.3
|
1282 |
-
* Added: Subsections now show icon if they have it. Show text only (without indent) if they do not.
|
1283 |
-
|
1284 |
-
## 3.2.2.2
|
1285 |
-
* Added: Set a section or field argument of `'panel' => false` to skip over that field or panel and
|
1286 |
-
hide it. It will still be registered with defaults saved, but not display. This can be useful
|
1287 |
-
for things like the customizer.
|
1288 |
-
|
1289 |
-
## 3.2.2.1
|
1290 |
-
* Added: SUBSECTIONS! Just add `'subsection' => true` to any section that isn't a divide/callback and
|
1291 |
-
isn't the first section in your panel. ;)
|
1292 |
-
|
1293 |
-
## 3.2.1.2
|
1294 |
-
* Fixed: Info field didn't intend within section.
|
1295 |
-
|
1296 |
-
## 3.2.1.1
|
1297 |
-
* Fixed: Compiler hook wasn't running.
|
1298 |
-
|
1299 |
-
|
1300 |
-
## 3.1.9.44
|
1301 |
-
* Fixed: Small bug in image_select javascript.
|
1302 |
-
|
1303 |
-
## 3.1.9.43
|
1304 |
-
* Added: Import hook, just because we can. :)
|
1305 |
-
|
1306 |
-
## 3.1.9.42
|
1307 |
-
* Fixed: Customizer now TRULY outputting CSS if output_tag is set to false.
|
1308 |
-
|
1309 |
-
## 3.1.9.41
|
1310 |
-
* Fixed: Reset section, etc. Discovered an odd WordPress thing.
|
1311 |
-
|
1312 |
-
## 3.1.9.40
|
1313 |
-
* Fixed: Image_select size override.
|
1314 |
-
* Fixed: Customizer save not firing the compiler hook.
|
1315 |
-
* Fixed: Customizer not outputting CSS if output_tag is set to false.
|
1316 |
-
* Fixed: Small empty variable check. Undefined index in the defaults generating function.
|
1317 |
-
|
1318 |
-
## 3.1.9.39
|
1319 |
-
* Fixed: WP 3.9 update made editor field button look ugly.
|
1320 |
-
* Fixed: Save hook not firing when save_default set to false.
|
1321 |
-
|
1322 |
-
## 3.1.9.38
|
1323 |
-
* Fixed: Reset section anomalies. Maybe.
|
1324 |
-
|
1325 |
-
## 3.1.9.37
|
1326 |
-
* Fixed: Array of values in required not recognized.
|
1327 |
-
|
1328 |
-
## 3.1.9.36
|
1329 |
-
* Fixed: Updated hint defaults to prevent index warning.
|
1330 |
-
|
1331 |
-
## 3.1.9.35
|
1332 |
-
* Fixed: Removed leftover debug code.
|
1333 |
-
|
1334 |
-
## 3.1.9.34
|
1335 |
-
* Added: New readonly argument for text field.
|
1336 |
-
|
1337 |
-
## 3.1.9.33
|
1338 |
-
* Fixed: Reset/Reset section actions hooks now fire properly.
|
1339 |
-
|
1340 |
-
## 3.1.9.32
|
1341 |
-
* Fixed: When developer uses section field but does not specify an indent argument.
|
1342 |
-
|
1343 |
-
## 3.1.9.31
|
1344 |
-
* Fixed: Dynamic URL for slides
|
1345 |
-
* Fixed: Accidently removed reset action on section reset. Restored.
|
1346 |
-
|
1347 |
-
## 3.1.9.30
|
1348 |
-
* Fixed: Section defaults bug for certain field types.
|
1349 |
-
|
1350 |
-
## 3.1.9.29
|
1351 |
-
* Fixed: Dynamic URL if site URL changed now updates media properly if attachement exists.
|
1352 |
-
|
1353 |
-
## 3.1.9.28
|
1354 |
-
* Fixed: Customizer now correctly does live preview.
|
1355 |
-
|
1356 |
-
## 3.1.9.27
|
1357 |
-
* Fixed: Special enqueue case fix.
|
1358 |
-
|
1359 |
-
## 3.1.9.26
|
1360 |
-
* Added: A few more hooks for defaults and options.
|
1361 |
-
* Fixed: Small undefined index error.
|
1362 |
-
* Added: Section key generation via title.
|
1363 |
-
* Modified: File intending.
|
1364 |
-
|
1365 |
-
## 3.1.9.25
|
1366 |
-
* Fixed: Custom menus not displaying options panel.
|
1367 |
-
|
1368 |
-
## 3.1.9.24
|
1369 |
-
* Fixed: Single checkbox option not retaining checked value.
|
1370 |
-
* Fixed: Border field returning bad CSS in CSS compiler.
|
1371 |
-
|
1372 |
-
## 3.1.9.23
|
1373 |
-
* Fixed: Import/Export fix. Thanks, CGlingener!
|
1374 |
-
|
1375 |
-
## 3.1.9.22
|
1376 |
-
* Added: Save warning now is sticky to the top and responsive.
|
1377 |
-
* Fixed: Mobile fixes for Redux. Looks great on small screens how.
|
1378 |
-
* Fixed: Slight CSS fixes.
|
1379 |
-
* Fixed: Compiler fixes and added notices.
|
1380 |
-
* Added: Import/Export more reasonable text.
|
1381 |
-
|
1382 |
-
## 3.1.9.21
|
1383 |
-
* Added: `force_output` are on the field level to bypass the required check that removes the output
|
1384 |
-
if the field is hidden. Thanks @rffaguiar.
|
1385 |
-
|
1386 |
-
## 3.1.9.20
|
1387 |
-
* Fixed: Rare case (mediatemple grid server) when file_get_contents won't work outside of the
|
1388 |
-
uploads dir. Used curl to grab the font HTML. ;)
|
1389 |
-
|
1390 |
-
## 3.1.9.19
|
1391 |
-
* Fixed: Undefined index for admin bar.
|
1392 |
-
|
1393 |
-
## 3.1.9.18
|
1394 |
-
* Fixed: SMALL issue with WordPress 3.9. Now it works. ;)
|
1395 |
-
|
1396 |
-
## 3.1.9.17
|
1397 |
-
* Fixed: Info and divide field now work with required.
|
1398 |
-
|
1399 |
-
## 3.1.9.16
|
1400 |
-
* Added: Fallback. Now if the media, slides, or background URL doesn't match the site URL, but the
|
1401 |
-
attachment ID is present, the data is updated.
|
1402 |
-
|
1403 |
-
## 3.1.9.15
|
1404 |
-
* Fixed: Last tab not properly set. Slow rendering.
|
1405 |
-
|
1406 |
-
## 3.1.9.14
|
1407 |
-
* Modified: Replaced transients with cookies.
|
1408 |
-
|
1409 |
-
## 3.1.9.13
|
1410 |
-
* Fixed: Undefined variable issues for new required methods.
|
1411 |
-
|
1412 |
-
## 3.1.9.12
|
1413 |
-
* Fixed: Default_show display error with a non-array being steralized.
|
1414 |
-
* Added: Multiple required parent value checking! Booya!
|
1415 |
-
* Fixed: Sections now fold with required.
|
1416 |
-
|
1417 |
-
## 3.1.9.11
|
1418 |
-
* Fixed: select2 not rendering properly when dev_mode = false, because of ace_editor fix.
|
1419 |
-
* Fixed: Removed mistakenly compiled test code from redux.js.
|
1420 |
-
|
1421 |
-
## 3.1.9.10
|
1422 |
-
* Fixed: ace_editor not rendering properly in certain instances.
|
1423 |
-
* Modified: Small change to import_export field in checking for existing instance of itself.
|
1424 |
-
|
1425 |
-
## 3.1.9.9
|
1426 |
-
* Fixed: import_export not rendering when the menutype argument was set to menu
|
1427 |
-
|
1428 |
-
## 3.1.9.8
|
1429 |
-
* Fixed: Ace_editor not enqueued unless used. MEMORY HOG.
|
1430 |
-
|
1431 |
-
## 3.1.9.7
|
1432 |
-
* Fixed: Color_Gradient transparency to was being auto-selected if from way transparent.
|
1433 |
-
* Fixed: Enqueue select with slider for local dev.
|
1434 |
-
|
1435 |
-
## 3.1.9.6
|
1436 |
-
* Modified: removed add_submenu_page when creating a submenu for us in the WP admin area. WP
|
1437 |
-
approved API is used in it's place to being Redux up to wp.org theme check standards.
|
1438 |
-
|
1439 |
-
## 3.1.9.5
|
1440 |
-
* Fixed: Massive speed issue with button_set. Resolved.
|
1441 |
-
* Fixed: Issue where default values throws an error if ID is not set.
|
1442 |
-
|
1443 |
-
## 3.1.9.4
|
1444 |
-
* Fixed: Continuing effort to ensure proper loading of config from child themes.
|
1445 |
-
|
1446 |
-
## 3.1.9.3
|
1447 |
-
* Fixed: Import/Export array search bug if section['fields'] is not defined.
|
1448 |
-
|
1449 |
-
## 3.1.9.2
|
1450 |
-
* Fixed: Inconsistencies in import/export across different versions of PHP.
|
1451 |
-
|
1452 |
-
## 3.1.9.1
|
1453 |
-
* Fixed: Redux checks for child or parent theme exclusively before loading.
|
1454 |
-
|
1455 |
-
## 3.1.9
|
1456 |
-
* Updated: RGBA Field stability. Thank you, SilverKenn.
|
1457 |
-
|
1458 |
-
## 3.1.8.23
|
1459 |
-
* Modified: Separated Import/Export from the core. It can now be used as a field.
|
1460 |
-
|
1461 |
-
## 3.1.8.22
|
1462 |
-
* Fixed: Typography custom preview text/size not outputting.
|
1463 |
-
* Fixed: No font selected in typography would default to 'inherit'.
|
1464 |
-
* Fixed: Hint feature kicking back a notice if no title was specified.
|
1465 |
-
|
1466 |
-
## 3.1.8.21
|
1467 |
-
* Fixed: Sortable field, when used a checkboxes, were all checked by default, even when set not to be.
|
1468 |
-
* Fixed: button_set field not setting properly in multi mode.
|
1469 |
-
|
1470 |
-
## 3.1.8.20
|
1471 |
-
* Fixed: Javascript console object not printing options object.
|
1472 |
-
* Fixed: Load errors from child themes no longer occur.
|
1473 |
-
|
1474 |
-
## 3.1.8.19
|
1475 |
-
* Modified: Typography word and letter spacing now accept negative values.
|
1476 |
-
* Modified: Typography preview shows spaces between upper and lower case groupings.
|
1477 |
-
* Fixed: Compiler output for slider field.
|
1478 |
-
|
1479 |
-
## 3.1.8.18
|
1480 |
-
* Fixed: update_check produced a fatal error on a local install with no internet connection.
|
1481 |
-
* Modified: Google font CSS moved to header so pages will pass HTML5 validation.
|
1482 |
-
|
1483 |
-
## 3.1.8.17
|
1484 |
-
* Fixed: Compiler hook failing on slider.
|
1485 |
-
|
1486 |
-
## 3.1.8.16
|
1487 |
-
* Fixed: Error on update_check when the response code was something other than 200.
|
1488 |
-
* Modified: Removed Google font CSS line from header (because it's in the footer via wp_enqueue_style.
|
1489 |
-
|
1490 |
-
## 3.1.8.15
|
1491 |
-
* Added: Admin notice for new builds of Redux on Github as they become available. This feature is
|
1492 |
-
available on in dev_mode, and may be turned off by setting the `update_notice` argument to
|
1493 |
-
false. See the Arguments page of the wiki for more details.
|
1494 |
-
* Added: text-transform option for the typography field.
|
1495 |
-
* Fixed: image_select images not resizing properly in FF and IE.
|
1496 |
-
* Fixed: Layout for the typography field, so everything isn't smushed together. The new layout is
|
1497 |
-
as follows:
|
1498 |
-
[family-font] [backup-font]
|
1499 |
-
[style] [script] [align] [transform]
|
1500 |
-
[size] [height] [word space] [letter space]
|
1501 |
-
[color]
|
1502 |
-
|
1503 |
-
## 3.1.8.14
|
1504 |
-
* Added: Newsletter sign-up popup at first load of the Redux options panel.
|
1505 |
-
|
1506 |
-
## 3.1.8.12
|
1507 |
-
* Added: Added PHP 5.2 support for import/export.
|
1508 |
-
|
1509 |
-
## 3.1.8.11
|
1510 |
-
* Added: Action hooks for options reset and options reset section.
|
1511 |
-
* Added: Theme responsive for date picker.
|
1512 |
-
|
1513 |
-
## 3.1.8.10
|
1514 |
-
* Added: New slider. Better looking UI, double handles and support for floating
|
1515 |
-
point values. See the wiki for more info.
|
1516 |
-
|
1517 |
-
## 3.1.8.9
|
1518 |
-
* Fixed: link_color field showing notice on default, if user enters no defaults.
|
1519 |
-
* Fixed: Fixed tab notice in framework.php if no tab parameter is set in URL.
|
1520 |
-
|
1521 |
-
## 3.1.8.8
|
1522 |
-
* Added: Typography improvements.
|
1523 |
-
|
1524 |
-
## 3.1.8.7
|
1525 |
-
* Added: Hints! More info: https://github.com/ReduxFramework/ReduxFramework/wiki/Using-Hints-in-Fields
|
1526 |
-
|
1527 |
-
## 3.1.8.6
|
1528 |
-
* Added: Complete Wordpress admin color styles. Blessed LESS/SCSS mixins. ;)
|
1529 |
-
|
1530 |
-
## 3.1.8.5
|
1531 |
-
* Added: Font family not required for the typography module any longer.
|
1532 |
-
|
1533 |
-
## 3.1.8.4
|
1534 |
-
* Added: Support for using the divide field in folding.
|
1535 |
-
* Added: Error trapping in typography.js for those still attempting to use
|
1536 |
-
typography with no font-family.
|
1537 |
-
|
1538 |
-
## 3.1.8.3
|
1539 |
-
* Added: Full asynchronous font loading.
|
1540 |
-
*
|
1541 |
-
## 3.1.8.2
|
1542 |
-
* Added: email_not_empty validation field.
|
1543 |
-
* Reverted: email validation field only checks for valid email. not_empty check moved
|
1544 |
-
to new validation field.
|
1545 |
-
|
1546 |
-
## 3.1.8.1
|
1547 |
-
* Fixed: Hide demo hook wasn't hiding demo links.
|
1548 |
-
|
1549 |
-
## 3.1.8
|
1550 |
-
* Fixed: Improper enqueue in tracking class.
|
1551 |
-
* Fixed: Few classes missed for various fields.
|
1552 |
-
* Fixed: Spacing field kicking back notices and warnings when 'output' wasn't set.
|
1553 |
-
* Modified: Added file_exists check to all include lines in framework.php
|
1554 |
-
* Fixed: Background field now works with dynamic preview as it should.
|
1555 |
-
* Fixed: Extension fields now enqueueing properly.
|
1556 |
-
* Added: Text-align to typography field.
|
1557 |
-
* Fixed: Servers returning forwards slashes in TEMPLATEPATH, while Redux is installed
|
1558 |
-
embedded would not show options menu.
|
1559 |
-
* Fixed: On and Off for switch field not displaying language translation.
|
1560 |
-
* Fixed: email validation allowing a blank field.
|
1561 |
-
* Fixed: Now allow for empty values as valid keys.
|
1562 |
-
* Added: Dismiss option to admin notices (internal function)
|
1563 |
-
|
1564 |
-
## 3.1.6
|
1565 |
-
* Fixed: CSS spacing issue
|
1566 |
-
* Fixed: Customizer now works and doesn't break other customizer fields outside of Redux.
|
1567 |
-
* Fixed: Several minor bug fixes
|
1568 |
-
* Added: Metabox support via extension http://reduxframework.com/extensions/
|
1569 |
-
* Added: Admin-bar menu
|
1570 |
-
* Fixed: Section field now folds.
|
1571 |
-
* Fixed: wp_content_dir path now handles double forward slashes.
|
1572 |
-
* Fixed: Typography field missing italics in Google fonts.
|
1573 |
-
* Fixed: Default color in border field not saving properly.
|
1574 |
-
* Fixed: hex2rgba in class.redux_helpers.php changed to static.
|
1575 |
-
* Fixed: 'sortable' field type not saving options as default.
|
1576 |
-
* Fixed: Specified default color not set when clicking the color box default button.
|
1577 |
-
* Fixed: Sorter field options are now saved as default in database.
|
1578 |
-
* Fixed: Issues with checkboxes displaying default values instead of labels.
|
1579 |
-
* Fixed: Outstanding render issues with spacing field.
|
1580 |
-
* Fixed: Plugins using Redux from load failure.
|
1581 |
-
* Fixed: 'not_empty' field validation.
|
1582 |
-
* Fixed: Media field.
|
1583 |
-
* Added: 'read-only' option for media text field.
|
1584 |
-
* Added: 'mode' option to image_select, so CSS output element may be specified.
|
1585 |
-
* Added: Admin Bar menu for option panel.
|
1586 |
-
* Modified: Removed raw_align field and added align option to raw field.
|
1587 |
-
See wiki for more info.
|
1588 |
-
* Modified: media field 'read-only' to 'readonly' to vonform to HTML standards.
|
1589 |
-
* Removed: EDD extension. It never belonged in Core and will be re-released as a
|
1590 |
-
downloadable extension shortly
|
1591 |
-
* Removed: Group field, temporarily.
|
1592 |
-
* Removed: wp_get_current_user check.
|
1593 |
-
|
1594 |
-
## 3.1.5
|
1595 |
-
* Typography font arrays may not contain comma spaces.
|
1596 |
-
* Merge in pull request - 542, code cleanup and better readability
|
1597 |
-
* Change how HTML is output to support metaboxes
|
1598 |
-
* CSS only on pages that matter, better checks.
|
1599 |
-
* font-backup in typography now appends to font-family in output and compiler.
|
1600 |
-
* More fixes for Google font css outputting.
|
1601 |
-
* Addded output and compiler to field_image_select. Images will be output as 'background-image'.
|
1602 |
-
* Fixed output in field_background.
|
1603 |
-
* Prevent standard fonts from outputting to Google fonts CSS call.
|
1604 |
-
* class_exists in field_section checking for incorrect classname.
|
1605 |
-
* sample_config fix.
|
1606 |
-
* Compiler not outputting CSS without output set to comthing other than false.
|
1607 |
-
* Google fonts not rendering on frontend.
|
1608 |
-
* Rewrote sample_config as a class
|
1609 |
-
|
1610 |
-
## 3.1.4
|
1611 |
-
* Fixed error in redux-framework.php.
|
1612 |
-
* Added select_image field.
|
1613 |
-
|
1614 |
-
## 3.1.3
|
1615 |
-
* Fixed a few undefined variables
|
1616 |
-
* Removed old code from the repo.
|
1617 |
-
* Fix for validation.
|
1618 |
-
* Remove the compiler hook by default.
|
1619 |
-
* Fix to sortable field.
|
1620 |
-
* Added an extra check for link color. Removes user error.
|
1621 |
-
* Localization updates.
|
1622 |
-
* Error in slides.
|
1623 |
-
* Fixed the info box bug with spacing and padding.
|
1624 |
-
* Fixed the first item in each section having WAY too much padding. ;)
|
1625 |
-
* Fixed section reset issue where values weren't being saved to the db properly.
|
1626 |
-
|
1627 |
-
## 3.1.2
|
1628 |
-
* Feature - Sortable select boxes!
|
1629 |
-
* Feature - Reset a section only or the whole panel!
|
1630 |
-
* New Field - RGBA Color Field!
|
1631 |
-
* Improvement - Use of REM throughout.
|
1632 |
-
* Fixed Typography - Fix output option and various small bugs.
|
1633 |
-
* Fixed Border - Fix output option and various small bugs.
|
1634 |
-
* Fixed Dimensions - Fix output option and various small bugs.
|
1635 |
-
* Fixed Image_select - Various small bugs.
|
1636 |
-
* Fixed Slides - Various small bugs.
|
1637 |
-
* Fixed Sortable - Using native jQuery UI library same as within WordPress.
|
1638 |
-
* Fixed Slider and Spinner Input Field - Values now move to the closest valid
|
1639 |
-
value in regards to the step, automatically.
|
1640 |
-
* Fixed Ace Editor
|
1641 |
-
* FEATURE - All CSS/JS files are compiled into a single file now! Speed
|
1642 |
-
improvements for the backend.
|
1643 |
-
* Fix in how WordPress data is received, improved some output.
|
1644 |
-
* Fix for various fields not triggering fold/compiler/save.
|
1645 |
-
* Fixed elusive icons to use the new version and classes.
|
1646 |
-
* Fixed media thumb to only be the thumbnail version.
|
1647 |
-
* Fixed admin https error with WordPress core not renaming URL.
|
1648 |
-
* Placeholders throughout the framework are now properly there.
|
1649 |
-
* Feature - Setting to not save defaults to database on load.
|
1650 |
-
* Fixed - Computability issue with GT3 builder.
|
1651 |
-
* Fixed localization issue with default values.
|
1652 |
-
* Language - Added Russian
|
1653 |
-
* Feature - Media now can have any content type passed in to limit content types.
|
1654 |
-
* Allow negative values in typography and other fields.
|
1655 |
-
* WordPress 3.8 computability.
|
1656 |
-
* CSS validation issue.
|
1657 |
-
* Feature - User contributed text direction feature.
|
1658 |
-
* EDD Extension now fully function for plugins or themes.
|
1659 |
-
* Removed get_theme_data() fallbacks, we're well pass WordPress 3.4 now. ;)
|
1660 |
-
* A ton of other small updates and improvements.
|
1661 |
-
|
1662 |
-
## 3.1.0
|
1663 |
-
* Fix Issue 224 - Image Select width was breaking the panel.
|
1664 |
-
* Fix Issue 181 - Broken panel in firefox
|
1665 |
-
* Fix Issue 225 - 0px typography bug. Thanks @partnuz.
|
1666 |
-
* Fix Issue 228 - Resolved a duplicated enqueue on color_link field. Thanks @vertigo7x.
|
1667 |
-
* Fix Issue 231 - Field spacing bug fixes.
|
1668 |
-
* Fix Issue 232 & 233 - Dimensions: bug fix with units and multiple units. Thanks @kpodemski
|
1669 |
-
* Fix Issue 234 - Pass options as a ref so validating actions can modify/sanitize them. Thanks @ZeroBeeOne
|
1670 |
-
* Fix Issue 222 - Tab cookie function wasn't working.
|
1671 |
-
* Feature - Pass params to Select2. Thanks @andreilupu
|
1672 |
-
* Fix Issue 238 - Fix for conditional output. Thanks @partnuz.
|
1673 |
-
* Fix Issue 211 - Google Web font wasn't loading at first init of theme.
|
1674 |
-
* Fix Issue 210 - Elusive Icons update. Changed classes to force use of full elusive name.
|
1675 |
-
* Fix Issue 247 - Media thumbnails were not showing. Also fixed media to keep the largest file, but display the small
|
1676 |
-
version in the panel as a thumb. Thanks @kwayyinfotech.
|
1677 |
-
* Fix Issue 144 - JS error when no item found in slider.
|
1678 |
-
* Fix Issue 246 - Typography output errors.
|
1679 |
-
* Feature & Issue 259 - Multi-Text now support validation!
|
1680 |
-
* Fix Issue 248/261 - Links color issue. Also fixed color validation.
|
1681 |
-
* Feature & Issue 262 - Now registered sidebars can be used as a data type.
|
1682 |
-
* Fix Issue 194/276 - Custom taxonomy terms now passing properly. Thanks @kprovance.
|
1683 |
-
* Feature & Issue 273 - Argument save_defaults: Disable the auto-save of the default options to the database if not set.
|
1684 |
-
* Feature - Docs now being moved to the wiki for community participation.
|
1685 |
-
* Issue 283 - Date placeholder. Thanks @kprovance.
|
1686 |
-
* Issue 285 - HTTPS errors on admin. Known WordPress bug. Resolved.
|
1687 |
-
* Fix Issue 288 - Float values now possible for border, dimensions, and spacing.
|
1688 |
-
* Feature - Media field can now accept non-image files with a argument being set.
|
1689 |
-
* Fix Issue 252 - Post Type data wasn't working properly. Thanks @Abu-Taymiyyah.
|
1690 |
-
* Fix Issue 213 - Radio and Button Set wasn't folding.
|
1691 |
-
|
1692 |
-
## 3.0.9
|
1693 |
-
* Feature - Added possibility to set default icon class for all sections and tabs.
|
1694 |
-
* Feature - Make is to the WP dir can be moved elsewhere and Redux still function.
|
1695 |
-
* Added Spanish Language. Thanks @vertigo7x.
|
1696 |
-
* Fix Issue 5 - Small RGBA validation fix.
|
1697 |
-
* Fix Issue 176 - Fold by Image Select. Thanks @andreilupu.
|
1698 |
-
* Fix Issue 194 - Custom taxonomy terms in select field.
|
1699 |
-
* Fix Issue 195 - Border defaults not working.
|
1700 |
-
* Fix Issue 197 - Hidden elements were showing up on a small screen. Thanks @ThinkUpThemes.
|
1701 |
-
* Fix issue 200 - Compiler not working with media field.
|
1702 |
-
* Fix Issue 201 - Spacing field not using default values.
|
1703 |
-
* Fix Issue 202 - Dimensions field not using units.
|
1704 |
-
* Fix Issue 208 - Checkbox + Required issue.
|
1705 |
-
* Fix Issue 211 - Google Font default not working on page load.
|
1706 |
-
* Fix Issue 214 - Validation notice not working for fields.
|
1707 |
-
* Fix Issue 181/224 - Firefox 24 image resize errors.
|
1708 |
-
* Fix Issue 223 - Slides were losing the url input field for the image link.
|
1709 |
-
* Fix - Various issues in the password field.
|
1710 |
-
* Fixed various spelling issues and typos in sample-config file.
|
1711 |
-
* Initialize vars before extract() - to shut down undefined vars wargnings.
|
1712 |
-
* Various other fixes.
|
1713 |
-
|
1714 |
-
## 3.0.8
|
1715 |
-
* Version push to ensure all bugs fixes were deployed to users. Various.
|
1716 |
-
|
1717 |
-
## 3.0.7
|
1718 |
-
* Feature - Completely redone spacing field. Choose to apply to sides or all at once with CSS output!
|
1719 |
-
* Feature - Completely redone border field. Choose to apply to sides or all at once with CSS output!
|
1720 |
-
* Feature - Added opt-in anonymous tracking, allowing us to further analyze usage.
|
1721 |
-
* Feature - Enable weekly updates of the Google Webfonts cache is desired. Also remove the Google Webfont files from
|
1722 |
-
shipping with Redux. Will re-download at first panel run to ensure users always have the most recent copy.
|
1723 |
-
* Language translation of german updated alone with ReduxFramework pot file.
|
1724 |
-
* Fix Issue 146 - Spacing field not storing data.
|
1725 |
-
* Fix - Firefox field description rendering bug.
|
1726 |
-
* Fix - Small issue where themes without tags were getting errors from the sample data.
|
1727 |
-
|
1728 |
-
## 3.0.6
|
1729 |
-
* Hide customizer fields by default while still under development.
|
1730 |
-
* Fix Issue 123 - Language translations to actually function properly embedded as well as in the plugin.
|
1731 |
-
* Fix Issue 151 - Media field uses thumbnail not full image for preview. Also now storing the thumbnail URL. Uses
|
1732 |
-
the smallest available size as the thumb regardless of the name.
|
1733 |
-
* Fix Issue 147 - Option to pass params to select2. Contributed by @andreilupu. Thanks!
|
1734 |
-
* Added trim function to ace editor value to prevent whitespace before and after value keep being added
|
1735 |
-
* htmlspecialchars() value in pre editor for ace. to prevent html tags being hidden in editor and rendered in dom
|
1736 |
-
* Feature: Added optional 'add_text' argument for multi_text field so users can define button text.
|
1737 |
-
* Added consistent remove button on multi text, and used sanitize function for section id
|
1738 |
-
* Feature: Added roles as data for field data
|
1739 |
-
* Feature: Adding data layout options for multi checkbox and radio, we now have quarter, third, half, and full
|
1740 |
-
column layouts for these fields.
|
1741 |
-
* Feature: Eliminate REDUX_DIR and REDUX_URL constants and instead created static ReduxFramework::$\_url and
|
1742 |
-
ReduxFramework::$\_dir for cleaner code.
|
1743 |
-
* Feature: Code at bottom of sample-config.php to hide plugin activation text about a demo plugin as well as
|
1744 |
-
code to demo how to hide the plugin demo_mode link.
|
1745 |
-
* Started work on class definitions of each field and class. Preparing for the panel builder we are planning to make.
|
1746 |
-
|
1747 |
-
## 3.0.5
|
1748 |
-
* Fixed how Redux is initialised so it works in any and all files without hooking into the init function.
|
1749 |
-
* Issue #151: Added thumbnails to media and displayed those instead of full image.
|
1750 |
-
* Issue #144: Slides had error if last slide was deleted.
|
1751 |
-
* Color field was outputting hex in the wrong location.
|
1752 |
-
* Added ACE Editor field, allowing for better inline editing.
|
1753 |
-
|
1754 |
-
## 3.0.4
|
1755 |
-
* Fixed an odd saving issue.
|
1756 |
-
* Fixed link issues in the framework
|
1757 |
-
* Issue #135: jQuery UI wasn't being properly queued
|
1758 |
-
* Issue #140: Admin notice glitch. See http://reduxframework.com/2013/10/wordpress-notifications-custom-options-panels/
|
1759 |
-
* Use hooks instead of custom variable for custom admin CSS
|
1760 |
-
* Added "raw" field that allows PHP or a hook to embed anything in the panel.
|
1761 |
-
* Submenus in Admin now change the tabs without reloading the page.
|
1762 |
-
* Small fix for multi-text.
|
1763 |
-
* Added IT_it and RO_ro languages.
|
1764 |
-
* Updated readme file for languages.
|
1765 |
-
|
1766 |
-
## 3.0.3
|
1767 |
-
* Fixed Issue #129: Spacing field giving an undefined.
|
1768 |
-
* Fixed Issue #131: Google Fonts stylesheet appending to body and also to the top of the header. Now properly placed
|
1769 |
-
both at the end of the head tag as to overload any theme stylesheets.
|
1770 |
-
* Fixed issue #132 (See #134, thanks @andreilupu): Could not have multiple WordPress Editors (wp_editor) as the
|
1771 |
-
same ID was shared. Also fixed various styles to match WordPress for this field.
|
1772 |
-
* Fixed Issue #133: Issue when custom admin stylesheet was used, a JS error resulted.
|
1773 |
-
|
1774 |
-
## 3.0.2
|
1775 |
-
* Improvements to slides, various field fixes and improvements. Also fixed a few user submitted issues.
|
1776 |
-
|
1777 |
-
## 3.0.1
|
1778 |
-
* Backing out a bit of submitted code that caused the input field to not properly break.
|
1779 |
-
|
1780 |
-
## 3.0.0
|
1781 |
-
* Initial WordPress.org plugin release.
|
1782 |
-
|
1783 |
-
## 3.0
|
1784 |
-
Redux is now hosted on WordPress.org! Update in order to get proper, stable updates.
|
1785 |
-
|
1786 |
-
* Removed get() and show()
|
1787 |
-
* Fixed huge performance bug
|
1788 |
-
* More bugfixes
|
1789 |
-
* Fixed spacing field
|
1790 |
-
* Converted Redux to run as an auto-updating plugin. Getting ready to post to WordPress.org
|
1791 |
-
* Fixed the auto updater to properly show changes since the last update
|
1792 |
-
* Various fields including link_color, spacing, dimensions
|
1793 |
-
* Compiler hooks to allow developers to generate CSS files only when needed
|
1794 |
-
* Stability and standardizing in HTML output throughout
|
1795 |
-
* PHP/CSS/JS fixes
|
1796 |
-
* Compress JS and use LESS (and compressed CSS) throughout
|
1797 |
-
|
1798 |
-
## Version 3.0.0 Beta (September 12, 2013)
|
1799 |
-
|
1800 |
-
* Massive code overhaul
|
1801 |
-
* Replaced redundant field types with data elements
|
1802 |
-
* Migrated to company repo
|
1803 |
-
* Added several new storage methods
|
1804 |
-
* Numerous bugfixes
|
1805 |
-
* Renamed std argument to default
|
1806 |
-
* Added MP6 support
|
1807 |
-
* Complete CSS rewrite
|
1808 |
-
* Globals are now conditional
|
1809 |
-
* Added nesting support
|
1810 |
-
* Added repeatable field
|
1811 |
-
* Restyled Dev Mode
|
1812 |
-
* Added System Info tab
|
1813 |
-
* Added compiler hooks
|
1814 |
-
* Added style and icon support to info field
|
1815 |
-
* Switched to Elusive Icons
|
1816 |
-
* Huge performance updates
|
1817 |
-
|
1818 |
-
## Version 2.0.1 Final (September 1, 2013)
|
1819 |
-
|
1820 |
-
* Added option to override ```icon_type``` per icon
|
1821 |
-
* Minor bug/versioning fixes
|
1822 |
-
* Added Font Awesome intro
|
1823 |
-
* Added ```raw_html``` option
|
1824 |
-
* Added ```text_sortable``` option
|
1825 |
-
* Switched from Aristo to Bootstrap jQuery UI theme
|
1826 |
-
|
1827 |
-
## Version 2.0.0 (January 31, 2013)
|
1828 |
-
|
1829 |
-
* Fixed SSL error which occurred occasionally with Google Webfonts
|
1830 |
-
* Added optional flag for ```wpautop``` on editors
|
1831 |
-
* Added password field type
|
1832 |
-
* Added ```checkbox_hide_all``` option
|
1833 |
-
* Added WP3.5 media chooser
|
1834 |
-
* Added Google webfonts previews
|
1835 |
-
* Updated to WP3.5 color picker
|
1836 |
-
* Minor style tweaks
|
1837 |
-
* Added graphical 'switch' option for checkboxes
|
1838 |
-
* Removed dependency on class extension for fields
|
1839 |
-
* Deprecated icons in favor of iconfonts
|
1840 |
-
|
1841 |
-
## Version 1.0.0 (December 5, 2012)
|
1842 |
-
|
1843 |
-
* Based on NHP Theme Options Framework v1.0.6
|
1844 |
-
* Cleaned up codebase
|
1845 |
-
* Changed option group name to allow multiple instances
|
1846 |
-
* Changed checkbox name attribute to id
|
1847 |
-
* Added rows attribute to textareas
|
1848 |
-
* Removed extra linebreak in upload field
|
1849 |
-
* Set default menu position to null to avoid conflicts
|
1850 |
-
* Added sample content for dashboard credit line
|
1851 |
-
* Minor style changes
|
1852 |
-
* Changed name of upload button
|
1853 |
-
* Refactored Google Webfonts function
|
1854 |
-
* Replaced ```stylesheet_override``` with ```admin_stylesheet```
|
1855 |
-
* Made text domain a constant
|
1856 |
-
* Removed PHP closing tags to prevent issues with newlines
|
1857 |
-
* Added option to define custom start tab
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/CONTRIBUTING.md
DELETED
@@ -1,27 +0,0 @@
|
|
1 |
-
First and foremost, PLEASE check to see if you are using the latest version of Redux by checking the repository. If you plan on reporting an issue with any version BUT the latest version, we are going to ask you to upgrade to the latest code base anyway to see if your issue persists. Please save us and yourself some time by taking this simple step first. Thanks!
|
2 |
-
|
3 |
-
When submitting a ticket, please make sure you include the following information, It is critical, and required. As Team Redux has not yet earned their certificates in mind reading, we need you to provide for us the following information. :)
|
4 |
-
|
5 |
-
1. The version of Redux you are using. Please do not say 'the latest version' as what you perceive as the latest and what might be the latest could easily be two different things. At the bottom of the Redux options panel is a four digit version number. Please include it.
|
6 |
-
|
7 |
-
2. The version of Wordpress you are running.
|
8 |
-
|
9 |
-
3. Please indicate if you are using Redux in dev_mode.
|
10 |
-
|
11 |
-
4. If you are having difficultly with a particular field, please include the config code for that entire field. If the field is dependent on other fields in the section (for example, required arguments are used), then please include the entire section.
|
12 |
-
|
13 |
-
5. If you are having difficulty with configuration, please specify if you are using a standalone theme, a child theme, a plugin, etc.
|
14 |
-
|
15 |
-
6. Please indicate if you are using Redux as a plugin or embedded in your project.
|
16 |
-
|
17 |
-
7. Please check your browser's output console. If there are any javascript errors pertaining to redux, please list them, including the module/file they occurred in and the line number
|
18 |
-
|
19 |
-
The follow only applies if Redux is not loading properly:
|
20 |
-
|
21 |
-
8. If you are using Redux embedded, please specify the location in which Redux is installed, where you config is located, and the lines of code you are using to initialize Redux and your config.
|
22 |
-
|
23 |
-
The way in which we diagnose bugs or config difficulties is to attempt to recreate them on our end. This is why we need the very specific information. Once we are able to confirm the issue, we will either push an update, or assist you in correcting any mistakes in your config.
|
24 |
-
|
25 |
-
What we do NOT do is debug your code. We support the Redux code and the way in which the config is put together. Any other issue pertaining to your project is your own, or we might be able to assist with premium support.
|
26 |
-
|
27 |
-
- Team Redux
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/Gruntfile.js
DELETED
@@ -1,439 +0,0 @@
|
|
1 |
-
/* jshint node:true */
|
2 |
-
var shell = require( 'shelljs' );
|
3 |
-
|
4 |
-
module.exports = function( grunt ) {
|
5 |
-
|
6 |
-
// Project configuration.
|
7 |
-
grunt.initConfig(
|
8 |
-
{
|
9 |
-
pkg: grunt.file.readJSON( 'package.json' ),
|
10 |
-
|
11 |
-
concat: {
|
12 |
-
options: {
|
13 |
-
separator: ';'
|
14 |
-
},
|
15 |
-
core: {
|
16 |
-
src: [
|
17 |
-
'ReduxCore/assets/js/vendor/cookie.js',
|
18 |
-
'ReduxCore/assets/js/vendor/jquery.typewatch.js',
|
19 |
-
'ReduxCore/assets/js/vendor/jquery.serializeForm.js',
|
20 |
-
'ReduxCore/assets/js/vendor/jquery.alphanum.js',
|
21 |
-
'ReduxCore/assets/js/redux.js'
|
22 |
-
],
|
23 |
-
dest: 'ReduxCore/assets/js/redux.min.js'
|
24 |
-
},
|
25 |
-
vendor: {
|
26 |
-
src: [
|
27 |
-
'ReduxCore/assets/js/vendor/cookie.js',
|
28 |
-
'ReduxCore/assets/js/vendor/jquery.serializeForm.js',
|
29 |
-
'ReduxCore/assets/js/vendor/jquery.typewatch.js',
|
30 |
-
'ReduxCore/assets/js/vendor/jquery.alphanum.js'
|
31 |
-
],
|
32 |
-
dest: 'ReduxCore/assets/js/vendor.min.js'
|
33 |
-
}
|
34 |
-
},
|
35 |
-
'gh-pages': {
|
36 |
-
options: {
|
37 |
-
base: 'docs',
|
38 |
-
message: 'Update docs and files to distribute'
|
39 |
-
},
|
40 |
-
dev: {
|
41 |
-
src: ['docs/**/*', 'bin/CNAME']
|
42 |
-
},
|
43 |
-
travis: {
|
44 |
-
options: {
|
45 |
-
repo: 'https://' + process.env.GH_TOKEN + '@github.com/ReduxFramework/docs.reduxframework.com.git',
|
46 |
-
user: {
|
47 |
-
name: 'Travis',
|
48 |
-
email: 'travis@travis-ci.org'
|
49 |
-
},
|
50 |
-
silent: false
|
51 |
-
},
|
52 |
-
src: ['**/*']
|
53 |
-
}
|
54 |
-
},
|
55 |
-
uglify: {
|
56 |
-
fields: {
|
57 |
-
files: [
|
58 |
-
{
|
59 |
-
expand: true,
|
60 |
-
cwd: 'ReduxCore/inc/fields',
|
61 |
-
src: ['**/*.js', '!**/*.min.js', '!ace_editor/vendor/*.js', '!ace_editor/vendor/snippets/*.js', '!slider/vendor/nouislider/*.*', '!spinner/vendor/*.*'],
|
62 |
-
ext: '.min.js',
|
63 |
-
dest: 'ReduxCore/inc/fields'
|
64 |
-
}
|
65 |
-
]
|
66 |
-
},
|
67 |
-
extensions: {
|
68 |
-
files: [
|
69 |
-
{
|
70 |
-
expand: true,
|
71 |
-
cwd: 'ReduxCore/inc/extensions',
|
72 |
-
src: ['**/*.js', '!**/*.min.js'],
|
73 |
-
ext: '.min.js',
|
74 |
-
dest: 'ReduxCore/inc/extensions'
|
75 |
-
}
|
76 |
-
]
|
77 |
-
},
|
78 |
-
core: {
|
79 |
-
files: {
|
80 |
-
'ReduxCore/assets/js/redux.min.js': [
|
81 |
-
'ReduxCore/assets/js/redux.min.js'
|
82 |
-
],
|
83 |
-
'ReduxCore/assets/js/vendor/spectrum/redux-spectrum.min.js': [
|
84 |
-
'ReduxCore/assets/js/vendor/spectrum/redux-spectrum.js'
|
85 |
-
],
|
86 |
-
'ReduxCore/assets/js/vendor/redux.select2.sortable.min.js': [
|
87 |
-
'ReduxCore/assets/js/vendor/redux.select2.sortable.js'
|
88 |
-
],
|
89 |
-
'ReduxCore/assets/js/media/media.min.js': [
|
90 |
-
'ReduxCore/assets/js/media/media.js'
|
91 |
-
]
|
92 |
-
}
|
93 |
-
|
94 |
-
},
|
95 |
-
vendor: {
|
96 |
-
files: {
|
97 |
-
'ReduxCore/assets/js/vendor.min.js': [
|
98 |
-
'ReduxCore/assets/js/vendor.min.js'
|
99 |
-
]
|
100 |
-
}
|
101 |
-
}
|
102 |
-
},
|
103 |
-
qunit: {
|
104 |
-
files: ['test/qunit/**/*.html']
|
105 |
-
},
|
106 |
-
|
107 |
-
// JavaScript linting with JSHint.
|
108 |
-
jshint: {
|
109 |
-
options: {
|
110 |
-
jshintrc: '.jshintrc'
|
111 |
-
},
|
112 |
-
files: [
|
113 |
-
//'Gruntfile.js',
|
114 |
-
//'ReduxCore/assets/js/import_export/import_export.js',
|
115 |
-
'ReduxCore/assets/js/media/media.js',
|
116 |
-
'ReduxCore/inc/fields/ace_editor/field_ace_editor.js',
|
117 |
-
'ReduxCore/inc/fields/background/field_background.js',
|
118 |
-
'ReduxCore/inc/fields/border/field_border.js',
|
119 |
-
'ReduxCore/inc/fields/button_set/field_button_set.js',
|
120 |
-
'ReduxCore/inc/fields/checkbox/field_checkbox.js',
|
121 |
-
'ReduxCore/inc/fields/color/field_color.js',
|
122 |
-
'ReduxCore/inc/fields/color_rgba/field_color_rgba.js',
|
123 |
-
'ReduxCore/inc/fields/date/field_date.js',
|
124 |
-
'ReduxCore/inc/fields/dimensions/field_dimensions.js',
|
125 |
-
'ReduxCore/inc/fields/editor/field_editor.js',
|
126 |
-
'ReduxCore/inc/fields/gallery/field_gallery.js',
|
127 |
-
'ReduxCore/inc/fields/image_select/field_image_select.js',
|
128 |
-
'ReduxCore/inc/fields/multi_text/field_multitext.js',
|
129 |
-
'ReduxCore/inc/fields/palette/field_palette.js',
|
130 |
-
'ReduxCore/inc/fields/select/field_select.js',
|
131 |
-
'ReduxCore/inc/fields/select_image/field_select_image.js',
|
132 |
-
'ReduxCore/inc/fields/slider/field_slider.js',
|
133 |
-
'ReduxCore/inc/fields/slides/field_slides.js',
|
134 |
-
'ReduxCore/inc/fields/sortable/field_sortable.js',
|
135 |
-
'ReduxCore/inc/fields/sorter/field_sorter.js',
|
136 |
-
'ReduxCore/inc/fields/spacing/field_spacing.js',
|
137 |
-
'ReduxCore/inc/fields/spinner/field_spinner.js',
|
138 |
-
'ReduxCore/inc/fields/switch/field_switch.js',
|
139 |
-
'ReduxCore/inc/fields/typography/field_typography.js',
|
140 |
-
// 'ReduxCore/inc/fields/**/*.js',
|
141 |
-
'ReduxCore/extensions/**/*.js',
|
142 |
-
'ReduxCore/extensions/**/**/*.js',
|
143 |
-
'ReduxCore/assets/js/redux.js'
|
144 |
-
]
|
145 |
-
},
|
146 |
-
|
147 |
-
// Watch changes for files.
|
148 |
-
watch: {
|
149 |
-
ui: {
|
150 |
-
files: ['<%= jshint.files %>'],
|
151 |
-
tasks: ['jshint']
|
152 |
-
},
|
153 |
-
php: {
|
154 |
-
files: ['ReduxCore/**/*.php'],
|
155 |
-
tasks: ['phplint:core']
|
156 |
-
},
|
157 |
-
css: {
|
158 |
-
files: ['ReduxCore/**/*.less'],
|
159 |
-
tasks: ['less:development']
|
160 |
-
}
|
161 |
-
},
|
162 |
-
|
163 |
-
// Add textdomain.
|
164 |
-
addtextdomain: {
|
165 |
-
options: {
|
166 |
-
textdomain: 'redux-framework', // Project text domain.
|
167 |
-
updateDomains: ['redux', 'redux-framework-demo', 'v'] // List of text domains to replace.
|
168 |
-
},
|
169 |
-
target: {
|
170 |
-
files: {
|
171 |
-
src: ['*.php', '**/*.php', '!node_modules/**', '!tests/**', '!sample/**']
|
172 |
-
}
|
173 |
-
}
|
174 |
-
},
|
175 |
-
|
176 |
-
// Generate POT files.
|
177 |
-
makepot: {
|
178 |
-
redux: {
|
179 |
-
options: {
|
180 |
-
type: 'wp-plugin',
|
181 |
-
domainPath: 'ReduxCore/languages',
|
182 |
-
potFilename: 'redux-framework.pot',
|
183 |
-
include: [],
|
184 |
-
exclude: [
|
185 |
-
'sample/.*'
|
186 |
-
],
|
187 |
-
potHeaders: {
|
188 |
-
poedit: true,
|
189 |
-
'report-msgid-bugs-to': 'https://github.com/ReduxFramework/ReduxFramework/issues',
|
190 |
-
'language-team': 'LANGUAGE <support@reduxframework.com>'
|
191 |
-
}
|
192 |
-
}
|
193 |
-
}
|
194 |
-
},
|
195 |
-
|
196 |
-
// Check textdomain errors.
|
197 |
-
checktextdomain: {
|
198 |
-
options: {
|
199 |
-
keywords: [
|
200 |
-
'__:1,2d',
|
201 |
-
'_e:1,2d',
|
202 |
-
'_x:1,2c,3d',
|
203 |
-
'esc_html__:1,2d',
|
204 |
-
'esc_html_e:1,2d',
|
205 |
-
'esc_html_x:1,2c,3d',
|
206 |
-
'esc_attr__:1,2d',
|
207 |
-
'esc_attr_e:1,2d',
|
208 |
-
'esc_attr_x:1,2c,3d',
|
209 |
-
'_ex:1,2c,3d',
|
210 |
-
'_n:1,2,4d',
|
211 |
-
'_nx:1,2,4c,5d',
|
212 |
-
'_n_noop:1,2,3d',
|
213 |
-
'_nx_noop:1,2,3c,4d'
|
214 |
-
]
|
215 |
-
},
|
216 |
-
redux: {
|
217 |
-
cwd: 'ReduxCore/',
|
218 |
-
options: {
|
219 |
-
text_domain: 'redux-framework',
|
220 |
-
},
|
221 |
-
src: ['**/*.php'],
|
222 |
-
expand: true
|
223 |
-
},
|
224 |
-
sample: {
|
225 |
-
cwd: 'sample',
|
226 |
-
options: {
|
227 |
-
text_domain: 'redux-framework-demo',
|
228 |
-
},
|
229 |
-
src: ['**/*.php'],
|
230 |
-
expand: true
|
231 |
-
}
|
232 |
-
},
|
233 |
-
|
234 |
-
// Exec shell commands.
|
235 |
-
shell: {
|
236 |
-
options: {
|
237 |
-
stdout: true,
|
238 |
-
stderr: true
|
239 |
-
},
|
240 |
-
// Limited to Maintainers so
|
241 |
-
// txpush: {
|
242 |
-
// command: 'tx push -s' // push the resources
|
243 |
-
// },
|
244 |
-
txpull: {
|
245 |
-
command: 'tx pull -a --minimum-perc=25' // pull the .po files
|
246 |
-
}
|
247 |
-
},
|
248 |
-
|
249 |
-
// Generate MO files.
|
250 |
-
potomo: {
|
251 |
-
dist: {
|
252 |
-
options: {
|
253 |
-
poDel: true
|
254 |
-
},
|
255 |
-
files: [{
|
256 |
-
expand: true,
|
257 |
-
cwd: 'ReduxCore/languages/',
|
258 |
-
src: ['*.po'],
|
259 |
-
dest: 'ReduxCore/languages/',
|
260 |
-
ext: '.mo',
|
261 |
-
nonull: true
|
262 |
-
}]
|
263 |
-
}
|
264 |
-
},
|
265 |
-
|
266 |
-
phpdocumentor: {
|
267 |
-
options: {
|
268 |
-
directory: 'ReduxCore/',
|
269 |
-
target: 'docs/'
|
270 |
-
},
|
271 |
-
generate: {}
|
272 |
-
},
|
273 |
-
|
274 |
-
phplint: {
|
275 |
-
options: {
|
276 |
-
swapPath: './'
|
277 |
-
},
|
278 |
-
core: ["ReduxCore/**/*.php"],
|
279 |
-
plugin: ["class-redux-plugin.php", "index.php", "redux-framework.php"]
|
280 |
-
},
|
281 |
-
|
282 |
-
sass: {
|
283 |
-
fields: {
|
284 |
-
options: {
|
285 |
-
sourcemap: 'none',
|
286 |
-
style: 'compressed',
|
287 |
-
noCache: true,
|
288 |
-
},
|
289 |
-
|
290 |
-
files: [{
|
291 |
-
expand: true, // Enable dynamic expansion.
|
292 |
-
cwd: 'ReduxCore/inc/fields', // Src matches are relative to this path.
|
293 |
-
src: ['**/*.scss'], // Actual pattern(s) to match.
|
294 |
-
dest: 'ReduxCore/inc/fields', // Destination path prefix.
|
295 |
-
ext: '.css' // Dest filepaths will have this extension.
|
296 |
-
}]
|
297 |
-
},
|
298 |
-
extensions: {
|
299 |
-
options: {
|
300 |
-
sourcemap: 'none',
|
301 |
-
style: 'compressed',
|
302 |
-
noCache: true,
|
303 |
-
},
|
304 |
-
|
305 |
-
files: [{
|
306 |
-
expand: true, // Enable dynamic expansion.
|
307 |
-
cwd: 'ReduxCore/inc/extensions', // Src matches are relative to this path.
|
308 |
-
src: ['**/*.scss'], // Actual pattern(s) to match.
|
309 |
-
dest: 'ReduxCore/inc/extensions', // Destination path prefix.
|
310 |
-
ext: '.css' // Dest filepaths will have this extension.
|
311 |
-
}]
|
312 |
-
},
|
313 |
-
vendor: {
|
314 |
-
options: {
|
315 |
-
sourcemap: 'none',
|
316 |
-
style: 'compressed',
|
317 |
-
noCache: true
|
318 |
-
},
|
319 |
-
|
320 |
-
files: {
|
321 |
-
"ReduxCore/assets/css/vendor/jquery-ui-bootstrap/jquery-ui-1.10.0.custom.css": [
|
322 |
-
"ReduxCore/assets/css/vendor/jquery-ui-bootstrap/jquery-ui-1.10.0.custom.scss"
|
323 |
-
],
|
324 |
-
"ReduxCore/assets/css/vendor/elusive-icons/elusive-icons.css": [
|
325 |
-
"ReduxCore/assets/css/vendor/elusive-icons/scss/elusive-icons.scss"
|
326 |
-
],
|
327 |
-
}
|
328 |
-
},
|
329 |
-
|
330 |
-
admin: {
|
331 |
-
options: {
|
332 |
-
sourcemap: 'none',
|
333 |
-
style: 'compressed',
|
334 |
-
noCache: true
|
335 |
-
},
|
336 |
-
|
337 |
-
files: {
|
338 |
-
"ReduxCore/assets/css/color-picker/color-picker.css": [
|
339 |
-
"ReduxCore/assets/css/color-picker/color-picker.scss"
|
340 |
-
],
|
341 |
-
"ReduxCore/assets/css/media/media.css": [
|
342 |
-
"ReduxCore/assets/css/media/media.scss"
|
343 |
-
],
|
344 |
-
"ReduxCore/assets/css/redux-admin.css": [
|
345 |
-
"ReduxCore/assets/css/redux-admin.scss"
|
346 |
-
],
|
347 |
-
"ReduxCore/assets/css/rtl.css": [
|
348 |
-
"ReduxCore/assets/css/rtl.scss"
|
349 |
-
]
|
350 |
-
}
|
351 |
-
},
|
352 |
-
welcome: {
|
353 |
-
options: {
|
354 |
-
sourcemap: 'none',
|
355 |
-
style: 'compressed',
|
356 |
-
noCache: true
|
357 |
-
},
|
358 |
-
|
359 |
-
files: {
|
360 |
-
"ReduxCore/inc/welcome/css/redux-welcome.css": [
|
361 |
-
"ReduxCore/inc/welcome/css/redux-welcome.scss"
|
362 |
-
]
|
363 |
-
}
|
364 |
-
}
|
365 |
-
},
|
366 |
-
|
367 |
-
cssmin: {
|
368 |
-
fields: {
|
369 |
-
files: {
|
370 |
-
'ReduxCore/assets/css/redux-fields.css': [
|
371 |
-
'ReduxCore/inc/fields/**/*.css',
|
372 |
-
"ReduxCore/assets/css/color-picker/color-picker.css",
|
373 |
-
"ReduxCore/assets/css/media/media.css"
|
374 |
-
]
|
375 |
-
}
|
376 |
-
},
|
377 |
-
}
|
378 |
-
}
|
379 |
-
);
|
380 |
-
|
381 |
-
// Load NPM tasks to be used here
|
382 |
-
grunt.loadNpmTasks( 'grunt-shell' );
|
383 |
-
grunt.loadNpmTasks( 'grunt-potomo' );
|
384 |
-
grunt.loadNpmTasks( 'grunt-wp-i18n' );
|
385 |
-
grunt.loadNpmTasks( 'grunt-checktextdomain' );
|
386 |
-
grunt.loadNpmTasks( 'grunt-contrib-jshint' );
|
387 |
-
grunt.loadNpmTasks( 'grunt-contrib-sass' );
|
388 |
-
grunt.loadNpmTasks( 'grunt-contrib-uglify' );
|
389 |
-
grunt.loadNpmTasks( 'grunt-contrib-watch' );
|
390 |
-
grunt.loadNpmTasks( 'grunt-contrib-cssmin' );
|
391 |
-
grunt.loadNpmTasks( 'grunt-contrib-concat' );
|
392 |
-
grunt.loadNpmTasks( 'grunt-phpdocumentor' );
|
393 |
-
grunt.loadNpmTasks( 'grunt-gh-pages' );
|
394 |
-
grunt.loadNpmTasks( "grunt-phplint" );
|
395 |
-
//grunt.loadNpmTasks( 'grunt-recess' );
|
396 |
-
|
397 |
-
grunt.registerTask(
|
398 |
-
'langUpdate', [
|
399 |
-
'addtextdomain',
|
400 |
-
'makepot',
|
401 |
-
'shell:txpull',
|
402 |
-
'potomo'
|
403 |
-
]
|
404 |
-
);
|
405 |
-
|
406 |
-
// Default task(s).
|
407 |
-
grunt.registerTask(
|
408 |
-
'default', [
|
409 |
-
'jshint',
|
410 |
-
'concat:core',
|
411 |
-
'uglify:core',
|
412 |
-
'concat:vendor',
|
413 |
-
'uglify:vendor',
|
414 |
-
'uglify:fields',
|
415 |
-
'uglify:extensions',
|
416 |
-
"sass:admin",
|
417 |
-
"sass:fields",
|
418 |
-
"sass:extensions",
|
419 |
-
"sass:vendor",
|
420 |
-
'cssmin'
|
421 |
-
]
|
422 |
-
);
|
423 |
-
grunt.registerTask( 'travis', ['jshint', 'lintPHP'] );
|
424 |
-
|
425 |
-
// this would be run by typing "grunt test" on the command line
|
426 |
-
grunt.registerTask( 'testJS', ['jshint', 'concat:core', 'concat:vendor'] );
|
427 |
-
|
428 |
-
grunt.registerTask( 'watchUI', ['watch:ui'] );
|
429 |
-
grunt.registerTask( 'watchPHP', ['watch:php', 'phplint:core', 'phplint:plugin'] );
|
430 |
-
|
431 |
-
grunt.registerTask( "lintPHP", ["phplint:plugin", "phplint:core"] );
|
432 |
-
grunt.registerTask( "compileSCSS", ["sass:admin", "sass:fields", "sass:extensions", "sass:vendor", "sass:welcome"] );
|
433 |
-
grunt.registerTask(
|
434 |
-
'compileJS',
|
435 |
-
['jshint', 'concat:core', 'uglify:core', 'concat:vendor', 'uglify:vendor', 'uglify:fields', 'uglify:extensions']
|
436 |
-
);
|
437 |
-
grunt.registerTask( 'compileTestJS', ['jshint', 'concat:core', 'concat:vendor'] );
|
438 |
-
grunt.registerTask( 'compileCSS', ['cssmin'] );
|
439 |
-
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/css/select2.css
DELETED
@@ -1,704 +0,0 @@
|
|
1 |
-
/*
|
2 |
-
Version: 3.5.2 Timestamp: Sat Nov 1 14:43:36 EDT 2014
|
3 |
-
*/
|
4 |
-
.select2-container {
|
5 |
-
margin: 0;
|
6 |
-
position: relative;
|
7 |
-
display: inline-block;
|
8 |
-
/* inline-block for ie7 */
|
9 |
-
zoom: 1;
|
10 |
-
*display: inline;
|
11 |
-
vertical-align: middle;
|
12 |
-
}
|
13 |
-
|
14 |
-
.select2-container,
|
15 |
-
.select2-drop,
|
16 |
-
.select2-search,
|
17 |
-
.select2-search input {
|
18 |
-
/*
|
19 |
-
Force border-box so that % widths fit the parent
|
20 |
-
container without overlap because of margin/padding.
|
21 |
-
More Info : http://www.quirksmode.org/css/box.html
|
22 |
-
*/
|
23 |
-
-webkit-box-sizing: border-box; /* webkit */
|
24 |
-
-moz-box-sizing: border-box; /* firefox */
|
25 |
-
box-sizing: border-box; /* css3 */
|
26 |
-
}
|
27 |
-
|
28 |
-
.select2-container .select2-choice {
|
29 |
-
display: block;
|
30 |
-
height: 26px;
|
31 |
-
padding: 0 0 0 8px;
|
32 |
-
overflow: hidden;
|
33 |
-
position: relative;
|
34 |
-
|
35 |
-
border: 1px solid #aaa;
|
36 |
-
white-space: nowrap;
|
37 |
-
line-height: 26px;
|
38 |
-
color: #444;
|
39 |
-
text-decoration: none;
|
40 |
-
|
41 |
-
border-radius: 4px;
|
42 |
-
|
43 |
-
background-clip: padding-box;
|
44 |
-
|
45 |
-
-webkit-touch-callout: none;
|
46 |
-
-webkit-user-select: none;
|
47 |
-
-moz-user-select: none;
|
48 |
-
-ms-user-select: none;
|
49 |
-
user-select: none;
|
50 |
-
|
51 |
-
background-color: #fff;
|
52 |
-
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.5, #fff));
|
53 |
-
background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 50%);
|
54 |
-
background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 50%);
|
55 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#eeeeee', GradientType = 0);
|
56 |
-
background-image: linear-gradient(to top, #eee 0%, #fff 50%);
|
57 |
-
}
|
58 |
-
|
59 |
-
html[dir="rtl"] .select2-container .select2-choice {
|
60 |
-
padding: 0 8px 0 0;
|
61 |
-
}
|
62 |
-
|
63 |
-
.select2-container.select2-drop-above .select2-choice {
|
64 |
-
border-bottom-color: #aaa;
|
65 |
-
|
66 |
-
border-radius: 0 0 4px 4px;
|
67 |
-
|
68 |
-
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.9, #fff));
|
69 |
-
background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 90%);
|
70 |
-
background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 90%);
|
71 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);
|
72 |
-
background-image: linear-gradient(to bottom, #eee 0%, #fff 90%);
|
73 |
-
}
|
74 |
-
|
75 |
-
.select2-container.select2-allowclear .select2-choice .select2-chosen {
|
76 |
-
margin-right: 42px;
|
77 |
-
}
|
78 |
-
|
79 |
-
.select2-container .select2-choice > .select2-chosen {
|
80 |
-
margin-right: 26px;
|
81 |
-
display: block;
|
82 |
-
overflow: hidden;
|
83 |
-
|
84 |
-
white-space: nowrap;
|
85 |
-
|
86 |
-
text-overflow: ellipsis;
|
87 |
-
float: none;
|
88 |
-
width: auto;
|
89 |
-
}
|
90 |
-
|
91 |
-
html[dir="rtl"] .select2-container .select2-choice > .select2-chosen {
|
92 |
-
margin-left: 26px;
|
93 |
-
margin-right: 0;
|
94 |
-
}
|
95 |
-
|
96 |
-
.select2-container .select2-choice abbr {
|
97 |
-
display: none;
|
98 |
-
width: 12px;
|
99 |
-
height: 12px;
|
100 |
-
position: absolute;
|
101 |
-
right: 24px;
|
102 |
-
top: 8px;
|
103 |
-
|
104 |
-
font-size: 1px;
|
105 |
-
text-decoration: none;
|
106 |
-
|
107 |
-
border: 0;
|
108 |
-
background: url('select2.png') right top no-repeat;
|
109 |
-
cursor: pointer;
|
110 |
-
outline: 0;
|
111 |
-
}
|
112 |
-
|
113 |
-
.select2-container.select2-allowclear .select2-choice abbr {
|
114 |
-
display: inline-block;
|
115 |
-
}
|
116 |
-
|
117 |
-
.select2-container .select2-choice abbr:hover {
|
118 |
-
background-position: right -11px;
|
119 |
-
cursor: pointer;
|
120 |
-
}
|
121 |
-
|
122 |
-
.select2-drop-mask {
|
123 |
-
border: 0;
|
124 |
-
margin: 0;
|
125 |
-
padding: 0;
|
126 |
-
position: fixed;
|
127 |
-
left: 0;
|
128 |
-
top: 0;
|
129 |
-
min-height: 100%;
|
130 |
-
min-width: 100%;
|
131 |
-
height: auto;
|
132 |
-
width: auto;
|
133 |
-
opacity: 0;
|
134 |
-
z-index: 9998;
|
135 |
-
/* styles required for IE to work */
|
136 |
-
background-color: #fff;
|
137 |
-
filter: alpha(opacity=0);
|
138 |
-
}
|
139 |
-
|
140 |
-
.select2-drop {
|
141 |
-
width: 100%;
|
142 |
-
margin-top: -1px;
|
143 |
-
position: absolute;
|
144 |
-
z-index: 9999;
|
145 |
-
top: 100%;
|
146 |
-
|
147 |
-
background: #fff;
|
148 |
-
color: #000;
|
149 |
-
border: 1px solid #aaa;
|
150 |
-
border-top: 0;
|
151 |
-
|
152 |
-
border-radius: 0 0 4px 4px;
|
153 |
-
|
154 |
-
-webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
|
155 |
-
box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
|
156 |
-
}
|
157 |
-
|
158 |
-
.select2-drop.select2-drop-above {
|
159 |
-
margin-top: 1px;
|
160 |
-
border-top: 1px solid #aaa;
|
161 |
-
border-bottom: 0;
|
162 |
-
|
163 |
-
border-radius: 4px 4px 0 0;
|
164 |
-
|
165 |
-
-webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
|
166 |
-
box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
|
167 |
-
}
|
168 |
-
|
169 |
-
.select2-drop-active {
|
170 |
-
border: 1px solid #5897fb;
|
171 |
-
border-top: none;
|
172 |
-
}
|
173 |
-
|
174 |
-
.select2-drop.select2-drop-above.select2-drop-active {
|
175 |
-
border-top: 1px solid #5897fb;
|
176 |
-
}
|
177 |
-
|
178 |
-
.select2-drop-auto-width {
|
179 |
-
border-top: 1px solid #aaa;
|
180 |
-
width: auto;
|
181 |
-
}
|
182 |
-
|
183 |
-
.select2-drop-auto-width .select2-search {
|
184 |
-
padding-top: 4px;
|
185 |
-
}
|
186 |
-
|
187 |
-
.select2-container .select2-choice .select2-arrow {
|
188 |
-
display: inline-block;
|
189 |
-
width: 18px;
|
190 |
-
height: 100%;
|
191 |
-
position: absolute;
|
192 |
-
right: 0;
|
193 |
-
top: 0;
|
194 |
-
|
195 |
-
border-left: 1px solid #aaa;
|
196 |
-
border-radius: 0 4px 4px 0;
|
197 |
-
|
198 |
-
background-clip: padding-box;
|
199 |
-
|
200 |
-
background: #ccc;
|
201 |
-
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee));
|
202 |
-
background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%);
|
203 |
-
background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%);
|
204 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#eeeeee', endColorstr = '#cccccc', GradientType = 0);
|
205 |
-
background-image: linear-gradient(to top, #ccc 0%, #eee 60%);
|
206 |
-
}
|
207 |
-
|
208 |
-
html[dir="rtl"] .select2-container .select2-choice .select2-arrow {
|
209 |
-
left: 0;
|
210 |
-
right: auto;
|
211 |
-
|
212 |
-
border-left: none;
|
213 |
-
border-right: 1px solid #aaa;
|
214 |
-
border-radius: 4px 0 0 4px;
|
215 |
-
}
|
216 |
-
|
217 |
-
.select2-container .select2-choice .select2-arrow b {
|
218 |
-
display: block;
|
219 |
-
width: 100%;
|
220 |
-
height: 100%;
|
221 |
-
background: url('select2.png') no-repeat 0 1px;
|
222 |
-
}
|
223 |
-
|
224 |
-
html[dir="rtl"] .select2-container .select2-choice .select2-arrow b {
|
225 |
-
background-position: 2px 1px;
|
226 |
-
}
|
227 |
-
|
228 |
-
.select2-search {
|
229 |
-
display: inline-block;
|
230 |
-
width: 100%;
|
231 |
-
min-height: 26px;
|
232 |
-
margin: 0;
|
233 |
-
padding-left: 4px;
|
234 |
-
padding-right: 4px;
|
235 |
-
|
236 |
-
position: relative;
|
237 |
-
z-index: 10000;
|
238 |
-
|
239 |
-
white-space: nowrap;
|
240 |
-
}
|
241 |
-
|
242 |
-
.select2-search input {
|
243 |
-
width: 100%;
|
244 |
-
height: auto !important;
|
245 |
-
min-height: 26px;
|
246 |
-
padding: 4px 20px 4px 5px;
|
247 |
-
margin: 0;
|
248 |
-
|
249 |
-
outline: 0;
|
250 |
-
font-family: sans-serif;
|
251 |
-
font-size: 1em;
|
252 |
-
|
253 |
-
border: 1px solid #aaa;
|
254 |
-
border-radius: 0;
|
255 |
-
|
256 |
-
-webkit-box-shadow: none;
|
257 |
-
box-shadow: none;
|
258 |
-
|
259 |
-
background: #fff url('select2.png') no-repeat 100% -22px;
|
260 |
-
background: url('select2.png') no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));
|
261 |
-
background: url('select2.png') no-repeat 100% -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);
|
262 |
-
background: url('select2.png') no-repeat 100% -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);
|
263 |
-
background: url('select2.png') no-repeat 100% -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;
|
264 |
-
}
|
265 |
-
|
266 |
-
html[dir="rtl"] .select2-search input {
|
267 |
-
padding: 4px 5px 4px 20px;
|
268 |
-
|
269 |
-
background: #fff url('select2.png') no-repeat -37px -22px;
|
270 |
-
background: url('select2.png') no-repeat -37px -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));
|
271 |
-
background: url('select2.png') no-repeat -37px -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);
|
272 |
-
background: url('select2.png') no-repeat -37px -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);
|
273 |
-
background: url('select2.png') no-repeat -37px -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;
|
274 |
-
}
|
275 |
-
|
276 |
-
.select2-drop.select2-drop-above .select2-search input {
|
277 |
-
margin-top: 4px;
|
278 |
-
}
|
279 |
-
|
280 |
-
.select2-search input.select2-active {
|
281 |
-
background: #fff url('select2-spinner.gif') no-repeat 100%;
|
282 |
-
background: url('select2-spinner.gif') no-repeat 100%, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));
|
283 |
-
background: url('select2-spinner.gif') no-repeat 100%, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);
|
284 |
-
background: url('select2-spinner.gif') no-repeat 100%, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);
|
285 |
-
background: url('select2-spinner.gif') no-repeat 100%, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;
|
286 |
-
}
|
287 |
-
|
288 |
-
.select2-container-active .select2-choice,
|
289 |
-
.select2-container-active .select2-choices {
|
290 |
-
border: 1px solid #5897fb;
|
291 |
-
outline: none;
|
292 |
-
|
293 |
-
-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);
|
294 |
-
box-shadow: 0 0 5px rgba(0, 0, 0, .3);
|
295 |
-
}
|
296 |
-
|
297 |
-
.select2-dropdown-open .select2-choice {
|
298 |
-
border-bottom-color: transparent;
|
299 |
-
-webkit-box-shadow: 0 1px 0 #fff inset;
|
300 |
-
box-shadow: 0 1px 0 #fff inset;
|
301 |
-
|
302 |
-
border-bottom-left-radius: 0;
|
303 |
-
border-bottom-right-radius: 0;
|
304 |
-
|
305 |
-
background-color: #eee;
|
306 |
-
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #fff), color-stop(0.5, #eee));
|
307 |
-
background-image: -webkit-linear-gradient(center bottom, #fff 0%, #eee 50%);
|
308 |
-
background-image: -moz-linear-gradient(center bottom, #fff 0%, #eee 50%);
|
309 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);
|
310 |
-
background-image: linear-gradient(to top, #fff 0%, #eee 50%);
|
311 |
-
}
|
312 |
-
|
313 |
-
.select2-dropdown-open.select2-drop-above .select2-choice,
|
314 |
-
.select2-dropdown-open.select2-drop-above .select2-choices {
|
315 |
-
border: 1px solid #5897fb;
|
316 |
-
border-top-color: transparent;
|
317 |
-
|
318 |
-
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(0.5, #eee));
|
319 |
-
background-image: -webkit-linear-gradient(center top, #fff 0%, #eee 50%);
|
320 |
-
background-image: -moz-linear-gradient(center top, #fff 0%, #eee 50%);
|
321 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);
|
322 |
-
background-image: linear-gradient(to bottom, #fff 0%, #eee 50%);
|
323 |
-
}
|
324 |
-
|
325 |
-
.select2-dropdown-open .select2-choice .select2-arrow {
|
326 |
-
background: transparent;
|
327 |
-
border-left: none;
|
328 |
-
filter: none;
|
329 |
-
}
|
330 |
-
html[dir="rtl"] .select2-dropdown-open .select2-choice .select2-arrow {
|
331 |
-
border-right: none;
|
332 |
-
}
|
333 |
-
|
334 |
-
.select2-dropdown-open .select2-choice .select2-arrow b {
|
335 |
-
background-position: -18px 1px;
|
336 |
-
}
|
337 |
-
|
338 |
-
html[dir="rtl"] .select2-dropdown-open .select2-choice .select2-arrow b {
|
339 |
-
background-position: -16px 1px;
|
340 |
-
}
|
341 |
-
|
342 |
-
.select2-hidden-accessible {
|
343 |
-
border: 0;
|
344 |
-
clip: rect(0 0 0 0);
|
345 |
-
height: 1px;
|
346 |
-
margin: -1px;
|
347 |
-
overflow: hidden;
|
348 |
-
padding: 0;
|
349 |
-
position: absolute;
|
350 |
-
width: 1px;
|
351 |
-
}
|
352 |
-
|
353 |
-
/* results */
|
354 |
-
.select2-results {
|
355 |
-
max-height: 200px;
|
356 |
-
padding: 0 0 0 4px;
|
357 |
-
margin: 4px 4px 4px 0;
|
358 |
-
position: relative;
|
359 |
-
overflow-x: hidden;
|
360 |
-
overflow-y: auto;
|
361 |
-
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
362 |
-
}
|
363 |
-
|
364 |
-
html[dir="rtl"] .select2-results {
|
365 |
-
padding: 0 4px 0 0;
|
366 |
-
margin: 4px 0 4px 4px;
|
367 |
-
}
|
368 |
-
|
369 |
-
.select2-results ul.select2-result-sub {
|
370 |
-
margin: 0;
|
371 |
-
padding-left: 0;
|
372 |
-
}
|
373 |
-
|
374 |
-
.select2-results li {
|
375 |
-
list-style: none;
|
376 |
-
display: list-item;
|
377 |
-
background-image: none;
|
378 |
-
}
|
379 |
-
|
380 |
-
.select2-results li.select2-result-with-children > .select2-result-label {
|
381 |
-
font-weight: bold;
|
382 |
-
}
|
383 |
-
|
384 |
-
.select2-results .select2-result-label {
|
385 |
-
padding: 3px 7px 4px;
|
386 |
-
margin: 0;
|
387 |
-
cursor: pointer;
|
388 |
-
|
389 |
-
min-height: 1em;
|
390 |
-
|
391 |
-
-webkit-touch-callout: none;
|
392 |
-
-webkit-user-select: none;
|
393 |
-
-moz-user-select: none;
|
394 |
-
-ms-user-select: none;
|
395 |
-
user-select: none;
|
396 |
-
}
|
397 |
-
|
398 |
-
.select2-results-dept-1 .select2-result-label { padding-left: 20px }
|
399 |
-
.select2-results-dept-2 .select2-result-label { padding-left: 40px }
|
400 |
-
.select2-results-dept-3 .select2-result-label { padding-left: 60px }
|
401 |
-
.select2-results-dept-4 .select2-result-label { padding-left: 80px }
|
402 |
-
.select2-results-dept-5 .select2-result-label { padding-left: 100px }
|
403 |
-
.select2-results-dept-6 .select2-result-label { padding-left: 110px }
|
404 |
-
.select2-results-dept-7 .select2-result-label { padding-left: 120px }
|
405 |
-
|
406 |
-
.select2-results .select2-highlighted {
|
407 |
-
background: #3875d7;
|
408 |
-
color: #fff;
|
409 |
-
}
|
410 |
-
|
411 |
-
.select2-results li em {
|
412 |
-
background: #feffde;
|
413 |
-
font-style: normal;
|
414 |
-
}
|
415 |
-
|
416 |
-
.select2-results .select2-highlighted em {
|
417 |
-
background: transparent;
|
418 |
-
}
|
419 |
-
|
420 |
-
.select2-results .select2-highlighted ul {
|
421 |
-
background: #fff;
|
422 |
-
color: #000;
|
423 |
-
}
|
424 |
-
|
425 |
-
.select2-results .select2-no-results,
|
426 |
-
.select2-results .select2-searching,
|
427 |
-
.select2-results .select2-ajax-error,
|
428 |
-
.select2-results .select2-selection-limit {
|
429 |
-
background: #f4f4f4;
|
430 |
-
display: list-item;
|
431 |
-
padding-left: 5px;
|
432 |
-
}
|
433 |
-
|
434 |
-
/*
|
435 |
-
disabled look for disabled choices in the results dropdown
|
436 |
-
*/
|
437 |
-
.select2-results .select2-disabled.select2-highlighted {
|
438 |
-
color: #666;
|
439 |
-
background: #f4f4f4;
|
440 |
-
display: list-item;
|
441 |
-
cursor: default;
|
442 |
-
}
|
443 |
-
.select2-results .select2-disabled {
|
444 |
-
background: #f4f4f4;
|
445 |
-
display: list-item;
|
446 |
-
cursor: default;
|
447 |
-
}
|
448 |
-
|
449 |
-
.select2-results .select2-selected {
|
450 |
-
display: none;
|
451 |
-
}
|
452 |
-
|
453 |
-
.select2-more-results.select2-active {
|
454 |
-
background: #f4f4f4 url('select2-spinner.gif') no-repeat 100%;
|
455 |
-
}
|
456 |
-
|
457 |
-
.select2-results .select2-ajax-error {
|
458 |
-
background: rgba(255, 50, 50, .2);
|
459 |
-
}
|
460 |
-
|
461 |
-
.select2-more-results {
|
462 |
-
background: #f4f4f4;
|
463 |
-
display: list-item;
|
464 |
-
}
|
465 |
-
|
466 |
-
/* disabled styles */
|
467 |
-
|
468 |
-
.select2-container.select2-container-disabled .select2-choice {
|
469 |
-
background-color: #f4f4f4;
|
470 |
-
background-image: none;
|
471 |
-
border: 1px solid #ddd;
|
472 |
-
cursor: default;
|
473 |
-
}
|
474 |
-
|
475 |
-
.select2-container.select2-container-disabled .select2-choice .select2-arrow {
|
476 |
-
background-color: #f4f4f4;
|
477 |
-
background-image: none;
|
478 |
-
border-left: 0;
|
479 |
-
}
|
480 |
-
|
481 |
-
.select2-container.select2-container-disabled .select2-choice abbr {
|
482 |
-
display: none;
|
483 |
-
}
|
484 |
-
|
485 |
-
|
486 |
-
/* multiselect */
|
487 |
-
|
488 |
-
.select2-container-multi .select2-choices {
|
489 |
-
height: auto !important;
|
490 |
-
height: 1%;
|
491 |
-
margin: 0;
|
492 |
-
padding: 0 5px 0 0;
|
493 |
-
position: relative;
|
494 |
-
|
495 |
-
border: 1px solid #aaa;
|
496 |
-
cursor: text;
|
497 |
-
overflow: hidden;
|
498 |
-
|
499 |
-
background-color: #fff;
|
500 |
-
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eee), color-stop(15%, #fff));
|
501 |
-
background-image: -webkit-linear-gradient(top, #eee 1%, #fff 15%);
|
502 |
-
background-image: -moz-linear-gradient(top, #eee 1%, #fff 15%);
|
503 |
-
background-image: linear-gradient(to bottom, #eee 1%, #fff 15%);
|
504 |
-
}
|
505 |
-
|
506 |
-
html[dir="rtl"] .select2-container-multi .select2-choices {
|
507 |
-
padding: 0 0 0 5px;
|
508 |
-
}
|
509 |
-
|
510 |
-
.select2-locked {
|
511 |
-
padding: 3px 5px 3px 5px !important;
|
512 |
-
}
|
513 |
-
|
514 |
-
.select2-container-multi .select2-choices {
|
515 |
-
min-height: 26px;
|
516 |
-
}
|
517 |
-
|
518 |
-
.select2-container-multi.select2-container-active .select2-choices {
|
519 |
-
border: 1px solid #5897fb;
|
520 |
-
outline: none;
|
521 |
-
|
522 |
-
-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);
|
523 |
-
box-shadow: 0 0 5px rgba(0, 0, 0, .3);
|
524 |
-
}
|
525 |
-
.select2-container-multi .select2-choices li {
|
526 |
-
float: left;
|
527 |
-
list-style: none;
|
528 |
-
}
|
529 |
-
html[dir="rtl"] .select2-container-multi .select2-choices li
|
530 |
-
{
|
531 |
-
float: right;
|
532 |
-
}
|
533 |
-
.select2-container-multi .select2-choices .select2-search-field {
|
534 |
-
margin: 0;
|
535 |
-
padding: 0;
|
536 |
-
white-space: nowrap;
|
537 |
-
}
|
538 |
-
|
539 |
-
.select2-container-multi .select2-choices .select2-search-field input {
|
540 |
-
padding: 5px;
|
541 |
-
margin: 1px 0;
|
542 |
-
|
543 |
-
font-family: sans-serif;
|
544 |
-
font-size: 100%;
|
545 |
-
color: #666;
|
546 |
-
outline: 0;
|
547 |
-
border: 0;
|
548 |
-
-webkit-box-shadow: none;
|
549 |
-
box-shadow: none;
|
550 |
-
background: transparent !important;
|
551 |
-
}
|
552 |
-
|
553 |
-
.select2-container-multi .select2-choices .select2-search-field input.select2-active {
|
554 |
-
background: #fff url('select2-spinner.gif') no-repeat 100% !important;
|
555 |
-
}
|
556 |
-
|
557 |
-
.select2-default {
|
558 |
-
color: #999 !important;
|
559 |
-
}
|
560 |
-
|
561 |
-
.select2-container-multi .select2-choices .select2-search-choice {
|
562 |
-
padding: 3px 5px 3px 18px;
|
563 |
-
margin: 3px 0 3px 5px;
|
564 |
-
position: relative;
|
565 |
-
|
566 |
-
line-height: 13px;
|
567 |
-
color: #333;
|
568 |
-
cursor: default;
|
569 |
-
border: 1px solid #aaaaaa;
|
570 |
-
|
571 |
-
border-radius: 3px;
|
572 |
-
|
573 |
-
-webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
|
574 |
-
box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
|
575 |
-
|
576 |
-
background-clip: padding-box;
|
577 |
-
|
578 |
-
-webkit-touch-callout: none;
|
579 |
-
-webkit-user-select: none;
|
580 |
-
-moz-user-select: none;
|
581 |
-
-ms-user-select: none;
|
582 |
-
user-select: none;
|
583 |
-
|
584 |
-
background-color: #e4e4e4;
|
585 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0);
|
586 |
-
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eee));
|
587 |
-
background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
|
588 |
-
background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
|
589 |
-
background-image: linear-gradient(to bottom, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
|
590 |
-
}
|
591 |
-
html[dir="rtl"] .select2-container-multi .select2-choices .select2-search-choice
|
592 |
-
{
|
593 |
-
margin: 3px 5px 3px 0;
|
594 |
-
padding: 3px 18px 3px 5px;
|
595 |
-
}
|
596 |
-
.select2-container-multi .select2-choices .select2-search-choice .select2-chosen {
|
597 |
-
cursor: default;
|
598 |
-
}
|
599 |
-
.select2-container-multi .select2-choices .select2-search-choice-focus {
|
600 |
-
background: #d4d4d4;
|
601 |
-
}
|
602 |
-
|
603 |
-
.select2-search-choice-close {
|
604 |
-
display: block;
|
605 |
-
width: 12px;
|
606 |
-
height: 13px;
|
607 |
-
position: absolute;
|
608 |
-
right: 3px;
|
609 |
-
top: 4px;
|
610 |
-
|
611 |
-
font-size: 1px;
|
612 |
-
outline: none;
|
613 |
-
background: url('select2.png') right top no-repeat;
|
614 |
-
}
|
615 |
-
html[dir="rtl"] .select2-search-choice-close {
|
616 |
-
right: auto;
|
617 |
-
left: 3px;
|
618 |
-
}
|
619 |
-
|
620 |
-
.select2-container-multi .select2-search-choice-close {
|
621 |
-
left: 3px;
|
622 |
-
}
|
623 |
-
|
624 |
-
html[dir="rtl"] .select2-container-multi .select2-search-choice-close {
|
625 |
-
left: auto;
|
626 |
-
right: 2px;
|
627 |
-
}
|
628 |
-
|
629 |
-
.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover {
|
630 |
-
background-position: right -11px;
|
631 |
-
}
|
632 |
-
.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close {
|
633 |
-
background-position: right -11px;
|
634 |
-
}
|
635 |
-
|
636 |
-
/* disabled styles */
|
637 |
-
.select2-container-multi.select2-container-disabled .select2-choices {
|
638 |
-
background-color: #f4f4f4;
|
639 |
-
background-image: none;
|
640 |
-
border: 1px solid #ddd;
|
641 |
-
cursor: default;
|
642 |
-
}
|
643 |
-
|
644 |
-
.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice {
|
645 |
-
padding: 3px 5px 3px 5px;
|
646 |
-
border: 1px solid #ddd;
|
647 |
-
background-image: none;
|
648 |
-
background-color: #f4f4f4;
|
649 |
-
}
|
650 |
-
|
651 |
-
.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close { display: none;
|
652 |
-
background: none;
|
653 |
-
}
|
654 |
-
/* end multiselect */
|
655 |
-
|
656 |
-
|
657 |
-
.select2-result-selectable .select2-match,
|
658 |
-
.select2-result-unselectable .select2-match {
|
659 |
-
text-decoration: underline;
|
660 |
-
}
|
661 |
-
|
662 |
-
.select2-offscreen, .select2-offscreen:focus {
|
663 |
-
clip: rect(0 0 0 0) !important;
|
664 |
-
width: 1px !important;
|
665 |
-
height: 1px !important;
|
666 |
-
border: 0 !important;
|
667 |
-
margin: 0 !important;
|
668 |
-
padding: 0 !important;
|
669 |
-
overflow: hidden !important;
|
670 |
-
position: absolute !important;
|
671 |
-
outline: 0 !important;
|
672 |
-
left: 0px !important;
|
673 |
-
top: 0px !important;
|
674 |
-
}
|
675 |
-
|
676 |
-
.select2-display-none {
|
677 |
-
display: none;
|
678 |
-
}
|
679 |
-
|
680 |
-
.select2-measure-scrollbar {
|
681 |
-
position: absolute;
|
682 |
-
top: -10000px;
|
683 |
-
left: -10000px;
|
684 |
-
width: 100px;
|
685 |
-
height: 100px;
|
686 |
-
overflow: scroll;
|
687 |
-
}
|
688 |
-
|
689 |
-
/* Retina-ize icons */
|
690 |
-
|
691 |
-
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 2dppx) {
|
692 |
-
.select2-search input,
|
693 |
-
.select2-search-choice-close,
|
694 |
-
.select2-container .select2-choice abbr,
|
695 |
-
.select2-container .select2-choice .select2-arrow b {
|
696 |
-
background-image: url('select2x2.png') !important;
|
697 |
-
background-repeat: no-repeat !important;
|
698 |
-
background-size: 60px 40px !important;
|
699 |
-
}
|
700 |
-
|
701 |
-
.select2-search input {
|
702 |
-
background-position: 100% -21px !important;
|
703 |
-
}
|
704 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/ace.min.js
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
(function(){function o(n){var i=e;n&&(e[n]||(e[n]={}),i=e[n]);if(!i.define||!i.define.packaged)t.original=i.define,i.define=t,i.define.packaged=!0;if(!i.require||!i.require.packaged)r.original=i.require,i.require=r,i.require.packaged=!0}var ACE_NAMESPACE="",e=function(){return this}();!e&&typeof window!="undefined"&&(e=window);if(!ACE_NAMESPACE&&typeof requirejs!="undefined")return;var t=function(e,n,r){if(typeof e!="string"){t.original?t.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=n),t.modules[e]||(t.payloads[e]=r,t.modules[e]=null)};t.modules={},t.payloads={};var n=function(e,t,n){if(typeof t=="string"){var i=s(e,t);if(i!=undefined)return n&&n(),i}else if(Object.prototype.toString.call(t)==="[object Array]"){var o=[];for(var u=0,a=t.length;u<a;++u){var f=s(e,t[u]);if(f==undefined&&r.original)return;o.push(f)}return n&&n.apply(null,o)||!0}},r=function(e,t){var i=n("",e,t);return i==undefined&&r.original?r.original.apply(this,arguments):i},i=function(e,t){if(t.indexOf("!")!==-1){var n=t.split("!");return i(e,n[0])+"!"+i(e,n[1])}if(t.charAt(0)=="."){var r=e.split("/").slice(0,-1).join("/");t=r+"/"+t;while(t.indexOf(".")!==-1&&s!=t){var s=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return t},s=function(e,r){r=i(e,r);var s=t.modules[r];if(!s){s=t.payloads[r];if(typeof s=="function"){var o={},u={id:r,uri:"",exports:o,packaged:!0},a=function(e,t){return n(r,e,t)},f=s(a,o,u);o=f||u.exports,t.modules[r]=o,delete t.payloads[r]}s=t.modules[r]=o||s}return s};o(ACE_NAMESPACE)})(),define("ace/lib/regexp",["require","exports","module"],function(e,t,n){"use strict";function o(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.extended?"x":"")+(e.sticky?"y":"")}function u(e,t,n){if(Array.prototype.indexOf)return e.indexOf(t,n);for(var r=n||0;r<e.length;r++)if(e[r]===t)return r;return-1}var r={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},i=r.exec.call(/()??/,"")[1]===undefined,s=function(){var e=/^/g;return r.test.call(e,""),!e.lastIndex}();if(s&&i)return;RegExp.prototype.exec=function(e){var t=r.exec.apply(this,arguments),n,a;if(typeof e=="string"&&t){!i&&t.length>1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;e<arguments.length-2;e++)arguments[e]===undefined&&(t[e]=undefined)}));if(this._xregexp&&this._xregexp.captureNames)for(var f=1;f<t.length;f++)n=this._xregexp.captureNames[f-1],n&&(t[n]=t[f]);!s&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=u.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),a=e+o,f=a+s-o,l=n-a,c=n-o;if(f<a)for(var h=0;h<l;++h)this[f+h]=this[a+h];else if(f>a)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var v=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?v.apply(this,[e===void 0?0:e,t===void 0?this.length-e:t].concat(u.call(arguments,2))):[]}}Array.isArray||(Array.isArray=function(t){return a(t)=="[object Array]"});var m=Object("a"),g=m[0]!="a"||!(0 in m);Array.prototype.forEach||(Array.prototype.forEach=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=arguments[1],s=-1,o=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s<o)s in r&&t.call(i,r[s],s,n)}),Array.prototype.map||(Array.prototype.map=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u<i;u++)u in r&&(s[u]=t.call(o,r[u],u,n));return s}),Array.prototype.filter||(Array.prototype.filter=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f<i;f++)f in r&&(o=r[f],t.call(u,o,f,n)&&s.push(o));return s}),Array.prototype.every||(Array.prototype.every=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&!t.call(s,r[o],o,n))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&t.call(s,r[o],o,n))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s<i;s++)s in r&&(o=t.call(void 0,o,r[s],s,n));return o}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i<r;i++)if(i in n&&n[i]===t)return i;return-1};if(!Array.prototype.lastIndexOf||[0,1].lastIndexOf(0,-3)!=-1)Array.prototype.lastIndexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n<r;n++){var i=A[n];f(e,i)&&I.push(i)}return I}}Date.now||(Date.now=function(){return(new Date).getTime()});var _=" \n\f\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff";if(!String.prototype.trim||_.trim()){_="["+_+"]";var D=new RegExp("^"+_+_+"*"),P=new RegExp(_+_+"*$");String.prototype.trim=function(){return String(this).replace(D,"").replace(P,"")}}var F=function(e){if(e==null)throw new TypeError("can't convert "+e+" to object");return Object(e)}}),define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/regexp","ace/lib/es5-shim"],function(e,t,n){"use strict";e("./regexp"),e("./es5-shim")}),define("ace/lib/dom",["require","exports","module"],function(e,t,n){"use strict";var r="http://www.w3.org/1999/xhtml";t.getDocumentHead=function(e){return e||(e=document),e.head||e.getElementsByTagName("head")[0]||e.documentElement},t.createElement=function(e,t){return document.createElementNS?document.createElementNS(t||r,e):document.createElement(e)},t.hasCssClass=function(e,t){var n=(e.className||"").split(/\s+/g);return n.indexOf(t)!==-1},t.addCssClass=function(e,n){t.hasCssClass(e,n)||(e.className+=" "+n)},t.removeCssClass=function(e,t){var n=e.className.split(/\s+/g);for(;;){var r=n.indexOf(t);if(r==-1)break;n.splice(r,1)}e.className=n.join(" ")},t.toggleCssClass=function(e,t){var n=e.className.split(/\s+/g),r=!0;for(;;){var i=n.indexOf(t);if(i==-1)break;r=!1,n.splice(i,1)}return r&&n.push(t),e.className=n.join(" "),r},t.setCssClass=function(e,n,r){r?t.addCssClass(e,n):t.removeCssClass(e,n)},t.hasCssString=function(e,t){var n=0,r;t=t||document;if(t.createStyleSheet&&(r=t.styleSheets)){while(n<r.length)if(r[n++].owningElement.id===e)return!0}else if(r=t.getElementsByTagName("style"))while(n<r.length)if(r[n++].id===e)return!0;return!1},t.importCssString=function(n,i,s){s=s||document;if(i&&t.hasCssString(i,s))return null;var o;s.createStyleSheet?(o=s.createStyleSheet(),o.cssText=n,i&&(o.owningElement.id=i)):(o=s.createElementNS?s.createElementNS(r,"style"):s.createElement("style"),o.appendChild(s.createTextNode(n)),i&&(o.id=i),t.getDocumentHead(s).appendChild(o))},t.importCssStylsheet=function(e,n){if(n.createStyleSheet)n.createStyleSheet(e);else{var r=t.createElement("link");r.rel="stylesheet",r.href=e,t.getDocumentHead(n).appendChild(r)}},t.getInnerWidth=function(e){return parseInt(t.computedStyle(e,"paddingLeft"),10)+parseInt(t.computedStyle(e,"paddingRight"),10)+e.clientWidth},t.getInnerHeight=function(e){return parseInt(t.computedStyle(e,"paddingTop"),10)+parseInt(t.computedStyle(e,"paddingBottom"),10)+e.clientHeight};if(typeof document=="undefined")return;window.pageYOffset!==undefined?(t.getPageScrollTop=function(){return window.pageYOffset},t.getPageScrollLeft=function(){return window.pageXOffset}):(t.getPageScrollTop=function(){return document.body.scrollTop},t.getPageScrollLeft=function(){return document.body.scrollLeft}),window.getComputedStyle?t.computedStyle=function(e,t){return t?(window.getComputedStyle(e,"")||{})[t]||"":window.getComputedStyle(e,"")||{}}:t.computedStyle=function(e,t){return t?e.currentStyle[t]:e.currentStyle},t.scrollbarWidth=function(e){var n=t.createElement("ace_inner");n.style.width="100%",n.style.minWidth="0px",n.style.height="200px",n.style.display="block";var r=t.createElement("ace_outer"),i=r.style;i.position="absolute",i.left="-10000px",i.overflow="hidden",i.width="200px",i.minWidth="0px",i.height="150px",i.display="block",r.appendChild(n);var s=e.documentElement;s.appendChild(r);var o=n.offsetWidth;i.overflow="scroll";var u=n.offsetWidth;return o==u&&(u=r.clientWidth),s.removeChild(r),o-u},t.setInnerHtml=function(e,t){var n=e.cloneNode(!1);return n.innerHTML=t,e.parentNode.replaceChild(n,e),n},"textContent"in document.documentElement?(t.setInnerText=function(e,t){e.textContent=t},t.getInnerText=function(e){return e.textContent}):(t.setInnerText=function(e,t){e.innerText=t},t.getInnerText=function(e){return e.innerText}),t.getParentWindow=function(e){return e.defaultView||e.parentWindow}}),define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),define("ace/lib/keys",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop"],function(e,t,n){"use strict";e("./fixoldbrowsers");var r=e("./oop"),i=function(){var e={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,"super":8,meta:8,command:8,cmd:8},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"}},t,n;for(n in e.FUNCTION_KEYS)t=e.FUNCTION_KEYS[n].toLowerCase(),e[t]=parseInt(n,10);for(n in e.PRINTABLE_KEYS)t=e.PRINTABLE_KEYS[n].toLowerCase(),e[t]=parseInt(n,10);return r.mixin(e,e.MODIFIER_KEYS),r.mixin(e,e.PRINTABLE_KEYS),r.mixin(e,e.FUNCTION_KEYS),e.enter=e["return"],e.escape=e.esc,e.del=e["delete"],e[173]="-",function(){var t=["cmd","ctrl","alt","shift"];for(var n=Math.pow(2,t.length);n--;)e.KEY_MODS[n]=t.filter(function(t){return n&e.KEY_MODS[t]}).join("-")+"-"}(),e.KEY_MODS[0]="",e.KEY_MODS[-1]="input-",e}();r.mixin(t,i),t.keyCodeToString=function(e){var t=i[e];return typeof t!="string"&&(t=String.fromCharCode(e)),t.toLowerCase()}}),define("ace/lib/useragent",["require","exports","module"],function(e,t,n){"use strict";t.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},t.getOS=function(){return t.isMac?t.OS.MAC:t.isLinux?t.OS.LINUX:t.OS.WINDOWS};if(typeof navigator!="object")return;var r=(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase(),i=navigator.userAgent;t.isWin=r=="win",t.isMac=r=="mac",t.isLinux=r=="linux",t.isIE=navigator.appName=="Microsoft Internet Explorer"||navigator.appName.indexOf("MSAppHost")>=0?parseFloat((i.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((i.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=(window.Controllers||window.controllers)&&window.navigator.product==="Gecko",t.isOldGecko=t.isGecko&&parseInt((i.match(/rv\:(\d+)/)||[])[1],10)<4,t.isOpera=window.opera&&Object.prototype.toString.call(window.opera)=="[object Opera]",t.isWebKit=parseFloat(i.split("WebKit/")[1])||undefined,t.isChrome=parseFloat(i.split(" Chrome/")[1])||undefined,t.isAIR=i.indexOf("AdobeAIR")>=0,t.isIPad=i.indexOf("iPad")>=0,t.isTouchPad=i.indexOf("TouchPad")>=0,t.isChromeOS=i.indexOf(" CrOS ")>=0}),define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function o(e,t,n){var o=s(t);if(!i.isMac&&u){if(u[91]||u[92])o|=8;if(u.altGr){if((3&o)==3)return;u.altGr=0}if(n===18||n===17){var f="location"in t?t.location:t.keyLocation;if(n===17&&f===1)u[n]==1&&(a=t.timeStamp);else if(n===18&&o===3&&f===2){var l=t.timestamp-a;l<50&&(u.altGr=!0)}}}n in r.MODIFIER_KEYS&&(n=-1),o&8&&(n===91||n===93)&&(n=-1);if(!o&&n===13){var f="location"in t?t.location:t.keyLocation;if(f===3){e(t,o,-n);if(t.defaultPrevented)return}}if(i.isChromeOS&&o&8){e(t,o,n);if(t.defaultPrevented)return;o&=-9}return!!o||n in r.FUNCTION_KEYS||n in r.PRINTABLE_KEYS?e(t,o,n):!1}var r=e("./keys"),i=e("./useragent");t.addListener=function(e,t,n){if(e.addEventListener)return e.addEventListener(t,n,!1);if(e.attachEvent){var r=function(){n.call(e,window.event)};n._wrapper=r,e.attachEvent("on"+t,r)}},t.removeListener=function(e,t,n){if(e.removeEventListener)return e.removeEventListener(t,n,!1);e.detachEvent&&e.detachEvent("on"+t,n._wrapper||n)},t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},t.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},t.getButton=function(e){return e.type=="dblclick"?0:e.type=="contextmenu"||i.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.button]},t.capture=function(e,n,r){function i(e){n&&n(e),r&&r(e),t.removeListener(document,"mousemove",n,!0),t.removeListener(document,"mouseup",i,!0),t.removeListener(document,"dragstart",i,!0)}return t.addListener(document,"mousemove",n,!0),t.addListener(document,"mouseup",i,!0),t.addListener(document,"dragstart",i,!0),i},t.addMouseWheelListener=function(e,n){"onmousewheel"in e?t.addListener(e,"mousewheel",function(e){var t=8;e.wheelDeltaX!==undefined?(e.wheelX=-e.wheelDeltaX/t,e.wheelY=-e.wheelDeltaY/t):(e.wheelX=0,e.wheelY=-e.wheelDelta/t),n(e)}):"onwheel"in e?t.addListener(e,"wheel",function(e){var t=.35;switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=e.deltaX*t||0,e.wheelY=e.deltaY*t||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=(e.deltaX||0)*5,e.wheelY=(e.deltaY||0)*5}n(e)}):t.addListener(e,"DOMMouseScroll",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=(e.detail||0)*5,e.wheelY=0):(e.wheelX=0,e.wheelY=(e.detail||0)*5),n(e)})},t.addMultiMouseDownListener=function(e,n,r,s){var o=0,u,a,f,l={2:"dblclick",3:"tripleclick",4:"quadclick"};t.addListener(e,"mousedown",function(e){t.getButton(e)!==0?o=0:e.detail>1?(o++,o>4&&(o=1)):o=1;if(i.isIE){var c=Math.abs(e.clientX-u)>5||Math.abs(e.clientY-a)>5;if(!f||c)o=1;f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),o==1&&(u=e.clientX,a=e.clientY)}e._clicks=o,r[s]("mousedown",e);if(o>4)o=0;else if(o>1)return r[s](l[o],e)}),i.isOldIE&&t.addListener(e,"dblclick",function(e){o=2,f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),r[s]("mousedown",e),r[s](l[o],e)})};var s=!i.isMac||!i.isOpera||"KeyboardEvent"in window?function(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}:function(e){return 0|(e.metaKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.ctrlKey?8:0)};t.getModifierString=function(e){return r.KEY_MODS[s(e)]};var u=null,a=0;t.addCommandKeyListener=function(e,n){var r=t.addListener;if(i.isOldGecko||i.isOpera&&!("KeyboardEvent"in window)){var s=null;r(e,"keydown",function(e){s=e.keyCode}),r(e,"keypress",function(e){return o(n,e,s)})}else{var a=null;r(e,"keydown",function(e){u[e.keyCode]=(u[e.keyCode]||0)+1;var t=o(n,e,e.keyCode);return a=e.defaultPrevented,t}),r(e,"keypress",function(e){a&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),a=null)}),r(e,"keyup",function(e){u[e.keyCode]=null}),u||(u=Object.create(null),r(window,"focus",function(e){u=Object.create(null)}))}};if(window.postMessage&&!i.isOldIE){var f=1;t.nextTick=function(e,n){n=n||window;var r="zero-timeout-message-"+f;t.addListener(n,"message",function i(s){s.data==r&&(t.stopPropagation(s),t.removeListener(n,"message",i),e())}),n.postMessage(r,"*")}}t.nextFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame,t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function(e){if(typeof e!="object"||!e)return e;var n=e.constructor;if(n===RegExp)return e;var r=n();for(var i in e)typeof e[i]=="object"?r[i]=t.deepCopy(e[i]):r[i]=e[i];return r},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r.isPending=function(){return t},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n==null&&(n=setTimeout(r,e||t))};return i.delay=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)},i.schedule=i,i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("../lib/dom"),o=e("../lib/lang"),u=i.isChrome<18,a=i.isIE,f=function(e,t){function b(e){if(h)return;h=!0;if(k)t=0,r=e?0:n.value.length-1;else var t=e?2:1,r=2;try{n.setSelectionRange(t,r)}catch(i){}h=!1}function w(){if(h)return;n.value=f,i.isWebKit&&y.schedule()}function R(){clearTimeout(q),q=setTimeout(function(){p&&(n.style.cssText=p,p=""),t.renderer.$keepTextAreaAtCursor==null&&(t.renderer.$keepTextAreaAtCursor=!0,t.renderer.$moveTextAreaToCursor())},i.isOldIE?200:0)}var n=s.createElement("textarea");n.className="ace_text-input",i.isTouchPad&&n.setAttribute("x-palm-disable-auto-cap",!0),n.setAttribute("wrap","off"),n.setAttribute("autocorrect","off"),n.setAttribute("autocapitalize","off"),n.setAttribute("spellcheck",!1),n.style.opacity="0",i.isOldIE&&(n.style.top="-1000px"),e.insertBefore(n,e.firstChild);var f="",l=!1,c=!1,h=!1,p="",d=!0;try{var v=document.activeElement===n}catch(m){}r.addListener(n,"blur",function(e){t.onBlur(e),v=!1}),r.addListener(n,"focus",function(e){v=!0,t.onFocus(e),b()}),this.focus=function(){if(p)return n.focus();n.style.position="fixed",n.style.top="-1000px",n.focus(),setTimeout(function(){n.style.position=""},0)},this.blur=function(){n.blur()},this.isFocused=function(){return v};var g=o.delayedCall(function(){v&&b(d)}),y=o.delayedCall(function(){h||(n.value=f,v&&b())});i.isWebKit||t.addEventListener("changeSelection",function(){t.selection.isEmpty()!=d&&(d=!d,g.schedule())}),w(),v&&t.onFocus();var E=function(e){return e.selectionStart===0&&e.selectionEnd===e.value.length};!n.setSelectionRange&&n.createTextRange&&(n.setSelectionRange=function(e,t){var n=this.createTextRange();n.collapse(!0),n.moveStart("character",e),n.moveEnd("character",t),n.select()},E=function(e){try{var t=e.ownerDocument.selection.createRange()}catch(n){}return!t||t.parentElement()!=e?!1:t.text==e.value});if(i.isOldIE){var S=!1,x=function(e){if(S)return;var t=n.value;if(h||!t||t==f)return;if(e&&t==f[0])return T.schedule();A(t),S=!0,w(),S=!1},T=o.delayedCall(x);r.addListener(n,"propertychange",x);var N={13:1,27:1};r.addListener(n,"keyup",function(e){h&&(!n.value||N[e.keyCode])&&setTimeout(F,0);if((n.value.charCodeAt(0)||0)<129)return T.call();h?j():B()}),r.addListener(n,"keydown",function(e){T.schedule(50)})}var C=function(e){l?l=!1:E(n)?(t.selectAll(),b()):k&&b(t.selection.isEmpty())},k=null;this.setInputHandler=function(e){k=e},this.getInputHandler=function(){return k};var L=!1,A=function(e){k&&(e=k(e),k=null),c?(b(),e&&t.onPaste(e),c=!1):e==f.charAt(0)?L?t.execCommand("del",{source:"ace"}):t.execCommand("backspace",{source:"ace"}):(e.substring(0,2)==f?e=e.substr(2):e.charAt(0)==f.charAt(0)?e=e.substr(1):e.charAt(e.length-1)==f.charAt(0)&&(e=e.slice(0,-1)),e.charAt(e.length-1)==f.charAt(0)&&(e=e.slice(0,-1)),e&&t.onTextInput(e)),L&&(L=!1)},O=function(e){if(h)return;var t=n.value;A(t),w()},M=function(e,t){var n=e.clipboardData||window.clipboardData;if(!n||u)return;var r=a?"Text":"text/plain";return t?n.setData(r,t)!==!1:n.getData(r)},_=function(e,i){var s=t.getCopyText();if(!s)return r.preventDefault(e);M(e,s)?(i?t.onCut():t.onCopy(),r.preventDefault(e)):(l=!0,n.value=s,n.select(),setTimeout(function(){l=!1,w(),b(),i?t.onCut():t.onCopy()}))},D=function(e){_(e,!0)},P=function(e){_(e,!1)},H=function(e){var s=M(e);typeof s=="string"?(s&&t.onPaste(s),i.isIE&&setTimeout(b),r.preventDefault(e)):(n.value="",c=!0)};r.addCommandKeyListener(n,t.onCommandKey.bind(t)),r.addListener(n,"select",C),r.addListener(n,"input",O),r.addListener(n,"cut",D),r.addListener(n,"copy",P),r.addListener(n,"paste",H),(!("oncut"in n)||!("oncopy"in n)||!("onpaste"in n))&&r.addListener(e,"keydown",function(e){if(i.isMac&&!e.metaKey||!e.ctrlKey)return;switch(e.keyCode){case 67:P(e);break;case 86:H(e);break;case 88:D(e)}});var B=function(e){if(h||!t.onCompositionStart||t.$readOnly)return;h={},t.onCompositionStart(),setTimeout(j,0),t.on("mousedown",F),t.selection.isEmpty()||(t.insert(""),t.session.markUndoGroup(),t.selection.clearSelection()),t.session.markUndoGroup()},j=function(){if(!h||!t.onCompositionUpdate||t.$readOnly)return;var e=n.value.replace(/\x01/g,"");if(h.lastValue===e)return;t.onCompositionUpdate(e),h.lastValue&&t.undo(),h.lastValue=e;if(h.lastValue){var r=t.selection.getRange();t.insert(h.lastValue),t.session.markUndoGroup(),h.range=t.selection.getRange(),t.selection.setRange(r),t.selection.clearSelection()}},F=function(e){if(!t.onCompositionEnd||t.$readOnly)return;var r=h;h=!1;var i=setTimeout(function(){i=null;var e=n.value.replace(/\x01/g,"");if(h)return;e==r.lastValue?w():!r.lastValue&&e&&(w(),A(e))});k=function(n){return i&&clearTimeout(i),n=n.replace(/\x01/g,""),n==r.lastValue?"":(r.lastValue&&i&&t.undo(),n)},t.onCompositionEnd(),t.removeListener("mousedown",F),e.type=="compositionend"&&r.range&&t.selection.setRange(r.range)},I=o.delayedCall(j,50);r.addListener(n,"compositionstart",B),i.isGecko?r.addListener(n,"text",function(){I.schedule()}):(r.addListener(n,"keyup",function(){I.schedule()}),r.addListener(n,"keydown",function(){I.schedule()})),r.addListener(n,"compositionend",F),this.getElement=function(){return n},this.setReadOnly=function(e){n.readOnly=e},this.onContextMenu=function(e){L=!0,b(t.selection.isEmpty()),t._emit("nativecontextmenu",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,o){if(!o&&i.isOldIE)return;p||(p=n.style.cssText),n.style.cssText=(o?"z-index:100000;":"")+"height:"+n.style.height+";"+(i.isIE?"opacity:0.1;":"");var u=t.container.getBoundingClientRect(),a=s.computedStyle(t.container),f=u.top+(parseInt(a.borderTopWidth)||0),l=u.left+(parseInt(u.borderLeftWidth)||0),c=u.bottom-f-n.clientHeight-2,h=function(e){n.style.left=e.clientX-l-2+"px",n.style.top=Math.min(e.clientY-f-2,c)+"px"};h(e);if(e.type!="mousedown")return;t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=null),i.isWin&&!i.isOldIE&&r.capture(t.container,h,R)},this.onContextMenuClose=R;var q,U=function(e){t.textInput.onContextMenu(e),R()};r.addListener(t.renderer.scroller,"contextmenu",U),r.addListener(n,"contextmenu",U)};t.TextInput=f}),define("ace/mouse/default_handlers",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";function u(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(e)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(e)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(e)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(e)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(e));var n=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];n.forEach(function(t){e[t]=this[t]},this),e.selectByLines=this.extendSelectionBy.bind(e,"getLineRange"),e.selectByWords=this.extendSelectionBy.bind(e,"getWordRange")}function a(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}function f(e,t){if(e.start.row==e.end.row)var n=2*t.column-e.start.column-e.end.column;else if(e.start.row==e.end.row-1&&!e.start.column&&!e.end.column)var n=t.column-4;else var n=2*t.row-e.start.row-e.end.row;return n<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=0;(function(){this.onMouseDown=function(e){var t=e.inSelection(),n=e.getDocumentPosition();this.mousedownEvent=e;var r=this.editor,i=e.getButton();if(i!==0){var s=r.getSelectionRange(),o=s.isEmpty();r.$blockScrolling++,o&&r.selection.moveToPosition(n),r.$blockScrolling--,r.textInput.onContextMenu(e.domEvent);return}this.mousedownEvent.time=Date.now();if(t&&!r.isFocused()){r.focus();if(this.$focusTimout&&!this.$clickSelection&&!r.inMultiSelectMode){this.setState("focusWait"),this.captureMouse(e);return}}return this.captureMouse(e),this.startSelect(n,e.domEvent._clicks>1),e.preventDefault()},this.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var n=this.editor;n.$blockScrolling++,this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(e):t||n.selection.moveToPosition(e),t||this.select(),n.renderer.scroller.setCapture&&n.renderer.scroller.setCapture(),n.setStyle("ace_selecting"),this.setState("select"),n.$blockScrolling--},this.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);t.$blockScrolling++;if(this.$clickSelection){var r=this.$clickSelection.comparePoint(n);if(r==-1)e=this.$clickSelection.end;else if(r==1)e=this.$clickSelection.start;else{var i=f(this.$clickSelection,n);n=i.cursor,e=i.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.$blockScrolling--,t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,n=this.editor,r=n.renderer.screenToTextCoordinates(this.x,this.y),i=n.selection[e](r.row,r.column);n.$blockScrolling++;if(this.$clickSelection){var s=this.$clickSelection.comparePoint(i.start),o=this.$clickSelection.comparePoint(i.end);if(s==-1&&o<=0){t=this.$clickSelection.end;if(i.end.row!=r.row||i.end.column!=r.column)r=i.start}else if(o==1&&s>=0){t=this.$clickSelection.start;if(i.start.row!=r.row||i.start.column!=r.column)r=i.end}else if(s==-1&&o==1)r=i.end,t=i.start;else{var u=f(this.$clickSelection,r);r=u.cursor,t=u.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.$blockScrolling--,n.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e=a(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(e>o||t-this.mousedownEvent.time>this.$focusTimout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session,i=r.getBracketRange(t);i?(i.isEmpty()&&(i.start.column--,i.end.column++),this.setState("select")):(i=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=i,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines");var r=n.getSelectionRange();r.isMultiLine()&&r.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(r.start.row),this.$clickSelection.end=n.selection.getLineRange(r.end.row).end):this.$clickSelection=n.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(e.getAccelKey())return;e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=e.domEvent.timeStamp,n=t-(this.$lastScrollTime||0),r=this.editor,i=r.renderer.isScrollableBy(e.wheelX*e.speed,e.wheelY*e.speed);if(i||n<200)return this.$lastScrollTime=t,r.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()}}).call(u.prototype),t.DefaultHandlers=u}),define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(e,t,n){"use strict";function s(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}var r=e("./lib/oop"),i=e("./lib/dom");(function(){this.$init=function(){return this.$element=i.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(e){i.setInnerText(this.getElement(),e)},this.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},this.setClassName=function(e){i.addCssClass(this.getElement(),e)},this.show=function(e,t,n){e!=null&&this.setText(e),t!=null&&n!=null&&this.setPosition(t,n),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth}}).call(s.prototype),t.Tooltip=s}),define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(e,t,n){"use strict";function u(e){function l(){var r=u.getDocumentPosition().row,s=n.$annotations[r];if(!s)return c();var o=t.session.getLength();if(r==o){var a=t.renderer.pixelToScreenCoordinates(0,u.y).row,l=u.$pos;if(a>t.session.documentToScreenRow(l.row,l.column))return c()}if(f==s)return;f=s.text.join("<br/>"),i.setHtml(f),i.show(),t.on("mousewheel",c);if(e.$tooltipFollowsMouse)h(u);else{var p=n.$cells[t.session.documentToScreenRow(r,0)].element,d=p.getBoundingClientRect(),v=i.getElement().style;v.left=d.right+"px",v.top=d.bottom+"px"}}function c(){o&&(o=clearTimeout(o)),f&&(i.hide(),f=null,t.removeEventListener("mousewheel",c))}function h(e){i.setPosition(e.x,e.y)}var t=e.editor,n=t.renderer.$gutterLayer,i=new a(t.container);e.editor.setDefaultHandler("guttermousedown",function(r){if(!t.isFocused()||r.getButton()!=0)return;var i=n.getRegion(r);if(i=="foldWidgets")return;var s=r.getDocumentPosition().row,o=t.session.selection;if(r.getShiftKey())o.selectTo(s,0);else{if(r.domEvent.detail==2)return t.selectAll(),r.preventDefault();e.$clickSelection=t.selection.getLineRange(s)}return e.setState("selectByLines"),e.captureMouse(r),r.preventDefault()});var o,u,f;e.editor.setDefaultHandler("guttermousemove",function(t){var n=t.domEvent.target||t.domEvent.srcElement;if(r.hasCssClass(n,"ace_fold-widget"))return c();f&&e.$tooltipFollowsMouse&&h(t),u=t;if(o)return;o=setTimeout(function(){o=null,u&&!e.isMousePressed?l():c()},50)}),s.addListener(t.renderer.$gutter,"mouseout",function(e){u=null;if(!f||o)return;o=setTimeout(function(){o=null,c()},50)}),t.on("changeSession",c)}function a(e){o.call(this,e)}var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/event"),o=e("../tooltip").Tooltip;i.inherits(a,o),function(){this.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight,i=this.getWidth(),s=this.getHeight();e+=15,t+=15,e+i>n&&(e-=e+i-n),t+s>r&&(t-=20+s),o.prototype.setPosition.call(this,e,t)}}.call(a.prototype),t.GutterHandler=u}),define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){r.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){r.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var e=this.editor,t=e.getSelectionRange();if(t.isEmpty())this.$inSelection=!1;else{var n=this.getDocumentPosition();this.$inSelection=t.contains(n.row,n.column)}return this.$inSelection},this.getButton=function(){return r.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=i.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(s.prototype)}),define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";function f(e){function T(e,n){var r=Date.now(),i=!n||e.row!=n.row,s=!n||e.column!=n.column;if(!S||i||s)t.$blockScrolling+=1,t.moveCursorToPosition(e),t.$blockScrolling-=1,S=r,x={x:p,y:d};else{var o=l(x.x,x.y,p,d);o>a?S=null:r-S>=u&&(t.renderer.scrollCursorIntoView(),S=null)}}function N(e,n){var r=Date.now(),i=t.renderer.layerConfig.lineHeight,s=t.renderer.layerConfig.characterWidth,u=t.renderer.scroller.getBoundingClientRect(),a={x:{left:p-u.left,right:u.right-p},y:{top:d-u.top,bottom:u.bottom-d}},f=Math.min(a.x.left,a.x.right),l=Math.min(a.y.top,a.y.bottom),c={row:e.row,column:e.column};f/s<=2&&(c.column+=a.x.left<a.x.right?-3:2),l/i<=1&&(c.row+=a.y.top<a.y.bottom?-1:1);var h=e.row!=c.row,v=e.column!=c.column,m=!n||e.row!=n.row;h||v&&!m?E?r-E>=o&&t.renderer.scrollCursorIntoView(c):E=r:E=null}function C(){var e=g;g=t.renderer.screenToTextCoordinates(p,d),T(g,e),N(g,e)}function k(){m=t.selection.toOrientedRange(),h=t.session.addMarker(m,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(v),C(),v=setInterval(C,20),y=0,i.addListener(document,"mousemove",O)}function L(){clearInterval(v),t.session.removeMarker(h),h=null,t.$blockScrolling+=1,t.selection.fromOrientedRange(m),t.$blockScrolling-=1,t.isFocused()&&!w&&t.renderer.$cursorLayer.setBlinking(!t.getReadOnly()),m=null,g=null,y=0,E=null,S=null,i.removeListener(document,"mousemove",O)}function O(){A==null&&(A=setTimeout(function(){A!=null&&h&&L()},20))}function M(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return e=="text/plain"||e=="Text"})}function _(e){var t=["copy","copymove","all","uninitialized"],n=["move","copymove","linkmove","all","uninitialized"],r=s.isMac?e.altKey:e.ctrlKey,i="uninitialized";try{i=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var o="none";return r&&t.indexOf(i)>=0?o="copy":n.indexOf(i)>=0?o="move":t.indexOf(i)>=0&&(o="copy"),o}var t=e.editor,n=r.createElement("img");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",s.isOpera&&(n.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");var f=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];f.forEach(function(t){e[t]=this[t]},this),t.addEventListener("mousedown",this.onMouseDown.bind(e));var c=t.container,h,p,d,v,m,g,y=0,b,w,E,S,x;this.onDragStart=function(e){if(this.cancelDrag||!c.draggable){var r=this;return setTimeout(function(){r.startSelect(),r.captureMouse(e)},0),e.preventDefault()}m=t.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=t.getReadOnly()?"copy":"copyMove",s.isOpera&&(t.container.appendChild(n),n.scrollTop=0),i.setDragImage&&i.setDragImage(n,0,0),s.isOpera&&t.container.removeChild(n),i.clearData(),i.setData("Text",t.session.getTextRange()),w=!0,this.setState("drag")},this.onDragEnd=function(e){c.draggable=!1,w=!1,this.setState(null);if(!t.getReadOnly()){var n=e.dataTransfer.dropEffect;!b&&n=="move"&&t.session.remove(t.getSelectionRange()),t.renderer.$cursorLayer.setBlinking(!0)}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||k(),y++,e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragOver=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||(k(),y++),A!==null&&(A=null),e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragLeave=function(e){y--;if(y<=0&&h)return L(),b=null,i.preventDefault(e)},this.onDrop=function(e){if(!g)return;var n=e.dataTransfer;if(w)switch(b){case"move":m.contains(g.row,g.column)?m={start:g,end:g}:m=t.moveText(m,g);break;case"copy":m=t.moveText(m,g,!0)}else{var r=n.getData("Text");m={start:g,end:t.session.insert(g,r)},t.focus(),b=null}return L(),i.preventDefault(e)},i.addListener(c,"dragstart",this.onDragStart.bind(e)),i.addListener(c,"dragend",this.onDragEnd.bind(e)),i.addListener(c,"dragenter",this.onDragEnter.bind(e)),i.addListener(c,"dragover",this.onDragOver.bind(e)),i.addListener(c,"dragleave",this.onDragLeave.bind(e)),i.addListener(c,"drop",this.onDrop.bind(e));var A=null}function l(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=200,u=200,a=5;(function(){this.dragWait=function(){var e=Date.now()-this.mousedownEvent.time;e>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var e=this.editor.container;e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly()),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor,t=e.container;t.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var n=s.isWin?"default":"move";e.renderer.setCursorStyle(n),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;if(s.isIE&&this.state=="dragReady"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&t.dragDrop()}if(this.state==="dragWait"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(!this.$dragEnabled)return;this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),r=e.getButton(),i=e.domEvent.detail||1;if(i===1&&r===0&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var o=e.domEvent.target||e.domEvent.srcElement;"unselectable"in o&&(o.unselectable="on");if(t.getDragDelay()){if(s.isWebKit){this.cancelDrag=!0;var u=t.container;u.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}).call(f.prototype),t.DragdropHandler=f}),define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("./dom");t.get=function(e,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.onreadystatechange=function(){n.readyState===4&&t(n.responseText)},n.send(null)},t.loadScript=function(e,t){var n=r.getDocumentHead(),i=document.createElement("script");i.src=e,n.appendChild(i),i.onload=i.onreadystatechange=function(e,n){if(n||!i.readyState||i.readyState=="loaded"||i.readyState=="complete")i=i.onload=i.onreadystatechange=null,n||t()}},t.qualifyURL=function(e){var t=document.createElement("a");return t.href=e,t.href}}),define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o<n.length;o++){n[o](t,this);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t,this)},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(!n)return;n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)},r.once=function(e,t){var n=this;t&&this.addEventListener(e,function r(){n.removeEventListener(e,r),t.apply(null,arguments)})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;n||(n=this._defaultHandlers={_disabled_:{}});if(n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var s=i.indexOf(t);s!=-1&&i.splice(s,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(!n)return;var r=n._disabled_[e];if(n[e]==t){var i=n[e];r&&this.setDefaultHandler(e,r.pop())}else if(r){var s=r.indexOf(t);s!=-1&&r.splice(s,1)}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"no use strict";function o(e){typeof console!="undefined"&&console.warn&&console.warn.apply(console,arguments)}function u(e,t){var n=new Error(e);n.data=t,typeof console=="object"&&console.error&&console.error(n),setTimeout(function(){throw n})}var r=e("./oop"),i=e("./event_emitter").EventEmitter,s={setOptions:function(e){Object.keys(e).forEach(function(t){this.setOption(t,e[t])},this)},getOptions:function(e){var t={};return e?Array.isArray(e)||(t=e,e=Object.keys(t)):e=Object.keys(this.$options),e.forEach(function(e){t[e]=this.getOption(e)},this),t},setOption:function(e,t){if(this["$"+e]===t)return;var n=this.$options[e];if(!n)return o('misspelled option "'+e+'"');if(n.forwardTo)return this[n.forwardTo]&&this[n.forwardTo].setOption(e,t);n.handlesSet||(this["$"+e]=t),n&&n.set&&n.set.call(this,t)},getOption:function(e){var t=this.$options[e];return t?t.forwardTo?this[t.forwardTo]&&this[t.forwardTo].getOption(e):t&&t.get?t.get.call(this):this["$"+e]:o('misspelled option "'+e+'"')}},a=function(){this.$defaultOptions={}};(function(){r.implement(this,i),this.defineOptions=function(e,t,n){return e.$options||(this.$defaultOptions[t]=e.$options={}),Object.keys(n).forEach(function(t){var r=n[t];typeof r=="string"&&(r={forwardTo:r}),r.name||(r.name=t),e.$options[r.name]=r,"initialValue"in r&&(e["$"+r.name]=r.initialValue)}),r.implement(e,s),this},this.resetOptions=function(e){Object.keys(e.$options).forEach(function(t){var n=e.$options[t];"value"in n&&e.setOption(t,n.value)})},this.setDefaultValue=function(e,t,n){var r=this.$defaultOptions[e]||(this.$defaultOptions[e]={});r[t]&&(r.forwardTo?this.setDefaultValue(r.forwardTo,t,n):r[t].value=n)},this.setDefaultValues=function(e,t){Object.keys(t).forEach(function(n){this.setDefaultValue(e,n,t[n])},this)},this.warn=o,this.reportError=u}).call(a.prototype),t.AppConfig=a}),define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/lib/net","ace/lib/app_config"],function(e,t,n){"no use strict";function f(r){a.packaged=r||e.packaged||n.packaged||u.define&&define.packaged;if(!u.document)return"";var i={},s="",o=document.currentScript||document._currentScript,f=o&&o.ownerDocument||document,c=f.getElementsByTagName("script");for(var h=0;h<c.length;h++){var p=c[h],d=p.src||p.getAttribute("src");if(!d)continue;var v=p.attributes;for(var m=0,g=v.length;m<g;m++){var y=v[m];y.name.indexOf("data-ace-")===0&&(i[l(y.name.replace(/^data-ace-/,""))]=y.value)}var b=d.match(/^(.*)\/ace(\-\w+)?\.js(\?|$)/);b&&(s=b[1])}s&&(i.base=i.base||s,i.packaged=!0),i.basePath=i.base,i.workerPath=i.workerPath||i.base,i.modePath=i.modePath||i.base,i.themePath=i.themePath||i.base,delete i.base;for(var w in i)typeof i[w]!="undefined"&&t.set(w,i[w])}function l(e){return e.replace(/-(.)/g,function(e,t){return t.toUpperCase()})}var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./lib/net"),o=e("./lib/app_config").AppConfig;n.exports=t=new o;var u=function(){return this}(),a={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{}};t.get=function(e){if(!a.hasOwnProperty(e))throw new Error("Unknown config key: "+e);return a[e]},t.set=function(e,t){if(!a.hasOwnProperty(e))throw new Error("Unknown config key: "+e);a[e]=t},t.all=function(){return r.copyObject(a)},t.moduleUrl=function(e,t){if(a.$moduleUrls[e])return a.$moduleUrls[e];var n=e.split("/");t=t||n[n.length-2]||"";var r=t=="snippets"?"/":"-",i=n[n.length-1];if(t=="worker"&&r=="-"){var s=new RegExp("^"+t+"[\\-_]|[\\-_]"+t+"$","g");i=i.replace(s,"")}(!i||i==t)&&n.length>1&&(i=n[n.length-2]);var o=a[t+"Path"];return o==null?o=a.basePath:r=="/"&&(t=r=""),o&&o.slice(-1)!="/"&&(o+="/"),o+t+r+i+this.get("suffix")},t.setModuleUrl=function(e,t){return a.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(n,r){var i,o;Array.isArray(n)&&(o=n[0],n=n[1]);try{i=e(n)}catch(u){}if(i&&!t.$loading[n])return r&&r(i);t.$loading[n]||(t.$loading[n]=[]),t.$loading[n].push(r);if(t.$loading[n].length>1)return;var a=function(){e([n],function(e){t._emit("load.module",{name:n,module:e});var r=t.$loading[n];t.$loading[n]=null,r.forEach(function(t){t&&t(e)})})};if(!t.get("packaged"))return a();s.loadScript(t.moduleUrl(n,o),a)},t.init=f}),define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/config"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("./default_handlers").DefaultHandlers,o=e("./default_gutter_handler").GutterHandler,u=e("./mouse_event").MouseEvent,a=e("./dragdrop_handler").DragdropHandler,f=e("../config"),l=function(e){var t=this;this.editor=e,new s(this),new o(this),new a(this);var n=function(t){(!document.hasFocus||!document.hasFocus())&&window.focus(),e.focus()},u=e.renderer.getMouseEventTarget();r.addListener(u,"click",this.onMouseEvent.bind(this,"click")),r.addListener(u,"mousemove",this.onMouseMove.bind(this,"mousemove")),r.addMultiMouseDownListener(u,[400,300,250],this,"onMouseEvent"),e.renderer.scrollBarV&&(r.addMultiMouseDownListener(e.renderer.scrollBarV.inner,[400,300,250],this,"onMouseEvent"),r.addMultiMouseDownListener(e.renderer.scrollBarH.inner,[400,300,250],this,"onMouseEvent"),i.isIE&&(r.addListener(e.renderer.scrollBarV.element,"mousedown",n),r.addListener(e.renderer.scrollBarH.element,"mousedown",n))),r.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel"));var f=e.renderer.$gutter;r.addListener(f,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),r.addListener(f,"click",this.onMouseEvent.bind(this,"gutterclick")),r.addListener(f,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),r.addListener(f,"mousemove",this.onMouseEvent.bind(this,"guttermousemove")),r.addListener(u,"mousedown",n),r.addListener(f,"mousedown",function(t){return e.focus(),r.preventDefault(t)}),e.on("mousemove",function(n){if(t.state||t.$dragDelay||!t.$dragEnabled)return;var r=e.renderer.screenToTextCoordinates(n.x,n.y),i=e.session.selection.getRange(),s=e.renderer;!i.isEmpty()&&i.insideStart(r.row,r.column)?s.setCursorStyle("default"):s.setCursorStyle("")})};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new u(t,this.editor))},this.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;if(!n||!n.length)return;this.editor._emit(e,new u(t,this.editor))},this.onMouseWheel=function(e,t){var n=new u(t,this.editor);n.speed=this.$scrollSpeed*2,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor.renderer;n.$keepTextAreaAtCursor&&(n.$keepTextAreaAtCursor=null);var s=this,o=function(e){if(!e)return;if(i.isWebKit&&!e.which&&s.releaseMouse)return s.releaseMouse();s.x=e.clientX,s.y=e.clientY,t&&t(e),s.mouseEvent=new u(e,s.editor),s.$mouseMoved=!0},a=function(e){clearInterval(l),f(),s[s.state+"End"]&&s[s.state+"End"](e),s.state="",n.$keepTextAreaAtCursor==null&&(n.$keepTextAreaAtCursor=!0,n.$moveTextAreaToCursor()),s.isMousePressed=!1,s.$onCaptureMouseMove=s.releaseMouse=null,e&&s.onMouseEvent("mouseup",e)},f=function(){s[s.state]&&s[s.state](),s.$mouseMoved=!1};if(i.isOldIE&&e.domEvent.type=="dblclick")return setTimeout(function(){a(e)});s.$onCaptureMouseMove=o,s.releaseMouse=r.capture(this.editor.container,o,a);var l=setInterval(f,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var e=function(t){if(t&&t.domEvent&&t.domEvent.type!="contextmenu")return;this.editor.off("nativecontextmenu",e),t&&t.domEvent&&r.stopEvent(t.domEvent)}.bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)}}).call(l.prototype),f.defineOptions(l.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:i.isMac?150:0},dragEnabled:{initialValue:!0},focusTimout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=l}),define("ace/mouse/fold_handler",["require","exports","module"],function(e,t,n){"use strict";function r(e){e.on("click",function(t){var n=t.getDocumentPosition(),r=e.session,i=r.getFoldAt(n.row,n.column,1);i&&(t.getAccelKey()?r.removeFold(i):r.expandFold(i),t.stop())}),e.on("gutterclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session;i.foldWidgets&&i.foldWidgets[r]&&e.session.onFoldWidgetClick(r,t),e.isFocused()||e.focus(),t.stop()}}),e.on("gutterdblclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session,s=i.getParentFoldRangeData(r,!0),o=s.range||s.firstRange;if(o){r=o.start.row;var u=i.getFoldAt(r,i.getLine(r).length,1);u?i.removeFold(u):(i.addFold("...",o),e.renderer.scrollCursorIntoView({row:o.start.row,column:0}))}t.stop()}})}t.FoldHandler=r}),define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t,n){"use strict";var r=e("../lib/keys"),i=e("../lib/event"),s=function(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]==e)return;while(t[t.length-1]&&t[t.length-1]!=this.$defaultHandler)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)},this.addKeyboardHandler=function(e,t){if(!e)return;typeof e=="function"&&!e.handleKeyboard&&(e.handleKeyboard=e);var n=this.$handlers.indexOf(e);n!=-1&&this.$handlers.splice(n,1),t==undefined?this.$handlers.push(e):this.$handlers.splice(t,0,e),n==-1&&e.attach&&e.attach(this.$editor)},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return t==-1?!1:(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var e=this.$data,t=e.editor;return this.$handlers.map(function(n){return n.getStatusText&&n.getStatusText(t,e)||""}).filter(Boolean).join(" ")},this.$callKeyboardHandlers=function(e,t,n,r){var s,o=!1,u=this.$editor.commands;for(var a=this.$handlers.length;a--;){s=this.$handlers[a].handleKeyboard(this.$data,e,t,n,r);if(!s||!s.command)continue;s.command=="null"?o=!0:o=u.exec(s.command,this.$editor,s.args,r),o&&r&&e!=-1&&s.passEvent!=1&&s.command.passEvent!=1&&i.stopEvent(r);if(o)break}return o},this.onCommandKey=function(e,t,n){var i=r.keyCodeToString(n);this.$callKeyboardHandlers(t,i,n,e)},this.onTextInput=function(e){var t=this.$callKeyboardHandlers(-1,e);t||this.$editor.commands.exec("insertstring",this.$editor,e)}}).call(s.prototype),t.KeyBinding=s}),define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var r={row:e,column:t};else var s={row:e,column:t};return i.fromPoints(r||this.start,s||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return i.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=r,i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i}),define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/lang"),s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=function(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.lead=this.selectionLead=this.doc.createAnchor(0,0),this.anchor=this.selectionAnchor=this.doc.createAnchor(0,0);var t=this;this.lead.on("change",function(e){t._emit("changeCursor"),t.$isEmpty||t._emit("changeSelection"),!t.$keepDesiredColumnOnChange&&e.old.column!=e.value.column&&(t.$desiredColumn=null)}),this.selectionAnchor.on("change",function(){t.$isEmpty||t._emit("changeSelection")})};(function(){r.implement(this,s),this.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},this.isMultiLine=function(){return this.isEmpty()?!1:this.getRange().isMultiLine()},this.getCursor=function(){return this.lead.getPosition()},this.setSelectionAnchor=function(e,t){this.anchor.setPosition(e,t),this.$isEmpty&&(this.$isEmpty=!1,this._emit("changeSelection"))},this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},this.getSelectionLead=function(){return this.lead.getPosition()},this.shiftSelection=function(e){if(this.$isEmpty){this.moveCursorTo(this.lead.row,this.lead.column+e);return}var t=this.getSelectionAnchor(),n=this.getSelectionLead(),r=this.isBackwards();(!r||t.column!==0)&&this.setSelectionAnchor(t.row,t.column+e),(r||n.column!==0)&&this.$moveSelection(function(){this.moveCursorTo(n.row,n.column+e)})},this.isBackwards=function(){var e=this.anchor,t=this.lead;return e.row>t.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.isEmpty()?o.fromPoints(t,t):this.isBackwards()?o.fromPoints(t,e):o.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){var e=this.doc.getLength()-1;this.setSelectionAnchor(0,0),this.moveCursorTo(e,this.doc.getLine(e).length)},this.setRange=this.setSelectionRange=function(e,t){t?(this.setSelectionAnchor(e.end.row,e.end.column),this.selectTo(e.start.row,e.start.column)):(this.setSelectionAnchor(e.start.row,e.start.column),this.selectTo(e.end.row,e.end.column)),this.getRange().isEmpty()&&(this.$isEmpty=!0),this.$desiredColumn=null},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(typeof t=="undefined"){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var n=typeof e=="number"?e:this.lead.row,r,i=this.session.getFoldLine(n);return i?(n=i.start.row,r=i.end.row):r=n,t===!0?new o(n,0,r,this.session.getLine(r).length):new o(n,0,r+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.moveCursorLeft=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,-1))this.moveCursorTo(t.start.row,t.start.column);else if(e.column===0)e.row>0&&this.moveCursorTo(e.row-1,this.doc.getLine(e.row-1).length);else{var n=this.session.getTabSize();this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(e.column-n,e.column).split(" ").length-1==n?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,1))this.moveCursorTo(t.end.row,t.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var n=this.session.getTabSize(),e=this.lead;this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(e.column,e.column+n).split(" ").length-1==n?this.moveCursorBy(0,n):this.moveCursorBy(0,1)}},this.moveCursorLineStart=function(){var e=this.lead.row,t=this.lead.column,n=this.session.documentToScreenRow(e,t),r=this.session.screenToDocumentPosition(n,0),i=this.session.getDisplayLine(e,null,r.row,r.column),s=i.match(/^\s*/);s[0].length!=t&&!this.session.$useEmacsStyleLineStart&&(r.column+=s[0].length),this.moveCursorToPosition(r)},this.moveCursorLineEnd=function(){var e=this.lead,t=this.session.getDocumentLastRowColumnPosition(e.row,e.column);if(this.lead.column==t.column){var n=this.session.getLine(t.row);if(t.column==n.length){var r=n.search(/\s+$/);r>0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i;this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var s=this.session.getFoldAt(e,t,1);if(s){this.moveCursorTo(s.end.row,s.end.column);return}if(i=this.session.nonTokenRe.exec(r))t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=n.substring(t);if(t>=n.length){this.moveCursorTo(e,n.length),this.moveCursorRight(),e<this.doc.getLength()-1&&this.moveCursorWordRight();return}if(i=this.session.tokenRe.exec(r))t+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0;this.moveCursorTo(e,t)},this.moveCursorLongWordLeft=function(){var e=this.lead.row,t=this.lead.column,n;if(n=this.session.getFoldAt(e,t,-1)){this.moveCursorTo(n.start.row,n.start.column);return}var r=this.session.getFoldStringAt(e,t,-1);r==null&&(r=this.doc.getLine(e).substring(0,t));var s=i.stringReverse(r),o;this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;if(o=this.session.nonTokenRe.exec(s))t-=this.session.nonTokenRe.lastIndex,s=s.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0;if(t<=0){this.moveCursorTo(e,0),this.moveCursorLeft(),e>0&&this.moveCursorWordLeft();return}if(o=this.session.tokenRe.exec(s))t-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0;this.moveCursorTo(e,t)},this.$shortWordEndIndex=function(e){var t,n=0,r,i=/\s/,s=this.session.tokenRe;s.lastIndex=0;if(t=this.session.tokenRe.exec(e))n=this.session.tokenRe.lastIndex;else{while((r=e[n])&&i.test(r))n++;if(n<1){s.lastIndex=0;while((r=e[n])&&!s.test(r)){s.lastIndex=0,n++;if(i.test(r)){if(n>2){n--;break}while((r=e[n])&&i.test(r))n++;if(n>2)break}}}}return s.lastIndex=0,n},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==n.length){var s=this.doc.getLength();do e++,r=this.doc.getLine(e);while(e<s&&/^\s*$/.test(r));/^\s+/.test(r)||(r=""),t=0}var o=this.$shortWordEndIndex(r);this.moveCursorTo(e,t+o)},this.moveCursorShortWordLeft=function(){var e=this.lead.row,t=this.lead.column,n;if(n=this.session.getFoldAt(e,t,-1))return this.moveCursorTo(n.start.row,n.start.column);var r=this.session.getLine(e).substring(0,t);if(t===0){do e--,r=this.doc.getLine(e);while(e>0&&/^\s*$/.test(r));t=r.length,/\s+$/.test(r)||(r="")}var s=i.stringReverse(r),o=this.$shortWordEndIndex(s);return this.moveCursorTo(e,t-o)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var n=this.session.documentToScreenPosition(this.lead.row,this.lead.column);t===0&&(this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column);var r=this.session.screenToDocumentPosition(n.row+e,n.column);e!==0&&t===0&&r.row===this.lead.row&&r.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[r.row]&&r.row++,this.moveCursorTo(r.row,r.column+t,t===0)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0,this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.getRangeOfMovements=function(e){var t=this.getCursor();try{e.call(null,this);var n=this.getCursor();return o.fromPoints(t,n)}catch(r){return o.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},this.fromJSON=function(e){if(e.start==undefined){if(this.rangeList){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=o.fromPoints(e[t].start,e[t].end);e.isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(u.prototype),t.Selection=u}),define("ace/tokenizer",["require","exports","module","ace/config"],function(e,t,n){"use strict";var r=e("./config"),i=2e3,s=function(e){this.states=e,this.regExps={},this.matchMappings={};for(var t in this.states){var n=this.states[t],r=[],i=0,s=this.matchMappings[t]={defaultToken:"text"},o="g",u=[];for(var a=0;a<n.length;a++){var f=n[a];f.defaultToken&&(s.defaultToken=f.defaultToken),f.caseInsensitive&&(o="gi");if(f.regex==null)continue;f.regex instanceof RegExp&&(f.regex=f.regex.toString().slice(1,-1));var l=f.regex,c=(new RegExp("(?:("+l+")|(.))")).exec("a").length-2;Array.isArray(f.token)?f.token.length==1||c==1?f.token=f.token[0]:c-1!=f.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:f,groupCount:c-1}),f.token=f.token[0]):(f.tokenArray=f.token,f.token=null,f.onMatch=this.$arrayTokens):typeof f.token=="function"&&!f.onMatch&&(c>1?f.onMatch=this.$applyToken:f.onMatch=f.token),c>1&&(/\\\d/.test(f.regex)?l=f.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+i+1)}):(c=1,l=this.removeCapturingGroups(f.regex)),!f.splitRegex&&typeof f.token!="string"&&u.push(f)),s[i]=a,i+=c,r.push(l),f.onMatch||(f.onMatch=null)}r.length||(s[0]=0,r.push("$")),u.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,o)},this),this.regExps[t]=new RegExp("("+r.join(")|(")+")|($)",o)}};(function(){this.$setMaxTokenCount=function(e){i=e|0},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if(typeof n=="string")return[{type:n,value:e}];var r=[];for(var i=0,s=n.length;i<s;i++)t[i]&&(r[r.length]={type:n[i],value:t[i]});return r},this.$arrayTokens=function(e){if(!e)return[];var t=this.splitRegex.exec(e);if(!t)return"text";var n=[],r=this.tokenArray;for(var i=0,s=r.length;i<s;i++)t[i+1]&&(n[n.length]={type:r[i],value:t[i+1]});return n},this.removeCapturingGroups=function(e){var t=e.replace(/\[(?:\\.|[^\]])*?\]|\\.|\(\?[:=!]|(\()/g,function(e,t){return t?"(?:":e});return t},this.createSplitterRegexp=function(e,t){if(e.indexOf("(?=")!=-1){var n=0,r=!1,i={};e.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(e,t,s,o,u,a){return r?r=u!="]":u?r=!0:o?(n==i.stack&&(i.end=a+1,i.stack=-1),n--):s&&(n++,s.length!=1&&(i.stack=n,i.start=a)),e}),i.end!=null&&/^\)*$/.test(e.substr(i.end))&&(e=e.substring(0,i.start)+e.substr(i.end))}return new RegExp(e,(t||"").replace("g",""))},this.getLineTokens=function(e,t){if(t&&typeof t!="string"){var n=t.slice(0);t=n[0],t==="#tmp"&&(n.shift(),t=n.shift())}else var n=[];var r=t||"start",s=this.states[r];s||(r="start",s=this.states[r]);var o=this.matchMappings[r],u=this.regExps[r];u.lastIndex=0;var a,f=[],l=0,c=0,h={type:null,value:""};while(a=u.exec(e)){var p=o.defaultToken,d=null,v=a[0],m=u.lastIndex;if(m-v.length>l){var g=e.substring(l,m-v.length);h.type==p?h.value+=g:(h.type&&f.push(h),h={type:p,value:g})}for(var y=0;y<a.length-2;y++){if(a[y+1]===undefined)continue;d=s[o[y]],d.onMatch?p=d.onMatch(v,r,n):p=d.token,d.next&&(typeof d.next=="string"?r=d.next:r=d.next(r,n),s=this.states[r],s||(this.reportError("state doesn't exist",r),r="start",s=this.states[r]),o=this.matchMappings[r],l=m,u=this.regExps[r],u.lastIndex=m);break}if(v)if(typeof p=="string")!!d&&d.merge===!1||h.type!==p?(h.type&&f.push(h),h={type:p,value:v}):h.value+=v;else if(p){h.type&&f.push(h),h={type:null,value:""};for(var y=0;y<p.length;y++)f.push(p[y])}if(l==e.length)break;l=m;if(c++>i){c>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});while(l<e.length)h.type&&f.push(h),h={value:e.substring(l,l+=2e3),type:"overflow"};r="start",n=[];break}}return h.type&&f.push(h),n.length>1&&n[0]!==r&&n.unshift("#tmp",r),{tokens:f,state:n.length?n:r}},this.reportError=r.reportError}).call(s.prototype),t.Tokenizer=s}),define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../lib/lang"),i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(e,t){if(!t){for(var n in e)this.$rules[n]=e[n];return}for(var n in e){var r=e[n];for(var i=0;i<r.length;i++){var s=r[i];if(s.next||s.onMatch)typeof s.next!="string"?s.nextState&&s.nextState.indexOf(t)!==0&&(s.nextState=t+s.nextState):s.next.indexOf(t)!==0&&(s.next=t+s.next)}this.$rules[t+n]=r}},this.getRules=function(){return this.$rules},this.embedRules=function(e,t,n,i,s){var o=typeof e=="function"?(new e).getRules():e;if(i)for(var u=0;u<i.length;u++)i[u]=t+i[u];else{i=[];for(var a in o)i.push(t+a)}this.addRules(o,t);if(n){var f=Array.prototype[s?"push":"unshift"];for(var u=0;u<i.length;u++)f.apply(this.$rules[i[u]],r.deepCopy(n))}this.$embeds||(this.$embeds=[]),this.$embeds.push(t)},this.getEmbeds=function(){return this.$embeds};var e=function(e,t){return(e!="start"||t.length)&&t.unshift(this.nextState,e),this.nextState},t=function(e,t){return t.shift(),t.shift()||"start"};this.normalizeRules=function(){function i(s){var o=r[s];o.processed=!0;for(var u=0;u<o.length;u++){var a=o[u];!a.regex&&a.start&&(a.regex=a.start,a.next||(a.next=[]),a.next.push({defaultToken:a.token},{token:a.token+".end",regex:a.end||a.start,next:"pop"}),a.token=a.token+".start",a.push=!0);var f=a.next||a.push;if(f&&Array.isArray(f)){var l=a.stateName;l||(l=a.token,typeof l!="string"&&(l=l[0]||""),r[l]&&(l+=n++)),r[l]=f,a.next=l,i(l)}else f=="pop"&&(a.next=t);a.push&&(a.nextState=a.next||a.push,a.next=e,delete a.push);if(a.rules)for(var c in a.rules)r[c]?r[c].push&&r[c].push.apply(r[c],a.rules[c]):r[c]=a.rules[c];if(a.include||typeof a=="string")var h=a.include||a,p=r[h];else Array.isArray(a)&&(p=a);if(p){var d=[u,1].concat(p);a.noEscape&&(d=d.filter(function(e){return!e.next})),o.splice.apply(o,d),u--,p=null}a.keywordMap&&(a.token=this.createKeywordMapper(a.keywordMap,a.defaultToken||"text",a.caseInsensitive),delete a.defaultToken)}}var n=0,r=this.$rules;Object.keys(r).forEach(i,this)},this.createKeywordMapper=function(e,t,n,r){var i=Object.create(null);return Object.keys(e).forEach(function(t){var s=e[t];n&&(s=s.toLowerCase());var o=s.split(r||"|");for(var u=o.length;u--;)i[o[u]]=t}),Object.getPrototypeOf(i)&&(i.__proto__=null),this.$keywordList=Object.keys(i),e=null,n?function(e){return i[e.toLowerCase()]||t}:function(e){return i[e]||t}},this.getKeywords=function(){return this.$keywords}}).call(i.prototype),t.TextHighlightRules=i}),define("ace/mode/behaviour",["require","exports","module"],function(e,t,n){"use strict";var r=function(){this.$behaviours={}};(function(){this.add=function(e,t,n){switch(undefined){case this.$behaviours:this.$behaviours={};case this.$behaviours[e]:this.$behaviours[e]={}}this.$behaviours[e][t]=n},this.addBehaviours=function(e){for(var t in e)for(var n in e[t])this.add(t,n,e[t][n])},this.remove=function(e){this.$behaviours&&this.$behaviours[e]&&delete this.$behaviours[e]},this.inherit=function(e,t){if(typeof e=="function")var n=(new e).getBehaviours(t);else var n=e.getBehaviours(t);this.addBehaviours(n)},this.getBehaviours=function(e){if(!e)return this.$behaviours;var t={};for(var n=0;n<e.length;n++)this.$behaviours[e[n]]&&(t[e[n]]=this.$behaviours[e[n]]);return t}}).call(r.prototype),t.Behaviour=r}),define("ace/unicode",["require","exports","module"],function(e,t,n){"use strict";function r(e){var n=/\w{4}/g;for(var r in e)t.packages[r]=e[r].replace(n,"\\u$&")}t.packages={},r({L:"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05250531-055605590561-058705D0-05EA05F0-05F20621-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280904-0939093D09500958-0961097109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510D0-10FA10FC1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209421022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2D00-2D252D30-2D652D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A65FA662-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78BA78CA7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",Ll:"0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F0521052305250561-05871D00-1D2B1D62-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7C2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2D00-2D25A641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CFB00-FB06FB13-FB17FF41-FF5A",Lu:"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E0520052205240531-055610A0-10C51E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CEDA640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BFF21-FF3A",Lt:"01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC",Lm:"02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D611D781D9B-1DBF2071207F2090-20942C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A9CFAA70AADDFF70FF9EFF9F",Lo:"01BB01C0-01C3029405D0-05EA05F0-05F20621-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150904-0939093D09500958-096109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF12135-21382D30-2D652D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",M:"0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DE-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0903093C093E-094E0951-0955096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F90-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135F1712-17141732-1734175217531772177317B6-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAA1C24-1C371CD0-1CD21CD4-1CE81CED1CF21DC0-1DE61DFD-1DFF20D0-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66F-A672A67CA67DA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26",Mn:"0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0902093C0941-0948094D0951-095509620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F90-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135F1712-17141732-1734175217531772177317B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1DC0-1DE61DFD-1DFF20D0-20DC20E120E5-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66FA67CA67DA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26",Mc:"0903093E-09400949-094C094E0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1C24-1C2B1C341C351CE11CF2A823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BABE3ABE4ABE6ABE7ABE9ABEAABEC",Me:"0488048906DE20DD-20E020E2-20E4A670-A672",N:"0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nd:"0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nl:"16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF",No:"00B200B300B900BC-00BE09F4-09F90BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F920702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293251-325F3280-328932B1-32BFA830-A835",P:"0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100AB00B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F3A-0F3D0F850FD0-0FD4104A-104F10FB1361-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2E00-2E2E2E302E313001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65",Pd:"002D058A05BE140018062010-20152E172E1A301C303030A0FE31FE32FE58FE63FF0D",Ps:"0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62",Pe:"0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63",Pi:"00AB2018201B201C201F20392E022E042E092E0C2E1C2E20",Pf:"00BB2019201D203A2E032E052E0A2E0D2E1D2E21",Pc:"005F203F20402054FE33FE34FE4D-FE4FFF3F",Po:"0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F850FD0-0FD4104A-104F10FB1361-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E302E313001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65",S:"0024002B003C-003E005E0060007C007E00A2-00A900AC00AE-00B100B400B600B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F604820606-0608060B060E060F06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0CF10CF20D790E3F0F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-139917DB194019E0-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B8210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23E82400-24262440-244A249C-24E92500-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE27C0-27C427C7-27CA27CC27D0-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD",Sm:"002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C2140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27CA27CC27D0-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC",Sc:"002400A2-00A5060B09F209F309FB0AF10BF90E3F17DB20A0-20B8A838FDFCFE69FF04FFE0FFE1FFE5FFE6",Sk:"005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFF3EFF40FFE3",So:"00A600A700A900AE00B000B60482060E060F06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0CF10CF20D790F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-1399194019E0-19FF1B61-1B6A1B74-1B7C210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23E82400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD",Z:"002000A01680180E2000-200A20282029202F205F3000",Zs:"002000A01680180E2000-200A202F205F3000",Zl:"2028",Zp:"2029",C:"0000-001F007F-009F00AD03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-0605061C061D0620065F06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17B417B517DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF",Cc:"0000-001F007F-009F",Cf:"00AD0600-060306DD070F17B417B5200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB",Co:"E000-F8FF",Cs:"D800-DFFF",Cn:"03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-05FF06040605061C061D0620065F070E074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF"})}),define("ace/token_iterator",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t,n){this.$session=e,this.$row=t,this.$rowTokens=e.getTokens(t);var r=e.getTokenAt(t,n);this.$tokenIndex=r?r.index:-1};(function(){this.stepBackward=function(){this.$tokenIndex-=1;while(this.$tokenIndex<0){this.$row-=1;if(this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},this.stepForward=function(){this.$tokenIndex+=1;var e;while(this.$tokenIndex>=this.$rowTokens.length){this.$row+=1,e||(e=this.$session.getLength());if(this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(n!==undefined)return n;n=0;while(t>0)t-=1,n+=e[t].value.length;return n}}).call(r.prototype),t.TokenIterator=r}),define("ace/mode/text",["require","exports","module","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(e,t,n){"use strict";var r=e("../tokenizer").Tokenizer,i=e("./text_highlight_rules").TextHighlightRules,s=e("./behaviour").Behaviour,o=e("../unicode"),u=e("../lib/lang"),a=e("../token_iterator").TokenIterator,f=e("../range").Range,l=function(){this.HighlightRules=i,this.$behaviour=new s};(function(){this.tokenRe=new RegExp("^["+o.packages.L+o.packages.Mn+o.packages.Mc+o.packages.Nd+o.packages.Pc+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+o.packages.L+o.packages.Mn+o.packages.Mc+o.packages.Nd+o.packages.Pc+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules,this.$tokenizer=new r(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,t,n,r){function w(e){for(var t=n;t<=r;t++)e(i.getLine(t),t)}var i=t.doc,s=!0,o=!0,a=Infinity,f=t.getTabSize(),l=!1;if(!this.lineCommentStart){if(!this.blockComment)return!1;var c=this.blockComment.start,h=this.blockComment.end,p=new RegExp("^(\\s*)(?:"+u.escapeRegExp(c)+")"),d=new RegExp("(?:"+u.escapeRegExp(h)+")\\s*$"),v=function(e,t){if(g(e,t))return;if(!s||/\S/.test(e))i.insertInLine({row:t,column:e.length},h),i.insertInLine({row:t,column:a},c)},m=function(e,t){var n;(n=e.match(d))&&i.removeInLine(t,e.length-n[0].length,e.length),(n=e.match(p))&&i.removeInLine(t,n[1].length,n[0].length)},g=function(e,n){if(p.test(e))return!0;var r=t.getTokens(n);for(var i=0;i<r.length;i++)if(r[i].type==="comment")return!0}}else{if(Array.isArray(this.lineCommentStart))var p=this.lineCommentStart.map(u.escapeRegExp).join("|"),c=this.lineCommentStart[0];else var p=u.escapeRegExp(this.lineCommentStart),c=this.lineCommentStart;p=new RegExp("^(\\s*)(?:"+p+") ?"),l=t.getUseSoftTabs();var m=function(e,t){var n=e.match(p);if(!n)return;var r=n[1].length,s=n[0].length;!b(e,r,s)&&n[0][s-1]==" "&&s--,i.removeInLine(t,r,s)},y=c+" ",v=function(e,t){if(!s||/\S/.test(e))b(e,a,a)?i.insertInLine({row:t,column:a},y):i.insertInLine({row:t,column:a},c)},g=function(e,t){return p.test(e)},b=function(e,t,n){var r=0;while(t--&&e.charAt(t)==" ")r++;if(r%f!=0)return!1;var r=0;while(e.charAt(n++)==" ")r++;return f>2?r%f!=f-1:r%f==0}}var E=Infinity;w(function(e,t){var n=e.search(/\S/);n!==-1?(n<a&&(a=n),o&&!g(e,t)&&(o=!1)):E>e.length&&(E=e.length)}),a==Infinity&&(a=E,s=!1,o=!1),l&&a%f!=0&&(a=Math.floor(a/f)*f),w(o?m:v)},this.toggleBlockComment=function(e,t,n,r){var i=this.blockComment;if(!i)return;!i.start&&i[0]&&(i=i[0]);var s=new a(t,r.row,r.column),o=s.getCurrentToken(),u=t.selection,l=t.selection.toOrientedRange(),c,h;if(o&&/comment/.test(o.type)){var p,d;while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.start);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;p=new f(m,g,m,g+i.start.length);break}o=s.stepBackward()}var s=new a(t,r.row,r.column),o=s.getCurrentToken();while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.end);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;d=new f(m,g,m,g+i.end.length);break}o=s.stepForward()}d&&t.remove(d),p&&(t.remove(p),c=p.start.row,h=-i.start.length)}else h=i.start.length,c=n.start.row,t.insert(n.end,i.end),t.insert(n.start,i.start);l.start.row==c&&(l.start.column+=h),l.end.row==c&&(l.end.column+=h),t.selection.fromOrientedRange(l)},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var t in e)e[t]&&(this.$embeds.push(t),this.$modes[t]=new e[t]);var n=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(var t=0;t<n.length;t++)(function(e){var r=n[t],i=e[r];e[n[t]]=function(){return this.$delegator(r,arguments,i)}})(this)},this.$delegator=function(e,t,n){var r=t[0];typeof r!="string"&&(r=r[0]);for(var i=0;i<this.$embeds.length;i++){if(!this.$modes[this.$embeds[i]])continue;var s=r.split(this.$embeds[i]);if(!s[0]&&s[1]){t[0]=s[1];var o=this.$modes[this.$embeds[i]];return o[e].apply(o,t)}}var u=n.apply(this,t);return n?u:undefined},this.transformAction=function(e,t,n,r,i){if(this.$behaviour){var s=this.$behaviour.getBehaviours();for(var o in s)if(s[o][t]){var u=s[o][t].apply(this,arguments);if(u)return u}}},this.getKeywords=function(e){if(!this.completionKeywords){var t=this.$tokenizer.rules,n=[];for(var r in t){var i=t[r];for(var s=0,o=i.length;s<o;s++)if(typeof i[s].token=="string")/keyword|support|storage/.test(i[s].token)&&n.push(i[s].regex);else if(typeof i[s].token=="object")for(var u=0,a=i[s].token.length;u<a;u++)if(/keyword|support|storage/.test(i[s].token[u])){var r=i[s].regex.match(/\(.+?\)/g)[u];n.push(r.substr(1,r.length-2))}}this.completionKeywords=n}return e?n.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(e,t,n,r){var i=this.$keywordList||this.$createKeywordList();return i.map(function(e){return{name:e,value:e,score:0,meta:"keyword"}})},this.$id="ace/mode/text"}).call(l.prototype),t.Mode=l}),define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){var t=e.data,n=t.range;if(n.start.row==n.end.row&&n.start.row!=this.row)return;if(n.start.row>this.row)return;if(n.start.row==this.row&&n.start.column>this.column)return;var r=this.row,i=this.column,s=n.start,o=n.end;if(t.action==="insertText")if(s.row===r&&s.column<=i){if(s.column!==i||!this.$insertRight)s.row===o.row?i+=o.column-s.column:(i-=s.column,r+=o.row-s.row)}else s.row!==o.row&&s.row<r&&(r+=o.row-s.row);else t.action==="insertLines"?(s.row!==r||i!==0||!this.$insertRight)&&s.row<=r&&(r+=o.row-s.row):t.action==="removeText"?s.row===r&&s.column<i?o.column>=i?i=s.column:i=Math.max(0,i-(o.column-s.column)):s.row!==o.row&&s.row<r?(o.row===r&&(i=Math.max(0,i-o.column)+s.column),r-=o.row-s.row):o.row===r&&(r-=o.row-s.row,i=Math.max(0,i-o.column)+s.column):t.action=="removeLines"&&s.row<=r&&(o.row<=r?r-=o.row-s.row:(r=s.row,i=0));this.setPosition(r,i,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),define("ace/document",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=e("./range").Range,o=e("./anchor").Anchor,u=function(e){this.$lines=[],e.length===0?this.$lines=[""]:Array.isArray(e)?this._insertLines(0,e):this.insert({row:0,column:0},e)};(function(){r.implement(this,i),this.setValue=function(e){var t=this.getLength();this.remove(new s(0,0,t,this.getLine(t-1).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new o(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){if(e.start.row==e.end.row)return this.getLine(e.start.row).substring(e.start.column,e.end.column);var t=this.getLines(e.start.row,e.end.row);t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;return e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column)),t.join(this.getNewLineCharacter())},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):e.row<0&&(e.row=0),e},this.insert=function(e,t){if(!t||t.length===0)return e;e=this.$clipPosition(e),this.getLength()<=1&&this.$detectNewLine(t);var n=this.$split(t),r=n.splice(0,1)[0],i=n.length==0?null:n.splice(n.length-1,1)[0];return e=this.insertInLine(e,r),i!==null&&(e=this.insertNewLine(e),e=this._insertLines(e.row,n),e=this.insertInLine(e,i||"")),e},this.insertLines=function(e,t){return e>=this.getLength()?this.insert({row:e,column:0},"\n"+t.join("\n")):this._insertLines(Math.max(e,0),t)},this._insertLines=function(e,t){if(t.length==0)return{row:e,column:0};while(t.length>2e4){var n=this._insertLines(e,t.slice(0,2e4));t=t.slice(2e4),e=n.row}var r=[e,0];r.push.apply(r,t),this.$lines.splice.apply(this.$lines,r);var i=new s(e,0,e+t.length,0),o={action:"insertLines",range:i,lines:t};return this._signal("change",{data:o}),i.end},this.insertNewLine=function(e){e=this.$clipPosition(e);var t=this.$lines[e.row]||"";this.$lines[e.row]=t.substring(0,e.column),this.$lines.splice(e.row+1,0,t.substring(e.column,t.length));var n={row:e.row+1,column:0},r={action:"insertText",range:s.fromPoints(e,n),text:this.getNewLineCharacter()};return this._signal("change",{data:r}),n},this.insertInLine=function(e,t){if(t.length==0)return e;var n=this.$lines[e.row]||"";this.$lines[e.row]=n.substring(0,e.column)+t+n.substring(e.column);var r={row:e.row,column:e.column+t.length},i={action:"insertText",range:s.fromPoints(e,r),text:t};return this._signal("change",{data:i}),r},this.remove=function(e){e instanceof s||(e=s.fromPoints(e.start,e.end)),e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end);if(e.isEmpty())return e.start;var t=e.start.row,n=e.end.row;if(e.isMultiLine()){var r=e.start.column==0?t:t+1,i=n-1;e.end.column>0&&this.removeInLine(n,0,e.end.column),i>=r&&this._removeLines(r,i),r!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,n){if(t==n)return;var r=new s(e,t,e,n),i=this.getLine(e),o=i.substring(t,n),u=i.substring(0,t)+i.substring(n,i.length);this.$lines.splice(e,1,u);var a={action:"removeText",range:r,text:o};return this._signal("change",{data:a}),r.start},this.removeLines=function(e,t){return e<0||t>=this.getLength()?this.remove(new s(e,0,t+1,0)):this._removeLines(e,t)},this._removeLines=function(e,t){var n=new s(e,0,t+1,0),r=this.$lines.splice(e,t-e+1),i={action:"removeLines",range:n,nl:this.getNewLineCharacter(),lines:r};return this._signal("change",{data:i}),r},this.removeNewLine=function(e){var t=this.getLine(e),n=this.getLine(e+1),r=new s(e,t.length,e+1,0),i=t+n;this.$lines.splice(e,2,i);var o={action:"removeText",range:r,text:this.getNewLineCharacter()};this._signal("change",{data:o})},this.replace=function(e,t){e instanceof s||(e=s.fromPoints(e.start,e.end));if(t.length==0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);if(t)var n=this.insert(e.start,t);else n=e.start;return n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this.insertLines(r.start.row,n.lines):n.action=="insertText"?this.insert(r.start,n.text):n.action=="removeLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="removeText"&&this.remove(r)}},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="insertText"?this.remove(r):n.action=="removeLines"?this._insertLines(r.start.row,n.lines):n.action=="removeText"&&this.insert(r.start,n.text)}},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i<s;i++){e-=n[i].length+r;if(e<0)return{row:i,column:e+n[i].length+r}}return{row:s-1,column:n[s-1].length}},this.positionToIndex=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,s=Math.min(e.row,n.length);for(var o=t||0;o<s;++o)i+=n[o].length+r;return i+e.column}}).call(u.prototype),t.Document=u}),define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=function(e,t){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=e;var n=this;this.$worker=function(){if(!n.running)return;var e=new Date,t=n.currentLine,r=-1,i=n.doc;while(n.lines[t])t++;var s=t,o=i.getLength(),u=0;n.running=!1;while(t<o){n.$tokenizeRow(t),r=t;do t++;while(n.lines[t]);u++;if(u%5===0&&new Date-e>20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,s<=r&&n.fireUpdateEvent(s,r)}};(function(){r.implement(this,i),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal("update",{data:n})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(e){var t=e.range,n=t.start.row,r=t.end.row-n;if(r===0)this.lines[n]=null;else if(e.action=="removeText"||e.action=="removeLines")this.lines.splice(n,r+1,null),this.states.splice(n,r+1,null);else{var i=Array(r+1);i.unshift(n,1),this.lines.splice.apply(this.lines,i),this.states.splice.apply(this.states,i)}this.currentLine=Math.min(n,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1],r=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+""!=r.state+""?(this.states[e]=r.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=r.tokens}}).call(s.prototype),t.BackgroundTokenizer=s}),define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(e,t,n){this.setRegexp(e),this.clazz=t,this.type=n||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){if(this.regExp+""==e+"")return;this.regExp=e,this.cache=[]},this.update=function(e,t,n,i){if(!this.regExp)return;var o=i.firstRow,u=i.lastRow;for(var a=o;a<=u;a++){var f=this.cache[a];f==null&&(f=r.getMatchOffsets(n.getLine(a),this.regExp),f.length>this.MAX_RANGES&&(f=f.slice(0,this.MAX_RANGES)),f=f.map(function(e){return new s(a,e.offset,a,e.offset+e.length)}),this.cache[a]=f.length?f:"");for(var l=f.length;l--;)t.drawSingleLineMarker(e,f[l].toScreenRange(n),this.clazz,i)}}}).call(o.prototype),t.SearchHighlight=o}),define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new r(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var r=e("../range").Range;(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},this.addFold=function(e){if(e.sameRow){if(e.start.row<this.startRow||e.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,n){var r=0,i=this.folds,s,o,u,a=!0;t==null&&(t=this.end.row,n=this.end.column);for(var f=0;f<i.length;f++){s=i[f],o=s.range.compareStart(t,n);if(o==-1){e(null,t,n,r,a);return}u=e(null,s.start.row,s.start.column,r,a),u=!u&&e(s.placeholder,s.start.row,s.start.column,r);if(u||o===0)return;a=!s.sameRow,r=s.end.column}e(null,t,n,r,a)},this.getNextFoldTo=function(e,t){var n,r;for(var i=0;i<this.folds.length;i++){n=this.folds[i],r=n.range.compareEnd(e,t);if(r==-1)return{fold:n,kind:"after"};if(r===0)return{fold:n,kind:"inside"}}return null},this.addRemoveChars=function(e,t,n){var r=this.getNextFoldTo(e,t),i,s;if(r){i=r.fold;if(r.kind=="inside"&&i.start.column!=t&&i.start.row!=e)window.console&&window.console.log(e,t,i);else if(i.start.row==e){s=this.folds;var o=s.indexOf(i);o===0&&(this.start.column+=n);for(o;o<s.length;o++){i=s[o],i.start.column+=n;if(!i.sameRow)return;i.end.column+=n}this.end.column+=n}}},this.split=function(e,t){var n=this.getNextFoldTo(e,t);if(!n||n.kind=="inside")return null;var r=n.fold,s=this.folds,o=this.foldData,u=s.indexOf(r),a=s[u-1];this.end.row=a.end.row,this.end.column=a.end.column,s=s.splice(u,s.length-u);var f=new i(o,s);return o.splice(o.indexOf(this)+1,0,f),f},this.merge=function(e){var t=e.folds;for(var n=0;n<t.length;n++)this.addFold(t[n]);var r=this.foldData;r.splice(r.indexOf(e),1)},this.toString=function(){var e=[this.range.toString()+": ["];return this.folds.forEach(function(t){e.push(" "+t.toString())}),e.push("]"),e.join("\n")},this.idxToPosition=function(e){var t=0;for(var n=0;n<this.folds.length;n++){var r=this.folds[n];e-=r.start.column-t;if(e<0)return{row:r.start.row,column:r.start.column+e};e-=r.placeholder.length;if(e<0)return r.start;t=r.end.column}return{row:this.end.row,column:this.end.column+e}}}).call(i.prototype),t.FoldLine=i}),define("ace/range_list",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("./range").Range,i=r.comparePoints,s=function(){this.ranges=[]};(function(){this.comparePoints=i,this.pointIndex=function(e,t,n){var r=this.ranges;for(var s=n||0;s<r.length;s++){var o=r[s],u=i(e,o.end);if(u>0)continue;var a=i(e,o.start);return u===0?t&&a!==0?-s-2:s:a>0||a===0&&!t?s:-s-1}return-s-1},this.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);n<0&&(n=-n-1);var r=this.pointIndex(e.end,t,n);return r<0?r=-r-1:r++,this.ranges.splice(n,r-n,e)},this.addList=function(e){var t=[];for(var n=e.length;n--;)t.push.call(t,this.add(e[n]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},this.merge=function(){var e=[],t=this.ranges;t=t.sort(function(e,t){return i(e.start,t.start)});var n=t[0],r;for(var s=1;s<t.length;s++){r=n,n=t[s];var o=i(r.end,n.start);if(o<0)continue;if(o==0&&!r.isEmpty()&&!n.isEmpty())continue;i(r.end,n.end)<0&&(r.end.row=n.end.row,r.end.column=n.end.column),t.splice(s,1),e.push(n),n=r,s--}return this.ranges=t,e},this.contains=function(e,t){return this.pointIndex({row:e,column:t})>=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},this.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.row<e)return[];var r=this.pointIndex({row:e,column:0});r<0&&(r=-r-1);var i=this.pointIndex({row:t,column:0},r);i<0&&(i=-i-1);var s=[];for(var o=r;o<i;o++)s.push(n[o]);return s},this.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},this.attach=function(e){this.session&&this.detach(),this.session=e,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},this.detach=function(){if(!this.session)return;this.session.removeListener("change",this.onChange),this.session=null},this.$onChange=function(e){var t=e.data.range;if(e.data.action[0]=="i")var n=t.start,r=t.end;else var r=t.start,n=t.end;var i=n.row,s=r.row,o=s-i,u=-n.column+r.column,a=this.ranges;for(var f=0,l=a.length;f<l;f++){var c=a[f];if(c.end.row<i)continue;if(c.start.row>i)break;c.start.row==i&&c.start.column>=n.column&&(c.start.column!=n.column||!this.$insertRight)&&(c.start.column+=u,c.start.row+=o);if(c.end.row==i&&c.end.column>=n.column){if(c.end.column==n.column&&this.$insertRight)continue;c.end.column==n.column&&u>0&&f<l-1&&c.end.column>c.start.column&&c.end.column==a[f+1].start.column&&(c.end.column-=u),c.end.column+=u,c.end.row+=o}}if(o!=0&&f<l)for(;f<l;f++){var c=a[f];c.start.row+=o,c.end.row+=o}}}).call(s.prototype),t.RangeList=s}),define("ace/edit_session/fold",["require","exports","module","ace/range","ace/range_list","ace/lib/oop"],function(e,t,n){"use strict";function u(e,t){e.row-=t.row,e.row==0&&(e.column-=t.column)}function a(e,t){u(e.start,t),u(e.end,t)}function f(e,t){e.row==0&&(e.column+=t.column),e.row+=t.row}function l(e,t){f(e.start,t),f(e.end,t)}var r=e("../range").Range,i=e("../range_list").RangeList,s=e("../lib/oop"),o=t.Fold=function(e,t){this.foldLine=null,this.placeholder=t,this.range=e,this.start=e.start,this.end=e.end,this.sameRow=e.start.row==e.end.row,this.subFolds=this.ranges=[]};s.inherits(o,i),function(){this.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},this.setFoldLine=function(e){this.foldLine=e,this.subFolds.forEach(function(t){t.setFoldLine(e)})},this.clone=function(){var e=this.range.clone(),t=new o(e,this.placeholder);return this.subFolds.forEach(function(e){t.subFolds.push(e.clone())}),t.collapseChildren=this.collapseChildren,t},this.addSubFold=function(e){if(this.range.isEqual(e))return;if(!this.range.containsRange(e))throw new Error("A fold can't intersect already existing fold"+e.range+this.range);a(e,this.start);var t=e.start.row,n=e.start.column;for(var r=0,i=-1;r<this.subFolds.length;r++){i=this.subFolds[r].range.compare(t,n);if(i!=1)break}var s=this.subFolds[r];if(i==0)return s.addSubFold(e);var t=e.range.end.row,n=e.range.end.column;for(var o=r,i=-1;o<this.subFolds.length;o++){i=this.subFolds[o].range.compare(t,n);if(i!=1)break}var u=this.subFolds[o];if(i==0)throw new Error("A fold can't intersect already existing fold"+e.range+this.range);var f=this.subFolds.splice(r,o-r,e);return e.setFoldLine(this.foldLine),e},this.restoreRange=function(e){return l(e,this.start)}}.call(o.prototype)}),define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator"],function(e,t,n){"use strict";function u(){this.getFoldAt=function(e,t,n){var r=this.getFoldLine(e);if(!r)return null;var i=r.folds;for(var s=0;s<i.length;s++){var o=i[s];if(o.range.contains(e,t)){if(n==1&&o.range.isEnd(e,t))continue;if(n==-1&&o.range.isStart(e,t))continue;return o}}},this.getFoldsInRange=function(e){var t=e.start,n=e.end,r=this.$foldData,i=[];t.column+=1,n.column-=1;for(var s=0;s<r.length;s++){var o=r[s].range.compareRange(e);if(o==2)continue;if(o==-2)break;var u=r[s].folds;for(var a=0;a<u.length;a++){var f=u[a];o=f.range.compareRange(e);if(o==-2)break;if(o==2)continue;if(o==42)break;i.push(f)}}return t.column-=1,n.column+=1,i},this.getFoldsInRangeList=function(e){if(Array.isArray(e)){var t=[];e.forEach(function(e){t=t.concat(this.getFoldsInRange(e))},this)}else var t=this.getFoldsInRange(e);return t},this.getAllFolds=function(){var e=[],t=this.$foldData;for(var n=0;n<t.length;n++)for(var r=0;r<t[n].folds.length;r++)e.push(t[n].folds[r]);return e},this.getFoldStringAt=function(e,t,n,r){r=r||this.getFoldLine(e);if(!r)return null;var i={end:{column:0}},s,o;for(var u=0;u<r.folds.length;u++){o=r.folds[u];var a=o.range.compareEnd(e,t);if(a==-1){s=this.getLine(o.start.row).substring(i.end.column,o.start.column);break}if(a===0)return null;i=o}return s||(s=this.getLine(o.start.row).substring(i.end.column)),n==-1?s.substring(0,t-i.end.column):n==1?s.substring(t-i.end.column):s},this.getFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r<n.length;r++){var i=n[r];if(i.start.row<=e&&i.end.row>=e)return i;if(i.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r<n.length;r++){var i=n[r];if(i.end.row>=e)return i}return null},this.getFoldedRowCount=function(e,t){var n=this.$foldData,r=t-e+1;for(var i=0;i<n.length;i++){var s=n[i],o=s.end.row,u=s.start.row;if(o>=t){u<t&&(u>=e?r-=t-u:r=0);break}o>=e&&(u>=e?r-=o-u:r-=o-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var n=this.$foldData,r=!1,o;e instanceof s?o=e:(o=new s(t,e),o.collapseChildren=t.collapseChildren),this.$clipRangeToDocument(o.range);var u=o.start.row,a=o.start.column,f=o.end.row,l=o.end.column;if(u<f||u==f&&a<=l-2){var c=this.getFoldAt(u,a,1),h=this.getFoldAt(f,l,-1);if(c&&h==c)return c.addSubFold(o);c&&!c.range.isStart(u,a)&&this.removeFold(c),h&&!h.range.isEnd(f,l)&&this.removeFold(h);var p=this.getFoldsInRange(o.range);p.length>0&&(this.removeFolds(p),p.forEach(function(e){o.addSubFold(e)}));for(var d=0;d<n.length;d++){var v=n[d];if(f==v.start.row){v.addFold(o),r=!0;break}if(u==v.end.row){v.addFold(o),r=!0;if(!o.sameRow){var m=n[d+1];if(m&&m.start.row==f){v.merge(m);break}}break}if(f<=v.start.row)break}return r||(v=this.$addFoldLine(new i(this.$foldData,o))),this.$useWrapMode?this.$updateWrapData(v.start.row,v.start.row):this.$updateRowLengthCache(v.start.row,v.start.row),this.$modified=!0,this._emit("changeFold",{data:o,action:"add"}),o}throw new Error("The range has to be at least 2 characters width")},this.addFolds=function(e){e.forEach(function(e){this.addFold(e)},this)},this.removeFold=function(e){var t=e.foldLine,n=t.start.row,r=t.end.row,i=this.$foldData,s=t.folds;if(s.length==1)i.splice(i.indexOf(t),1);else if(t.range.isEnd(e.end.row,e.end.column))s.pop(),t.end.row=s[s.length-1].end.row,t.end.column=s[s.length-1].end.column;else if(t.range.isStart(e.start.row,e.start.column))s.shift(),t.start.row=s[0].start.row,t.start.column=s[0].start.column;else if(e.sameRow)s.splice(s.indexOf(e),1);else{var o=t.split(e.start.row,e.start.column);s=o.folds,s.shift(),o.start.row=s[0].start.row,o.start.column=s[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(n,r):this.$updateRowLengthCache(n,r)),this.$modified=!0,this._emit("changeFold",{data:e,action:"remove"})},this.removeFolds=function(e){var t=[];for(var n=0;n<e.length;n++)t.push(e[n]);t.forEach(function(e){this.removeFold(e)},this),this.$modified=!0},this.expandFold=function(e){this.removeFold(e),e.subFolds.forEach(function(t){e.restoreRange(t),this.addFold(t)},this),e.collapseChildren>0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var n,i;e==null?(n=new r(0,0,this.getLength(),0),t=!0):typeof e=="number"?n=new r(e,0,e,this.getLine(e).length):"row"in e?n=r.fromPoints(e,e):n=e,i=this.getFoldsInRangeList(n);if(t)this.removeFolds(i);else{var s=i;while(s.length)this.expandFolds(s),s=this.getFoldsInRangeList(n)}if(i.length)return i},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,r,i){r==null&&(r=e.start.row),i==null&&(i=0),t==null&&(t=e.end.row),n==null&&(n=this.getLine(t).length);var s=this.doc,o="";return e.walk(function(e,t,n,u){if(t<r)return;if(t==r){if(n<i)return;u=Math.max(i,u)}e!=null?o+=e:o+=s.getLine(t).substring(u,n)},t,n),o},this.getDisplayLine=function(e,t,n,r){var i=this.getFoldLine(e);if(!i){var s;return s=this.doc.getLine(e),s.substring(r||0,t||s.length)}return this.getFoldDisplayLine(i,e,t,n,r)},this.$cloneFoldData=function(){var e=[];return e=this.$foldData.map(function(t){var n=t.folds.map(function(e){return e.clone()});return new i(e,n)}),e},this.toggleFold=function(e){var t=this.selection,n=t.getRange(),r,i;if(n.isEmpty()){var s=n.start;r=this.getFoldAt(s.row,s.column);if(r){this.expandFold(r);return}(i=this.findMatchingBracket(s))?n.comparePoint(i)==1?n.end=i:(n.start=i,n.start.column++,n.end.column--):(i=this.findMatchingBracket({row:s.row,column:s.column+1}))?(n.comparePoint(i)==1?n.end=i:n.start=i,n.start.column++):n=this.getCommentFoldRange(s.row,s.column)||n}else{var o=this.getFoldsInRange(n);if(e&&o.length){this.expandFolds(o);return}o.length==1&&(r=o[0])}r||(r=this.getFoldAt(n.start.row,n.start.column));if(r&&r.range.toString()==n.toString()){this.expandFold(r);return}var u="...";if(!n.isMultiLine()){u=this.getTextRange(n);if(u.length<4)return;u=u.trim().substring(0,2)+".."}this.addFold(u,n)},this.getCommentFoldRange=function(e,t,n){var i=new o(this,e,t),s=i.getCurrentToken();if(s&&/^comment|string/.test(s.type)){var u=new r,a=new RegExp(s.type.replace(/\..*/,"\\."));if(n!=1){do s=i.stepBackward();while(s&&a.test(s.type));i.stepForward()}u.start.row=i.getCurrentTokenRow(),u.start.column=i.getCurrentTokenColumn()+2,i=new o(this,e,t);if(n!=-1){do s=i.stepForward();while(s&&a.test(s.type));s=i.stepBackward()}else s=i.getCurrentToken();return u.end.row=i.getCurrentTokenRow(),u.end.column=i.getCurrentTokenColumn()+s.value.length-2,u}},this.foldAll=function(e,t,n){n==undefined&&(n=1e5);var r=this.foldWidgets;if(!r)return;t=t||this.getLength(),e=e||0;for(var i=e;i<t;i++){r[i]==null&&(r[i]=this.getFoldWidget(i));if(r[i]!="start")continue;var s=this.getFoldWidgetRange(i);if(s&&s.isMultiLine()&&s.end.row<=t&&s.start.row>=e){i=s.end.row;try{var o=this.addFold("...",s);o&&(o.collapseChildren=n)}catch(u){}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle==e)return;this.$foldStyle=e,e=="manual"&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)},this.$setFolding=function(e){if(this.$foldMode==e)return;this.$foldMode=e,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._emit("changeAnnotation");if(!e||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)},this.getParentFoldRangeData=function(e,t){var n=this.foldWidgets;if(!n||t&&n[e])return{};var r=e-1,i;while(r>=0){var s=n[r];s==null&&(s=n[r]=this.getFoldWidget(r));if(s=="start"){var o=this.getFoldWidgetRange(r);i||(i=o);if(o&&o.end.row>=e)break}r--}return{range:r!==-1&&o,firstRange:i}},this.onFoldWidgetClick=function(e,t){t=t.domEvent;var n={children:t.shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey},r=this.$toggleFoldWidget(e,n);if(!r){var i=t.target||t.srcElement;i&&/ace_fold-widget/.test(i.className)&&(i.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(!this.getFoldWidget)return;var n=this.getFoldWidget(e),r=this.getLine(e),i=n==="end"?-1:1,s=this.getFoldAt(e,i===-1?0:r.length,i);if(s){t.children||t.all?this.removeFold(s):this.expandFold(s);return}var o=this.getFoldWidgetRange(e,!0);if(o&&!o.isMultiLine()){s=this.getFoldAt(o.start.row,o.start.column,1);if(s&&o.isEqual(s.range)){this.removeFold(s);return}}if(t.siblings){var u=this.getParentFoldRangeData(e);if(u.range)var a=u.range.start.row+1,f=u.range.end.row;this.foldAll(a,f,t.all?1e4:0)}else t.children?(f=o?o.end.row:this.getLength(),this.foldAll(e+1,f,t.all?1e4:0)):o&&(t.all&&(o.collapseChildren=1e4),this.addFold("...",o));return o},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(n)return;var r=this.getParentFoldRangeData(t,!0);n=r.range||r.firstRange;if(n){t=n.start.row;var i=this.getFoldAt(t,this.getLine(t).length,1);i?this.removeFold(i):this.addFold("...",n)}},this.updateFoldWidgets=function(e){var t=e.data,n=t.range,r=n.start.row,i=n.end.row-r;if(i===0)this.foldWidgets[r]=null;else if(t.action=="removeText"||t.action=="removeLines")this.foldWidgets.splice(r,i+1,null);else{var s=Array(i+1);s.unshift(r,1),this.foldWidgets.splice.apply(this.foldWidgets,s)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}var r=e("../range").Range,i=e("./fold_line").FoldLine,s=e("./fold").Fold,o=e("../token_iterator").TokenIterator;t.Folding=u}),define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,n){"use strict";function s(){this.findMatchingBracket=function(e,t){if(e.column==0)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(n=="")return null;var r=n.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e):null},this.getBracketRange=function(e){var t=this.getLine(e.row),n=!0,r,s=t.charAt(e.column-1),o=s&&s.match(/([\(\[\{])|([\)\]\}])/);o||(s=t.charAt(e.column),e={row:e.row,column:e.column+1},o=s&&s.match(/([\(\[\{])|([\)\]\}])/),n=!1);if(!o)return null;if(o[1]){var u=this.$findClosingBracket(o[1],e);if(!u)return null;r=i.fromPoints(e,u),n||(r.end.column++,r.start.column--),r.cursor=r.end}else{var u=this.$findOpeningBracket(o[2],e);if(!u)return null;r=i.fromPoints(u,e),n||(r.start.column++,r.end.column--),r.cursor=r.start}return r},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{"},this.$findOpeningBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end|start|begin)\b/,"")+")+"));var a=t.column-o.getCurrentTokenColumn()-2,f=u.value;for(;;){while(a>=0){var l=f.charAt(a);if(l==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else l==e&&(s+=1);a-=1}do u=o.stepBackward();while(u&&!n.test(u.type));if(u==null)break;f=u.value,a=f.length-1}return null},this.$findClosingBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:end|start|begin)\b/,"")+")+"));var a=t.column-o.getCurrentTokenColumn();for(;;){var f=u.value,l=f.length;while(a<l){var c=f.charAt(a);if(c==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else c==e&&(s+=1);a+=1}do u=o.stepForward();while(u&&!n.test(u.type));if(u==null)break;a=0}return null}}var r=e("../token_iterator").TokenIterator,i=e("../range").Range;t.BracketMatch=s}),define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/document","ace/background_tokenizer","ace/search_highlight","ace/edit_session/folding","ace/edit_session/bracket_match"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/lang"),s=e("./config"),o=e("./lib/event_emitter").EventEmitter,u=e("./selection").Selection,a=e("./mode/text").Mode,f=e("./range").Range,l=e("./document").Document,c=e("./background_tokenizer").BackgroundTokenizer,h=e("./search_highlight").SearchHighlight,p=function(e,t){this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$foldData=[],this.$foldData.toString=function(){return this.join("\n")},this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this);if(typeof e!="object"||!e.getLine)e=new l(e);this.setDocument(e),this.selection=new u(this),s.resetOptions(this),this.setMode(t),s._signal("session",this)};(function(){function m(e){return e<4352?!1:e>=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510}r.implement(this,o),this.setDocument=function(e){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=e,e.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e){this.$docRowCache=[],this.$screenRowCache=[];return}var t=this.$docRowCache.length,n=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>n&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},this.$getRowCacheIndex=function(e,t){var n=0,r=e.length-1;while(n<=r){var i=n+r>>1,s=e[i];if(t>s)n=i+1;else{if(!(t<s))return i;r=i-1}}return n-1},this.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.bgTokenizer&&this.bgTokenizer.start(0)},this.onChangeFold=function(e){var t=e.data;this.$resetRowCache(t.start.row)},this.onChange=function(e){var t=e.data;this.$modified=!0,this.$resetRowCache(t.range.start.row);var n=this.$updateInternalDataOnChange(e);!this.$fromUndo&&this.$undoManager&&!t.ignore&&(this.$deltasDoc.push(t),n&&n.length!=0&&this.$deltasFold.push({action:"removeFolds",folds:n}),this.$informUndoManager.schedule()),this.bgTokenizer&&this.bgTokenizer.$updateOnChange(t),this._signal("change",e)},this.setValue=function(e){this.doc.setValue(e),this.selection.moveTo(0,0),this.$resetRowCache(0),this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},this.getValue=this.toString=function(){return this.doc.getValue()},this.getSelection=function(){return this.selection},this.getState=function(e){return this.bgTokenizer.getState(e)},this.getTokens=function(e){return this.bgTokenizer.getTokens(e)},this.getTokenAt=function(e,t){var n=this.bgTokenizer.getTokens(e),r,i=0;if(t==null)s=n.length-1,i=this.getLine(e).length;else for(var s=0;s<n.length;s++){i+=n[s].value.length;if(i>=t)break}return r=n[s],r?(r.index=s,r.start=i-r.value.length,r):null},this.setUndoManager=function(e){this.$undoManager=e,this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.$informUndoManager&&this.$informUndoManager.cancel();if(e){var t=this;this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.$deltasFold.length&&(t.$deltas.push({group:"fold",deltas:t.$deltasFold}),t.$deltasFold=[]),t.$deltasDoc.length&&(t.$deltas.push({group:"doc",deltas:t.$deltasDoc}),t.$deltasDoc=[]),t.$deltas.length>0&&e.execute({action:"aceupdate",args:[t.$deltas,t],merge:t.mergeUndoDeltas}),t.mergeUndoDeltas=!1,t.$deltas=[]},this.$informUndoManager=i.delayedCall(this.$syncInformUndoManager)}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?i.stringRepeat(" ",this.getTabSize()):" "},this.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption("tabSize",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize===0},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption("overwrite",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t<e.length;t++)this.$breakpoints[e[t]]="ace_breakpoint";this._signal("changeBreakpoint",{})},this.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},this.setBreakpoint=function(e,t){t===undefined&&(t="ace_breakpoint"),t?this.$breakpoints[e]=t:delete this.$breakpoints[e],this._signal("changeBreakpoint",{})},this.clearBreakpoint=function(e){delete this.$breakpoints[e],this._signal("changeBreakpoint",{})},this.addMarker=function(e,t,n,r){var i=this.$markerId++,s={range:e,type:n||"line",renderer:typeof n=="function"?n:null,clazz:t,inFront:!!r,id:i};return r?(this.$frontMarkers[i]=s,this._signal("changeFrontMarker")):(this.$backMarkers[i]=s,this._signal("changeBackMarker")),i},this.addDynamicMarker=function(e,t){if(!e.update)return;var n=this.$markerId++;return e.id=n,e.inFront=!!t,t?(this.$frontMarkers[n]=e,this._signal("changeFrontMarker")):(this.$backMarkers[n]=e,this._signal("changeBackMarker")),e},this.removeMarker=function(e){var t=this.$frontMarkers[e]||this.$backMarkers[e];if(!t)return;var n=t.inFront?this.$frontMarkers:this.$backMarkers;t&&(delete n[e],this._signal(t.inFront?"changeFrontMarker":"changeBackMarker"))},this.getMarkers=function(e){return e?this.$frontMarkers:this.$backMarkers},this.highlight=function(e){if(!this.$searchHighlight){var t=new h(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(t)}this.$searchHighlight.setRegexp(e)},this.highlightLines=function(e,t,n,r){typeof t!="number"&&(n=t,t=e),n||(n="ace_step");var i=new f(e,0,t,Infinity);return i.id=this.addMarker(i,n,"fullLine",r),i},this.setAnnotations=function(e){this.$annotations=e,this._signal("changeAnnotation",{})},this.getAnnotations=function(){return this.$annotations||[]},this.clearAnnotations=function(){this.setAnnotations([])},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r?\n)/m);t?this.$autoNewLine=t[1]:this.$autoNewLine="\n"},this.getWordRange=function(e,t){var n=this.getLine(e),r=!1;t>0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe));if(r)var i=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))var i=/\s/;else var i=this.nonTokenRe;var s=t;if(s>0){do s--;while(s>=0&&n.charAt(s).match(i));s++}var o=t;while(o<n.length&&n.charAt(o).match(i))o++;return new f(e,s,e,o)},this.getAWordRange=function(e,t){var n=this.getWordRange(e,t),r=this.getLine(n.end.row);while(r.charAt(n.end.column).match(/[ \t]/))n.end.column+=1;return n},this.setNewLineMode=function(e){this.doc.setNewLineMode(e)},this.getNewLineMode=function(){return this.doc.getNewLineMode()},this.setUseWorker=function(e){this.setOption("useWorker",e)},this.getUseWorker=function(){return this.$useWorker},this.onReloadTokenizer=function(e){var t=e.data;this.bgTokenizer.start(t.first),this._signal("tokenizerUpdate",e)},this.$modes={},this.$mode=null,this.$modeId=null,this.setMode=function(e,t){if(e&&typeof e=="object"){if(e.getTokenizer)return this.$onChangeMode(e);var n=e,r=n.path}else r=e||"ace/mode/text";this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new a);if(this.$modes[r]&&!n){this.$onChangeMode(this.$modes[r]),t&&t();return}this.$modeId=r,s.loadModule(["mode",r],function(e){if(this.$modeId!==r)return t&&t();this.$modes[r]&&!n?this.$onChangeMode(this.$modes[r]):e&&e.Mode&&(e=new e.Mode(n),n||(this.$modes[r]=e,e.$id=r),this.$onChangeMode(e)),t&&t()}.bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)},this.$onChangeMode=function(e,t){t||(this.$modeId=e.$id);if(this.$mode===e)return;this.$mode=e,this.$stopWorker(),this.$useWorker&&this.$startWorker();var n=e.getTokenizer();if(n.addEventListener!==undefined){var r=this.onReloadTokenizer.bind(this);n.addEventListener("update",r)}if(!this.bgTokenizer){this.bgTokenizer=new c(n);var i=this;this.bgTokenizer.addEventListener("update",function(e){i._signal("tokenizerUpdate",e)})}else this.bgTokenizer.setTokenizer(n);this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=e.tokenRe,this.nonTokenRe=e.nonTokenRe,t||(e.attachToSession&&e.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(e.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode"))},this.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},this.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(e){s.warn("Could not load worker",e),this.$worker=null}},this.getMode=function(){return this.$mode},this.$scrollTop=0,this.setScrollTop=function(e){if(this.$scrollTop===e||isNaN(e))return;this.$scrollTop=e,this._signal("changeScrollTop",e)},this.getScrollTop=function(){return this.$scrollTop},this.$scrollLeft=0,this.setScrollLeft=function(e){if(this.$scrollLeft===e||isNaN(e))return;this.$scrollLeft=e,this._signal("changeScrollLeft",e)},this.getScrollLeft=function(){return this.$scrollLeft},this.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},this.getLineWidgetMaxWidth=function(){if(this.lineWidgetsWidth!=null)return this.lineWidgetsWidth;var e=0;return this.lineWidgets.forEach(function(t){t&&t.screenWidth>e&&(e=t.screenWidth)}),this.lineWidgetWidth=e},this.$computeWidth=function(e){if(this.$modified||e){this.$modified=!1;if(this.$useWrapMode)return this.screenWidth=this.$wrapLimit;var t=this.doc.getAllLines(),n=this.$rowLengthCache,r=0,i=0,s=this.$foldData[i],o=s?s.start.row:Infinity,u=t.length;for(var a=0;a<u;a++){if(a>o){a=s.end.row+1;if(a>=u)break;s=this.$foldData[i++],o=s?s.start.row:Infinity}n[a]==null&&(n[a]=this.$getStringScreenWidth(t[a])[0]),n[a]>r&&(r=n[a])}this.screenWidth=r}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.undoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;var n=null;for(var r=e.length-1;r!=-1;r--){var i=e[r];i.group=="doc"?(this.doc.revertDeltas(i.deltas),n=this.$getUndoSelection(i.deltas,!0,n)):i.deltas.forEach(function(e){this.addFolds(e.folds)},this)}return this.$fromUndo=!1,n&&this.$undoSelect&&!t&&this.selection.setSelectionRange(n),n},this.redoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;var n=null;for(var r=0;r<e.length;r++){var i=e[r];i.group=="doc"&&(this.doc.applyDeltas(i.deltas),n=this.$getUndoSelection(i.deltas,!1,n))}return this.$fromUndo=!1,n&&this.$undoSelect&&!t&&this.selection.setSelectionRange(n),n},this.setUndoSelect=function(e){this.$undoSelect=e},this.$getUndoSelection=function(e,t,n){function r(e){var n=e.action==="insertText"||e.action==="insertLines";return t?!n:n}var i=e[0],s,o,u=!1;r(i)?(s=f.fromPoints(i.range.start,i.range.end),u=!0):(s=f.fromPoints(i.range.start,i.range.start),u=!1);for(var a=1;a<e.length;a++)i=e[a],r(i)?(o=i.range.start,s.compare(o.row,o.column)==-1&&s.setStart(i.range.start),o=i.range.end,s.compare(o.row,o.column)==1&&s.setEnd(i.range.end),u=!0):(o=i.range.start,s.compare(o.row,o.column)==-1&&(s=f.fromPoints(i.range.start,i.range.start)),u=!1);if(n!=null){f.comparePoints(n.start,s.start)===0&&(n.start.column+=s.end.column-s.start.column,n.end.column+=s.end.column-s.start.column);var l=n.compareRange(s);l==1?s.setStart(n.start):l==-1&&s.setEnd(n.end)}return s},this.replace=function(e,t){return this.doc.replace(e,t)},this.moveText=function(e,t,n){var r=this.getTextRange(e),i=this.getFoldsInRange(e),s=f.fromPoints(t,t);if(!n){this.remove(e);var o=e.start.row-e.end.row,u=o?-e.end.column:e.start.column-e.end.column;u&&(s.start.row==e.end.row&&s.start.column>e.end.column&&(s.start.column+=u),s.end.row==e.end.row&&s.end.column>e.end.column&&(s.end.column+=u)),o&&s.start.row>=e.end.row&&(s.start.row+=o,s.end.row+=o)}s.end=this.insert(s.start,r);if(i.length){var a=e.start,l=s.start,o=l.row-a.row,u=l.column-a.column;this.addFolds(i.map(function(e){return e=e.clone(),e.start.row==a.row&&(e.start.column+=u),e.end.row==a.row&&(e.end.column+=u),e.start.row+=o,e.end.row+=o,e}))}return s},this.indentRows=function(e,t,n){n=n.replace(/\t/g,this.getTabString());for(var r=e;r<=t;r++)this.insert({row:r,column:0},n)},this.outdentRows=function(e){var t=e.collapseRows(),n=new f(0,0,0,0),r=this.getTabSize();for(var i=t.start.row;i<=t.end.row;++i){var s=this.getLine(i);n.start.row=i,n.end.row=i;for(var o=0;o<r;++o)if(s.charAt(o)!=" ")break;o<r&&s.charAt(o)==" "?(n.start.column=o,n.end.column=o+1):(n.start.column=0,n.end.column=o),this.remove(n)}},this.$moveLines=function(e,t,n){e=this.getRowFoldStart(e),t=this.getRowFoldEnd(t);if(n<0){var r=this.getRowFoldStart(e+n);if(r<0)return 0;var i=r-e}else if(n>0){var r=this.getRowFoldEnd(t+n);if(r>this.doc.getLength()-1)return 0;var i=r-t}else{e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t);var i=t-e+1}var s=new f(e,0,t,Number.MAX_VALUE),o=this.getFoldsInRange(s).map(function(e){return e=e.clone(),e.start.row+=i,e.end.row+=i,e}),u=n==0?this.doc.getLines(e,t):this.doc.removeLines(e,t);return this.doc.insertLines(e+i,u),o.length&&this.addFolds(o),i},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){t=Math.max(0,t);if(e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0);if(e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){if(this.$wrapLimitRange.min!==e||this.$wrapLimitRange.max!==t)this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$useWrapMode&&this._signal("changeWrapMode")},this.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var r=this.$constrainWrapLimit(e,n.min,n.max);return r!=this.$wrapLimit&&r>1?(this.$wrapLimit=r,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,n,r=e.data.action,i=e.data.range.start.row,s=e.data.range.end.row,o=e.data.range.start,u=e.data.range.end,a=null;r.indexOf("Lines")!=-1?(r=="insertLines"?s=i+e.data.lines.length:s=i,n=e.data.lines?e.data.lines.length:s-i):n=s-i,this.$updating=!0;if(n!=0)if(r.indexOf("remove")!=-1){this[t?"$wrapData":"$rowLengthCache"].splice(i,n);var f=this.$foldData;a=this.getFoldsInRange(e.data.range),this.removeFolds(a);var l=this.getFoldLine(u.row),c=0;if(l){l.addRemoveChars(u.row,u.column,o.column-u.column),l.shiftRow(-n);var h=this.getFoldLine(i);h&&h!==l&&(h.merge(l),l=h),c=f.indexOf(l)+1}for(c;c<f.length;c++){var l=f[c];l.start.row>=u.row&&l.shiftRow(-n)}s=i}else{var p=Array(n);p.unshift(i,0);var d=t?this.$wrapData:this.$rowLengthCache;d.splice.apply(d,p);var f=this.$foldData,l=this.getFoldLine(i),c=0;if(l){var v=l.range.compareInside(o.row,o.column);v==0?(l=l.split(o.row,o.column),l&&(l.shiftRow(n),l.addRemoveChars(s,0,u.column-o.column))):v==-1&&(l.addRemoveChars(i,0,u.column-o.column),l.shiftRow(n)),c=f.indexOf(l)+1}for(c;c<f.length;c++){var l=f[c];l.start.row>=i&&l.shiftRow(n)}}else{n=Math.abs(e.data.range.start.column-e.data.range.end.column),r.indexOf("remove")!=-1&&(a=this.getFoldsInRange(e.data.range),this.removeFolds(a),n=-n);var l=this.getFoldLine(i);l&&l.addRemoveChars(i,o.column,n)}return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(i,s):this.$updateRowLengthCache(i,s),a},this.$updateRowLengthCache=function(e,t,n){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var r=this.doc.getAllLines(),i=this.getTabSize(),s=this.$wrapData,o=this.$wrapLimit,a,f,l=e;t=Math.min(t,r.length-1);while(l<=t)f=this.getFoldLine(l,f),f?(a=[],f.walk(function(e,t,i,s){var o;if(e!=null){o=this.$getDisplayTokens(e,a.length),o[0]=n;for(var f=1;f<o.length;f++)o[f]=u}else o=this.$getDisplayTokens(r[t].substring(s,i),a.length);a=a.concat(o)}.bind(this),f.end.row,r[f.end.row].length+1),s[f.start.row]=this.$computeWrapSplits(a,o,i),l=f.end.row+1):(a=this.$getDisplayTokens(r[l]),s[l]=this.$computeWrapSplits(a,o,i),l++)};var e=1,t=2,n=3,u=4,l=9,p=10,d=11,v=12;this.$computeWrapSplits=function(e,r){function c(t){var n=e.slice(o,t),r=n.length;n.join("").replace(/12/g,function(){r-=1}).replace(/2/g,function(){r-=1}),a+=r,i.push(a),o=t}if(e.length==0)return[];var i=[],s=e.length,o=0,a=0,f=this.$wrapAsCode;while(s-o>r){var h=o+r;if(e[h-1]>=p&&e[h]>=p){c(h);continue}if(e[h]==n||e[h]==u){for(h;h!=o-1;h--)if(e[h]==n)break;if(h>o){c(h);continue}h=o+r;for(h;h<e.length;h++)if(e[h]!=u)break;if(h==e.length)break;c(h);continue}var d=Math.max(h-(f?10:r-(r>>2)),o-1);while(h>d&&e[h]<n)h--;if(f){while(h>d&&e[h]<n)h--;while(h>d&&e[h]==l)h--}else while(h>d&&e[h]<p)h--;if(h>d){c(++h);continue}h=o+r,e[h]==t&&h--,c(h)}return i},this.$getDisplayTokens=function(n,r){var i=[],s;r=r||0;for(var o=0;o<n.length;o++){var u=n.charCodeAt(o);if(u==9){s=this.getScreenTabSize(i.length+r),i.push(d);for(var a=1;a<s;a++)i.push(v)}else u==32?i.push(p):u>39&&u<48||u>57&&u<64?i.push(l):u>=4352&&m(u)?i.push(e,t):i.push(e)}return i},this.$getStringScreenWidth=function(e,t,n){if(t==0)return[0,0];t==null&&(t=Infinity),n=n||0;var r,i;for(i=0;i<e.length;i++){r=e.charCodeAt(i),r==9?n+=this.getScreenTabSize(n):r>=4352&&m(r)?n+=2:n+=1;if(n>t)break}return[n,i]},this.lineWidgets=null,this.getRowLength=function(e){if(this.lineWidgets)var t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0;else t=0;return!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.getRowLineCount=function(e){return!this.$useWrapMode||!this.$wrapData[e]?1:this.$wrapData[e].length+1},this.getScreenLastRowColumn=function(e){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE);return this.documentToScreenColumn(t.row,t.column)},this.getDocumentLastRowColumn=function(e,t){var n=this.documentToScreenRow(e,t);return this.getScreenLastRowColumn(n)},this.getDocumentLastRowColumnPosition=function(e,t){var n=this.documentToScreenRow(e,t);return this.screenToDocumentPosition(n,Number.MAX_VALUE/10)},this.getRowSplitData=function(e){return this.$useWrapMode?this.$wrapData[e]:undefined},this.getScreenTabSize=function(e){return this.$tabSize-e%this.$tabSize},this.screenToDocumentRow=function(e,t){return this.screenToDocumentPosition(e,t).row},this.screenToDocumentColumn=function(e,t){return this.screenToDocumentPosition(e,t).column},this.screenToDocumentPosition=function(e,t){if(e<0)return{row:0,column:0};var n,r=0,i=0,s,o=0,u=0,a=this.$screenRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var o=a[f],r=this.$docRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getLength()-1,p=this.getNextFoldLine(r),d=p?p.start.row:Infinity;while(o<=e){u=this.getRowLength(r);if(o+u>e||r>=h)break;o+=u,r++,r>d&&(r=p.end.row+1,p=this.getNextFoldLine(r,p),d=p?p.start.row:Infinity),c&&(this.$docRowCache.push(r),this.$screenRowCache.push(o))}if(p&&p.start.row<=r)n=this.getFoldDisplayLine(p),r=p.start.row;else{if(o+u<=e||r>h)return{row:h,column:this.getLine(h).length};n=this.getLine(r),p=null}if(this.$useWrapMode){var v=this.$wrapData[r];if(v){var m=Math.floor(e-o);s=v[m],m>0&&v.length&&(i=v[m-1]||v[v.length-1],n=n.substring(i))}}return i+=this.$getStringScreenWidth(n,t)[1],this.$useWrapMode&&i>=s&&(i=s-1),p?p.idxToPosition(i):{row:r,column:i}},this.documentToScreenPosition=function(e,t){if(typeof t=="undefined")var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var r=0,i=null,s=null;s=this.getFoldAt(e,t,1),s&&(e=s.start.row,t=s.start.column);var o,u=0,a=this.$docRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var u=a[f],r=this.$screenRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getNextFoldLine(u),p=h?h.start.row:Infinity;while(u<e){if(u>=p){o=h.end.row+1;if(o>e)break;h=this.getNextFoldLine(o,h),p=h?h.start.row:Infinity}else o=u+1;r+=this.getRowLength(u),u=o,c&&(this.$docRowCache.push(u),this.$screenRowCache.push(r))}var d="";h&&u>=p?(d=this.getFoldDisplayLine(h,e,t),i=h.start.row):(d=this.getLine(e).substring(0,t),i=e);if(this.$useWrapMode){var v=this.$wrapData[i];if(v){var m=0;while(d.length>=v[m])r++,m++;d=d.substring(v[m-1]||0,d.length)}}return{row:r,column:this.$getStringScreenWidth(d)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(!this.$useWrapMode){e=this.getLength();var n=this.$foldData;for(var r=0;r<n.length;r++)t=n[r],e-=t.end.row-t.start.row}else{var i=this.$wrapData.length,s=0,r=0,t=this.$foldData[r++],o=t?t.start.row:Infinity;while(s<i){var u=this.$wrapData[s];e+=u?u.length+1:1,s++,s>o&&(s=t.end.row+1,t=this.$foldData[r++],o=t?t.start.row:Infinity)}}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},this.$setFontMetrics=function(e){},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker()}}).call(p.prototype),e("./edit_session/folding").Folding.call(p.prototype),e("./edit_session/bracket_match").BracketMatch.call(p.prototype),s.defineOptions(p.prototype,"session",{wrap:{set:function(e){!e||e=="off"?e=!1:e=="free"?e=!0:e=="printMargin"?e=-1:typeof e=="string"&&(e=parseInt(e,10)||!1);if(this.$wrap==e)return;this.$wrap=e;if(!e)this.setUseWrapMode(!1);else{var t=typeof e=="number"?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){e=e=="auto"?this.$mode.type!="text":e!="text",e!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$modified=!0,this.$resetRowCache(0),this.$updateWrapData(0,this.getLength()-1)))},initialValue:"auto"},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){if(isNaN(e)||this.$tabSize===e)return;this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize")},initialValue:4,handlesSet:!0},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId}}}),t.EditSession=p}),define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(){this.$options={}};(function(){this.set=function(e){return i.mixin(this.$options,e),this},this.getOptions=function(){return r.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var t=this.$options,n=this.$matchIterator(e,t);if(!n)return!1;var r=null;return n.forEach(function(e,n,i){if(!e.start){var o=e.offset+(i||0);r=new s(n,o,n,o+e.length);if(!e.length&&t.start&&t.start.start&&t.skipCurrent!=0&&r.isEqual(t.start))return r=null,!1}else r=e;return!0}),r},this.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,i=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),o=[],u=t.re;if(t.$isMultiLine){var a=u.length,f=i.length-a,l;e:for(var c=u.offset||0;c<=f;c++){for(var h=0;h<a;h++)if(i[c+h].search(u[h])==-1)continue e;var p=i[c],d=i[c+a-1],v=p.length-p.match(u[0])[0].length,m=d.match(u[a-1])[0].length;if(l&&l.end.row===c&&l.end.column>v)continue;o.push(l=new s(c,v,c+a-1,m)),a>2&&(c=c+a-2)}}else for(var g=0;g<i.length;g++){var y=r.getMatchOffsets(i[g],u);for(var h=0;h<y.length;h++){var b=y[h];o.push(new s(g,b.offset,g,b.offset+b.length))}}if(n){var w=n.start.column,E=n.start.column,g=0,h=o.length-1;while(g<h&&o[g].start.column<w&&o[g].start.row==n.start.row)g++;while(g<h&&o[h].end.column>E&&o[h].end.row==n.end.row)h--;o=o.slice(g,h+1);for(g=0,h=o.length;g<h;g++)o[g].start.row+=n.start.row,o[g].end.row+=n.start.row}return o},this.replace=function(e,t){var n=this.$options,r=this.$assembleRegExp(n);if(n.$isMultiLine)return t;if(!r)return;var i=r.exec(e);if(!i||i[0].length!=e.length)return null;t=e.replace(r,t);if(n.preserveCase){t=t.split("");for(var s=Math.min(e.length,e.length);s--;){var o=e[s];o&&o.toLowerCase()!=o?t[s]=t[s].toUpperCase():t[s]=t[s].toLowerCase()}t=t.join("")}return t},this.$matchIterator=function(e,t){var n=this.$assembleRegExp(t);if(!n)return!1;var i;if(t.$isMultiLine)var o=n.length,u=function(t,r,u){var a=t.search(n[0]);if(a==-1)return;for(var f=1;f<o;f++){t=e.getLine(r+f);if(t.search(n[f])==-1)return}var l=t.match(n[o-1])[0].length,c=new s(r,a,r+o-1,l);n.offset==1?(c.start.row--,c.start.column=Number.MAX_VALUE):u&&(c.start.column+=u);if(i(c))return!0};else if(t.backwards)var u=function(e,t,s){var o=r.getMatchOffsets(e,n);for(var u=o.length-1;u>=0;u--)if(i(o[u],t,s))return!0};else var u=function(e,t,s){var o=r.getMatchOffsets(e,n);for(var u=0;u<o.length;u++)if(i(o[u],t,s))return!0};var a=this.$lineIterator(e,t);return{forEach:function(e){i=e,a.forEach(u)}}},this.$assembleRegExp=function(e,t){if(e.needle instanceof RegExp)return e.re=e.needle;var n=e.needle;if(!e.needle)return e.re=!1;e.regExp||(n=r.escapeRegExp(n)),e.wholeWord&&(n="\\b"+n+"\\b");var i=e.caseSensitive?"gm":"gmi";e.$isMultiLine=!t&&/[\n\r]/.test(n);if(e.$isMultiLine)return e.re=this.$assembleMultilineRegExp(n,i);try{var s=new RegExp(n,i)}catch(o){s=!1}return e.re=s},this.$assembleMultilineRegExp=function(e,t){var n=e.replace(/\r\n|\r|\n/g,"$\n^").split("\n"),r=[];for(var i=0;i<n.length;i++)try{r.push(new RegExp(n[i],t))}catch(s){return!1}return n[0]==""?(r.shift(),r.offset=1):r.offset=0,r},this.$lineIterator=function(e,t){var n=t.backwards==1,r=t.skipCurrent!=0,i=t.range,s=t.start;s||(s=i?i[n?"end":"start"]:e.selection.getRange()),s.start&&(s=s[r!=n?"end":"start"]);var o=i?i.start.row:0,u=i?i.end.row:e.getLength()-1,a=n?function(n){var r=s.row,i=e.getLine(r).substring(0,s.column);if(n(i,r))return;for(r--;r>=o;r--)if(n(e.getLine(r),r))return;if(t.wrap==0)return;for(r=u,o=s.row;r>=o;r--)if(n(e.getLine(r),r))return}:function(n){var r=s.row,i=e.getLine(r).substr(s.column);if(n(i,r,s.column))return;for(r+=1;r<=u;r++)if(n(e.getLine(r),r))return;if(t.wrap==0)return;for(r=o,u=s.row;r<=u;r++)if(n(e.getLine(r),r))return};return{forEach:a}}}).call(o.prototype),t.Search=o}),define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function o(e,t){this.platform=t||(i.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function u(e,t){o.call(this,e,t),this.$singleCommand=!1}var r=e("../lib/keys"),i=e("../lib/useragent"),s=r.KEY_MODS;u.prototype=o.prototype,function(){this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var n=e&&(typeof e=="string"?e:e.name);e=this.commands[n],t||delete this.commands[n];var r=this.commandKeyBinding;for(var i in r){var s=r[i];if(s==e)delete r[i];else if(Array.isArray(s)){var o=s.indexOf(e);o!=-1&&(s.splice(o,1),s.length==1&&(r[i]=s[0]))}}},this.bindKey=function(e,t,n){typeof e=="object"&&(e=e[this.platform]);if(!e)return;if(typeof t=="function")return this.addCommand({exec:t,bindKey:e,name:t.name||e});e.split("|").forEach(function(e){var r="";if(e.indexOf(" ")!=-1){var i=e.split(/\s+/);e=i.pop(),i.forEach(function(e){var t=this.parseKeys(e),n=s[t.hashId]+t.key;r+=(r?" ":"")+n,this._addCommandToBinding(r,"chainKeys")},this),r+=" "}var o=this.parseKeys(e),u=s[o.hashId]+o.key;this._addCommandToBinding(r+u,t,n)},this)},this._addCommandToBinding=function(e,t,n){var r=this.commandKeyBinding,i;t?!r[e]||this.$singleCommand?r[e]=t:(Array.isArray(r[e])?(i=r[e].indexOf(t))!=-1&&r[e].splice(i,1):r[e]=[r[e]],n||t.isDefault?r[e].unshift(t):r[e].push(t)):delete r[e]},this.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(!n)return;if(typeof n=="string")return this.bindKey(n,t);typeof n=="function"&&(n={exec:n});if(typeof n!="object")return;n.name||(n.name=t),this.addCommand(n)},this)},this.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},this.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},this._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},this.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),n=t.pop(),i=r[n];if(r.FUNCTION_KEYS[i])n=r.FUNCTION_KEYS[i].toLowerCase();else{if(!t.length)return{key:n,hashId:-1};if(t.length==1&&t[0]=="shift")return{key:n.toUpperCase(),hashId:-1}}var s=0;for(var o=t.length;o--;){var u=r.KEY_MODS[t[o]];if(u==null)return typeof console!="undefined"&&console.error("invalid modifier "+t[o]+" in "+e),!1;s|=u}return{key:n,hashId:s}},this.findKeyCommand=function(t,n){var r=s[t]+n;return this.commandKeyBinding[r]},this.handleKeyboard=function(e,t,n,r){var i=s[t]+n,o=this.commandKeyBinding[i];e.$keyChain&&(e.$keyChain+=" "+i,o=this.commandKeyBinding[e.$keyChain]||o);if(o)if(o=="chainKeys"||o[o.length-1]=="chainKeys")return e.$keyChain=e.$keyChain||i,{command:"null"};return e.$keyChain&&r>0&&(e.$keyChain=""),{command:o}}}.call(o.prototype),t.HashHandler=o,t.MultiHashHandler=u}),define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../keyboard/hash_handler").MultiHashHandler,s=e("../lib/event_emitter").EventEmitter,o=function(e,t){i.call(this,t,e),this.byName=this.commands,this.setDefaultHandler("exec",function(e){return e.command.exec(e.editor,e.args||{})})};r.inherits(o,i),function(){r.implement(this,s),this.exec=function(e,t,n){if(Array.isArray(e)){for(var r=e.length;r--;)if(this.exec(e[r],t,n))return!0;return!1}typeof e=="string"&&(e=this.commands[e]);if(!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;var i={editor:t,command:e,args:n};return i.returnValue=this._emit("exec",i),this._signal("afterExec",i),i.returnValue===!1?!1:!0},this.toggleRecording=function(e){if(this.$inReplay)return;return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(e){if(this.$inReplay||!this.macro)return;if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}},this.trimMacro=function(e){return e.map(function(e){return typeof e[0]!="string"&&(e[0]=e[0].name),e[1]||(e=e[0]),e})}}.call(o.prototype),t.CommandManager=o}),define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(e,t,n){"use strict";function o(e,t){return{win:e,mac:t}}var r=e("../lib/lang"),i=e("../config"),s=e("../range").Range;t.commands=[{name:"showSettingsMenu",bindKey:o("Ctrl-,","Command-,"),exec:function(e){i.loadModule("ace/ext/settings_menu",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",bindKey:o("Alt-E","Ctrl-E"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:o("Alt-Shift-E","Ctrl-Shift-E"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",bindKey:o("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",bindKey:o(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",bindKey:o("Ctrl-L","Command-L"),exec:function(e){var t=parseInt(prompt("Enter line number:"),10);isNaN(t)||e.gotoLine(t)},readOnly:!0},{name:"fold",bindKey:o("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:o("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:o("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:o("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",bindKey:o(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",bindKey:o("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",bindKey:o("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",bindKey:o("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",bindKey:o("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",bindKey:o("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",bindKey:o("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",bindKey:o("Ctrl-F","Command-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",bindKey:o("Ctrl-Shift-Home","Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",bindKey:o("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",bindKey:o("Shift-Up","Shift-Up"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",bindKey:o("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",bindKey:o("Ctrl-Shift-End","Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",bindKey:o("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",bindKey:o("Shift-Down","Shift-Down"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",bindKey:o("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",bindKey:o("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",bindKey:o("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",bindKey:o("Alt-Shift-Left","Command-Shift-Left"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",bindKey:o("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",bindKey:o("Shift-Left","Shift-Left"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",bindKey:o("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",bindKey:o("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",bindKey:o("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",bindKey:o("Alt-Shift-Right","Command-Shift-Right"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",bindKey:o("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",bindKey:o("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",bindKey:o("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",bindKey:o(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",bindKey:o("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",bindKey:o(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",bindKey:o("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",bindKey:o("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",bindKey:o("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",bindKey:o("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",bindKey:o("Ctrl-P","Ctrl-P"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",bindKey:o("Ctrl-Shift-P","Ctrl-Shift-P"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",bindKey:o("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",bindKey:o(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"cut",exec:function(e){var t=e.getSelectionRange();e._emit("cut",t),e.selection.isEmpty()||(e.session.remove(t),e.clearSelection())},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"removeline",bindKey:o("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",bindKey:o("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",bindKey:o("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",bindKey:o("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",bindKey:o("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",bindKey:o("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",bindKey:o("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",bindKey:o("Ctrl-H","Command-Option-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",bindKey:o("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",bindKey:o("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",bindKey:o("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",bindKey:o("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",bindKey:o("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",bindKey:o("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",bindKey:o("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",bindKey:o("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",bindKey:o("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",bindKey:o("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",bindKey:o("Alt-Delete","Ctrl-K"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",bindKey:o("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",bindKey:o("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",bindKey:o("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",bindKey:o("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",bindKey:o("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",bindKey:o("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",exec:function(e,t){e.insert(r.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",bindKey:o(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",bindKey:o("Ctrl-T","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",bindKey:o("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",bindKey:o("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"expandtoline",bindKey:o("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"joinlines",bindKey:o(null,null),exec:function(e){var t=e.selection.isBackwards(),n=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),i=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),o=e.session.doc.getLine(n.row).length,u=e.session.doc.getTextRange(e.selection.getRange()),a=u.replace(/\n\s*/," ").length,f=e.session.doc.getLine(n.row);for(var l=n.row+1;l<=i.row+1;l++){var c=r.stringTrimLeft(r.stringTrimRight(e.session.doc.getLine(l)));c.length!==0&&(c=" "+c),f+=c}i.row+1<e.session.doc.getLength()-1&&(f+=e.session.doc.getNewLineCharacter()),e.clearSelection(),e.session.doc.replace(new s(n.row,0,i.row+2,0),f),a>0?(e.selection.moveCursorTo(n.row,n.column),e.selection.selectTo(n.row,n.column+a)):(o=e.session.doc.getLine(n.row).length>o?o+1:o,e.selection.moveCursorTo(n.row,o))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",bindKey:o(null,null),exec:function(e){var t=e.session.doc.getLength()-1,n=e.session.doc.getLine(t).length,r=e.selection.rangeList.ranges,i=[];r.length<1&&(r=[e.selection.getRange()]);for(var o=0;o<r.length;o++)o==r.length-1&&(r[o].end.row!==t||r[o].end.column!==n)&&i.push(new s(r[o].end.row,r[o].end.column,t,n)),o===0?(r[o].start.row!==0||r[o].start.column!==0)&&i.push(new s(0,0,r[o].start.row,r[o].start.column)):i.push(new s(r[o-1].end.row,r[o-1].end.column,r[o].start.row,r[o].start.column));e.exitMultiSelectMode(),e.clearSelection();for(var o=0;o<i.length;o++)e.selection.addRange(i[o],!1)},readOnly:!0,scrollIntoView:"none"}]}),define("ace/editor",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator"],function(e,t,n){"use strict";e("./lib/fixoldbrowsers");var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/lang"),o=e("./lib/useragent"),u=e("./keyboard/textinput").TextInput,a=e("./mouse/mouse_handler").MouseHandler,f=e("./mouse/fold_handler").FoldHandler,l=e("./keyboard/keybinding").KeyBinding,c=e("./edit_session").EditSession,h=e("./search").Search,p=e("./range").Range,d=e("./lib/event_emitter").EventEmitter,v=e("./commands/command_manager").CommandManager,m=e("./commands/default_commands").commands,g=e("./config"),y=e("./token_iterator").TokenIterator,b=function(e,t){var n=e.getContainerElement();this.container=n,this.renderer=e,this.commands=new v(o.isMac?"mac":"win",m),this.textInput=new u(e.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.keyBinding=new l(this),this.$mouseHandler=new a(this),new f(this),this.$blockScrolling=0,this.$search=(new h).set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=s.delayedCall(function(){this._signal("input",{}),this.session&&this.session.bgTokenizer&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",function(e,t){t._$emitInputEvent.schedule(31)}),this.setSession(t||new c("")),g.resetOptions(this),g._signal("editor",this)};(function(){r.implement(this,d),this.$initOperationListeners=function(){function e(e){return e[e.length-1]}this.selections=[],this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0),this.$opResetTimer=s.delayedCall(this.endOperation.bind(this)),this.on("change",function(){this.curOp||this.startOperation(),this.curOp.docChanged=!0}.bind(this),!0),this.on("changeSelection",function(){this.curOp||this.startOperation(),this.curOp.selectionChanged=!0}.bind(this),!0)},this.curOp=null,this.prevOp={},this.startOperation=function(e){if(this.curOp){if(!e||this.curOp.command)return;this.prevOp=this.curOp}e||(this.previousCommand=null,e={}),this.$opResetTimer.schedule(),this.curOp={command:e.command||{},args:e.args,scrollTop:this.renderer.scrollTop},this.curOp.command.name&&this.curOp.command.scrollIntoView!==undefined&&this.$blockScrolling++},this.endOperation=function(e){if(this.curOp){if(e&&e.returnValue===!1)return this.curOp=null;this._signal("beforeEndOperation");var t=this.curOp.command;t.name&&this.$blockScrolling>0&&this.$blockScrolling--;if(t&&t.scrollIntoView){switch(t.scrollIntoView){case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var n=this.selection.getRange(),r=this.renderer.layerConfig;(n.start.row>=r.lastRow||n.end.row<=r.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break;default:}t.scrollIntoView=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){if(!this.$mergeUndoDeltas)return;var t=this.prevOp,n=this.$mergeableCommands,r=t.command&&e.command.name==t.command.name;if(e.command.name=="insertstring"){var i=e.args;this.mergeNextCommand===undefined&&(this.mergeNextCommand=!0),r=r&&this.mergeNextCommand&&(!/\s/.test(i)||/\s/.test(t.args)),this.mergeNextCommand=!0}else r=r&&n.indexOf(e.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(r=!1),r?this.session.mergeUndoDeltas=!0:n.indexOf(e.command.name)!==-1&&(this.sequenceStartTime=Date.now())},this.setKeyboardHandler=function(e,t){if(e&&typeof e=="string"){this.$keybindingId=e;var n=this;g.loadModule(["keybinding",e],function(r){n.$keybindingId==e&&n.keyBinding.setKeyboardHandler(r&&r.handler),t&&t()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session==e)return;var t=this.session;if(t){this.session.removeEventListener("change",this.$onDocumentChange),this.session.removeEventListener("changeMode",this.$onChangeMode),this.session.removeEventListener("tokenizerUpdate",this.$onTokenizerUpdate),this.session.removeEventListener("changeTabSize",this.$onChangeTabSize),this.session.removeEventListener("changeWrapLimit",this.$onChangeWrapLimit),this.session.removeEventListener("changeWrapMode",this.$onChangeWrapMode),this.session.removeEventListener("onChangeFold",this.$onChangeFold),this.session.removeEventListener("changeFrontMarker",this.$onChangeFrontMarker),this.session.removeEventListener("changeBackMarker",this.$onChangeBackMarker),this.session.removeEventListener("changeBreakpoint",this.$onChangeBreakpoint),this.session.removeEventListener("changeAnnotation",this.$onChangeAnnotation),this.session.removeEventListener("changeOverwrite",this.$onCursorChange),this.session.removeEventListener("changeScrollTop",this.$onScrollTopChange),this.session.removeEventListener("changeScrollLeft",this.$onScrollLeftChange);var n=this.session.getSelection();n.removeEventListener("changeCursor",this.$onCursorChange),n.removeEventListener("changeSelection",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.addEventListener("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.addEventListener("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.addEventListener("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.addEventListener("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.addEventListener("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.addEventListener("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.addEventListener("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.addEventListener("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.addEventListener("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.addEventListener("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.addEventListener("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.addEventListener("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.addEventListener("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.addEventListener("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.addEventListener("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.addEventListener("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.$blockScrolling+=1,this.onCursorChange(),this.$blockScrolling-=1,this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal("changeSession",{session:e,oldSession:t}),t&&t._signal("changeEditor",{oldEditor:this}),e&&e._signal("changeEditor",{editor:this})},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?t==1?this.navigateFileEnd():t==-1&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e,t){this.renderer.setTheme(e,t)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption("fontSize")||i.computedStyle(this.container,"fontSize")},this.setFontSize=function(e){this.setOption("fontSize",e)},this.$highlightBrackets=function(){this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null);if(this.$highlightPending)return;var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=t.findMatchingBracket(e.getCursorPosition());if(n)var r=new p(n.row,n.column,n.row,n.column+1);else if(t.$mode.getMatching)var r=t.$mode.getMatching(e.session);r&&(t.$bracketHighlight=t.addMarker(r,"ace_bracket","text"))},50)},this.$highlightTags=function(){if(this.$highlightTagPending)return;var e=this;this.$highlightTagPending=!0,setTimeout(function(){e.$highlightTagPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=e.getCursorPosition(),r=new y(e.session,n.row,n.column),i=r.getCurrentToken();if(!i||!/\b(?:tag-open|tag-name)/.test(i.type)){t.removeMarker(t.$tagHighlight),t.$tagHighlight=null;return}if(i.type.indexOf("tag-open")!=-1){i=r.stepForward();if(!i)return}var s=i.value,o=0,u=r.stepBackward();if(u.value=="<"){do u=i,i=r.stepForward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="</"&&o--);while(i&&o>=0)}else{do i=u,u=r.stepBackward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="</"&&o--);while(u&&o<=0);r.stepForward()}if(!i){t.removeMarker(t.$tagHighlight),t.$tagHighlight=null;return}var a=r.getCurrentTokenRow(),f=r.getCurrentTokenColumn(),l=new p(a,f,a,f+i.value.length);t.$tagHighlight&&l.compareRange(t.$backMarkers[t.$tagHighlight].range)!==0&&(t.removeMarker(t.$tagHighlight),t.$tagHighlight=null),l&&!t.$tagHighlight&&(t.$tagHighlight=t.addMarker(l,"ace_bracket","text"))},50)},this.focus=function(){var e=this;setTimeout(function(){e.textInput.focus()}),this.textInput.focus()},this.isFocused=function(){return this.textInput.isFocused()},this.blur=function(){this.textInput.blur()},this.onFocus=function(e){if(this.$isFocused)return;this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",e)},this.onBlur=function(e){if(!this.$isFocused)return;this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",e)},this.$cursorChange=function(){this.renderer.updateCursor()},this.onDocumentChange=function(e){var t=e.data,n=t.range,r;n.start.row==n.end.row&&t.action!="insertLines"&&t.action!="removeLines"?r=n.end.row:r=Infinity,this.renderer.updateLines(n.start.row,r,this.session.$useWrapMode),this._signal("change",e),this.$cursorChange(),this.$updateHighlightActiveLine()},this.onTokenizerUpdate=function(e){var t=e.data;this.renderer.updateLines(t.first,t.last)},this.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},this.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},this.onCursorChange=function(){this.$cursorChange(),this.$blockScrolling||(g.warn("Automatically scrolling cursor into view after selection change","this will be disabled in the next version","set editor.$blockScrolling = Infinity to disable this message"),this.renderer.scrollCursorIntoView()),this.$highlightBrackets(),this.$highlightTags(),this.$updateHighlightActiveLine(),this._signal("changeSelection")},this.$updateHighlightActiveLine=function(){var e=this.getSession(),t;if(this.$highlightActiveLine){if(this.$selectionStyle!="line"||!this.selection.isMultiLine())t=this.getCursorPosition();this.renderer.$maxLines&&this.session.getLength()===1&&!(this.renderer.$minLines>1)&&(t=!1)}if(e.$highlightLineMarker&&!t)e.removeMarker(e.$highlightLineMarker.id),e.$highlightLineMarker=null;else if(!e.$highlightLineMarker&&t){var n=new p(t.row,t.column,t.row,Infinity);n.id=e.addMarker(n,"ace_active-line","screenLine"),e.$highlightLineMarker=n}else t&&(e.$highlightLineMarker.start.row=t.row,e.$highlightLineMarker.end.row=t.row,e.$highlightLineMarker.start.column=t.column,e._signal("changeBackMarker"))},this.onSelectionChange=function(e){var t=this.session;t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null;if(!this.selection.isEmpty()){var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,"ace_selection",r)}else this.$updateHighlightActiveLine();var i=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(i),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(t.isEmpty()||t.isMultiLine())return;var n=t.start.column-1,r=t.end.column+1,i=e.getLine(t.start.row),s=i.length,o=i.substring(Math.max(n,0),Math.min(r,s));if(n>=0&&/^[\w\d]/.test(o)||r<=s&&/[\w\d]$/.test(o))return;o=i.substring(t.start.column,t.end.column);if(!/^[\w\d]+$/.test(o))return;var u=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:o});return u},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText();return this._signal("copy",e),e},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(e){if(this.$readOnly)return;var t={text:e};this._signal("paste",t),e=t.text;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)this.insert(e);else{var n=e.split(/\r\n|\r|\n/),r=this.selection.rangeList.ranges;if(n.length>r.length||n.length<2||!n[1])return this.commands.exec("insertstring",this,e);for(var i=r.length;i--;){var s=r[i];s.isEmpty()||this.session.remove(s),this.session.insert(s.start,n[i])}}this.renderer.scrollCursorIntoView()},this.execCommand=function(e,t){return this.commands.exec(e,this,t)},this.insert=function(e,t){var n=this.session,r=n.getMode(),i=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var s=r.transformAction(n.getState(i.row),"insertion",this,n,e);s&&(e!==s.text&&(this.session.mergeUndoDeltas=!1,this.$mergeNextCommand=!1),e=s.text)}e==" "&&(e=this.session.getTabString());if(!this.selection.isEmpty()){var o=this.getSelectionRange();i=this.session.remove(o),this.clearSelection()}else if(this.session.getOverwrite()){var o=new p.fromPoints(i,i);o.end.column+=e.length,this.session.remove(o)}if(e=="\n"||e=="\r\n"){var u=n.getLine(i.row);if(i.column>u.search(/\S|$/)){var a=u.substr(i.column).search(/\S|$/);n.doc.removeInLine(i.row,i.column,i.column+a)}}this.clearSelection();var f=i.column,l=n.getState(i.row),u=n.getLine(i.row),c=r.checkOutdent(l,u,e),h=n.insert(i,e);s&&s.selection&&(s.selection.length==2?this.selection.setSelectionRange(new p(i.row,f+s.selection[0],i.row,f+s.selection[1])):this.selection.setSelectionRange(new p(i.row+s.selection[0],s.selection[1],i.row+s.selection[2],s.selection[3])));if(n.getDocument().isNewLine(e)){var d=r.getNextLineIndent(l,u.slice(0,i.column),n.getTabString());n.insert({row:i.row+1,column:0},d)}c&&r.autoOutdent(l,n,i.row)},this.onTextInput=function(e){this.keyBinding.onTextInput(e)},this.onCommandKey=function(e,t,n){this.keyBinding.onCommandKey(e,t,n)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&(e=="left"?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),i=n.getMode().transformAction(r,"deletion",this,n,t);if(t.end.column===0){var s=n.getTextRange(t);if(s[s.length-1]=="\n"){var o=n.getLine(t.end.row);/^\s+$/.test(o)&&(t.end.column=o.length)}}i&&(t=i)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(!this.selection.isEmpty())return;var e=this.getCursorPosition(),t=e.column;if(t===0)return;var n=this.session.getLine(e.row),r,i;t<n.length?(r=n.charAt(t)+n.charAt(t-1),i=new p(e.row,t-1,e.row,t+1)):(r=n.charAt(t-1)+n.charAt(t-2),i=new p(e.row,t-2,e.row,t)),this.session.replace(i,r)},this.toLowerCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toLowerCase()),this.selection.setSelectionRange(e)},this.toUpperCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toUpperCase()),this.selection.setSelectionRange(e)},this.indent=function(){var e=this.session,t=this.getSelectionRange();if(t.start.row<t.end.row){var n=this.$getSelectedRows();e.indentRows(n.first,n.last," ");return}if(t.start.column<t.end.column){var r=e.getTextRange(t);if(!/^\s+$/.test(r)){var n=this.$getSelectedRows();e.indentRows(n.first,n.last," ");return}}var i=e.getLine(t.start.row),o=t.start,u=e.getTabSize(),a=e.documentToScreenColumn(o.row,o.column);if(this.session.getUseSoftTabs())var f=u-a%u,l=s.stringRepeat(" ",f);else{var f=a%u;while(i[t.start.column]==" "&&f)t.start.column--,f--;this.selection.setSelectionRange(t),l=" "}return this.insert(l)},this.blockIndent=function(){var e=this.$getSelectedRows();this.session.indentRows(e.first,e.last," ")},this.blockOutdent=function(){var e=this.session.getSelection();this.session.outdentRows(e.getRange())},this.sortLines=function(){var e=this.$getSelectedRows(),t=this.session,n=[];for(i=e.first;i<=e.last;i++)n.push(t.getLine(i));n.sort(function(e,t){return e.toLowerCase()<t.toLowerCase()?-1:e.toLowerCase()>t.toLowerCase()?1:0});var r=new p(0,0,0,0);for(var i=e.first;i<=e.last;i++){var s=t.getLine(i);r.start.row=i,r.end.row=i,r.end.column=s.length,t.replace(r,n[i-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},this.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;var r=this.session.getLine(e);while(n.lastIndex<t){var i=n.exec(r);if(i.index<=t&&i.index+i[0].length>=t){var s={value:i[0],start:i.index,end:i.index+i[0].length};return s}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new p(t,n-1,t,n),i=this.session.getTextRange(r);if(!isNaN(parseFloat(i))&&isFinite(i)){var s=this.getNumberAt(t,n);if(s){var o=s.value.indexOf(".")>=0?s.start+s.value.indexOf(".")+1:s.end,u=s.start+s.value.length-o,a=parseFloat(s.value);a*=Math.pow(10,u),o!==s.end&&n<o?e*=Math.pow(10,s.end-n-1):e*=Math.pow(10,s.end-n),a+=e,a/=Math.pow(10,u);var f=a.toFixed(u),l=new p(t,s.start,t,s.end);this.session.replace(l,f),this.moveCursorTo(t,Math.max(s.start+1,n+f.length-s.value.length))}}},this.removeLines=function(){var e=this.$getSelectedRows(),t;e.first===0||e.last+1<this.session.getLength()?t=new p(e.first,0,e.last+1,0):t=new p(e.first-1,this.session.getLine(e.first-1).length,e.last,this.session.getLine(e.last).length),this.session.remove(t),this.clearSelection()},this.duplicateSelection=function(){var e=this.selection,t=this.session,n=e.getRange(),r=e.isBackwards();if(n.isEmpty()){var i=n.start.row;t.duplicateLines(i,i)}else{var s=r?n.start:n.end,o=t.insert(s,t.getTextRange(n),!1);n.start=s,n.end=o,e.setSelectionRange(n,r)}},this.moveLinesDown=function(){this.$moveLines(1,!1)},this.moveLinesUp=function(){this.$moveLines(-1,!1)},this.moveText=function(e,t,n){return this.session.moveText(e,t,n)},this.copyLinesUp=function(){this.$moveLines(-1,!0)},this.copyLinesDown=function(){this.$moveLines(1,!0)},this.$moveLines=function(e,t){var n,r,i=this.selection;if(!i.inMultiSelectMode||this.inVirtualSelectionMode){var s=i.toOrientedRange();n=this.$getSelectedRows(s),r=this.session.$moveLines(n.first,n.last,t?0:e),t&&e==-1&&(r=0),s.moveBy(r,0),i.fromOrientedRange(s)}else{var o=i.rangeList.ranges;i.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;var u=0,a=0,f=o.length;for(var l=0;l<f;l++){var c=l;o[l].moveBy(u,0),n=this.$getSelectedRows(o[l]);var h=n.first,p=n.last;while(++l<f){a&&o[l].moveBy(a,0);var d=this.$getSelectedRows(o[l]);if(t&&d.first!=p)break;if(!t&&d.first>p+1)break;p=d.last}l--,u=this.session.$moveLines(h,p,t?0:e),t&&e==-1&&(c=l+1);while(c<=l)o[c].moveBy(u,0),c++;t||(u=0),a+=u}i.fromOrientedRange(i.ranges[0]),i.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(this.getCursorPosition())},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,i=e*Math.floor(r.height/r.lineHeight);this.$blockScrolling++,t===!0?this.selection.$moveSelection(function(){this.moveCursorBy(i,0)}):t===!1&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection()),this.$blockScrolling--;var s=n.scrollTop;n.scrollBy(0,i*r.lineHeight),t!=null&&n.scrollCursorIntoView(null,.5),n.animateScrolling(s)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.$blockScrolling+=1,this.selection.selectAll(),this.$blockScrolling-=1},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e,t){var n=this.getCursorPosition(),r=new y(this.session,n.row,n.column),i=r.getCurrentToken(),s=i||r.stepForward();if(!s)return;var o,u=!1,a={},f=n.column-s.start,l,c={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(s.value.match(/[{}()\[\]]/g))for(;f<s.value.length&&!u;f++){if(!c[s.value[f]])continue;l=c[s.value[f]]+"."+s.type.replace("rparen","lparen"),isNaN(a[l])&&(a[l]=0);switch(s.value[f]){case"(":case"[":case"{":a[l]++;break;case")":case"]":case"}":a[l]--,a[l]===-1&&(o="bracket",u=!0)}}else s&&s.type.indexOf("tag-name")!==-1&&(isNaN(a[s.value])&&(a[s.value]=0),i.value==="<"?a[s.value]++:i.value==="</"&&a[s.value]--,a[s.value]===-1&&(o="tag",u=!0));u||(i=s,s=r.stepForward(),f=0)}while(s&&!u);if(!o)return;var h,d;if(o==="bracket"){h=this.session.getBracketRange(n);if(!h){h=new p(r.getCurrentTokenRow(),r.getCurrentTokenColumn()+f-1,r.getCurrentTokenRow(),r.getCurrentTokenColumn()+f-1),d=h.start;if(t||d.row===n.row&&Math.abs(d.column-n.column)<2)h=this.session.getBracketRange(d)}}else if(o==="tag"){if(!s||s.type.indexOf("tag-name")===-1)return;var v=s.value;h=new p(r.getCurrentTokenRow(),r.getCurrentTokenColumn()-2,r.getCurrentTokenRow(),r.getCurrentTokenColumn()-2);if(h.compare(n.row,n.column)===0){u=!1;do s=i,i=r.stepBackward(),i&&(i.type.indexOf("tag-close")!==-1&&h.setEnd(r.getCurrentTokenRow(),r.getCurrentTokenColumn()+1),s.value===v&&s.type.indexOf("tag-name")!==-1&&(i.value==="<"?a[v]++:i.value==="</"&&a[v]--,a[v]===0&&(u=!0)));while(i&&!u)}s&&s.type.indexOf("tag-name")&&(d=h.start,d.row==n.row&&Math.abs(d.column-n.column)<2&&(d=h.end))}d=h&&h.cursor||d,d&&(e?h&&t?this.selection.setRange(h):h&&h.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(d.row,d.column):this.selection.moveTo(d.row,d.column))},this.gotoLine=function(e,t,n){this.selection.clearSelection(),this.session.unfold({row:e-1,column:t||0}),this.$blockScrolling+=1,this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(e-1,t||0),this.$blockScrolling-=1,this.isRowFullyVisible(e-1)||this.scrollToLine(e-1,!0,n)},this.navigateTo=function(e,t){this.selection.moveTo(e,t)},this.navigateUp=function(e){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(-e||-1,0)},this.navigateDown=function(e){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(e||1,0)},this.navigateLeft=function(e){if(!this.selection.isEmpty()){var t=this.getSelectionRange().start;this.moveCursorToPosition(t)}else{e=e||1;while(e--)this.selection.moveCursorLeft()}this.clearSelection()},this.navigateRight=function(e){if(!this.selection.isEmpty()){var t=this.getSelectionRange().end;this.moveCursorToPosition(t)}else{e=e||1;while(e--)this.selection.moveCursorRight()}this.clearSelection()},this.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},this.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},this.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},this.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},this.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},this.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},this.replace=function(e,t){t&&this.$search.set(t);var n=this.$search.find(this.session),r=0;return n?(this.$tryReplace(n,e)&&(r=1),n!==null&&(this.selection.setSelectionRange(n),this.renderer.scrollSelectionIntoView(n.start,n.end)),r):r},this.replaceAll=function(e,t){t&&this.$search.set(t);var n=this.$search.findAll(this.session),r=0;if(!n.length)return r;this.$blockScrolling+=1;var i=this.getSelectionRange();this.selection.moveTo(0,0);for(var s=n.length-1;s>=0;--s)this.$tryReplace(n[s],e)&&r++;return this.selection.setSelectionRange(i),this.$blockScrolling-=1,r},this.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return t=this.$search.replace(n,t),t!==null?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),typeof e=="string"||e instanceof RegExp?t.needle=e:typeof e=="object"&&r.mixin(t,e);var i=this.selection.getRange();t.needle==null&&(e=this.session.getTextRange(i)||this.$search.$options.needle,e||(i=this.session.getWordRange(i.start.row,i.start.column),e=this.session.getTextRange(i)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:i});var s=this.$search.find(this.session);if(t.preventScroll)return s;if(s)return this.revealRange(s,n),s;t.backwards?i.start=i.end:i.end=i.start,this.selection.setRange(i)},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.$blockScrolling+=1,this.session.unfold(e),this.selection.setSelectionRange(e),this.$blockScrolling-=1;var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),t!==!1&&this.renderer.animateScrolling(n)},this.undo=function(){this.$blockScrolling++,this.session.getUndoManager().undo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.$blockScrolling++,this.session.getUndoManager().redo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy()},this.setAutoScrollEditorIntoView=function(e){if(!e)return;var t,n=this,r=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var i=this.$scrollAnchor;i.style.cssText="position:absolute",this.container.insertBefore(i,this.container.firstChild);var s=this.on("changeSelection",function(){r=!0}),o=this.renderer.on("beforeRender",function(){r&&(t=n.renderer.container.getBoundingClientRect())}),u=this.renderer.on("afterRender",function(){if(r&&t&&(n.isFocused()||n.searchBox&&n.searchBox.isFocused())){var e=n.renderer,s=e.$cursorLayer.$pixelPos,o=e.layerConfig,u=s.top-o.offset;s.top>=0&&u+t.top<0?r=!0:s.top<o.height&&s.top+t.top+o.lineHeight>window.innerHeight?r=!1:r=null,r!=null&&(i.style.top=u+"px",i.style.left=s.left+"px",i.style.height=o.lineHeight+"px",i.scrollIntoView(r)),r=t=null}});this.setAutoScrollEditorIntoView=function(e){if(e)return;delete this.setAutoScrollEditorIntoView,this.removeEventListener("changeSelection",s),this.renderer.removeEventListener("afterRender",u),this.renderer.removeEventListener("beforeRender",o)}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;if(!t)return;t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&e!="wide",i.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e))}}).call(b.prototype),g.defineOptions(b.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.$resetCursorStyle()},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",showLineNumbers:"renderer",showGutter:"renderer",displayIndentGuides:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",tabSize:"session",wrap:"session",foldStyle:"session",mode:"session"}),t.Editor=b}),define("ace/undomanager",["require","exports","module"],function(e,t,n){"use strict";var r=function(){this.reset()};(function(){this.execute=function(e){var t=e.args[0];this.$doc=e.args[1],e.merge&&this.hasUndo()&&(this.dirtyCounter--,t=this.$undoStack.pop().concat(t)),this.$undoStack.push(t),this.$redoStack=[],this.dirtyCounter<0&&(this.dirtyCounter=NaN),this.dirtyCounter++},this.undo=function(e){var t=this.$undoStack.pop(),n=null;return t&&(n=this.$doc.undoChanges(t,e),this.$redoStack.push(t),this.dirtyCounter--),n},this.redo=function(e){var t=this.$redoStack.pop(),n=null;return t&&(n=this.$doc.redoChanges(t,e),this.$undoStack.push(t),this.dirtyCounter++),n},this.reset=function(){this.$undoStack=[],this.$redoStack=[],this.dirtyCounter=0},this.hasUndo=function(){return this.$undoStack.length>0},this.hasRedo=function(){return this.$redoStack.length>0},this.markClean=function(){this.dirtyCounter=0},this.isClean=function(){return this.dirtyCounter===0}}).call(r.prototype),t.UndoManager=r}),define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/lang"),o=e("../lib/event_emitter").EventEmitter,u=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$cells=[]};(function(){i.implement(this,o),this.setSession=function(e){this.session&&this.session.removeEventListener("change",this.$updateAnnotations),this.session=e,e&&e.on("change",this.$updateAnnotations)},this.addGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,t)},this.setAnnotations=function(e){this.$annotations=[];for(var t=0;t<e.length;t++){var n=e[t],r=n.row,i=this.$annotations[r];i||(i=this.$annotations[r]={text:[]});var o=n.text;o=o?s.escapeHTML(o):n.html||"",i.text.indexOf(o)===-1&&i.text.push(o);var u=n.type;u=="error"?i.className=" ace_error":u=="warning"&&i.className!=" ace_error"?i.className=" ace_warning":u=="info"&&!i.className&&(i.className=" ace_info")}},this.$updateAnnotations=function(e){if(!this.$annotations.length)return;var t=e.data,n=t.range,r=n.start.row,i=n.end.row-r;if(i!==0)if(t.action=="removeText"||t.action=="removeLines")this.$annotations.splice(r,i+1,null);else{var s=new Array(i+1);s.unshift(r,1),this.$annotations.splice.apply(this.$annotations,s)}},this.update=function(e){var t=this.session,n=e.firstRow,i=Math.min(e.lastRow+e.gutterOffset,t.getLength()-1),s=t.getNextFoldLine(n),o=s?s.start.row:Infinity,u=this.$showFoldWidgets&&t.foldWidgets,a=t.$breakpoints,f=t.$decorations,l=t.$firstLineNumber,c=0,h=t.gutterRenderer||this.$renderer,p=null,d=-1,v=n;for(;;){v>o&&(v=s.end.row+1,s=t.getNextFoldLine(v,s),o=s?s.start.row:Infinity);if(v>i){while(this.$cells.length>d+1)p=this.$cells.pop(),this.element.removeChild(p.element);break}p=this.$cells[++d],p||(p={element:null,textNode:null,foldWidget:null},p.element=r.createElement("div"),p.textNode=document.createTextNode(""),p.element.appendChild(p.textNode),this.element.appendChild(p.element),this.$cells[d]=p);var m="ace_gutter-cell ";a[v]&&(m+=a[v]),f[v]&&(m+=f[v]),this.$annotations[v]&&(m+=this.$annotations[v].className),p.element.className!=m&&(p.element.className=m);var g=t.getRowLength(v)*e.lineHeight+"px";g!=p.element.style.height&&(p.element.style.height=g);if(u){var y=u[v];y==null&&(y=u[v]=t.getFoldWidget(v))}if(y){p.foldWidget||(p.foldWidget=r.createElement("span"),p.element.appendChild(p.foldWidget));var m="ace_fold-widget ace_"+y;y=="start"&&v==o&&v<s.end.row?m+=" ace_closed":m+=" ace_open",p.foldWidget.className!=m&&(p.foldWidget.className=m);var g=e.lineHeight+"px";p.foldWidget.style.height!=g&&(p.foldWidget.style.height=g)}else p.foldWidget&&(p.element.removeChild(p.foldWidget),p.foldWidget=null);var b=c=h?h.getText(t,v):v+l;b!=p.textNode.data&&(p.textNode.data=b),v++}this.element.style.height=e.minHeight+"px";if(this.$fixedWidth||t.$useWrapMode)c=t.getLength()+l;var w=h?h.getWidth(t,c,e):c.toString().length*e.characterWidth,E=this.$padding||this.$computePadding();w+=E.left+E.right,w!==this.gutterWidth&&!isNaN(w)&&(this.gutterWidth=w,this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._emit("changeGutterWidth",w))},this.$fixedWidth=!1,this.$showLineNumbers=!0,this.$renderer="",this.setShowLineNumbers=function(e){this.$renderer=!e&&{getWidth:function(){return""},getText:function(){return""}}},this.getShowLineNumbers=function(){return this.$showLineNumbers},this.$showFoldWidgets=!0,this.setShowFoldWidgets=function(e){e?r.addCssClass(this.element,"ace_folding-enabled"):r.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=e,this.$padding=null},this.getShowFoldWidgets=function(){return this.$showFoldWidgets},this.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var e=r.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=parseInt(e.paddingLeft)+1||0,this.$padding.right=parseInt(e.paddingRight)||0,this.$padding},this.getRegion=function(e){var t=this.$padding||this.$computePadding(),n=this.element.getBoundingClientRect();if(e.x<t.left+n.left)return"markers";if(this.$showFoldWidgets&&e.x>n.right-t.right)return"foldWidgets"}}).call(u.prototype),t.Gutter=u}),define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../lib/dom"),s=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.update=function(e){var e=e||this.config;if(!e)return;this.config=e;var t=[];for(var n in this.markers){var r=this.markers[n];if(!r.range){r.update(t,this,this.session,e);continue}var i=r.range.clipRows(e.firstRow,e.lastRow);if(i.isEmpty())continue;i=i.toScreenRange(this.session);if(r.renderer){var s=this.$getTop(i.start.row,e),o=this.$padding+i.start.column*e.characterWidth;r.renderer(t,i,o,s,e)}else r.type=="fullLine"?this.drawFullLineMarker(t,i,r.clazz,e):r.type=="screenLine"?this.drawScreenLineMarker(t,i,r.clazz,e):i.isMultiLine()?r.type=="text"?this.drawTextMarker(t,i,r.clazz,e):this.drawMultiLineMarker(t,i,r.clazz,e):this.drawSingleLineMarker(t,i,r.clazz+" ace_start",e)}this.element.innerHTML=t.join("")},this.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},this.drawTextMarker=function(e,t,n,i,s){var o=t.start.row,u=new r(o,t.start.column,o,this.session.getScreenLastRowColumn(o));this.drawSingleLineMarker(e,u,n+" ace_start",i,1,s),o=t.end.row,u=new r(o,0,o,t.end.column),this.drawSingleLineMarker(e,u,n,i,0,s);for(o=t.start.row+1;o<t.end.row;o++)u.start.row=o,u.end.row=o,u.end.column=this.session.getScreenLastRowColumn(o),this.drawSingleLineMarker(e,u,n,i,1,s)},this.drawMultiLineMarker=function(e,t,n,r,i){var s=this.$padding,o=r.lineHeight,u=this.$getTop(t.start.row,r),a=s+t.start.column*r.characterWidth;i=i||"",e.push("<div class='",n," ace_start' style='","height:",o,"px;","right:0;","top:",u,"px;","left:",a,"px;",i,"'></div>"),u=this.$getTop(t.end.row,r);var f=t.end.column*r.characterWidth;e.push("<div class='",n,"' style='","height:",o,"px;","width:",f,"px;","top:",u,"px;","left:",s,"px;",i,"'></div>"),o=(t.end.row-t.start.row-1)*r.lineHeight;if(o<0)return;u=this.$getTop(t.start.row+1,r),e.push("<div class='",n,"' style='","height:",o,"px;","right:0;","top:",u,"px;","left:",s,"px;",i,"'></div>")},this.drawSingleLineMarker=function(e,t,n,r,i,s){var o=r.lineHeight,u=(t.end.column+(i||0)-t.start.column)*r.characterWidth,a=this.$getTop(t.start.row,r),f=this.$padding+t.start.column*r.characterWidth;e.push("<div class='",n,"' style='","height:",o,"px;","width:",u,"px;","top:",a,"px;","left:",f,"px;",s||"","'></div>")},this.drawFullLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;t.start.row!=t.end.row&&(o+=this.$getTop(t.end.row,r)-s),e.push("<div class='",n,"' style='","height:",o,"px;","top:",s,"px;","left:0;right:0;",i||"","'></div>")},this.drawScreenLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;e.push("<div class='",n,"' style='","height:",o,"px;","top:",s,"px;","left:0;right:0;",i||"","'></div>")}}).call(s.prototype),t.Marker=s}),define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/useragent"),u=e("../lib/event_emitter").EventEmitter,a=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this)};(function(){r.implement(this,u),this.EOF_CHAR="\u00b6",this.EOL_CHAR_LF="\u00ac",this.EOL_CHAR_CRLF="\u00a4",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="\u2192",this.SPACE_CHAR="\u00b7",this.$padding=0,this.$updateEolChar=function(){var e=this.session.doc.getNewLineCharacter()=="\n"?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=e)return this.EOL_CHAR=e,!0},this.setPadding=function(e){this.$padding=e,this.element.style.padding="0 "+e+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(e){this._signal("changeCharacterSize",e)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(e){this.session=e,e&&this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;var t=this.$tabStrings=[0];for(var n=1;n<e+1;n++)this.showInvisibles?t.push("<span class='ace_invisible ace_invisible_tab'>"+this.TAB_CHAR+s.stringRepeat(" ",n-1)+"</span>"):t.push(s.stringRepeat(" ",n));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var r="ace_indent-guide",i="",o="";if(this.showInvisibles){r+=" ace_invisible",i=" ace_invisible_space",o=" ace_invisible_tab";var u=s.stringRepeat(this.SPACE_CHAR,this.tabSize),a=this.TAB_CHAR+s.stringRepeat(" ",this.tabSize-1)}else var u=s.stringRepeat(" ",this.tabSize),a=u;this.$tabStrings[" "]="<span class='"+r+i+"'>"+u+"</span>",this.$tabStrings[" "]="<span class='"+r+o+"'>"+a+"</span>"}},this.updateLines=function(e,t,n){(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)&&this.scrollLines(e),this.config=e;var r=Math.max(t,e.firstRow),i=Math.min(n,e.lastRow),s=this.element.childNodes,o=0;for(var u=e.firstRow;u<r;u++){var a=this.session.getFoldLine(u);if(a){if(a.containsRow(r)){r=a.start.row;break}u=a.end.row}o++}var u=r,a=this.session.getNextFoldLine(u),f=a?a.start.row:Infinity;for(;;){u>f&&(u=a.end.row+1,a=this.session.getNextFoldLine(u,a),f=a?a.start.row:Infinity);if(u>i)break;var l=s[o++];if(l){var c=[];this.$renderLine(c,u,!this.$useLineGroups(),u==f?a:!1),l.style.height=e.lineHeight*this.session.getRowLength(u)+"px",l.innerHTML=c.join("")}u++}},this.scrollLines=function(e){var t=this.config;this.config=e;if(!t||t.lastRow<e.firstRow)return this.update(e);if(e.lastRow<t.firstRow)return this.update(e);var n=this.element;if(t.firstRow<e.firstRow)for(var r=this.session.getFoldedRowCount(t.firstRow,e.firstRow-1);r>0;r--)n.removeChild(n.firstChild);if(t.lastRow>e.lastRow)for(var r=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);r>0;r--)n.removeChild(n.lastChild);if(e.firstRow<t.firstRow){var i=this.$renderLinesFragment(e,e.firstRow,t.firstRow-1);n.firstChild?n.insertBefore(i,n.firstChild):n.appendChild(i)}if(e.lastRow>t.lastRow){var i=this.$renderLinesFragment(e,t.lastRow+1,e.lastRow);n.appendChild(i)}},this.$renderLinesFragment=function(e,t,n){var r=this.element.ownerDocument.createDocumentFragment(),s=t,o=this.session.getNextFoldLine(s),u=o?o.start.row:Infinity;for(;;){s>u&&(s=o.end.row+1,o=this.session.getNextFoldLine(s,o),u=o?o.start.row:Infinity);if(s>n)break;var a=i.createElement("div"),f=[];this.$renderLine(f,s,!1,s==u?o:!1),a.innerHTML=f.join("");if(this.$useLineGroups())a.className="ace_line_group",r.appendChild(a),a.style.height=e.lineHeight*this.session.getRowLength(s)+"px";else while(a.firstChild)r.appendChild(a.firstChild);s++}return r},this.update=function(e){this.config=e;var t=[],n=e.firstRow,r=e.lastRow,i=n,s=this.session.getNextFoldLine(i),o=s?s.start.row:Infinity;for(;;){i>o&&(i=s.end.row+1,s=this.session.getNextFoldLine(i,s),o=s?s.start.row:Infinity);if(i>r)break;this.$useLineGroups()&&t.push("<div class='ace_line_group' style='height:",e.lineHeight*this.session.getRowLength(i),"px'>"),this.$renderLine(t,i,!1,i==o?s:!1),this.$useLineGroups()&&t.push("</div>"),i++}this.element.innerHTML=t.join("")},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,n,r){var i=this,o=/\t|&|<|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\u3000\uFEFF])|[\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3000-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]/g,u=function(e,n,r,o,u){if(n)return i.showInvisibles?"<span class='ace_invisible ace_invisible_space'>"+s.stringRepeat(i.SPACE_CHAR,e.length)+"</span>":e;if(e=="&")return"&";if(e=="<")return"<";if(e==" "){var a=i.session.getScreenTabSize(t+o);return t+=a-1,i.$tabStrings[a]}if(e=="\u3000"){var f=i.showInvisibles?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",l=i.showInvisibles?i.SPACE_CHAR:"";return t+=1,"<span class='"+f+"' style='width:"+i.config.characterWidth*2+"px'>"+l+"</span>"}return r?"<span class='ace_invisible ace_invisible_space ace_invalid'>"+i.SPACE_CHAR+"</span>":(t+=1,"<span class='ace_cjk' style='width:"+i.config.characterWidth*2+"px'>"+e+"</span>")},a=r.replace(o,u);if(!this.$textToken[n.type]){var f="ace_"+n.type.replace(/\./g," ace_"),l="";n.type=="fold"&&(l=" style='width:"+n.value.length*this.config.characterWidth+"px;' "),e.push("<span class='",f,"'",l,">",a,"</span>")}else e.push(a);return t+r.length},this.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);return r<=0||r>=n?t:t[0]==" "?(r-=r%this.tabSize,e.push(s.stringRepeat(this.$tabStrings[" "],r/this.tabSize)),t.substr(r)):t[0]==" "?(e.push(s.stringRepeat(this.$tabStrings[" "],r)),t.substr(r)):t},this.$renderWrappedLine=function(e,t,n,r){var i=0,s=0,o=n[0],u=0;for(var a=0;a<t.length;a++){var f=t[a],l=f.value;if(a==0&&this.displayIndentGuides){i=l.length,l=this.renderIndentGuide(e,l,o);if(!l)continue;i-=l.length}if(i+l.length<o)u=this.$renderToken(e,u,f,l),i+=l.length;else{while(i+l.length>=o)u=this.$renderToken(e,u,f,l.substring(0,o-i)),l=l.substring(o-i),i=o,r||e.push("</div>","<div class='ace_line' style='height:",this.config.lineHeight,"px'>"),s++,u=0,o=n[s]||Number.MAX_VALUE;l.length!=0&&(i+=l.length,u=this.$renderToken(e,u,f,l))}}},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],i=r.value;this.displayIndentGuides&&(i=this.renderIndentGuide(e,i)),i&&(n=this.$renderToken(e,n,r,i));for(var s=1;s<t.length;s++)r=t[s],i=r.value,n=this.$renderToken(e,n,r,i)},this.$renderLine=function(e,t,n,r){!r&&r!=0&&(r=this.session.getFoldLine(t));if(r)var i=this.$getFoldLineTokens(t,r);else var i=this.session.getTokens(t);n||e.push("<div class='ace_line' style='height:",this.config.lineHeight*(this.$useLineGroups()?1:this.session.getRowLength(t)),"px'>");if(i.length){var s=this.session.getRowSplitData(t);s&&s.length?this.$renderWrappedLine(e,i,s,n):this.$renderSimpleLine(e,i)}this.showInvisibles&&(r&&(t=r.end.row),e.push("<span class='ace_invisible ace_invisible_eol'>",t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,"</span>")),n||e.push("</div>")},this.$getFoldLineTokens=function(e,t){function i(e,t,n){var i=0,s=0;while(s+e[i].value.length<t){s+=e[i].value.length,i++;if(i==e.length)return}if(s!=t){var o=e[i].value.substring(t-s);o.length>n-t&&(o=o.substring(0,n-t)),r.push({type:e[i].type,value:o}),s=t+o.length,i+=1}while(s<n&&i<e.length){var o=e[i].value;o.length+s>n?r.push({type:e[i].type,value:o.substring(0,n-s)}):r.push(e[i]),s+=o.length,i+=1}}var n=this.session,r=[],s=n.getTokens(e);return t.walk(function(e,t,o,u,a){e!=null?r.push({type:"fold",value:e}):(a&&(s=n.getTokens(t)),s.length&&i(s,u,o))},t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}}).call(a.prototype),t.Text=a}),define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i,s=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),i===undefined&&(i="opacity"in this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),r.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateVisibility.bind(this)};(function(){this.$updateVisibility=function(e){var t=this.cursors;for(var n=t.length;n--;)t[n].style.visibility=e?"":"hidden"},this.$updateOpacity=function(e){var t=this.cursors;for(var n=t.length;n--;)t[n].style.opacity=e?"":"0"},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&!i&&(this.smoothBlinking=e,r.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.$updateCursors=(e?this.$updateOpacity:this.$updateVisibility).bind(this),this.restartTimer())},this.addCursor=function(){var e=r.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,r.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,r.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.smoothBlinking&&r.removeCssClass(this.element,"ace_smooth-blinking"),e(!0);if(!this.isBlinking||!this.blinkInterval||!this.isVisible)return;this.smoothBlinking&&setTimeout(function(){r.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));var t=function(){this.timeoutId=setTimeout(function(){e(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){e(!0),t()},this.blinkInterval),t()},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e),r=this.$padding+n.column*this.config.characterWidth,i=(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:i}},this.update=function(e){this.config=e;var t=this.session.$selectionMarkers,n=0,r=0;if(t===undefined||t.length===0)t=[{cursor:null}];for(var n=0,i=t.length;n<i;n++){var s=this.getPixelPosition(t[n].cursor,!0);if((s.top>e.height+e.offset||s.top<0)&&n>1)continue;var o=(this.cursors[r++]||this.addCursor()).style;this.drawCursor?this.drawCursor(o,s,e,t[n],this.session):(o.left=s.left+"px",o.top=s.top+"px",o.width=e.characterWidth+"px",o.height=e.lineHeight+"px")}while(this.cursors.length>r)this.removeCursor();var u=this.session.getOverwrite();this.$setOverwrite(u),this.$pixelPos=s,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?r.addCssClass(this.element,"ace_overwrite-cursors"):r.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(s.prototype),t.Cursor=s}),define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/event"),o=e("./lib/event_emitter").EventEmitter,u=function(e){this.element=i.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=i.createElement("div"),this.inner.className="ace_scrollbar-inner",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addListener(this.element,"scroll",this.onScroll.bind(this)),s.addListener(this.element,"mousedown",s.preventDefault)};(function(){r.implement(this,o),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e}}).call(u.prototype);var a=function(e,t){u.call(this,e),this.scrollTop=0,t.$scrollbarWidth=this.width=i.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px"};r.inherits(a,u),function(){this.classSuffix="-v",this.onScroll=function(){this.skipEvent||(this.scrollTop=this.element.scrollTop,this._emit("scroll",{data:this.scrollTop})),this.skipEvent=!1},this.getWidth=function(){return this.isVisible?this.width:0},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=function(e){this.inner.style.height=e+"px"},this.setScrollHeight=function(e){this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=this.element.scrollTop=e)}}.call(a.prototype);var f=function(e,t){u.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};r.inherits(f,u),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(f.prototype),t.ScrollBar=a,t.ScrollBarV=a,t.ScrollBarH=f,t.VScrollBar=a,t.HScrollBar=f}),define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,n){"use strict";var r=e("./lib/event"),i=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.window=t||window};(function(){this.schedule=function(e){this.changes=this.changes|e;if(!this.pending&&this.changes){this.pending=!0;var t=this;r.nextFrame(function(){t.pending=!1;var e;while(e=t.changes)t.changes=0,t.onRender(e)},this.window)}}}).call(i.prototype),t.RenderLoop=i}),define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/useragent"),u=e("../lib/event_emitter").EventEmitter,a=0,f=t.FontMetrics=function(e,t){this.el=i.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=i.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=i.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),a||this.$testFractionalRect(),this.$measureNode.innerHTML=s.stringRepeat("X",a),this.$characterSize={width:0,height:0},this.checkForSizeChanges()};(function(){r.implement(this,u),this.$characterSize={width:0,height:0},this.$testFractionalRect=function(){var e=i.createElement("div");this.$setMeasureNodeStyles(e.style),e.style.width="0.2px",document.documentElement.appendChild(e);var t=e.getBoundingClientRect().width;t>0&&t<1?a=50:a=100,e.parentNode.removeChild(e)},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",o.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(){var e=this.$measureSizes();if(e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=setInterval(function(){e.checkForSizeChanges()},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&this.$pollSizeChangesTimer},this.$measureSizes=function(){if(a===50){var e=null;try{e=this.$measureNode.getBoundingClientRect()}catch(t){e={width:0,height:0}}var n={height:e.height,width:e.width/a}}else var n={height:this.$measureNode.clientHeight,width:this.$measureNode.clientWidth/a};return n.width===0||n.height===0?null:n},this.$measureCharWidth=function(e){this.$main.innerHTML=s.stringRepeat(e,a);var t=this.$main.getBoundingClientRect();return t.width/a},this.getCharacterWidth=function(e){var t=this.charSizes[e];return t===undefined&&(this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)}}).call(f.prototype)}),define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/lib/useragent","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./config"),o=e("./lib/useragent"),u=e("./layer/gutter").Gutter,a=e("./layer/marker").Marker,f=e("./layer/text").Text,l=e("./layer/cursor").Cursor,c=e("./scrollbar").HScrollBar,h=e("./scrollbar").VScrollBar,p=e("./renderloop").RenderLoop,d=e("./layer/font_metrics").FontMetrics,v=e("./lib/event_emitter").EventEmitter,m='.ace_editor {position: relative;overflow: hidden;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;min-width: 100%;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;text-indent: -1em;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;}.ace_text-input.ace_composition {background: inherit;color: inherit;z-index: 1000;opacity: 1;text-indent: 0;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;}.ace_text-layer {font: inherit !important;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;border-left: 2px solid}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {-webkit-transition: opacity 0.18s;transition: opacity 0.18s;}.ace_editor.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}.ace_line .ace_fold {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {-webkit-transition: opacity 0.4s ease 0.05s;transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {-webkit-transition: opacity 0.05s ease 0.05s;transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}';i.importCssString(m,"ace_editor.css");var g=function(e,t){var n=this;this.container=e||i.createElement("div"),this.$keepTextAreaAtCursor=!o.isOldIE,i.addCssClass(this.container,"ace_editor"),this.setTheme(t),this.$gutter=i.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.scroller=i.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=i.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new u(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new a(this.content);var r=this.$textLayer=new f(this.content);this.canvas=r.element,this.$markerFront=new a(this.content),this.$cursorLayer=new l(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new h(this.container,this),this.scrollBarH=new c(this.container,this),this.scrollBarV.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollTop(e.data-n.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollLeft(e.data-n.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new d(this.container,500),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener("changeCharacterSize",function(e){n.updateCharacterSize(),n.onResize(!0,n.gutterWidth,n.$size.width,n.$size.height),n._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$loop=new p(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),s.resetOptions(this),s._emit("renderer",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,r.implement(this,v),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin()},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=e,e&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e);if(!e)return;this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode)},this.updateLines=function(e,t,n){t===undefined&&(t=Infinity),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRow<t&&(this.$changedLines.lastRow=t)):this.$changedLines={firstRow:e,lastRow:t};if(this.$changedLines.lastRow<this.layerConfig.firstRow){if(!n)return;this.$changedLines.lastRow=this.layerConfig.lastRow}if(this.$changedLines.firstRow>this.layerConfig.lastRow)return;this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar()},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,n,r){if(this.resizing>2)return;this.resizing>0?this.resizing++:this.resizing=e?1:0;var i=this.container;r||(r=i.clientHeight||i.scrollHeight),n||(n=i.clientWidth||i.scrollWidth);var s=this.$updateCachedSize(e,t,n,r);if(!this.$size.scrollerHeight||!n&&!r)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(s|this.$changes,!0):this.$loop.schedule(s|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null},this.$updateCachedSize=function(e,t,n,r){r-=this.$extraHeight||0;var i=0,s=this.$size,o={width:s.width,height:s.height,scrollerHeight:s.scrollerHeight,scrollerWidth:s.scrollerWidth};r&&(e||s.height!=r)&&(s.height=r,i|=this.CHANGE_SIZE,s.scrollerHeight=s.height,this.$horizScroll&&(s.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",i|=this.CHANGE_SCROLL);if(n&&(e||s.width!=n)){i|=this.CHANGE_SIZE,s.width=n,t==null&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,this.scrollBarH.element.style.left=this.scroller.style.left=t+"px",s.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()),this.scrollBarH.element.style.right=this.scroller.style.right=this.scrollBarV.getWidth()+"px",this.scroller.style.bottom=this.scrollBarH.getHeight()+"px";if(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)i|=this.CHANGE_FULL}return s.$dirty=!n||!r,i&&this._signal("resize",o),i},this.onGutterResize=function(){var e=this.$showGutter?this.$gutter.offsetWidth:0;e!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,e,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):(this.$computeLayerConfig(),this.$loop.schedule(this.CHANGE_MARKER))},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-this.$padding*2,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption("showInvisibles",e)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},this.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(e){return this.setOption("showGutter",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updateGutterLineHighlight=function(){var e=this.$cursorLayer.$pixelPos,t=this.layerConfig.lineHeight;if(this.session.getUseWrapMode()){var n=this.session.selection.getCursor();n.column=0,e=this.$cursorLayer.getPixelPosition(n,!0),t*=this.session.getRowLength(n.row)}this.$gutterLineHighlight.style.top=e.top-this.layerConfig.offset+"px",this.$gutterLineHighlight.style.height=t+"px"},this.$updatePrintMargin=function(){if(!this.$showPrintMargin&&!this.$printMarginEl)return;if(!this.$printMarginEl){var e=i.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=i.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=this.characterWidth*this.$printMarginColumn+this.$padding+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.content},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(!this.$keepTextAreaAtCursor)return;var e=this.layerConfig,t=this.$cursorLayer.$pixelPos.top,n=this.$cursorLayer.$pixelPos.left;t-=e.offset;var r=this.textarea.style,i=this.lineHeight;if(t<0||t>e.height-i){r.top=r.left="0";return}var s=this.characterWidth;if(this.$composition){var o=this.textarea.value.replace(/^\x01+/,"");s*=this.session.$getStringScreenWidth(o)[0]+2,i+=2}n-=this.scrollLeft,n>this.$size.scrollerWidth-s&&(n=this.$size.scrollerWidth-s),n+=this.gutterWidth,r.height=i+"px",r.width=s+"px",r.left=Math.min(n,this.$size.scrollerWidth-s)+"px",r.top=Math.min(t,this.$size.height-i)+"px"},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},this.getLastFullyVisibleRow=function(){var e=Math.floor((this.layerConfig.height+this.layerConfig.offset)/this.layerConfig.lineHeight);return this.layerConfig.firstRow-1+e},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,n,r){var i=this.scrollMargin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,i.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-i.top),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){this.$changes&&(e|=this.$changes,this.$changes=0);if(!this.session||!this.container.offsetWidth||this.$frozen||!e&&!t){this.$changes|=e;return}if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender");var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){e|=this.$computeLayerConfig();if(n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var r=this.scrollTop+(n.firstRow-this.layerConfig.firstRow)*this.lineHeight;r>0&&(this.scrollTop=r,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),this.$gutterLayer.element.style.marginTop=-n.offset+"px",this.content.style.marginTop=-n.offset+"px",this.content.style.width=n.width+2*this.$padding+"px",this.content.style.height=n.minHeight+"px"}e&this.CHANGE_H_SCROLL&&(this.content.style.marginLeft=-this.scrollLeft+"px",this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left");if(e&this.CHANGE_FULL){this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this._signal("afterRender");return}if(e&this.CHANGE_SCROLL){e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this.$moveTextAreaToCursor(),this._signal("afterRender");return}e&this.CHANGE_TEXT?(this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n):(e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER)&&this.$showGutter&&this.$gutterLayer.update(n),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),this._signal("afterRender")},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.max((this.$minLines||1)*this.lineHeight,Math.min(t,e))+this.scrollMargin.v+(this.$extraHeight||0),r=e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||r!=this.$vScroll){r!=this.$vScroll&&(this.$vScroll=r,this.scrollBarV.setVisible(r));var i=this.container.clientWidth;this.container.style.height=n+"px",this.$updateCachedSize(!0,this.$gutterWidth,i,n),this.desiredHeight=n,this._signal("autosize")}},this.$computeLayerConfig=function(){this.$maxLines&&this.lineHeight>1&&this.$autosize();var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,r=this.session.getScreenLength(),i=r*this.lineHeight,s=this.scrollTop%this.lineHeight,o=t.scrollerHeight+this.lineHeight,u=this.$getLongestLine(),a=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-u-2*this.$padding<0),f=this.$horizScroll!==a;f&&(this.$horizScroll=a,this.scrollBarH.setVisible(a));var l=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;i+=l,this.session.setScrollTop(Math.max(-this.scrollMargin.top,Math.min(this.scrollTop,i-t.scrollerHeight+this.scrollMargin.bottom))),this.session.setScrollLeft(Math.max(-this.scrollMargin.left,Math.min(this.scrollLeft,u+2*this.$padding-t.scrollerWidth+this.scrollMargin.right)));var c=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-i+l<0||this.scrollTop),h=this.$vScroll!==c;h&&(this.$vScroll=c,this.scrollBarV.setVisible(c));var p=Math.ceil(o/this.lineHeight)-1,d=Math.max(0,Math.round((this.scrollTop-s)/this.lineHeight)),v=d+p,m,g,y=this.lineHeight;d=e.screenToDocumentRow(d,0);var b=e.getFoldLine(d);b&&(d=b.start.row),m=e.documentToScreenRow(d,0),g=e.getRowLength(d)*y,v=Math.min(e.screenToDocumentRow(v,0),e.getLength()-1),o=t.scrollerHeight+e.getRowLength(v)*y+g,s=this.scrollTop-m*y;var w=0;this.layerConfig.width!=u&&(w=this.CHANGE_H_SCROLL);if(f||h)w=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),h&&(u=this.$getLongestLine());return this.layerConfig={width:u,padding:this.$padding,firstRow:d,firstRowScreen:m,lastRow:v,lineHeight:y,characterWidth:this.characterWidth,minHeight:o,maxHeight:i,offset:s,gutterOffset:Math.max(0,Math.ceil((s+t.height-t.scrollerHeight)/y)),height:this.$size.scrollerHeight},w},this.$updateLines=function(){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(e>n.lastRow+1)return;if(t<n.firstRow)return;if(t===Infinity){this.$showGutter&&this.$gutterLayer.update(n),this.$textLayer.update(n);return}return this.$textLayer.updateLines(n,e,t),!0},this.$getLongestLine=function(){var e=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(e+=1),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*this.characterWidth))},this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},this.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},this.updateBreakpoints=function(e){this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},this.hideCursor=function(){this.$cursorLayer.hideCursor()},this.showCursor=function(){this.$cursorLayer.showCursor()},this.scrollSelectionIntoView=function(e,t,n){this.scrollCursorIntoView(e,n),this.scrollCursorIntoView(t,n)},this.scrollCursorIntoView=function(e,t,n){if(this.$size.scrollerHeight===0)return;var r=this.$cursorLayer.getPixelPosition(e),i=r.left,s=r.top,o=n&&n.top||0,u=n&&n.bottom||0,a=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;a+o>s?(t&&(s-=t*this.$size.scrollerHeight),s===0&&(s=-this.scrollMargin.top),this.session.setScrollTop(s)):a+this.$size.scrollerHeight-u<s+this.lineHeight&&(t&&(s+=t*this.$size.scrollerHeight),this.session.setScrollTop(s+this.lineHeight-this.$size.scrollerHeight));var f=this.scrollLeft;f>i?(i<this.$padding+2*this.layerConfig.characterWidth&&(i=-this.scrollMargin.left),this.session.setScrollLeft(i)):f+this.$size.scrollerWidth<i+this.characterWidth?this.session.setScrollLeft(Math.round(i+this.characterWidth-this.$size.scrollerWidth)):f<=this.$padding&&i-f<this.characterWidth&&this.session.setScrollLeft(0)},this.getScrollTop=function(){return this.session.getScrollTop()},this.getScrollLeft=function(){return this.session.getScrollLeft()},this.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},this.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},this.scrollToRow=function(e){this.session.setScrollTop(e*this.lineHeight)},this.alignCursor=function(e,t){typeof e=="number"&&(e={row:e,column:0});var n=this.$cursorLayer.getPixelPosition(e),r=this.$size.scrollerHeight-this.lineHeight,i=n.top-r*(t||0);return this.session.setScrollTop(i),i},this.STEPS=8,this.$calcSteps=function(e,t){var n=0,r=this.STEPS,i=[],s=function(e,t,n){return n*(Math.pow(e-1,3)+1)+t};for(n=0;n<r;++n)i.push(s(n/this.STEPS,e,t-e));return i},this.scrollToLine=function(e,t,n,r){var i=this.$cursorLayer.getPixelPosition({row:e,column:0}),s=i.top;t&&(s-=this.$size.scrollerHeight/2);var o=this.scrollTop;this.session.setScrollTop(s),n!==!1&&this.animateScrolling(o,r)},this.animateScrolling=function(e,t){var n=this.scrollTop;if(!this.$animatedScroll)return;var r=this;if(e==n)return;if(this.$scrollAnimation){var i=this.$scrollAnimation.steps;if(i.length){e=i[0];if(e==n)return}}var s=r.$calcSteps(e,n);this.$scrollAnimation={from:e,to:n,steps:s},clearInterval(this.$timer),r.session.setScrollTop(s.shift()),r.session.$scrollTop=n,this.$timer=setInterval(function(){s.length?(r.session.setScrollTop(s.shift()),r.session.$scrollTop=n):n!=null?(r.session.$scrollTop=-1,r.session.setScrollTop(n),n=null):(r.$timer=clearInterval(r.$timer),r.$scrollAnimation=null,t&&t())},10)},this.scrollToY=function(e){this.scrollTop!==e&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=e)},this.scrollToX=function(e){this.scrollLeft!==e&&(this.scrollLeft=e),this.$loop.schedule(this.CHANGE_H_SCROLL)},this.scrollTo=function(e,t){this.session.setScrollTop(t),this.session.setScrollLeft(t)},this.scrollBy=function(e,t){t&&this.session.setScrollTop(this.session.getScrollTop()+t),e&&this.session.setScrollLeft(this.session.getScrollLeft()+e)},this.isScrollableBy=function(e,t){if(t<0&&this.session.getScrollTop()>=1-this.scrollMargin.top)return!0;if(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom)return!0;if(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left)return!0;if(e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},this.pixelToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=(e+this.scrollLeft-n.left-this.$padding)/this.characterWidth,i=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),s=Math.round(r);return{row:i,column:s,side:r-s>0?1:-1}},this.screenToTextCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=Math.round((e+this.scrollLeft-n.left-this.$padding)/this.characterWidth),i=(t+this.scrollTop-n.top)/this.lineHeight;return this.session.screenToDocumentPosition(i,Math.max(r,0))},this.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),i=this.$padding+Math.round(r.column*this.characterWidth),s=r.row*this.lineHeight;return{pageX:n.left+i-this.scrollLeft,pageY:n.top+s-this.scrollTop}},this.visualizeFocus=function(){i.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){i.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){this.$composition||(this.$composition={keepTextAreaAtCursor:this.$keepTextAreaAtCursor,cssText:this.textarea.style.cssText}),this.$keepTextAreaAtCursor=!0,i.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor()},this.setCompositionText=function(e){this.$moveTextAreaToCursor()},this.hideComposition=function(){if(!this.$composition)return;i.removeCssClass(this.textarea,"ace_composition"),this.$keepTextAreaAtCursor=this.$composition.keepTextAreaAtCursor,this.textarea.style.cssText=this.$composition.cssText,this.$composition=null},this.setTheme=function(e,t){function o(r){if(n.$themeId!=e)return t&&t();if(!r.cssClass)return;i.importCssString(r.cssText,r.cssClass,n.container.ownerDocument),n.theme&&i.removeCssClass(n.container,n.theme.cssClass);var s="padding"in r?r.padding:"padding"in(n.theme||{})?4:n.$padding;n.$padding&&s!=n.$padding&&n.setPadding(s),n.$theme=r.cssClass,n.theme=r,i.addCssClass(n.container,r.cssClass),i.setCssClass(n.container,"ace_dark",r.isDark),n.$size&&(n.$size.width=0,n.$updateSizeAsync()),n._dispatchEvent("themeLoaded",{theme:r}),t&&t()}var n=this;this.$themeId=e,n._dispatchEvent("themeChange",{theme:e});if(!e||typeof e=="string"){var r=e||this.$options.theme.initialValue;s.loadModule(["theme",r],o)}else o(e)},this.getTheme=function(){return this.$themeId},this.setStyle=function(e,t){i.setCssClass(this.container,e,t!==!1)},this.unsetStyle=function(e){i.removeCssClass(this.container,e)},this.setCursorStyle=function(e){this.scroller.style.cursor!=e&&(this.scroller.style.cursor=e)},this.setMouseCursor=function(e){this.scroller.style.cursor=e},this.destroy=function(){this.$textLayer.destroy(),this.$cursorLayer.destroy()}}).call(g.prototype),s.defineOptions(g.prototype,"renderer",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(e){typeof e=="number"&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(e){i.setCssClass(this.$gutter,"ace_fade-fold-widgets",e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e)},initialValue:!0},showLineNumbers:{set:function(e){this.$gutterLayer.setShowLineNumbers(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightGutterLine:{set:function(e){if(!this.$gutterLineHighlight){this.$gutterLineHighlight=i.createElement("div"),this.$gutterLineHighlight.className="ace_gutter-active-line",this.$gutter.appendChild(this.$gutterLineHighlight);return}this.$gutterLineHighlight.style.display=e?"":"none",this.$cursorLayer.$pixelPos&&this.$updateGutterLineHighlight()},initialValue:!1,value:!0},hScrollBarAlwaysVisible:{set:function(e){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(e){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){typeof e=="number"&&(e+="px"),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(e){this.updateFull()}},minLines:{set:function(e){this.updateFull()}},scrollPastEnd:{set:function(e){e=+e||0;if(this.$scrollPastEnd==e)return;this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}},theme:{set:function(e){this.setTheme(e)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0}}),t.VirtualRenderer=g}),define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/net"),s=e("../lib/event_emitter").EventEmitter,o=e("../config"),u=function(t,n,r,i){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl);if(o.get("packaged")||!e.toUrl)i=i||o.moduleUrl(n,"worker");else{var s=this.$normalizePath;i=i||s(e.toUrl("ace/worker/worker.js",null,"_"));var u={};t.forEach(function(t){u[t]=s(e.toUrl(t,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}try{this.$worker=new Worker(i)}catch(a){if(!(a instanceof window.DOMException))throw a;var f=this.$workerBlob(i),l=window.URL||window.webkitURL,c=l.createObjectURL(f);this.$worker=new Worker(c),l.revokeObjectURL(c)}this.$worker.postMessage({init:!0,tlns:u,module:n,classname:r}),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){r.implement(this,s),this.onMessage=function(e){var t=e.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var n=this.callbacks[t.id];n&&(n(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data)}},this.reportError=function(e){window.console&&console.error&&console.error(e)},this.$normalizePath=function(e){return i.qualifyURL(e)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,n){if(n){var r=this.callbackId++;this.callbacks[r]=n,t.push(r)}this.send(e,t)},this.emit=function(e,t){try{this.$worker.postMessage({event:e,data:{data:t.data}})}catch(n){console.error(n.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener)},this.changeListener=function(e){this.deltaQueue?this.deltaQueue.push(e.data):(this.deltaQueue=[e.data],setTimeout(this.$sendDeltaQueue,0))},this.$sendDeltaQueue=function(){var e=this.deltaQueue;if(!e)return;this.deltaQueue=null,e.length>20&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e})},this.$workerBlob=function(e){var t="importScripts('"+i.qualifyURL(e)+"');";try{return new Blob([t],{type:"application/javascript"})}catch(n){var r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,s=new r;return s.append(t),s.getBlob("application/javascript")}}}).call(u.prototype);var a=function(e,t,n){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.callbackId=1,this.callbacks={},this.messageBuffer=[];var r=null,i=!1,u=Object.create(s),a=this;this.$worker={},this.$worker.terminate=function(){},this.$worker.postMessage=function(e){a.messageBuffer.push(e),r&&(i?setTimeout(f):f())},this.setEmitSync=function(e){i=e};var f=function(){var e=a.messageBuffer.shift();e.command?r[e.command].apply(r,e.args):e.event&&u._signal(e.event,e.data)};u.postMessage=function(e){a.onMessage({data:e})},u.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},u.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},o.loadModule(["worker",t],function(e){r=new e[n](u);while(a.messageBuffer.length)f()})};a.prototype=u.prototype,t.UIWorkerClient=a,t.WorkerClient=u}),define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./range").Range,i=e("./lib/event_emitter").EventEmitter,s=e("./lib/oop"),o=function(e,t,n,r,i,s){var o=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=i,this.othersClass=s,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=r,this.$onCursorChange=function(){setTimeout(function(){o.onCursorChange()})},this.$pos=n;var u=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=u.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){s.implement(this,i),this.setup=function(){var e=this,t=this.doc,n=this.session,i=this.$pos;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=t.createAnchor(i.row,i.column),this.markerId=n.addMarker(new r(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.pos.on("change",function(t){n.removeMarker(e.markerId),e.markerId=n.addMarker(new r(t.value.row,t.value.column,t.value.row,t.value.column+e.length),e.mainClass,null,!1)}),this.others=[],this.$others.forEach(function(n){var r=t.createAnchor(n.row,n.column);e.others.push(r)}),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(this.othersActive)return;var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1),n.on("change",function(i){e.removeMarker(n.markerId),n.markerId=e.addMarker(new r(i.value.row,i.value.column,i.value.row,i.value.column+t.length),t.othersClass,null,!1)})})},this.hideOtherMarkers=function(){if(!this.othersActive)return;this.othersActive=!1;for(var e=0;e<this.others.length;e++)this.session.removeMarker(this.others[e].markerId)},this.onUpdate=function(e){var t=e.data,n=t.range;if(n.start.row!==n.end.row)return;if(n.start.row!==this.pos.row)return;if(this.$updating)return;this.$updating=!0;var i=t.action==="insertText"?n.end.column-n.start.column:n.start.column-n.end.column;if(n.start.column>=this.pos.column&&n.start.column<=this.pos.column+this.length+1){var s=n.start.column-this.pos.column;this.length+=i;if(!this.session.$fromUndo){if(t.action==="insertText")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};u.row===n.start.row&&n.start.column<u.column&&(a.column+=i),this.doc.insert(a,t.text)}else if(t.action==="removeText")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};u.row===n.start.row&&n.start.column<u.column&&(a.column+=i),this.doc.remove(new r(a.row,a.column,a.row,a.column-i))}n.start.column===this.pos.column&&t.action==="insertText"?setTimeout(function(){this.pos.setPosition(this.pos.row,this.pos.column-i);for(var e=0;e<this.others.length;e++){var t=this.others[e],r={row:t.row,column:t.column-i};t.row===n.start.row&&n.start.column<t.column&&(r.column+=i),t.setPosition(r.row,r.column)}}.bind(this),0):n.start.column===this.pos.column&&t.action==="removeText"&&setTimeout(function(){for(var e=0;e<this.others.length;e++){var t=this.others[e];t.row===n.start.row&&n.start.column<t.column&&t.setPosition(t.row,t.column-i)}}.bind(this),0)}this.pos._emit("change",{value:this.pos});for(var o=0;o<this.others.length;o++)this.others[o]._emit("change",{value:this.others[o]})}this.$updating=!1},this.onCursorChange=function(e){if(this.$updating||!this.session)return;var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))},this.detach=function(){this.session.removeMarker(this.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.pos.detach();for(var e=0;e<this.others.length;e++)this.others[e].detach();this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(this.$undoStackDepth===-1)throw Error("Canceling placeholders only supported with undo manager attached to session.");var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth;for(var n=0;n<t;n++)e.undo(!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}}).call(o.prototype),t.PlaceHolder=o}),define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){function s(e,t){return e.row==t.row&&e.column==t.column}function o(e){var t=e.domEvent,n=t.altKey,o=t.shiftKey,u=t.ctrlKey,a=e.getAccelKey(),f=e.getButton();u&&i.isMac&&(f=t.button);if(e.editor.inMultiSelectMode&&f==2){e.editor.textInput.onContextMenu(e.domEvent);return}if(!u&&!n&&!a){f===0&&e.editor.inMultiSelectMode&&e.editor.exitMultiSelectMode();return}if(f!==0)return;var l=e.editor,c=l.selection,h=l.inMultiSelectMode,p=e.getDocumentPosition(),d=c.getCursor(),v=e.inSelection()||c.isEmpty()&&s(p,d),m=e.x,g=e.y,y=function(e){m=e.clientX,g=e.clientY},b=l.session,w=l.renderer.pixelToScreenCoordinates(m,g),E=w,S;if(l.$mouseHandler.$enableJumpToDef)u&&n||a&&n?S="add":n&&(S="block");else if(a&&!n){S="add";if(!h&&o)return}else n&&(S="block");S&&i.isMac&&t.ctrlKey&&l.$mouseHandler.cancelContextMenu();if(S=="add"){if(!h&&v)return;if(!h){var x=c.toOrientedRange();l.addSelectionMarker(x)}var T=c.rangeList.rangeAtPoint(p);l.$blockScrolling++,l.inVirtualSelectionMode=!0,o&&(T=null,x=c.ranges[0],l.removeSelectionMarker(x)),l.once("mouseup",function(){var e=c.toOrientedRange();T&&e.isEmpty()&&s(T.cursor,e.cursor)?c.substractPoint(e.cursor):(o?c.substractPoint(x.cursor):x&&(l.removeSelectionMarker(x),c.addRange(x)),c.addRange(e)),l.$blockScrolling--,l.inVirtualSelectionMode=!1})}else if(S=="block"){e.stop(),l.inVirtualSelectionMode=!0;var N,C=[],k=function(){var e=l.renderer.pixelToScreenCoordinates(m,g),t=b.screenToDocumentPosition(e.row,e.column);if(s(E,e)&&s(t,c.lead))return;E=e,l.$blockScrolling++,l.selection.moveToPosition(t),l.renderer.scrollCursorIntoView(),l.removeSelectionMarkers(C),C=c.rectangularRangeBlock(E,w),l.$mouseHandler.$clickSelection&&C.length==1&&C[0].isEmpty()&&(C[0]=l.$mouseHandler.$clickSelection.clone()),C.forEach(l.addSelectionMarker,l),l.updateSelectionMarkers(),l.$blockScrolling--};l.$blockScrolling++,h&&!a?c.toSingleRange():!h&&a&&(N=c.toOrientedRange(),l.addSelectionMarker(N)),o?w=b.documentToScreenPosition(c.lead):c.moveToPosition(p),l.$blockScrolling--,E={row:-1,column:-1};var L=function(e){clearInterval(O),l.removeSelectionMarkers(C),C.length||(C=[c.toOrientedRange()]),l.$blockScrolling++,N&&(l.removeSelectionMarker(N),c.toSingleRange(N));for(var t=0;t<C.length;t++)c.addRange(C[t]);l.inVirtualSelectionMode=!1,l.$mouseHandler.$clickSelection=null,l.$blockScrolling--},A=k;r.capture(l.container,y,L);var O=setInterval(function(){A()},20);return e.preventDefault()}}var r=e("../lib/event"),i=e("../lib/useragent");t.onMouseDown=o}),define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(e,t,n){t.defaultCommands=[{name:"addCursorAbove",exec:function(e){e.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readonly:!0},{name:"addCursorBelow",exec:function(e){e.selectMoreLines(1)},bindKey:{win:"Ctrl-Alt-Down",mac:"Ctrl-Alt-Down"},scrollIntoView:"cursor",readonly:!0},{name:"addCursorAboveSkipCurrent",exec:function(e){e.selectMoreLines(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Up",mac:"Ctrl-Alt-Shift-Up"},scrollIntoView:"cursor",readonly:!0},{name:"addCursorBelowSkipCurrent",exec:function(e){e.selectMoreLines(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Down",mac:"Ctrl-Alt-Shift-Down"},scrollIntoView:"cursor",readonly:!0},{name:"selectMoreBefore",exec:function(e){e.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readonly:!0},{name:"selectMoreAfter",exec:function(e){e.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readonly:!0},{name:"selectNextBefore",exec:function(e){e.selectMore(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Left",mac:"Ctrl-Alt-Shift-Left"},scrollIntoView:"cursor",readonly:!0},{name:"selectNextAfter",exec:function(e){e.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},scrollIntoView:"cursor",readonly:!0},{name:"splitIntoLines",exec:function(e){e.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readonly:!0},{name:"alignCursors",exec:function(e){e.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",exec:function(e){e.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readonly:!0}],t.multiSelectCommands=[{name:"singleSelection",bindKey:"esc",exec:function(e){e.exitMultiSelectMode()},scrollIntoView:"cursor",readonly:!0,isAvailable:function(e){return e&&e.inMultiSelectMode}}];var r=e("../keyboard/hash_handler").HashHandler;t.keyboardHandler=new r(t.multiSelectCommands)}),define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],function(e,t,n){function h(e,t,n){return c.$options.wrap=!0,c.$options.needle=t,c.$options.backwards=n==-1,c.find(e)}function v(e,t){return e.row==t.row&&e.column==t.column}function m(e){if(e.$multiselectOnSessionChange)return;e.$onAddRange=e.$onAddRange.bind(e),e.$onRemoveRange=e.$onRemoveRange.bind(e),e.$onMultiSelect=e.$onMultiSelect.bind(e),e.$onSingleSelect=e.$onSingleSelect.bind(e),e.$multiselectOnSessionChange=t.onSessionChange.bind(e),e.$checkMultiselectChange=e.$checkMultiselectChange.bind(e),e.$multiselectOnSessionChange(e),e.on("changeSession",e.$multiselectOnSessionChange),e.on("mousedown",o),e.commands.addCommands(f.defaultCommands),g(e)}function g(e){function r(t){n&&(e.renderer.setMouseCursor(""),n=!1)}var t=e.textInput.getElement(),n=!1;u.addListener(t,"keydown",function(t){t.keyCode==18&&!(t.ctrlKey||t.shiftKey||t.metaKey)?n||(e.renderer.setMouseCursor("crosshair"),n=!0):n&&r()}),u.addListener(t,"keyup",r),u.addListener(t,"blur",r)}var r=e("./range_list").RangeList,i=e("./range").Range,s=e("./selection").Selection,o=e("./mouse/multi_select_handler").onMouseDown,u=e("./lib/event"),a=e("./lib/lang"),f=e("./commands/multi_select_commands");t.commands=f.defaultCommands.concat(f.multiSelectCommands);var l=e("./search").Search,c=new l,p=e("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(p.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(e,t){if(!e)return;if(!this.inMultiSelectMode&&this.rangeCount===0){var n=this.toOrientedRange();this.rangeList.add(n),this.rangeList.add(e);if(this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),t||this.fromOrientedRange(e);this.rangeList.removeAll(),this.rangeList.add(n),this.$onAddRange(n)}e.cursor||(e.cursor=e.end);var r=this.rangeList.add(e);return this.$onAddRange(e),r.length&&this.$onRemoveRange(r),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length?this.$onRemoveRange(e):this.ranges[0]&&this.fromOrientedRange(this.ranges[0])},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){this.rangeCount=this.rangeList.ranges.length;if(this.rangeCount==1&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._signal("removeRange",{ranges:e}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),t=t||this.ranges[0],t&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){if(this.rangeList)return;this.rangeList=new r,this.ranges=[],this.rangeCount=0},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var n=this.getRange(),r=this.isBackwards(),s=n.start.row,o=n.end.row;if(s==o){if(r)var u=n.end,a=n.start;else var u=n.start,a=n.end;this.addRange(i.fromPoints(a,a)),this.addRange(i.fromPoints(u,u));return}var f=[],l=this.getLineRange(s,!0);l.start.column=n.start.column,f.push(l);for(var c=s+1;c<o;c++)f.push(this.getLineRange(c,!0));l=this.getLineRange(o,!0),l.end.column=n.end.column,f.push(l),f.forEach(this.addRange,this)}},this.toggleBlockSelection=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.selectionLead),s=this.session.documentToScreenPosition(this.selectionAnchor),o=this.rectangularRangeBlock(r,s);o.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],s=e.column<t.column;if(s)var o=e.column,u=t.column;else var o=t.column,u=e.column;var a=e.row<t.row;if(a)var f=e.row,l=t.row;else var f=t.row,l=e.row;o<0&&(o=0),f<0&&(f=0),f==l&&(n=!0);for(var c=f;c<=l;c++){var h=i.fromPoints(this.session.screenToDocumentPosition(c,o),this.session.screenToDocumentPosition(c,u));if(h.isEmpty()){if(p&&v(h.end,p))break;var p=h.end}h.cursor=s?h.start:h.end,r.push(h)}a&&r.reverse();if(!n){var d=r.length-1;while(r[d].isEmpty()&&d>0)d--;if(d>0){var m=0;while(r[m].isEmpty())m++}for(var g=d;g>=m;g--)r[g].isEmpty()&&r.splice(g,1)}return r}}.call(s.prototype);var d=e("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(!e.marker)return;this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);t!=-1&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length},this.removeSelectionMarkers=function(e){var t=this.session.$selectionMarkers;for(var n=e.length;n--;){var r=e[n];if(!r.marker)continue;this.session.removeMarker(r.marker);var i=t.indexOf(r);i!=-1&&t.splice(i,1)}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){if(this.inMultiSelectMode)return;this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(f.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onSingleSelect=function(e){if(this.session.multiSelect.inVirtualMode)return;this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(f.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection")}, |