Addons for Elementor - Version 2.0.1

Version Description

  • Fixed - Bug fixes.
Download this release

Release Info

Developer livemesh
Plugin Icon 128x128 Addons for Elementor
Version 2.0.1
Comparing to
See all releases

Code changes from version 1.6 to 2.0.1

Files changed (93) hide show
  1. addons-for-elementor.php +102 -0
  2. admin/admin-init.php +6 -53
  3. admin/assets/css/lae-admin-page.css +0 -9
  4. admin/assets/css/lae-admin-page.css.map +1 -1
  5. admin/assets/css/lae-admin-page.scss +0 -10
  6. admin/assets/css/lae-admin.css +6 -0
  7. admin/assets/css/lae-admin.css.map +1 -1
  8. admin/assets/css/lae-admin.scss +7 -1
  9. admin/assets/css/premium-upgrade.css +0 -598
  10. admin/assets/css/premium-upgrade.css.map +0 -1
  11. admin/assets/css/premium-upgrade.scss +0 -699
  12. admin/assets/js/documentation.js +0 -55
  13. admin/assets/js/documentation.min.js +1 -1
  14. admin/assets/js/premium-upgrade.js +0 -31
  15. admin/assets/js/premium-upgrade.min.js +0 -1
  16. admin/views/admin-banner1.php +1 -1
  17. admin/views/admin-banner2.php +1 -1
  18. admin/views/admin-banner3.php +0 -16
  19. admin/views/documentation.php +196 -50
  20. admin/views/premium-upgrade.php +0 -625
  21. admin/views/settings.php +318 -114
  22. assets/css/_grid-settings.scss +2 -32
  23. assets/css/animate.css +3449 -0
  24. assets/css/jquery-ui.css +662 -0
  25. assets/css/lae-frontend.css +209 -138
  26. assets/css/lae-frontend.css.map +1 -1
  27. assets/css/lae-frontend.scss +381 -122
  28. assets/css/lae-widgets.css +245 -200
  29. assets/css/lae-widgets.css.map +1 -1
  30. assets/css/lae-widgets.scss +475 -361
  31. assets/css/sliders.css +1 -1
  32. assets/images/bricks-loader.gif +0 -0
  33. assets/images/loader.gif +0 -0
  34. assets/js/lae-frontend.js +22 -17
  35. assets/js/lae-frontend.min.js +1 -1
  36. assets/js/lae-widgets.js +42 -77
  37. assets/js/lae-widgets.min.js +1 -1
  38. freemius/LICENSE.txt +674 -0
  39. freemius/README.md +253 -0
  40. freemius/assets/css/admin/account.css +2 -0
  41. freemius/assets/css/admin/add-ons.css +3 -0
  42. freemius/assets/css/admin/affiliation.css +2 -0
  43. freemius/assets/css/admin/checkout.css +2 -0
  44. freemius/assets/css/admin/common.css +3 -0
  45. freemius/assets/css/admin/connect.css +2 -0
  46. freemius/assets/css/admin/deactivation-feedback.css +2 -0
  47. freemius/assets/css/admin/debug.css +2 -0
  48. freemius/assets/css/admin/dialog-boxes.css +3 -0
  49. freemius/assets/css/admin/gdpr-optin-notice.css +2 -0
  50. freemius/assets/css/admin/index.php +3 -0
  51. freemius/assets/css/admin/license-activation.css +2 -0
  52. freemius/assets/css/customizer.css +2 -0
  53. freemius/assets/css/index.php +3 -0
  54. freemius/assets/img/addons-for-elementor.png +0 -0
  55. freemius/assets/img/index.php +3 -0
  56. freemius/assets/img/plugin-icon.png +0 -0
  57. freemius/assets/img/theme-icon.png +0 -0
  58. freemius/assets/index.php +3 -0
  59. freemius/assets/js/index.php +3 -0
  60. freemius/assets/js/nojquery.ba-postmessage.js +140 -0
  61. freemius/assets/js/nojquery.ba-postmessage.min.js +12 -0
  62. freemius/assets/js/postmessage.js +135 -0
  63. freemius/assets/scss/_colors.scss +68 -0
  64. freemius/assets/scss/_functions.scss +0 -0
  65. freemius/assets/scss/_load.scss +4 -0
  66. freemius/assets/scss/_mixins.scss +270 -0
  67. freemius/assets/scss/_start.scss +4 -0
  68. freemius/assets/scss/_vars.scss +6 -0
  69. freemius/assets/scss/admin/_ajax-loader.scss +49 -0
  70. freemius/assets/scss/admin/_auto-install.scss +33 -0
  71. freemius/assets/scss/admin/_deactivation-feedback.scss +55 -0
  72. freemius/assets/scss/admin/_gdpr-consent.scss +81 -0
  73. freemius/assets/scss/admin/_license-activation.scss +47 -0
  74. freemius/assets/scss/admin/_license-key-resend.scss +68 -0
  75. freemius/assets/scss/admin/_modal-common.scss +194 -0
  76. freemius/assets/scss/admin/_multisite-options.scss +40 -0
  77. freemius/assets/scss/admin/_themes.scss +21 -0
  78. freemius/assets/scss/admin/_tooltip.scss +66 -0
  79. freemius/assets/scss/admin/account.scss +302 -0
  80. freemius/assets/scss/admin/add-ons.scss +449 -0
  81. freemius/assets/scss/admin/affiliation.scss +97 -0
  82. freemius/assets/scss/admin/checkout.scss +5 -0
  83. freemius/assets/scss/admin/common.scss +218 -0
  84. freemius/assets/scss/admin/connect.scss +548 -0
  85. freemius/assets/scss/admin/debug.scss +135 -0
  86. freemius/assets/scss/admin/dialog-boxes.scss +8 -0
  87. freemius/assets/scss/admin/gdpr-optin-notice.scss +17 -0
  88. freemius/assets/scss/admin/index.php +3 -0
  89. freemius/assets/scss/customizer.scss +125 -0
  90. freemius/assets/scss/index.php +3 -0
  91. freemius/config.php +388 -0
  92. freemius/includes/class-freemius-abstract.php +597 -0
  93. freemius/includes/class-freemius.php +2946 -0
addons-for-elementor.php ADDED
@@ -0,0 +1,102 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Plugin Name: Livemesh Addons for Elementor
5
+ * Plugin URI: https://www.livemeshthemes.com/elementor-addons
6
+ * Description: A collection of premium quality addons or widgets for use in Elementor page builder. Elementor must be installed and activated.
7
+ * Author: Livemesh
8
+ * Author URI: https://www.livemeshthemes.com/elementor-addons
9
+ * License: GPL3
10
+ * License URI: https://www.gnu.org/licenses/gpl-3.0.txt
11
+ * Version: 2.0.1
12
+ * Text Domain: livemesh-el-addons
13
+ * Domain Path: languages
14
+ *
15
+ * Livemesh Addons for Elementor Pro is distributed under the terms of the GNU
16
+ * General Public License as published by the Free Software Foundation,
17
+ * either version 2 of the License, or any later version.
18
+ *
19
+ * Addons for Elementor Pro is distributed in the hope that it will be useful,
20
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
21
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22
+ * GNU General Public License for more details.
23
+ *
24
+ * You should have received a copy of the GNU General Public License
25
+ * along with Addons for Elementor Pro. If not, see <http://www.gnu.org/licenses/>.
26
+ *
27
+ *
28
+ * @fs_premium_only /includes/blocks/, /includes/gallery/, /assets/css/premium/, /assets/js/premium/, /includes/widgets/premium/, sample-data.xml, readme.html
29
+ *
30
+ */
31
+ // Exit if accessed directly
32
+ if ( !defined( 'ABSPATH' ) ) {
33
+ exit;
34
+ }
35
+ // Ensure the free version is deactivated if premium is running
36
+
37
+ if ( !function_exists( 'lae_fs' ) ) {
38
+ // Plugin version
39
+ define( 'LAE_VERSION', '2.0.1' );
40
+ // Plugin Root File
41
+ define( 'LAE_PLUGIN_FILE', __FILE__ );
42
+ // Plugin Folder Path
43
+ define( 'LAE_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
44
+ // Plugin Folder URL
45
+ define( 'LAE_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
46
+ // Plugin Addons Folder Path
47
+ define( 'LAE_ADDONS_DIR', plugin_dir_path( __FILE__ ) . 'includes/widgets/' );
48
+ // Plugin Premium Addons Folder Path
49
+ define( 'LAE_PREMIUM_ADDONS_DIR', plugin_dir_path( __FILE__ ) . 'includes/widgets/premium/' );
50
+ // Plugin Folder URL
51
+ define( 'LAE_ADDONS_URL', plugin_dir_url( __FILE__ ) . 'includes/widgets/' );
52
+ // Plugin Folder URL
53
+ define( 'LAE_PREMIUM_ADDONS_URL', plugin_dir_url( __FILE__ ) . 'includes/widgets/premium/' );
54
+ // Plugin Help Page URL
55
+ define( 'LAE_PLUGIN_HELP_URL', admin_url() . 'admin.php?page=livemesh_el_addons_documentation' );
56
+ // Create a helper function for easy SDK access.
57
+ function lae_fs()
58
+ {
59
+ global $lae_fs ;
60
+
61
+ if ( !isset( $lae_fs ) ) {
62
+ // Include Freemius SDK.
63
+ require_once dirname( __FILE__ ) . '/freemius/start.php';
64
+ $lae_fs = fs_dynamic_init( array(
65
+ 'id' => '2180',
66
+ 'slug' => 'addons-for-elementor',
67
+ 'type' => 'plugin',
68
+ 'public_key' => 'pk_39309912762f134a249f62ab258d4',
69
+ 'is_premium' => false,
70
+ 'has_addons' => false,
71
+ 'has_paid_plans' => true,
72
+ 'menu' => array(
73
+ 'slug' => 'livemesh_el_addons',
74
+ 'support' => false,
75
+ ),
76
+ 'is_live' => true,
77
+ ) );
78
+ }
79
+
80
+ return $lae_fs;
81
+ }
82
+
83
+ // Init Freemius.
84
+ lae_fs();
85
+ // Signal that SDK was initiated.
86
+ do_action( 'lae_fs_loaded' );
87
+ function lae_fs_add_licensing_helper()
88
+ {
89
+ ?>
90
+ <script type="text/javascript">
91
+ (function () {
92
+ window.lae_fs = {can_use_premium_code: <?php
93
+ echo json_encode( lae_fs()->can_use_premium_code() ) ;
94
+ ?>};
95
+ })();
96
+ </script>
97
+ <?php
98
+ }
99
+
100
+ add_action( 'wp_head', 'lae_fs_add_licensing_helper' );
101
+ require_once dirname( __FILE__ ) . '/plugin.php';
102
+ }
admin/admin-init.php CHANGED
@@ -20,13 +20,7 @@ class LAE_Admin {
20
  public function includes() {
21
 
22
  // load class admin ajax function
23
- require_once LAE_PLUGIN_DIR . 'admin/admin-ajax.php';
24
-
25
- /**
26
- * Classes responsible for displaying admin notices.
27
- */
28
- require_once LAE_PLUGIN_DIR . 'admin/notices/admin-notice.php';
29
- require_once LAE_PLUGIN_DIR . 'admin/notices/admin-notice-rate.php';
30
 
31
  }
32
 
@@ -40,22 +34,12 @@ class LAE_Admin {
40
 
41
  add_action('current_screen', array($this, 'remove_admin_notices'));
42
 
43
-
44
- /**
45
- * Notice: Rate plugin
46
- */
47
- $rate = new LAE_Notice_Rate('rate', LAE_PLUGIN_DIR . 'admin/notices/templates/rate.php');
48
-
49
- add_action('load-plugins.php', array($rate, 'defer_first_time'));
50
- add_action('admin_notices', array($rate, 'display_notice'));
51
- add_action('admin_post_lae_dismiss_notice', array($rate, 'dismiss_notice'));
52
-
53
  }
54
 
55
  public function remove_admin_notices($screen) {
56
 
57
  // If this screen is Addons for Elementor plugin options page, remove annoying admin notices
58
- if (strpos($screen->id, $this->plugin_slug) !== false) {
59
  add_action('admin_notices', array(&$this, 'remove_notices_start'));
60
  add_action('admin_notices', array(&$this, 'remove_notices_end'), 999);
61
  }
@@ -79,7 +63,7 @@ class LAE_Admin {
79
  public function add_plugin_admin_menu() {
80
 
81
  add_menu_page(
82
- 'Addons for Elementor',
83
  __('Elementor Addons', 'livemesh-el-addons'),
84
  'manage_options',
85
  $this->plugin_slug,
@@ -90,7 +74,7 @@ class LAE_Admin {
90
  // add plugin settings submenu page
91
  add_submenu_page(
92
  $this->plugin_slug,
93
- 'Widgets Settings',
94
  __('Settings', 'livemesh-el-addons'),
95
  'manage_options',
96
  $this->plugin_slug,
@@ -100,23 +84,13 @@ class LAE_Admin {
100
  // add import/export submenu page
101
  add_submenu_page(
102
  $this->plugin_slug,
103
- 'Widgets Documentation',
104
  __('Documentation', 'livemesh-el-addons'),
105
  'manage_options',
106
  $this->plugin_slug . '_documentation',
107
  array($this, 'display_plugin_documentation')
108
  );
109
 
110
- // add global settings submenu page
111
- add_submenu_page(
112
- $this->plugin_slug,
113
- 'Upgrade to Pro Version',
114
- __('Upgrade to Pro', 'livemesh-el-addons'),
115
- 'manage_options',
116
- $this->plugin_slug . '_pro_upgrade',
117
- array($this, 'display_plugin_premium_upgrade')
118
- );
119
-
120
  }
121
 
122
  public function display_settings_page() {
@@ -138,16 +112,6 @@ class LAE_Admin {
138
 
139
  }
140
 
141
- public function display_plugin_premium_upgrade() {
142
-
143
-
144
- require_once('views/admin-header.php');
145
- require_once('views/admin-banner3.php');
146
- require_once('views/premium-upgrade.php');
147
- require_once('views/admin-footer.php');
148
-
149
- }
150
-
151
  public function enqueue_admin_scripts() {
152
 
153
  // Use minified libraries if LAE_SCRIPT_DEBUG is turned off
@@ -174,7 +138,7 @@ class LAE_Admin {
174
  wp_enqueue_style('lae-admin-page-styles');
175
  }
176
 
177
- if (strpos($screen->id, $this->plugin_slug . '_documentation') !== false || strpos($screen->id, $this->plugin_slug . '_pro_upgrade') !== false) {
178
 
179
  // Load scripts and styles for documentation
180
  wp_register_script('lae-doc-scripts', LAE_PLUGIN_URL . 'admin/assets/js/documentation' . $suffix . '.js', array(), LAE_VERSION, true);
@@ -188,17 +152,6 @@ class LAE_Admin {
188
 
189
  }
190
 
191
- if (strpos($screen->id, $this->plugin_slug . '_pro_upgrade') !== false) {
192
-
193
- // Load scripts and styles for premium upgrade
194
- wp_register_script('lae-pro-upgrade-scripts', LAE_PLUGIN_URL . 'admin/assets/js/premium-upgrade' . $suffix . '.js', array(), LAE_VERSION, true);
195
- wp_enqueue_script('lae-pro-upgrade-scripts');
196
-
197
- wp_register_style('lae-pro-upgrade-styles', LAE_PLUGIN_URL . 'admin/assets/css/premium-upgrade.css', array(), LAE_VERSION);
198
- wp_enqueue_style('lae-pro-upgrade-styles');
199
-
200
- }
201
-
202
  }
203
 
204
  }
20
  public function includes() {
21
 
22
  // load class admin ajax function
23
+ require_once(LAE_PLUGIN_DIR . '/admin/admin-ajax.php');
 
 
 
 
 
 
24
 
25
  }
26
 
34
 
35
  add_action('current_screen', array($this, 'remove_admin_notices'));
36
 
 
 
 
 
 
 
 
 
 
 
37
  }
38
 
39
  public function remove_admin_notices($screen) {
40
 
41
  // If this screen is Addons for Elementor plugin options page, remove annoying admin notices
42
+ if (strpos($screen->id, $this->plugin_slug) !== false && strpos($screen->id, $this->plugin_slug . '_license') === false) {
43
  add_action('admin_notices', array(&$this, 'remove_notices_start'));
44
  add_action('admin_notices', array(&$this, 'remove_notices_end'), 999);
45
  }
63
  public function add_plugin_admin_menu() {
64
 
65
  add_menu_page(
66
+ __('Livemesh Addons for Elementor', 'livemesh-el-addons'),
67
  __('Elementor Addons', 'livemesh-el-addons'),
68
  'manage_options',
69
  $this->plugin_slug,
74
  // add plugin settings submenu page
75
  add_submenu_page(
76
  $this->plugin_slug,
77
+ __('Widgets Settings', 'livemesh-el-addons'),
78
  __('Settings', 'livemesh-el-addons'),
79
  'manage_options',
80
  $this->plugin_slug,
84
  // add import/export submenu page
85
  add_submenu_page(
86
  $this->plugin_slug,
87
+ __('Widgets Documentation', 'livemesh-el-addons'),
88
  __('Documentation', 'livemesh-el-addons'),
89
  'manage_options',
90
  $this->plugin_slug . '_documentation',
91
  array($this, 'display_plugin_documentation')
92
  );
93
 
 
 
 
 
 
 
 
 
 
 
94
  }
95
 
96
  public function display_settings_page() {
112
 
113
  }
114
 
 
 
 
 
 
 
 
 
 
 
115
  public function enqueue_admin_scripts() {
116
 
117
  // Use minified libraries if LAE_SCRIPT_DEBUG is turned off
138
  wp_enqueue_style('lae-admin-page-styles');
139
  }
140
 
141
+ if (strpos($screen->id, $this->plugin_slug . '_documentation') !== false) {
142
 
143
  // Load scripts and styles for documentation
144
  wp_register_script('lae-doc-scripts', LAE_PLUGIN_URL . 'admin/assets/js/documentation' . $suffix . '.js', array(), LAE_VERSION, true);
152
 
153
  }
154
 
 
 
 
 
 
 
 
 
 
 
 
155
  }
156
 
157
  }
admin/assets/css/lae-admin-page.css CHANGED
@@ -1,13 +1,4 @@
1
  /* ================= Wrapper DIVs ============================== */
2
- .wrap > *,
3
- #wpbody-content > * {
4
- display: none; }
5
-
6
- #wpbody-content > .wrap,
7
- .wrap > form {
8
- display: block;
9
- overflow: hidden; }
10
-
11
  #wpbody-content .lae-wrap {
12
  position: relative;
13
  display: block;
1
  /* ================= Wrapper DIVs ============================== */
 
 
 
 
 
 
 
 
 
2
  #wpbody-content .lae-wrap {
3
  position: relative;
4
  display: block;
admin/assets/css/lae-admin-page.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["lae-admin-page.scss"],"names":[],"mappings":"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","file":"lae-admin-page.css"}
1
+ {"version":3,"sources":["lae-admin-page.scss"],"names":[],"mappings":"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","file":"lae-admin-page.css"}
admin/assets/css/lae-admin-page.scss CHANGED
@@ -7,16 +7,6 @@
7
 
8
  /* ================= Wrapper DIVs ============================== */
9
 
10
-
11
- .wrap > *,
12
- #wpbody-content > * {
13
- display: none;
14
- }
15
- #wpbody-content >.wrap,
16
- .wrap > form {
17
- display: block;
18
- overflow: hidden;
19
- }
20
  #wpbody-content .lae-wrap {
21
  position: relative;
22
  display: block;
7
 
8
  /* ================= Wrapper DIVs ============================== */
9
 
 
 
 
 
 
 
 
 
 
 
10
  #wpbody-content .lae-wrap {
11
  position: relative;
12
  display: block;
admin/assets/css/lae-admin.css CHANGED
@@ -336,4 +336,10 @@ input.lae-checkbox:checked + label:after {
336
  width: 280px;
337
  margin-bottom: 15px; }
338
 
 
 
 
 
 
 
339
  /*# sourceMappingURL=lae-admin.css.map */
336
  width: 280px;
337
  margin-bottom: 15px; }
338
 
339
+ .wrap.lae-license-wrap form.lae-license-box {
340
+ max-width: 700px;
341
+ background: white;
342
+ margin: 20px 0;
343
+ padding: 20px 30px; }
344
+
345
  /*# sourceMappingURL=lae-admin.css.map */
admin/assets/css/lae-admin.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["lae-admin.scss","../../../assets/css/_lae-lib.scss"],"names":[],"mappings":"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","file":"lae-admin.css"}
1
+ {"version":3,"sources":["lae-admin.scss","../../../assets/css/_lae-lib.scss"],"names":[],"mappings":"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","file":"lae-admin.css"}
admin/assets/css/lae-admin.scss CHANGED
@@ -4,7 +4,6 @@
4
 
5
  @import "../../../assets/css/lae-lib";
6
 
7
-
8
  /* =============== Common Styles ===================== */
9
 
10
  .lae-icon {
@@ -366,3 +365,10 @@ input.lae-checkbox:checked + label:after {
366
  margin-bottom: 15px;
367
  }
368
  }
 
 
 
 
 
 
 
4
 
5
  @import "../../../assets/css/lae-lib";
6
 
 
7
  /* =============== Common Styles ===================== */
8
 
9
  .lae-icon {
365
  margin-bottom: 15px;
366
  }
367
  }
368
+
369
+ .wrap.lae-license-wrap form.lae-license-box {
370
+ max-width: 700px;
371
+ background: white;
372
+ margin: 20px 0;
373
+ padding: 20px 30px;
374
+ }
admin/assets/css/premium-upgrade.css DELETED
@@ -1,598 +0,0 @@
1
- /* -------------------- Pricing Plan ------------ */
2
- .clear:after {
3
- visibility: hidden;
4
- display: block;
5
- font-size: 0;
6
- content: " ";
7
- clear: both;
8
- height: 0; }
9
-
10
- .clear {
11
- display: inline-table;
12
- clear: both; }
13
-
14
- * html .clear {
15
- height: 1%; }
16
-
17
- .clear {
18
- display: block; }
19
-
20
- .hide {
21
- display: none !important; }
22
-
23
- .flex-wrap {
24
- display: -ms-flexbox;
25
- display: -webkit-box;
26
- display: flex;
27
- -ms-flex-wrap: wrap;
28
- flex-wrap: wrap; }
29
-
30
- .flex-col {
31
- display: -ms-flexbox;
32
- display: -webkit-box;
33
- display: flex; }
34
-
35
- .btn {
36
- line-height: 20px;
37
- display: block;
38
- float: left;
39
- position: relative;
40
- overflow: hidden;
41
- padding: 13px 20px;
42
- font-size: 0.9375em;
43
- font-weight: 400;
44
- text-align: center;
45
- cursor: pointer;
46
- text-decoration: none;
47
- margin: 0;
48
- border: 0;
49
- outline: 0;
50
- border-image-width: 0;
51
- border-radius: 3px; }
52
-
53
- .btn,
54
- .btn:hover,
55
- .btn:focus,
56
- .btn:active {
57
- color: #fff;
58
- text-decoration: none; }
59
-
60
- .btn {
61
- background-color: #00bcd4; }
62
-
63
- .btn:hover {
64
- background-color: #26c6da; }
65
-
66
- .btn:focus,
67
- .btn:active {
68
- background-color: #05a7bd; }
69
-
70
- .m0 {
71
- margin: 0 !important; }
72
-
73
- .mb0 {
74
- margin-bottom: 0 !important; }
75
-
76
- .mb1 {
77
- margin-bottom: 1px !important; }
78
-
79
- .mb5 {
80
- margin-bottom: 5px !important; }
81
-
82
- .mb10 {
83
- margin-bottom: 10px !important; }
84
-
85
- .mb15 {
86
- margin-bottom: 15px !important; }
87
-
88
- .mb20 {
89
- margin-bottom: 20px !important; }
90
-
91
- .mb30 {
92
- margin-bottom: 30px !important; }
93
-
94
- .c-wh {
95
- color: #fff !important; }
96
-
97
- .c-red {
98
- color: #da4f49 !important; }
99
-
100
- .c-mg {
101
- color: #9e9e9e; }
102
-
103
- .w100 {
104
- width: 100% !important; }
105
-
106
- .bg-cy {
107
- background-color: #00bcd4; }
108
-
109
- .bg-gr {
110
- background-color: #8ac249; }
111
-
112
- .pricing-content {
113
- max-width: 1000px;
114
- margin: 0 auto; }
115
-
116
- .pricing-content, .pricing-content p {
117
- font-size: 18px;
118
- line-height: 1.6; }
119
-
120
- .pricing-content p:empty {
121
- display: none; }
122
-
123
- div.plans-wrapper ul {
124
- list-style-type: none;
125
- margin: 0 0 15px 0; }
126
-
127
- div#plans {
128
- margin-top: 50px; }
129
-
130
- div.plans-wrapper {
131
- width: 100%;
132
- margin: 0 auto;
133
- position: relative;
134
- background: #f5f8f9;
135
- z-index: 4;
136
- -webkit-box-shadow: 0 0 30px rgba(34, 44, 55, 0.15);
137
- box-shadow: 0 0 30px rgba(34, 44, 55, 0.15); }
138
-
139
- div.plans-wrapper div.plan-intro div.w100 {
140
- padding: 20px 30px 0 30px;
141
- position: relative; }
142
-
143
- div.plans-wrapper div.plan-intro {
144
- width: 340px;
145
- float: left;
146
- padding: 30px 0;
147
- position: relative;
148
- z-index: 4; }
149
-
150
- div.plans-wrapper div.plans {
151
- width: 100%;
152
- float: left;
153
- margin: 0 0 0 -340px;
154
- position: relative; }
155
-
156
- div.plans-wrapper div.content-wrapper {
157
- margin: 0 0 0 340px;
158
- position: relative; }
159
-
160
- div.plans-wrapper div.plan {
161
- width: 50%;
162
- float: left;
163
- text-align: center;
164
- position: relative;
165
- z-index: 2;
166
- -webkit-transition: all .5s;
167
- transition: all .5s; }
168
-
169
- div.plans-wrapper div.plan h3 {
170
- color: #fff; }
171
-
172
- div.plans-wrapper div.plan:last-child {
173
- border-right: 0; }
174
-
175
- div.plans-wrapper div.plan {
176
- background: #222c37;
177
- -webkit-transition: all .25s;
178
- transition: all .25s; }
179
-
180
- div.plans-wrapper div.plan2,
181
- div.plans-wrapper div.plan4 {
182
- background: #2d3741; }
183
-
184
- div.plans-wrapper div.plan div.w100 {
185
- position: relative;
186
- padding: 40px 20px 80px 20px; }
187
-
188
- div.plans-wrapper div.plan-intro img {
189
- width: 100%;
190
- height: auto; }
191
-
192
- div.plans-wrapper div.plan p {
193
- font-size: 1.0625em;
194
- color: #ccc;
195
- -webkit-backface-visibility: hidden;
196
- backface-visibility: hidden; }
197
-
198
- div.plans-wrapper div.plan .price {
199
- position: relative;
200
- display: inline-block;
201
- font-size: 1.875em;
202
- margin: 0 0 30px 0; }
203
-
204
- div.plans-wrapper div.plan div.action {
205
- position: absolute;
206
- bottom: 30px;
207
- left: 30px;
208
- right: 30px;
209
- text-align: center; }
210
-
211
- div.plans-wrapper div.plan div.action .btn {
212
- width: 100%;
213
- vertical-align: top; }
214
-
215
- div.compare-wrapper {
216
- width: 100%;
217
- margin: 0 auto;
218
- background: #ececec;
219
- position: relative; }
220
-
221
- div.compare-wrapper div.benefits {
222
- width: 340px;
223
- float: left; }
224
-
225
- div.compare-wrapper div.plans {
226
- width: 100%;
227
- float: left;
228
- margin: 0 0 0 -340px;
229
- position: relative; }
230
-
231
- div.compare-wrapper div.content-wrapper {
232
- margin: 0 0 0 340px;
233
- position: relative; }
234
-
235
- div.compare-wrapper div.plan {
236
- width: 50%;
237
- float: left;
238
- padding: 30px 0 0 0;
239
- text-align: center;
240
- background: #f5f8f9; }
241
-
242
- div.compare-wrapper div.plan.even {
243
- background: #ececec; }
244
-
245
- div.compare-wrapper div.tooltip {
246
- padding: 20px;
247
- background: #fff;
248
- position: absolute;
249
- border-bottom: #37BF91 5px solid;
250
- top: 48px;
251
- left: 10px;
252
- right: 10px;
253
- font-weight: 300;
254
- z-index: 999;
255
- text-align: left;
256
- -webkit-box-shadow: 0 1px 20px rgba(34, 44, 55, 0.3);
257
- box-shadow: 0 1px 20px rgba(34, 44, 55, 0.3); }
258
-
259
- div.compare-wrapper div.tooltip:before {
260
- content: '';
261
- display: block;
262
- position: absolute;
263
- top: -19px;
264
- right: 21px;
265
- z-index: 18;
266
- border: transparent 10px solid;
267
- border-bottom-color: #fff; }
268
-
269
- div.compare-wrapper div.tooltip p {
270
- font-size: 1em;
271
- margin: 0; }
272
-
273
- div.compare-wrapper div.action {
274
- padding: 30px;
275
- background: #f0f3f4; }
276
-
277
- div.compare-wrapper div.plan.even div.action {
278
- background: #e7e7e7; }
279
-
280
- div.compare-wrapper div.action .btn {
281
- width: 100%;
282
- vertical-align: top; }
283
-
284
- div.compare-wrapper div.benefits h4 {
285
- margin: 0;
286
- padding: 30px;
287
- background: #f5f8f9;
288
- position: relative;
289
- z-index: 3; }
290
-
291
- div.compare-wrapper div.benefits ul {
292
- list-style: none !important;
293
- margin: 0 !important;
294
- padding: 0 !important;
295
- position: relative;
296
- z-index: 4; }
297
-
298
- div.compare-wrapper div.benefits ul li {
299
- height: 50px;
300
- padding: 0 30px !important;
301
- margin: 0 !important;
302
- text-align: left;
303
- font-size: 0.9375em;
304
- font-weight: 400;
305
- position: relative;
306
- background: #f5f8f9; }
307
-
308
- div.compare-wrapper div.benefits ul li div.text {
309
- vertical-align: middle;
310
- display: table-cell;
311
- height: 50px; }
312
-
313
- div.compare-wrapper div.benefits ul li:nth-child(odd) {
314
- background: #ececec; }
315
-
316
- div.compare-wrapper div.benefits ul li:before {
317
- display: none; }
318
-
319
- div.compare-wrapper div.benefits ul li span.dashicons-editor-help {
320
- line-height: 22px;
321
- display: block;
322
- position: absolute;
323
- top: 5px;
324
- right: 30px;
325
- cursor: pointer;
326
- text-align: center;
327
- color: #9e9e9e;
328
- font-size: 32px;
329
- line-height: 1; }
330
-
331
- div.compare-wrapper div.benefits ul li span.dashicons-editor-help:before {
332
- font-size: 85%; }
333
-
334
- div.compare-wrapper div.plan h4 {
335
- color: #222c37;
336
- margin: 0 0 30px 0; }
337
-
338
- div.compare-wrapper div.plan ul {
339
- width: 100%;
340
- margin: 0 !important;
341
- padding: 0 !important;
342
- list-style: none !important; }
343
-
344
- div.compare-wrapper div.plan ul li {
345
- position: relative;
346
- height: 50px;
347
- line-height: 20px;
348
- padding: 15px 20px !important;
349
- margin: 0 !important;
350
- text-align: center;
351
- font-size: 0.9375em; }
352
-
353
- div.compare-wrapper div.plan ul li:nth-child(odd) {
354
- background: rgba(0, 0, 0, 0.02); }
355
-
356
- div.compare-wrapper div.plan ul li:before {
357
- display: none; }
358
-
359
- div.compare-wrapper div.plan ul li span.dashicons-editor-help {
360
- font-size: 24px;
361
- vertical-align: top;
362
- line-height: 1;
363
- color: #9e9e9e;
364
- margin: 0 0 0 2px;
365
- cursor: pointer; }
366
-
367
- div.compare-wrapper div.plan ul li span.pay {
368
- font-weight: 700; }
369
-
370
- div.compare-wrapper div.plan ul li div.tooltip:before {
371
- right: 50%;
372
- margin: 0 -10px 0 0; }
373
-
374
- div.compare-wrapper div.plan ul li div.dashicons-no-alt {
375
- color: #da4f49; }
376
-
377
- div.compare-wrapper div.plan1 ul li div.dashicons-yes {
378
- color: #8ac249; }
379
-
380
- div.compare-wrapper div.plan2 ul li div.dashicons-yes {
381
- color: #00bcd4; }
382
-
383
- div.compare-wrapper div.plan3 ul li div.dashicons-yes {
384
- color: #37BF91; }
385
-
386
- div.compare-wrapper div.plan4 ul li div.dashicons-yes {
387
- color: #009688; }
388
-
389
- div.compare-wrapper .dashicons {
390
- font-size: 28px;
391
- line-height: 1;
392
- width: auto;
393
- height: auto; }
394
-
395
- div.compare-wrapper div.plan1 ul li div.tooltip {
396
- border-color: #8ac249; }
397
-
398
- div.compare-wrapper div.plan2 ul li div.tooltip {
399
- border-color: #00bcd4; }
400
-
401
- div.compare-wrapper div.plan3 ul li div.tooltip {
402
- border-color: #37BF91; }
403
-
404
- div.compare-wrapper div.plan4 ul li div.tooltip {
405
- border-color: #009688; }
406
-
407
- div.compare-wrapper div.plan ul li .m {
408
- display: none; }
409
-
410
- @media only screen and (min-width: 150px) and (max-width: 1380px) {
411
- div#plans {
412
- margin-bottom: 40px; }
413
-
414
- div.plans-wrapper div.plan-intro {
415
- display: none; }
416
-
417
- div.plans-wrapper div.plans {
418
- margin: 0; }
419
-
420
- div.plans-wrapper div.content-wrapper {
421
- margin: 0; }
422
-
423
- div.compare-wrapper {
424
- background: transparent; }
425
-
426
- div.compare-wrapper div.benefits {
427
- width: 100%;
428
- margin: 0 0 30px 0; }
429
-
430
- div.compare-wrapper div.benefits h4 {
431
- padding: 0;
432
- background: transparent;
433
- font-size: 2em;
434
- line-height: 1em;
435
- font-weight: 100;
436
- color: #222c37; }
437
-
438
- div.compare-wrapper div.benefits ul {
439
- display: none; }
440
-
441
- div.compare-wrapper div.plans {
442
- margin: 0; }
443
-
444
- div.compare-wrapper div.content-wrapper {
445
- margin: 0; }
446
-
447
- div.compare-wrapper div.plan h4 {
448
- color: #fff;
449
- margin: 0;
450
- padding: 15px 20px;
451
- background: #222c37; }
452
-
453
- div.compare-wrapper div.plan {
454
- width: 100%;
455
- padding: 0;
456
- margin: 0 0 15px 0;
457
- text-align: left;
458
- background: #f5f8f9 !important; }
459
-
460
- div.compare-wrapper div.plan ul {
461
- width: 100%;
462
- margin: 0;
463
- display: -ms-flexbox;
464
- display: -webkit-box;
465
- display: flex;
466
- -ms-flex-wrap: wrap;
467
- flex-wrap: wrap; }
468
-
469
- div.compare-wrapper div.plan ul li {
470
- width: 50%;
471
- height: auto;
472
- float: left;
473
- line-height: 20px;
474
- padding: 15px 20px 15px 40px !important;
475
- text-align: left;
476
- display: -ms-flexbox;
477
- display: -webkit-box;
478
- display: flex; }
479
-
480
- div.compare-wrapper div.plan ul li:nth-child(odd) {
481
- background: rgba(0, 0, 0, 0); }
482
-
483
- div.compare-wrapper div.plan ul li:nth-child(2),
484
- div.compare-wrapper div.plan ul li:nth-child(3),
485
- div.compare-wrapper div.plan ul li:nth-child(6),
486
- div.compare-wrapper div.plan ul li:nth-child(7),
487
- div.compare-wrapper div.plan ul li:nth-child(10),
488
- div.compare-wrapper div.plan ul li:nth-child(11),
489
- div.compare-wrapper div.plan ul li:nth-child(14),
490
- div.compare-wrapper div.plan ul li:nth-child(15),
491
- div.compare-wrapper div.plan ul li:nth-child(18),
492
- div.compare-wrapper div.plan ul li:nth-child(19),
493
- div.compare-wrapper div.plan ul li:nth-child(22),
494
- div.compare-wrapper div.plan ul li:nth-child(23) {
495
- background: rgba(0, 0, 0, 0.02); }
496
-
497
- div.compare-wrapper div.plan ul li span.message {
498
- display: none; }
499
-
500
- div.compare-wrapper div.plan ul li .m {
501
- display: inline-block; }
502
-
503
- div.compare-wrapper div.plan ul li div.dashicons-yes,
504
- div.compare-wrapper div.plan ul li div.dashicons-no-alt {
505
- position: absolute;
506
- top: 13px;
507
- left: 8px; }
508
-
509
- div.compare-wrapper div.plan ul li div.dashicons-no-alt {
510
- top: 16px; }
511
-
512
- div.compare-wrapper div.plan ul li span.m-message {
513
- display: inline-block; }
514
-
515
- div.compare-wrapper div.action {
516
- padding: 15px;
517
- background: #e7e7e7; }
518
-
519
- div.compare-wrapper div.plan.even div.action {
520
- background: #e7e7e7; }
521
-
522
- div.compare-wrapper div.action .btn {
523
- width: auto; } }
524
- @media only screen and (min-width: 150px) and (max-width: 1023px) {
525
- div#plans {
526
- padding-left: 30px;
527
- padding-right: 30px; }
528
-
529
- div.plans-wrapper div.plan {
530
- width: 50%; }
531
-
532
- div#compare {
533
- padding-left: 30px;
534
- padding-right: 30px; } }
535
- @media only screen and (min-width: 150px) and (max-width: 767px) {
536
- div#plans {
537
- padding-left: 20px;
538
- padding-right: 20px; }
539
-
540
- div.plans-wrapper {
541
- background: #fff;
542
- -webkit-box-shadow: none;
543
- box-shadow: none; }
544
-
545
- div.plans-wrapper div.plan {
546
- width: 100%;
547
- margin: 0 0 15px 0;
548
- -webkit-box-shadow: 0 0 30px rgba(34, 44, 55, 0.15);
549
- box-shadow: 0 0 30px rgba(34, 44, 55, 0.15); }
550
-
551
- div.plans-wrapper div.plan div.icon {
552
- display: none; }
553
-
554
- div.plans-wrapper div.plan p.text {
555
- height: auto !important; }
556
-
557
- div#compare {
558
- padding-left: 20px;
559
- padding-right: 20px; }
560
-
561
- div.compare-wrapper div.plan ul li {
562
- width: 100%; }
563
-
564
- div.compare-wrapper div.plan ul li:nth-child(2),
565
- div.compare-wrapper div.plan ul li:nth-child(3),
566
- div.compare-wrapper div.plan ul li:nth-child(6),
567
- div.compare-wrapper div.plan ul li:nth-child(7),
568
- div.compare-wrapper div.plan ul li:nth-child(10),
569
- div.compare-wrapper div.plan ul li:nth-child(11),
570
- div.compare-wrapper div.plan ul li:nth-child(14),
571
- div.compare-wrapper div.plan ul li:nth-child(15),
572
- div.compare-wrapper div.plan ul li:nth-child(18),
573
- div.compare-wrapper div.plan ul li:nth-child(19),
574
- div.compare-wrapper div.plan ul li:nth-child(22),
575
- div.compare-wrapper div.plan ul li:nth-child(23) {
576
- background: rgba(0, 0, 0, 0); }
577
-
578
- div.compare-wrapper div.plan ul li:nth-child(even) {
579
- background: rgba(0, 0, 0, 0.02) !important; }
580
-
581
- div.faq-wrapper div.g12 {
582
- padding-bottom: 15px !important; }
583
-
584
- div.faq-wrapper div.g4 {
585
- width: 100%;
586
- padding-bottom: 0;
587
- padding-top: 0; } }
588
- @media only screen and (min-width: 150px) and (max-width: 479px) {
589
- div#plans {
590
- padding-left: 15px;
591
- padding-right: 15px; }
592
-
593
- div#compare {
594
- padding-left: 15px;
595
- padding-right: 15px; } }
596
- /* ------- END: Pricing Plan --------- */
597
-
598
- /*# sourceMappingURL=premium-upgrade.css.map */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/assets/css/premium-upgrade.css.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["premium-upgrade.scss"],"names":[],"mappings":"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","file":"premium-upgrade.css"}
 
admin/assets/css/premium-upgrade.scss DELETED
@@ -1,699 +0,0 @@
1
- /* -------------------- Pricing Plan ------------ */
2
-
3
- .clear:after {
4
- visibility: hidden;
5
- display: block;
6
- font-size: 0;
7
- content: " ";
8
- clear: both;
9
- height: 0;
10
- }
11
-
12
- .clear {
13
- display: inline-table;
14
- clear: both;
15
- }
16
-
17
- * html .clear {
18
- height: 1%;
19
- }
20
-
21
- .clear {
22
- display: block;
23
- }
24
-
25
- .hide {
26
- display: none !important;
27
- }
28
-
29
- .flex-wrap {
30
- display: -webkit-flex;
31
- display: -ms-flexbox;
32
- display: flex;
33
- -webkit-flex-wrap: wrap;
34
- -ms-flex-wrap: wrap;
35
- flex-wrap: wrap;
36
- }
37
-
38
- .flex-col {
39
- display: -webkit-flex;
40
- display: -ms-flexbox;
41
- display: flex;
42
- }
43
-
44
- .btn {
45
- line-height: 20px;
46
- display: block;
47
- float: left;
48
- position: relative;
49
- overflow: hidden;
50
- padding: 13px 20px;
51
- font-size: 0.9375em;
52
- font-weight: 400;
53
- text-align: center;
54
- cursor: pointer;
55
- text-decoration: none;
56
- margin: 0;
57
- border: 0;
58
- outline: 0;
59
- border-image-width: 0;
60
- -webkit-border-radius: 3px;
61
- -moz-border-radius: 3px;
62
- border-radius: 3px;
63
- }
64
-
65
- .btn,
66
- .btn:hover,
67
- .btn:focus,
68
- .btn:active {
69
- color: #fff;
70
- text-decoration: none;
71
- }
72
-
73
- .btn {
74
- background-color: #00bcd4;
75
- }
76
-
77
- .btn:hover {
78
- background-color: #26c6da;
79
- }
80
-
81
- .btn:focus,
82
- .btn:active {
83
- background-color: #05a7bd;
84
- }
85
-
86
- .m0 {
87
- margin: 0 !important;
88
- }
89
-
90
- .mb0 {
91
- margin-bottom: 0 !important;
92
- }
93
-
94
- .mb1 {
95
- margin-bottom: 1px !important;
96
- }
97
-
98
- .mb5 {
99
- margin-bottom: 5px !important;
100
- }
101
-
102
- .mb10 {
103
- margin-bottom: 10px !important;
104
- }
105
-
106
- .mb15 {
107
- margin-bottom: 15px !important;
108
- }
109
-
110
- .mb20 {
111
- margin-bottom: 20px !important;
112
- }
113
-
114
- .mb30 {
115
- margin-bottom: 30px !important;
116
- }
117
-
118
- .c-wh {
119
- color: #fff !important;
120
- }
121
- .c-red {
122
- color: #da4f49 !important;
123
- }
124
- .c-mg {
125
- color: #9e9e9e;
126
- }
127
- .w100 {
128
- width: 100% !important;
129
- }
130
-
131
- .bg-cy {
132
- background-color: #00bcd4;
133
- }
134
-
135
- .bg-gr {
136
- background-color: #8ac249;
137
- }
138
-
139
- .pricing-content {
140
- max-width: 1000px;
141
- margin: 0 auto;
142
- }
143
- .pricing-content, .pricing-content p {
144
- font-size: 18px;
145
- line-height: 1.6;
146
- }
147
- .pricing-content p:empty {
148
- display: none;
149
- }
150
-
151
- div.plans-wrapper ul {
152
- list-style-type: none;
153
- margin: 0 0 15px 0;
154
- }
155
-
156
- div#plans {
157
- margin-top: 50px;
158
- }
159
-
160
- div.plans-wrapper {
161
- width: 100%;
162
- margin: 0 auto;
163
- position: relative;
164
- background: #f5f8f9;
165
- z-index: 4;
166
- -webkit-box-shadow: 0 0 30px rgba(34, 44, 55, 0.15);
167
- -moz-box-shadow: 0 0 30px rgba(34, 44, 55, 0.15);
168
- box-shadow: 0 0 30px rgba(34, 44, 55, 0.15);
169
- }
170
-
171
- div.plans-wrapper div.plan-intro div.w100 {
172
- padding: 20px 30px 0 30px;
173
- position: relative;
174
- }
175
-
176
- div.plans-wrapper div.plan-intro {
177
- width: 340px;
178
- float: left;
179
- padding: 30px 0;
180
- position: relative;
181
- z-index: 4;
182
- }
183
-
184
- div.plans-wrapper div.plans {
185
- width: 100%;
186
- float: left;
187
- margin: 0 0 0 -340px;
188
- position: relative;
189
- }
190
-
191
- div.plans-wrapper div.content-wrapper{
192
- margin: 0 0 0 340px;
193
- position: relative;
194
- }
195
-
196
- div.plans-wrapper div.plan {
197
- width: 50%;
198
- float: left;
199
- text-align: center;
200
- position: relative;
201
- z-index: 2;
202
- -webkit-transition: all .5s;
203
- -moz-transition: all .5s;
204
- transition: all .5s;
205
- }
206
-
207
- div.plans-wrapper div.plan h3 {
208
- color: #fff;
209
- }
210
-
211
- div.plans-wrapper div.plan:last-child {
212
- border-right: 0;
213
- }
214
-
215
- div.plans-wrapper div.plan {
216
- background: #222c37;
217
- -webkit-transition: all .25s;
218
- -moz-transition: all .25s;
219
- transition: all .25s;
220
- }
221
-
222
- div.plans-wrapper div.plan2,
223
- div.plans-wrapper div.plan4 {
224
- background: #2d3741;
225
- }
226
-
227
- div.plans-wrapper div.plan div.w100 {
228
- position: relative;
229
- padding: 40px 20px 80px 20px;
230
- }
231
-
232
- div.plans-wrapper div.plan-intro img {
233
- width: 100%;
234
- height: auto;
235
- }
236
-
237
- div.plans-wrapper div.plan p {
238
- font-size: 1.0625em;
239
- color: #ccc;
240
- backface-visibility: hidden;
241
- }
242
-
243
- div.plans-wrapper div.plan .price {
244
- position: relative;
245
- display: inline-block;
246
- font-size: 1.875em;
247
- margin: 0 0 30px 0;
248
- }
249
-
250
- div.plans-wrapper div.plan div.action {
251
- position: absolute;
252
- bottom: 30px;
253
- left: 30px;
254
- right: 30px;
255
- text-align: center;
256
- }
257
-
258
- div.plans-wrapper div.plan div.action .btn {
259
- width: 100%;
260
- vertical-align: top;
261
- }
262
-
263
- div.compare-wrapper {
264
- width: 100%;
265
- margin: 0 auto;
266
- background: #ececec;
267
- position: relative;
268
- }
269
-
270
- div.compare-wrapper div.benefits {
271
- width: 340px;
272
- float: left;
273
- }
274
-
275
- div.compare-wrapper div.plans {
276
- width: 100%;
277
- float: left;
278
- margin: 0 0 0 -340px;
279
- position: relative;
280
- }
281
-
282
- div.compare-wrapper div.content-wrapper{
283
- margin: 0 0 0 340px;
284
- position: relative;
285
- }
286
-
287
- div.compare-wrapper div.plan {
288
- width: 50%;
289
- float: left;
290
- padding: 30px 0 0 0;
291
- text-align: center;
292
- background: #f5f8f9;
293
- }
294
-
295
- div.compare-wrapper div.plan.even {
296
- background: #ececec;
297
- }
298
-
299
- div.compare-wrapper div.tooltip {
300
- padding: 20px;
301
- background: #fff;
302
- position: absolute;
303
- border-bottom: #37BF91 5px solid;
304
- top: 48px;
305
- left: 10px;
306
- right: 10px;
307
- font-weight: 300;
308
- z-index: 999;
309
- text-align: left;
310
- -webkit-box-shadow: 0 1px 20px rgba(34, 44, 55, 0.3);
311
- -moz-box-shadow: 0 1px 20px rgba(34, 44, 55, 0.3);
312
- box-shadow: 0 1px 20px rgba(34, 44, 55, 0.3);
313
- }
314
-
315
- div.compare-wrapper div.tooltip:before {
316
- content: '';
317
- display: block;
318
- position: absolute;
319
- top: -19px;
320
- right: 21px;
321
- z-index: 18;
322
- border: transparent 10px solid;
323
- border-bottom-color: #fff;
324
- }
325
-
326
- div.compare-wrapper div.tooltip p {
327
- font-size: 1em;
328
- margin: 0;
329
- }
330
-
331
- div.compare-wrapper div.action {
332
- padding: 30px;
333
- background: #f0f3f4;
334
- }
335
-
336
- div.compare-wrapper div.plan.even div.action {
337
- background: #e7e7e7;
338
- }
339
-
340
- div.compare-wrapper div.action .btn {
341
- width: 100%;
342
- vertical-align: top;
343
- }
344
-
345
- div.compare-wrapper div.benefits h4 {
346
- margin: 0;
347
- padding: 30px;
348
- background: #f5f8f9;
349
- position: relative;
350
- z-index: 3;
351
- }
352
-
353
- div.compare-wrapper div.benefits ul {
354
- list-style: none !important;
355
- margin: 0 !important;
356
- padding: 0 !important;
357
- position: relative;
358
- z-index: 4;
359
- }
360
-
361
- div.compare-wrapper div.benefits ul li {
362
- height: 50px;
363
- padding: 0 30px !important;
364
- margin: 0 !important;
365
- text-align: left;
366
- font-size: 0.9375em;
367
- font-weight: 400;
368
- position: relative;
369
- background: #f5f8f9;
370
- }
371
-
372
- div.compare-wrapper div.benefits ul li div.text {
373
- vertical-align: middle;
374
- display: table-cell;
375
- height: 50px;
376
- }
377
-
378
- div.compare-wrapper div.benefits ul li:nth-child(odd) {
379
- background: #ececec;
380
- }
381
-
382
- div.compare-wrapper div.benefits ul li:before {
383
- display: none;
384
- }
385
-
386
- div.compare-wrapper div.benefits ul li span.dashicons-editor-help {
387
- line-height: 22px;
388
- display: block;
389
- position: absolute;
390
- top: 5px;
391
- right: 30px;
392
- cursor: pointer;
393
- text-align: center;
394
- color: #9e9e9e;
395
- font-size: 32px;
396
- line-height: 1;
397
- }
398
-
399
- div.compare-wrapper div.benefits ul li span.dashicons-editor-help:before {
400
- font-size: 85%;
401
- }
402
-
403
- div.compare-wrapper div.plan h4 {
404
- color: #222c37;
405
- margin: 0 0 30px 0;
406
- }
407
-
408
- div.compare-wrapper div.plan ul {
409
- width: 100%;
410
- margin: 0 !important;
411
- padding: 0 !important;
412
- list-style: none !important;
413
- }
414
-
415
- div.compare-wrapper div.plan ul li {
416
- position: relative;
417
- height: 50px;
418
- line-height: 20px;
419
- padding: 15px 20px !important;
420
- margin: 0 !important;
421
- text-align: center;
422
- font-size: 0.9375em;
423
- }
424
-
425
- div.compare-wrapper div.plan ul li:nth-child(odd) {
426
- background: rgba(0, 0, 0, 0.02);
427
- }
428
-
429
- div.compare-wrapper div.plan ul li:before {
430
- display: none;
431
- }
432
-
433
- div.compare-wrapper div.plan ul li span.dashicons-editor-help {
434
- font-size: 24px;
435
- vertical-align: top;
436
- line-height: 1;
437
- color: #9e9e9e;
438
- margin: 0 0 0 2px;
439
- cursor: pointer;
440
- }
441
-
442
- div.compare-wrapper div.plan ul li span.pay {
443
- font-weight: 700;
444
- }
445
-
446
- div.compare-wrapper div.plan ul li div.tooltip:before {
447
- right: 50%;
448
- margin: 0 -10px 0 0;
449
- }
450
- div.compare-wrapper div.plan ul li div.dashicons-no-alt {
451
- color: #da4f49;
452
- }
453
- div.compare-wrapper div.plan1 ul li div.dashicons-yes {
454
- color: #8ac249;
455
- }
456
-
457
- div.compare-wrapper div.plan2 ul li div.dashicons-yes {
458
- color: #00bcd4;
459
- }
460
-
461
- div.compare-wrapper div.plan3 ul li div.dashicons-yes {
462
- color: #37BF91;
463
- }
464
-
465
- div.compare-wrapper div.plan4 ul li div.dashicons-yes {
466
- color: #009688;
467
- }
468
-
469
- div.compare-wrapper .dashicons {
470
- font-size: 28px;
471
- line-height: 1;
472
- width: auto;
473
- height: auto;
474
- }
475
-
476
- div.compare-wrapper div.plan1 ul li div.tooltip {
477
- border-color: #8ac249;
478
- }
479
-
480
- div.compare-wrapper div.plan2 ul li div.tooltip {
481
- border-color: #00bcd4;
482
- }
483
-
484
- div.compare-wrapper div.plan3 ul li div.tooltip {
485
- border-color: #37BF91;
486
- }
487
-
488
- div.compare-wrapper div.plan4 ul li div.tooltip {
489
- border-color: #009688;
490
- }
491
-
492
- div.compare-wrapper div.plan ul li .m {
493
- display: none;
494
- }
495
-
496
-
497
- @media only screen and (min-width:150px) and (max-width:1380px) {
498
- div#plans {
499
- margin-bottom: 40px;
500
- }
501
- div.plans-wrapper div.plan-intro {
502
- display: none;
503
- }
504
- div.plans-wrapper div.plans {
505
- margin: 0;
506
- }
507
- div.plans-wrapper div.content-wrapper{
508
- margin: 0;
509
- }
510
- div.compare-wrapper {
511
- background: transparent;
512
- }
513
- div.compare-wrapper div.benefits {
514
- width: 100%;
515
- margin: 0 0 30px 0;
516
- }
517
- div.compare-wrapper div.benefits h4 {
518
- padding: 0;
519
- background: transparent;
520
- font-size: 2em;
521
- line-height: 1em;
522
- font-weight: 100;
523
- color: #222c37;
524
- }
525
- div.compare-wrapper div.benefits ul {
526
- display: none;
527
- }
528
- div.compare-wrapper div.plans {
529
- margin: 0;
530
- }
531
- div.compare-wrapper div.content-wrapper{
532
- margin: 0;
533
- }
534
- div.compare-wrapper div.plan h4 {
535
- color: #fff;
536
- margin: 0;
537
- padding: 15px 20px;
538
- background: #222c37;
539
- }
540
- div.compare-wrapper div.plan {
541
- width: 100%;
542
- padding: 0;
543
- margin: 0 0 15px 0;
544
- text-align: left;
545
- background: #f5f8f9 !important;
546
- }
547
- div.compare-wrapper div.plan ul {
548
- width: 100%;
549
- margin: 0;
550
- display: -webkit-flex;
551
- display: -ms-flexbox;
552
- display: flex;
553
- -webkit-flex-wrap: wrap;
554
- -ms-flex-wrap: wrap;
555
- flex-wrap: wrap;
556
- }
557
- div.compare-wrapper div.plan ul li {
558
- width: 50%;
559
- height: auto;
560
- float: left;
561
- line-height: 20px;
562
- padding: 15px 20px 15px 40px !important;
563
- text-align: left;
564
- display: -webkit-flex;
565
- display: -ms-flexbox;
566
- display: flex;
567
- }
568
- div.compare-wrapper div.plan ul li:nth-child(odd) {
569
- background: rgba(0, 0, 0, 0.0);
570
- }
571
- div.compare-wrapper div.plan ul li:nth-child(2),
572
- div.compare-wrapper div.plan ul li:nth-child(3),
573
- div.compare-wrapper div.plan ul li:nth-child(6),
574
- div.compare-wrapper div.plan ul li:nth-child(7),
575
- div.compare-wrapper div.plan ul li:nth-child(10),
576
- div.compare-wrapper div.plan ul li:nth-child(11),
577
- div.compare-wrapper div.plan ul li:nth-child(14),
578
- div.compare-wrapper div.plan ul li:nth-child(15),
579
- div.compare-wrapper div.plan ul li:nth-child(18),
580
- div.compare-wrapper div.plan ul li:nth-child(19),
581
- div.compare-wrapper div.plan ul li:nth-child(22),
582
- div.compare-wrapper div.plan ul li:nth-child(23) {
583
- background: rgba(0, 0, 0, 0.02);
584
- }
585
- div.compare-wrapper div.plan ul li span.message {
586
- display: none;
587
- }
588
- div.compare-wrapper div.plan ul li .m {
589
- display: inline-block;
590
- }
591
- div.compare-wrapper div.plan ul li div.dashicons-yes,
592
- div.compare-wrapper div.plan ul li div.dashicons-no-alt {
593
- position: absolute;
594
- top: 13px;
595
- left: 8px;
596
- }
597
- div.compare-wrapper div.plan ul li div.dashicons-no-alt {
598
- top: 16px;
599
- }
600
- div.compare-wrapper div.plan ul li span.m-message {
601
- display: inline-block;
602
- }
603
- div.compare-wrapper div.action {
604
- padding: 15px;
605
- background: #e7e7e7;
606
- }
607
- div.compare-wrapper div.plan.even div.action {
608
- background: #e7e7e7;
609
- }
610
- div.compare-wrapper div.action .btn {
611
- width: auto;
612
- }
613
- }
614
-
615
- @media only screen and (min-width:150px) and (max-width:1023px) {
616
-
617
- div#plans {
618
- padding-left: 30px;
619
- padding-right: 30px;
620
- }
621
- div.plans-wrapper div.plan {
622
- width: 50%;
623
- }
624
- div#compare {
625
- padding-left: 30px;
626
- padding-right: 30px;
627
- }
628
- }
629
-
630
- @media only screen and (min-width:150px) and (max-width:767px) {
631
- div#plans {
632
- padding-left: 20px;
633
- padding-right: 20px;
634
- }
635
- div.plans-wrapper {
636
- background: #fff;
637
- -webkit-box-shadow: none;
638
- -moz-box-shadow: none;
639
- box-shadow: none;
640
- }
641
- div.plans-wrapper div.plan {
642
- width: 100%;
643
- margin: 0 0 15px 0;
644
- -webkit-box-shadow: 0 0 30px rgba(34, 44, 55, 0.15);
645
- -moz-box-shadow: 0 0 30px rgba(34, 44, 55, 0.15);
646
- box-shadow: 0 0 30px rgba(34, 44, 55, 0.15);
647
- }
648
- div.plans-wrapper div.plan div.icon {
649
- display: none;
650
- }
651
- div.plans-wrapper div.plan p.text {
652
- height: auto !important;
653
- }
654
- div#compare {
655
- padding-left: 20px;
656
- padding-right: 20px;
657
- }
658
- div.compare-wrapper div.plan ul li {
659
- width: 100%;
660
- }
661
- div.compare-wrapper div.plan ul li:nth-child(2),
662
- div.compare-wrapper div.plan ul li:nth-child(3),
663
- div.compare-wrapper div.plan ul li:nth-child(6),
664
- div.compare-wrapper div.plan ul li:nth-child(7),
665
- div.compare-wrapper div.plan ul li:nth-child(10),
666
- div.compare-wrapper div.plan ul li:nth-child(11),
667
- div.compare-wrapper div.plan ul li:nth-child(14),
668
- div.compare-wrapper div.plan ul li:nth-child(15),
669
- div.compare-wrapper div.plan ul li:nth-child(18),
670
- div.compare-wrapper div.plan ul li:nth-child(19),
671
- div.compare-wrapper div.plan ul li:nth-child(22),
672
- div.compare-wrapper div.plan ul li:nth-child(23) {
673
- background: rgba(0, 0, 0, 0.0);
674
- }
675
- div.compare-wrapper div.plan ul li:nth-child(even) {
676
- background: rgba(0, 0, 0, 0.02) !important;
677
- }
678
- div.faq-wrapper div.g12 {
679
- padding-bottom: 15px !important;
680
- }
681
- div.faq-wrapper div.g4 {
682
- width: 100%;
683
- padding-bottom: 0;
684
- padding-top: 0;
685
- }
686
- }
687
-
688
- @media only screen and (min-width:150px) and (max-width:479px) {
689
- div#plans {
690
- padding-left: 15px;
691
- padding-right: 15px;
692
- }
693
- div#compare {
694
- padding-left: 15px;
695
- padding-right: 15px;
696
- }
697
- }
698
-
699
- /* ------- END: Pricing Plan --------- */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/assets/js/documentation.js CHANGED
@@ -40,59 +40,4 @@ jQuery(document).ready(function ($) {
40
  $( this ).attr( "href", imgUrl );
41
  } );
42
 
43
-
44
- // Sticky sidebar for upgrade to pro window
45
- $(window).on("resize load", function () {
46
- var current_width = $(window).width();
47
-
48
- // Above tablet size
49
- if (current_width > 768) {
50
-
51
- // Calculate the offset due to padding on the sidebar
52
- var paddingTop = $("#panel").css("padding-top");
53
-
54
- var paddingTopInteger = parseInt(paddingTop, 10);
55
-
56
- // While we're scrolling let's do this stuff
57
- $(window).scroll(function () {
58
-
59
- // Get current height of sticky sidebar
60
- var height = $(".panel-right .panel-inner").height();
61
-
62
- // Get desired width of sticky sidebar from the parent of sticky sidebar
63
- var width = $(".panel-right").width();
64
-
65
- // Get height of viewport
66
- viewportHeight = $(window).height();
67
-
68
- // Get amount already scolled
69
- var scroll = $(this).scrollTop();
70
-
71
- if (scroll < $("#panel").offset().top) {
72
- // If amount scolled from top is less than the position of panel (sidebar container) relative to document
73
- $(".panel-right .panel-inner").css({
74
- 'position': 'absolute',
75
- 'top': '0',
76
- 'width': '100%'
77
- });
78
-
79
- } else if (height > viewportHeight || $(window).width() <= 768 ) {
80
- // If the sidebar is taller than the viewport, don't stick the sidebar or remove stickiness if already stuck
81
- $(".panel-right .panel-inner").css({
82
- 'position': 'relative',
83
- 'width': '100%',
84
- 'top': 'initial'
85
- });
86
- } else {
87
- // Make the sidebar fixed while scrolling, if scroll position is past the panel containing sidebar
88
- $(".panel-right .panel-inner").css({
89
- 'position': 'fixed',
90
- 'top': paddingTopInteger,
91
- 'width': width + 'px'
92
- });
93
- }
94
- });
95
- }
96
- });
97
-
98
  });
40
  $( this ).attr( "href", imgUrl );
41
  } );
42
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  });
admin/assets/js/documentation.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function($){$(".inline-list").each(function(){$(this).find("li").each(function(i){$(this).click(function(){$(this).addClass("current").siblings().removeClass("current").parents("#wpbody").find("div.panel-left").removeClass("visible").end().find("div.panel-left:eq("+i+")").addClass("visible");return false})})});$(".anchor-nav a, .toc a").click(function(e){e.preventDefault();var href=$(this).attr("href");$("html, body").animate({scrollTop:$(href).offset().top-50},"slow","swing")});$(".livemesh-doc .panel-left h3").append($("<a class='back-to-top' href='#panel'><span class='dashicons dashicons-arrow-up-alt2'></span> Back to top</a>"));$("a[href*='cl.ly']:not(.direct-link)").each(function(){$(this).addClass("thickbox");var imgUrl=$(this).attr("href")+"?TB_iframe=true&width=1200&height=700";$(this).attr("href",imgUrl)});$(window).on("resize load",function(){var current_width=$(window).width();if(current_width>768){var paddingTop=$("#panel").css("padding-top");var paddingTopInteger=parseInt(paddingTop,10);$(window).scroll(function(){var height=$(".panel-right .panel-inner").height();var width=$(".panel-right").width();viewportHeight=$(window).height();var scroll=$(this).scrollTop();if(scroll<$("#panel").offset().top){$(".panel-right .panel-inner").css({position:"absolute",top:"0",width:"100%"})}else if(height>viewportHeight||$(window).width()<=768){$(".panel-right .panel-inner").css({position:"relative",width:"100%",top:"initial"})}else{$(".panel-right .panel-inner").css({position:"fixed",top:paddingTopInteger,width:width+"px"})}})}})});
1
+ jQuery(document).ready(function($){$(".inline-list").each(function(){$(this).find("li").each(function(i){$(this).click(function(){$(this).addClass("current").siblings().removeClass("current").parents("#wpbody").find("div.panel-left").removeClass("visible").end().find("div.panel-left:eq("+i+")").addClass("visible");return false})})});$(".anchor-nav a, .toc a").click(function(e){e.preventDefault();var href=$(this).attr("href");$("html, body").animate({scrollTop:$(href).offset().top-50},"slow","swing")});$(".livemesh-doc .panel-left h3").append($("<a class='back-to-top' href='#panel'><span class='dashicons dashicons-arrow-up-alt2'></span> Back to top</a>"));$("a[href*='cl.ly']:not(.direct-link)").each(function(){$(this).addClass("thickbox");var imgUrl=$(this).attr("href")+"?TB_iframe=true&width=1200&height=700";$(this).attr("href",imgUrl)})});
admin/assets/js/premium-upgrade.js DELETED
@@ -1,31 +0,0 @@
1
- (function($) {
2
-
3
- $(document).ready(function() {
4
-
5
- /* ==== COMPARE PLANS TOOLTIP =======*/
6
-
7
- $('.compare-wrapper ul li span.dashicons-editor-help').on('click', function(){
8
-
9
- var $tooltip = $(this).closest('li').find('.tooltip');
10
-
11
- if($tooltip.hasClass('hide')){
12
- $('.compare-wrapper .tooltip').addClass('hide');
13
- $tooltip.removeClass('hide');
14
- }
15
- else {
16
- $tooltip.addClass('hide');
17
- }
18
-
19
- });
20
-
21
- $('html').bind('click', function(e) {
22
-
23
- if($(e.target).closest('.compare-wrapper ul li span.dashicons-editor-help').length == 0 && $(e.target).closest('.tooltip').length == 0){
24
- $('.compare-wrapper .tooltip').addClass('hide');
25
- }
26
-
27
- });
28
-
29
- });
30
-
31
- })(jQuery);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/assets/js/premium-upgrade.min.js DELETED
@@ -1 +0,0 @@
1
- (function($){$(document).ready(function(){$(".compare-wrapper ul li span.dashicons-editor-help").on("click",function(){var $tooltip=$(this).closest("li").find(".tooltip");if($tooltip.hasClass("hide")){$(".compare-wrapper .tooltip").addClass("hide");$tooltip.removeClass("hide")}else{$tooltip.addClass("hide")}});$("html").bind("click",function(e){if($(e.target).closest(".compare-wrapper ul li span.dashicons-editor-help").length==0&&$(e.target).closest(".tooltip").length==0){$(".compare-wrapper .tooltip").addClass("hide")}})})})(jQuery);
 
admin/views/admin-banner1.php CHANGED
@@ -10,7 +10,7 @@ if (!defined('ABSPATH')) {
10
  <div id="lae-banner-wrap">
11
 
12
  <div id="lae-banner" class="lae-banner-sticky">
13
- <h2><span><?php echo __('Addons for Elementor', 'livemesh-el-addons'); ?></span><?php echo __('Plugin Documentation', 'livemesh-el-addons') ?></h2>
14
  </div>
15
 
16
  </div>
10
  <div id="lae-banner-wrap">
11
 
12
  <div id="lae-banner" class="lae-banner-sticky">
13
+ <h2><span><?php echo __('Livemesh Addons for Elementor', 'livemesh-el-addons'); ?></span><?php echo __('Plugin Documentation', 'livemesh-el-addons') ?></h2>
14
  </div>
15
 
16
  </div>
admin/views/admin-banner2.php CHANGED
@@ -10,7 +10,7 @@ if (!defined('ABSPATH')) {
10
  <div id="lae-banner-wrap">
11
 
12
  <div id="lae-banner" class="lae-banner-sticky">
13
- <h2><span><?php echo __('Addons for Elementor', 'livemesh-el-addons'); ?></span><?php echo __('Plugin Settings', 'livemesh-el-addons') ?></h2>
14
  <div id="lae-buttons-wrap">
15
  <a class="lae-button" data-action="lae_save_settings" id="lae_settings_save"><i
16
  class="dashicons dashicons-yes"></i><?php echo __('Save Settings', 'livemesh-el-addons') ?></a>
10
  <div id="lae-banner-wrap">
11
 
12
  <div id="lae-banner" class="lae-banner-sticky">
13
+ <h2><span><?php echo __('Livemesh Addons for Elementor', 'livemesh-el-addons'); ?></span><?php echo __('Plugin Settings', 'livemesh-el-addons') ?></h2>
14
  <div id="lae-buttons-wrap">
15
  <a class="lae-button" data-action="lae_save_settings" id="lae_settings_save"><i
16
  class="dashicons dashicons-yes"></i><?php echo __('Save Settings', 'livemesh-el-addons') ?></a>
admin/views/admin-banner3.php DELETED
@@ -1,16 +0,0 @@
1
- <?php
2
-
3
- // Exit if accessed directly
4
- if (!defined('ABSPATH')) {
5
- exit;
6
- }
7
-
8
- ?>
9
-
10
- <div id="lae-banner-wrap">
11
-
12
- <div id="lae-banner" class="lae-banner-sticky">
13
- <h2><span><?php echo __('Addons for Elementor', 'livemesh-el-addons'); ?></span><?php echo __('Premium Upgrade', 'livemesh-el-addons') ?></h2>
14
- </div>
15
-
16
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/documentation.php CHANGED
@@ -91,14 +91,14 @@ else {
91
  </ul>
92
  <h3 id="getting-started">Getting Started<a class="back-to-top" href="#panel"><span
93
  class="dashicons dashicons-arrow-up-alt2"></span> Back to top</a></h3>
94
- <p>Thanks for choosing Addons for Elementor plugin. This help file aims to provide you with all the information you need to make the best use of this powerful plugin. The aim of the plugin to make the task of building a website effortless and pleasurable. Towards that end, we have built a number of elements most commonly used across most of the websites of small businesses, corporates, design agencies, freelancers, artists etc.</p>
95
  <p>Do follow the steps below to get started - </p>
96
  <ol>
97
  <li>Install and activate the <strong>required plugin</strong> <a
98
  href="https://wordpress.org/plugins/elementor/" rel="nofollow" target="_blank">Elementor</a>.
99
  Elementor is one of the most popular WordPress page builder plugins powering more than 100,000 websites.
100
  </li>
101
- <li><strong>Make sure you deactivate the free plugin</strong> <a href="https://wordpress.org/plugins/addons-for-elementor/" rel="nofollow">Addons for Elementor</a> upon installing the premium version.
102
  </li>
103
  <li>Unzip the downloaded addons-for-elementor.zip file and upload to the <code>/wp-content/plugins/</code>
104
  directory or upload the plugin zip with the help of Plugins→Installed Plugins→Add New button.<br>
@@ -123,7 +123,7 @@ else {
123
  The portfolio examples of Livemesh Grid element is built using custom post type registered by
124
  this plugin.
125
  </li>
126
- <li>Optionally, if you have <a href="https://www.livemeshthemes.com/elementor-addons/pricing/" title="Addons for Elementor Pro" target="_blank">premium version</a> of the plugin installed, you can import the sample data
127
  that replicates the demo site for you by importing the
128
  file sample-data.xml file located in the plugin directory. The import option is available under
129
  <strong> <a href="<?php echo admin_url() . 'import.php'; ?>"
@@ -140,7 +140,7 @@ else {
140
  Although some of these plugins are optional, we recommend that you install these popular plugins if
141
  you plan to install the demo data and get most out of this plugin. The demo site and the sample data
142
  provided with the <a href="https://www.livemeshthemes.com/elementor-addons/pricing/"
143
- title="Addons for Elementor Pro" target="_blank">premium version</a> of
144
  the plugin utilizes all of these plugins including the Portfolio Post type plugin.</p>
145
  <p>These plugins are also listed in the Plugins tab of this help file under Elementor Addons →
146
  Documentation, and you can install the plugins directly from there.</p>
@@ -148,7 +148,7 @@ else {
148
  <li><p><strong>Elementor</strong> is perhaps the most loved page builder tool for WordPress powering
149
  over 100,000+ sites. You can build any layout you can imagine with intuitive drag and drop builder
150
  with little or no programming knowledge.</p>
151
- <p>All of the elements part of Addons for Elementor plugin were built using the API provided
152
  by the Elementor plugin and hence this plugin must be installed and activated on the site prior
153
  to using our plugin.</p>
154
  <p>All of the pages of our demo site for
@@ -166,7 +166,7 @@ else {
166
  <hr>
167
  <h3 id="demo-data">Installing Demo Data<a class="back-to-top" href="#panel"><span
168
  class="dashicons dashicons-arrow-up-alt2"></span> Back to top</a></h3>
169
- <p>If you have <a href="https://www.livemeshthemes.com/elementor-addons/pricing/" title="Addons for Elementor Pro" target="_blank">premium version</a> of the plugin installed, you can install the demo data to replicate the
170
  plugin demo site to get a head start on building your site. Installing demo data reduces the
171
  learning curve associated with trying out the powerful elements part of this plugin.</p>
172
  <p>The sample data imports the pages, posts and portfolio items part of the demo site. Once you are done with playing around the
@@ -191,7 +191,7 @@ else {
191
  get a head start on using the plugin.
192
  </li>
193
 
194
- <li>Once the Addons for Elementor plugin is activated, you should see a menu item <strong> <a href="<?php echo admin_url() . 'admin.php?page=livemesh_el_addons'; ?>"
195
  target="_blank"><?php echo __('Elementor Addons', 'livemesh-el-addons') ?></a></strong> in WordPress admin with five sections - Settings, Elements, Custom CSS, Debugging and Premium Upgrade.
196
  <p><img class="alignnone size-large" src="https://www.livemeshthemes.com/wp-content/uploads/plugin-doc/elementor-addons/plugin-settings.png" alt="Elementor Addons Settings"></p>
197
 
@@ -201,7 +201,7 @@ else {
201
 
202
  </li>
203
 
204
- <li>Once the Addons for Elementor plugin is activated, all of the elements built by the plugin become available
205
  for drag and drop in the frontend Elementor page builder. In the Page edit window, click on the <strong>'Edit with Elementor'</strong>
206
  button below the title field of the page edit window to invoke the frontend page builder controls
207
  of Elementor with the frontend page displayed on the right of the controls sidebar window.
@@ -243,7 +243,7 @@ else {
243
  </ul>
244
 
245
 
246
- <p>The below sections provide help on each of the elements built as part of Addons for Elementor
247
  plugin.</p>
248
 
249
  <hr>
@@ -260,7 +260,7 @@ else {
260
  allow you to input a subtitle which is usually displayed on top of the main heading title.</p>
261
  <p>You can choose to align the heading left, right or center with center being the default
262
  alignment.</p>
263
- <p>The <a href="https://www.livemeshthemes.com/elementor-addons/pricing/" title="Addons for Elementor Pro" target="_blank">premium version</a> of the plugin allows selection of a custom font for the heading title. You may
264
  choose one of 500+ custom fonts hosted in the Google Fonts library. By default, the heading font
265
  used by the theme is used for main heading title.</p>
266
 
@@ -274,7 +274,7 @@ else {
274
  <p>Many agencies, freelancers, corporates, products/apps require capturing the services provided by the
275
  agency or the features of a product. The services element is designed to help users capture these
276
  services or features in a multi-column grid.</p>
277
- <p>The element supports about 3 different styles (with 2 additional styles in <a href="https://www.livemeshthemes.com/elementor-addons/pricing/" title="Addons for Elementor Pro" target="_blank">premium version</a> of the
278
  plugin) and each of these styles can be customized further by choosing the type of icon desired to
279
  represent the service – a font icon or an custom image icon. While the choice of font icons is huge
280
  in number and perhaps sufficient for most common services, the icon images can help present the
@@ -282,7 +282,7 @@ else {
282
  <p>Each of the service requires you to input a title for the service/feature and a short description of
283
  the service offered or the product feature. Additionally, each service allows you to enter a font
284
  icon or an icon image file to represent that service.</p>
285
- <p>The <a href="https://www.livemeshthemes.com/elementor-addons/pricing/" title="Addons for Elementor Pro" target="_blank">premium version</a> of the plugin allows you specify a custom font size, font color and and hover
286
  color for the font icon along with providing two additional styles of services/features.</p>
287
  <p><img class="alignnone size-large" src="https://www.livemeshthemes.com/wp-content/uploads/plugin-doc/elementor-addons/services-widget-edit1.png" alt="Services Element Edit Window"></p>
288
  <p><img class="alignnone size-large" src="https://www.livemeshthemes.com/wp-content/uploads/plugin-doc/elementor-addons/services-widget-edit2.png" alt="Services Element Edit Window"></p>
@@ -305,7 +305,7 @@ else {
305
  <p>This element provides an easy way to capture the team members of your organization or an agency. The
306
  details captured include team member name, position, a short description and the email plus social
307
  profile of the individual team members.</p>
308
- <p>Two different styles are provided with more styles planned in the <a href="https://www.livemeshthemes.com/elementor-addons/pricing/" title="Addons for Elementor Pro" target="_blank">premium version</a> of the plugin. Most
309
  of the styles display the team members in a multi-column grid. The option to specify the number of
310
  columns is provided that helps to control the number of team members displayed per row of the team
311
  members.</p>
@@ -317,7 +317,7 @@ else {
317
 
318
  <p>The plugin features a number of elements that help display statistical information in the form of
319
  odometers, piecharts and stats bars.</p>
320
- <p>Most of these elements are designed to animate the display of the statistical information or numbers
321
  when the users scroll down to the section containing the widget.</p>
322
  <p><strong>Odometers</strong></p>
323
  <p><img class="alignnone size-large" src="https://www.livemeshthemes.com/wp-content/uploads/plugin-doc/elementor-addons/odometers2.png" alt="Odometer Element"></p>
@@ -353,7 +353,7 @@ else {
353
  <h3 id="testimonials-elements">Testimonials Elements<a class="back-to-top" href="#panel"> Back to top</a></h3>
354
  <p><img class="alignnone size-large" src="https://www.livemeshthemes.com/wp-content/uploads/plugin-doc/elementor-addons/testimonials.png" alt="Testimonials Element"></p>
355
 
356
- <p>The plugin features two elements for capturing testimonials received for your product or business or
357
  services. Most agencies, corporates, small businesses, freelancers and products/apps require
358
  testimonials to displayed prominently on the site to help convert visitors to customers. The two
359
  elements provided are elegantly designed to achieve greater conversion rate.</p>
@@ -512,7 +512,7 @@ else {
512
  you select Portfolio Post type under Post Type entry in Build Tools window as explained below.</p>
513
 
514
  <p><img class="alignnone size-large" src="https://www.livemeshthemes.com/wp-content/uploads/plugin-doc/elementor-addons/livemesh-grid-pagination.jpg" alt="Livemesh Grid Pagination"></p>
515
- <p>The <a href="https://www.livemeshthemes.com/elementor-addons/pricing/" title="Addons for Elementor Pro" target="_blank">premium version</a> of the plugin has support for pagination, lazy load with load more button and
516
  lightbox option for images. The additional posts are loaded via AJAX when the user navigates through
517
  the pages populated or when the user hits the Load More button.</p>
518
 
@@ -1052,7 +1052,7 @@ else {
1052
  <p><strong>Elementor</strong> is one of the most popular frontend page builder tool for WordPress powering
1053
  over 100,000+ sites. You can build any layout you can imagine with intuitive drag and drop builder
1054
  with little or no programming knowledge.</p>
1055
- <p>All of the elements part of Addons for Elementor plugin were built using the API provided
1056
  by the Elementor plugin and hence this plugin must be installed and activated on the site prior
1057
  to using our plugin.</p>
1058
  <p>All of the pages of our demo site for
@@ -1123,70 +1123,175 @@ else {
1123
 
1124
  <!-- Updates panel -->
1125
  <div id="updates-panel" class="panel-left">
1126
- <h3>1.6</h3>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1127
  <ul>
1128
  <li>Added – Compatibility with Elementor and Elementor PRO 2.</li>
1129
  <li>Added - Dynamic field connections for most widgets supported by Elementor 2.</li>
1130
  <li>Updated - Removed Livemesh prefix from all elements. For example, Livemesh Services is now named Services, Livemesh Tabs is now Tabs, Livemesh Grid is now Posts Grid etc.</li>
1131
  <li>Added - Ability to specify client name in HTML for additional formatting.</li>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1132
  <li>Updated - Waypoints script with new API for handling events on scroll</li>
1133
  <li>Fixed - Some themes can break animations and report script errors for elements like piecharts, odometers, progress bars etc.</li>
1134
  </ul>
1135
- <h3>1.5.4</h3>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1136
  <ul>
1137
  <li>Fixed – Livemesh Grid columns can break in certain resolutions in FireFox.</li>
1138
- <li>Fixed - The piechart value is not being rounded.</li>
1139
- <li>Fixed - The post grid and posts carousel date format not reflecting the user preference specified in Settings page.</li>
1140
  </ul>
1141
- <h3>1.5.3</h3>
1142
  <ul>
 
 
 
1143
  <li>Fixed - Next Previous buttons of carousels would not show up in certain installations due to conflicts with base slick carousel styles</li>
1144
  </ul>
1145
- <h3>1.5.2</h3>
1146
  <ul>
1147
- <li>Fixed – Categories or taxonomy terms repeat when specific taxonomy terms/categories are chosen in query window</li>
 
1148
  </ul>
1149
- <h3>1.5.1</h3>
1150
  <ul>
1151
- <li>Fixed – Some themes have trouble rendering grid columns</li>
1152
- <li>Fixed - Comma shows up in category list for the image hover in grid</li>
 
 
1153
  </ul>
1154
- <h3>1.5</h3>
 
 
 
 
 
 
1155
  <ul>
1156
  <li>Upgrade – Simpler grid system based on NEAT 2.1 version</li>
1157
  <li>Updated - The CSS is now optimized for vendor prefixes with reduced properties and file size.</li>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1158
  </ul>
1159
  <h3>1.4.1</h3>
1160
  <ul>
1161
- <li>Added - Ability to rate plugin from admin screen</li>
1162
  </ul>
1163
  <h3>1.4</h3>
1164
  <ul>
1165
- <li>Fixed – The post image in a grid or posts carousel was not clickable to the link specified</li>
1166
- <li>Fixed – The grid filters would not center when a heading was not specified.</li>
1167
- <li>Fixed – The grid filters will not display multi-line on devices of lower resolutions like mobile devices.</li>
1168
- <li>Updated - Compatibility with WordPress 4.9 version.</li>
1169
  </ul>
1170
  <h3>1.3</h3>
1171
  <ul>
1172
  <li>Added - Extensive customization options including typography, color and other styling options for all addons/modules</li>
1173
  <li>Fixed - The lightbox image was smaller than uploaded size</li>
1174
  <li>Fixed - Service icons would show up even when 'None' option was chosen</li>
 
1175
  </ul>
1176
  <h3>1.2.1</h3>
1177
  <ul>
1178
- <li>Fixed - Translations not working with default files provided by plugin</li>
1179
- <li>Fixed - The client images would show up misaligned and with additional padding in certain sites</li>
1180
  </ul>
1181
  <h3>1.2</h3>
1182
  <ul>
1183
  <li>Fixed - The portfolio grid addon leaves an empty space on the top when no heading is specified and when no taxonomy filters are specified</li>
1184
  <li>Fixed - In a few installations, the grid elements may not occupy full width between 769px to 800px device resolutions</li>
1185
  <li>Fixed - The grid raised an warning when when certain taxonomies are chosen in the grid settings.</li>
 
1186
  <li>Credit - Big thanks to user Axel for finding ALL these bugs that I could not have found myself.</li>
1187
  </ul>
1188
  <h3>1.1</h3>
1189
  <ul>
 
1190
  <li>Fixed - Links in a few widgets were showing even when no link URL was specified</li>
1191
  <li>Fixed - A few addons would wrap around and move outside of the editor container</li>
1192
  <li>Fixed - Odometers, Piecharts and Bar Charts addons would not show up in the editor preview</li>
@@ -1206,21 +1311,62 @@ else {
1206
 
1207
  <div class="panel-inner">
1208
 
1209
- <div class="panel-aside banner">
1210
- <a href="https://www.livemeshthemes.com/elementor-addons/pricing/" title="Purchase Now"><img class="dashboard-image"
1211
- src="https://www.livemeshthemes.com/wp-content/uploads/plugin-doc/elementor-addons/dashboard/purchase-banner1.jpg"
1212
- alt="Sale Banner"></a>
1213
- </div>
1214
-
1215
- <!-- Knowledge base -->
1216
- <div class="panel-aside">
1217
- <h4><?php _e('Why upgrade to Premium version?', 'livemesh-el-addons'); ?></h4>
1218
- <p><?php _e('Premium version offers multiple benefits - more addon elements, advanced features for addons including those part of the free plugin and priority support through a dedicated support forum.', 'livemesh-el-addons'); ?></p>
1219
-
1220
- <a class="button button-primary"
1221
- href="<?php echo admin_url() . 'admin.php?page=livemesh_el_addons_pro_upgrade'; ?>"
1222
- title="<?php esc_attr_e('Know More', 'livemesh-el-addons'); ?>"><?php _e('Know More Details', 'livemesh-el-addons'); ?></a>
1223
- </div><!-- .panel-aside knowledge base -->
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1224
 
1225
  </div><!-- .panel-inner -->
1226
  </div><!-- .panel-right -->
91
  </ul>
92
  <h3 id="getting-started">Getting Started<a class="back-to-top" href="#panel"><span
93
  class="dashicons dashicons-arrow-up-alt2"></span> Back to top</a></h3>
94
+ <p>Thanks for choosing Livemesh Addons for Elementor plugin. This help file aims to provide you with all the information you need to make the best use of this powerful plugin. The aim of the plugin to make the task of building a website effortless and pleasurable. Towards that end, we have built a number of elements most commonly used across most of the websites of small businesses, corporates, design agencies, freelancers, artists etc.</p>
95
  <p>Do follow the steps below to get started - </p>
96
  <ol>
97
  <li>Install and activate the <strong>required plugin</strong> <a
98
  href="https://wordpress.org/plugins/elementor/" rel="nofollow" target="_blank">Elementor</a>.
99
  Elementor is one of the most popular WordPress page builder plugins powering more than 100,000 websites.
100
  </li>
101
+ <li><strong>Make sure you deactivate the free plugin</strong> <a href="https://wordpress.org/plugins/addons-for-elementor/" rel="nofollow">Livemesh Addons for Elementor</a> upon installing the premium version.
102
  </li>
103
  <li>Unzip the downloaded addons-for-elementor.zip file and upload to the <code>/wp-content/plugins/</code>
104
  directory or upload the plugin zip with the help of Plugins→Installed Plugins→Add New button.<br>
123
  The portfolio examples of Livemesh Grid element is built using custom post type registered by
124
  this plugin.
125
  </li>
126
+ <li>Optionally, if you have <a href="https://www.livemeshthemes.com/elementor-addons/pricing/" title="Livemesh Addons for Elementor Pro" target="_blank">premium version</a> of the plugin installed, you can import the sample data
127
  that replicates the demo site for you by importing the
128
  file sample-data.xml file located in the plugin directory. The import option is available under
129
  <strong> <a href="<?php echo admin_url() . 'import.php'; ?>"
140
  Although some of these plugins are optional, we recommend that you install these popular plugins if
141
  you plan to install the demo data and get most out of this plugin. The demo site and the sample data
142
  provided with the <a href="https://www.livemeshthemes.com/elementor-addons/pricing/"
143
+ title="Livemesh Addons for Elementor Pro" target="_blank">premium version</a> of
144
  the plugin utilizes all of these plugins including the Portfolio Post type plugin.</p>
145
  <p>These plugins are also listed in the Plugins tab of this help file under Elementor Addons →
146
  Documentation, and you can install the plugins directly from there.</p>
148
  <li><p><strong>Elementor</strong> is perhaps the most loved page builder tool for WordPress powering
149
  over 100,000+ sites. You can build any layout you can imagine with intuitive drag and drop builder
150
  with little or no programming knowledge.</p>
151
+ <p>All of the elements part of Livemesh Addons for Elementor plugin were built using the API provided
152
  by the Elementor plugin and hence this plugin must be installed and activated on the site prior
153
  to using our plugin.</p>
154
  <p>All of the pages of our demo site for
166
  <hr>
167
  <h3 id="demo-data">Installing Demo Data<a class="back-to-top" href="#panel"><span
168
  class="dashicons dashicons-arrow-up-alt2"></span> Back to top</a></h3>
169
+ <p>If you have <a href="https://www.livemeshthemes.com/elementor-addons/pricing/" title="Livemesh Addons for Elementor Pro" target="_blank">premium version</a> of the plugin installed, you can install the demo data to replicate the
170
  plugin demo site to get a head start on building your site. Installing demo data reduces the
171
  learning curve associated with trying out the powerful elements part of this plugin.</p>
172
  <p>The sample data imports the pages, posts and portfolio items part of the demo site. Once you are done with playing around the
191
  get a head start on using the plugin.
192
  </li>
193
 
194
+ <li>Once the Livemesh Addons for Elementor plugin is activated, you should see a menu item <strong> <a href="<?php echo admin_url() . 'admin.php?page=livemesh_el_addons'; ?>"
195
  target="_blank"><?php echo __('Elementor Addons', 'livemesh-el-addons') ?></a></strong> in WordPress admin with five sections - Settings, Elements, Custom CSS, Debugging and Premium Upgrade.
196
  <p><img class="alignnone size-large" src="https://www.livemeshthemes.com/wp-content/uploads/plugin-doc/elementor-addons/plugin-settings.png" alt="Elementor Addons Settings"></p>
197
 
201
 
202
  </li>
203
 
204
+ <li>Once the Livemesh Addons for Elementor plugin is activated, all of the elements built by the plugin become available
205
  for drag and drop in the frontend Elementor page builder. In the Page edit window, click on the <strong>'Edit with Elementor'</strong>
206
  button below the title field of the page edit window to invoke the frontend page builder controls
207
  of Elementor with the frontend page displayed on the right of the controls sidebar window.
243
  </ul>
244
 
245
 
246
+ <p>The below sections provide help on each of the elements/addons built as part of Livemesh Addons for Elementor
247
  plugin.</p>
248
 
249
  <hr>
260
  allow you to input a subtitle which is usually displayed on top of the main heading title.</p>
261
  <p>You can choose to align the heading left, right or center with center being the default
262
  alignment.</p>
263
+ <p>The <a href="https://www.livemeshthemes.com/elementor-addons/pricing/" title="Livemesh Addons for Elementor Pro" target="_blank">premium version</a> of the plugin allows selection of a custom font for the heading title. You may
264
  choose one of 500+ custom fonts hosted in the Google Fonts library. By default, the heading font
265
  used by the theme is used for main heading title.</p>
266
 
274
  <p>Many agencies, freelancers, corporates, products/apps require capturing the services provided by the
275
  agency or the features of a product. The services element is designed to help users capture these
276
  services or features in a multi-column grid.</p>
277
+ <p>The element supports about 3 different styles (with 2 additional styles in <a href="https://www.livemeshthemes.com/elementor-addons/pricing/" title="Livemesh Addons for Elementor Pro" target="_blank">premium version</a> of the
278
  plugin) and each of these styles can be customized further by choosing the type of icon desired to
279
  represent the service – a font icon or an custom image icon. While the choice of font icons is huge
280
  in number and perhaps sufficient for most common services, the icon images can help present the
282
  <p>Each of the service requires you to input a title for the service/feature and a short description of
283
  the service offered or the product feature. Additionally, each service allows you to enter a font
284
  icon or an icon image file to represent that service.</p>
285
+ <p>The <a href="https://www.livemeshthemes.com/elementor-addons/pricing/" title="Livemesh Addons for Elementor Pro" target="_blank">premium version</a> of the plugin allows you specify a custom font size, font color and and hover
286
  color for the font icon along with providing two additional styles of services/features.</p>
287
  <p><img class="alignnone size-large" src="https://www.livemeshthemes.com/wp-content/uploads/plugin-doc/elementor-addons/services-widget-edit1.png" alt="Services Element Edit Window"></p>
288
  <p><img class="alignnone size-large" src="https://www.livemeshthemes.com/wp-content/uploads/plugin-doc/elementor-addons/services-widget-edit2.png" alt="Services Element Edit Window"></p>
305
  <p>This element provides an easy way to capture the team members of your organization or an agency. The
306
  details captured include team member name, position, a short description and the email plus social
307
  profile of the individual team members.</p>
308
+ <p>Two different styles are provided with more styles planned in the <a href="https://www.livemeshthemes.com/elementor-addons/pricing/" title="Livemesh Addons for Elementor Pro" target="_blank">premium version</a> of the plugin. Most
309
  of the styles display the team members in a multi-column grid. The option to specify the number of
310
  columns is provided that helps to control the number of team members displayed per row of the team
311
  members.</p>
317
 
318
  <p>The plugin features a number of elements that help display statistical information in the form of
319
  odometers, piecharts and stats bars.</p>
320
+ <p>Most of these addons are designed to animate the display of the statistical information or numbers
321
  when the users scroll down to the section containing the widget.</p>
322
  <p><strong>Odometers</strong></p>
323
  <p><img class="alignnone size-large" src="https://www.livemeshthemes.com/wp-content/uploads/plugin-doc/elementor-addons/odometers2.png" alt="Odometer Element"></p>
353
  <h3 id="testimonials-elements">Testimonials Elements<a class="back-to-top" href="#panel"> Back to top</a></h3>
354
  <p><img class="alignnone size-large" src="https://www.livemeshthemes.com/wp-content/uploads/plugin-doc/elementor-addons/testimonials.png" alt="Testimonials Element"></p>
355
 
356
+ <p>The plugin features two addon elements for capturing testimonials received for your product or business or
357
  services. Most agencies, corporates, small businesses, freelancers and products/apps require
358
  testimonials to displayed prominently on the site to help convert visitors to customers. The two
359
  elements provided are elegantly designed to achieve greater conversion rate.</p>
512
  you select Portfolio Post type under Post Type entry in Build Tools window as explained below.</p>
513
 
514
  <p><img class="alignnone size-large" src="https://www.livemeshthemes.com/wp-content/uploads/plugin-doc/elementor-addons/livemesh-grid-pagination.jpg" alt="Livemesh Grid Pagination"></p>
515
+ <p>The <a href="https://www.livemeshthemes.com/elementor-addons/pricing/" title="Livemesh Addons for Elementor Pro" target="_blank">premium version</a> of the plugin has support for pagination, lazy load with load more button and
516
  lightbox option for images. The additional posts are loaded via AJAX when the user navigates through
517
  the pages populated or when the user hits the Load More button.</p>
518
 
1052
  <p><strong>Elementor</strong> is one of the most popular frontend page builder tool for WordPress powering
1053
  over 100,000+ sites. You can build any layout you can imagine with intuitive drag and drop builder
1054
  with little or no programming knowledge.</p>
1055
+ <p>All of the elements part of Livemesh Addons for Elementor plugin were built using the API provided
1056
  by the Elementor plugin and hence this plugin must be installed and activated on the site prior
1057
  to using our plugin.</p>
1058
  <p>All of the pages of our demo site for
1123
 
1124
  <!-- Updates panel -->
1125
  <div id="updates-panel" class="panel-left">
1126
+
1127
+ <h2>Change Log for the Premium Version</h2>
1128
+ <br>
1129
+ <h3>2.0.1</h3>
1130
+ <ul>
1131
+ <li>Fixed - Bug fixes related to Freemius integration.</li>
1132
+ </ul>
1133
+ <h3>2.0</h3>
1134
+ <ul>
1135
+ <li>Added – Freemius integration for easy upgrade, quick support/feedback and opt-in usage tracking with GDPR compliance.</li>
1136
+ </ul>
1137
+ <h3>1.9.2</h3>
1138
+ <ul>
1139
+ <li>Fixed - The URLs specified for the gallery items not preserved across pagination or load more calls.</li>
1140
+ <li>Fixed – Translation issues due to presence of additional language domains.</li>
1141
+ <li>Fixed - Some sites had issues rendering tabs with disappearing tab labels and extra spaces at the bottom.</li>
1142
+ </ul>
1143
+ <h3>1.9.1</h3>
1144
  <ul>
1145
  <li>Added – Compatibility with Elementor and Elementor PRO 2.</li>
1146
  <li>Added - Dynamic field connections for most widgets supported by Elementor 2.</li>
1147
  <li>Updated - Removed Livemesh prefix from all elements. For example, Livemesh Services is now named Services, Livemesh Tabs is now Tabs, Livemesh Grid is now Posts Grid etc.</li>
1148
  <li>Added - Ability to specify client name in HTML for additional formatting.</li>
1149
+ </ul>
1150
+ <h3>1.9.0</h3>
1151
+ <ul>
1152
+ <li>Added – New simpler grid system for all elements that use grid.</li>
1153
+ <li>Added – Seamless control of number of columns at all device resolutions for all those elements that involve grid – posts/portfolio grid, posts block, image/video gallery, clients, services, testimonials, team, charts, pricing table, faq etc.</li>
1154
+ <li>Added - Option to preserve shortcodes and HTML tags in excerpt. Option is disabled by default.</li>
1155
+ </ul>
1156
+ <h3>1.8.8</h3>
1157
+ <ul>
1158
+ <li>Fixed – Pagination and Load More for gallery would break when special characters are present in title or description.</li>
1159
+ <li>Fixed - Duplicate tags filters generated in gallery when tags have spaces around them.</li>
1160
+ </ul>
1161
+ <h3>1.8.7</h3>
1162
+ <ul>
1163
+ <li>Fixed - Warning for image slider widget in Elementor 2.0</li>
1164
+ <li>Fixed - Grid layout for video gallery can break at times when user expands an inline video full screen</li>
1165
+ <li>Tweak - Increased the taxonomy terms limit to 500 to help taxonomy field display all terms in installations where there are large number of terms</li>
1166
+ </ul>
1167
+ <h3>1.8.6</h3>
1168
+ <ul>
1169
+ <li>Fixed - Broken wide image support for masonry grid in media gallery</li>
1170
+ </ul>
1171
+ <h3>1.8.5</h3>
1172
+ <ul>
1173
+ <li>Added - Support for multiple url formats for YouTube and Vimeo videos in video gallery</li>
1174
+ <li>Added - Support for inline responsive videos of YouTube, Vimeo and self-hosted MP4/WebM video formats</li>
1175
+ <li>Added - If no custom thumbnail is set, the thumbnails for YouTube/Vimeo videos automatically set from the service provider</li>
1176
+ <li>Fixed - Next/Prev navigation for gallery not working</li>
1177
+ </ul>
1178
+ <h3>1.8.3</h3>
1179
+ <ul>
1180
  <li>Updated - Waypoints script with new API for handling events on scroll</li>
1181
  <li>Fixed - Some themes can break animations and report script errors for elements like piecharts, odometers, progress bars etc.</li>
1182
  </ul>
1183
+ <h3>1.8.2</h3>
1184
+ <ul>
1185
+ <li>Improved – License activation page with less confusing interface.</li>
1186
+ <li>Added - The license code entered is now masked upon activation.</li>
1187
+ </ul>
1188
+ <h3>1.8.1</h3>
1189
+ <ul>
1190
+ <li>Added – Ability to display description for the image/video element in the gallery and gallery carousel lightbox window.</li>
1191
+ <li>Added – The lightbox for posts grid and posts block now displays post summary and a link to the post in the lightbox.</li>
1192
+ <li>Added – Option to disable display of post summary/excerpt in the lightbox window of posts block or posts grid.</li>
1193
+ </ul>
1194
+ <h3>1.8.0</h3>
1195
+ <ul>
1196
+ <li>Added – Fancybox lightbox integration for grid, posts block, image gallery, video gallery and gallery carousel modules.</li>
1197
+ <li>Added – Advanced features like touch/swipe controls, pinch out/in, double tap, keyboard navigation, full screen, thumbnails, social media sharing, hardware accelerated animations, direct linking now supported with lightbox.</li>
1198
+ <li>Added – HTML5 video support in video gallery and video carousel modules. Support for MP4 and WebM formats.</li>
1199
+ </ul>
1200
+ <h3>1.7.6</h3>
1201
  <ul>
1202
  <li>Fixed – Livemesh Grid columns can break in certain resolutions in FireFox.</li>
1203
+ <li>Fixed - Livemesh Grid excerpt would not display shortcodes or HTML content</li>
1204
+ <li>Fixed - Livemesh Gallery styling controls not taking effect for thumbnail hover and titles</li>
1205
  </ul>
1206
+ <h3>1.7.5</h3>
1207
  <ul>
1208
+ <li>Added - Support for creating stunning masonry gallery layouts using flexible widths and heights for images.</li>
1209
+ <li>Added - Ability to specify wide width for images in masonry layout of gallery.</li>
1210
+ <li>Added - Options to enable/disable display of image/video titles and image/video tags in gallery and gallery carousel addons.</li>
1211
  <li>Fixed - Next Previous buttons of carousels would not show up in certain installations due to conflicts with base slick carousel styles</li>
1212
  </ul>
1213
+ <h3>1.7.3</h3>
1214
  <ul>
1215
+ <li>Fixed - Undefined index warning on the gallery addon.</li>
1216
+ <li>Fixed - Pagination/load more on the gallery addon.</li>
1217
  </ul>
1218
+ <h3>1.7.2</h3>
1219
  <ul>
1220
+ <li>Fixed - Lightbox conflict with Elementor for gallery, gallery carousel, posts/portfolio grid and posts blocks modules.</li>
1221
+ <li>Added - Option to choose either Elementor or Magnific Popup as lightbox lib for gallery and gallery carousel addons.</li>
1222
+ <li>Added - Made Elementor lightbox lib as default for gallery and gallery carousel addons with slideshow function.</li>
1223
+ <li>Fixed - The categories/taxonomy terms of the posts/portfolio grid and posts blocks would display a comma character on the post image when multiple terms/categories were present.</li>
1224
  </ul>
1225
+ <h3>1.7.1</h3>
1226
+ <ul>
1227
+ <li>Added - Advanced tab and accordion functions that help directly link to Tabs and Accordion panels from external pages. On page load, the corresponding tab/panel opens upon auto-scrolling to the tab or accordion panel.</li>
1228
+ <li>Added - Smooth scroll to tabs and accordion panels from internal links within a page.</li>
1229
+ <li>Added - Open tab or accordion panels by clicking the internal links within a page.</li>
1230
+ </ul>
1231
+ <h3>1.7</h3>
1232
  <ul>
1233
  <li>Upgrade – Simpler grid system based on NEAT 2.1 version</li>
1234
  <li>Updated - The CSS is now optimized for vendor prefixes with reduced properties and file size.</li>
1235
+ <li>Added - Scroll to the top of the posts block to display new posts during paged navigation (when new posts are not visible).</li>
1236
+ </ul>
1237
+
1238
+ <h3>1.6</h3>
1239
+ <ul>
1240
+ <li>Added – Image size option for all major addons including grid, gallery and carousels.</li>
1241
+ <li>Added – Ability to crop images and specify custom image sizes for all major addons including grid, gallery and carousels.</li>
1242
+ <li>Added - Bulk upload option for image gallery. The title of the image attachments is displayed on hover.</li>
1243
+ <li>Added - The lightbox now opens on clicking anywhere on the image if no destination URL is specified for gallery item</li>
1244
+ <li>Fixed – The gallery image was not clickable to the link specified</li>
1245
+ <li>Fixed – The gallery filters would not center when a heading was not specified.</li>
1246
+ <li>Fixed – The gallery filters will not display multi-line on devices of lower resolutions like mobile devices.</li>
1247
+ </ul>
1248
+
1249
+ <h3>1.5</h3>
1250
+ <ul>
1251
+ <li>Added – Moved the Livemesh Grid widget to new framework based on reusable blocks. Pls note that the class names have changed to keep it consistent with the new framework.</li>
1252
+ <li>Added – 6 different styles for grid items plus 7 header styles too</li>
1253
+ <li>Added – Next Prev pagination options for Livemesh Grid widget</li>
1254
+ <li>Added – Ability to handle large number of grid pages by providing dotted navigation</li>
1255
+ <li>Added – AJAX Category or taxonomy filtering for Grid widget. No more empty grid on category/taxonomy filtering</li>
1256
+ <li>Added – Read More option for the grid items</li>
1257
+ <li>Added – Open in new window option for links to posts in the grid</li>
1258
+ <li>Added – Two more header styles to posts blocks</li>
1259
+ <li>Fixed – The grid image was not clickable to the post</li>
1260
+ <li>Fixed – The filters would not center when a heading was not specified.</li>
1261
+ <li>Fixed – The grid filters will not display multi-line on devices of lower resolutions like mobile devices.</li>
1262
  </ul>
1263
  <h3>1.4.1</h3>
1264
  <ul>
1265
+ <li>Fixed - Fatal error on installations running below PHP 5.5 versions</li>
1266
  </ul>
1267
  <h3>1.4</h3>
1268
  <ul>
1269
+ <li>Added - Brand new Post Blocks Widget with more than a dozen styles and options to present your posts or custom post types</li>
1270
+ <li>Added - AJAX Pagination, Next Prev and Load More options for Post Blocks widget</li>
1271
+ <li>Added - AJAX Category or taxonomy filtering for Post Blocks widget</li>
 
1272
  </ul>
1273
  <h3>1.3</h3>
1274
  <ul>
1275
  <li>Added - Extensive customization options including typography, color and other styling options for all addons/modules</li>
1276
  <li>Fixed - The lightbox image was smaller than uploaded size</li>
1277
  <li>Fixed - Service icons would show up even when 'None' option was chosen</li>
1278
+ <li>Fixed - Translations not working with default files provided by plugin</li>
1279
  </ul>
1280
  <h3>1.2.1</h3>
1281
  <ul>
1282
+ <li>Added - Automatic plugin updates and license key activation</li>
 
1283
  </ul>
1284
  <h3>1.2</h3>
1285
  <ul>
1286
  <li>Fixed - The portfolio grid addon leaves an empty space on the top when no heading is specified and when no taxonomy filters are specified</li>
1287
  <li>Fixed - In a few installations, the grid elements may not occupy full width between 769px to 800px device resolutions</li>
1288
  <li>Fixed - The grid raised an warning when when certain taxonomies are chosen in the grid settings.</li>
1289
+ <li>Fixed - The isotope and magnific popup libraries were not being loaded for image/video gallery addon.</li>
1290
  <li>Credit - Big thanks to user Axel for finding ALL these bugs that I could not have found myself.</li>
1291
  </ul>
1292
  <h3>1.1</h3>
1293
  <ul>
1294
+ <li>Fixed - Plugin animations mixing up with elementor animations making the addons to disappear on frontend</li>
1295
  <li>Fixed - Links in a few widgets were showing even when no link URL was specified</li>
1296
  <li>Fixed - A few addons would wrap around and move outside of the editor container</li>
1297
  <li>Fixed - Odometers, Piecharts and Bar Charts addons would not show up in the editor preview</li>
1311
 
1312
  <div class="panel-inner">
1313
 
1314
+ <?php if (lae_fs()->is_not_paying()): ?>
1315
+
1316
+ <div class="panel-aside banner">
1317
+ <a href="<?php echo lae_fs()->get_upgrade_url(); ?>" title="Purchase Now"><img
1318
+ class="dashboard-image"
1319
+ src="https://www.livemeshthemes.com/wp-content/uploads/plugin-doc/elementor-addons/dashboard/purchase-banner1.jpg"
1320
+ alt="Sale Banner"></a>
1321
+ </div>
1322
+
1323
+ <!-- Knowledge base -->
1324
+ <div class="panel-aside">
1325
+ <h4><?php _e('Why upgrade to Premium version?', 'livemesh-el-addons'); ?></h4>
1326
+ <p><?php _e('Premium version offers multiple benefits - more addon elements, advanced features for addons including those part of the free plugin and priority support through a dedicated support forum.', 'livemesh-el-addons'); ?></p>
1327
+
1328
+ <a class="button button-primary"
1329
+ href="https://www.livemeshthemes.com/elementor-addons/addons-demo/#why-upgrade"
1330
+ title="<?php esc_attr_e('Know More', 'livemesh-el-addons'); ?>"><?php _e('Know More Details', 'livemesh-el-addons'); ?></a>
1331
+ </div><!-- .panel-aside knowledge base -->
1332
+
1333
+
1334
+ <?php else: ?>
1335
+
1336
+ <!-- Knowledge base -->
1337
+ <div class="panel-aside">
1338
+ <h4>Need support for the plugin?</h4>
1339
+ <p>Support for premium version is provided through our <a
1340
+ href="https://support.livemeshthemes.com/forums/forum/elementor-addons-support/"
1341
+ title="Livemesh Addons for Elementor Support forum">dedicated support forum</a>.
1342
+ </p>
1343
+ <p>To register with support, pls send us your purchase details along with desired forum
1344
+ username through our <a href="https://www.livemeshthemes.com/contact-us/"
1345
+ title="Livemesh Contact form">contact form</a> and we will
1346
+ create a support account and email you the forum access details.</p>
1347
+
1348
+ <a class="button button-primary"
1349
+ href="https://www.livemeshthemes.com/contact-us/"
1350
+ title="<?php esc_attr_e('Contact Us', 'livemesh-el-addons'); ?>"><?php _e('Contact Us', 'livemesh-el-addons'); ?></a>
1351
+ </div><!-- .panel-aside knowledge base -->
1352
+
1353
+ <!-- Knowledge base -->
1354
+ <div class="panel-aside">
1355
+ <h4>Have questions or want to leave feedback?</h4>
1356
+ <p>If you need to leave your feedback or have a query regarding one of our <a
1357
+ href="https://www.livemeshthemes.com/" title="WordPress Themes and Plugins">WordPress
1358
+ plugins or themes</a>, feel free to leave us a message through our contact form and
1359
+ we will get back to you promptly.</p>
1360
+
1361
+ <a class="button button-primary"
1362
+ href="https://www.livemeshthemes.com/contact-us/"
1363
+ title="<?php esc_attr_e('Write to Us', 'livemesh-el-addons'); ?>"><?php _e('Write to Us', 'livemesh-el-addons'); ?></a>
1364
+ </div><!-- .panel-aside knowledge base -->
1365
+
1366
+ <?php endif; ?>
1367
+
1368
+
1369
+
1370
 
1371
  </div><!-- .panel-inner -->
1372
  </div><!-- .panel-right -->
admin/views/premium-upgrade.php DELETED
@@ -1,625 +0,0 @@
1
- <?php
2
-
3
- // Exit if accessed directly
4
- if (!defined('ABSPATH')) {
5
- exit;
6
- }
7
-
8
- // Theme info
9
- $plugin = get_plugin_data(LAE_PLUGIN_FILE);
10
-
11
-
12
- ?>
13
-
14
- <div class="livemesh-doc">
15
-
16
- <h2 class="notices"></h2>
17
-
18
-
19
- <div class="pricing-content clear">
20
- <div id="plans" class="content-wrapper clear">
21
- <div class="plans-wrapper clear">
22
- <div class="plan-intro">
23
- <div class="w100 clear"><img src="https://www.livemeshthemes.com/wp-content/uploads/plugin-doc/elementor-addons/dashboard/logo-light.png" class="mb30">
24
- <p>A huge collection of Premium addons for Elementor. Building a beautiful website is as easy as drag and drop.</p></div>
25
- </div>
26
- <div class="plans">
27
- <div class="content-wrapper flex-wrap">
28
- <div class="plan plan1 even flex-col">
29
- <div class="w100 clear"><h3>Lite</h3>
30
- <p class="mb20 text">All the great features and addons you need to get started on creating a beautiful website.</p>
31
- <h4 class="b c-wh price">FREE</h4>
32
- <div class="action clear"><a href="https://wordpress.org/plugins/addons-for-elementor/" class="btn bg-gr center" title="Addons for Elementor Download">Download now</a></div>
33
- </div>
34
- </div>
35
- <div class="plan plan2 flex-col">
36
- <div class="w100 clear"><h3>Premium</h3>
37
- <p class="mb20 text">More features and additional addons to build a professional website without switching your WP theme.</p>
38
- <h4 class="b price c-wh">$39</h4>
39
- <div class="action clear"><a href="https://www.livemeshthemes.com/elementor-addons/pricing/" class="btn center bg-cy">Purchase Now</a></div>
40
- </div>
41
- </div>
42
- </div>
43
- </div>
44
- </div>
45
- </div>
46
- </div>
47
- <div class="pricing-content clear">
48
- <div id="compare" class="content-wrapper pt0 clear">
49
- <div class="compare-wrapper clear">
50
- <div class="benefits"><h4>Compare features</h4>
51
- <ul>
52
- <li><span class="help dashicons dashicons-editor-help"></span>
53
- <div class="text">Premium quality Addons</div>
54
- <div class="tooltip hide">
55
- <div><p>Exquisitely designed premium quality addons for Elementor Page Builder.</div>
56
- </div>
57
- </li>
58
- <li><span class="help dashicons dashicons-editor-help"></span>
59
- <div class="text">Page Builder Elements</div>
60
- <div class="tooltip hide">
61
- <div><p>Large collection of plugin addons with their multiple styles are page builder elements that provide ALL the tools you need to come up with a dream website of yours by just drag, drop and configure. &nbsp;<a target="_blank" href="https://www.livemeshthemes.com/elementor-addons/">Live Demo</a></p></div>
62
- </div>
63
- </li>
64
- <li><span class="help dashicons dashicons-editor-help"></span>
65
- <div class="text">Dark Version</div>
66
- <div class="tooltip hide">
67
- <div><p>The plugin comes with dark versions for the bundled addons.</p></div>
68
- </div>
69
- </li>
70
- <li><span class="help dashicons dashicons-editor-help"></span>
71
- <div class="text">Posts/Portfolio Grid</div>
72
- <div class="tooltip hide">
73
- <div><p>The PRO version comes with advanced grid functions like multiple styles, AJAX filtering, pagination, lazy load via AJAX, lightbox support etc.&nbsp;<a target="_blank" href="https://www.livemeshthemes.com/elementor-addons/portfolio-grid-pro/">Live Demo</a></p></div>
74
- </div>
75
- </li>
76
- <li><span class="help dashicons dashicons-editor-help"></span>
77
- <div class="text">Post Blocks!</div>
78
- <div class="tooltip hide">
79
- <div><p>Present your blog posts, events, news items or portfolio in a dozen creative ways. Comes with AJAX filtering, pagination and load more features to help visitors navigate your entire collection of blog posts or custom post types and their categories without reloading the page.&nbsp;<a target="_blank" href="https://www.livemeshthemes.com/elementor-addons/posts-block/">Live Demo</a></p>
80
- </div>
81
- </div>
82
- </li>
83
- <li><span class="help dashicons dashicons-editor-help"></span>
84
- <div class="text">Demo Site Replication</div>
85
- <div class="tooltip hide">
86
- <div><p>Premium version comes with sample data XML bundled to get a head start on the plugin by import of demo data on our site.</p></div>
87
- </div>
88
- </li>
89
- <li><span class="help dashicons dashicons-editor-help"></span>
90
- <div class="text">Grids with AJAX Pagination</div>
91
- <div class="tooltip hide">
92
- <div><p>Multiple pages of posts/portfolio/image/video grid loaded inline without page refresh. Showcase your entire work anywhere on the site.&nbsp;<a target="_blank" href="https://www.livemeshthemes.com/elementor-addons/portfolio-grid-pro/">Live Demo</a></p></div>
93
- </div>
94
- </li>
95
- <li><span class="help dashicons dashicons-editor-help"></span>
96
- <div class="text">Advanced Grid with Lazy Load</div>
97
- <div class="tooltip hide">
98
- <div><p>The grid elements are loaded on demand with each press of a Load More button that displays a count of remaining posts.&nbsp;<a target="_blank" href="https://www.livemeshthemes.com/elementor-addons/portfolio-grid-pro/">Live Demo</a></p></div>
99
- </div>
100
- </li>
101
- <li><span class="help dashicons dashicons-editor-help"></span>
102
- <div class="text">Customization Options</div>
103
- <div class="tooltip hide">
104
- <div><p>Premium version include more customization options like icon font size, color, hover color etc.</p>
105
- </div>
106
- </div>
107
- </li>
108
- <li><span class="help dashicons dashicons-editor-help"></span>
109
- <div class="text">Animations</div>
110
- <div class="tooltip hide">
111
- <div><p>Choose from over <strong>40+ custom animations</strong> for most addons (excludes sliders, carousels and grid).</p>
112
- </div>
113
- </div>
114
- </li>
115
- <li><span class="help dashicons dashicons-editor-help"></span>
116
- <div class="text">Advanced Image Slider</div>
117
- <div class="tooltip hide">
118
- <div><p>Responsive slider with choice of Nivo, Flex, Slick and Ultra Lightweight slider types. Comes with multiple caption styles, thumbnail navigation and detailed customization of slider speed and controls.&nbsp;<a target="_blank" href="https://www.livemeshthemes.com/elementor-addons/livemesh-sliders/">Live Demo</a></p>
119
- </div>
120
- </div>
121
- </li>
122
- <li><span class="help dashicons dashicons-editor-help"></span>
123
- <div class="text">Image Gallery</div>
124
- <div class="tooltip hide">
125
- <div><p>Create a beautiful yet responsive gallery with support for tagging, linking, filtering, labels, lazy load of images with Load More and pagination.&nbsp;<a target="_blank" href="https://www.livemeshthemes.com/elementor-addons/image-gallery/">Live Demo</a></p></div>
126
- </div>
127
- </li>
128
- <li><span class="help dashicons dashicons-editor-help"></span>
129
- <div class="text">YouTube/Vimeo Video Gallery</div>
130
- <div class="tooltip hide">
131
- <div><p>Essential tool for video bloggers, video marketers, musicians and other sites with video content. Tags, filters, external linking, labels, pagination and lazy load via AJAX supported.&nbsp;<a target="_blank" href="https://www.livemeshthemes.com/elementor-addons/video-gallery/">Live Demo</a></p></div>
132
- </div>
133
- </li>
134
- <li><span class="help dashicons dashicons-editor-help"></span>
135
- <div class="text">Advanced Image Carousel</div>
136
- <div class="tooltip hide">
137
- <div><p>Advanced carousel with touch/swipe/drag/paged/click navigation. Extensive customization for responsiveness, animation/slideshow speed, gutter, looping etc.&nbsp;<a target="_blank" href="https://www.livemeshthemes.com/elementor-addons/gallery-carousel/">Live Demo</a></p></div>
138
- </div>
139
- </li>
140
- <li><span class="help dashicons dashicons-editor-help"></span>
141
- <div class="text">YouTube/Vimeo Video Carousel</div>
142
- <div class="tooltip hide">
143
- <div><p>Perfect for showcasing a select collection of videos with filters, tags, external links, labels, touch/swipe/mouse drag/click navigation, paging and lightbox support.&nbsp;<a target="_blank" href="https://www.livemeshthemes.com/elementor-addons/gallery-carousel/">Live Demo</a></p></div>
144
- </div>
145
- </li>
146
- <li><span class="help dashicons dashicons-editor-help"></span>
147
- <div class="text">Features List</div>
148
- <div class="tooltip hide">
149
- <div><p>List the product features or services offered in style.&nbsp;<a target="_blank" href="https://www.livemeshthemes.com/elementor-addons/features/">Live Demo</a></p></div>
150
- </div>
151
- </li>
152
- <li><span class="help dashicons dashicons-editor-help"></span>
153
- <div class="text">Dedicated Support Forum</div>
154
- <div class="tooltip hide">
155
- <div><p>Customers of PRO version get access to a dedicated support forum with public/private tickets, searchable content and threads which are answered within 24 hours.</p></div>
156
- </div>
157
- </li>
158
- <li><span class="help dashicons dashicons-editor-help"></span>
159
- <div class="text">Priority Support</div>
160
- <div class="tooltip hide">
161
- <div><p>The experience and expertize gained by providing support for over 12,300+ customers for our paid themes is available to you. Private tickets let you work directly with our support staff by providing your site details.</p></div>
162
- </div>
163
- </li>
164
- </ul>
165
- </div>
166
- <div class="plans">
167
- <div class="content-wrapper">
168
- <div class="plan plan1 even"><h4>Lite</h4>
169
- <ul>
170
- <li>
171
- <div class="dashicons dashicons-yes"></div>
172
- <span class="m-feature m">Premium quality Addons</span>
173
- <div class="tooltip hide">
174
- <p>Exquisitely designed premium quality addons for Elementor Page Builder.</p>
175
- </div>
176
- </li>
177
- <li>
178
- <div class="dashicons dashicons-yes m"></div>
179
- <span class="m-feature m">Page Builder Elements</span>
180
- <div class="m-tooltip hide"><p>Essential addons include Services, Team, Testimonials, Clients, Pricing, Statistics, Carousels and Grid.</p></div>
181
- <span class="message">Essentials</span> <span class="help dashicons dashicons-editor-help"></span>
182
- <div class="tooltip hide">
183
- <p>Essential addons include Services, Team, Testimonials, Clients, Pricing, Statistics, Carousels and Grid.</p>
184
- </div>
185
- </li>
186
- <li>
187
- <div class="dashicons dashicons-yes"></div>
188
- <span class="m-feature m">Dark Version</span>
189
- <div class="tooltip hide">
190
- <p>Both Lite and Premium versions include dark versions for the bundled addons.</p>
191
- </div>
192
- </li>
193
- <li>
194
- <div class="dashicons dashicons-yes m"></div>
195
- <span class="m-feature m">Posts/Portfolio Grid</span>
196
- <div class="m-tooltip hide"><p>Construct a responsive and filterable grid of posts or custom post types like portfolio entries.</p></div>
197
- <span class="message">Basic</span> <span class="help dashicons dashicons-editor-help"></span>
198
- <div class="tooltip hide">
199
- <p>Construct a responsive and filterable grid of posts or custom post types like portfolio entries.</p>
200
- </div>
201
- </li>
202
- <li>
203
- <div class="dashicons dashicons-no-alt"></div>
204
- <span class="m-feature m">Post Blocks!</span>
205
- <div class="tooltip hide">
206
- <p>Present your blog posts, events, news items or portfolio in a dozen creative ways. Comes with AJAX filtering, pagination and load more features to help visitors navigate your entire collection of blog posts or custom post types and their categories without reloading the page.&nbsp;<a target="_blank" href="https://www.livemeshthemes.com/elementor-addons/posts-block/">Live Demo</a></p>
207
- </div>
208
- </li>
209
- <li>
210
- <div class="dashicons dashicons-no-alt"></div>
211
- <span class="m-feature m">Demo Site Replication</span>
212
- <div class="tooltip hide">
213
- <p>Premium version comes with sample data XML bundled to get a head start on the plugin by import of demo data on our site.</p>
214
- </div>
215
- </li>
216
- <li>
217
- <div class="dashicons dashicons-no-alt"></div>
218
- <span class="m-feature m">Grids with AJAX Pagination</span>
219
- <div class="tooltip hide">
220
- <p>Multiple pages of posts/portfolio/image/video grid loaded inline without page refresh. Showcase your entire work anywhere on the site.</p>
221
- </div>
222
- </li>
223
- <li>
224
- <div class="dashicons dashicons-no-alt"></div>
225
- <span class="m-feature m">Advanced Grid with Lazy Load</span>
226
- <div class="tooltip hide">
227
- <p>The grid elements are loaded on demand with each press of a Load More button that displays a count of remaining posts.</p>
228
- </div>
229
- </li>
230
- <li>
231
- <div class="dashicons dashicons-no-alt"></div>
232
- <span class="m-feature m">Customization Options</span>
233
- <div class="tooltip hide">
234
- <p>Premium version include more customization options like icon font size, color, hover color etc.</p>
235
- </div>
236
- </li>
237
- <li>
238
- <div class="dashicons dashicons-no-alt"></div>
239
- <span class="m-feature m">Animations</span>
240
- <div class="tooltip hide">
241
- <p>Choose from over <strong>40+ custom animations</strong> for most addons (excludes sliders, carousels and grid).</p>
242
- </div>
243
- </li>
244
- <li>
245
- <div class="dashicons dashicons-no-alt"></div>
246
- <span class="m-feature m">Advanced Image Slider</span>
247
- <div class="tooltip hide">
248
- <p>Responsive slider with choice of Nivo, Flex, Slick and Ultra Lightweight slider types. Comes with multiple caption styles, thumbnail navigation and detailed customization of slider speed and controls.</p>
249
- </div>
250
- </li>
251
- <li>
252
- <div class="dashicons dashicons-no-alt"></div>
253
- <span class="m-feature m">Image Gallery</span>
254
- <div class="tooltip hide">
255
- <p>Create a beautiful yet responsive gallery with support for tagging, linking, filtering, labels, lazy load of images with Load More and pagination.</p>
256
- </div>
257
- </li>
258
- <li>
259
- <div class="dashicons dashicons-no-alt"></div>
260
- <span class="m-feature m">YouTube/Vimeo Video Gallery</span>
261
- <div class="tooltip hide">
262
- <p>Essential tool for video bloggers, video marketers, musicians and other sites with video content. Tags, filters, external linking, labels, pagination and lazy load via AJAX supported.</p>
263
- </div>
264
- </li>
265
- <li>
266
- <div class="dashicons dashicons-no-alt"></div>
267
- <span class="m-feature m">Advanced Image Carousel</span>
268
- <div class="tooltip hide">
269
- <p>Advanced carousel with touch/swipe/drag/paged/click navigation. Extensive customization for responsiveness, animation/slideshow speed, gutter, looping etc.</p>
270
- </div>
271
- </li>
272
- <li>
273
- <div class="dashicons dashicons-no-alt"></div>
274
- <span class="m-feature m">YouTube/Vimeo Video Carousel</span>
275
- <div class="tooltip hide">
276
- <p>Perfect for showcasing a select collection of videos with filters, tags, external links, labels, touch/swipe/mouse drag/click navigation, paging and lightbox support.</p>
277
- </div>
278
- </li>
279
- <li>
280
- <div class="dashicons dashicons-no-alt"></div>
281
- <span class="m-feature m">Features List</span>
282
- <div class="tooltip hide">
283
- <p>Display a list the product features or services offered in style.</p>
284
- </div>
285
- </li>
286
- <li>
287
- <div class="dashicons dashicons-no-alt"></div>
288
- <span class="m-feature m">Dedicated Support Forum</span>
289
- <div class="tooltip hide">
290
- <p>Customers of PRO version get access to a dedicated support forum with public/private tickets, searchable content and threads which are answered within 24 hours.</p>
291
- </div>
292
- </li>
293
- <li>
294
- <div class="dashicons dashicons-no-alt"></div>
295
- <span class="m-feature m">Priority Support</span>
296
- <div class="tooltip hide">
297
- <p>The experience and expertize gained by providing support for over 12,300+ customers for our paid themes is available to you. Private tickets let you work directly with our support staff by providing your site details.</p>
298
- </div>
299
- </li>
300
- </ul>
301
- <div class="action clear"><a href="https://wordpress.org/plugins/addons-for-elementor/" class="btn bg-gr center" title="Addons for Elementor Download">Download now</a></div>
302
- </div>
303
- <div class="plan plan2"><h4>PRO</h4>
304
- <ul>
305
- <li>
306
- <div class="dashicons dashicons-yes"></div>
307
- <span class="m-feature m">Premium quality Addons</span>
308
- <div class="tooltip hide">
309
- <p>Exquisitely designed premium quality addons for Elementor Page Builder..</p>
310
- </div>
311
- </li>
312
- <li>
313
- <div class="dashicons dashicons-yes m"></div>
314
- <span class="m-feature m">Page Builder Elements</span>
315
- <div class="m-tooltip hide"><p>Along with the essential web building tools bundled with free version, the PRO version comes with additional advanced addons, functions and customizations detailed below.</p></div>
316
- <span class="message">Professional</span> <span class="help dashicons dashicons-editor-help"></span>
317
- <div class="tooltip hide">
318
- <p>Along with the essential web building tools bundled with free version, the PRO version comes with additional advanced addons, functions and customizations detailed below.</p>
319
- </div>
320
- </li>
321
- <li>
322
- <div class="dashicons dashicons-yes"></div>
323
- <span class="m-feature m">Dark Version</span>
324
- <div class="tooltip hide">
325
- <p>Both Lite and Premium versions include dark versions for the bundled addons.</p>
326
- </div>
327
- </li>
328
- <li>
329
- <div class="dashicons dashicons-yes m"></div>
330
- <span class="m-feature m">Posts/Portfolio Grid</span>
331
- <div class="m-tooltip hide"><p>The PRO version comes with advanced grid functions like multiple styles, AJAX filtering, pagination, lazy load via AJAX, lightbox support etc.</p></div>
332
- <span class="message">Advanced</span> <span class="help dashicons dashicons-editor-help"></span>
333
- <div class="tooltip hide">
334
- <p>The PRO version comes with advanced grid functions like multiple styles, AJAX filtering, pagination, lazy load via AJAX, lightbox support etc.</p>
335
- </div>
336
- </li>
337
- <li>
338
- <div class="dashicons dashicons-yes"></div>
339
- <span class="m-feature m">Post Blocks</span>
340
- <div class="tooltip hide">
341
- <p>Present your blog posts, events, news items or portfolio in a dozen creative ways. Comes with AJAX filtering, pagination and load more features to help visitors navigate your entire collection of blog posts or custom post types and their categories without reloading the page.</p>
342
- </div>
343
- </li>
344
- <li>
345
- <div class="dashicons dashicons-yes"></div>
346
- <span class="m-feature m">Demo Site Replication</span>
347
- <div class="tooltip hide">
348
- <p>Premium version comes with sample data XML bundled to get a head start on the plugin by import of demo data on our site.</p>
349
- </div>
350
- </li>
351
- <li>
352
- <div class="dashicons dashicons-yes"></div>
353
- <span class="m-feature m">Grids with AJAX Pagination</span>
354
- <div class="tooltip hide">
355
- <p>Multiple pages of posts/portfolio/image/video grid loaded inline without page refresh. Showcase your entire work anywhere on the site.</p>
356
- </div>
357
- </li>
358
- <li>
359
- <div class="dashicons dashicons-yes"></div>
360
- <span class="m-feature m">Advanced Grid with Lazy Load</span>
361
- <div class="tooltip hide">
362
- <p>The grid elements are loaded on demand with each press of a Load More button that displays a count of remaining posts.</p>
363
- </div>
364
- </li>
365
- <li>
366
- <div class="dashicons dashicons-yes"></div>
367
- <span class="m-feature m">Customization Options</span>
368
- <div class="tooltip hide">
369
- <p>Premium version include more customization options like icon font size, color, hover color etc.</p>
370
- </div>
371
- </li>
372
- <li>
373
- <div class="dashicons dashicons-yes"></div>
374
- <span class="m-feature m">Animations</span>
375
- <div class="tooltip hide">
376
- <p>Choose from over <strong>40+ custom animations</strong> for most addons (excludes sliders, carousels and grid).</p>
377
- </div>
378
- </li>
379
- <li>
380
- <div class="dashicons dashicons-yes"></div>
381
- <span class="m-feature m">Advanced Image Slider</span>
382
- <div class="tooltip hide">
383
- <p>Responsive slider with choice of Nivo, Flex, Slick and Ultra Lightweight slider types. Comes with multiple caption styles, thumbnail navigation and detailed customization of slider speed and controls.</p>
384
- </div>
385
- </li>
386
- <li>
387
- <div class="dashicons dashicons-yes"></div>
388
- <span class="m-feature m">Image Gallery</span>
389
- <div class="tooltip hide">
390
- <p>Create a beautiful yet responsive gallery with support for tagging, linking, filtering, labels, lazy load of images with Load More and pagination.</p>
391
- </div>
392
- </li>
393
- <li>
394
- <div class="dashicons dashicons-yes"></div>
395
- <span class="m-feature m">YouTube/Vimeo Video Gallery</span>
396
- <div class="tooltip hide">
397
- <p>Essential tool for video bloggers, video marketers, musicians and other sites with video content. Tags, filters, external linking, labels, pagination and lazy load via AJAX supported.</p>
398
- </div>
399
- </li>
400
- <li>
401
- <div class="dashicons dashicons-yes"></div>
402
- <span class="m-feature m">Advanced Image Carousel</span>
403
- <div class="tooltip hide">
404
- <p>Advanced carousel with touch/swipe/drag/paged/click navigation. Extensive customization for responsiveness, animation/slideshow speed, gutter, looping etc.</p>
405
- </div>
406
- </li>
407
- <li>
408
- <div class="dashicons dashicons-yes"></div>
409
- <span class="m-feature m">YouTube/Vimeo Video Carousel</span>
410
- <div class="tooltip hide">
411
- <p>Perfect for showcasing a select collection of videos with filters, tags, external links, labels, touch/swipe/mouse drag/click navigation, paging and lightbox support.</p>
412
- </div>
413
- </li>
414
- <li>
415
- <div class="dashicons dashicons-yes"></div>
416
- <span class="m-feature m">Features List</span>
417
- <div class="tooltip hide">
418
- <p>Display a list the product features or services offered in style.</p>
419
- </div>
420
- </li>
421
- <li>
422
- <div class="dashicons dashicons-yes"></div>
423
- <span class="m-feature m">Dedicated Support Forum</span>
424
- <div class="tooltip hide">
425
- <p>Customers of PRO version get access to a dedicated support forum with public/private tickets, searchable content and threads which are answered within 24 hours.</p>
426
- </div>
427
- </li>
428
- <li>
429
- <div class="dashicons dashicons-yes"></div>
430
- <span class="m-feature m">Priority Support</span>
431
- <div class="tooltip hide">
432
- <p>The experience and expertize gained by providing support for over 12,300+ customers for our paid themes is available to you. Private tickets let you work directly with our support staff by providing your site details.</p>
433
- </div>
434
- </li>
435
- </ul>
436
- <div class="action clear"><a href="https://www.livemeshthemes.com/elementor-addons/pricing/" class="btn center bg-cy">Purchase Now</a></div>
437
- </div>
438
- </div>
439
- </div>
440
- </div>
441
- </div>
442
-
443
- </div>
444
-
445
- <img style="max-width:100%;padding-top: 50px;" class="dashboard-image" src="https://www.livemeshthemes.com/wp-content/uploads/plugin-doc/elementor-addons/dashboard/why-premium.jpg" alt="Why Choose Premium">
446
-
447
- <div class="button-wrap">
448
-
449
- <a href="https://www.livemeshthemes.com/elementor-addons/pricing/" title="Purchase Now">
450
-
451
- <img class="button-image" src="https://www.livemeshthemes.com/wp-content/uploads/plugin-doc/elementor-addons/dashboard/purchase-button.png" alt="Purchase Button">
452
-
453
- </a>
454
-
455
- </div>
456
-
457
- <div class="panels">
458
-
459
- <div id="panel" class="panel">
460
-
461
- <!-- Upgrade panel -->
462
- <div id="upgrade-panel" class="panel-left visible">
463
-
464
- <p>
465
- <img class="dashboard-image" src="https://www.livemeshthemes.com/wp-content/uploads/plugin-doc/elementor-addons/dashboard/image-slider.jpg" alt="Image Slider">
466
- <img class="dashboard-image" src="https://www.livemeshthemes.com/wp-content/uploads/plugin-doc/elementor-addons/dashboard/advanced-grid.jpg" alt="Advanced Grid">
467
- <img class="dashboard-image" src="https://www.livemeshthemes.com/wp-content/uploads/plugin-doc/elementor-addons/dashboard/image-gallery.jpg" alt="Image Gallery">
468
- <img class="dashboard-image" src="https://www.livemeshthemes.com/wp-content/uploads/plugin-doc/elementor-addons/dashboard/video-gallery.jpg" alt="Video Gallery">
469
- <img class="dashboard-image" src="https://www.livemeshthemes.com/wp-content/uploads/plugin-doc/elementor-addons/dashboard/image-video-carousel.jpg" alt="Image Video Carousel">
470
- <img class="dashboard-image" src="https://www.livemeshthemes.com/wp-content/uploads/plugin-doc/elementor-addons/dashboard/more-premium.jpg" alt="More Premium Goodness">
471
- <img class="dashboard-image" src="https://www.livemeshthemes.com/wp-content/uploads/plugin-doc/elementor-addons/dashboard/priority-support.jpg" alt="Priority Support">
472
-
473
- </p>
474
-
475
- <h3 id="item-description__features-overview"><?php echo __('Why upgrade to Premium Version of the plugin?', 'livemesh-el-addons') ?></h3>
476
-
477
- <p>The premium version helps us to continue development of this plugin incorporating even
478
- more
479
- features and enhancements along with offering more responsive support. Following are
480
- some of the reasons why you may want to upgrade to the premium version of this
481
- plugin.</p>
482
-
483
- <h3 id="item-description__features-overview">New Premium Addons</h3>
484
-
485
- <p>Although the free version of the Addons for Elementor features a large repertoire of premium quality addons, the premium
486
- version does even more.</p>
487
-
488
- <ul>
489
- <li><a href="https://www.livemeshthemes.com/elementor-addons/posts-block/" title="Livemesh Post Blocks" target="_blank">Post Blocks</a> - Present your blog posts, events, news items or portfolio
490
- in a dozen creative ways. Comes with AJAX filtering, pagination and load more features to help visitors navigate your entire collection of blog posts or custom post types and their categories without reloading the page.
491
- </li>
492
- <li><a href="https://www.livemeshthemes.com/elementor-addons/sliders/" title="Image Slider Addon" target="_blank">Image
493
- Slider</a> - Create a responsive slider of images with support
494
- for captions,
495
- multiple slider types like Nivo, Flex, Slick and lightweight sliders, thumbnail
496
- navigation etc.
497
- </li>
498
- <li><a href="https://www.livemeshthemes.com/elementor-addons/tabs/" title="Tabs Addon" target="_blank">Responsive
499
- Tabs</a> - Exquisitely designed tabs that function seamlessly across all devices and resolutions. The
500
- plugin features never before choice of over dozen styles of tabs to choosen from.
501
- </li>
502
- <li><a href="https://www.livemeshthemes.com/elementor-addons/accordion/" title="Accordion/Toggle Addon" target="_blank">Accordion/Toggle</a> - Controls
503
- that capture collapsible content panels when space is limited.
504
- </li>
505
- <li><a href="https://www.livemeshthemes.com/elementor-addons/image-gallery/" title="Image Gallery Addon" target="_blank">Image
506
- Gallery</a> - Create a gallery of images with options for masonry
507
- or fit rows, pagination, lazy load, lightbox support etc.
508
- </li>
509
- <li><a href="https://www.livemeshthemes.com/elementor-addons/video-gallery/" title="Video Gallery Addon" target="_blank">Video
510
- Gallery</a> - Create a beautiful gallery of videos to help
511
- showcase a collection of YouTube/Vimeo videos on your site.
512
- </li>
513
- <li><a href="https://www.livemeshthemes.com/elementor-addons/gallery-carousel/" title="Image Carousel" target="_blank">Image
514
- Carousel</a> - Build a responsive carousel of images.</li>
515
- <li><a href="https://www.livemeshthemes.com/elementor-addons/gallery-carousel/" title="Video Carousel" target="_blank">Video
516
- Carousel</a> - Build a responsive carousel of YouTube/Vimeo
517
- videos.
518
- </li>
519
- <li><strong>Countdown</strong> - Use countdown addon to display a countdown timer on
520
- your site pages
521
- such as those that feature events or under construction/coming soon pages.
522
- </li>
523
- <li><a href="https://www.livemeshthemes.com/elementor-addons/faq-element/" title="FAQ Addon" target="_blank">FAQ</a> - Create a set of Frequently Asked Questions for display in a
524
- page.
525
- </li>
526
- <li><a href="https://www.livemeshthemes.com/elementor-addons/features/" title="Features Addon" target="_blank">Features Addon</a> - Showcase product features or services provided by your agency/business.
527
- </li>
528
- </ul>
529
-
530
- <h3 id="item-description__features-overview">Additional Features</h3>
531
-
532
- <p>Along with incorporating many new addons into premium version, the pro version is being
533
- updated with additional features for existing addons -</p>
534
-
535
- <ul>
536
- <li><a href="https://www.livemeshthemes.com/elementor-addons/portfolio-grid-pro/" title="Livemesh Grid" target="_blank">Lazy Load</a> - The portfolio/post grid and image gallery addons
537
- incorporate option to lazy load posts/images with the click of a Load More button.
538
- </li>
539
- <li><a href="https://www.livemeshthemes.com/elementor-addons/portfolio-grid-pro/" title="Livemesh Grid" target="_blank">Pagination</a> - Create a grid of posts or custom post types with AJAX
540
- based pagination support.
541
- </li>
542
- <li><strong>Lightbox Support</strong> - The premium version comes with support for
543
- Lightbox for grid and carousel addons.
544
- </li>
545
- <li><strong>Custom Fonts</strong> - Ability to choose custom fonts from Google Fonts
546
- library for headings in heading addon and the hero header addon.
547
- </li>
548
- <li><strong>Animations</strong> - Choose from over <strong>40+ animations</strong> for most addons
549
- (excludes sliders, carousels and grid). The animations display on user scrolling to the addon or
550
- when the addon becomes visible in the browser window.
551
- </li>
552
- <li><strong>Sample Data</strong> - Sample data that you can import into your site to get
553
- started quickly on the addons and some sample layouts.
554
- </li>
555
- </ul>
556
-
557
- <h3 id="item-description__features-overview">Premium Support</h3>
558
-
559
- <p>We offer premium support for our paid customers with following benefits - </p>
560
-
561
- <ul>
562
- <li><strong>Dedicated Forum</strong> - The customers will be provided access to a
563
- dedicated support forum.
564
- </li>
565
- <li><strong>Public and Private Tickets</strong> - Private tickets help you work with us
566
- directly regarding the issues you are facing in your site by sharing the details of
567
- your site securely.
568
- </li>
569
- <li><strong>Searchable Topics</strong> - The support forum is searchable for public
570
- topics helping you look for resolution of similar issues reported by other
571
- customers.
572
- </li>
573
- </li>
574
- <li><strong>Faster turnaround</strong> - The threads opened by paid customers will be
575
- attended to within 24 hours of opening a ticket.
576
- </li>
577
- <li><strong>Bug fixes and Enhancements</strong> - Any fixes and enhancements made to the
578
- addons will be prioritized to arrive quicker on the premium version.
579
- </li>
580
- <li><strong>Proven Expertize</strong> - Having served over <strong>12,300++
581
- customers</strong> of our themes over past 3 years, the support provided by us
582
- is proven in competence and commitment.
583
- </li>
584
- </ul>
585
-
586
- <div class="button-wrap">
587
-
588
- <a class="button-wrap" href="https://www.livemeshthemes.com/elementor-addons/pricing/" title="Purchase Now">
589
-
590
- <img class="button-image" style="border:none" src="https://www.livemeshthemes.com/wp-content/uploads/plugin-doc/elementor-addons/dashboard/purchase-button.png" alt="Purchase Button">
591
-
592
- </a>
593
-
594
- </div>
595
-
596
- </div>
597
-
598
- <div class="panel-right">
599
-
600
- <div class="panel-inner">
601
-
602
- <div class="panel-aside banner">
603
- <a href="https://www.livemeshthemes.com/elementor-addons/pricing/" title="Purchase Now"><img class="dashboard-image" src="https://www.livemeshthemes.com/wp-content/uploads/plugin-doc/elementor-addons/dashboard/purchase-banner2.jpg" alt="Sale Banner"></a>
604
- </div>
605
-
606
- <!-- Knowledge base -->
607
- <div class="panel-aside panel-sticky">
608
-
609
- <h4>Have questions regarding premium version of the plugin?</h4>
610
- <p>If you have pre-sales questions related to the paid version of this plugin, feel free to get in touch with us via contact form on our website.</p>
611
-
612
- <a class="button button-primary" href="https://www.livemeshthemes.com/elementor-addons/contact-us/"
613
- title="<?php esc_attr_e('Contact Us', 'livemesh-el-addons'); ?>"><?php _e('Write to Us', 'livemesh-el-addons'); ?></a>
614
-
615
- </div><!-- .panel-aside knowledge base -->
616
-
617
- </div><!-- .panel-inner -->
618
-
619
- </div><!-- .panel-right -->
620
-
621
- </div><!-- .panel -->
622
-
623
- </div><!-- .panels -->
624
-
625
- </div><!-- .livemesh-doc -->
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/views/settings.php CHANGED
@@ -1,48 +1,27 @@
1
  <?php
2
 
3
  // Exit if accessed directly
4
- if (!defined('ABSPATH')) {
5
  exit;
6
  }
7
-
8
- $theme_color = lae_get_option('lae_theme_color', '#f94213');
9
-
10
- $theme_hover_color = lae_get_option('lae_theme_hover_color', '#888888');
11
-
12
- $debug_mode = lae_get_option('lae_enable_debug', false);
13
-
14
- $custom_css = lae_get_option('lae_custom_css', '');
15
-
16
  /* Deactivation of Elementor Elements */
17
-
18
- $deactivate_element_carousel = lae_get_option('lae_deactivate_element_carousel', false);
19
-
20
- $deactivate_element_clients = lae_get_option('lae_deactivate_element_clients', false);
21
-
22
- $deactivate_element_heading = lae_get_option('lae_deactivate_element_heading', false);
23
-
24
- $deactivate_element_odometers = lae_get_option('lae_deactivate_element_odometers', false);
25
-
26
- $deactivate_element_piecharts = lae_get_option('lae_deactivate_element_piecharts', false);
27
-
28
- $deactivate_element_portfolio = lae_get_option('lae_deactivate_element_portfolio', false);
29
-
30
- $deactivate_element_posts_carousel = lae_get_option('lae_deactivate_element_posts_carousel', false);
31
-
32
- $deactivate_element_pricing_table = lae_get_option('lae_deactivate_element_pricing_table', false);
33
-
34
- $deactivate_element_spacer = lae_get_option('lae_deactivate_element_spacer', false);
35
-
36
- $deactivate_element_services = lae_get_option('lae_deactivate_element_services', false);
37
-
38
- $deactivate_element_stats_bar = lae_get_option('lae_deactivate_element_stats_bar', false);
39
-
40
- $deactivate_element_team = lae_get_option('lae_deactivate_element_team', false);
41
-
42
- $deactivate_element_testimonials = lae_get_option('lae_deactivate_element_testimonials', false);
43
-
44
- $deactivate_element_testimonials_slider = lae_get_option('lae_deactivate_element_testimonials_slider', false);
45
-
46
  ?>
47
 
48
  <div class="lae-settings">
@@ -60,19 +39,29 @@ $deactivate_element_testimonials_slider = lae_get_option('lae_deactivate_element
60
 
61
  <ul class="lae-tabs-wrap">
62
  <li class="lae-tab selected" data-target="general"><i
63
- class="lae-icon dashicons dashicons-admin-generic"></i><?php echo __('General', 'livemesh-el-addons') ?>
 
 
64
  </li>
65
  <li class="lae-tab" data-target="elements"><i
66
- class="lae-icon dashicons dashicons-admin-settings"></i><?php echo __('Elements', 'livemesh-el-addons') ?>
 
 
67
  </li>
68
  <li class="lae-tab" data-target="custom-css"><i
69
- class="lae-icon dashicons dashicons-editor-code"></i><?php echo __('Custom CSS', 'livemesh-el-addons') ?>
 
 
70
  </li>
71
  <li class="lae-tab" data-target="debugging"><i
72
- class="lae-icon dashicons dashicons-warning"></i><?php echo __('Debugging', 'livemesh-el-addons') ?>
 
 
73
  </li>
74
  <li class="lae-tab" data-target="premium-version"><i
75
- class="lae-icon dashicons dashicons-yes"></i><?php echo __('Premium Version', 'livemesh-el-addons') ?>
 
 
76
  </li>
77
  </ul>
78
 
@@ -82,24 +71,36 @@ $deactivate_element_testimonials_slider = lae_get_option('lae_deactivate_element
82
 
83
  <!---- Theme Colors -->
84
  <div class="lae-box-side">
85
- <h3><?php echo __('Theme Colors', 'livemesh-el-addons') ?></h3>
 
 
86
  </div>
87
  <div class="lae-inner lae-box-inner">
88
  <div class="lae-row lae-field">
89
  <label
90
- class="lae-label"><?php echo __('Theme Color Scheme', 'livemesh-el-addons') ?></label>
91
- <p class="lae-desc"><?php echo __('Most themes use a single color as a major color across the site. This color is often used for links, titles, buttons, icons, highlights etc. <br> To maintain the consistent look with the theme, specify the default color used by the theme activated on your site. This color will be applied to the plugin elements by default. <br>The hover color refers to the color set for links on mouse hover.', 'livemesh-el-addons') ?></p>
 
 
 
 
92
  </div>
93
 
94
  <div class="lae-clearfix"></div>
95
 
96
  <!---- Theme color -->
97
  <div class="lae-row lae-field lae-type-color">
98
- <label class="lae-label"><?php echo __('Theme Color', 'livemesh-el-addons') ?></label>
99
- <p class="lae-desc"><?php echo __('Select the default theme color.', 'livemesh-el-addons') ?></p>
 
 
 
 
100
  <div class="lae-spacer" style="height: 5px"></div>
101
  <input class="lae-colorpicker" name="lae_theme_color" type="text"
102
- data-default="#f94213" value="<?php echo $theme_color ?>"/>
 
 
103
  </div>
104
 
105
 
@@ -107,11 +108,17 @@ $deactivate_element_testimonials_slider = lae_get_option('lae_deactivate_element
107
 
108
  <!---- Theme Hover color -->
109
  <div class="lae-row lae-field lae-type-color">
110
- <label class="lae-label"><?php echo __('Theme Hover Color', 'livemesh-el-addons') ?></label>
111
- <p class="lae-desc"><?php echo __('Select the default hover color for your theme.', 'livemesh-el-addons') ?></p>
 
 
 
 
112
  <div class="lae-spacer" style="height: 5px"></div>
113
  <input class="lae-colorpicker" name="lae_theme_hover_color" type="text"
114
- data-default="#888888" value="<?php echo $theme_hover_color ?>"/>
 
 
115
  </div>
116
 
117
 
@@ -132,7 +139,9 @@ $deactivate_element_testimonials_slider = lae_get_option('lae_deactivate_element
132
  <!---- Auto activate Elementor Addons -->
133
  <div class="lae-box-side">
134
 
135
- <h3><?php echo __('Optimize Plugin', 'livemesh-el-addons') ?></h3>
 
 
136
 
137
  </div>
138
 
@@ -140,9 +149,13 @@ $deactivate_element_testimonials_slider = lae_get_option('lae_deactivate_element
140
 
141
 
142
  <div class="lae-row lae-field">
143
- <label class="lae-label"><?php echo __('Deactivate elements for better performance', 'livemesh-el-addons') ?></label>
 
 
144
 
145
- <p class="lae-desc"><?php echo __('You can deactivate those elements that you do not intend to use to avoid loading scripts and files related to those elements.', 'livemesh-el-addons'); ?></p>
 
 
146
  </div>
147
 
148
  <div class="lae-spacer" style="height: 15px"></div>
@@ -150,169 +163,275 @@ $deactivate_element_testimonials_slider = lae_get_option('lae_deactivate_element
150
  <div class="lae-elements-deactivate">
151
 
152
  <div class="lae-row lae-type-checkbox lae-field">
153
- <label class="lae-label"><?php echo __('Deactivate Carousel', 'livemesh-el-addons') ?></label>
154
- <p class="lae-desc"><?php echo __('Deactivate the carousel element.', 'livemesh-el-addons') ?></p>
 
 
 
 
155
  <div class="lae-spacer" style="height: 5px"></div>
156
  <div class="lae-toggle">
157
  <input type="checkbox" class="lae-checkbox" name="lae_deactivate_element_carousel"
158
  id="lae_deactivate_element_carousel" data-default=""
159
- value="<?php echo $deactivate_element_carousel ?>" <?php echo checked(!empty($deactivate_element_carousel), 1, false) ?>>
 
 
 
 
160
  <label for="lae_deactivate_element_carousel"></label>
161
  </div>
162
  </div>
163
 
164
  <div class="lae-row lae-type-checkbox lae-field">
165
- <label class="lae-label"><?php echo __('Deactivate Clients', 'livemesh-el-addons') ?></label>
166
- <p class="lae-desc"><?php echo __('Deactivate the clients element.', 'livemesh-el-addons') ?></p>
 
 
 
 
167
  <div class="lae-spacer" style="height: 5px"></div>
168
  <div class="lae-toggle">
169
  <input type="checkbox" class="lae-checkbox" name="lae_deactivate_element_clients"
170
  id="lae_deactivate_element_clients" data-default=""
171
- value="<?php echo $deactivate_element_clients ?>" <?php echo checked(!empty($deactivate_element_clients), 1, false) ?>>
 
 
 
 
172
  <label for="lae_deactivate_element_clients"></label>
173
  </div>
174
  </div>
175
 
176
  <div class="lae-row lae-type-checkbox lae-field">
177
- <label class="lae-label"><?php echo __('Deactivate Heading', 'livemesh-el-addons') ?></label>
178
- <p class="lae-desc"><?php echo __('Deactivate the heading element.', 'livemesh-el-addons') ?></p>
 
 
 
 
179
  <div class="lae-spacer" style="height: 5px"></div>
180
  <div class="lae-toggle">
181
  <input type="checkbox" class="lae-checkbox" name="lae_deactivate_element_heading"
182
  id="lae_deactivate_element_heading" data-default=""
183
- value="<?php echo $deactivate_element_heading ?>" <?php echo checked(!empty($deactivate_element_heading), 1, false) ?>>
 
 
 
 
184
  <label for="lae_deactivate_element_heading"></label>
185
  </div>
186
  </div>
187
 
188
  <div class="lae-row lae-type-checkbox lae-field">
189
- <label class="lae-label"><?php echo __('Deactivate Odometers', 'livemesh-el-addons') ?></label>
190
- <p class="lae-desc"><?php echo __('Deactivate the odometers element.', 'livemesh-el-addons') ?></p>
 
 
 
 
191
  <div class="lae-spacer" style="height: 5px"></div>
192
  <div class="lae-toggle">
193
  <input type="checkbox" class="lae-checkbox"
194
  name="lae_deactivate_element_odometers"
195
  id="lae_deactivate_element_odometers" data-default=""
196
- value="<?php echo $deactivate_element_odometers ?>" <?php echo checked(!empty($deactivate_element_odometers), 1, false) ?>>
 
 
 
 
197
  <label for="lae_deactivate_element_odometers"></label>
198
  </div>
199
  </div>
200
 
201
  <div class="lae-row lae-type-checkbox lae-field">
202
- <label class="lae-label"><?php echo __('Deactivate Piecharts', 'livemesh-el-addons') ?></label>
203
- <p class="lae-desc"><?php echo __('Deactivate the piecharts element.', 'livemesh-el-addons') ?></p>
 
 
 
 
204
  <div class="lae-spacer" style="height: 5px"></div>
205
  <div class="lae-toggle">
206
  <input type="checkbox" class="lae-checkbox"
207
  name="lae_deactivate_element_piecharts"
208
  id="lae_deactivate_element_piecharts" data-default=""
209
- value="<?php echo $deactivate_element_piecharts ?>" <?php echo checked(!empty($deactivate_element_piecharts), 1, false) ?>>
 
 
 
 
210
  <label for="lae_deactivate_element_piecharts"></label>
211
  </div>
212
  </div>
213
 
214
  <div class="lae-row lae-type-checkbox lae-field">
215
- <label class="lae-label"><?php echo __('Deactivate Portfolio', 'livemesh-el-addons') ?></label>
216
- <p class="lae-desc"><?php echo __('Deactivate the portfolio element.', 'livemesh-el-addons') ?></p>
 
 
 
 
217
  <div class="lae-spacer" style="height: 5px"></div>
218
  <div class="lae-toggle">
219
  <input type="checkbox" class="lae-checkbox"
220
  name="lae_deactivate_element_portfolio"
221
  id="lae_deactivate_element_portfolio" data-default=""
222
- value="<?php echo $deactivate_element_portfolio ?>" <?php echo checked(!empty($deactivate_element_portfolio), 1, false) ?>>
 
 
 
 
223
  <label for="lae_deactivate_element_portfolio"></label>
224
  </div>
225
  </div>
226
 
227
  <div class="lae-row lae-type-checkbox lae-field">
228
- <label class="lae-label"><?php echo __('Deactivate Posts Carousel', 'livemesh-el-addons') ?></label>
229
- <p class="lae-desc"><?php echo __('Deactivate the posts carousel element.', 'livemesh-el-addons') ?></p>
 
 
 
 
230
  <div class="lae-spacer" style="height: 5px"></div>
231
  <div class="lae-toggle">
232
  <input type="checkbox" class="lae-checkbox"
233
  name="lae_deactivate_element_posts_carousel"
234
  id="lae_deactivate_element_posts_carousel" data-default=""
235
- value="<?php echo $deactivate_element_posts_carousel ?>" <?php echo checked(!empty($deactivate_element_posts_carousel), 1, false) ?>>
 
 
 
 
236
  <label for="lae_deactivate_element_posts_carousel"></label>
237
  </div>
238
  </div>
239
 
240
  <div class="lae-row lae-type-checkbox lae-field">
241
- <label class="lae-label"><?php echo __('Deactivate Pricing Table', 'livemesh-el-addons') ?></label>
242
- <p class="lae-desc"><?php echo __('Deactivate the pricing table element.', 'livemesh-el-addons') ?></p>
 
 
 
 
243
  <div class="lae-spacer" style="height: 5px"></div>
244
  <div class="lae-toggle">
245
  <input type="checkbox" class="lae-checkbox"
246
  name="lae_deactivate_element_pricing_table"
247
  id="lae_deactivate_element_pricing_table" data-default=""
248
- value="<?php echo $deactivate_element_pricing_table ?>" <?php echo checked(!empty($deactivate_element_pricing_table), 1, false) ?>>
 
 
 
 
249
  <label for="lae_deactivate_element_pricing_table"></label>
250
  </div>
251
  </div>
252
 
253
  <div class="lae-row lae-type-checkbox lae-field">
254
- <label class="lae-label"><?php echo __('Deactivate Services', 'livemesh-el-addons') ?></label>
255
- <p class="lae-desc"><?php echo __('Deactivate the services element.', 'livemesh-el-addons') ?></p>
 
 
 
 
256
  <div class="lae-spacer" style="height: 5px"></div>
257
  <div class="lae-toggle">
258
  <input type="checkbox" class="lae-checkbox" name="lae_deactivate_element_services"
259
  id="lae_deactivate_element_spacer" data-default=""
260
- value="<?php echo $deactivate_element_services ?>" <?php echo checked(!empty($deactivate_element_services), 1, false) ?>>
 
 
 
 
261
  <label for="lae_deactivate_element_services"></label>
262
  </div>
263
  </div>
264
 
265
  <div class="lae-row lae-type-checkbox lae-field">
266
- <label class="lae-label"><?php echo __('Deactivate Stats Bars', 'livemesh-el-addons') ?></label>
267
- <p class="lae-desc"><?php echo __('Deactivate the stats bars element.', 'livemesh-el-addons') ?></p>
 
 
 
 
268
  <div class="lae-spacer" style="height: 5px"></div>
269
  <div class="lae-toggle">
270
  <input type="checkbox" class="lae-checkbox"
271
  name="lae_deactivate_element_stats_bar"
272
  id="lae_deactivate_element_stats_bar" data-default=""
273
- value="<?php echo $deactivate_element_stats_bar ?>" <?php echo checked(!empty($deactivate_element_stats_bar), 1, false) ?>>
 
 
 
 
274
  <label for="lae_deactivate_element_stats_bar"></label>
275
  </div>
276
  </div>
277
 
278
  <div class="lae-row lae-type-checkbox lae-field">
279
- <label class="lae-label"><?php echo __('Deactivate Team', 'livemesh-el-addons') ?></label>
280
- <p class="lae-desc"><?php echo __('Deactivate the team element.', 'livemesh-el-addons') ?></p>
 
 
 
 
281
  <div class="lae-spacer" style="height: 5px"></div>
282
  <div class="lae-toggle">
283
  <input type="checkbox" class="lae-checkbox" name="lae_deactivate_element_team"
284
  id="lae_deactivate_element_team" data-default=""
285
- value="<?php echo $deactivate_element_team ?>" <?php echo checked(!empty($deactivate_element_team), 1, false) ?>>
 
 
 
 
286
  <label for="lae_deactivate_element_team"></label>
287
  </div>
288
  </div>
289
 
290
  <div class="lae-row lae-type-checkbox lae-field">
291
- <label class="lae-label"><?php echo __('Deactivate Testimonials', 'livemesh-el-addons') ?></label>
292
- <p class="lae-desc"><?php echo __('Deactivate the testimonials element.', 'livemesh-el-addons') ?></p>
 
 
 
 
293
  <div class="lae-spacer" style="height: 5px"></div>
294
  <div class="lae-toggle">
295
  <input type="checkbox" class="lae-checkbox"
296
  name="lae_deactivate_element_testimonials"
297
  id="lae_deactivate_element_testimonials" data-default=""
298
- value="<?php echo $deactivate_element_testimonials ?>" <?php echo checked(!empty($deactivate_element_testimonials), 1, false) ?>>
 
 
 
 
299
  <label for="lae_deactivate_element_testimonials"></label>
300
  </div>
301
  </div>
302
 
303
  <div class="lae-row lae-type-checkbox lae-field">
304
- <label class="lae-label"><?php echo __('Deactivate Testimonials Slider', 'livemesh-el-addons') ?></label>
305
- <p class="lae-desc"><?php echo __('Deactivate the testimonials slider element.', 'livemesh-el-addons') ?></p>
 
 
 
 
306
  <div class="lae-spacer" style="height: 5px"></div>
307
  <div class="lae-toggle">
308
  <input type="checkbox" class="lae-checkbox"
309
  name="lae_deactivate_element_testimonials_slider"
310
  id="lae_deactivate_element_testimonials_slider" data-default=""
311
- value="<?php echo $deactivate_element_testimonials_slider ?>" <?php echo checked(!empty($deactivate_element_testimonials_slider), 1, false) ?>>
 
 
 
 
312
  <label for="lae_deactivate_element_testimonials_slider"></label>
313
  </div>
314
  </div>
315
 
 
 
316
 
317
  </div>
318
 
@@ -331,18 +450,26 @@ $deactivate_element_testimonials_slider = lae_get_option('lae_deactivate_element
331
 
332
  <!---- Custom CSS -->
333
  <div class="lae-box-side">
334
- <h3><?php echo __('Custom CSS', 'livemesh-el-addons') ?></h3>
 
 
335
  </div>
336
  <div class="lae-inner lae-box-inner">
337
  <div class="lae-row lae-field lae-custom-css">
338
  <label
339
- class="lae-label"><?php echo __('Custom CSS', 'livemesh-el-addons') ?></label>
 
 
340
  <div class="lae-spacer" style="height: 5px"></div>
341
- <p class="lae-desc"><?php echo __('Please enter custom CSS for custom styling of addons', 'livemesh-el-addons') ?></p>
 
 
342
 
343
  <div class="lae-spacer" style="height: 15px"></div>
344
 
345
- <textarea class="lae-textarea" name="lae_custom_css" id="lae_custom_css" rows="20" cols="120"><?php echo $custom_css ?></textarea>
 
 
346
 
347
  </div>
348
  </div>
@@ -357,17 +484,27 @@ $deactivate_element_testimonials_slider = lae_get_option('lae_deactivate_element
357
 
358
  <!---- Enable script debugging -->
359
  <div class="lae-box-side">
360
- <h3><?php echo __('Debug Mode', 'livemesh-el-addons') ?></h3>
 
 
361
  </div>
362
  <div class="lae-inner lae-box-inner">
363
  <div class="lae-spacer" style="height: 15px"></div>
364
  <label
365
- class="lae-label lae-label-outside"><?php echo __('Enable Script Debug Mode', 'livemesh-el-addons') ?></label>
 
 
366
  <div class="lae-row lae-type-checkbox lae-field">
367
- <p class="lae-desc"><?php echo __('Use unminified Javascript files instead of minified ones to help developers debug an issue', 'livemesh-el-addons') ?></p>
 
 
368
  <div class="lae-toggle">
369
  <input type="checkbox" class="lae-checkbox" name="lae_enable_debug" id="lae_enable_debug"
370
- data-default="" value="<?php echo $debug_mode ?>" <?php echo checked(!empty($debug_mode), 1, false) ?>>
 
 
 
 
371
  <label for="lae_enable_debug"></label>
372
  </div>
373
  </div>
@@ -377,18 +514,26 @@ $deactivate_element_testimonials_slider = lae_get_option('lae_deactivate_element
377
 
378
  <!---- System Info -->
379
  <div class="lae-box-side">
380
- <h3><?php echo __('System Info', 'livemesh-el-addons') ?></h3>
 
 
381
  </div>
382
  <div class="lae-inner lae-box-inner">
383
 
384
  <div class="lae-row lae-field">
385
  <label
386
- class="lae-label"><?php echo __('System Information', 'livemesh-el-addons') ?></label>
387
- <p class="lae-desc"><?php echo __('Server setup information useful for debugging purposes.', 'livemesh-el-addons'); ?></p>
 
 
 
 
388
 
389
  <div class="lae-spacer" style="height: 15px"></div>
390
 
391
- <p class="debug-info"><?php echo nl2br(lae_get_sysinfo()); ?></p>
 
 
392
  </div>
393
 
394
  </div>
@@ -403,15 +548,36 @@ $deactivate_element_testimonials_slider = lae_get_option('lae_deactivate_element
403
 
404
  <!---- Premium Version Information -->
405
  <div class="lae-box-side">
406
- <h3><?php echo __('Premium Version', 'livemesh-el-addons') ?></h3>
 
 
407
  </div>
408
  <div class="lae-inner lae-box-inner">
409
 
410
 
411
  <div class="lae-row lae-field lae_premium_version">
412
 
413
- <label
414
- class="lae-label"><?php echo __('Why upgrade to Premium Version of the plugin?!', 'livemesh-el-addons') ?></label>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
415
 
416
  <p>The premium version helps us to continue development of this plugin incorporating even
417
  more features and enhancements along with offering more responsive support. Following are
@@ -423,6 +589,7 @@ $deactivate_element_testimonials_slider = lae_get_option('lae_deactivate_element
423
  <p>Although the free version of the Addons for Elementor features a large repertoire of premium quality addons, the premium
424
  version does even more.</p>
425
 
 
426
  <ul>
427
  <li><a href="https://www.livemeshthemes.com/elementor-addons/posts-block/" title="Post Blocks Addon" target="_blank">Post
428
  Blocks!</a> - Present your blog posts, events, news items or portfolio in a dozen creative ways. Comes with AJAX filtering,
@@ -431,7 +598,7 @@ $deactivate_element_testimonials_slider = lae_get_option('lae_deactivate_element
431
  </li>
432
  <li><a href="https://www.livemeshthemes.com/elementor-addons/tabs/" title="Tabs Addon" target="_blank">Responsive
433
  Tabs</a> - Exquisitely designed tabs that function seamlessly across all devices and resolutions. The
434
- plugin features never before choice of over dozen styles of tabs to choosen from.
435
  </li>
436
  <li><a href="https://www.livemeshthemes.com/elementor-addons/accordion/" title="Accordion/Toggle Addon" target="_blank">Accordion/Toggle</a> - Controls
437
  that capture collapsible content panels when space is limited.
@@ -470,9 +637,23 @@ $deactivate_element_testimonials_slider = lae_get_option('lae_deactivate_element
470
 
471
  <div class="lae-spacer" style="height: 15px"></div>
472
 
473
- <a class="lae-button purchase" href="https://www.livemeshthemes.com/elementor-addons/pricing/"><i class="dashicons dashicons-cart"></i><?php echo __('Purchase Now', 'livemesh-el-addons'); ?></a>
474
 
475
- <div class="lae-spacer" style="height: 25px"></div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
476
 
477
  <label class="lae-label">Additional Features</label>
478
 
@@ -532,7 +713,30 @@ $deactivate_element_testimonials_slider = lae_get_option('lae_deactivate_element
532
 
533
  <div class="lae-spacer" style="height: 25px"></div>
534
 
535
- <a class="lae-button purchase" href="https://www.livemeshthemes.com/elementor-addons/pricing/"><i class="dashicons dashicons-cart"></i><?php echo __('Go Premium', 'livemesh-el-addons'); ?></a>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
536
 
537
  </div>
538
 
1
  <?php
2
 
3
  // Exit if accessed directly
4
+ if ( !defined( 'ABSPATH' ) ) {
5
  exit;
6
  }
7
+ $theme_color = lae_get_option( 'lae_theme_color', '#f94213' );
8
+ $theme_hover_color = lae_get_option( 'lae_theme_hover_color', '#888888' );
9
+ $debug_mode = lae_get_option( 'lae_enable_debug', false );
10
+ $custom_css = lae_get_option( 'lae_custom_css', '' );
 
 
 
 
 
11
  /* Deactivation of Elementor Elements */
12
+ $deactivate_element_carousel = lae_get_option( 'lae_deactivate_element_carousel', false );
13
+ $deactivate_element_clients = lae_get_option( 'lae_deactivate_element_clients', false );
14
+ $deactivate_element_heading = lae_get_option( 'lae_deactivate_element_heading', false );
15
+ $deactivate_element_odometers = lae_get_option( 'lae_deactivate_element_odometers', false );
16
+ $deactivate_element_piecharts = lae_get_option( 'lae_deactivate_element_piecharts', false );
17
+ $deactivate_element_portfolio = lae_get_option( 'lae_deactivate_element_portfolio', false );
18
+ $deactivate_element_posts_carousel = lae_get_option( 'lae_deactivate_element_posts_carousel', false );
19
+ $deactivate_element_pricing_table = lae_get_option( 'lae_deactivate_element_pricing_table', false );
20
+ $deactivate_element_services = lae_get_option( 'lae_deactivate_element_services', false );
21
+ $deactivate_element_stats_bar = lae_get_option( 'lae_deactivate_element_stats_bar', false );
22
+ $deactivate_element_team = lae_get_option( 'lae_deactivate_element_team', false );
23
+ $deactivate_element_testimonials = lae_get_option( 'lae_deactivate_element_testimonials', false );
24
+ $deactivate_element_testimonials_slider = lae_get_option( 'lae_deactivate_element_testimonials_slider', false );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  ?>
26
 
27
  <div class="lae-settings">
39
 
40
  <ul class="lae-tabs-wrap">
41
  <li class="lae-tab selected" data-target="general"><i
42
+ class="lae-icon dashicons dashicons-admin-generic"></i><?php
43
+ echo __( 'General', 'livemesh-el-addons' ) ;
44
+ ?>
45
  </li>
46
  <li class="lae-tab" data-target="elements"><i
47
+ class="lae-icon dashicons dashicons-admin-settings"></i><?php
48
+ echo __( 'Elements', 'livemesh-el-addons' ) ;
49
+ ?>
50
  </li>
51
  <li class="lae-tab" data-target="custom-css"><i
52
+ class="lae-icon dashicons dashicons-editor-code"></i><?php
53
+ echo __( 'Custom CSS', 'livemesh-el-addons' ) ;
54
+ ?>
55
  </li>
56
  <li class="lae-tab" data-target="debugging"><i
57
+ class="lae-icon dashicons dashicons-warning"></i><?php
58
+ echo __( 'Debugging', 'livemesh-el-addons' ) ;
59
+ ?>
60
  </li>
61
  <li class="lae-tab" data-target="premium-version"><i
62
+ class="lae-icon dashicons dashicons-yes"></i><?php
63
+ echo __( 'Premium Version', 'livemesh-el-addons' ) ;
64
+ ?>
65
  </li>
66
  </ul>
67
 
71
 
72
  <!---- Theme Colors -->
73
  <div class="lae-box-side">
74
+ <h3><?php
75
+ echo __( 'Theme Colors', 'livemesh-el-addons' ) ;
76
+ ?></h3>
77
  </div>
78
  <div class="lae-inner lae-box-inner">
79
  <div class="lae-row lae-field">
80
  <label
81
+ class="lae-label"><?php
82
+ echo __( 'Theme Color Scheme', 'livemesh-el-addons' ) ;
83
+ ?></label>
84
+ <p class="lae-desc"><?php
85
+ echo __( 'Most themes use a single color as a major color across the site. This color is often used for links, titles, buttons, icons, highlights etc. <br> To maintain the consistent look with the theme, specify the default color used by the theme activated on your site. This color will be applied to the plugin addon controls by default. <br>The hover color refers to the color set for links on mouse hover.', 'livemesh-el-addons' ) ;
86
+ ?></p>
87
  </div>
88
 
89
  <div class="lae-clearfix"></div>
90
 
91
  <!---- Theme color -->
92
  <div class="lae-row lae-field lae-type-color">
93
+ <label class="lae-label"><?php
94
+ echo __( 'Theme Color', 'livemesh-el-addons' ) ;
95
+ ?></label>
96
+ <p class="lae-desc"><?php
97
+ echo __( 'Select the default theme color.', 'livemesh-el-addons' ) ;
98
+ ?></p>
99
  <div class="lae-spacer" style="height: 5px"></div>
100
  <input class="lae-colorpicker" name="lae_theme_color" type="text"
101
+ data-default="#f94213" value="<?php
102
+ echo $theme_color ;
103
+ ?>"/>
104
  </div>
105
 
106
 
108
 
109
  <!---- Theme Hover color -->
110
  <div class="lae-row lae-field lae-type-color">
111
+ <label class="lae-label"><?php
112
+ echo __( 'Theme Hover Color', 'livemesh-el-addons' ) ;
113
+ ?></label>
114
+ <p class="lae-desc"><?php
115
+ echo __( 'Select the default hover color for your theme.', 'livemesh-el-addons' ) ;
116
+ ?></p>
117
  <div class="lae-spacer" style="height: 5px"></div>
118
  <input class="lae-colorpicker" name="lae_theme_hover_color" type="text"
119
+ data-default="#888888" value="<?php
120
+ echo $theme_hover_color ;
121
+ ?>"/>
122
  </div>
123
 
124
 
139
  <!---- Auto activate Elementor Addons -->
140
  <div class="lae-box-side">
141
 
142
+ <h3><?php
143
+ echo __( 'Optimize Plugin', 'livemesh-el-addons' ) ;
144
+ ?></h3>
145
 
146
  </div>
147
 
149
 
150
 
151
  <div class="lae-row lae-field">
152
+ <label class="lae-label"><?php
153
+ echo __( 'Deactivate elements for better performance', 'livemesh-el-addons' ) ;
154
+ ?></label>
155
 
156
+ <p class="lae-desc"><?php
157
+ echo __( 'You can deactivate those elements that you do not intend to use to avoid loading scripts and files related to those elements.', 'livemesh-el-addons' ) ;
158
+ ?></p>
159
  </div>
160
 
161
  <div class="lae-spacer" style="height: 15px"></div>
163
  <div class="lae-elements-deactivate">
164
 
165
  <div class="lae-row lae-type-checkbox lae-field">
166
+ <label class="lae-label"><?php
167
+ echo __( 'Deactivate Carousel', 'livemesh-el-addons' ) ;
168
+ ?></label>
169
+ <p class="lae-desc"><?php
170
+ echo __( 'Deactivate the carousel element.', 'livemesh-el-addons' ) ;
171
+ ?></p>
172
  <div class="lae-spacer" style="height: 5px"></div>
173
  <div class="lae-toggle">
174
  <input type="checkbox" class="lae-checkbox" name="lae_deactivate_element_carousel"
175
  id="lae_deactivate_element_carousel" data-default=""
176
+ value="<?php
177
+ echo $deactivate_element_carousel ;
178
+ ?>" <?php
179
+ echo checked( !empty($deactivate_element_carousel), 1, false ) ;
180
+ ?>>
181
  <label for="lae_deactivate_element_carousel"></label>
182
  </div>
183
  </div>
184
 
185
  <div class="lae-row lae-type-checkbox lae-field">
186
+ <label class="lae-label"><?php
187
+ echo __( 'Deactivate Clients', 'livemesh-el-addons' ) ;
188
+ ?></label>
189
+ <p class="lae-desc"><?php
190
+ echo __( 'Deactivate the clients element.', 'livemesh-el-addons' ) ;
191
+ ?></p>
192
  <div class="lae-spacer" style="height: 5px"></div>
193
  <div class="lae-toggle">
194
  <input type="checkbox" class="lae-checkbox" name="lae_deactivate_element_clients"
195
  id="lae_deactivate_element_clients" data-default=""
196
+ value="<?php
197
+ echo $deactivate_element_clients ;
198
+ ?>" <?php
199
+ echo checked( !empty($deactivate_element_clients), 1, false ) ;
200
+ ?>>
201
  <label for="lae_deactivate_element_clients"></label>
202
  </div>
203
  </div>
204
 
205
  <div class="lae-row lae-type-checkbox lae-field">
206
+ <label class="lae-label"><?php
207
+ echo __( 'Deactivate Heading', 'livemesh-el-addons' ) ;
208
+ ?></label>
209
+ <p class="lae-desc"><?php
210
+ echo __( 'Deactivate the heading element.', 'livemesh-el-addons' ) ;
211
+ ?></p>
212
  <div class="lae-spacer" style="height: 5px"></div>
213
  <div class="lae-toggle">
214
  <input type="checkbox" class="lae-checkbox" name="lae_deactivate_element_heading"
215
  id="lae_deactivate_element_heading" data-default=""
216
+ value="<?php
217
+ echo $deactivate_element_heading ;
218
+ ?>" <?php
219
+ echo checked( !empty($deactivate_element_heading), 1, false ) ;
220
+ ?>>
221
  <label for="lae_deactivate_element_heading"></label>
222
  </div>
223
  </div>
224
 
225
  <div class="lae-row lae-type-checkbox lae-field">
226
+ <label class="lae-label"><?php
227
+ echo __( 'Deactivate Odometers', 'livemesh-el-addons' ) ;
228
+ ?></label>
229
+ <p class="lae-desc"><?php
230
+ echo __( 'Deactivate the odometers element.', 'livemesh-el-addons' ) ;
231
+ ?></p>
232
  <div class="lae-spacer" style="height: 5px"></div>
233
  <div class="lae-toggle">
234
  <input type="checkbox" class="lae-checkbox"
235
  name="lae_deactivate_element_odometers"
236
  id="lae_deactivate_element_odometers" data-default=""
237
+ value="<?php
238
+ echo $deactivate_element_odometers ;
239
+ ?>" <?php
240
+ echo checked( !empty($deactivate_element_odometers), 1, false ) ;
241
+ ?>>
242
  <label for="lae_deactivate_element_odometers"></label>
243
  </div>
244
  </div>
245
 
246
  <div class="lae-row lae-type-checkbox lae-field">
247
+ <label class="lae-label"><?php
248
+ echo __( 'Deactivate Piecharts', 'livemesh-el-addons' ) ;
249
+ ?></label>
250
+ <p class="lae-desc"><?php
251
+ echo __( 'Deactivate the piecharts element.', 'livemesh-el-addons' ) ;
252
+ ?></p>
253
  <div class="lae-spacer" style="height: 5px"></div>
254
  <div class="lae-toggle">
255
  <input type="checkbox" class="lae-checkbox"
256
  name="lae_deactivate_element_piecharts"
257
  id="lae_deactivate_element_piecharts" data-default=""
258
+ value="<?php
259
+ echo $deactivate_element_piecharts ;
260
+ ?>" <?php
261
+ echo checked( !empty($deactivate_element_piecharts), 1, false ) ;
262
+ ?>>
263
  <label for="lae_deactivate_element_piecharts"></label>
264
  </div>
265
  </div>
266
 
267
  <div class="lae-row lae-type-checkbox lae-field">
268
+ <label class="lae-label"><?php
269
+ echo __( 'Deactivate Portfolio', 'livemesh-el-addons' ) ;
270
+ ?></label>
271
+ <p class="lae-desc"><?php
272
+ echo __( 'Deactivate the portfolio element.', 'livemesh-el-addons' ) ;
273
+ ?></p>
274
  <div class="lae-spacer" style="height: 5px"></div>
275
  <div class="lae-toggle">
276
  <input type="checkbox" class="lae-checkbox"
277
  name="lae_deactivate_element_portfolio"
278
  id="lae_deactivate_element_portfolio" data-default=""
279
+ value="<?php
280
+ echo $deactivate_element_portfolio ;
281
+ ?>" <?php
282
+ echo checked( !empty($deactivate_element_portfolio), 1, false ) ;
283
+ ?>>
284
  <label for="lae_deactivate_element_portfolio"></label>
285
  </div>
286
  </div>
287
 
288
  <div class="lae-row lae-type-checkbox lae-field">
289
+ <label class="lae-label"><?php
290
+ echo __( 'Deactivate Posts Carousel', 'livemesh-el-addons' ) ;
291
+ ?></label>
292
+ <p class="lae-desc"><?php
293
+ echo __( 'Deactivate the posts carousel element.', 'livemesh-el-addons' ) ;
294
+ ?></p>
295
  <div class="lae-spacer" style="height: 5px"></div>
296
  <div class="lae-toggle">
297
  <input type="checkbox" class="lae-checkbox"
298
  name="lae_deactivate_element_posts_carousel"
299
  id="lae_deactivate_element_posts_carousel" data-default=""
300
+ value="<?php
301
+ echo $deactivate_element_posts_carousel ;
302
+ ?>" <?php
303
+ echo checked( !empty($deactivate_element_posts_carousel), 1, false ) ;
304
+ ?>>
305
  <label for="lae_deactivate_element_posts_carousel"></label>
306
  </div>
307
  </div>
308
 
309
  <div class="lae-row lae-type-checkbox lae-field">
310
+ <label class="lae-label"><?php
311
+ echo __( 'Deactivate Pricing Table', 'livemesh-el-addons' ) ;
312
+ ?></label>
313
+ <p class="lae-desc"><?php
314
+ echo __( 'Deactivate the pricing table element.', 'livemesh-el-addons' ) ;
315
+ ?></p>
316
  <div class="lae-spacer" style="height: 5px"></div>
317
  <div class="lae-toggle">
318
  <input type="checkbox" class="lae-checkbox"
319
  name="lae_deactivate_element_pricing_table"
320
  id="lae_deactivate_element_pricing_table" data-default=""
321
+ value="<?php
322
+ echo $deactivate_element_pricing_table ;
323
+ ?>" <?php
324
+ echo checked( !empty($deactivate_element_pricing_table), 1, false ) ;
325
+ ?>>
326
  <label for="lae_deactivate_element_pricing_table"></label>
327
  </div>
328
  </div>
329
 
330
  <div class="lae-row lae-type-checkbox lae-field">
331
+ <label class="lae-label"><?php
332
+ echo __( 'Deactivate Services', 'livemesh-el-addons' ) ;
333
+ ?></label>
334
+ <p class="lae-desc"><?php
335
+ echo __( 'Deactivate the services element.', 'livemesh-el-addons' ) ;
336
+ ?></p>
337
  <div class="lae-spacer" style="height: 5px"></div>
338
  <div class="lae-toggle">
339
  <input type="checkbox" class="lae-checkbox" name="lae_deactivate_element_services"
340
  id="lae_deactivate_element_spacer" data-default=""
341
+ value="<?php
342
+ echo $deactivate_element_services ;
343
+ ?>" <?php
344
+ echo checked( !empty($deactivate_element_services), 1, false ) ;
345
+ ?>>
346
  <label for="lae_deactivate_element_services"></label>
347
  </div>
348
  </div>
349
 
350
  <div class="lae-row lae-type-checkbox lae-field">
351
+ <label class="lae-label"><?php
352
+ echo __( 'Deactivate Stats Bars', 'livemesh-el-addons' ) ;
353
+ ?></label>
354
+ <p class="lae-desc"><?php
355
+ echo __( 'Deactivate the stats bars element.', 'livemesh-el-addons' ) ;
356
+ ?></p>
357
  <div class="lae-spacer" style="height: 5px"></div>
358
  <div class="lae-toggle">
359
  <input type="checkbox" class="lae-checkbox"
360
  name="lae_deactivate_element_stats_bar"
361
  id="lae_deactivate_element_stats_bar" data-default=""
362
+ value="<?php
363
+ echo $deactivate_element_stats_bar ;
364
+ ?>" <?php
365
+ echo checked( !empty($deactivate_element_stats_bar), 1, false ) ;
366
+ ?>>
367
  <label for="lae_deactivate_element_stats_bar"></label>
368
  </div>
369
  </div>
370
 
371
  <div class="lae-row lae-type-checkbox lae-field">
372
+ <label class="lae-label"><?php
373
+ echo __( 'Deactivate Team', 'livemesh-el-addons' ) ;
374
+ ?></label>
375
+ <p class="lae-desc"><?php
376
+ echo __( 'Deactivate the team element.', 'livemesh-el-addons' ) ;
377
+ ?></p>
378
  <div class="lae-spacer" style="height: 5px"></div>
379
  <div class="lae-toggle">
380
  <input type="checkbox" class="lae-checkbox" name="lae_deactivate_element_team"
381
  id="lae_deactivate_element_team" data-default=""
382
+ value="<?php
383
+ echo $deactivate_element_team ;
384
+ ?>" <?php
385
+ echo checked( !empty($deactivate_element_team), 1, false ) ;
386
+ ?>>
387
  <label for="lae_deactivate_element_team"></label>
388
  </div>
389
  </div>
390
 
391
  <div class="lae-row lae-type-checkbox lae-field">
392
+ <label class="lae-label"><?php
393
+ echo __( 'Deactivate Testimonials', 'livemesh-el-addons' ) ;
394
+ ?></label>
395
+ <p class="lae-desc"><?php
396
+ echo __( 'Deactivate the testimonials element.', 'livemesh-el-addons' ) ;
397
+ ?></p>
398
  <div class="lae-spacer" style="height: 5px"></div>
399
  <div class="lae-toggle">
400
  <input type="checkbox" class="lae-checkbox"
401
  name="lae_deactivate_element_testimonials"
402
  id="lae_deactivate_element_testimonials" data-default=""
403
+ value="<?php
404
+ echo $deactivate_element_testimonials ;
405
+ ?>" <?php
406
+ echo checked( !empty($deactivate_element_testimonials), 1, false ) ;
407
+ ?>>
408
  <label for="lae_deactivate_element_testimonials"></label>
409
  </div>
410
  </div>
411
 
412
  <div class="lae-row lae-type-checkbox lae-field">
413
+ <label class="lae-label"><?php
414
+ echo __( 'Deactivate Testimonials Slider', 'livemesh-el-addons' ) ;
415
+ ?></label>
416
+ <p class="lae-desc"><?php
417
+ echo __( 'Deactivate the testimonials slider element.', 'livemesh-el-addons' ) ;
418
+ ?></p>
419
  <div class="lae-spacer" style="height: 5px"></div>
420
  <div class="lae-toggle">
421
  <input type="checkbox" class="lae-checkbox"
422
  name="lae_deactivate_element_testimonials_slider"
423
  id="lae_deactivate_element_testimonials_slider" data-default=""
424
+ value="<?php
425
+ echo $deactivate_element_testimonials_slider ;
426
+ ?>" <?php
427
+ echo checked( !empty($deactivate_element_testimonials_slider), 1, false ) ;
428
+ ?>>
429
  <label for="lae_deactivate_element_testimonials_slider"></label>
430
  </div>
431
  </div>
432
 
433
+ <?php
434
+ ?>
435
 
436
  </div>
437
 
450
 
451
  <!---- Custom CSS -->
452
  <div class="lae-box-side">
453
+ <h3><?php
454
+ echo __( 'Custom CSS', 'livemesh-el-addons' ) ;
455
+ ?></h3>
456
  </div>
457
  <div class="lae-inner lae-box-inner">
458
  <div class="lae-row lae-field lae-custom-css">
459
  <label
460
+ class="lae-label"><?php
461
+ echo __( 'Custom CSS', 'livemesh-el-addons' ) ;
462
+ ?></label>
463
  <div class="lae-spacer" style="height: 5px"></div>
464
+ <p class="lae-desc"><?php
465
+ echo __( 'Please enter custom CSS for custom styling of addons', 'livemesh-el-addons' ) ;
466
+ ?></p>
467
 
468
  <div class="lae-spacer" style="height: 15px"></div>
469
 
470
+ <textarea class="lae-textarea" name="lae_custom_css" id="lae_custom_css" rows="20" cols="120"><?php
471
+ echo $custom_css ;
472
+ ?></textarea>
473
 
474
  </div>
475
  </div>
484
 
485
  <!---- Enable script debugging -->
486
  <div class="lae-box-side">
487
+ <h3><?php
488
+ echo __( 'Debug Mode', 'livemesh-el-addons' ) ;
489
+ ?></h3>
490
  </div>
491
  <div class="lae-inner lae-box-inner">
492
  <div class="lae-spacer" style="height: 15px"></div>
493
  <label
494
+ class="lae-label lae-label-outside"><?php
495
+ echo __( 'Enable Script Debug Mode', 'livemesh-el-addons' ) ;
496
+ ?></label>
497
  <div class="lae-row lae-type-checkbox lae-field">
498
+ <p class="lae-desc"><?php
499
+ echo __( 'Use unminified Javascript files instead of minified ones to help developers debug an issue', 'livemesh-el-addons' ) ;
500
+ ?></p>
501
  <div class="lae-toggle">
502
  <input type="checkbox" class="lae-checkbox" name="lae_enable_debug" id="lae_enable_debug"
503
+ data-default="" value="<?php
504
+ echo $debug_mode ;
505
+ ?>" <?php
506
+ echo checked( !empty($debug_mode), 1, false ) ;
507
+ ?>>
508
  <label for="lae_enable_debug"></label>
509
  </div>
510
  </div>
514
 
515
  <!---- System Info -->
516
  <div class="lae-box-side">
517
+ <h3><?php
518
+ echo __( 'System Info', 'livemesh-el-addons' ) ;
519
+ ?></h3>
520
  </div>
521
  <div class="lae-inner lae-box-inner">
522
 
523
  <div class="lae-row lae-field">
524
  <label
525
+ class="lae-label"><?php
526
+ echo __( 'System Information', 'livemesh-el-addons' ) ;
527
+ ?></label>
528
+ <p class="lae-desc"><?php
529
+ echo __( 'Server setup information useful for debugging purposes.', 'livemesh-el-addons' ) ;
530
+ ?></p>
531
 
532
  <div class="lae-spacer" style="height: 15px"></div>
533
 
534
+ <p class="debug-info"><?php
535
+ echo nl2br( lae_get_sysinfo() ) ;
536
+ ?></p>
537
  </div>
538
 
539
  </div>
548
 
549
  <!---- Premium Version Information -->
550
  <div class="lae-box-side">
551
+ <h3><?php
552
+ echo __( 'Premium Version', 'livemesh-el-addons' ) ;
553
+ ?></h3>
554
  </div>
555
  <div class="lae-inner lae-box-inner">
556
 
557
 
558
  <div class="lae-row lae-field lae_premium_version">
559
 
560
+ <?php
561
+
562
+ if ( lae_fs()->is_not_paying() ) {
563
+ ?>
564
+
565
+ <label class="lae-label"><?php
566
+ echo __( 'Why upgrade to Premium Version of the plugin?!', 'livemesh-el-addons' ) ;
567
+ ?></label>
568
+
569
+ <?php
570
+ } else {
571
+ ?>
572
+
573
+ <label class="lae-label"><?php
574
+ echo __( 'Thanks for upgrading to the Premium Version of the plugin!', 'livemesh-el-addons' ) ;
575
+ ?></label>
576
+
577
+ <?php
578
+ }
579
+
580
+ ?>
581
 
582
  <p>The premium version helps us to continue development of this plugin incorporating even
583
  more features and enhancements along with offering more responsive support. Following are
589
  <p>Although the free version of the Addons for Elementor features a large repertoire of premium quality addons, the premium
590
  version does even more.</p>
591
 
592
+
593
  <ul>
594
  <li><a href="https://www.livemeshthemes.com/elementor-addons/posts-block/" title="Post Blocks Addon" target="_blank">Post
595
  Blocks!</a> - Present your blog posts, events, news items or portfolio in a dozen creative ways. Comes with AJAX filtering,
598
  </li>
599
  <li><a href="https://www.livemeshthemes.com/elementor-addons/tabs/" title="Tabs Addon" target="_blank">Responsive
600
  Tabs</a> - Exquisitely designed tabs that function seamlessly across all devices and resolutions. The
601
+ plugin features never before choice of over dozen styles of tabs to choose from.
602
  </li>
603
  <li><a href="https://www.livemeshthemes.com/elementor-addons/accordion/" title="Accordion/Toggle Addon" target="_blank">Accordion/Toggle</a> - Controls
604
  that capture collapsible content panels when space is limited.
637
 
638
  <div class="lae-spacer" style="height: 15px"></div>
639
 
640
+ <?php
641
 
642
+ if ( lae_fs()->is_not_paying() ) {
643
+ ?>
644
+
645
+ <a class="lae-button purchase" href="<?php
646
+ echo lae_fs()->get_upgrade_url() ;
647
+ ?>"><i class="dashicons dashicons-cart"></i><?php
648
+ echo __( 'Purchase Now', 'livemesh-el-addons' ) ;
649
+ ?></a>
650
+
651
+ <div class="lae-spacer" style="height: 25px"></div>
652
+
653
+ <?php
654
+ }
655
+
656
+ ?>
657
 
658
  <label class="lae-label">Additional Features</label>
659
 
713
 
714
  <div class="lae-spacer" style="height: 25px"></div>
715
 
716
+ <?php
717
+
718
+ if ( lae_fs()->is_not_paying() ) {
719
+ ?>
720
+
721
+ <a class="lae-button purchase" href="<?php
722
+ echo lae_fs()->get_upgrade_url() ;
723
+ ?>"><i class="dashicons dashicons-cart"></i><?php
724
+ echo __( 'Go Premium', 'livemesh-el-addons' ) ;
725
+ ?></a>
726
+
727
+ <?php
728
+ } else {
729
+ ?>
730
+
731
+ <a class="lae-button know-more" href="https://www.livemeshthemes.com/elementor-addons/"><i class="dashicons dashicons-external"></i><?php
732
+ echo __( 'Know More', 'livemesh-el-addons' ) ;
733
+ ?></a>
734
+
735
+ <?php
736
+ }
737
+
738
+ ?>
739
+
740
 
741
  </div>
742
 
assets/css/_grid-settings.scss CHANGED
@@ -4,55 +4,25 @@ $neat-grid: (
4
  direction: ltr,
5
  );
6
 
7
- $lae-desktop-grid: (
8
- columns: 12,
9
- gutter: 20px,
10
- media: 801px,
11
- );
12
-
13
  $lae-tablet-grid: (
14
- columns: 6,
15
- gutter: 20px,
16
  media: 480px,
17
  );
18
 
19
- $lae-mobile-grid: (
20
- columns: 2,
21
- gutter: 20px,
22
- );
23
-
24
-
25
- $lae-gapless-grid: (
26
- gutter: 0px,
27
- );
28
-
29
- $lae-gapless-desktop-grid: (
30
- columns: 12,
31
- gutter: 0px,
32
  media: 801px,
33
  );
34
 
35
- $lae-gapless-tablet-grid: (
36
- columns: 6,
37
- gutter: 0px,
38
- media: 480px,
39
- );
40
-
41
- $lae-gapless-mobile-grid: (
42
- columns: 2,
43
  gutter: 0px,
44
  );
45
 
46
  $lae-five-col-grid: (
47
  columns: 5,
48
- gutter: 20px,
49
- media: 801px,
50
  );
51
 
52
  $lae-gapless-five-col-grid: (
53
  columns: 5,
54
  gutter: 0px,
55
- media: 801px,
56
  );
57
 
58
  $lae-mobile-only-grid: (
4
  direction: ltr,
5
  );
6
 
 
 
 
 
 
 
7
  $lae-tablet-grid: (
 
 
8
  media: 480px,
9
  );
10
 
11
+ $lae-desktop-grid: (
 
 
 
 
 
 
 
 
 
 
 
 
12
  media: 801px,
13
  );
14
 
15
+ $lae-gapless-grid: (
 
 
 
 
 
 
 
16
  gutter: 0px,
17
  );
18
 
19
  $lae-five-col-grid: (
20
  columns: 5,
 
 
21
  );
22
 
23
  $lae-gapless-five-col-grid: (
24
  columns: 5,
25
  gutter: 0px,
 
26
  );
27
 
28
  $lae-mobile-only-grid: (
assets/css/animate.css ADDED
@@ -0,0 +1,3449 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset "UTF-8";
2
+
3
+ /*!
4
+ * animate.css -http://daneden.me/animate
5
+ * Version - 3.5.1
6
+ * Licensed under the MIT license - http://opensource.org/licenses/MIT
7
+ *
8
+ * Copyright (c) 2016 Daniel Eden
9
+ */
10
+
11
+ .animated {
12
+ -webkit-animation-duration: 1s;
13
+ animation-duration: 1s;
14
+ -webkit-animation-fill-mode: both;
15
+ animation-fill-mode: both;
16
+ }
17
+
18
+ .animated.infinite {
19
+ -webkit-animation-iteration-count: infinite;
20
+ animation-iteration-count: infinite;
21
+ }
22
+
23
+ .animated.hinge {
24
+ -webkit-animation-duration: 2s;
25
+ animation-duration: 2s;
26
+ }
27
+
28
+ .animated.flipOutX,
29
+ .animated.flipOutY,
30
+ .animated.bounceIn,
31
+ .animated.bounceOut {
32
+ -webkit-animation-duration: .75s;
33
+ animation-duration: .75s;
34
+ }
35
+
36
+ @-webkit-keyframes bounce {
37
+ from, 20%, 53%, 80%, to {
38
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
39
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
40
+ -webkit-transform: translate3d(0,0,0);
41
+ transform: translate3d(0,0,0);
42
+ }
43
+
44
+ 40%, 43% {
45
+ -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
46
+ animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
47
+ -webkit-transform: translate3d(0, -30px, 0);
48
+ transform: translate3d(0, -30px, 0);
49
+ }
50
+
51
+ 70% {
52
+ -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
53
+ animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
54
+ -webkit-transform: translate3d(0, -15px, 0);
55
+ transform: translate3d(0, -15px, 0);
56
+ }
57
+
58
+ 90% {
59
+ -webkit-transform: translate3d(0,-4px,0);
60
+ transform: translate3d(0,-4px,0);
61
+ }
62
+ }
63
+
64
+ @keyframes bounce {
65
+ from, 20%, 53%, 80%, to {
66
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
67
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
68
+ -webkit-transform: translate3d(0,0,0);
69
+ transform: translate3d(0,0,0);
70
+ }
71
+
72
+ 40%, 43% {
73
+ -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
74
+ animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
75
+ -webkit-transform: translate3d(0, -30px, 0);
76
+ transform: translate3d(0, -30px, 0);
77
+ }
78
+
79
+ 70% {
80
+ -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
81
+ animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
82
+ -webkit-transform: translate3d(0, -15px, 0);
83
+ transform: translate3d(0, -15px, 0);
84
+ }
85
+
86
+ 90% {
87
+ -webkit-transform: translate3d(0,-4px,0);
88
+ transform: translate3d(0,-4px,0);
89
+ }
90
+ }
91
+
92
+ .bounce {
93
+ -webkit-animation-name: bounce;
94
+ animation-name: bounce;
95
+ -webkit-transform-origin: center bottom;
96
+ transform-origin: center bottom;
97
+ }
98
+
99
+ @-webkit-keyframes flash {
100
+ from, 50%, to {
101
+ opacity: 1;
102
+ }
103
+
104
+ 25%, 75% {
105
+ opacity: 0;
106
+ }
107
+ }
108
+
109
+ @keyframes flash {
110
+ from, 50%, to {
111
+ opacity: 1;
112
+ }
113
+
114
+ 25%, 75% {
115
+ opacity: 0;
116
+ }
117
+ }
118
+
119
+ .flash {
120
+ -webkit-animation-name: flash;
121
+ animation-name: flash;
122
+ }
123
+
124
+ /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
125
+
126
+ @-webkit-keyframes pulse {
127
+ from {
128
+ -webkit-transform: scale3d(1, 1, 1);
129
+ transform: scale3d(1, 1, 1);
130
+ }
131
+
132
+ 50% {
133
+ -webkit-transform: scale3d(1.05, 1.05, 1.05);
134
+ transform: scale3d(1.05, 1.05, 1.05);
135
+ }
136
+
137
+ to {
138
+ -webkit-transform: scale3d(1, 1, 1);
139
+ transform: scale3d(1, 1, 1);
140
+ }
141
+ }
142
+
143
+ @keyframes pulse {
144
+ from {
145
+ -webkit-transform: scale3d(1, 1, 1);
146
+ transform: scale3d(1, 1, 1);
147
+ }
148
+
149
+ 50% {
150
+ -webkit-transform: scale3d(1.05, 1.05, 1.05);
151
+ transform: scale3d(1.05, 1.05, 1.05);
152
+ }
153
+
154
+ to {
155
+ -webkit-transform: scale3d(1, 1, 1);
156
+ transform: scale3d(1, 1, 1);
157
+ }
158
+ }
159
+
160
+ .pulse {
161
+ -webkit-animation-name: pulse;
162
+ animation-name: pulse;
163
+ }
164
+
165
+ @-webkit-keyframes rubberBand {
166
+ from {
167
+ -webkit-transform: scale3d(1, 1, 1);
168
+ transform: scale3d(1, 1, 1);
169
+ }
170
+
171
+ 30% {
172
+ -webkit-transform: scale3d(1.25, 0.75, 1);
173
+ transform: scale3d(1.25, 0.75, 1);
174
+ }
175
+
176
+ 40% {
177
+ -webkit-transform: scale3d(0.75, 1.25, 1);
178
+ transform: scale3d(0.75, 1.25, 1);
179
+ }
180
+
181
+ 50% {
182
+ -webkit-transform: scale3d(1.15, 0.85, 1);
183
+ transform: scale3d(1.15, 0.85, 1);
184
+ }
185
+
186
+ 65% {
187
+ -webkit-transform: scale3d(.95, 1.05, 1);
188
+ transform: scale3d(.95, 1.05, 1);
189
+ }
190
+
191
+ 75% {
192
+ -webkit-transform: scale3d(1.05, .95, 1);
193
+ transform: scale3d(1.05, .95, 1);
194
+ }
195
+
196
+ to {
197
+ -webkit-transform: scale3d(1, 1, 1);
198
+ transform: scale3d(1, 1, 1);
199
+ }
200
+ }
201
+
202
+ @keyframes rubberBand {
203
+ from {
204
+ -webkit-transform: scale3d(1, 1, 1);
205
+ transform: scale3d(1, 1, 1);
206
+ }
207
+
208
+ 30% {
209
+ -webkit-transform: scale3d(1.25, 0.75, 1);
210
+ transform: scale3d(1.25, 0.75, 1);
211
+ }
212
+
213
+ 40% {
214
+ -webkit-transform: scale3d(0.75, 1.25, 1);
215
+ transform: scale3d(0.75, 1.25, 1);
216
+ }
217
+
218
+ 50% {
219
+ -webkit-transform: scale3d(1.15, 0.85, 1);
220
+ transform: scale3d(1.15, 0.85, 1);
221
+ }
222
+
223
+ 65% {
224
+ -webkit-transform: scale3d(.95, 1.05, 1);
225
+ transform: scale3d(.95, 1.05, 1);
226
+ }
227
+
228
+ 75% {
229
+ -webkit-transform: scale3d(1.05, .95, 1);
230
+ transform: scale3d(1.05, .95, 1);
231
+ }
232
+
233
+ to {
234
+ -webkit-transform: scale3d(1, 1, 1);
235
+ transform: scale3d(1, 1, 1);
236
+ }
237
+ }
238
+
239
+ .rubberBand {
240
+ -webkit-animation-name: rubberBand;
241
+ animation-name: rubberBand;
242
+ }
243
+
244
+ @-webkit-keyframes shake {
245
+ from, to {
246
+ -webkit-transform: translate3d(0, 0, 0);
247
+ transform: translate3d(0, 0, 0);
248
+ }
249
+
250
+ 10%, 30%, 50%, 70%, 90% {
251
+ -webkit-transform: translate3d(-10px, 0, 0);
252
+ transform: translate3d(-10px, 0, 0);
253
+ }
254
+
255
+ 20%, 40%, 60%, 80% {
256
+ -webkit-transform: translate3d(10px, 0, 0);
257
+ transform: translate3d(10px, 0, 0);
258
+ }
259
+ }
260
+
261
+ @keyframes shake {
262
+ from, to {
263
+ -webkit-transform: translate3d(0, 0, 0);
264
+ transform: translate3d(0, 0, 0);
265
+ }
266
+
267
+ 10%, 30%, 50%, 70%, 90% {
268
+ -webkit-transform: translate3d(-10px, 0, 0);
269
+ transform: translate3d(-10px, 0, 0);
270
+ }
271
+
272
+ 20%, 40%, 60%, 80% {
273
+ -webkit-transform: translate3d(10px, 0, 0);
274
+ transform: translate3d(10px, 0, 0);
275
+ }
276
+ }
277
+
278
+ .shake {
279
+ -webkit-animation-name: shake;
280
+ animation-name: shake;
281
+ }
282
+
283
+ @-webkit-keyframes headShake {
284
+ 0% {
285
+ -webkit-transform: translateX(0);
286
+ transform: translateX(0);
287
+ }
288
+
289
+ 6.5% {
290
+ -webkit-transform: translateX(-6px) rotateY(-9deg);
291
+ transform: translateX(-6px) rotateY(-9deg);
292
+ }
293
+
294
+ 18.5% {
295
+ -webkit-transform: translateX(5px) rotateY(7deg);
296
+ transform: translateX(5px) rotateY(7deg);
297
+ }
298
+
299
+ 31.5% {
300
+ -webkit-transform: translateX(-3px) rotateY(-5deg);
301
+ transform: translateX(-3px) rotateY(-5deg);
302
+ }
303
+
304
+ 43.5% {
305
+ -webkit-transform: translateX(2px) rotateY(3deg);
306
+ transform: translateX(2px) rotateY(3deg);
307
+ }
308
+
309
+ 50% {
310
+ -webkit-transform: translateX(0);
311
+ transform: translateX(0);
312
+ }
313
+ }
314
+
315
+ @keyframes headShake {
316
+ 0% {
317
+ -webkit-transform: translateX(0);
318
+ transform: translateX(0);
319
+ }
320
+
321
+ 6.5% {
322
+ -webkit-transform: translateX(-6px) rotateY(-9deg);
323
+ transform: translateX(-6px) rotateY(-9deg);
324
+ }
325
+
326
+ 18.5% {
327
+ -webkit-transform: translateX(5px) rotateY(7deg);
328
+ transform: translateX(5px) rotateY(7deg);
329
+ }
330
+
331
+ 31.5% {
332
+ -webkit-transform: translateX(-3px) rotateY(-5deg);
333
+ transform: translateX(-3px) rotateY(-5deg);
334
+ }
335
+
336
+ 43.5% {
337
+ -webkit-transform: translateX(2px) rotateY(3deg);
338
+ transform: translateX(2px) rotateY(3deg);
339
+ }
340
+
341
+ 50% {
342
+ -webkit-transform: translateX(0);
343
+ transform: translateX(0);
344
+ }
345
+ }
346
+
347
+ .headShake {
348
+ -webkit-animation-timing-function: ease-in-out;
349
+ animation-timing-function: ease-in-out;
350
+ -webkit-animation-name: headShake;
351
+ animation-name: headShake;
352
+ }
353
+
354
+ @-webkit-keyframes swing {
355
+ 20% {
356
+ -webkit-transform: rotate3d(0, 0, 1, 15deg);
357
+ transform: rotate3d(0, 0, 1, 15deg);
358
+ }
359
+
360
+ 40% {
361
+ -webkit-transform: rotate3d(0, 0, 1, -10deg);
362
+ transform: rotate3d(0, 0, 1, -10deg);
363
+ }
364
+
365
+ 60% {
366
+ -webkit-transform: rotate3d(0, 0, 1, 5deg);
367
+ transform: rotate3d(0, 0, 1, 5deg);
368
+ }
369
+
370
+ 80% {
371
+ -webkit-transform: rotate3d(0, 0, 1, -5deg);
372
+ transform: rotate3d(0, 0, 1, -5deg);
373
+ }
374
+
375
+ to {
376
+ -webkit-transform: rotate3d(0, 0, 1, 0deg);
377
+ transform: rotate3d(0, 0, 1, 0deg);
378
+ }
379
+ }
380
+
381
+ @keyframes swing {
382
+ 20% {
383
+ -webkit-transform: rotate3d(0, 0, 1, 15deg);
384
+ transform: rotate3d(0, 0, 1, 15deg);
385
+ }
386
+
387
+ 40% {
388
+ -webkit-transform: rotate3d(0, 0, 1, -10deg);
389
+ transform: rotate3d(0, 0, 1, -10deg);
390
+ }
391
+
392
+ 60% {
393
+ -webkit-transform: rotate3d(0, 0, 1, 5deg);
394
+ transform: rotate3d(0, 0, 1, 5deg);
395
+ }
396
+
397
+ 80% {
398
+ -webkit-transform: rotate3d(0, 0, 1, -5deg);
399
+ transform: rotate3d(0, 0, 1, -5deg);
400
+ }
401
+
402
+ to {
403
+ -webkit-transform: rotate3d(0, 0, 1, 0deg);
404
+ transform: rotate3d(0, 0, 1, 0deg);
405
+ }
406
+ }
407
+
408
+ .swing {
409
+ -webkit-transform-origin: top center;
410
+ transform-origin: top center;
411
+ -webkit-animation-name: swing;
412
+ animation-name: swing;
413
+ }
414
+
415
+ @-webkit-keyframes tada {
416
+ from {
417
+ -webkit-transform: scale3d(1, 1, 1);
418
+ transform: scale3d(1, 1, 1);
419
+ }
420
+
421
+ 10%, 20% {
422
+ -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
423
+ transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
424
+ }
425
+
426
+ 30%, 50%, 70%, 90% {
427
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
428
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
429
+ }
430
+
431
+ 40%, 60%, 80% {
432
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
433
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
434
+ }
435
+
436
+ to {
437
+ -webkit-transform: scale3d(1, 1, 1);
438
+ transform: scale3d(1, 1, 1);
439
+ }
440
+ }
441
+
442
+ @keyframes tada {
443
+ from {
444
+ -webkit-transform: scale3d(1, 1, 1);
445
+ transform: scale3d(1, 1, 1);
446
+ }
447
+
448
+ 10%, 20% {
449
+ -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
450
+ transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
451
+ }
452
+
453
+ 30%, 50%, 70%, 90% {
454
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
455
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
456
+ }
457
+
458
+ 40%, 60%, 80% {
459
+ -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
460
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
461
+ }
462
+
463
+ to {
464
+ -webkit-transform: scale3d(1, 1, 1);
465
+ transform: scale3d(1, 1, 1);
466
+ }
467
+ }
468
+
469
+ .tada {
470
+ -webkit-animation-name: tada;
471
+ animation-name: tada;
472
+ }
473
+
474
+ /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
475
+
476
+ @-webkit-keyframes wobble {
477
+ from {
478
+ -webkit-transform: none;
479
+ transform: none;
480
+ }
481
+
482
+ 15% {
483
+ -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
484
+ transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
485
+ }
486
+
487
+ 30% {
488
+ -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
489
+ transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
490
+ }
491
+
492
+ 45% {
493
+ -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
494
+ transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
495
+ }
496
+
497
+ 60% {
498
+ -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
499
+ transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
500
+ }
501
+
502
+ 75% {
503
+ -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
504
+ transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
505
+ }
506
+
507
+ to {
508
+ -webkit-transform: none;
509
+ transform: none;
510
+ }
511
+ }
512
+
513
+ @keyframes wobble {
514
+ from {
515
+ -webkit-transform: none;
516
+ transform: none;
517
+ }
518
+
519
+ 15% {
520
+ -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
521
+ transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
522
+ }
523
+
524
+ 30% {
525
+ -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
526
+ transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
527
+ }
528
+
529
+ 45% {
530
+ -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
531
+ transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
532
+ }
533
+
534
+ 60% {
535
+ -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
536
+ transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
537
+ }
538
+
539
+ 75% {
540
+ -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
541
+ transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
542
+ }
543
+
544
+ to {
545
+ -webkit-transform: none;
546
+ transform: none;
547
+ }
548
+ }
549
+
550
+ .wobble {
551
+ -webkit-animation-name: wobble;
552
+ animation-name: wobble;
553
+ }
554
+
555
+ @-webkit-keyframes jello {
556
+ from, 11.1%, to {
557
+ -webkit-transform: none;
558
+ transform: none;
559
+ }
560
+
561
+ 22.2% {
562
+ -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
563
+ transform: skewX(-12.5deg) skewY(-12.5deg);
564
+ }
565
+
566
+ 33.3% {
567
+ -webkit-transform: skewX(6.25deg) skewY(6.25deg);
568
+ transform: skewX(6.25deg) skewY(6.25deg);
569
+ }
570
+
571
+ 44.4% {
572
+ -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
573
+ transform: skewX(-3.125deg) skewY(-3.125deg);
574
+ }
575
+
576
+ 55.5% {
577
+ -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
578
+ transform: skewX(1.5625deg) skewY(1.5625deg);
579
+ }
580
+
581
+ 66.6% {
582
+ -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
583
+ transform: skewX(-0.78125deg) skewY(-0.78125deg);
584
+ }
585
+
586
+ 77.7% {
587
+ -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
588
+ transform: skewX(0.390625deg) skewY(0.390625deg);
589
+ }
590
+
591
+ 88.8% {
592
+ -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
593
+ transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
594
+ }
595
+ }
596
+
597
+ @keyframes jello {
598
+ from, 11.1%, to {
599
+ -webkit-transform: none;
600
+ transform: none;
601
+ }
602
+
603
+ 22.2% {
604
+ -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
605
+ transform: skewX(-12.5deg) skewY(-12.5deg);
606
+ }
607
+
608
+ 33.3% {
609
+ -webkit-transform: skewX(6.25deg) skewY(6.25deg);
610
+ transform: skewX(6.25deg) skewY(6.25deg);
611
+ }
612
+
613
+ 44.4% {
614
+ -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
615
+ transform: skewX(-3.125deg) skewY(-3.125deg);
616
+ }
617
+
618
+ 55.5% {
619
+ -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
620
+ transform: skewX(1.5625deg) skewY(1.5625deg);
621
+ }
622
+
623
+ 66.6% {
624
+ -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
625
+ transform: skewX(-0.78125deg) skewY(-0.78125deg);
626
+ }
627
+
628
+ 77.7% {
629
+ -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
630
+ transform: skewX(0.390625deg) skewY(0.390625deg);
631
+ }
632
+
633
+ 88.8% {
634
+ -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
635
+ transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
636
+ }
637
+ }
638
+
639
+ .jello {
640
+ -webkit-animation-name: jello;
641
+ animation-name: jello;
642
+ -webkit-transform-origin: center;
643
+ transform-origin: center;
644
+ }
645
+
646
+ @-webkit-keyframes bounceIn {
647
+ from, 20%, 40%, 60%, 80%, to {
648
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
649
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
650
+ }
651
+
652
+ 0% {
653
+ opacity: 0;
654
+ -webkit-transform: scale3d(.3, .3, .3);
655
+ transform: scale3d(.3, .3, .3);
656
+ }
657
+
658
+ 20% {
659
+ -webkit-transform: scale3d(1.1, 1.1, 1.1);
660
+ transform: scale3d(1.1, 1.1, 1.1);
661
+ }
662
+
663
+ 40% {
664
+ -webkit-transform: scale3d(.9, .9, .9);
665
+ transform: scale3d(.9, .9, .9);
666
+ }
667
+
668
+ 60% {
669
+ opacity: 1;
670
+ -webkit-transform: scale3d(1.03, 1.03, 1.03);
671
+ transform: scale3d(1.03, 1.03, 1.03);
672
+ }
673
+
674
+ 80% {
675
+ -webkit-transform: scale3d(.97, .97, .97);
676
+ transform: scale3d(.97, .97, .97);
677
+ }
678
+
679
+ to {
680
+ opacity: 1;
681
+ -webkit-transform: scale3d(1, 1, 1);
682
+ transform: scale3d(1, 1, 1);
683
+ }
684
+ }
685
+
686
+ @keyframes bounceIn {
687
+ from, 20%, 40%, 60%, 80%, to {
688
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
689
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
690
+ }
691
+
692
+ 0% {
693
+ opacity: 0;
694
+ -webkit-transform: scale3d(.3, .3, .3);
695
+ transform: scale3d(.3, .3, .3);
696
+ }
697
+
698
+ 20% {
699
+ -webkit-transform: scale3d(1.1, 1.1, 1.1);
700
+ transform: scale3d(1.1, 1.1, 1.1);
701
+ }
702
+
703
+ 40% {
704
+ -webkit-transform: scale3d(.9, .9, .9);
705
+ transform: scale3d(.9, .9, .9);
706
+ }
707
+
708
+ 60% {
709
+ opacity: 1;
710
+ -webkit-transform: scale3d(1.03, 1.03, 1.03);
711
+ transform: scale3d(1.03, 1.03, 1.03);
712
+ }
713
+
714
+ 80% {
715
+ -webkit-transform: scale3d(.97, .97, .97);
716
+ transform: scale3d(.97, .97, .97);
717
+ }
718
+
719
+ to {
720
+ opacity: 1;
721
+ -webkit-transform: scale3d(1, 1, 1);
722
+ transform: scale3d(1, 1, 1);
723
+ }
724
+ }
725
+
726
+ .bounceIn {
727
+ -webkit-animation-name: bounceIn;
728
+ animation-name: bounceIn;
729
+ }
730
+
731
+ @-webkit-keyframes bounceInDown {
732
+ from, 60%, 75%, 90%, to {
733
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
734
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
735
+ }
736
+
737
+ 0% {
738
+ opacity: 0;
739
+ -webkit-transform: translate3d(0, -3000px, 0);
740
+ transform: translate3d(0, -3000px, 0);
741
+ }
742
+
743
+ 60% {
744
+ opacity: 1;
745
+ -webkit-transform: translate3d(0, 25px, 0);
746
+ transform: translate3d(0, 25px, 0);
747
+ }
748
+
749
+ 75% {
750
+ -webkit-transform: translate3d(0, -10px, 0);
751
+ transform: translate3d(0, -10px, 0);
752
+ }
753
+
754
+ 90% {
755
+ -webkit-transform: translate3d(0, 5px, 0);
756
+ transform: translate3d(0, 5px, 0);
757
+ }
758
+
759
+ to {
760
+ -webkit-transform: none;
761
+ transform: none;
762
+ }
763
+ }
764
+
765
+ @keyframes bounceInDown {
766
+ from, 60%, 75%, 90%, to {
767
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
768
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
769
+ }
770
+
771
+ 0% {
772
+ opacity: 0;
773
+ -webkit-transform: translate3d(0, -3000px, 0);
774
+ transform: translate3d(0, -3000px, 0);
775
+ }
776
+
777
+ 60% {
778
+ opacity: 1;
779
+ -webkit-transform: translate3d(0, 25px, 0);
780
+ transform: translate3d(0, 25px, 0);
781
+ }
782
+
783
+ 75% {
784
+ -webkit-transform: translate3d(0, -10px, 0);
785
+ transform: translate3d(0, -10px, 0);
786
+ }
787
+
788
+ 90% {
789
+ -webkit-transform: translate3d(0, 5px, 0);
790
+ transform: translate3d(0, 5px, 0);
791
+ }
792
+
793
+ to {
794
+ -webkit-transform: none;
795
+ transform: none;
796
+ }
797
+ }
798
+
799
+ .bounceInDown {
800
+ -webkit-animation-name: bounceInDown;
801
+ animation-name: bounceInDown;
802
+ }
803
+
804
+ @-webkit-keyframes bounceInLeft {
805
+ from, 60%, 75%, 90%, to {
806
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
807
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
808
+ }
809
+
810
+ 0% {
811
+ opacity: 0;
812
+ -webkit-transform: translate3d(-3000px, 0, 0);
813
+ transform: translate3d(-3000px, 0, 0);
814
+ }
815
+
816
+ 60% {
817
+ opacity: 1;
818
+ -webkit-transform: translate3d(25px, 0, 0);
819
+ transform: translate3d(25px, 0, 0);
820
+ }
821
+
822
+ 75% {
823
+ -webkit-transform: translate3d(-10px, 0, 0);
824
+ transform: translate3d(-10px, 0, 0);
825
+ }
826
+
827
+ 90% {
828
+ -webkit-transform: translate3d(5px, 0, 0);
829
+ transform: translate3d(5px, 0, 0);
830
+ }
831
+
832
+ to {
833
+ -webkit-transform: none;
834
+ transform: none;
835
+ }
836
+ }
837
+
838
+ @keyframes bounceInLeft {
839
+ from, 60%, 75%, 90%, to {
840
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
841
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
842
+ }
843
+
844
+ 0% {
845
+ opacity: 0;
846
+ -webkit-transform: translate3d(-3000px, 0, 0);
847
+ transform: translate3d(-3000px, 0, 0);
848
+ }
849
+
850
+ 60% {
851
+ opacity: 1;
852
+ -webkit-transform: translate3d(25px, 0, 0);
853
+ transform: translate3d(25px, 0, 0);
854
+ }
855
+
856
+ 75% {
857
+ -webkit-transform: translate3d(-10px, 0, 0);
858
+ transform: translate3d(-10px, 0, 0);
859
+ }
860
+
861
+ 90% {
862
+ -webkit-transform: translate3d(5px, 0, 0);
863
+ transform: translate3d(5px, 0, 0);
864
+ }
865
+
866
+ to {
867
+ -webkit-transform: none;
868
+ transform: none;
869
+ }
870
+ }
871
+
872
+ .bounceInLeft {
873
+ -webkit-animation-name: bounceInLeft;
874
+ animation-name: bounceInLeft;
875
+ }
876
+
877
+ @-webkit-keyframes bounceInRight {
878
+ from, 60%, 75%, 90%, to {
879
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
880
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
881
+ }
882
+
883
+ from {
884
+ opacity: 0;
885
+ -webkit-transform: translate3d(3000px, 0, 0);
886
+ transform: translate3d(3000px, 0, 0);
887
+ }
888
+
889
+ 60% {
890
+ opacity: 1;
891
+ -webkit-transform: translate3d(-25px, 0, 0);
892
+ transform: translate3d(-25px, 0, 0);
893
+ }
894
+
895
+ 75% {
896
+ -webkit-transform: translate3d(10px, 0, 0);
897
+ transform: translate3d(10px, 0, 0);
898
+ }
899
+
900
+ 90% {
901
+ -webkit-transform: translate3d(-5px, 0, 0);
902
+ transform: translate3d(-5px, 0, 0);
903
+ }
904
+
905
+ to {
906
+ -webkit-transform: none;
907
+ transform: none;
908
+ }
909
+ }
910
+
911
+ @keyframes bounceInRight {
912
+ from, 60%, 75%, 90%, to {
913
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
914
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
915
+ }
916
+
917
+ from {
918
+ opacity: 0;
919
+ -webkit-transform: translate3d(3000px, 0, 0);
920
+ transform: translate3d(3000px, 0, 0);
921
+ }
922
+
923
+ 60% {
924
+ opacity: 1;
925
+ -webkit-transform: translate3d(-25px, 0, 0);
926
+ transform: translate3d(-25px, 0, 0);
927
+ }
928
+
929
+ 75% {
930
+ -webkit-transform: translate3d(10px, 0, 0);
931
+ transform: translate3d(10px, 0, 0);
932
+ }
933
+
934
+ 90% {
935
+ -webkit-transform: translate3d(-5px, 0, 0);
936
+ transform: translate3d(-5px, 0, 0);
937
+ }
938
+
939
+ to {
940
+ -webkit-transform: none;
941
+ transform: none;
942
+ }
943
+ }
944
+
945
+ .bounceInRight {
946
+ -webkit-animation-name: bounceInRight;
947
+ animation-name: bounceInRight;
948
+ }
949
+
950
+ @-webkit-keyframes bounceInUp {
951
+ from, 60%, 75%, 90%, to {
952
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
953
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
954
+ }
955
+
956
+ from {
957
+ opacity: 0;
958
+ -webkit-transform: translate3d(0, 3000px, 0);
959
+ transform: translate3d(0, 3000px, 0);
960
+ }
961
+
962
+ 60% {
963
+ opacity: 1;
964
+ -webkit-transform: translate3d(0, -20px, 0);
965
+ transform: translate3d(0, -20px, 0);
966
+ }
967
+
968
+ 75% {
969
+ -webkit-transform: translate3d(0, 10px, 0);
970
+ transform: translate3d(0, 10px, 0);
971
+ }
972
+
973
+ 90% {
974
+ -webkit-transform: translate3d(0, -5px, 0);
975
+ transform: translate3d(0, -5px, 0);
976
+ }
977
+
978
+ to {
979
+ -webkit-transform: translate3d(0, 0, 0);
980
+ transform: translate3d(0, 0, 0);
981
+ }
982
+ }
983
+
984
+ @keyframes bounceInUp {
985
+ from, 60%, 75%, 90%, to {
986
+ -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
987
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
988
+ }
989
+
990
+ from {
991
+ opacity: 0;
992
+ -webkit-transform: translate3d(0, 3000px, 0);
993
+ transform: translate3d(0, 3000px, 0);
994
+ }
995
+
996
+ 60% {
997
+ opacity: 1;
998
+ -webkit-transform: translate3d(0, -20px, 0);
999
+ transform: translate3d(0, -20px, 0);
1000
+ }
1001
+
1002
+ 75% {
1003
+ -webkit-transform: translate3d(0, 10px, 0);
1004
+ transform: translate3d(0, 10px, 0);
1005
+ }
1006
+
1007
+ 90% {
1008
+ -webkit-transform: translate3d(0, -5px, 0);
1009
+ transform: translate3d(0, -5px, 0);
1010
+ }
1011
+
1012
+ to {
1013
+ -webkit-transform: translate3d(0, 0, 0);
1014
+ transform: translate3d(0, 0, 0);
1015
+ }
1016
+ }
1017
+
1018
+ .bounceInUp {
1019
+ -webkit-animation-name: bounceInUp;
1020
+ animation-name: bounceInUp;
1021
+ }
1022
+
1023
+ @-webkit-keyframes bounceOut {
1024
+ 20% {
1025
+ -webkit-transform: scale3d(.9, .9, .9);
1026
+ transform: scale3d(.9, .9, .9);
1027
+ }
1028
+
1029
+ 50%, 55% {
1030
+ opacity: 1;
1031
+ -webkit-transform: scale3d(1.1, 1.1, 1.1);
1032
+ transform: scale3d(1.1, 1.1, 1.1);
1033
+ }
1034
+
1035
+ to {
1036
+ opacity: 0;
1037
+ -webkit-transform: scale3d(.3, .3, .3);
1038
+ transform: scale3d(.3, .3, .3);
1039
+ }
1040
+ }
1041
+
1042
+ @keyframes bounceOut {
1043
+ 20% {
1044
+ -webkit-transform: scale3d(.9, .9, .9);
1045
+ transform: scale3d(.9, .9, .9);
1046
+ }
1047
+
1048
+ 50%, 55% {
1049
+ opacity: 1;
1050
+ -webkit-transform: scale3d(1.1, 1.1, 1.1);
1051
+ transform: scale3d(1.1, 1.1, 1.1);
1052
+ }
1053
+
1054
+ to {
1055
+ opacity: 0;
1056
+ -webkit-transform: scale3d(.3, .3, .3);
1057
+ transform: scale3d(.3, .3, .3);
1058
+ }
1059
+ }
1060
+
1061
+ .bounceOut {
1062
+ -webkit-animation-name: bounceOut;
1063
+ animation-name: bounceOut;
1064
+ }
1065
+
1066
+ @-webkit-keyframes bounceOutDown {
1067
+ 20% {
1068
+ -webkit-transform: translate3d(0, 10px, 0);
1069
+ transform: translate3d(0, 10px, 0);
1070
+ }
1071
+
1072
+ 40%, 45% {
1073
+ opacity: 1;
1074
+ -webkit-transform: translate3d(0, -20px, 0);
1075
+ transform: translate3d(0, -20px, 0);
1076
+ }
1077
+
1078
+ to {
1079
+ opacity: 0;
1080
+ -webkit-transform: translate3d(0, 2000px, 0);
1081
+ transform: translate3d(0, 2000px, 0);
1082
+ }
1083
+ }
1084
+
1085
+ @keyframes bounceOutDown {
1086
+ 20% {
1087
+ -webkit-transform: translate3d(0, 10px, 0);
1088
+ transform: translate3d(0, 10px, 0);
1089
+ }
1090
+
1091
+ 40%, 45% {
1092
+ opacity: 1;
1093
+ -webkit-transform: translate3d(0, -20px, 0);
1094
+ transform: translate3d(0, -20px, 0);
1095
+ }
1096
+
1097
+ to {
1098
+ opacity: 0;
1099
+ -webkit-transform: translate3d(0, 2000px, 0);
1100
+ transform: translate3d(0, 2000px, 0);
1101
+ }
1102
+ }
1103
+
1104
+ .bounceOutDown {
1105
+ -webkit-animation-name: bounceOutDown;
1106
+ animation-name: bounceOutDown;
1107
+ }
1108
+
1109
+ @-webkit-keyframes bounceOutLeft {
1110
+ 20% {
1111
+ opacity: 1;
1112
+ -webkit-transform: translate3d(20px, 0, 0);
1113
+ transform: translate3d(20px, 0, 0);
1114
+ }
1115
+
1116
+ to {
1117
+ opacity: 0;
1118
+ -webkit-transform: translate3d(-2000px, 0, 0);
1119
+ transform: translate3d(-2000px, 0, 0);
1120
+ }
1121
+ }
1122
+
1123
+ @keyframes bounceOutLeft {
1124
+ 20% {
1125
+ opacity: 1;
1126
+ -webkit-transform: translate3d(20px, 0, 0);
1127
+ transform: translate3d(20px, 0, 0);
1128
+ }
1129
+
1130
+ to {
1131
+ opacity: 0;
1132
+ -webkit-transform: translate3d(-2000px, 0, 0);
1133
+ transform: translate3d(-2000px, 0, 0);
1134
+ }
1135
+ }
1136
+
1137
+ .bounceOutLeft {
1138
+ -webkit-animation-name: bounceOutLeft;
1139
+ animation-name: bounceOutLeft;
1140
+ }
1141
+
1142
+ @-webkit-keyframes bounceOutRight {
1143
+ 20% {
1144
+ opacity: 1;
1145
+ -webkit-transform: translate3d(-20px, 0, 0);
1146
+ transform: translate3d(-20px, 0, 0);
1147
+ }
1148
+
1149
+ to {
1150
+ opacity: 0;
1151
+ -webkit-transform: translate3d(2000px, 0, 0);
1152
+ transform: translate3d(2000px, 0, 0);
1153
+ }
1154
+ }
1155
+
1156
+ @keyframes bounceOutRight {
1157
+ 20% {
1158
+ opacity: 1;
1159
+ -webkit-transform: translate3d(-20px, 0, 0);
1160
+ transform: translate3d(-20px, 0, 0);
1161
+ }
1162
+
1163
+ to {
1164
+ opacity: 0;
1165
+ -webkit-transform: translate3d(2000px, 0, 0);
1166
+ transform: translate3d(2000px, 0, 0);
1167
+ }
1168
+ }
1169
+
1170
+ .bounceOutRight {
1171
+ -webkit-animation-name: bounceOutRight;
1172
+ animation-name: bounceOutRight;
1173
+ }
1174
+
1175
+ @-webkit-keyframes bounceOutUp {
1176
+ 20% {
1177
+ -webkit-transform: translate3d(0, -10px, 0);
1178
+ transform: translate3d(0, -10px, 0);
1179
+ }
1180
+
1181
+ 40%, 45% {
1182
+ opacity: 1;
1183
+ -webkit-transform: translate3d(0, 20px, 0);
1184
+ transform: translate3d(0, 20px, 0);
1185
+ }
1186
+
1187
+ to {
1188
+ opacity: 0;
1189
+ -webkit-transform: translate3d(0, -2000px, 0);
1190
+ transform: translate3d(0, -2000px, 0);
1191
+ }
1192
+ }
1193
+
1194
+ @keyframes bounceOutUp {
1195
+ 20% {
1196
+ -webkit-transform: translate3d(0, -10px, 0);
1197
+ transform: translate3d(0, -10px, 0);
1198
+ }
1199
+
1200
+ 40%, 45% {
1201
+ opacity: 1;
1202
+ -webkit-transform: translate3d(0, 20px, 0);
1203
+ transform: translate3d(0, 20px, 0);
1204
+ }
1205
+
1206
+ to {
1207
+ opacity: 0;
1208
+ -webkit-transform: translate3d(0, -2000px, 0);
1209
+ transform: translate3d(0, -2000px, 0);
1210
+ }
1211
+ }
1212
+
1213
+ .bounceOutUp {
1214
+ -webkit-animation-name: bounceOutUp;
1215
+ animation-name: bounceOutUp;
1216
+ }
1217
+
1218
+ @-webkit-keyframes fadeIn {
1219
+ from {
1220
+ opacity: 0;
1221
+ }
1222
+
1223
+ to {
1224
+ opacity: 1;
1225
+ }
1226
+ }
1227
+
1228
+ @keyframes fadeIn {
1229
+ from {
1230
+ opacity: 0;
1231
+ }
1232
+
1233
+ to {
1234
+ opacity: 1;
1235
+ }
1236
+ }
1237
+
1238
+ .fadeIn {
1239
+ -webkit-animation-name: fadeIn;
1240
+ animation-name: fadeIn;
1241
+ }
1242
+
1243
+ @-webkit-keyframes fadeInDown {
1244
+ from {
1245
+ opacity: 0;
1246
+ -webkit-transform: translate3d(0, -100%, 0);
1247
+ transform: translate3d(0, -100%, 0);
1248
+ }
1249
+
1250
+ to {
1251
+ opacity: 1;
1252
+ -webkit-transform: none;
1253
+ transform: none;
1254
+ }
1255
+ }
1256
+
1257
+ @keyframes fadeInDown {
1258
+ from {
1259
+ opacity: 0;
1260
+ -webkit-transform: translate3d(0, -100%, 0);
1261
+ transform: translate3d(0, -100%, 0);
1262
+ }
1263
+
1264
+ to {
1265
+ opacity: 1;
1266
+ -webkit-transform: none;
1267
+ transform: none;
1268
+ }
1269
+ }
1270
+
1271
+ .fadeInDown {
1272
+ -webkit-animation-name: fadeInDown;
1273
+ animation-name: fadeInDown;
1274
+ }
1275
+
1276
+ @-webkit-keyframes fadeInDownBig {
1277
+ from {
1278
+ opacity: 0;
1279
+ -webkit-transform: translate3d(0, -2000px, 0);
1280
+ transform: translate3d(0, -2000px, 0);
1281
+ }
1282
+
1283
+ to {
1284
+ opacity: 1;
1285
+ -webkit-transform: none;
1286
+ transform: none;
1287
+ }
1288
+ }
1289
+
1290
+ @keyframes fadeInDownBig {
1291
+ from {
1292
+ opacity: 0;
1293
+ -webkit-transform: translate3d(0, -2000px, 0);
1294
+ transform: translate3d(0, -2000px, 0);
1295
+ }
1296
+
1297
+ to {
1298
+ opacity: 1;
1299
+ -webkit-transform: none;
1300
+ transform: none;
1301
+ }
1302
+ }
1303
+
1304
+ .fadeInDownBig {
1305
+ -webkit-animation-name: fadeInDownBig;
1306
+ animation-name: fadeInDownBig;
1307
+ }
1308
+
1309
+ @-webkit-keyframes fadeInLeft {
1310
+ from {
1311
+ opacity: 0;
1312
+ -webkit-transform: translate3d(-100%, 0, 0);
1313
+ transform: translate3d(-100%, 0, 0);
1314
+ }
1315
+
1316
+ to {
1317
+ opacity: 1;
1318
+ -webkit-transform: none;
1319
+ transform: none;
1320
+ }
1321
+ }
1322
+
1323
+ @keyframes fadeInLeft {
1324
+ from {
1325
+ opacity: 0;
1326
+ -webkit-transform: translate3d(-100%, 0, 0);
1327
+ transform: translate3d(-100%, 0, 0);
1328
+ }
1329
+
1330
+ to {
1331
+ opacity: 1;
1332
+ -webkit-transform: none;
1333
+ transform: none;
1334
+ }
1335
+ }
1336
+
1337
+ .fadeInLeft {
1338
+ -webkit-animation-name: fadeInLeft;
1339
+ animation-name: fadeInLeft;
1340
+ }
1341
+
1342
+ @-webkit-keyframes fadeInLeftBig {
1343
+ from {
1344
+ opacity: 0;
1345
+ -webkit-transform: translate3d(-2000px, 0, 0);
1346
+ transform: translate3d(-2000px, 0, 0);
1347
+ }
1348
+
1349
+ to {
1350
+ opacity: 1;
1351
+ -webkit-transform: none;
1352
+ transform: none;
1353
+ }
1354
+ }
1355
+
1356
+ @keyframes fadeInLeftBig {
1357
+ from {
1358
+ opacity: 0;
1359
+ -webkit-transform: translate3d(-2000px, 0, 0);
1360
+ transform: translate3d(-2000px, 0, 0);
1361
+ }
1362
+
1363
+ to {
1364
+ opacity: 1;
1365
+ -webkit-transform: none;
1366
+ transform: none;
1367
+ }
1368
+ }
1369
+
1370
+ .fadeInLeftBig {
1371
+ -webkit-animation-name: fadeInLeftBig;
1372
+ animation-name: fadeInLeftBig;
1373
+ }
1374
+
1375
+ @-webkit-keyframes fadeInRight {
1376
+ from {
1377
+ opacity: 0;
1378
+ -webkit-transform: translate3d(100%, 0, 0);
1379
+ transform: translate3d(100%, 0, 0);
1380
+ }
1381
+
1382
+ to {
1383
+ opacity: 1;
1384
+ -webkit-transform: none;
1385
+ transform: none;
1386
+ }
1387
+ }
1388
+
1389
+ @keyframes fadeInRight {
1390
+ from {
1391
+ opacity: 0;
1392
+ -webkit-transform: translate3d(100%, 0, 0);
1393
+ transform: translate3d(100%, 0, 0);
1394
+ }
1395
+
1396
+ to {
1397
+ opacity: 1;
1398
+ -webkit-transform: none;
1399
+ transform: none;
1400
+ }
1401
+ }
1402
+
1403
+ .fadeInRight {
1404
+ -webkit-animation-name: fadeInRight;
1405
+ animation-name: fadeInRight;
1406
+ }
1407
+
1408
+ @-webkit-keyframes fadeInRightBig {
1409
+ from {
1410
+ opacity: 0;
1411
+ -webkit-transform: translate3d(2000px, 0, 0);
1412
+ transform: translate3d(2000px, 0, 0);
1413
+ }
1414
+
1415
+ to {
1416
+ opacity: 1;
1417
+ -webkit-transform: none;
1418
+ transform: none;
1419
+ }
1420
+ }
1421
+
1422
+ @keyframes fadeInRightBig {
1423
+ from {
1424
+ opacity: 0;
1425
+ -webkit-transform: translate3d(2000px, 0, 0);
1426
+ transform: translate3d(2000px, 0, 0);
1427
+ }
1428
+
1429
+ to {
1430
+ opacity: 1;
1431
+ -webkit-transform: none;
1432
+ transform: none;
1433
+ }
1434
+ }
1435
+
1436
+ .fadeInRightBig {
1437
+ -webkit-animation-name: fadeInRightBig;
1438
+ animation-name: fadeInRightBig;
1439
+ }
1440
+
1441
+ @-webkit-keyframes fadeInUp {
1442
+ from {
1443
+ opacity: 0;
1444
+ -webkit-transform: translate3d(0, 100%, 0);
1445
+ transform: translate3d(0, 100%, 0);
1446
+ }
1447
+
1448
+ to {
1449
+ opacity: 1;
1450
+ -webkit-transform: none;
1451
+ transform: none;
1452
+ }
1453
+ }
1454
+
1455
+ @keyframes fadeInUp {
1456
+ from {
1457
+ opacity: 0;
1458
+ -webkit-transform: translate3d(0, 100%, 0);
1459
+ transform: translate3d(0, 100%, 0);
1460
+ }
1461
+
1462
+ to {
1463
+ opacity: 1;
1464
+ -webkit-transform: none;
1465
+ transform: none;
1466
+ }
1467
+ }
1468
+
1469
+ .fadeInUp {
1470
+ -webkit-animation-name: fadeInUp;
1471
+ animation-name: fadeInUp;
1472
+ }
1473
+
1474
+ @-webkit-keyframes fadeInUpBig {
1475
+ from {
1476
+ opacity: 0;
1477
+ -webkit-transform: translate3d(0, 2000px, 0);
1478
+ transform: translate3d(0, 2000px, 0);
1479
+ }
1480
+
1481
+ to {
1482
+ opacity: 1;
1483
+ -webkit-transform: none;
1484
+ transform: none;
1485
+ }
1486
+ }
1487
+
1488
+ @keyframes fadeInUpBig {
1489
+ from {
1490
+ opacity: 0;
1491
+ -webkit-transform: translate3d(0, 2000px, 0);
1492
+ transform: translate3d(0, 2000px, 0);
1493
+ }
1494
+
1495
+ to {
1496
+ opacity: 1;
1497
+ -webkit-transform: none;
1498
+ transform: none;
1499
+ }
1500
+ }
1501
+
1502
+ .fadeInUpBig {
1503
+ -webkit-animation-name: fadeInUpBig;
1504
+ animation-name: fadeInUpBig;
1505
+ }
1506
+
1507
+ @-webkit-keyframes fadeOut {
1508
+ from {
1509
+ opacity: 1;
1510
+ }
1511
+
1512
+ to {
1513
+ opacity: 0;
1514
+ }
1515
+ }
1516
+
1517
+ @keyframes fadeOut {
1518
+ from {
1519
+ opacity: 1;
1520
+ }
1521
+
1522
+ to {
1523
+ opacity: 0;
1524
+ }
1525
+ }
1526
+
1527
+ .fadeOut {
1528
+ -webkit-animation-name: fadeOut;
1529
+ animation-name: fadeOut;
1530
+ }
1531
+
1532
+ @-webkit-keyframes fadeOutDown {
1533
+ from {
1534
+ opacity: 1;
1535
+ }
1536
+
1537
+ to {
1538
+ opacity: 0;
1539
+ -webkit-transform: translate3d(0, 100%, 0);
1540
+ transform: translate3d(0, 100%, 0);
1541
+ }
1542
+ }
1543
+
1544
+ @keyframes fadeOutDown {
1545
+ from {
1546
+ opacity: 1;
1547
+ }
1548
+
1549
+ to {
1550
+ opacity: 0;
1551
+ -webkit-transform: translate3d(0, 100%, 0);
1552
+ transform: translate3d(0, 100%, 0);
1553
+ }
1554
+ }
1555
+
1556
+ .fadeOutDown {
1557
+ -webkit-animation-name: fadeOutDown;
1558
+ animation-name: fadeOutDown;
1559
+ }
1560
+
1561
+ @-webkit-keyframes fadeOutDownBig {
1562
+ from {
1563
+ opacity: 1;
1564
+ }
1565
+
1566
+ to {
1567
+ opacity: 0;
1568
+ -webkit-transform: translate3d(0, 2000px, 0);
1569
+ transform: translate3d(0, 2000px, 0);
1570
+ }
1571
+ }
1572
+
1573
+ @keyframes fadeOutDownBig {
1574
+ from {
1575
+ opacity: 1;
1576
+ }
1577
+
1578
+ to {
1579
+ opacity: 0;
1580
+ -webkit-transform: translate3d(0, 2000px, 0);
1581
+ transform: translate3d(0, 2000px, 0);
1582
+ }
1583
+ }
1584
+
1585
+ .fadeOutDownBig {
1586
+ -webkit-animation-name: fadeOutDownBig;
1587
+ animation-name: fadeOutDownBig;
1588
+ }
1589
+
1590
+ @-webkit-keyframes fadeOutLeft {
1591
+ from {
1592
+ opacity: 1;
1593
+ }
1594
+
1595
+ to {
1596
+ opacity: 0;
1597
+ -webkit-transform: translate3d(-100%, 0, 0);
1598
+ transform: translate3d(-100%, 0, 0);
1599
+ }
1600
+ }
1601
+
1602
+ @keyframes fadeOutLeft {
1603
+ from {
1604
+ opacity: 1;
1605
+ }
1606
+
1607
+ to {
1608
+ opacity: 0;
1609
+ -webkit-transform: translate3d(-100%, 0, 0);
1610
+ transform: translate3d(-100%, 0, 0);
1611
+ }
1612
+ }
1613
+
1614
+ .fadeOutLeft {
1615
+ -webkit-animation-name: fadeOutLeft;
1616
+ animation-name: fadeOutLeft;
1617
+ }
1618
+
1619
+ @-webkit-keyframes fadeOutLeftBig {
1620
+ from {
1621
+ opacity: 1;
1622
+ }
1623
+
1624
+ to {
1625
+ opacity: 0;
1626
+ -webkit-transform: translate3d(-2000px, 0, 0);
1627
+ transform: translate3d(-2000px, 0, 0);
1628
+ }
1629
+ }
1630
+
1631
+ @keyframes fadeOutLeftBig {
1632
+ from {
1633
+ opacity: 1;
1634
+ }
1635
+
1636
+ to {
1637
+ opacity: 0;
1638
+ -webkit-transform: translate3d(-2000px, 0, 0);
1639
+ transform: translate3d(-2000px, 0, 0);
1640
+ }
1641
+ }
1642
+
1643
+ .fadeOutLeftBig {
1644
+ -webkit-animation-name: fadeOutLeftBig;
1645
+ animation-name: fadeOutLeftBig;
1646
+ }
1647
+
1648
+ @-webkit-keyframes fadeOutRight {
1649
+ from {
1650
+ opacity: 1;
1651
+ }
1652
+
1653
+ to {
1654
+ opacity: 0;
1655
+ -webkit-transform: translate3d(100%, 0, 0);
1656
+ transform: translate3d(100%, 0, 0);
1657
+ }
1658
+ }
1659
+
1660
+ @keyframes fadeOutRight {
1661
+ from {
1662
+ opacity: 1;
1663
+ }
1664
+
1665
+ to {
1666
+ opacity: 0;
1667
+ -webkit-transform: translate3d(100%, 0, 0);
1668
+ transform: translate3d(100%, 0, 0);
1669
+ }
1670
+ }
1671
+
1672
+ .fadeOutRight {
1673
+ -webkit-animation-name: fadeOutRight;
1674
+ animation-name: fadeOutRight;
1675
+ }
1676
+
1677
+ @-webkit-keyframes fadeOutRightBig {
1678
+ from {
1679
+ opacity: 1;
1680
+ }
1681
+
1682
+ to {
1683
+ opacity: 0;
1684
+ -webkit-transform: translate3d(2000px, 0, 0);
1685
+ transform: translate3d(2000px, 0, 0);
1686
+ }
1687
+ }
1688
+
1689
+ @keyframes fadeOutRightBig {
1690
+ from {
1691
+ opacity: 1;
1692
+ }
1693
+
1694
+ to {
1695
+ opacity: 0;
1696
+ -webkit-transform: translate3d(2000px, 0, 0);
1697
+ transform: translate3d(2000px, 0, 0);
1698
+ }
1699
+ }
1700
+
1701
+ .fadeOutRightBig {
1702
+ -webkit-animation-name: fadeOutRightBig;
1703
+ animation-name: fadeOutRightBig;
1704
+ }
1705
+
1706
+ @-webkit-keyframes fadeOutUp {
1707
+ from {
1708
+ opacity: 1;
1709
+ }
1710
+
1711
+ to {
1712
+ opacity: 0;
1713
+ -webkit-transform: translate3d(0, -100%, 0);
1714
+ transform: translate3d(0, -100%, 0);
1715
+ }
1716
+ }
1717
+
1718
+ @keyframes fadeOutUp {
1719
+ from {
1720
+ opacity: 1;
1721
+ }
1722
+
1723
+ to {
1724
+ opacity: 0;
1725
+ -webkit-transform: translate3d(0, -100%, 0);
1726
+ transform: translate3d(0, -100%, 0);
1727
+ }
1728
+ }
1729
+
1730
+ .fadeOutUp {
1731
+ -webkit-animation-name: fadeOutUp;
1732
+ animation-name: fadeOutUp;
1733
+ }
1734
+
1735
+ @-webkit-keyframes fadeOutUpBig {
1736
+ from {
1737
+ opacity: 1;
1738
+ }
1739
+
1740
+ to {
1741
+ opacity: 0;
1742
+ -webkit-transform: translate3d(0, -2000px, 0);
1743
+ transform: translate3d(0, -2000px, 0);
1744
+ }
1745
+ }
1746
+
1747
+ @keyframes fadeOutUpBig {
1748
+ from {
1749
+ opacity: 1;
1750
+ }
1751
+
1752
+ to {
1753
+ opacity: 0;
1754
+ -webkit-transform: translate3d(0, -2000px, 0);
1755
+ transform: translate3d(0, -2000px, 0);
1756
+ }
1757
+ }
1758
+
1759
+ .fadeOutUpBig {
1760
+ -webkit-animation-name: fadeOutUpBig;
1761
+ animation-name: fadeOutUpBig;
1762
+ }
1763
+
1764
+ @-webkit-keyframes flip {
1765
+ from {
1766
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
1767
+ transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
1768
+ -webkit-animation-timing-function: ease-out;
1769
+ animation-timing-function: ease-out;
1770
+ }
1771
+
1772
+ 40% {
1773
+ -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
1774
+ transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
1775
+ -webkit-animation-timing-function: ease-out;
1776
+ animation-timing-function: ease-out;
1777
+ }
1778
+
1779
+ 50% {
1780
+ -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
1781
+ transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
1782
+ -webkit-animation-timing-function: ease-in;
1783
+ animation-timing-function: ease-in;
1784
+ }
1785
+
1786
+ 80% {
1787
+ -webkit-transform: perspective(400px) scale3d(.95, .95, .95);
1788
+ transform: perspective(400px) scale3d(.95, .95, .95);
1789
+ -webkit-animation-timing-function: ease-in;
1790
+ animation-timing-function: ease-in;
1791
+ }
1792
+
1793
+ to {
1794
+ -webkit-transform: perspective(400px);
1795
+ transform: perspective(400px);
1796
+ -webkit-animation-timing-function: ease-in;
1797
+ animation-timing-function: ease-in;
1798
+ }
1799
+ }
1800
+
1801
+ @keyframes flip {
1802
+ from {
1803
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
1804
+ transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
1805
+ -webkit-animation-timing-function: ease-out;
1806
+ animation-timing-function: ease-out;
1807
+ }
1808
+
1809
+ 40% {
1810
+ -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
1811
+ transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
1812
+ -webkit-animation-timing-function: ease-out;
1813
+ animation-timing-function: ease-out;
1814
+ }
1815
+
1816
+ 50% {
1817
+ -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
1818
+ transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
1819
+ -webkit-animation-timing-function: ease-in;
1820
+ animation-timing-function: ease-in;
1821
+ }
1822
+
1823
+ 80% {
1824
+ -webkit-transform: perspective(400px) scale3d(.95, .95, .95);
1825
+ transform: perspective(400px) scale3d(.95, .95, .95);
1826
+ -webkit-animation-timing-function: ease-in;
1827
+ animation-timing-function: ease-in;
1828
+ }
1829
+
1830
+ to {
1831
+ -webkit-transform: perspective(400px);
1832
+ transform: perspective(400px);
1833
+ -webkit-animation-timing-function: ease-in;
1834
+ animation-timing-function: ease-in;
1835
+ }
1836
+ }
1837
+
1838
+ .animated.flip {
1839
+ -webkit-backface-visibility: visible;
1840
+ backface-visibility: visible;
1841
+ -webkit-animation-name: flip;
1842
+ animation-name: flip;
1843
+ }
1844
+
1845
+ @-webkit-keyframes flipInX {
1846
+ from {
1847
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
1848
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
1849
+ -webkit-animation-timing-function: ease-in;
1850
+ animation-timing-function: ease-in;
1851
+ opacity: 0;
1852
+ }
1853
+
1854
+ 40% {
1855
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
1856
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
1857
+ -webkit-animation-timing-function: ease-in;
1858
+ animation-timing-function: ease-in;
1859
+ }
1860
+
1861
+ 60% {
1862
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
1863
+ transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
1864
+ opacity: 1;
1865
+ }
1866
+
1867
+ 80% {
1868
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
1869
+ transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
1870
+ }
1871
+
1872
+ to {
1873
+ -webkit-transform: perspective(400px);
1874
+ transform: perspective(400px);
1875
+ }
1876
+ }
1877
+
1878
+ @keyframes flipInX {
1879
+ from {
1880
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
1881
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
1882
+ -webkit-animation-timing-function: ease-in;
1883
+ animation-timing-function: ease-in;
1884
+ opacity: 0;
1885
+ }
1886
+
1887
+ 40% {
1888
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
1889
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
1890
+ -webkit-animation-timing-function: ease-in;
1891
+ animation-timing-function: ease-in;
1892
+ }
1893
+
1894
+ 60% {
1895
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
1896
+ transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
1897
+ opacity: 1;
1898
+ }
1899
+
1900
+ 80% {
1901
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
1902
+ transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
1903
+ }
1904
+
1905
+ to {
1906
+ -webkit-transform: perspective(400px);
1907
+ transform: perspective(400px);
1908
+ }
1909
+ }
1910
+
1911
+ .flipInX {
1912
+ -webkit-backface-visibility: visible !important;
1913
+ backface-visibility: visible !important;
1914
+ -webkit-animation-name: flipInX;
1915
+ animation-name: flipInX;
1916
+ }
1917
+
1918
+ @-webkit-keyframes flipInY {
1919
+ from {
1920
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
1921
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
1922
+ -webkit-animation-timing-function: ease-in;
1923
+ animation-timing-function: ease-in;
1924
+ opacity: 0;
1925
+ }
1926
+
1927
+ 40% {
1928
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
1929
+ transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
1930
+ -webkit-animation-timing-function: ease-in;
1931
+ animation-timing-function: ease-in;
1932
+ }
1933
+
1934
+ 60% {
1935
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
1936
+ transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
1937
+ opacity: 1;
1938
+ }
1939
+
1940
+ 80% {
1941
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
1942
+ transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
1943
+ }
1944
+
1945
+ to {
1946
+ -webkit-transform: perspective(400px);
1947
+ transform: perspective(400px);
1948
+ }
1949
+ }
1950
+
1951
+ @keyframes flipInY {
1952
+ from {
1953
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
1954
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
1955
+ -webkit-animation-timing-function: ease-in;
1956
+ animation-timing-function: ease-in;
1957
+ opacity: 0;
1958
+ }
1959
+
1960
+ 40% {
1961
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
1962
+ transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
1963
+ -webkit-animation-timing-function: ease-in;
1964
+ animation-timing-function: ease-in;
1965
+ }
1966
+
1967
+ 60% {
1968
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
1969
+ transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
1970
+ opacity: 1;
1971
+ }
1972
+
1973
+ 80% {
1974
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
1975
+ transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
1976
+ }
1977
+
1978
+ to {
1979
+ -webkit-transform: perspective(400px);
1980
+ transform: perspective(400px);
1981
+ }
1982
+ }
1983
+
1984
+ .flipInY {
1985
+ -webkit-backface-visibility: visible !important;
1986
+ backface-visibility: visible !important;
1987
+ -webkit-animation-name: flipInY;
1988
+ animation-name: flipInY;
1989
+ }
1990
+
1991
+ @-webkit-keyframes flipOutX {
1992
+ from {
1993
+ -webkit-transform: perspective(400px);
1994
+ transform: perspective(400px);
1995
+ }
1996
+
1997
+ 30% {
1998
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
1999
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
2000
+ opacity: 1;
2001
+ }
2002
+
2003
+ to {
2004
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
2005
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
2006
+ opacity: 0;
2007
+ }
2008
+ }
2009
+
2010
+ @keyframes flipOutX {
2011
+ from {
2012
+ -webkit-transform: perspective(400px);
2013
+ transform: perspective(400px);
2014
+ }
2015
+
2016
+ 30% {
2017
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
2018
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
2019
+ opacity: 1;
2020
+ }
2021
+
2022
+ to {
2023
+ -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
2024
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
2025
+ opacity: 0;
2026
+ }
2027
+ }
2028
+
2029
+ .flipOutX {
2030
+ -webkit-animation-name: flipOutX;
2031
+ animation-name: flipOutX;
2032
+ -webkit-backface-visibility: visible !important;
2033
+ backface-visibility: visible !important;
2034
+ }
2035
+
2036
+ @-webkit-keyframes flipOutY {
2037
+ from {
2038
+ -webkit-transform: perspective(400px);
2039
+ transform: perspective(400px);
2040
+ }
2041
+
2042
+ 30% {
2043
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
2044
+ transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
2045
+ opacity: 1;
2046
+ }
2047
+
2048
+ to {
2049
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
2050
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
2051
+ opacity: 0;
2052
+ }
2053
+ }
2054
+
2055
+ @keyframes flipOutY {
2056
+ from {
2057
+ -webkit-transform: perspective(400px);
2058
+ transform: perspective(400px);
2059
+ }
2060
+
2061
+ 30% {
2062
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
2063
+ transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
2064
+ opacity: 1;
2065
+ }
2066
+
2067
+ to {
2068
+ -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
2069
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
2070
+ opacity: 0;
2071
+ }
2072
+ }
2073
+
2074
+ .flipOutY {
2075
+ -webkit-backface-visibility: visible !important;
2076
+ backface-visibility: visible !important;
2077
+ -webkit-animation-name: flipOutY;
2078
+ animation-name: flipOutY;
2079
+ }
2080
+
2081
+ @-webkit-keyframes lightSpeedIn {
2082
+ from {
2083
+ -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
2084
+ transform: translate3d(100%, 0, 0) skewX(-30deg);
2085
+ opacity: 0;
2086
+ }
2087
+
2088
+ 60% {
2089
+ -webkit-transform: skewX(20deg);
2090
+ transform: skewX(20deg);
2091
+ opacity: 1;
2092
+ }
2093
+
2094
+ 80% {
2095
+ -webkit-transform: skewX(-5deg);
2096
+ transform: skewX(-5deg);
2097
+ opacity: 1;
2098
+ }
2099
+
2100
+ to {
2101
+ -webkit-transform: none;
2102
+ transform: none;
2103
+ opacity: 1;
2104
+ }
2105
+ }
2106
+
2107
+ @keyframes lightSpeedIn {
2108
+ from {
2109
+ -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
2110
+ transform: translate3d(100%, 0, 0) skewX(-30deg);
2111
+ opacity: 0;
2112
+ }
2113
+
2114
+ 60% {
2115
+ -webkit-transform: skewX(20deg);
2116
+ transform: skewX(20deg);
2117
+ opacity: 1;
2118
+ }
2119
+
2120
+ 80% {
2121
+ -webkit-transform: skewX(-5deg);
2122
+ transform: skewX(-5deg);
2123
+ opacity: 1;
2124
+ }
2125
+
2126
+ to {
2127
+ -webkit-transform: none;
2128
+ transform: none;
2129
+ opacity: 1;
2130
+ }
2131
+ }
2132
+
2133
+ .lightSpeedIn {
2134
+ -webkit-animation-name: lightSpeedIn;
2135
+ animation-name: lightSpeedIn;
2136
+ -webkit-animation-timing-function: ease-out;
2137
+ animation-timing-function: ease-out;
2138
+ }
2139
+
2140
+ @-webkit-keyframes lightSpeedOut {
2141
+ from {
2142
+ opacity: 1;
2143
+ }
2144
+
2145
+ to {
2146
+ -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
2147
+ transform: translate3d(100%, 0, 0) skewX(30deg);
2148
+ opacity: 0;
2149
+ }
2150
+ }
2151
+
2152
+ @keyframes lightSpeedOut {
2153
+ from {
2154
+ opacity: 1;
2155
+ }
2156
+
2157
+ to {
2158
+ -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
2159
+ transform: translate3d(100%, 0, 0) skewX(30deg);
2160
+ opacity: 0;
2161
+ }
2162
+ }
2163
+
2164
+ .lightSpeedOut {
2165
+ -webkit-animation-name: lightSpeedOut;
2166
+ animation-name: lightSpeedOut;
2167
+ -webkit-animation-timing-function: ease-in;
2168
+ animation-timing-function: ease-in;
2169
+ }
2170
+
2171
+ @-webkit-keyframes rotateIn {
2172
+ from {
2173
+ -webkit-transform-origin: center;
2174
+ transform-origin: center;
2175
+ -webkit-transform: rotate3d(0, 0, 1, -200deg);
2176
+ transform: rotate3d(0, 0, 1, -200deg);
2177
+ opacity: 0;
2178
+ }
2179
+
2180
+ to {
2181
+ -webkit-transform-origin: center;
2182
+ transform-origin: center;
2183
+ -webkit-transform: none;
2184
+ transform: none;
2185
+ opacity: 1;
2186
+ }
2187
+ }
2188
+
2189
+ @keyframes rotateIn {
2190
+ from {
2191
+ -webkit-transform-origin: center;
2192
+ transform-origin: center;
2193
+ -webkit-transform: rotate3d(0, 0, 1, -200deg);
2194
+ transform: rotate3d(0, 0, 1, -200deg);
2195
+ opacity: 0;
2196
+ }
2197
+
2198
+ to {
2199
+ -webkit-transform-origin: center;
2200
+ transform-origin: center;
2201
+ -webkit-transform: none;
2202
+ transform: none;
2203
+ opacity: 1;
2204
+ }
2205
+ }
2206
+
2207
+ .rotateIn {
2208
+ -webkit-animation-name: rotateIn;
2209
+ animation-name: rotateIn;
2210
+ }
2211
+
2212
+ @-webkit-keyframes rotateInDownLeft {
2213
+ from {
2214
+ -webkit-transform-origin: left bottom;
2215
+ transform-origin: left bottom;
2216
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
2217
+ transform: rotate3d(0, 0, 1, -45deg);
2218
+ opacity: 0;
2219
+ }
2220
+
2221
+ to {
2222
+ -webkit-transform-origin: left bottom;
2223
+ transform-origin: left bottom;
2224
+ -webkit-transform: none;
2225
+ transform: none;
2226
+ opacity: 1;
2227
+ }
2228
+ }
2229
+
2230
+ @keyframes rotateInDownLeft {
2231
+ from {
2232
+ -webkit-transform-origin: left bottom;
2233
+ transform-origin: left bottom;
2234
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
2235
+ transform: rotate3d(0, 0, 1, -45deg);
2236
+ opacity: 0;
2237
+ }
2238
+
2239
+ to {
2240
+ -webkit-transform-origin: left bottom;
2241
+ transform-origin: left bottom;
2242
+ -webkit-transform: none;
2243
+ transform: none;
2244
+ opacity: 1;
2245
+ }
2246
+ }
2247
+
2248
+ .rotateInDownLeft {
2249
+ -webkit-animation-name: rotateInDownLeft;
2250
+ animation-name: rotateInDownLeft;
2251
+ }
2252
+
2253
+ @-webkit-keyframes rotateInDownRight {
2254
+ from {
2255
+ -webkit-transform-origin: right bottom;
2256
+ transform-origin: right bottom;
2257
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
2258
+ transform: rotate3d(0, 0, 1, 45deg);
2259
+ opacity: 0;
2260
+ }
2261
+
2262
+ to {
2263
+ -webkit-transform-origin: right bottom;
2264
+ transform-origin: right bottom;
2265
+ -webkit-transform: none;
2266
+ transform: none;
2267
+ opacity: 1;
2268
+ }
2269
+ }
2270
+
2271
+ @keyframes rotateInDownRight {
2272
+ from {
2273
+ -webkit-transform-origin: right bottom;
2274
+ transform-origin: right bottom;
2275
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
2276
+ transform: rotate3d(0, 0, 1, 45deg);
2277
+ opacity: 0;
2278
+ }
2279
+
2280
+ to {
2281
+ -webkit-transform-origin: right bottom;
2282
+ transform-origin: right bottom;
2283
+ -webkit-transform: none;
2284
+ transform: none;
2285
+ opacity: 1;
2286
+ }
2287
+ }
2288
+
2289
+ .rotateInDownRight {
2290
+ -webkit-animation-name: rotateInDownRight;
2291
+ animation-name: rotateInDownRight;
2292
+ }
2293
+
2294
+ @-webkit-keyframes rotateInUpLeft {
2295
+ from {
2296
+ -webkit-transform-origin: left bottom;
2297
+ transform-origin: left bottom;
2298
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
2299
+ transform: rotate3d(0, 0, 1, 45deg);
2300
+ opacity: 0;
2301
+ }
2302
+
2303
+ to {
2304
+ -webkit-transform-origin: left bottom;
2305
+ transform-origin: left bottom;
2306
+ -webkit-transform: none;
2307
+ transform: none;
2308
+ opacity: 1;
2309
+ }
2310
+ }
2311
+
2312
+ @keyframes rotateInUpLeft {
2313
+ from {
2314
+ -webkit-transform-origin: left bottom;
2315
+ transform-origin: left bottom;
2316
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
2317
+ transform: rotate3d(0, 0, 1, 45deg);
2318
+ opacity: 0;
2319
+ }
2320
+
2321
+ to {
2322
+ -webkit-transform-origin: left bottom;
2323
+ transform-origin: left bottom;
2324
+ -webkit-transform: none;
2325
+ transform: none;
2326
+ opacity: 1;
2327
+ }
2328
+ }
2329
+
2330
+ .rotateInUpLeft {
2331
+ -webkit-animation-name: rotateInUpLeft;
2332
+ animation-name: rotateInUpLeft;
2333
+ }
2334
+
2335
+ @-webkit-keyframes rotateInUpRight {
2336
+ from {
2337
+ -webkit-transform-origin: right bottom;
2338
+ transform-origin: right bottom;
2339
+ -webkit-transform: rotate3d(0, 0, 1, -90deg);
2340
+ transform: rotate3d(0, 0, 1, -90deg);
2341
+ opacity: 0;
2342
+ }
2343
+
2344
+ to {
2345
+ -webkit-transform-origin: right bottom;
2346
+ transform-origin: right bottom;
2347
+ -webkit-transform: none;
2348
+ transform: none;
2349
+ opacity: 1;
2350
+ }
2351
+ }
2352
+
2353
+ @keyframes rotateInUpRight {
2354
+ from {
2355
+ -webkit-transform-origin: right bottom;
2356
+ transform-origin: right bottom;
2357
+ -webkit-transform: rotate3d(0, 0, 1, -90deg);
2358
+ transform: rotate3d(0, 0, 1, -90deg);
2359
+ opacity: 0;
2360
+ }
2361
+
2362
+ to {
2363
+ -webkit-transform-origin: right bottom;
2364
+ transform-origin: right bottom;
2365
+ -webkit-transform: none;
2366
+ transform: none;
2367
+ opacity: 1;
2368
+ }
2369
+ }
2370
+
2371
+ .rotateInUpRight {
2372
+ -webkit-animation-name: rotateInUpRight;
2373
+ animation-name: rotateInUpRight;
2374
+ }
2375
+
2376
+ @-webkit-keyframes rotateOut {
2377
+ from {
2378
+ -webkit-transform-origin: center;
2379
+ transform-origin: center;
2380
+ opacity: 1;
2381
+ }
2382
+
2383
+ to {
2384
+ -webkit-transform-origin: center;
2385
+ transform-origin: center;
2386
+ -webkit-transform: rotate3d(0, 0, 1, 200deg);
2387
+ transform: rotate3d(0, 0, 1, 200deg);
2388
+ opacity: 0;
2389
+ }
2390
+ }
2391
+
2392
+ @keyframes rotateOut {
2393
+ from {
2394
+ -webkit-transform-origin: center;
2395
+ transform-origin: center;
2396
+ opacity: 1;
2397
+ }
2398
+
2399
+ to {
2400
+ -webkit-transform-origin: center;
2401
+ transform-origin: center;
2402
+ -webkit-transform: rotate3d(0, 0, 1, 200deg);
2403
+ transform: rotate3d(0, 0, 1, 200deg);
2404
+ opacity: 0;
2405
+ }
2406
+ }
2407
+
2408
+ .rotateOut {
2409
+ -webkit-animation-name: rotateOut;
2410
+ animation-name: rotateOut;
2411
+ }
2412
+
2413
+ @-webkit-keyframes rotateOutDownLeft {
2414
+ from {
2415
+ -webkit-transform-origin: left bottom;
2416
+ transform-origin: left bottom;
2417
+ opacity: 1;
2418
+ }
2419
+
2420
+ to {
2421
+ -webkit-transform-origin: left bottom;
2422
+ transform-origin: left bottom;
2423
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
2424
+ transform: rotate3d(0, 0, 1, 45deg);
2425
+ opacity: 0;
2426
+ }
2427
+ }
2428
+
2429
+ @keyframes rotateOutDownLeft {
2430
+ from {
2431
+ -webkit-transform-origin: left bottom;
2432
+ transform-origin: left bottom;
2433
+ opacity: 1;
2434
+ }
2435
+
2436
+ to {
2437
+ -webkit-transform-origin: left bottom;
2438
+ transform-origin: left bottom;
2439
+ -webkit-transform: rotate3d(0, 0, 1, 45deg);
2440
+ transform: rotate3d(0, 0, 1, 45deg);
2441
+ opacity: 0;
2442
+ }
2443
+ }
2444
+
2445
+ .rotateOutDownLeft {
2446
+ -webkit-animation-name: rotateOutDownLeft;
2447
+ animation-name: rotateOutDownLeft;
2448
+ }
2449
+
2450
+ @-webkit-keyframes rotateOutDownRight {
2451
+ from {
2452
+ -webkit-transform-origin: right bottom;
2453
+ transform-origin: right bottom;
2454
+ opacity: 1;
2455
+ }
2456
+
2457
+ to {
2458
+ -webkit-transform-origin: right bottom;
2459
+ transform-origin: right bottom;
2460
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
2461
+ transform: rotate3d(0, 0, 1, -45deg);
2462
+ opacity: 0;
2463
+ }
2464
+ }
2465
+
2466
+ @keyframes rotateOutDownRight {
2467
+ from {
2468
+ -webkit-transform-origin: right bottom;
2469
+ transform-origin: right bottom;
2470
+ opacity: 1;
2471
+ }
2472
+
2473
+ to {
2474
+ -webkit-transform-origin: right bottom;
2475
+ transform-origin: right bottom;
2476
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
2477
+ transform: rotate3d(0, 0, 1, -45deg);
2478
+ opacity: 0;
2479
+ }
2480
+ }
2481
+
2482
+ .rotateOutDownRight {
2483
+ -webkit-animation-name: rotateOutDownRight;
2484
+ animation-name: rotateOutDownRight;
2485
+ }
2486
+
2487
+ @-webkit-keyframes rotateOutUpLeft {
2488
+ from {
2489
+ -webkit-transform-origin: left bottom;
2490
+ transform-origin: left bottom;
2491
+ opacity: 1;
2492
+ }
2493
+
2494
+ to {
2495
+ -webkit-transform-origin: left bottom;
2496
+ transform-origin: left bottom;
2497
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
2498
+ transform: rotate3d(0, 0, 1, -45deg);
2499
+ opacity: 0;
2500
+ }
2501
+ }
2502
+
2503
+ @keyframes rotateOutUpLeft {
2504
+ from {
2505
+ -webkit-transform-origin: left bottom;
2506
+ transform-origin: left bottom;
2507
+ opacity: 1;
2508
+ }
2509
+
2510
+ to {
2511
+ -webkit-transform-origin: left bottom;
2512
+ transform-origin: left bottom;
2513
+ -webkit-transform: rotate3d(0, 0, 1, -45deg);
2514
+ transform: rotate3d(0, 0, 1, -45deg);
2515
+ opacity: 0;
2516
+ }
2517
+ }
2518
+
2519
+ .rotateOutUpLeft {
2520
+ -webkit-animation-name: rotateOutUpLeft;
2521
+ animation-name: rotateOutUpLeft;
2522
+ }
2523
+
2524
+ @-webkit-keyframes rotateOutUpRight {
2525
+ from {
2526
+ -webkit-transform-origin: right bottom;
2527
+ transform-origin: right bottom;
2528
+ opacity: 1;
2529
+ }
2530
+
2531
+ to {
2532
+ -webkit-transform-origin: right bottom;
2533
+ transform-origin: right bottom;
2534
+ -webkit-transform: rotate3d(0, 0, 1, 90deg);
2535
+ transform: rotate3d(0, 0, 1, 90deg);
2536
+ opacity: 0;
2537
+ }
2538
+ }
2539
+
2540
+ @keyframes rotateOutUpRight {
2541
+ from {
2542
+ -webkit-transform-origin: right bottom;
2543
+ transform-origin: right bottom;
2544
+ opacity: 1;
2545
+ }
2546
+
2547
+ to {
2548
+ -webkit-transform-origin: right bottom;
2549
+ transform-origin: right bottom;
2550
+ -webkit-transform: rotate3d(0, 0, 1, 90deg);
2551
+ transform: rotate3d(0, 0, 1, 90deg);
2552
+ opacity: 0;
2553
+ }
2554
+ }
2555
+
2556
+ .rotateOutUpRight {
2557
+ -webkit-animation-name: rotateOutUpRight;
2558
+ animation-name: rotateOutUpRight;
2559
+ }
2560
+
2561
+ @-webkit-keyframes hinge {
2562
+ 0% {
2563
+ -webkit-transform-origin: top left;
2564
+ transform-origin: top left;
2565
+ -webkit-animation-timing-function: ease-in-out;
2566
+ animation-timing-function: ease-in-out;
2567
+ }
2568
+
2569
+ 20%, 60% {
2570
+ -webkit-transform: rotate3d(0, 0, 1, 80deg);
2571
+ transform: rotate3d(0, 0, 1, 80deg);
2572
+ -webkit-transform-origin: top left;
2573
+ transform-origin: top left;
2574
+ -webkit-animation-timing-function: ease-in-out;
2575
+ animation-timing-function: ease-in-out;
2576
+ }
2577
+
2578
+ 40%, 80% {
2579
+ -webkit-transform: rotate3d(0, 0, 1, 60deg);
2580
+ transform: rotate3d(0, 0, 1, 60deg);
2581
+ -webkit-transform-origin: top left;
2582
+ transform-origin: top left;
2583
+ -webkit-animation-timing-function: ease-in-out;
2584
+ animation-timing-function: ease-in-out;
2585
+ opacity: 1;
2586
+ }
2587
+
2588
+ to {
2589
+ -webkit-transform: translate3d(0, 700px, 0);
2590
+ transform: translate3d(0, 700px, 0);
2591
+ opacity: 0;
2592
+ }
2593
+ }
2594
+
2595
+ @keyframes hinge {
2596
+ 0% {
2597
+ -webkit-transform-origin: top left;
2598
+ transform-origin: top left;
2599
+ -webkit-animation-timing-function: ease-in-out;
2600
+ animation-timing-function: ease-in-out;
2601
+ }
2602
+
2603
+ 20%, 60% {
2604
+ -webkit-transform: rotate3d(0, 0, 1, 80deg);
2605
+ transform: rotate3d(0, 0, 1, 80deg);
2606
+ -webkit-transform-origin: top left;
2607
+ transform-origin: top left;
2608
+ -webkit-animation-timing-function: ease-in-out;
2609
+ animation-timing-function: ease-in-out;
2610
+ }
2611
+
2612
+ 40%, 80% {
2613
+ -webkit-transform: rotate3d(0, 0, 1, 60deg);
2614
+ transform: rotate3d(0, 0, 1, 60deg);
2615
+ -webkit-transform-origin: top left;
2616
+ transform-origin: top left;
2617
+ -webkit-animation-timing-function: ease-in-out;
2618
+ animation-timing-function: ease-in-out;
2619
+ opacity: 1;
2620
+ }
2621
+
2622
+ to {
2623
+ -webkit-transform: translate3d(0, 700px, 0);
2624
+ transform: translate3d(0, 700px, 0);
2625
+ opacity: 0;
2626
+ }
2627
+ }
2628
+
2629
+ .hinge {
2630
+ -webkit-animation-name: hinge;
2631
+ animation-name: hinge;
2632
+ }
2633
+
2634
+ /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
2635
+
2636
+ @-webkit-keyframes rollIn {
2637
+ from {
2638
+ opacity: 0;
2639
+ -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
2640
+ transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
2641
+ }
2642
+
2643
+ to {
2644
+ opacity: 1;
2645
+ -webkit-transform: none;
2646
+ transform: none;
2647
+ }
2648
+ }
2649
+
2650
+ @keyframes rollIn {
2651
+ from {
2652
+ opacity: 0;
2653
+ -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
2654
+ transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
2655
+ }
2656
+
2657
+ to {
2658
+ opacity: 1;
2659
+ -webkit-transform: none;
2660
+ transform: none;
2661
+ }
2662
+ }
2663
+
2664
+ .rollIn {
2665
+ -webkit-animation-name: rollIn;
2666
+ animation-name: rollIn;
2667
+ }
2668
+
2669
+ /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
2670
+
2671
+ @-webkit-keyframes rollOut {
2672
+ from {
2673
+ opacity: 1;
2674
+ }
2675
+
2676
+ to {
2677
+ opacity: 0;
2678
+ -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
2679
+ transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
2680
+ }
2681
+ }
2682
+
2683
+ @keyframes rollOut {
2684
+ from {
2685
+ opacity: 1;
2686
+ }
2687
+
2688
+ to {
2689
+ opacity: 0;
2690
+ -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
2691
+ transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
2692
+ }
2693
+ }
2694
+
2695
+ .rollOut {
2696
+ -webkit-animation-name: rollOut;
2697
+ animation-name: rollOut;
2698
+ }
2699
+
2700
+ @-webkit-keyframes zoomIn {
2701
+ from {
2702
+ opacity: 0;
2703
+ -webkit-transform: scale3d(.3, .3, .3);
2704
+ transform: scale3d(.3, .3, .3);
2705
+ }
2706
+
2707
+ 50% {
2708
+ opacity: 1;
2709
+ }
2710
+ }
2711
+
2712
+ @keyframes zoomIn {
2713
+ from {
2714
+ opacity: 0;
2715
+ -webkit-transform: scale3d(.3, .3, .3);
2716
+ transform: scale3d(.3, .3, .3);
2717
+ }
2718
+
2719
+ 50% {
2720
+ opacity: 1;
2721
+ }
2722
+ }
2723
+
2724
+ .zoomIn {
2725
+ -webkit-animation-name: zoomIn;
2726
+ animation-name: zoomIn;
2727
+ }
2728
+
2729
+ @-webkit-keyframes zoomInDown {
2730
+ from {
2731
+ opacity: 0;
2732
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
2733
+ transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
2734
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2735
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2736
+ }
2737
+
2738
+ 60% {
2739
+ opacity: 1;
2740
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
2741
+ transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
2742
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2743
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2744
+ }
2745
+ }
2746
+
2747
+ @keyframes zoomInDown {
2748
+ from {
2749
+ opacity: 0;
2750
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
2751
+ transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
2752
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2753
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2754
+ }
2755
+
2756
+ 60% {
2757
+ opacity: 1;
2758
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
2759
+ transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
2760
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2761
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2762
+ }
2763
+ }
2764
+
2765
+ .zoomInDown {
2766
+ -webkit-animation-name: zoomInDown;
2767
+ animation-name: zoomInDown;
2768
+ }
2769
+
2770
+ @-webkit-keyframes zoomInLeft {
2771
+ from {
2772
+ opacity: 0;
2773
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
2774
+ transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
2775
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2776
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2777
+ }
2778
+
2779
+ 60% {
2780
+ opacity: 1;
2781
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
2782
+ transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
2783
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2784
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2785
+ }
2786
+ }
2787
+
2788
+ @keyframes zoomInLeft {
2789
+ from {
2790
+ opacity: 0;
2791
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
2792
+ transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
2793
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2794
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2795
+ }
2796
+
2797
+ 60% {
2798
+ opacity: 1;
2799
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
2800
+ transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
2801
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2802
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2803
+ }
2804
+ }
2805
+
2806
+ .zoomInLeft {
2807
+ -webkit-animation-name: zoomInLeft;
2808
+ animation-name: zoomInLeft;
2809
+ }
2810
+
2811
+ @-webkit-keyframes zoomInRight {
2812
+ from {
2813
+ opacity: 0;
2814
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
2815
+ transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
2816
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2817
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2818
+ }
2819
+
2820
+ 60% {
2821
+ opacity: 1;
2822
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
2823
+ transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
2824
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2825
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2826
+ }
2827
+ }
2828
+
2829
+ @keyframes zoomInRight {
2830
+ from {
2831
+ opacity: 0;
2832
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
2833
+ transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
2834
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2835
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2836
+ }
2837
+
2838
+ 60% {
2839
+ opacity: 1;
2840
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
2841
+ transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
2842
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2843
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2844
+ }
2845
+ }
2846
+
2847
+ .zoomInRight {
2848
+ -webkit-animation-name: zoomInRight;
2849
+ animation-name: zoomInRight;
2850
+ }
2851
+
2852
+ @-webkit-keyframes zoomInUp {
2853
+ from {
2854
+ opacity: 0;
2855
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
2856
+ transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
2857
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2858
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2859
+ }
2860
+
2861
+ 60% {
2862
+ opacity: 1;
2863
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
2864
+ transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
2865
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2866
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2867
+ }
2868
+ }
2869
+
2870
+ @keyframes zoomInUp {
2871
+ from {
2872
+ opacity: 0;
2873
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
2874
+ transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
2875
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2876
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2877
+ }
2878
+
2879
+ 60% {
2880
+ opacity: 1;
2881
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
2882
+ transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
2883
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2884
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2885
+ }
2886
+ }
2887
+
2888
+ .zoomInUp {
2889
+ -webkit-animation-name: zoomInUp;
2890
+ animation-name: zoomInUp;
2891
+ }
2892
+
2893
+ @-webkit-keyframes zoomOut {
2894
+ from {
2895
+ opacity: 1;
2896
+ }
2897
+
2898
+ 50% {
2899
+ opacity: 0;
2900
+ -webkit-transform: scale3d(.3, .3, .3);
2901
+ transform: scale3d(.3, .3, .3);
2902
+ }
2903
+
2904
+ to {
2905
+ opacity: 0;
2906
+ }
2907
+ }
2908
+
2909
+ @keyframes zoomOut {
2910
+ from {
2911
+ opacity: 1;
2912
+ }
2913
+
2914
+ 50% {
2915
+ opacity: 0;
2916
+ -webkit-transform: scale3d(.3, .3, .3);
2917
+ transform: scale3d(.3, .3, .3);
2918
+ }
2919
+
2920
+ to {
2921
+ opacity: 0;
2922
+ }
2923
+ }
2924
+
2925
+ .zoomOut {
2926
+ -webkit-animation-name: zoomOut;
2927
+ animation-name: zoomOut;
2928
+ }
2929
+
2930
+ @-webkit-keyframes zoomOutDown {
2931
+ 40% {
2932
+ opacity: 1;
2933
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
2934
+ transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
2935
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2936
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2937
+ }
2938
+
2939
+ to {
2940
+ opacity: 0;
2941
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
2942
+ transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
2943
+ -webkit-transform-origin: center bottom;
2944
+ transform-origin: center bottom;
2945
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2946
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2947
+ }
2948
+ }
2949
+
2950
+ @keyframes zoomOutDown {
2951
+ 40% {
2952
+ opacity: 1;
2953
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
2954
+ transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
2955
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2956
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
2957
+ }
2958
+
2959
+ to {
2960
+ opacity: 0;
2961
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
2962
+ transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
2963
+ -webkit-transform-origin: center bottom;
2964
+ transform-origin: center bottom;
2965
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2966
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
2967
+ }
2968
+ }
2969
+
2970
+ .zoomOutDown {
2971
+ -webkit-animation-name: zoomOutDown;
2972
+ animation-name: zoomOutDown;
2973
+ }
2974
+
2975
+ @-webkit-keyframes zoomOutLeft {
2976
+ 40% {
2977
+ opacity: 1;
2978
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
2979
+ transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
2980
+ }
2981
+
2982
+ to {
2983
+ opacity: 0;
2984
+ -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
2985
+ transform: scale(.1) translate3d(-2000px, 0, 0);
2986
+ -webkit-transform-origin: left center;
2987
+ transform-origin: left center;
2988
+ }
2989
+ }
2990
+
2991
+ @keyframes zoomOutLeft {
2992
+ 40% {
2993
+ opacity: 1;
2994
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
2995
+ transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
2996
+ }
2997
+
2998
+ to {
2999
+ opacity: 0;
3000
+ -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
3001
+ transform: scale(.1) translate3d(-2000px, 0, 0);
3002
+ -webkit-transform-origin: left center;
3003
+ transform-origin: left center;
3004
+ }
3005
+ }
3006
+
3007
+ .zoomOutLeft {
3008
+ -webkit-animation-name: zoomOutLeft;
3009
+ animation-name: zoomOutLeft;
3010
+ }
3011
+
3012
+ @-webkit-keyframes zoomOutRight {
3013
+ 40% {
3014
+ opacity: 1;
3015
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
3016
+ transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
3017
+ }
3018
+
3019
+ to {
3020
+ opacity: 0;
3021
+ -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
3022
+ transform: scale(.1) translate3d(2000px, 0, 0);
3023
+ -webkit-transform-origin: right center;
3024
+ transform-origin: right center;
3025
+ }
3026
+ }
3027
+
3028
+ @keyframes zoomOutRight {
3029
+ 40% {
3030
+ opacity: 1;
3031
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
3032
+ transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
3033
+ }
3034
+
3035
+ to {
3036
+ opacity: 0;
3037
+ -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
3038
+ transform: scale(.1) translate3d(2000px, 0, 0);
3039
+ -webkit-transform-origin: right center;
3040
+ transform-origin: right center;
3041
+ }
3042
+ }
3043
+
3044
+ .zoomOutRight {
3045
+ -webkit-animation-name: zoomOutRight;
3046
+ animation-name: zoomOutRight;
3047
+ }
3048
+
3049
+ @-webkit-keyframes zoomOutUp {
3050
+ 40% {
3051
+ opacity: 1;
3052
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
3053
+ transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
3054
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3055
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3056
+ }
3057
+
3058
+ to {
3059
+ opacity: 0;
3060
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
3061
+ transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
3062
+ -webkit-transform-origin: center bottom;
3063
+ transform-origin: center bottom;
3064
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3065
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3066
+ }
3067
+ }
3068
+
3069
+ @keyframes zoomOutUp {
3070
+ 40% {
3071
+ opacity: 1;
3072
+ -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
3073
+ transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
3074
+ -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3075
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
3076
+ }
3077
+
3078
+ to {
3079
+ opacity: 0;
3080
+ -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
3081
+ transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
3082
+ -webkit-transform-origin: center bottom;
3083
+ transform-origin: center bottom;
3084
+ -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3085
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
3086
+ }
3087
+ }
3088
+
3089
+ .zoomOutUp {
3090
+ -webkit-animation-name: zoomOutUp;
3091
+ animation-name: zoomOutUp;
3092
+ }
3093
+
3094
+ @-webkit-keyframes slideInDown {
3095
+ from {
3096
+ -webkit-transform: translate3d(0, -100%, 0);
3097
+ transform: translate3d(0, -100%, 0);
3098
+ visibility: visible;
3099
+ }
3100
+
3101
+ to {
3102
+ -webkit-transform: translate3d(0, 0, 0);
3103
+ transform: translate3d(0, 0, 0);
3104
+ }
3105
+ }
3106
+
3107
+ @keyframes slideInDown {
3108
+ from {
3109
+ -webkit-transform: translate3d(0, -100%, 0);
3110
+ transform: translate3d(0, -100%, 0);
3111
+ visibility: visible;
3112
+ }
3113
+
3114
+ to {
3115
+ -webkit-transform: translate3d(0, 0, 0);
3116
+ transform: translate3d(0, 0, 0);
3117
+ }
3118
+ }
3119
+
3120
+ .slideInDown {
3121
+ -webkit-animation-name: slideInDown;
3122
+ animation-name: slideInDown;
3123
+ }
3124
+
3125
+ @-webkit-keyframes slideInLeft {
3126
+ from {
3127
+ -webkit-transform: translate3d(-100%, 0, 0);
3128
+ transform: translate3d(-100%, 0, 0);
3129
+ visibility: visible;
3130
+ }
3131
+
3132
+ to {
3133
+ -webkit-transform: translate3d(0, 0, 0);
3134
+ transform: translate3d(0, 0, 0);
3135
+ }
3136
+ }
3137
+
3138
+ @keyframes slideInLeft {
3139
+ from {
3140
+ -webkit-transform: translate3d(-100%, 0, 0);
3141
+ transform: translate3d(-100%, 0, 0);
3142
+ visibility: visible;
3143
+ }
3144
+
3145
+ to {
3146
+ -webkit-transform: translate3d(0, 0, 0);
3147
+ transform: translate3d(0, 0, 0);
3148
+ }
3149
+ }
3150
+
3151
+ .slideInLeft {
3152
+ -webkit-animation-name: slideInLeft;
3153
+ animation-name: slideInLeft;
3154
+ }
3155
+
3156
+ @-webkit-keyframes slideInRight {
3157
+ from {
3158
+ -webkit-transform: translate3d(100%, 0, 0);
3159
+ transform: translate3d(100%, 0, 0);
3160
+ visibility: visible;
3161
+ }
3162
+
3163
+ to {
3164
+ -webkit-transform: translate3d(0, 0, 0);
3165
+ transform: translate3d(0, 0, 0);
3166
+ }
3167
+ }
3168
+
3169
+ @keyframes slideInRight {
3170
+ from {
3171
+ -webkit-transform: translate3d(100%, 0, 0);
3172
+ transform: translate3d(100%, 0, 0);
3173
+ visibility: visible;
3174
+ }
3175
+
3176
+ to {
3177
+ -webkit-transform: translate3d(0, 0, 0);
3178
+ transform: translate3d(0, 0, 0);
3179
+ }
3180
+ }
3181
+
3182
+ .slideInRight {
3183
+ -webkit-animation-name: slideInRight;
3184
+ animation-name: slideInRight;
3185
+ }
3186
+
3187
+ @-webkit-keyframes slideInUp {
3188
+ from {
3189
+ -webkit-transform: translate3d(0, 100%, 0);
3190
+ transform: translate3d(0, 100%, 0);
3191
+ visibility: visible;
3192
+ }
3193
+
3194
+ to {
3195
+ -webkit-transform: translate3d(0, 0, 0);
3196
+ transform: translate3d(0, 0, 0);
3197
+ }
3198
+ }
3199
+
3200
+ @keyframes slideInUp {
3201
+ from {
3202
+ -webkit-transform: translate3d(0, 100%, 0);
3203
+ transform: translate3d(0, 100%, 0);
3204
+ visibility: visible;
3205
+ }
3206
+
3207
+ to {
3208
+ -webkit-transform: translate3d(0, 0, 0);
3209
+ transform: translate3d(0, 0, 0);
3210
+ }
3211
+ }
3212
+
3213
+ .slideInUp {
3214
+ -webkit-animation-name: slideInUp;
3215
+ animation-name: slideInUp;
3216
+ }
3217
+
3218
+ @-webkit-keyframes slideOutDown {
3219
+ from {
3220
+ -webkit-transform: translate3d(0, 0, 0);
3221
+ transform: translate3d(0, 0, 0);
3222
+ }
3223
+
3224
+ to {
3225
+ visibility: hidden;
3226
+ -webkit-transform: translate3d(0, 100%, 0);
3227
+ transform: translate3d(0, 100%, 0);
3228
+ }
3229
+ }
3230
+
3231
+ @keyframes slideOutDown {
3232
+ from {
3233
+ -webkit-transform: translate3d(0, 0, 0);
3234
+ transform: translate3d(0, 0, 0);
3235
+ }
3236
+
3237
+ to {
3238
+ visibility: hidden;
3239
+ -webkit-transform: translate3d(0, 100%, 0);
3240
+ transform: translate3d(0, 100%, 0);
3241
+ }
3242
+ }
3243
+
3244
+ .slideOutDown {
3245
+ -webkit-animation-name: slideOutDown;
3246
+ animation-name: slideOutDown;
3247
+ }
3248
+
3249
+ @-webkit-keyframes slideOutLeft {
3250
+ from {
3251
+ -webkit-transform: translate3d(0, 0, 0);
3252
+ transform: translate3d(0, 0, 0);
3253
+ }
3254
+
3255
+ to {
3256
+ visibility: hidden;
3257
+ -webkit-transform: translate3d(-100%, 0, 0);
3258
+ transform: translate3d(-100%, 0, 0);
3259
+ }
3260
+ }
3261
+
3262
+ @keyframes slideOutLeft {
3263
+ from {
3264
+ -webkit-transform: translate3d(0, 0, 0);
3265
+ transform: translate3d(0, 0, 0);
3266
+ }
3267
+
3268
+ to {
3269
+ visibility: hidden;
3270
+ -webkit-transform: translate3d(-100%, 0, 0);
3271
+ transform: translate3d(-100%, 0, 0);
3272
+ }
3273
+ }
3274
+
3275
+ .slideOutLeft {
3276
+ -webkit-animation-name: slideOutLeft;
3277
+ animation-name: slideOutLeft;
3278
+ }
3279
+
3280
+ @-webkit-keyframes slideOutRight {
3281
+ from {
3282
+ -webkit-transform: translate3d(0, 0, 0);
3283
+ transform: translate3d(0, 0, 0);
3284
+ }
3285
+
3286
+ to {
3287
+ visibility: hidden;
3288
+ -webkit-transform: translate3d(100%, 0, 0);
3289
+ transform: translate3d(100%, 0, 0);
3290
+ }
3291
+ }
3292
+
3293
+ @keyframes slideOutRight {
3294
+ from {
3295
+ -webkit-transform: translate3d(0, 0, 0);
3296
+ transform: translate3d(0, 0, 0);
3297
+ }
3298
+
3299
+ to {
3300
+ visibility: hidden;
3301
+ -webkit-transform: translate3d(100%, 0, 0);
3302
+ transform: translate3d(100%, 0, 0);
3303
+ }
3304
+ }
3305
+
3306
+ .slideOutRight {
3307
+ -webkit-animation-name: slideOutRight;
3308
+ animation-name: slideOutRight;
3309
+ }
3310
+
3311
+ @-webkit-keyframes slideOutUp {
3312
+ from {
3313
+ -webkit-transform: translate3d(0, 0, 0);
3314
+ transform: translate3d(0, 0, 0);
3315
+ }
3316
+
3317
+ to {
3318
+ visibility: hidden;
3319
+ -webkit-transform: translate3d(0, -100%, 0);
3320
+ transform: translate3d(0, -100%, 0);
3321
+ }
3322
+ }
3323
+
3324
+ @keyframes slideOutUp {
3325
+ from {
3326
+ -webkit-transform: translate3d(0, 0, 0);
3327
+ transform: translate3d(0, 0, 0);
3328
+ }
3329
+
3330
+ to {
3331
+ visibility: hidden;
3332
+ -webkit-transform: translate3d(0, -100%, 0);
3333
+ transform: translate3d(0, -100%, 0);
3334
+ }
3335
+ }
3336
+
3337
+ .slideOutUp {
3338
+ -webkit-animation-name: slideOutUp;
3339
+ animation-name: slideOutUp;
3340
+ }
3341
+
3342
+
3343
+ /* -------- Customization -----------*/
3344
+
3345
+ @-webkit-keyframes fadeInLeftSmall {
3346
+ from {
3347
+ opacity: 0;
3348
+ -webkit-transform: translate3d(-40px, 0, 0);
3349
+ transform: translate3d(-40px, 0, 0);
3350
+ }
3351
+
3352
+ to {
3353
+ opacity: 1;
3354
+ -webkit-transform: none;
3355
+ transform: none;
3356
+ }
3357
+ }
3358
+
3359
+ @keyframes fadeInLeftSmall {
3360
+ from {
3361
+ opacity: 0;
3362
+ -webkit-transform: translate3d(-40px, 0, 0);
3363
+ transform: translate3d(-40px, 0, 0);
3364
+ }
3365
+
3366
+ to {
3367
+ opacity: 1;
3368
+ -webkit-transform: none;
3369
+ transform: none;
3370
+ }
3371
+ }
3372
+
3373
+ .fadeInLeftSmall {
3374
+ -webkit-animation-name: fadeInLeftSmall;
3375
+ animation-name: fadeInLeftSmall;
3376
+ }
3377
+
3378
+ @-webkit-keyframes fadeInRight {
3379
+ from {
3380
+ opacity: 0;
3381
+ -webkit-transform: translate3d(100%, 0, 0);
3382
+ transform: translate3d(100%, 0, 0);
3383
+ }
3384
+
3385
+ to {
3386
+ opacity: 1;
3387
+ -webkit-transform: none;
3388
+ transform: none;
3389
+ }
3390
+ }
3391
+
3392
+ @-webkit-keyframes fadeInRightSmall {
3393
+ from {
3394
+ opacity: 0;
3395
+ -webkit-transform: translate3d(40px, 0, 0);
3396
+ transform: translate3d(40px, 0, 0);
3397
+ }
3398
+
3399
+ to {
3400
+ opacity: 1;
3401
+ -webkit-transform: none;
3402
+ transform: none;
3403
+ }
3404
+ }
3405
+
3406
+ @keyframes fadeInRightSmall {
3407
+ from {
3408
+ opacity: 0;
3409
+ -webkit-transform: translate3d(40px, 0, 0);
3410
+ transform: translate3d(40px, 0, 0);
3411
+ }
3412
+
3413
+ to {
3414
+ opacity: 1;
3415
+ -webkit-transform: none;
3416
+ transform: none;
3417
+ }
3418
+ }
3419
+
3420
+ .fadeInRightSmall {
3421
+ -webkit-animation-name: fadeInRightSmall;
3422
+ animation-name: fadeInRightSmall;
3423
+ }
3424
+
3425
+ @-webkit-keyframes fadeOut_to_1 {
3426
+ from {
3427
+ opacity: 1;
3428
+ }
3429
+
3430
+ to {
3431
+ opacity: 0.1;
3432
+ }
3433
+ }
3434
+
3435
+ @keyframes fadeOut_to_1 {
3436
+ from {
3437
+ opacity: 1;
3438
+ }
3439
+
3440
+ to {
3441
+ opacity: 0.1;
3442
+ }
3443
+ }
3444
+
3445
+ .fadeOut_to_1 {
3446
+ -webkit-animation-name: fadeOut_to_1;
3447
+ animation-name: fadeOut_to_1;
3448
+ }
3449
+ /*# sourceMappingURL=data:application/json;base64,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O0lBQ0UsV0FBVztLQUNWOztFQUVIO0lBQ0UsYUFBYTtLQUNaO0dBQ0Y7O0FBRUg7RUFDRTtJQUNFLFdBQVc7S0FDVjs7RUFFSDtJQUNFLGFBQWE7S0FDWjtHQUNGOztBQUVIO0VBQ0UscUNBQXFDO0VBQ3JDLDZCQUE2QjtHQUM1QiIsImZpbGUiOiJhbmltYXRlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLyohXG4gKiBhbmltYXRlLmNzcyAtaHR0cDovL2RhbmVkZW4ubWUvYW5pbWF0ZVxuICogVmVyc2lvbiAtIDMuNS4xXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgLSBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDE2IERhbmllbCBFZGVuXG4gKi9cblxuLmFuaW1hdGVkIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cbi5hbmltYXRlZC5pbmZpbml0ZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xufVxuXG4uYW5pbWF0ZWQuaGluZ2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG59XG5cbi5hbmltYXRlZC5mbGlwT3V0WCxcbi5hbmltYXRlZC5mbGlwT3V0WSxcbi5hbmltYXRlZC5ib3VuY2VJbixcbi5hbmltYXRlZC5ib3VuY2VPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogLjc1cztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlIHtcbiAgZnJvbSwgMjAlLCA1MyUsIDgwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIH1cblxuICA0MCUsIDQzJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gIGZyb20sIDIwJSwgNTMlLCA4MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICB9XG5cbiAgNDAlLCA0MyUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XG4gIH1cblxuICA3MCUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC00cHgsMCk7XG4gIH1cbn1cblxuLmJvdW5jZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxhc2gge1xuICBmcm9tLCA1MCUsIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjUlLCA3NSUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGFzaCB7XG4gIGZyb20sIDUwJSwgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyNSUsIDc1JSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmxhc2gge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuLnB1bHNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcHVsc2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJ1YmJlckJhbmQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gIH1cblxuICA2NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgfVxuXG4gIDY1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuLnJ1YmJlckJhbmQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kO1xuICBhbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlIHtcbiAgZnJvbSwgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cblxuICAyMCUsIDQwJSwgNjAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2hha2Uge1xuICBmcm9tLCB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDIwJSwgNDAlLCA2MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbn1cblxuLnNoYWtlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGhlYWRTaGFrZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICA2LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gIH1cblxuICAxOC41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gIH1cblxuICAzMS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICB9XG5cbiAgNDMuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBoZWFkU2hha2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgNi41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xuICB9XG5cbiAgMTguNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICB9XG5cbiAgMzEuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcbiAgfVxuXG4gIDQzLjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbi5oZWFkU2hha2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGVhZFNoYWtlO1xuICBhbmltYXRpb24tbmFtZTogaGVhZFNoYWtlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgfVxufVxuXG4uc3dpbmcge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHN3aW5nO1xuICBhbmltYXRpb24tbmFtZTogc3dpbmc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB0YWRhIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgMTAlLCAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgMzAlLCA1MCUsIDcwJSwgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cblxuICA0MCUsIDYwJSwgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB0YWRhIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgMTAlLCAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgMzAlLCA1MCUsIDcwJSwgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cblxuICA0MCUsIDYwJSwgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuLnRhZGEge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB0YWRhO1xuICBhbmltYXRpb24tbmFtZTogdGFkYTtcbn1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyB3b2JibGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAxNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuXG4gIDQ1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB3b2JibGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAxNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuXG4gIDQ1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLndvYmJsZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGplbGxvIHtcbiAgZnJvbSwgMTEuMSUsIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAyMi4yJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICB9XG5cbiAgMzMuMyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICB9XG5cbiAgNDQuNCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gIH1cblxuICA1NS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgfVxuXG4gIDY2LjYlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gIH1cblxuICA3Ny43JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICB9XG5cbiAgODguOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgamVsbG8ge1xuICBmcm9tLCAxMS4xJSwgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIDIyLjIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gIH1cblxuICAzMy4zJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gIH1cblxuICA0NC40JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgfVxuXG4gIDU1LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICB9XG5cbiAgNjYuNiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgfVxuXG4gIDc3LjclIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gIH1cblxuICA4OC44JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gIH1cbn1cblxuLmplbGxvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogamVsbG87XG4gIGFuaW1hdGlvbi1uYW1lOiBqZWxsbztcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgZnJvbSwgMjAlLCA0MCUsIDYwJSwgODAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45Nyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW4ge1xuICBmcm9tLCAyMCUsIDQwJSwgNjAlLCA4MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45Nyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuLmJvdW5jZUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmJvdW5jZUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmJvdW5jZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmJvdW5jZUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5ib3VuY2VJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXQge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgfVxuXG4gIDUwJSwgNTUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICB9XG5cbiAgNTAlLCA1NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG59XG5cbi5ib3VuY2VPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgfVxuXG4gIDQwJSwgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgfVxuXG4gIDQwJSwgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICB9XG5cbiAgNDAlLCA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICB9XG5cbiAgNDAlLCA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5mYWRlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluRG93bkJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJbkxlZnRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJblJpZ2h0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLmZhZGVJblVwQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mYWRlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXREb3duQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0TGVmdEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0UmlnaHRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHRCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG5cbi5mYWRlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRVcEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG59XG5cbi5hbmltYXRlZC5mbGlwIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwO1xuICBhbmltYXRpb24tbmFtZTogZmxpcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblgge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBJblgge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxufVxuXG4uZmxpcEluWCB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcEluWSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG5cbi5mbGlwSW5ZIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWTtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwT3V0WCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZsaXBPdXRYIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmxpcE91dFkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZEluIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5saWdodFNwZWVkSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5saWdodFNwZWVkT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJbkRvd25MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW5Eb3duUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJblVwTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW5VcFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXREb3duTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dERvd25SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dFVwTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dFVwUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGhpbmdlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuXG4gIDIwJSwgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuXG4gIDQwJSwgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGhpbmdlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuXG4gIDIwJSwgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuXG4gIDQwJSwgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uaGluZ2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvbGxJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4ucm9sbEluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbEluO1xuICBhbmltYXRpb24tbmFtZTogcm9sbEluO1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm9sbE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gIH1cbn1cblxuLnJvbGxPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xuICBhbmltYXRpb24tbmFtZTogcm9sbE91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnpvb21JbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21Jbjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuLnpvb21JbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluRG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuLnpvb21JbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogem9vbUluTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21JblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG4uem9vbUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblVwO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluVXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi56b29tT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0RG93biB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbU91dERvd24ge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG4uem9vbU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXREb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dExlZnQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbU91dExlZnQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICB9XG59XG5cbi56b29tT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0UmlnaHQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0UmlnaHQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG4gIH1cbn1cblxuLnpvb21PdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRVcCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbU91dFVwIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuLnpvb21PdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRVcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluVXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblVwO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJblVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG5cbi5zbGlkZU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dERvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dExlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG5cbi5zbGlkZU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXA7XG59XG5cblxuLyogLS0tLS0tLS0gQ3VzdG9taXphdGlvbiAtLS0tLS0tLS0tLSovXG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdFNtYWxsIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTQwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTQwcHgsIDAsIDApO1xuICAgIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuICB9XG5cbi5mYWRlSW5MZWZ0U21hbGwge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0U21hbGw7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0U21hbGw7XG4gIH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbiAgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHRTbWFsbCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDQwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNDBweCwgMCwgMCk7XG4gICAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG4gIH1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodFNtYWxsIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg0MHB4LCAwLCAwKTtcbiAgICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbiAgfVxuXG4uZmFkZUluUmlnaHRTbWFsbCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0U21hbGw7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodFNtYWxsO1xuICB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0X3RvXzEge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMC4xO1xuICAgIH1cbiAgfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRfdG9fMSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwLjE7XG4gICAgfVxuICB9XG5cbi5mYWRlT3V0X3RvXzEge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0X3RvXzE7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0X3RvXzE7XG4gIH0iXX0= */
assets/css/jquery-ui.css ADDED
@@ -0,0 +1,662 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*! jQuery UI - v1.11.4 - 2016-05-12
2
+ * http://jqueryui.com
3
+ * Includes: core.css, datepicker.css, tooltip.css, theme.css
4
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&fwDefault=normal&cornerRadius=3px&bgColorHeader=e9e9e9&bgTextureHeader=flat&borderColorHeader=dddddd&fcHeader=333333&iconColorHeader=444444&bgColorContent=ffffff&bgTextureContent=flat&borderColorContent=dddddd&fcContent=333333&iconColorContent=444444&bgColorDefault=f6f6f6&bgTextureDefault=flat&borderColorDefault=c5c5c5&fcDefault=454545&iconColorDefault=777777&bgColorHover=ededed&bgTextureHover=flat&borderColorHover=cccccc&fcHover=2b2b2b&iconColorHover=555555&bgColorActive=007fff&bgTextureActive=flat&borderColorActive=003eff&fcActive=ffffff&iconColorActive=ffffff&bgColorHighlight=fffa90&bgTextureHighlight=flat&borderColorHighlight=dad55e&fcHighlight=777620&iconColorHighlight=777620&bgColorError=fddfdf&bgTextureError=flat&borderColorError=f1a899&fcError=5f3f3f&iconColorError=cc0000&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=666666&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=5px&offsetTopShadow=0px&offsetLeftShadow=0px&cornerRadiusShadow=8px
5
+ * Copyright jQuery Foundation and other contributors; Licensed MIT */
6
+
7
+ /* Layout helpers
8
+ ----------------------------------*/
9
+ .ui-helper-hidden {
10
+ display: none;
11
+ }
12
+ .ui-helper-hidden-accessible {
13
+ border: 0;
14
+ clip: rect(0 0 0 0);
15
+ height: 1px;
16
+ margin: -1px;
17
+ overflow: hidden;
18
+ padding: 0;
19
+ position: absolute;
20
+ width: 1px;
21
+ }
22
+ .ui-helper-reset {
23
+ margin: 0;
24
+ padding: 0;
25
+ border: 0;
26
+ outline: 0;
27
+ line-height: 1.3;
28
+ text-decoration: none;
29
+ font-size: 100%;
30
+ list-style: none;
31
+ }
32
+ .ui-helper-clearfix:before,
33
+ .ui-helper-clearfix:after {
34
+ content: "";
35
+ display: table;
36
+ border-collapse: collapse;
37
+ }
38
+ .ui-helper-clearfix:after {
39
+ clear: both;
40
+ }
41
+ .ui-helper-clearfix {
42
+ min-height: 0; /* support: IE7 */
43
+ }
44
+ .ui-helper-zfix {
45
+ width: 100%;
46
+ height: 100%;
47
+ top: 0;
48
+ left: 0;
49
+ position: absolute;
50
+ opacity: 0;
51
+ filter:Alpha(Opacity=0); /* support: IE8 */
52
+ }
53
+
54
+ .ui-front {
55
+ z-index: 100;
56
+ }
57
+
58
+
59
+ /* Interaction Cues
60
+ ----------------------------------*/
61
+ .ui-state-disabled {
62
+ cursor: default !important;
63
+ }
64
+
65
+
66
+ /* Icons
67
+ ----------------------------------*/
68
+
69
+ /* states and images */
70
+ .ui-icon {
71
+ display: block;
72
+ text-indent: -99999px;
73
+ overflow: hidden;
74
+ background-repeat: no-repeat;
75
+ }
76
+
77
+
78
+ /* Misc visuals
79
+ ----------------------------------*/
80
+
81
+ /* Overlays */
82
+ .ui-widget-overlay {
83
+ position: fixed;
84
+ top: 0;
85
+ left: 0;
86
+ width: 100%;
87
+ height: 100%;
88
+ }
89
+ .ui-datepicker {
90
+ width: 17em;
91
+ padding: .2em .2em 0;
92
+ display: none;
93
+ }
94
+ .ui-datepicker .ui-datepicker-header {
95
+ position: relative;
96
+ padding: .2em 0;
97
+ }
98
+ .ui-datepicker .ui-datepicker-prev,
99
+ .ui-datepicker .ui-datepicker-next {
100
+ position: absolute;
101
+ top: 2px;
102
+ width: 1.8em;
103
+ height: 1.8em;
104
+ }
105
+ .ui-datepicker .ui-datepicker-prev-hover,
106
+ .ui-datepicker .ui-datepicker-next-hover {
107
+ top: 1px;
108
+ }
109
+ .ui-datepicker .ui-datepicker-prev {
110
+ left: 2px;
111
+ }
112
+ .ui-datepicker .ui-datepicker-next {
113
+ right: 2px;
114
+ }
115
+ .ui-datepicker .ui-datepicker-prev-hover {
116
+ left: 1px;
117
+ }
118
+ .ui-datepicker .ui-datepicker-next-hover {
119
+ right: 1px;
120
+ }
121
+ .ui-datepicker .ui-datepicker-prev span,
122
+ .ui-datepicker .ui-datepicker-next span {
123
+ display: block;
124
+ position: absolute;
125
+ left: 50%;
126
+ margin-left: -8px;
127
+ top: 50%;
128
+ margin-top: -8px;
129
+ }
130
+ .ui-datepicker .ui-datepicker-title {
131
+ margin: 0 2.3em;
132
+ line-height: 1.8em;
133
+ text-align: center;
134
+ }
135
+ .ui-datepicker .ui-datepicker-title select {
136
+ font-size: 1em;
137
+ margin: 1px 0;
138
+ }
139
+ .ui-datepicker select.ui-datepicker-month,
140
+ .ui-datepicker select.ui-datepicker-year {
141
+ width: 45%;
142
+ }
143
+ .ui-datepicker table {
144
+ width: 100%;
145
+ font-size: .9em;
146
+ border-collapse: collapse;
147
+ margin: 0 0 .4em;
148
+ }
149
+ .ui-datepicker th {
150
+ padding: .7em .3em;
151
+ text-align: center;
152
+ font-weight: bold;
153
+ border: 0;
154
+ }
155
+ .ui-datepicker td {
156
+ border: 0;
157
+ padding: 1px;
158
+ }
159
+ .ui-datepicker td span,
160
+ .ui-datepicker td a {
161
+ display: block;
162
+ padding: .2em;
163
+ text-align: right;
164
+ text-decoration: none;
165
+ }
166
+ .ui-datepicker .ui-datepicker-buttonpane {
167
+ background-image: none;
168
+ margin: .7em 0 0 0;
169
+ padding: 0 .2em;
170
+ border-left: 0;
171
+ border-right: 0;
172
+ border-bottom: 0;
173
+ }
174
+ .ui-datepicker .ui-datepicker-buttonpane button {
175
+ float: right;
176
+ margin: .5em .2em .4em;
177
+ cursor: pointer;
178
+ padding: .2em .6em .3em .6em;
179
+ width: auto;
180
+ overflow: visible;
181
+ }
182
+ .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
183
+ float: left;
184
+ }
185
+
186
+ /* with multiple calendars */
187
+ .ui-datepicker.ui-datepicker-multi {
188
+ width: auto;
189
+ }
190
+ .ui-datepicker-multi .ui-datepicker-group {
191
+ float: left;
192
+ }
193
+ .ui-datepicker-multi .ui-datepicker-group table {
194
+ width: 95%;
195
+ margin: 0 auto .4em;
196
+ }
197
+ .ui-datepicker-multi-2 .ui-datepicker-group {
198
+ width: 50%;
199
+ }
200
+ .ui-datepicker-multi-3 .ui-datepicker-group {
201
+ width: 33.3%;
202
+ }
203
+ .ui-datepicker-multi-4 .ui-datepicker-group {
204
+ width: 25%;
205
+ }
206
+ .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
207
+ .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
208
+ border-left-width: 0;
209
+ }
210
+ .ui-datepicker-multi .ui-datepicker-buttonpane {
211
+ clear: left;
212
+ }
213
+ .ui-datepicker-row-break {
214
+ clear: both;
215
+ width: 100%;
216
+ font-size: 0;
217
+ }
218
+
219
+ /* RTL support */
220
+ .ui-datepicker-rtl {
221
+ direction: rtl;
222
+ }
223
+ .ui-datepicker-rtl .ui-datepicker-prev {
224
+ right: 2px;
225
+ left: auto;
226
+ }
227
+ .ui-datepicker-rtl .ui-datepicker-next {
228
+ left: 2px;
229
+ right: auto;
230
+ }
231
+ .ui-datepicker-rtl .ui-datepicker-prev:hover {
232
+ right: 1px;
233
+ left: auto;
234
+ }
235
+ .ui-datepicker-rtl .ui-datepicker-next:hover {
236
+ left: 1px;
237
+ right: auto;
238
+ }
239
+ .ui-datepicker-rtl .ui-datepicker-buttonpane {
240
+ clear: right;
241
+ }
242
+ .ui-datepicker-rtl .ui-datepicker-buttonpane button {
243
+ float: left;
244
+ }
245
+ .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
246
+ .ui-datepicker-rtl .ui-datepicker-group {
247
+ float: right;
248
+ }
249
+ .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
250
+ .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
251
+ border-right-width: 0;
252
+ border-left-width: 1px;
253
+ }
254
+ .ui-tooltip {
255
+ padding: 8px;
256
+ position: absolute;
257
+ z-index: 9999;
258
+ max-width: 300px;
259
+ -webkit-box-shadow: 0 0 5px #aaa;
260
+ box-shadow: 0 0 5px #aaa;
261
+ }
262
+ body .ui-tooltip {
263
+ border-width: 2px;
264
+ }
265
+
266
+ /* Component containers
267
+ ----------------------------------*/
268
+ .ui-widget {
269
+ font-family: Arial,Helvetica,sans-serif;
270
+ font-size: 1em;
271
+ }
272
+ .ui-widget .ui-widget {
273
+ font-size: 1em;
274
+ }
275
+ .ui-widget input,
276
+ .ui-widget select,
277
+ .ui-widget textarea,
278
+ .ui-widget button {
279
+ font-family: Arial,Helvetica,sans-serif;
280
+ font-size: 1em;
281
+ }
282
+ .ui-widget-content {
283
+ border: 1px solid #dddddd;
284
+ background: #ffffff;
285
+ color: #333333;
286
+ }
287
+ .ui-widget-content a {
288
+ color: #333333;
289
+ }
290
+ .ui-widget-header {
291
+ border: 1px solid #dddddd;
292
+ background: #e9e9e9;
293
+ color: #333333;
294
+ font-weight: bold;
295
+ }
296
+ .ui-widget-header a {
297
+ color: #333333;
298
+ }
299
+
300
+ /* Interaction states
301
+ ----------------------------------*/
302
+ .ui-state-default,
303
+ .ui-widget-content .ui-state-default,
304
+ .ui-widget-header .ui-state-default {
305
+ border: 1px solid #c5c5c5;
306
+ background: #f6f6f6;
307
+ font-weight: normal;
308
+ color: #454545;
309
+ }
310
+ .ui-state-default a,
311
+ .ui-state-default a:link,
312
+ .ui-state-default a:visited {
313
+ color: #454545;
314
+ text-decoration: none;
315
+ }
316
+ .ui-state-hover,
317
+ .ui-widget-content .ui-state-hover,
318
+ .ui-widget-header .ui-state-hover,
319
+ .ui-state-focus,
320
+ .ui-widget-content .ui-state-focus,
321
+ .ui-widget-header .ui-state-focus {
322
+ border: 1px solid #cccccc;
323
+ background: #ededed;
324
+ font-weight: normal;
325
+ color: #2b2b2b;
326
+ }
327
+ .ui-state-hover a,
328
+ .ui-state-hover a:hover,
329
+ .ui-state-hover a:link,
330
+ .ui-state-hover a:visited,
331
+ .ui-state-focus a,
332
+ .ui-state-focus a:hover,
333
+ .ui-state-focus a:link,
334
+ .ui-state-focus a:visited {
335
+ color: #2b2b2b;
336
+ text-decoration: none;
337
+ }
338
+ .ui-state-active,
339
+ .ui-widget-content .ui-state-active,
340
+ .ui-widget-header .ui-state-active {
341
+ border: 1px solid #003eff;
342
+ background: #007fff;
343
+ font-weight: normal;
344
+ color: #ffffff;
345
+ }
346
+ .ui-state-active a,
347
+ .ui-state-active a:link,
348
+ .ui-state-active a:visited {
349
+ color: #ffffff;
350
+ text-decoration: none;
351
+ }
352
+
353
+ /* Interaction Cues
354
+ ----------------------------------*/
355
+ .ui-state-highlight,
356
+ .ui-widget-content .ui-state-highlight,
357
+ .ui-widget-header .ui-state-highlight {
358
+ border: 1px solid #dad55e;
359
+ background: #fffa90;
360
+ color: #777620;
361
+ }
362
+ .ui-state-highlight a,
363
+ .ui-widget-content .ui-state-highlight a,
364
+ .ui-widget-header .ui-state-highlight a {
365
+ color: #777620;
366
+ }
367
+ .ui-state-error,
368
+ .ui-widget-content .ui-state-error,
369
+ .ui-widget-header .ui-state-error {
370
+ border: 1px solid #f1a899;
371
+ background: #fddfdf;
372
+ color: #5f3f3f;
373
+ }
374
+ .ui-state-error a,
375
+ .ui-widget-content .ui-state-error a,
376
+ .ui-widget-header .ui-state-error a {
377
+ color: #5f3f3f;
378
+ }
379
+ .ui-state-error-text,
380
+ .ui-widget-content .ui-state-error-text,
381
+ .ui-widget-header .ui-state-error-text {
382
+ color: #5f3f3f;
383
+ }
384
+ .ui-priority-primary,
385
+ .ui-widget-content .ui-priority-primary,
386
+ .ui-widget-header .ui-priority-primary {
387
+ font-weight: bold;
388
+ }
389
+ .ui-priority-secondary,
390
+ .ui-widget-content .ui-priority-secondary,
391
+ .ui-widget-header .ui-priority-secondary {
392
+ opacity: .7;
393
+ filter:Alpha(Opacity=70); /* support: IE8 */
394
+ font-weight: normal;
395
+ }
396
+ .ui-state-disabled,
397
+ .ui-widget-content .ui-state-disabled,
398
+ .ui-widget-header .ui-state-disabled {
399
+ opacity: .35;
400
+ filter:Alpha(Opacity=35); /* support: IE8 */
401
+ background-image: none;
402
+ }
403
+ .ui-state-disabled .ui-icon {
404
+ filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */
405
+ }
406
+
407
+ /* Icons
408
+ ----------------------------------*/
409
+
410
+ /* states and images */
411
+ .ui-icon {
412
+ width: 16px;
413
+ height: 16px;
414
+ }
415
+ .ui-icon,
416
+ .ui-widget-content .ui-icon {
417
+ background-image: url("images/ui-icons_444444_256x240.png");
418
+ }
419
+ .ui-widget-header .ui-icon {
420
+ background-image: url("images/ui-icons_444444_256x240.png");
421
+ }
422
+ .ui-state-default .ui-icon {
423
+ background-image: url("images/ui-icons_777777_256x240.png");
424
+ }
425
+ .ui-state-hover .ui-icon,
426
+ .ui-state-focus .ui-icon {
427
+ background-image: url("images/ui-icons_555555_256x240.png");
428
+ }
429
+ .ui-state-active .ui-icon {
430
+ background-image: url("images/ui-icons_ffffff_256x240.png");
431
+ }
432
+ .ui-state-highlight .ui-icon {
433
+ background-image: url("images/ui-icons_777620_256x240.png");
434
+ }
435
+ .ui-state-error .ui-icon,
436
+ .ui-state-error-text .ui-icon {
437
+ background-image: url("images/ui-icons_cc0000_256x240.png");
438
+ }
439
+
440
+ /* positioning */
441
+ .ui-icon-blank { background-position: 16px 16px; }
442
+ .ui-icon-carat-1-n { background-position: 0 0; }
443
+ .ui-icon-carat-1-ne { background-position: -16px 0; }
444
+ .ui-icon-carat-1-e { background-position: -32px 0; }
445
+ .ui-icon-carat-1-se { background-position: -48px 0; }
446
+ .ui-icon-carat-1-s { background-position: -64px 0; }
447
+ .ui-icon-carat-1-sw { background-position: -80px 0; }
448
+ .ui-icon-carat-1-w { background-position: -96px 0; }
449
+ .ui-icon-carat-1-nw { background-position: -112px 0; }
450
+ .ui-icon-carat-2-n-s { background-position: -128px 0; }
451
+ .ui-icon-carat-2-e-w { background-position: -144px 0; }
452
+ .ui-icon-triangle-1-n { background-position: 0 -16px; }
453
+ .ui-icon-triangle-1-ne { background-position: -16px -16px; }
454
+ .ui-icon-triangle-1-e { background-position: -32px -16px; }
455
+ .ui-icon-triangle-1-se { background-position: -48px -16px; }
456
+ .ui-icon-triangle-1-s { background-position: -64px -16px; }
457
+ .ui-icon-triangle-1-sw { background-position: -80px -16px; }
458
+ .ui-icon-triangle-1-w { background-position: -96px -16px; }
459
+ .ui-icon-triangle-1-nw { background-position: -112px -16px; }
460
+ .ui-icon-triangle-2-n-s { background-position: -128px -16px; }
461
+ .ui-icon-triangle-2-e-w { background-position: -144px -16px; }
462
+ .ui-icon-arrow-1-n { background-position: 0 -32px; }
463
+ .ui-icon-arrow-1-ne { background-position: -16px -32px; }
464
+ .ui-icon-arrow-1-e { background-position: -32px -32px; }
465
+ .ui-icon-arrow-1-se { background-position: -48px -32px; }
466
+ .ui-icon-arrow-1-s { background-position: -64px -32px; }
467
+ .ui-icon-arrow-1-sw { background-position: -80px -32px; }
468
+ .ui-icon-arrow-1-w { background-position: -96px -32px; }
469
+ .ui-icon-arrow-1-nw { background-position: -112px -32px; }
470
+ .ui-icon-arrow-2-n-s { background-position: -128px -32px; }
471
+ .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
472
+ .ui-icon-arrow-2-e-w { background-position: -160px -32px; }
473
+ .ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
474
+ .ui-icon-arrowstop-1-n { background-position: -192px -32px; }
475
+ .ui-icon-arrowstop-1-e { background-position: -208px -32px; }
476
+ .ui-icon-arrowstop-1-s { background-position: -224px -32px; }
477
+ .ui-icon-arrowstop-1-w { background-position: -240px -32px; }
478
+ .ui-icon-arrowthick-1-n { background-position: 0 -48px; }
479
+ .ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
480
+ .ui-icon-arrowthick-1-e { background-position: -32px -48px; }
481
+ .ui-icon-arrowthick-1-se { background-position: -48px -48px; }
482
+ .ui-icon-arrowthick-1-s { background-position: -64px -48px; }
483
+ .ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
484
+ .ui-icon-arrowthick-1-w { background-position: -96px -48px; }
485
+ .ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
486
+ .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
487
+ .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
488
+ .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
489
+ .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
490
+ .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
491
+ .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
492
+ .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
493
+ .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
494
+ .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
495
+ .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
496
+ .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
497
+ .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
498
+ .ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
499
+ .ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
500
+ .ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
501
+ .ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
502
+ .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
503
+ .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
504
+ .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
505
+ .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
506
+ .ui-icon-arrow-4 { background-position: 0 -80px; }
507
+ .ui-icon-arrow-4-diag { background-position: -16px -80px; }
508
+ .ui-icon-extlink { background-position: -32px -80px; }
509
+ .ui-icon-newwin { background-position: -48px -80px; }
510
+ .ui-icon-refresh { background-position: -64px -80px; }
511
+ .ui-icon-shuffle { background-position: -80px -80px; }
512
+ .ui-icon-transfer-e-w { background-position: -96px -80px; }
513
+ .ui-icon-transferthick-e-w { background-position: -112px -80px; }
514
+ .ui-icon-folder-collapsed { background-position: 0 -96px; }
515
+ .ui-icon-folder-open { background-position: -16px -96px; }
516
+ .ui-icon-document { background-position: -32px -96px; }
517
+ .ui-icon-document-b { background-position: -48px -96px; }
518
+ .ui-icon-note { background-position: -64px -96px; }
519
+ .ui-icon-mail-closed { background-position: -80px -96px; }
520
+ .ui-icon-mail-open { background-position: -96px -96px; }
521
+ .ui-icon-suitcase { background-position: -112px -96px; }
522
+ .ui-icon-comment { background-position: -128px -96px; }
523
+ .ui-icon-person { background-position: -144px -96px; }
524
+ .ui-icon-print { background-position: -160px -96px; }
525
+ .ui-icon-trash { background-position: -176px -96px; }
526
+ .ui-icon-locked { background-position: -192px -96px; }
527
+ .ui-icon-unlocked { background-position: -208px -96px; }
528
+ .ui-icon-bookmark { background-position: -224px -96px; }
529
+ .ui-icon-tag { background-position: -240px -96px; }
530
+ .ui-icon-home { background-position: 0 -112px; }
531
+ .ui-icon-flag { background-position: -16px -112px; }
532
+ .ui-icon-calendar { background-position: -32px -112px; }
533
+ .ui-icon-cart { background-position: -48px -112px; }
534
+ .ui-icon-pencil { background-position: -64px -112px; }
535
+ .ui-icon-clock { background-position: -80px -112px; }
536
+ .ui-icon-disk { background-position: -96px -112px; }
537
+ .ui-icon-calculator { background-position: -112px -112px; }
538
+ .ui-icon-zoomin { background-position: -128px -112px; }
539
+ .ui-icon-zoomout { background-position: -144px -112px; }
540
+ .ui-icon-search { background-position: -160px -112px; }
541
+ .ui-icon-wrench { background-position: -176px -112px; }
542
+ .ui-icon-gear { background-position: -192px -112px; }
543
+ .ui-icon-heart { background-position: -208px -112px; }
544
+ .ui-icon-star { background-position: -224px -112px; }
545
+ .ui-icon-link { background-position: -240px -112px; }
546
+ .ui-icon-cancel { background-position: 0 -128px; }
547
+ .ui-icon-plus { background-position: -16px -128px; }
548
+ .ui-icon-plusthick { background-position: -32px -128px; }
549
+ .ui-icon-minus { background-position: -48px -128px; }
550
+ .ui-icon-minusthick { background-position: -64px -128px; }
551
+ .ui-icon-close { background-position: -80px -128px; }
552
+ .ui-icon-closethick { background-position: -96px -128px; }
553
+ .ui-icon-key { background-position: -112px -128px; }
554
+ .ui-icon-lightbulb { background-position: -128px -128px; }
555
+ .ui-icon-scissors { background-position: -144px -128px; }
556
+ .ui-icon-clipboard { background-position: -160px -128px; }
557
+ .ui-icon-copy { background-position: -176px -128px; }
558
+ .ui-icon-contact { background-position: -192px -128px; }
559
+ .ui-icon-image { background-position: -208px -128px; }
560
+ .ui-icon-video { background-position: -224px -128px; }
561
+ .ui-icon-script { background-position: -240px -128px; }
562
+ .ui-icon-alert { background-position: 0 -144px; }
563
+ .ui-icon-info { background-position: -16px -144px; }
564
+ .ui-icon-notice { background-position: -32px -144px; }
565
+ .ui-icon-help { background-position: -48px -144px; }
566
+ .ui-icon-check { background-position: -64px -144px; }
567
+ .ui-icon-bullet { background-position: -80px -144px; }
568
+ .ui-icon-radio-on { background-position: -96px -144px; }
569
+ .ui-icon-radio-off { background-position: -112px -144px; }
570
+ .ui-icon-pin-w { background-position: -128px -144px; }
571
+ .ui-icon-pin-s { background-position: -144px -144px; }
572
+ .ui-icon-play { background-position: 0 -160px; }
573
+ .ui-icon-pause { background-position: -16px -160px; }
574
+ .ui-icon-seek-next { background-position: -32px -160px; }
575
+ .ui-icon-seek-prev { background-position: -48px -160px; }
576
+ .ui-icon-seek-end { background-position: -64px -160px; }
577
+ .ui-icon-seek-start { background-position: -80px -160px; }
578
+ /* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
579
+ .ui-icon-seek-first { background-position: -80px -160px; }
580
+ .ui-icon-stop { background-position: -96px -160px; }
581
+ .ui-icon-eject { background-position: -112px -160px; }
582
+ .ui-icon-volume-off { background-position: -128px -160px; }
583
+ .ui-icon-volume-on { background-position: -144px -160px; }
584
+ .ui-icon-power { background-position: 0 -176px; }
585
+ .ui-icon-signal-diag { background-position: -16px -176px; }
586
+ .ui-icon-signal { background-position: -32px -176px; }
587
+ .ui-icon-battery-0 { background-position: -48px -176px; }
588
+ .ui-icon-battery-1 { background-position: -64px -176px; }
589
+ .ui-icon-battery-2 { background-position: -80px -176px; }
590
+ .ui-icon-battery-3 { background-position: -96px -176px; }
591
+ .ui-icon-circle-plus { background-position: 0 -192px; }
592
+ .ui-icon-circle-minus { background-position: -16px -192px; }
593
+ .ui-icon-circle-close { background-position: -32px -192px; }
594
+ .ui-icon-circle-triangle-e { background-position: -48px -192px; }
595
+ .ui-icon-circle-triangle-s { background-position: -64px -192px; }
596
+ .ui-icon-circle-triangle-w { background-position: -80px -192px; }
597
+ .ui-icon-circle-triangle-n { background-position: -96px -192px; }
598
+ .ui-icon-circle-arrow-e { background-position: -112px -192px; }
599
+ .ui-icon-circle-arrow-s { background-position: -128px -192px; }
600
+ .ui-icon-circle-arrow-w { background-position: -144px -192px; }
601
+ .ui-icon-circle-arrow-n { background-position: -160px -192px; }
602
+ .ui-icon-circle-zoomin { background-position: -176px -192px; }
603
+ .ui-icon-circle-zoomout { background-position: -192px -192px; }
604
+ .ui-icon-circle-check { background-position: -208px -192px; }
605
+ .ui-icon-circlesmall-plus { background-position: 0 -208px; }
606
+ .ui-icon-circlesmall-minus { background-position: -16px -208px; }
607
+ .ui-icon-circlesmall-close { background-position: -32px -208px; }
608
+ .ui-icon-squaresmall-plus { background-position: -48px -208px; }
609
+ .ui-icon-squaresmall-minus { background-position: -64px -208px; }
610
+ .ui-icon-squaresmall-close { background-position: -80px -208px; }
611
+ .ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
612
+ .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
613
+ .ui-icon-grip-solid-vertical { background-position: -32px -224px; }
614
+ .ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
615
+ .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
616
+ .ui-icon-grip-diagonal-se { background-position: -80px -224px; }
617
+
618
+
619
+ /* Misc visuals
620
+ ----------------------------------*/
621
+
622
+ /* Corner radius */
623
+ .ui-corner-all,
624
+ .ui-corner-top,
625
+ .ui-corner-left,
626
+ .ui-corner-tl {
627
+ border-top-left-radius: 3px;
628
+ }
629
+ .ui-corner-all,
630
+ .ui-corner-top,
631
+ .ui-corner-right,
632
+ .ui-corner-tr {
633
+ border-top-right-radius: 3px;
634
+ }
635
+ .ui-corner-all,
636
+ .ui-corner-bottom,
637
+ .ui-corner-left,
638
+ .ui-corner-bl {
639
+ border-bottom-left-radius: 3px;
640
+ }
641
+ .ui-corner-all,
642
+ .ui-corner-bottom,
643
+ .ui-corner-right,
644
+ .ui-corner-br {
645
+ border-bottom-right-radius: 3px;
646
+ }
647
+
648
+ /* Overlays */
649
+ .ui-widget-overlay {
650
+ background: #aaaaaa;
651
+ opacity: .3;
652
+ filter: Alpha(Opacity=30); /* support: IE8 */
653
+ }
654
+ .ui-widget-shadow {
655
+ margin: 0px 0 0 0px;
656
+ padding: 5px;
657
+ background: #666666;
658
+ opacity: .3;
659
+ filter: Alpha(Opacity=30); /* support: IE8 */
660
+ border-radius: 8px;
661
+ }
662
+ /*# sourceMappingURL=data:application/json;base64,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Q2pFLDBCQUEwQixtQ0FBbUMsRUFBRTtBQUMvRCwwQkFBMEIsbUNBQW1DLEVBQUU7QUFDL0QsMEJBQTBCLG1DQUFtQyxFQUFFO0FBQy9ELDBCQUEwQixtQ0FBbUMsRUFBRTtBQUMvRCx5QkFBeUIsbUNBQW1DLEVBQUU7QUFDOUQsMEJBQTBCLG1DQUFtQyxFQUFFO0FBQy9ELHdCQUF3QixtQ0FBbUMsRUFBRTtBQUM3RCw0QkFBNEIsOEJBQThCLEVBQUU7QUFDNUQsNkJBQTZCLGtDQUFrQyxFQUFFO0FBQ2pFLDZCQUE2QixrQ0FBa0MsRUFBRTtBQUNqRSw0QkFBNEIsa0NBQWtDLEVBQUU7QUFDaEUsNkJBQTZCLGtDQUFrQyxFQUFFO0FBQ2pFLDZCQUE2QixrQ0FBa0MsRUFBRTtBQUNqRSxnQ0FBZ0MsOEJBQThCLEVBQUU7QUFDaEUsa0NBQWtDLGtDQUFrQyxFQUFFO0FBQ3RFLCtCQUErQixrQ0FBa0MsRUFBRTtBQUNuRSxpQ0FBaUMsa0NBQWtDLEVBQUU7QUFDckUsaUNBQWlDLGtDQUFrQyxFQUFFO0FBQ3JFLDRCQUE0QixrQ0FBa0MsRUFBRTs7O0FBR2hFO29DQUNvQzs7QUFFcEMsbUJBQW1CO0FBQ25COzs7O0NBSUMsNEJBQTRCO0NBQzVCO0FBQ0Q7Ozs7Q0FJQyw2QkFBNkI7Q0FDN0I7QUFDRDs7OztDQUlDLCtCQUErQjtDQUMvQjtBQUNEOzs7O0NBSUMsZ0NBQWdDO0NBQ2hDOztBQUVELGNBQWM7QUFDZDtDQUNDLG9CQUFvQjtDQUNwQixZQUFZO0NBQ1osMEJBQTBCLENBQUMsa0JBQWtCO0NBQzdDO0FBQ0Q7Q0FDQyxvQkFBb0I7Q0FDcEIsYUFBYTtDQUNiLG9CQUFvQjtDQUNwQixZQUFZO0NBQ1osMEJBQTBCLENBQUMsa0JBQWtCO0NBQzdDLG1CQUFtQjtDQUNuQiIsImZpbGUiOiJqcXVlcnktdWkuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohIGpRdWVyeSBVSSAtIHYxLjExLjQgLSAyMDE2LTA1LTEyXG4qIGh0dHA6Ly9qcXVlcnl1aS5jb21cbiogSW5jbHVkZXM6IGNvcmUuY3NzLCBkYXRlcGlja2VyLmNzcywgdG9vbHRpcC5jc3MsIHRoZW1lLmNzc1xuKiBUbyB2aWV3IGFuZCBtb2RpZnkgdGhpcyB0aGVtZSwgdmlzaXQgaHR0cDovL2pxdWVyeXVpLmNvbS90aGVtZXJvbGxlci8/ZmZEZWZhdWx0PUFyaWFsJTJDSGVsdmV0aWNhJTJDc2Fucy1zZXJpZiZmc0RlZmF1bHQ9MWVtJmZ3RGVmYXVsdD1ub3JtYWwmY29ybmVyUmFkaXVzPTNweCZiZ0NvbG9ySGVhZGVyPWU5ZTllOSZiZ1RleHR1cmVIZWFkZXI9ZmxhdCZib3JkZXJDb2xvckhlYWRlcj1kZGRkZGQmZmNIZWFkZXI9MzMzMzMzJmljb25Db2xvckhlYWRlcj00NDQ0NDQmYmdDb2xvckNvbnRlbnQ9ZmZmZmZmJmJnVGV4dHVyZUNvbnRlbnQ9ZmxhdCZib3JkZXJDb2xvckNvbnRlbnQ9ZGRkZGRkJmZjQ29udGVudD0zMzMzMzMmaWNvbkNvbG9yQ29udGVudD00NDQ0NDQmYmdDb2xvckRlZmF1bHQ9ZjZmNmY2JmJnVGV4dHVyZURlZmF1bHQ9ZmxhdCZib3JkZXJDb2xvckRlZmF1bHQ9YzVjNWM1JmZjRGVmYXVsdD00NTQ1NDUmaWNvbkNvbG9yRGVmYXVsdD03Nzc3NzcmYmdDb2xvckhvdmVyPWVkZWRlZCZiZ1RleHR1cmVIb3Zlcj1mbGF0JmJvcmRlckNvbG9ySG92ZXI9Y2NjY2NjJmZjSG92ZXI9MmIyYjJiJmljb25Db2xvckhvdmVyPTU1NTU1NSZiZ0NvbG9yQWN0aXZlPTAwN2ZmZiZiZ1RleHR1cmVBY3RpdmU9ZmxhdCZib3JkZXJDb2xvckFjdGl2ZT0wMDNlZmYmZmNBY3RpdmU9ZmZmZmZmJmljb25Db2xvckFjdGl2ZT1mZmZmZmYmYmdDb2xvckhpZ2hsaWdodD1mZmZhOTAmYmdUZXh0dXJlSGlnaGxpZ2h0PWZsYXQmYm9yZGVyQ29sb3JIaWdobGlnaHQ9ZGFkNTVlJmZjSGlnaGxpZ2h0PTc3NzYyMCZpY29uQ29sb3JIaWdobGlnaHQ9Nzc3NjIwJmJnQ29sb3JFcnJvcj1mZGRmZGYmYmdUZXh0dXJlRXJyb3I9ZmxhdCZib3JkZXJDb2xvckVycm9yPWYxYTg5OSZmY0Vycm9yPTVmM2YzZiZpY29uQ29sb3JFcnJvcj1jYzAwMDAmYmdDb2xvck92ZXJsYXk9YWFhYWFhJmJnVGV4dHVyZU92ZXJsYXk9ZmxhdCZiZ0ltZ09wYWNpdHlPdmVybGF5PTAmb3BhY2l0eU92ZXJsYXk9MzAmYmdDb2xvclNoYWRvdz02NjY2NjYmYmdUZXh0dXJlU2hhZG93PWZsYXQmYmdJbWdPcGFjaXR5U2hhZG93PTAmb3BhY2l0eVNoYWRvdz0zMCZ0aGlja25lc3NTaGFkb3c9NXB4Jm9mZnNldFRvcFNoYWRvdz0wcHgmb2Zmc2V0TGVmdFNoYWRvdz0wcHgmY29ybmVyUmFkaXVzU2hhZG93PThweFxuKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yczsgTGljZW5zZWQgTUlUICovXG5cbi8qIExheW91dCBoZWxwZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1oZWxwZXItaGlkZGVuIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi51aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUge1xuXHRib3JkZXI6IDA7XG5cdGNsaXA6IHJlY3QoMCAwIDAgMCk7XG5cdGhlaWdodDogMXB4O1xuXHRtYXJnaW46IC0xcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmc6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDFweDtcbn1cbi51aS1oZWxwZXItcmVzZXQge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogMDtcblx0b3V0bGluZTogMDtcblx0bGluZS1oZWlnaHQ6IDEuMztcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRmb250LXNpemU6IDEwMCU7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4udWktaGVscGVyLWNsZWFyZml4OmJlZm9yZSxcbi51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlwiO1xuXHRkaXNwbGF5OiB0YWJsZTtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cbi51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIge1xuXHRjbGVhcjogYm90aDtcbn1cbi51aS1oZWxwZXItY2xlYXJmaXgge1xuXHRtaW4taGVpZ2h0OiAwOyAvKiBzdXBwb3J0OiBJRTcgKi9cbn1cbi51aS1oZWxwZXItemZpeCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRvcGFjaXR5OiAwO1xuXHRmaWx0ZXI6QWxwaGEoT3BhY2l0eT0wKTsgLyogc3VwcG9ydDogSUU4ICovXG59XG5cbi51aS1mcm9udCB7XG5cdHotaW5kZXg6IDEwMDtcbn1cblxuXG4vKiBJbnRlcmFjdGlvbiBDdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1zdGF0ZS1kaXNhYmxlZCB7XG5cdGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O1xufVxuXG5cbi8qIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogc3RhdGVzIGFuZCBpbWFnZXMgKi9cbi51aS1pY29uIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHRleHQtaW5kZW50OiAtOTk5OTlweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuXG4vKiBNaXNjIHZpc3VhbHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBPdmVybGF5cyAqL1xuLnVpLXdpZGdldC1vdmVybGF5IHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG4udWktZGF0ZXBpY2tlciB7XG5cdHdpZHRoOiAxN2VtO1xuXHRwYWRkaW5nOiAuMmVtIC4yZW0gMDtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWhlYWRlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogLjJlbSAwO1xufVxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldixcbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMnB4O1xuXHR3aWR0aDogMS44ZW07XG5cdGhlaWdodDogMS44ZW07XG59XG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyLFxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciB7XG5cdHRvcDogMXB4O1xufVxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiB7XG5cdGxlZnQ6IDJweDtcbn1cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQge1xuXHRyaWdodDogMnB4O1xufVxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciB7XG5cdGxlZnQ6IDFweDtcbn1cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXIge1xuXHRyaWdodDogMXB4O1xufVxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiBzcGFuLFxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCBzcGFuIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW4tbGVmdDogLThweDtcblx0dG9wOiA1MCU7XG5cdG1hcmdpbi10b3A6IC04cHg7XG59XG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZSB7XG5cdG1hcmdpbjogMCAyLjNlbTtcblx0bGluZS1oZWlnaHQ6IDEuOGVtO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZSBzZWxlY3Qge1xuXHRmb250LXNpemU6IDFlbTtcblx0bWFyZ2luOiAxcHggMDtcbn1cbi51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLFxuLnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXIteWVhciB7XG5cdHdpZHRoOiA0NSU7XG59XG4udWktZGF0ZXBpY2tlciB0YWJsZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRmb250LXNpemU6IC45ZW07XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdG1hcmdpbjogMCAwIC40ZW07XG59XG4udWktZGF0ZXBpY2tlciB0aCB7XG5cdHBhZGRpbmc6IC43ZW0gLjNlbTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0Ym9yZGVyOiAwO1xufVxuLnVpLWRhdGVwaWNrZXIgdGQge1xuXHRib3JkZXI6IDA7XG5cdHBhZGRpbmc6IDFweDtcbn1cbi51aS1kYXRlcGlja2VyIHRkIHNwYW4sXG4udWktZGF0ZXBpY2tlciB0ZCBhIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IC4yZW07XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHtcblx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcblx0bWFyZ2luOiAuN2VtIDAgMCAwO1xuXHRwYWRkaW5nOiAwIC4yZW07XG5cdGJvcmRlci1sZWZ0OiAwO1xuXHRib3JkZXItcmlnaHQ6IDA7XG5cdGJvcmRlci1ib3R0b206IDA7XG59XG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbiB7XG5cdGZsb2F0OiByaWdodDtcblx0bWFyZ2luOiAuNWVtIC4yZW0gLjRlbTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwYWRkaW5nOiAuMmVtIC42ZW0gLjNlbSAuNmVtO1xuXHR3aWR0aDogYXV0bztcblx0b3ZlcmZsb3c6IHZpc2libGU7XG59XG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbi51aS1kYXRlcGlja2VyLWN1cnJlbnQge1xuXHRmbG9hdDogbGVmdDtcbn1cblxuLyogd2l0aCBtdWx0aXBsZSBjYWxlbmRhcnMgKi9cbi51aS1kYXRlcGlja2VyLnVpLWRhdGVwaWNrZXItbXVsdGkge1xuXHR3aWR0aDogYXV0bztcbn1cbi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwIHtcblx0ZmxvYXQ6IGxlZnQ7XG59XG4udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cCB0YWJsZSB7XG5cdHdpZHRoOiA5NSU7XG5cdG1hcmdpbjogMCBhdXRvIC40ZW07XG59XG4udWktZGF0ZXBpY2tlci1tdWx0aS0yIC51aS1kYXRlcGlja2VyLWdyb3VwIHtcblx0d2lkdGg6IDUwJTtcbn1cbi51aS1kYXRlcGlja2VyLW11bHRpLTMgLnVpLWRhdGVwaWNrZXItZ3JvdXAge1xuXHR3aWR0aDogMzMuMyU7XG59XG4udWktZGF0ZXBpY2tlci1tdWx0aS00IC51aS1kYXRlcGlja2VyLWdyb3VwIHtcblx0d2lkdGg6IDI1JTtcbn1cbi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVhZGVyLFxuLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbWlkZGxlIC51aS1kYXRlcGlja2VyLWhlYWRlciB7XG5cdGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xufVxuLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB7XG5cdGNsZWFyOiBsZWZ0O1xufVxuLnVpLWRhdGVwaWNrZXItcm93LWJyZWFrIHtcblx0Y2xlYXI6IGJvdGg7XG5cdHdpZHRoOiAxMDAlO1xuXHRmb250LXNpemU6IDA7XG59XG5cbi8qIFJUTCBzdXBwb3J0ICovXG4udWktZGF0ZXBpY2tlci1ydGwge1xuXHRkaXJlY3Rpb246IHJ0bDtcbn1cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2IHtcblx0cmlnaHQ6IDJweDtcblx0bGVmdDogYXV0bztcbn1cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1uZXh0IHtcblx0bGVmdDogMnB4O1xuXHRyaWdodDogYXV0bztcbn1cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2OmhvdmVyIHtcblx0cmlnaHQ6IDFweDtcblx0bGVmdDogYXV0bztcbn1cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1uZXh0OmhvdmVyIHtcblx0bGVmdDogMXB4O1xuXHRyaWdodDogYXV0bztcbn1cbi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHtcblx0Y2xlYXI6IHJpZ2h0O1xufVxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uIHtcblx0ZmxvYXQ6IGxlZnQ7XG59XG4udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24udWktZGF0ZXBpY2tlci1jdXJyZW50LFxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwIHtcblx0ZmxvYXQ6IHJpZ2h0O1xufVxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVhZGVyLFxuLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwLW1pZGRsZSAudWktZGF0ZXBpY2tlci1oZWFkZXIge1xuXHRib3JkZXItcmlnaHQtd2lkdGg6IDA7XG5cdGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG59XG4udWktdG9vbHRpcCB7XG5cdHBhZGRpbmc6IDhweDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiA5OTk5O1xuXHRtYXgtd2lkdGg6IDMwMHB4O1xuXHQtd2Via2l0LWJveC1zaGFkb3c6IDAgMCA1cHggI2FhYTtcblx0Ym94LXNoYWRvdzogMCAwIDVweCAjYWFhO1xufVxuYm9keSAudWktdG9vbHRpcCB7XG5cdGJvcmRlci13aWR0aDogMnB4O1xufVxuXG4vKiBDb21wb25lbnQgY29udGFpbmVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktd2lkZ2V0IHtcblx0Zm9udC1mYW1pbHk6IEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO1xuXHRmb250LXNpemU6IDFlbTtcbn1cbi51aS13aWRnZXQgLnVpLXdpZGdldCB7XG5cdGZvbnQtc2l6ZTogMWVtO1xufVxuLnVpLXdpZGdldCBpbnB1dCxcbi51aS13aWRnZXQgc2VsZWN0LFxuLnVpLXdpZGdldCB0ZXh0YXJlYSxcbi51aS13aWRnZXQgYnV0dG9uIHtcblx0Zm9udC1mYW1pbHk6IEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO1xuXHRmb250LXNpemU6IDFlbTtcbn1cbi51aS13aWRnZXQtY29udGVudCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQ7XG5cdGJhY2tncm91bmQ6ICNmZmZmZmY7XG5cdGNvbG9yOiAjMzMzMzMzO1xufVxuLnVpLXdpZGdldC1jb250ZW50IGEge1xuXHRjb2xvcjogIzMzMzMzMztcbn1cbi51aS13aWRnZXQtaGVhZGVyIHtcblx0Ym9yZGVyOiAxcHggc29saWQgI2RkZGRkZDtcblx0YmFja2dyb3VuZDogI2U5ZTllOTtcblx0Y29sb3I6ICMzMzMzMzM7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnVpLXdpZGdldC1oZWFkZXIgYSB7XG5cdGNvbG9yOiAjMzMzMzMzO1xufVxuXG4vKiBJbnRlcmFjdGlvbiBzdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLXN0YXRlLWRlZmF1bHQsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWRlZmF1bHQsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZGVmYXVsdCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNjNWM1YzU7XG5cdGJhY2tncm91bmQ6ICNmNmY2ZjY7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdGNvbG9yOiAjNDU0NTQ1O1xufVxuLnVpLXN0YXRlLWRlZmF1bHQgYSxcbi51aS1zdGF0ZS1kZWZhdWx0IGE6bGluayxcbi51aS1zdGF0ZS1kZWZhdWx0IGE6dmlzaXRlZCB7XG5cdGNvbG9yOiAjNDU0NTQ1O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4udWktc3RhdGUtaG92ZXIsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXN0YXRlLWZvY3VzLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1mb2N1cyxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1mb2N1cyB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2M7XG5cdGJhY2tncm91bmQ6ICNlZGVkZWQ7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdGNvbG9yOiAjMmIyYjJiO1xufVxuLnVpLXN0YXRlLWhvdmVyIGEsXG4udWktc3RhdGUtaG92ZXIgYTpob3Zlcixcbi51aS1zdGF0ZS1ob3ZlciBhOmxpbmssXG4udWktc3RhdGUtaG92ZXIgYTp2aXNpdGVkLFxuLnVpLXN0YXRlLWZvY3VzIGEsXG4udWktc3RhdGUtZm9jdXMgYTpob3Zlcixcbi51aS1zdGF0ZS1mb2N1cyBhOmxpbmssXG4udWktc3RhdGUtZm9jdXMgYTp2aXNpdGVkIHtcblx0Y29sb3I6ICMyYjJiMmI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi51aS1zdGF0ZS1hY3RpdmUsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWFjdGl2ZSxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1hY3RpdmUge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjMDAzZWZmO1xuXHRiYWNrZ3JvdW5kOiAjMDA3ZmZmO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRjb2xvcjogI2ZmZmZmZjtcbn1cbi51aS1zdGF0ZS1hY3RpdmUgYSxcbi51aS1zdGF0ZS1hY3RpdmUgYTpsaW5rLFxuLnVpLXN0YXRlLWFjdGl2ZSBhOnZpc2l0ZWQge1xuXHRjb2xvcjogI2ZmZmZmZjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiBJbnRlcmFjdGlvbiBDdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1zdGF0ZS1oaWdobGlnaHQsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhpZ2hsaWdodCxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1oaWdobGlnaHQge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjZGFkNTVlO1xuXHRiYWNrZ3JvdW5kOiAjZmZmYTkwO1xuXHRjb2xvcjogIzc3NzYyMDtcbn1cbi51aS1zdGF0ZS1oaWdobGlnaHQgYSxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaGlnaGxpZ2h0IGEsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaGlnaGxpZ2h0IGEge1xuXHRjb2xvcjogIzc3NzYyMDtcbn1cbi51aS1zdGF0ZS1lcnJvcixcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3IsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3Ige1xuXHRib3JkZXI6IDFweCBzb2xpZCAjZjFhODk5O1xuXHRiYWNrZ3JvdW5kOiAjZmRkZmRmO1xuXHRjb2xvcjogIzVmM2YzZjtcbn1cbi51aS1zdGF0ZS1lcnJvciBhLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvciBhLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yIGEge1xuXHRjb2xvcjogIzVmM2YzZjtcbn1cbi51aS1zdGF0ZS1lcnJvci10ZXh0LFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvci10ZXh0LFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yLXRleHQge1xuXHRjb2xvcjogIzVmM2YzZjtcbn1cbi51aS1wcmlvcml0eS1wcmltYXJ5LFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1wcmltYXJ5LFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXByaW9yaXR5LXByaW1hcnkge1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cbi51aS1wcmlvcml0eS1zZWNvbmRhcnksXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXByaW9yaXR5LXNlY29uZGFyeSxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1wcmlvcml0eS1zZWNvbmRhcnkge1xuXHRvcGFjaXR5OiAuNztcblx0ZmlsdGVyOkFscGhhKE9wYWNpdHk9NzApOyAvKiBzdXBwb3J0OiBJRTggKi9cblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbi51aS1zdGF0ZS1kaXNhYmxlZCxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGlzYWJsZWQsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZGlzYWJsZWQge1xuXHRvcGFjaXR5OiAuMzU7XG5cdGZpbHRlcjpBbHBoYShPcGFjaXR5PTM1KTsgLyogc3VwcG9ydDogSUU4ICovXG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4udWktc3RhdGUtZGlzYWJsZWQgLnVpLWljb24ge1xuXHRmaWx0ZXI6QWxwaGEoT3BhY2l0eT0zNSk7IC8qIHN1cHBvcnQ6IElFOCAtIFNlZSAjNjA1OSAqL1xufVxuXG4vKiBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIHN0YXRlcyBhbmQgaW1hZ2VzICovXG4udWktaWNvbiB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG4udWktaWNvbixcbi51aS13aWRnZXQtY29udGVudCAudWktaWNvbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImltYWdlcy91aS1pY29uc180NDQ0NDRfMjU2eDI0MC5wbmdcIik7XG59XG4udWktd2lkZ2V0LWhlYWRlciAudWktaWNvbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImltYWdlcy91aS1pY29uc180NDQ0NDRfMjU2eDI0MC5wbmdcIik7XG59XG4udWktc3RhdGUtZGVmYXVsdCAudWktaWNvbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImltYWdlcy91aS1pY29uc183Nzc3NzdfMjU2eDI0MC5wbmdcIik7XG59XG4udWktc3RhdGUtaG92ZXIgLnVpLWljb24sXG4udWktc3RhdGUtZm9jdXMgLnVpLWljb24ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvdWktaWNvbnNfNTU1NTU1XzI1NngyNDAucG5nXCIpO1xufVxuLnVpLXN0YXRlLWFjdGl2ZSAudWktaWNvbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImltYWdlcy91aS1pY29uc19mZmZmZmZfMjU2eDI0MC5wbmdcIik7XG59XG4udWktc3RhdGUtaGlnaGxpZ2h0IC51aS1pY29uIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL3VpLWljb25zXzc3NzYyMF8yNTZ4MjQwLnBuZ1wiKTtcbn1cbi51aS1zdGF0ZS1lcnJvciAudWktaWNvbixcbi51aS1zdGF0ZS1lcnJvci10ZXh0IC51aS1pY29uIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL3VpLWljb25zX2NjMDAwMF8yNTZ4MjQwLnBuZ1wiKTtcbn1cblxuLyogcG9zaXRpb25pbmcgKi9cbi51aS1pY29uLWJsYW5rIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTZweCAxNnB4OyB9XG4udWktaWNvbi1jYXJhdC0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbi51aS1pY29uLWNhcmF0LTEtbmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAwOyB9XG4udWktaWNvbi1jYXJhdC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAwOyB9XG4udWktaWNvbi1jYXJhdC0xLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggMDsgfVxuLnVpLWljb24tY2FyYXQtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggMDsgfVxuLnVpLWljb24tY2FyYXQtMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IDA7IH1cbi51aS1pY29uLWNhcmF0LTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IDA7IH1cbi51aS1pY29uLWNhcmF0LTEtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggMDsgfVxuLnVpLWljb24tY2FyYXQtMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggMDsgfVxuLnVpLWljb24tY2FyYXQtMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggMDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTZweDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMS1uZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNnB4OyB9XG4udWktaWNvbi10cmlhbmdsZS0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTZweDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xNnB4OyB9XG4udWktaWNvbi10cmlhbmdsZS0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTZweDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNnB4OyB9XG4udWktaWNvbi10cmlhbmdsZS0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTZweDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTZweDsgfVxuLnVpLWljb24tdHJpYW5nbGUtMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE2cHg7IH1cbi51aS1pY29uLXRyaWFuZ2xlLTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNnB4OyB9XG4udWktaWNvbi1hcnJvdy0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTMycHg7IH1cbi51aS1pY29uLWFycm93LTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0xLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTMycHg7IH1cbi51aS1pY29uLWFycm93LTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0xLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTMycHg7IH1cbi51aS1pY29uLWFycm93LTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0zMnB4OyB9XG4udWktaWNvbi1hcnJvdy0yLW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMi1uZS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMzJweDsgfVxuLnVpLWljb24tYXJyb3ctMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTMycHg7IH1cbi51aS1pY29uLWFycm93LTItc2UtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTMycHg7IH1cbi51aS1pY29uLWFycm93c3RvcC0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTMycHg7IH1cbi51aS1pY29uLWFycm93c3RvcC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTMycHg7IH1cbi51aS1pY29uLWFycm93c3RvcC0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTMycHg7IH1cbi51aS1pY29uLWFycm93c3RvcC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTMycHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGljay0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGljay0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGljay0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrLTItbmUtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2stMi1zZS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTQ4cHg7IH1cbi51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtNDhweDsgfVxuLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC00OHB4OyB9XG4udWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJuLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC02NHB4OyB9XG4udWktaWNvbi1hcnJvd3JldHVybi0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZXR1cm4tMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTY0cHg7IH1cbi51aS1pY29uLWFycm93cmV0dXJuLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtNjRweDsgfVxuLnVpLWljb24tYXJyb3ctNCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTgwcHg7IH1cbi51aS1pY29uLWFycm93LTQtZGlhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC04MHB4OyB9XG4udWktaWNvbi1leHRsaW5rIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTgwcHg7IH1cbi51aS1pY29uLW5ld3dpbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC04MHB4OyB9XG4udWktaWNvbi1yZWZyZXNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTgwcHg7IH1cbi51aS1pY29uLXNodWZmbGUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtODBweDsgfVxuLnVpLWljb24tdHJhbnNmZXItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTgwcHg7IH1cbi51aS1pY29uLXRyYW5zZmVydGhpY2stZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC04MHB4OyB9XG4udWktaWNvbi1mb2xkZXItY29sbGFwc2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtOTZweDsgfVxuLnVpLWljb24tZm9sZGVyLW9wZW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtOTZweDsgfVxuLnVpLWljb24tZG9jdW1lbnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtOTZweDsgfVxuLnVpLWljb24tZG9jdW1lbnQtYiB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC05NnB4OyB9XG4udWktaWNvbi1ub3RlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTk2cHg7IH1cbi51aS1pY29uLW1haWwtY2xvc2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTk2cHg7IH1cbi51aS1pY29uLW1haWwtb3BlbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC05NnB4OyB9XG4udWktaWNvbi1zdWl0Y2FzZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtOTZweDsgfVxuLnVpLWljb24tY29tbWVudCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtOTZweDsgfVxuLnVpLWljb24tcGVyc29uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC05NnB4OyB9XG4udWktaWNvbi1wcmludCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtOTZweDsgfVxuLnVpLWljb24tdHJhc2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTk2cHg7IH1cbi51aS1pY29uLWxvY2tlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtOTZweDsgfVxuLnVpLWljb24tdW5sb2NrZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTk2cHg7IH1cbi51aS1pY29uLWJvb2ttYXJrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC05NnB4OyB9XG4udWktaWNvbi10YWcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTk2cHg7IH1cbi51aS1pY29uLWhvbWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMTJweDsgfVxuLnVpLWljb24tZmxhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xMTJweDsgfVxuLnVpLWljb24tY2FsZW5kYXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTEycHg7IH1cbi51aS1pY29uLWNhcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTEycHg7IH1cbi51aS1pY29uLXBlbmNpbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xMTJweDsgfVxuLnVpLWljb24tY2xvY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTEycHg7IH1cbi51aS1pY29uLWRpc2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTEycHg7IH1cbi51aS1pY29uLWNhbGN1bGF0b3IgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTExMnB4OyB9XG4udWktaWNvbi16b29taW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTExMnB4OyB9XG4udWktaWNvbi16b29tb3V0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xMTJweDsgfVxuLnVpLWljb24tc2VhcmNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xMTJweDsgfVxuLnVpLWljb24td3JlbmNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0xMTJweDsgfVxuLnVpLWljb24tZ2VhciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMTEycHg7IH1cbi51aS1pY29uLWhlYXJ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xMTJweDsgfVxuLnVpLWljb24tc3RhciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtMTEycHg7IH1cbi51aS1pY29uLWxpbmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTExMnB4OyB9XG4udWktaWNvbi1jYW5jZWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjhweDsgfVxuLnVpLWljb24tcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xMjhweDsgfVxuLnVpLWljb24tcGx1c3RoaWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTEyOHB4OyB9XG4udWktaWNvbi1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xMjhweDsgfVxuLnVpLWljb24tbWludXN0aGljayB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xMjhweDsgfVxuLnVpLWljb24tY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTI4cHg7IH1cbi51aS1pY29uLWNsb3NldGhpY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTI4cHg7IH1cbi51aS1pY29uLWtleSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTI4cHg7IH1cbi51aS1pY29uLWxpZ2h0YnVsYiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTI4cHg7IH1cbi51aS1pY29uLXNjaXNzb3JzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xMjhweDsgfVxuLnVpLWljb24tY2xpcGJvYXJkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xMjhweDsgfVxuLnVpLWljb24tY29weSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTI4cHg7IH1cbi51aS1pY29uLWNvbnRhY3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTEyOHB4OyB9XG4udWktaWNvbi1pbWFnZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMTI4cHg7IH1cbi51aS1pY29uLXZpZGVvIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC0xMjhweDsgfVxuLnVpLWljb24tc2NyaXB0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0xMjhweDsgfVxuLnVpLWljb24tYWxlcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDRweDsgfVxuLnVpLWljb24taW5mbyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNDRweDsgfVxuLnVpLWljb24tbm90aWNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE0NHB4OyB9XG4udWktaWNvbi1oZWxwIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE0NHB4OyB9XG4udWktaWNvbi1jaGVjayB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNDRweDsgfVxuLnVpLWljb24tYnVsbGV0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE0NHB4OyB9XG4udWktaWNvbi1yYWRpby1vbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNDRweDsgfVxuLnVpLWljb24tcmFkaW8tb2ZmIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xNDRweDsgfVxuLnVpLWljb24tcGluLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE0NHB4OyB9XG4udWktaWNvbi1waW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTQ0cHg7IH1cbi51aS1pY29uLXBsYXkgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNjBweDsgfVxuLnVpLWljb24tcGF1c2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTYwcHg7IH1cbi51aS1pY29uLXNlZWstbmV4dCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNjBweDsgfVxuLnVpLWljb24tc2Vlay1wcmV2IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE2MHB4OyB9XG4udWktaWNvbi1zZWVrLWVuZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNjBweDsgfVxuLnVpLWljb24tc2Vlay1zdGFydCB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNjBweDsgfVxuLyogdWktaWNvbi1zZWVrLWZpcnN0IGlzIGRlcHJlY2F0ZWQsIHVzZSB1aS1pY29uLXNlZWstc3RhcnQgaW5zdGVhZCAqL1xuLnVpLWljb24tc2Vlay1maXJzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNjBweDsgfVxuLnVpLWljb24tc3RvcCB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNjBweDsgfVxuLnVpLWljb24tZWplY3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE2MHB4OyB9XG4udWktaWNvbi12b2x1bWUtb2ZmIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xNjBweDsgfVxuLnVpLWljb24tdm9sdW1lLW9uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNjBweDsgfVxuLnVpLWljb24tcG93ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNzZweDsgfVxuLnVpLWljb24tc2lnbmFsLWRpYWcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTc2cHg7IH1cbi51aS1pY29uLXNpZ25hbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNzZweDsgfVxuLnVpLWljb24tYmF0dGVyeS0wIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE3NnB4OyB9XG4udWktaWNvbi1iYXR0ZXJ5LTEgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTc2cHg7IH1cbi51aS1pY29uLWJhdHRlcnktMiB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNzZweDsgfVxuLnVpLWljb24tYmF0dGVyeS0zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE3NnB4OyB9XG4udWktaWNvbi1jaXJjbGUtcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtbWludXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS1hcnJvdy1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLWFycm93LXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE5MnB4OyB9XG4udWktaWNvbi1jaXJjbGUtYXJyb3ctdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS1hcnJvdy1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLXpvb21pbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTkycHg7IH1cbi51aS1pY29uLWNpcmNsZS16b29tb3V0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlLWNoZWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xOTJweDsgfVxuLnVpLWljb24tY2lyY2xlc21hbGwtcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIwOHB4OyB9XG4udWktaWNvbi1jaXJjbGVzbWFsbC1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0yMDhweDsgfVxuLnVpLWljb24tY2lyY2xlc21hbGwtY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMjA4cHg7IH1cbi51aS1pY29uLXNxdWFyZXNtYWxsLXBsdXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMjA4cHg7IH1cbi51aS1pY29uLXNxdWFyZXNtYWxsLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTIwOHB4OyB9XG4udWktaWNvbi1zcXVhcmVzbWFsbC1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0yMDhweDsgfVxuLnVpLWljb24tZ3JpcC1kb3R0ZWQtdmVydGljYWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMjRweDsgfVxuLnVpLWljb24tZ3JpcC1kb3R0ZWQtaG9yaXpvbnRhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0yMjRweDsgfVxuLnVpLWljb24tZ3JpcC1zb2xpZC12ZXJ0aWNhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0yMjRweDsgfVxuLnVpLWljb24tZ3JpcC1zb2xpZC1ob3Jpem9udGFsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTIyNHB4OyB9XG4udWktaWNvbi1ncmlwc21hbGwtZGlhZ29uYWwtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMjI0cHg7IH1cbi51aS1pY29uLWdyaXAtZGlhZ29uYWwtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMjI0cHg7IH1cblxuXG4vKiBNaXNjIHZpc3VhbHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBDb3JuZXIgcmFkaXVzICovXG4udWktY29ybmVyLWFsbCxcbi51aS1jb3JuZXItdG9wLFxuLnVpLWNvcm5lci1sZWZ0LFxuLnVpLWNvcm5lci10bCB7XG5cdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbn1cbi51aS1jb3JuZXItYWxsLFxuLnVpLWNvcm5lci10b3AsXG4udWktY29ybmVyLXJpZ2h0LFxuLnVpLWNvcm5lci10ciB7XG5cdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XG59XG4udWktY29ybmVyLWFsbCxcbi51aS1jb3JuZXItYm90dG9tLFxuLnVpLWNvcm5lci1sZWZ0LFxuLnVpLWNvcm5lci1ibCB7XG5cdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbn1cbi51aS1jb3JuZXItYWxsLFxuLnVpLWNvcm5lci1ib3R0b20sXG4udWktY29ybmVyLXJpZ2h0LFxuLnVpLWNvcm5lci1iciB7XG5cdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG59XG5cbi8qIE92ZXJsYXlzICovXG4udWktd2lkZ2V0LW92ZXJsYXkge1xuXHRiYWNrZ3JvdW5kOiAjYWFhYWFhO1xuXHRvcGFjaXR5OiAuMztcblx0ZmlsdGVyOiBBbHBoYShPcGFjaXR5PTMwKTsgLyogc3VwcG9ydDogSUU4ICovXG59XG4udWktd2lkZ2V0LXNoYWRvdyB7XG5cdG1hcmdpbjogMHB4IDAgMCAwcHg7XG5cdHBhZGRpbmc6IDVweDtcblx0YmFja2dyb3VuZDogIzY2NjY2Njtcblx0b3BhY2l0eTogLjM7XG5cdGZpbHRlcjogQWxwaGEoT3BhY2l0eT0zMCk7IC8qIHN1cHBvcnQ6IElFOCAqL1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG59XG4iXX0= */
assets/css/lae-frontend.css CHANGED
@@ -48,209 +48,280 @@
48
  clear: both;
49
  content: "";
50
  display: block; }
51
- .lae-grid-container .lae-onecol, .lae-grid-container .lae-twocol, .lae-grid-container .lae-threecol, .lae-grid-container .lae-fourcol, .lae-grid-container .lae-fivecol, .lae-grid-container .lae-sixcol, .lae-grid-container .lae-sevencol, .lae-grid-container .lae-eightcol, .lae-grid-container .lae-ninecol, .lae-grid-container .lae-tencol, .lae-grid-container .lae-elevencol, .lae-grid-container .lae-twelvecol {
52
  min-height: 1px;
53
  /* Prevents columns from collapsing when housing absolute elements or when lazy loading content */ }
54
- .lae-grid-container .lae-onecol, .lae-grid-container .lae-twocol {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55
  width: calc(50% - 30px);
56
  float: left;
57
  margin-left: 20px; }
58
- .lae-grid-container .lae-threecol, .lae-grid-container .lae-fourcol, .lae-grid-container .lae-fivecol, .lae-grid-container .lae-sixcol, .lae-grid-container .lae-sevencol, .lae-grid-container .lae-eightcol, .lae-grid-container .lae-ninecol, .lae-grid-container .lae-tencol, .lae-grid-container .lae-elevencol, .lae-grid-container .lae-twelvecol {
59
- width: calc(100% - 40px);
 
 
 
 
 
 
 
 
 
 
 
 
60
  float: left;
61
  margin-left: 20px; }
62
- @media (max-width: 479px) {
63
- .lae-grid-container .lae-onecol:nth-child(2n+1), .lae-grid-container .lae-twocol:nth-child(2n+1) {
64
- clear: left; } }
65
  @media only screen and (min-width: 480px) {
66
- .lae-grid-container .lae-onecol, .lae-grid-container .lae-twocol {
67
- width: calc(33.33333% - 26.66667px);
68
  float: left;
69
  margin-left: 20px; }
70
- .lae-grid-container .lae-threecol, .lae-grid-container .lae-fourcol, .lae-grid-container .lae-fivecol, .lae-grid-container .lae-sixcol, .lae-grid-container .lae-sevencol, .lae-grid-container .lae-eightcol, .lae-grid-container .lae-ninecol {
71
  width: calc(50% - 30px);
72
  float: left;
73
  margin-left: 20px; }
74
- .lae-grid-container .lae-tencol, .lae-grid-container .lae-elevencol {
75
- width: calc(66.66667% - 33.33333px);
76
- float: left;
77
- margin-left: 20px; }
78
- .lae-grid-container .lae-twelvecol {
79
- width: calc(100% - 40px);
80
- float: left;
81
- margin-left: 20px; } }
82
- @media (min-width: 480px) and (max-width: 800px) {
83
- .lae-grid-container .lae-onecol:nth-child(3n+1), .lae-grid-container .lae-twocol:nth-child(3n+1) {
84
- clear: left; }
85
- .lae-grid-container .lae-threecol:nth-child(2n+1), .lae-grid-container .lae-fourcol:nth-child(2n+1), .lae-grid-container .lae-fivecol:nth-child(2n+1), .lae-grid-container .lae-sixcol:nth-child(2n+1), .lae-grid-container .lae-sevencol:nth-child(2n+1), .lae-grid-container .lae-eightcol:nth-child(2n+1), .lae-grid-container .lae-ninecol:nth-child(2n+1) {
86
- clear: left; } }
87
- @media only screen and (min-width: 801px) {
88
- .lae-grid-container .lae-onecol {
89
- width: calc(8.33333% - 21.66667px);
90
- float: left;
91
- margin-left: 20px; }
92
- .lae-grid-container .lae-onecol:nth-child(12n+1) {
93
- clear: left; }
94
- .lae-grid-container .lae-twocol {
95
- width: calc(16.66667% - 23.33333px);
96
  float: left;
97
  margin-left: 20px; }
98
- .lae-grid-container .lae-twocol:nth-child(6n+1) {
99
- clear: left; }
100
- .lae-grid-container .lae-threecol {
101
  width: calc(25% - 25px);
102
  float: left;
103
  margin-left: 20px; }
104
- .lae-grid-container .lae-threecol:nth-child(4n+1) {
105
- clear: left; }
106
- .lae-grid-container .lae-fourcol {
107
- width: calc(33.33333% - 26.66667px);
108
- float: left;
109
- margin-left: 20px; }
110
- .lae-grid-container .lae-fourcol:nth-child(3n+1) {
111
- clear: left; }
112
- .lae-grid-container .lae-fivecol {
113
- width: calc(41.66667% - 28.33333px);
114
  float: left;
115
  margin-left: 20px; }
116
- .lae-grid-container .lae-sixcol {
117
- width: calc(50% - 30px);
118
  float: left;
119
- margin-left: 20px; }
120
- .lae-grid-container .lae-sixcol:nth-child(2n+1) {
121
- clear: left; }
122
- .lae-grid-container .lae-sevencol {
123
- width: calc(58.33333% - 31.66667px);
124
  float: left;
125
  margin-left: 20px; }
126
- .lae-grid-container .lae-eightcol {
127
- width: calc(66.66667% - 33.33333px);
128
  float: left;
129
  margin-left: 20px; }
130
- .lae-grid-container .lae-ninecol {
131
- width: calc(75% - 35px);
132
  float: left;
133
  margin-left: 20px; }
134
- .lae-grid-container .lae-tencol {
135
- width: calc(83.33333% - 36.66667px);
136
  float: left;
137
  margin-left: 20px; }
138
- .lae-grid-container .lae-elevencol {
139
- width: calc(91.66667% - 38.33333px);
140
  float: left;
141
  margin-left: 20px; }
142
- .lae-grid-container .lae-twelvecol {
143
- width: calc(100% - 40px);
144
  float: left;
145
  margin-left: 20px; } }
146
 
147
- /*--------- Support for 5 column grid ----*/
148
- .lae-grid-container .lae-onefifth {
149
- min-height: 1px; }
150
- .lae-grid-container .lae-onefifth {
151
- width: calc(100% - 40px);
152
- float: left;
153
- margin-left: 20px; }
154
- @media only screen and (min-width: 480px) {
155
- .lae-grid-container .lae-onefifth {
156
- width: calc(50% - 30px);
157
- float: left;
158
- margin-left: 20px; } }
159
- @media (min-width: 480px) and (max-width: 800px) {
160
- .lae-grid-container .lae-onefifth:nth-child(2n+1) {
161
- clear: left; } }
162
- @media only screen and (min-width: 801px) {
163
- .lae-grid-container .lae-onefifth {
164
- width: calc(20% - 24px);
165
- float: left;
166
- margin-left: 20px; }
167
- .lae-grid-container .lae-onefifth:nth-child(5n+1) {
168
- clear: left; } }
169
-
170
  /*--------- Gapless grid columns ----*/
171
- .lae-gapless-grid.lae-grid-container, .lae-gapless-grid .lae-grid-container {
172
- margin-left: 0px;
173
- margin-right: 0px;
174
  width: auto; }
175
- .lae-gapless-grid .lae-onecol, .lae-gapless-grid .lae-twocol {
176
- width: calc(50%);
177
- float: left;
178
- margin-left: 0px; }
179
- .lae-gapless-grid .lae-threecol, .lae-gapless-grid .lae-fourcol, .lae-gapless-grid .lae-fivecol, .lae-gapless-grid .lae-sixcol, .lae-gapless-grid .lae-sevencol, .lae-gapless-grid .lae-eightcol, .lae-gapless-grid .lae-ninecol, .lae-gapless-grid .lae-tencol, .lae-gapless-grid .lae-elevencol, .lae-gapless-grid .lae-twelvecol, .lae-gapless-grid .lae-onefifth {
180
- width: calc(100%);
181
- float: left;
182
- margin-left: 0px; }
183
- @media only screen and (min-width: 480px) {
184
- .lae-gapless-grid .lae-onecol, .lae-gapless-grid .lae-twocol {
185
- width: calc(33.33333%);
186
  float: left;
187
  margin-left: 0px; }
188
- .lae-gapless-grid .lae-threecol, .lae-gapless-grid .lae-fourcol, .lae-gapless-grid .lae-fivecol, .lae-gapless-grid .lae-sixcol, .lae-gapless-grid .lae-sevencol, .lae-gapless-grid .lae-eightcol, .lae-gapless-grid .lae-ninecol, .lae-gapless-grid .lae-onefifth {
189
  width: calc(50%);
190
  float: left;
191
  margin-left: 0px; }
192
- .lae-gapless-grid .lae-tencol, .lae-gapless-grid .lae-elevencol {
193
- width: calc(66.66667%);
194
  float: left;
195
  margin-left: 0px; }
196
- .lae-gapless-grid .lae-twelvecol {
197
- width: calc(100%);
198
- float: left;
199
- margin-left: 0px; } }
200
- @media only screen and (min-width: 801px) {
201
- .lae-gapless-grid .lae-onecol {
202
- width: calc(8.33333%);
203
  float: left;
204
  margin-left: 0px; }
205
- .lae-gapless-grid .lae-twocol {
206
- width: calc(16.66667%);
207
  float: left;
208
  margin-left: 0px; }
209
- .lae-gapless-grid .lae-threecol {
210
- width: calc(25%);
211
  float: left;
212
  margin-left: 0px; }
213
- .lae-gapless-grid .lae-fourcol {
214
- width: calc(33.33333%);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
215
  float: left;
216
  margin-left: 0px; }
217
- .lae-gapless-grid .lae-fivecol {
218
- width: calc(41.66667%);
219
  float: left;
220
  margin-left: 0px; }
221
- .lae-gapless-grid .lae-sixcol {
222
  width: calc(50%);
223
  float: left;
224
  margin-left: 0px; }
225
- .lae-gapless-grid .lae-sevencol {
226
- width: calc(58.33333%);
227
- float: left;
228
- margin-left: 0px; }
229
- .lae-gapless-grid .lae-eightcol {
230
  width: calc(66.66667%);
231
  float: left;
232
  margin-left: 0px; }
233
- .lae-gapless-grid .lae-ninecol {
234
- width: calc(75%);
235
  float: left;
236
  margin-left: 0px; }
237
- .lae-gapless-grid .lae-tencol {
238
- width: calc(83.33333%);
239
  float: left;
240
  margin-left: 0px; }
241
- .lae-gapless-grid .lae-elevencol {
242
- width: calc(91.66667%);
243
  float: left;
244
  margin-left: 0px; }
245
- .lae-gapless-grid .lae-twelvecol {
246
- width: calc(100%);
247
- float: left;
248
- margin-left: 0px; } }
249
- @media only screen and (min-width: 801px) {
250
- .lae-gapless-grid .lae-onefifth {
251
- width: calc(20%);
252
- float: left;
253
- margin-left: 0px; } }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
254
 
255
  /* --------------- Flexslider Styles -------------- */
256
  .lae-container .lae-thumbnailslider.lae-flexslider {
48
  clear: both;
49
  content: "";
50
  display: block; }
51
+ .lae-grid-container .lae-grid-item {
52
  min-height: 1px;
53
  /* Prevents columns from collapsing when housing absolute elements or when lazy loading content */ }
54
+ @media (max-width: 479px) {
55
+ .lae-grid-container.lae-grid-mobile-2 .lae-grid-item:nth-child(2n+1) {
56
+ clear: left; }
57
+ .lae-grid-container.lae-grid-mobile-3 .lae-grid-item:nth-child(3n+1) {
58
+ clear: left; }
59
+ .lae-grid-container.lae-grid-mobile-4 .lae-grid-item:nth-child(4n+1) {
60
+ clear: left; }
61
+ .lae-grid-container.lae-grid-mobile-5 .lae-grid-item:nth-child(5n+1) {
62
+ clear: left; }
63
+ .lae-grid-container.lae-grid-mobile-6 .lae-grid-item:nth-child(6n+1) {
64
+ clear: left; } }
65
+ @media (min-width: 480px) and (max-width: 800px) {
66
+ .lae-grid-container.lae-grid-tablet-2 .lae-grid-item:nth-child(2n+1) {
67
+ clear: left; }
68
+ .lae-grid-container.lae-grid-tablet-3 .lae-grid-item:nth-child(3n+1) {
69
+ clear: left; }
70
+ .lae-grid-container.lae-grid-tablet-4 .lae-grid-item:nth-child(4n+1) {
71
+ clear: left; }
72
+ .lae-grid-container.lae-grid-tablet-5 .lae-grid-item:nth-child(5n+1) {
73
+ clear: left; }
74
+ .lae-grid-container.lae-grid-tablet-6 .lae-grid-item:nth-child(6n+1) {
75
+ clear: left; } }
76
+ @media only screen and (min-width: 801px) {
77
+ .lae-grid-container.lae-grid-desktop-2 .lae-grid-item:nth-child(2n+1) {
78
+ clear: left; }
79
+ .lae-grid-container.lae-grid-desktop-3 .lae-grid-item:nth-child(3n+1) {
80
+ clear: left; }
81
+ .lae-grid-container.lae-grid-desktop-4 .lae-grid-item:nth-child(4n+1) {
82
+ clear: left; }
83
+ .lae-grid-container.lae-grid-desktop-5 .lae-grid-item:nth-child(5n+1) {
84
+ clear: left; }
85
+ .lae-grid-container.lae-grid-desktop-6 .lae-grid-item:nth-child(6n+1) {
86
+ clear: left; } }
87
+ .lae-grid-container.lae-grid-mobile-1 .lae-grid-item {
88
+ width: calc(100% - 40px);
89
+ float: left;
90
+ margin-left: 20px; }
91
+ .lae-grid-container.lae-grid-mobile-2 .lae-grid-item {
92
  width: calc(50% - 30px);
93
  float: left;
94
  margin-left: 20px; }
95
+ .lae-grid-container.lae-grid-mobile-3 .lae-grid-item {
96
+ width: calc(33.33333% - 26.66667px);
97
+ float: left;
98
+ margin-left: 20px; }
99
+ .lae-grid-container.lae-grid-mobile-4 .lae-grid-item {
100
+ width: calc(25% - 25px);
101
+ float: left;
102
+ margin-left: 20px; }
103
+ .lae-grid-container.lae-grid-mobile-5 .lae-grid-item {
104
+ width: calc(20% - 24px);
105
+ float: left;
106
+ margin-left: 20px; }
107
+ .lae-grid-container.lae-grid-mobile-6 .lae-grid-item {
108
+ width: calc(16.66667% - 23.33333px);
109
  float: left;
110
  margin-left: 20px; }
 
 
 
111
  @media only screen and (min-width: 480px) {
112
+ .lae-grid-container.lae-grid-tablet-1 .lae-grid-item {
113
+ width: calc(100% - 40px);
114
  float: left;
115
  margin-left: 20px; }
116
+ .lae-grid-container.lae-grid-tablet-2 .lae-grid-item {
117
  width: calc(50% - 30px);
118
  float: left;
119
  margin-left: 20px; }
120
+ .lae-grid-container.lae-grid-tablet-3 .lae-grid-item {
121
+ width: calc(33.33333% - 26.66667px);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
122
  float: left;
123
  margin-left: 20px; }
124
+ .lae-grid-container.lae-grid-tablet-4 .lae-grid-item {
 
 
125
  width: calc(25% - 25px);
126
  float: left;
127
  margin-left: 20px; }
128
+ .lae-grid-container.lae-grid-tablet-5 .lae-grid-item {
129
+ width: calc(20% - 24px);
 
 
 
 
 
 
 
 
130
  float: left;
131
  margin-left: 20px; }
132
+ .lae-grid-container.lae-grid-tablet-6 .lae-grid-item {
133
+ width: calc(16.66667% - 23.33333px);
134
  float: left;
135
+ margin-left: 20px; } }
136
+ @media only screen and (min-width: 801px) {
137
+ .lae-grid-container.lae-grid-desktop-1 .lae-grid-item {
138
+ width: calc(100% - 40px);
 
139
  float: left;
140
  margin-left: 20px; }
141
+ .lae-grid-container.lae-grid-desktop-2 .lae-grid-item {
142
+ width: calc(50% - 30px);
143
  float: left;
144
  margin-left: 20px; }
145
+ .lae-grid-container.lae-grid-desktop-3 .lae-grid-item {
146
+ width: calc(33.33333% - 26.66667px);
147
  float: left;
148
  margin-left: 20px; }
149
+ .lae-grid-container.lae-grid-desktop-4 .lae-grid-item {
150
+ width: calc(25% - 25px);
151
  float: left;
152
  margin-left: 20px; }
153
+ .lae-grid-container.lae-grid-desktop-5 .lae-grid-item {
154
+ width: calc(20% - 24px);
155
  float: left;
156
  margin-left: 20px; }
157
+ .lae-grid-container.lae-grid-desktop-6 .lae-grid-item {
158
+ width: calc(16.66667% - 23.33333px);
159
  float: left;
160
  margin-left: 20px; } }
161
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
162
  /*--------- Gapless grid columns ----*/
163
+ .lae-gapless-grid .lae-grid-container {
164
+ margin-left: 0;
165
+ margin-right: 0;
166
  width: auto; }
167
+ .lae-gapless-grid .lae-grid-container.lae-grid-mobile-1 .lae-grid-item {
168
+ width: calc(100%);
 
 
 
 
 
 
 
 
 
169
  float: left;
170
  margin-left: 0px; }
171
+ .lae-gapless-grid .lae-grid-container.lae-grid-mobile-2 .lae-grid-item {
172
  width: calc(50%);
173
  float: left;
174
  margin-left: 0px; }
175
+ .lae-gapless-grid .lae-grid-container.lae-grid-mobile-3 .lae-grid-item {
176
+ width: calc(33.33333%);
177
  float: left;
178
  margin-left: 0px; }
179
+ .lae-gapless-grid .lae-grid-container.lae-grid-mobile-4 .lae-grid-item {
180
+ width: calc(25%);
 
 
 
 
 
181
  float: left;
182
  margin-left: 0px; }
183
+ .lae-gapless-grid .lae-grid-container.lae-grid-mobile-5 .lae-grid-item {
184
+ width: calc(20%);
185
  float: left;
186
  margin-left: 0px; }
187
+ .lae-gapless-grid .lae-grid-container.lae-grid-mobile-6 .lae-grid-item {
188
+ width: calc(16.66667%);
189
  float: left;
190
  margin-left: 0px; }
191
+ @media only screen and (min-width: 480px) {
192
+ .lae-gapless-grid .lae-grid-container.lae-grid-tablet-1 .lae-grid-item {
193
+ width: calc(100%);
194
+ float: left;
195
+ margin-left: 0px; }
196
+ .lae-gapless-grid .lae-grid-container.lae-grid-tablet-2 .lae-grid-item {
197
+ width: calc(50%);
198
+ float: left;
199
+ margin-left: 0px; }
200
+ .lae-gapless-grid .lae-grid-container.lae-grid-tablet-3 .lae-grid-item {
201
+ width: calc(33.33333%);
202
+ float: left;
203
+ margin-left: 0px; }
204
+ .lae-gapless-grid .lae-grid-container.lae-grid-tablet-4 .lae-grid-item {
205
+ width: calc(25%);
206
+ float: left;
207
+ margin-left: 0px; }
208
+ .lae-gapless-grid .lae-grid-container.lae-grid-tablet-5 .lae-grid-item {
209
+ width: calc(20%);
210
+ float: left;
211
+ margin-left: 0px; }
212
+ .lae-gapless-grid .lae-grid-container.lae-grid-tablet-6 .lae-grid-item {
213
+ width: calc(16.66667%);
214
+ float: left;
215
+ margin-left: 0px; } }
216
+ @media only screen and (min-width: 801px) {
217
+ .lae-gapless-grid .lae-grid-container.lae-grid-desktop-1 .lae-grid-item {
218
+ width: calc(100%);
219
+ float: left;
220
+ margin-left: 0px; }
221
+ .lae-gapless-grid .lae-grid-container.lae-grid-desktop-2 .lae-grid-item {
222
+ width: calc(50%);
223
+ float: left;
224
+ margin-left: 0px; }
225
+ .lae-gapless-grid .lae-grid-container.lae-grid-desktop-3 .lae-grid-item {
226
+ width: calc(33.33333%);
227
+ float: left;
228
+ margin-left: 0px; }
229
+ .lae-gapless-grid .lae-grid-container.lae-grid-desktop-4 .lae-grid-item {
230
+ width: calc(25%);
231
+ float: left;
232
+ margin-left: 0px; }
233
+ .lae-gapless-grid .lae-grid-container.lae-grid-desktop-5 .lae-grid-item {
234
+ width: calc(20%);
235
+ float: left;
236
+ margin-left: 0px; }
237
+ .lae-gapless-grid .lae-grid-container.lae-grid-desktop-6 .lae-grid-item {
238
+ width: calc(16.66667%);
239
+ float: left;
240
+ margin-left: 0px; } }
241
+
242
+ /* ---------- Masonry Layout Grid columns -------------*/
243
+ .lae-gapless-grid .lae-masonry {
244
+ /* Clear the omega for masonry layout */ }
245
+ .lae-gapless-grid .lae-masonry .lae-grid-item {
246
+ clear: none !important; }
247
+ .lae-gapless-grid .lae-masonry .lae-grid-sizer {
248
+ width: calc(8.33333%);
249
  float: left;
250
  margin-left: 0px; }
251
+ .lae-gapless-grid .lae-masonry.lae-grid-mobile-1 .lae-grid-item.lae-wide {
252
+ width: calc(100%);
253
  float: left;
254
  margin-left: 0px; }
255
+ .lae-gapless-grid .lae-masonry.lae-grid-mobile-2 .lae-grid-item.lae-wide {
256
  width: calc(50%);
257
  float: left;
258
  margin-left: 0px; }
259
+ .lae-gapless-grid .lae-masonry.lae-grid-mobile-3 .lae-grid-item.lae-wide {
 
 
 
 
260
  width: calc(66.66667%);
261
  float: left;
262
  margin-left: 0px; }
263
+ .lae-gapless-grid .lae-masonry.lae-grid-mobile-4 .lae-grid-item.lae-wide {
264
+ width: calc(50%);
265
  float: left;
266
  margin-left: 0px; }
267
+ .lae-gapless-grid .lae-masonry.lae-grid-mobile-5 .lae-grid-item.lae-wide {
268
+ width: calc(40%);
269
  float: left;
270
  margin-left: 0px; }
271
+ .lae-gapless-grid .lae-masonry.lae-grid-mobile-6 .lae-grid-item.lae-wide {
272
+ width: calc(33.33333%);
273
  float: left;
274
  margin-left: 0px; }
275
+ @media only screen and (min-width: 480px) {
276
+ .lae-gapless-grid .lae-masonry.lae-grid-tablet-1 .lae-grid-item.lae-wide {
277
+ width: calc(100%);
278
+ float: left;
279
+ margin-left: 0px; }
280
+ .lae-gapless-grid .lae-masonry.lae-grid-tablet-2 .lae-grid-item.lae-wide {
281
+ width: calc(50%);
282
+ float: left;
283
+ margin-left: 0px; }
284
+ .lae-gapless-grid .lae-masonry.lae-grid-tablet-3 .lae-grid-item.lae-wide {
285
+ width: calc(66.66667%);
286
+ float: left;
287
+ margin-left: 0px; }
288
+ .lae-gapless-grid .lae-masonry.lae-grid-tablet-4 .lae-grid-item.lae-wide {
289
+ width: calc(50%);
290
+ float: left;
291
+ margin-left: 0px; }
292
+ .lae-gapless-grid .lae-masonry.lae-grid-tablet-5 .lae-grid-item.lae-wide {
293
+ width: calc(40%);
294
+ float: left;
295
+ margin-left: 0px; }
296
+ .lae-gapless-grid .lae-masonry.lae-grid-tablet-6 .lae-grid-item.lae-wide {
297
+ width: calc(33.33333%);
298
+ float: left;
299
+ margin-left: 0px; } }
300
+ @media only screen and (min-width: 801px) {
301
+ .lae-gapless-grid .lae-masonry.lae-grid-desktop-1 .lae-grid-item.lae-wide {
302
+ width: calc(100%);
303
+ float: left;
304
+ margin-left: 0px; }
305
+ .lae-gapless-grid .lae-masonry.lae-grid-desktop-2 .lae-grid-item.lae-wide {
306
+ width: calc(50%);
307
+ float: left;
308
+ margin-left: 0px; }
309
+ .lae-gapless-grid .lae-masonry.lae-grid-desktop-3 .lae-grid-item.lae-wide {
310
+ width: calc(66.66667%);
311
+ float: left;
312
+ margin-left: 0px; }
313
+ .lae-gapless-grid .lae-masonry.lae-grid-desktop-4 .lae-grid-item.lae-wide {
314
+ width: calc(50%);
315
+ float: left;
316
+ margin-left: 0px; }
317
+ .lae-gapless-grid .lae-masonry.lae-grid-desktop-5 .lae-grid-item.lae-wide {
318
+ width: calc(40%);
319
+ float: left;
320
+ margin-left: 0px; }
321
+ .lae-gapless-grid .lae-masonry.lae-grid-desktop-6 .lae-grid-item.lae-wide {
322
+ width: calc(33.33333%);
323
+ float: left;
324
+ margin-left: 0px; } }
325
 
326
  /* --------------- Flexslider Styles -------------- */
327
  .lae-container .lae-thumbnailslider.lae-flexslider {
assets/css/lae-frontend.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["lae-frontend.scss","_lae-lib.scss","../../../../bower_components/neat/core/neat/mixins/_grid-collapse.scss","../../../../bower_components/neat/core/neat/mixins/_grid-container.scss","../../../../bower_components/neat/core/neat/mixins/_grid-column.scss","../../../../bower_components/neat/core/neat/functions/_neat-float-direction.scss","../../../../bower_components/neat/core/neat/mixins/_grid-media.scss"],"names":[],"mappings":"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","file":"lae-frontend.css"}
1
+ {"version":3,"sources":["lae-frontend.scss","_lae-lib.scss","../../../../bower_components/neat/core/neat/mixins/_grid-collapse.scss","../../../../bower_components/neat/core/neat/mixins/_grid-container.scss","../../../../bower_components/neat/core/neat/mixins/_grid-media.scss","../../../../bower_components/neat/core/neat/mixins/_grid-column.scss","../../../../bower_components/neat/core/neat/functions/_neat-float-direction.scss"],"names":[],"mappings":"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","file":"lae-frontend.css"}
assets/css/lae-frontend.scss CHANGED
@@ -50,244 +50,503 @@
50
  @include grid-container;
51
  @include grid-collapse();
52
 
53
- .lae-onecol, .lae-twocol, .lae-threecol, .lae-fourcol, .lae-fivecol, .lae-sixcol, .lae-sevencol, .lae-eightcol, .lae-ninecol, .lae-tencol, .lae-elevencol, .lae-twelvecol {
54
  min-height: 1px; /* Prevents columns from collapsing when housing absolute elements or when lazy loading content */
55
  }
56
 
57
- .lae-onecol, .lae-twocol {
58
- @include grid-column(1, $lae-mobile-grid);
59
- }
60
-
61
- .lae-threecol, .lae-fourcol, .lae-fivecol, .lae-sixcol, .lae-sevencol, .lae-eightcol, .lae-ninecol, .lae-tencol, .lae-elevencol, .lae-twelvecol {
62
- @include grid-column(2, $lae-mobile-grid);
63
- }
64
 
65
  @include grid-media($lae-mobile-only-grid) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
 
67
- .lae-onecol, .lae-twocol {
68
- @include omega(2n);
 
 
69
  }
70
  }
71
 
72
- @include grid-media($lae-tablet-grid) {
 
 
 
 
 
73
 
74
- .lae-onecol, .lae-twocol {
75
- @include grid-column(2);
 
 
76
  }
77
 
78
- .lae-threecol, .lae-fourcol, .lae-fivecol, .lae-sixcol, .lae-sevencol, .lae-eightcol, .lae-ninecol {
79
- @include grid-column(3);
 
 
80
  }
81
 
82
- .lae-tencol, .lae-elevencol {
83
- @include grid-column(4);
 
 
84
  }
85
 
86
- .lae-twelvecol {
87
- @include grid-column(6);
 
 
88
  }
89
  }
 
 
 
 
 
 
90
 
91
- @include grid-media($lae-tablet-only-grid) {
 
 
 
 
92
 
93
- .lae-onecol, .lae-twocol {
94
- @include omega(3n);
 
 
 
 
 
 
 
 
95
  }
96
 
97
- .lae-threecol, .lae-fourcol, .lae-fivecol, .lae-sixcol, .lae-sevencol, .lae-eightcol, .lae-ninecol {
98
- @include omega(2n);
 
 
99
  }
100
  }
101
 
102
- @include grid-media($lae-desktop-grid) {
103
 
104
- .lae-onecol {
105
- @include grid-column(1);
106
- @include omega(12n);
107
- }
108
 
109
- .lae-twocol {
110
- @include grid-column(2);
111
- @include omega(6n);
 
112
  }
 
 
113
 
114
- .lae-threecol {
115
- @include grid-column(3);
116
- @include omega(4n);
117
  }
 
 
 
118
 
119
- .lae-fourcol {
120
  @include grid-column(4);
121
- @include omega(3n);
122
  }
 
 
 
123
 
124
- .lae-fivecol {
125
- @include grid-column(5);
126
  }
 
127
 
128
- .lae-sixcol {
129
- @include grid-column(6);
130
- @include omega(2n);
 
131
  }
 
132
 
133
- .lae-sevencol {
134
- @include grid-column(7);
 
 
135
  }
 
136
 
137
- .lae-eightcol {
138
- @include grid-column(8);
 
 
 
 
 
139
  }
 
140
 
141
- .lae-ninecol {
142
- @include grid-column(9);
 
143
  }
144
 
145
- .lae-tencol {
146
- @include grid-column(10);
 
 
 
147
  }
148
 
149
- .lae-elevencol {
150
- @include grid-column(11);
 
 
 
151
  }
152
 
153
- .lae-twelvecol {
154
- @include grid-column(12);
 
 
 
 
 
 
 
 
 
 
155
  }
156
  }
157
 
158
- }
159
- /*--------- Support for 5 column grid ----*/
160
 
161
- .lae-grid-container {
162
 
163
- .lae-onefifth {
164
- min-height: 1px;
165
- }
 
 
166
 
167
- .lae-onefifth {
168
- @include grid-column(2, $lae-mobile-grid);
169
- }
 
170
 
171
- @include grid-media($lae-tablet-grid) {
172
 
173
- .lae-onefifth {
174
- @include grid-column(3);
 
175
  }
176
 
177
- }
178
- @include grid-media($lae-tablet-only-grid) {
179
 
180
- .lae-onefifth {
181
- @include omega(2n);
 
182
  }
183
 
184
- }
 
 
 
 
 
185
 
186
- @include grid-media($lae-five-col-grid) {
187
 
188
- .lae-onefifth {
189
- @include grid-column(1);
190
- @include omega(5n);
191
  }
192
  }
193
  }
194
-
195
  /*--------- Gapless grid columns ----*/
196
 
197
  .lae-gapless-grid {
198
 
199
- &.lae-grid-container, & .lae-grid-container {
200
- margin-left: 0px;
201
- margin-right: 0px;
202
  width: auto;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
203
  }
 
204
 
205
- .lae-onecol, .lae-twocol {
206
- @include grid-column(1, $lae-gapless-mobile-grid);
 
 
 
 
 
207
  }
208
 
209
- .lae-threecol, .lae-fourcol, .lae-fivecol, .lae-sixcol, .lae-sevencol, .lae-eightcol, .lae-ninecol, .lae-tencol, .lae-elevencol, .lae-twelvecol, .lae-onefifth {
210
- @include grid-column(2, $lae-gapless-mobile-grid);
211
  }
212
 
213
- @include grid-media($lae-gapless-tablet-grid) {
214
 
215
- .lae-onecol, .lae-twocol {
216
- @include grid-column(2);
217
  }
 
 
218
 
219
- .lae-threecol, .lae-fourcol, .lae-fivecol, .lae-sixcol, .lae-sevencol, .lae-eightcol, .lae-ninecol, .lae-onefifth {
220
- @include grid-column(3);
221
  }
 
222
 
223
- .lae-tencol, .lae-elevencol {
224
- @include grid-column(4);
 
 
225
  }
 
226
 
227
- .lae-twelvecol {
228
- @include grid-column(6);
 
 
229
  }
230
  }
231
 
232
- @include grid-media($lae-gapless-desktop-grid) {
233
 
234
- .lae-onecol {
235
- @include grid-column(1);
236
  }
 
237
 
238
- .lae-twocol {
239
- @include grid-column(2);
 
 
240
  }
 
241
 
242
- .lae-threecol {
243
- @include grid-column(3);
 
 
 
 
 
244
  }
 
245
 
246
- .lae-fourcol {
247
- @include grid-column(4);
 
248
  }
249
 
250
- .lae-fivecol {
251
- @include grid-column(5);
 
 
 
252
  }
253
 
254
- .lae-sixcol {
255
- @include grid-column(6);
 
 
 
256
  }
257
 
258
- .lae-sevencol {
259
- @include grid-column(7);
 
 
 
260
  }
261
 
262
- .lae-eightcol {
263
- @include grid-column(8);
 
 
 
264
  }
265
 
266
- .lae-ninecol {
267
- @include grid-column(9);
 
 
 
 
 
 
 
 
268
  }
 
269
 
270
- .lae-tencol {
271
- @include grid-column(10);
 
272
  }
273
 
274
- .lae-elevencol {
275
- @include grid-column(11);
 
 
 
276
  }
277
 
278
- .lae-twelvecol {
279
- @include grid-column(12);
 
 
 
280
  }
281
- }
282
 
 
 
 
 
 
 
283
 
284
- @include grid-media($lae-gapless-five-col-grid) {
285
 
286
- .lae-onefifth {
287
- @include grid-column(1);
 
288
  }
289
  }
290
-
291
  }
292
 
293
  /* --------------- Flexslider Styles -------------- */
50
  @include grid-container;
51
  @include grid-collapse();
52
 
53
+ .lae-grid-item {
54
  min-height: 1px; /* Prevents columns from collapsing when housing absolute elements or when lazy loading content */
55
  }
56
 
 
 
 
 
 
 
 
57
 
58
  @include grid-media($lae-mobile-only-grid) {
59
+ &.lae-grid-mobile-2 {
60
+ .lae-grid-item {
61
+ @include omega(2n);
62
+ }
63
+ }
64
+
65
+ &.lae-grid-mobile-3 {
66
+ .lae-grid-item {
67
+ @include omega(3n);
68
+ }
69
+ }
70
+
71
+ &.lae-grid-mobile-4 {
72
+ .lae-grid-item {
73
+ @include omega(4n);
74
+ }
75
+ }
76
+
77
+ &.lae-grid-mobile-5 {
78
+ .lae-grid-item {
79
+ @include omega(5n);
80
+ }
81
+ }
82
 
83
+ &.lae-grid-mobile-6 {
84
+ .lae-grid-item {
85
+ @include omega(6n);
86
+ }
87
  }
88
  }
89
 
90
+ @include grid-media($lae-tablet-only-grid) {
91
+ &.lae-grid-tablet-2 {
92
+ .lae-grid-item {
93
+ @include omega(2n);
94
+ }
95
+ }
96
 
97
+ &.lae-grid-tablet-3 {
98
+ .lae-grid-item {
99
+ @include omega(3n);
100
+ }
101
  }
102
 
103
+ &.lae-grid-tablet-4 {
104
+ .lae-grid-item {
105
+ @include omega(4n);
106
+ }
107
  }
108
 
109
+ &.lae-grid-tablet-5 {
110
+ .lae-grid-item {
111
+ @include omega(5n);
112
+ }
113
  }
114
 
115
+ &.lae-grid-tablet-6 {
116
+ .lae-grid-item {
117
+ @include omega(6n);
118
+ }
119
  }
120
  }
121
+ @include grid-media($lae-desktop-grid) {
122
+ &.lae-grid-desktop-2 {
123
+ .lae-grid-item {
124
+ @include omega(2n);
125
+ }
126
+ }
127
 
128
+ &.lae-grid-desktop-3 {
129
+ .lae-grid-item {
130
+ @include omega(3n);
131
+ }
132
+ }
133
 
134
+ &.lae-grid-desktop-4 {
135
+ .lae-grid-item {
136
+ @include omega(4n);
137
+ }
138
+ }
139
+
140
+ &.lae-grid-desktop-5 {
141
+ .lae-grid-item {
142
+ @include omega(5n);
143
+ }
144
  }
145
 
146
+ &.lae-grid-desktop-6 {
147
+ .lae-grid-item {
148
+ @include omega(6n);
149
+ }
150
  }
151
  }
152
 
 
153
 
 
 
 
 
154
 
155
+ &.lae-grid-mobile-1 {
156
+
157
+ .lae-grid-item {
158
+ @include grid-column(12);
159
  }
160
+ }
161
+ &.lae-grid-mobile-2 {
162
 
163
+ .lae-grid-item {
164
+ @include grid-column(6);
 
165
  }
166
+ }
167
+
168
+ &.lae-grid-mobile-3 {
169
 
170
+ .lae-grid-item {
171
  @include grid-column(4);
 
172
  }
173
+ }
174
+
175
+ &.lae-grid-mobile-4 {
176
 
177
+ .lae-grid-item {
178
+ @include grid-column(3);
179
  }
180
+ }
181
 
182
+ &.lae-grid-mobile-5 {
183
+
184
+ .lae-grid-item {
185
+ @include grid-column(1, $lae-five-col-grid);
186
  }
187
+ }
188
 
189
+ &.lae-grid-mobile-6 {
190
+
191
+ .lae-grid-item {
192
+ @include grid-column(2);
193
  }
194
+ }
195
 
196
+ @include grid-media($lae-tablet-grid) {
197
+
198
+ &.lae-grid-tablet-1 {
199
+
200
+ .lae-grid-item {
201
+ @include grid-column(12);
202
+ }
203
  }
204
+ &.lae-grid-tablet-2 {
205
 
206
+ .lae-grid-item {
207
+ @include grid-column(6);
208
+ }
209
  }
210
 
211
+ &.lae-grid-tablet-3 {
212
+
213
+ .lae-grid-item {
214
+ @include grid-column(4);
215
+ }
216
  }
217
 
218
+ &.lae-grid-tablet-4 {
219
+
220
+ .lae-grid-item {
221
+ @include grid-column(3);
222
+ }
223
  }
224
 
225
+ &.lae-grid-tablet-5 {
226
+
227
+ .lae-grid-item {
228
+ @include grid-column(1, $lae-five-col-grid);
229
+ }
230
+ }
231
+
232
+ &.lae-grid-tablet-6 {
233
+
234
+ .lae-grid-item {
235
+ @include grid-column(2);
236
+ }
237
  }
238
  }
239
 
240
+ @include grid-media($lae-desktop-grid) {
 
241
 
242
+ &.lae-grid-desktop-1 {
243
 
244
+ .lae-grid-item {
245
+ @include grid-column(12);
246
+ }
247
+ }
248
+ &.lae-grid-desktop-2 {
249
 
250
+ .lae-grid-item {
251
+ @include grid-column(6);
252
+ }
253
+ }
254
 
255
+ &.lae-grid-desktop-3 {
256
 
257
+ .lae-grid-item {
258
+ @include grid-column(4);
259
+ }
260
  }
261
 
262
+ &.lae-grid-desktop-4 {
 
263
 
264
+ .lae-grid-item {
265
+ @include grid-column(3);
266
+ }
267
  }
268
 
269
+ &.lae-grid-desktop-5 {
270
+
271
+ .lae-grid-item {
272
+ @include grid-column(1, $lae-five-col-grid);
273
+ }
274
+ }
275
 
276
+ &.lae-grid-desktop-6 {
277
 
278
+ .lae-grid-item {
279
+ @include grid-column(2);
280
+ }
281
  }
282
  }
283
  }
 
284
  /*--------- Gapless grid columns ----*/
285
 
286
  .lae-gapless-grid {
287
 
288
+ .lae-grid-container {
289
+ margin-left: 0;
290
+ margin-right: 0;
291
  width: auto;
292
+
293
+ &.lae-grid-mobile-1 {
294
+
295
+ .lae-grid-item {
296
+ @include grid-column(12, $lae-gapless-grid);
297
+ }
298
+ }
299
+ &.lae-grid-mobile-2 {
300
+
301
+ .lae-grid-item {
302
+ @include grid-column(6, $lae-gapless-grid);
303
+ }
304
+ }
305
+
306
+ &.lae-grid-mobile-3 {
307
+
308
+ .lae-grid-item {
309
+ @include grid-column(4, $lae-gapless-grid);
310
+ }
311
+ }
312
+
313
+ &.lae-grid-mobile-4 {
314
+
315
+ .lae-grid-item {
316
+ @include grid-column(3, $lae-gapless-grid);
317
+ }
318
+ }
319
+
320
+ &.lae-grid-mobile-5 {
321
+ .lae-grid-item {
322
+ @include grid-column(1, $lae-gapless-five-col-grid);
323
+ }
324
+ }
325
+
326
+ &.lae-grid-mobile-6 {
327
+
328
+ .lae-grid-item {
329
+ @include grid-column(2, $lae-gapless-grid);
330
+ }
331
+ }
332
+
333
+ @include grid-media($lae-tablet-grid) {
334
+
335
+ &.lae-grid-tablet-1 {
336
+ .lae-grid-item {
337
+ @include grid-column(12, $lae-gapless-grid);
338
+ }
339
+ }
340
+
341
+ &.lae-grid-tablet-2 {
342
+ .lae-grid-item {
343
+ @include grid-column(6, $lae-gapless-grid);
344
+ }
345
+ }
346
+
347
+ &.lae-grid-tablet-3 {
348
+ .lae-grid-item {
349
+ @include grid-column(4, $lae-gapless-grid);
350
+ }
351
+ }
352
+ &.lae-grid-tablet-4 {
353
+ .lae-grid-item {
354
+ @include grid-column(3, $lae-gapless-grid);
355
+ }
356
+ }
357
+ &.lae-grid-tablet-5 {
358
+ .lae-grid-item {
359
+ @include grid-column(1, $lae-gapless-five-col-grid);
360
+ }
361
+ }
362
+ &.lae-grid-tablet-6 {
363
+ .lae-grid-item {
364
+ @include grid-column(2, $lae-gapless-grid);
365
+ }
366
+ }
367
+ }
368
+
369
+ @include grid-media($lae-desktop-grid) {
370
+
371
+ &.lae-grid-desktop-1 {
372
+ .lae-grid-item {
373
+ @include grid-column(12, $lae-gapless-grid);
374
+ }
375
+ }
376
+
377
+ &.lae-grid-desktop-2 {
378
+ .lae-grid-item {
379
+ @include grid-column(6, $lae-gapless-grid);
380
+ }
381
+ }
382
+
383
+ &.lae-grid-desktop-3 {
384
+ .lae-grid-item {
385
+ @include grid-column(4, $lae-gapless-grid);
386
+ }
387
+ }
388
+ &.lae-grid-desktop-4 {
389
+ .lae-grid-item {
390
+ @include grid-column(3, $lae-gapless-grid);
391
+ }
392
+ }
393
+ &.lae-grid-desktop-5 {
394
+ .lae-grid-item {
395
+ @include grid-column(1, $lae-gapless-five-col-grid);
396
+ }
397
+ }
398
+ &.lae-grid-desktop-6 {
399
+ .lae-grid-item {
400
+ @include grid-column(2, $lae-gapless-grid);
401
+ }
402
+ }
403
+ }
404
  }
405
+ }
406
 
407
+ /* ---------- Masonry Layout Grid columns -------------*/
408
+
409
+ .lae-gapless-grid .lae-masonry {
410
+
411
+ /* Clear the omega for masonry layout */
412
+ .lae-grid-item {
413
+ clear: none !important;
414
  }
415
 
416
+ .lae-grid-sizer {
417
+ @include grid-column(1, $lae-gapless-grid);
418
  }
419
 
420
+ &.lae-grid-mobile-1 {
421
 
422
+ .lae-grid-item.lae-wide {
423
+ @include grid-column(12, $lae-gapless-grid);
424
  }
425
+ }
426
+ &.lae-grid-mobile-2 {
427
 
428
+ .lae-grid-item.lae-wide {
429
+ @include grid-column(6, $lae-gapless-grid); // keep it small for now
430
  }
431
+ }
432
 
433
+ &.lae-grid-mobile-3 {
434
+
435
+ .lae-grid-item.lae-wide {
436
+ @include grid-column(8, $lae-gapless-grid);
437
  }
438
+ }
439
 
440
+ &.lae-grid-mobile-4 {
441
+
442
+ .lae-grid-item.lae-wide {
443
+ @include grid-column(6, $lae-gapless-grid);
444
  }
445
  }
446
 
447
+ &.lae-grid-mobile-5 {
448
 
449
+ .lae-grid-item.lae-wide {
450
+ @include grid-column(2, $lae-gapless-five-col-grid);
451
  }
452
+ }
453
 
454
+ &.lae-grid-mobile-6 {
455
+
456
+ .lae-grid-item.lae-wide {
457
+ @include grid-column(4, $lae-gapless-grid);
458
  }
459
+ }
460
 
461
+ @include grid-media($lae-tablet-grid) {
462
+
463
+ &.lae-grid-tablet-1 {
464
+
465
+ .lae-grid-item.lae-wide {
466
+ @include grid-column(12, $lae-gapless-grid);
467
+ }
468
  }
469
+ &.lae-grid-tablet-2 {
470
 
471
+ .lae-grid-item.lae-wide {
472
+ @include grid-column(6, $lae-gapless-grid); // keep it small for now
473
+ }
474
  }
475
 
476
+ &.lae-grid-tablet-3 {
477
+
478
+ .lae-grid-item.lae-wide {
479
+ @include grid-column(8, $lae-gapless-grid);
480
+ }
481
  }
482
 
483
+ &.lae-grid-tablet-4 {
484
+
485
+ .lae-grid-item.lae-wide {
486
+ @include grid-column(6, $lae-gapless-grid);
487
+ }
488
  }
489
 
490
+ &.lae-grid-tablet-5 {
491
+
492
+ .lae-grid-item.lae-wide {
493
+ @include grid-column(2, $lae-gapless-five-col-grid);
494
+ }
495
  }
496
 
497
+ &.lae-grid-tablet-6 {
498
+
499
+ .lae-grid-item.lae-wide {
500
+ @include grid-column(4, $lae-gapless-grid);
501
+ }
502
  }
503
 
504
+ }
505
+
506
+ @include grid-media($lae-desktop-grid) {
507
+
508
+
509
+ &.lae-grid-desktop-1 {
510
+
511
+ .lae-grid-item.lae-wide {
512
+ @include grid-column(12, $lae-gapless-grid);
513
+ }
514
  }
515
+ &.lae-grid-desktop-2 {
516
 
517
+ .lae-grid-item.lae-wide {
518
+ @include grid-column(6, $lae-gapless-grid); // keep it small for now
519
+ }
520
  }
521
 
522
+ &.lae-grid-desktop-3 {
523
+
524
+ .lae-grid-item.lae-wide {
525
+ @include grid-column(8, $lae-gapless-grid);
526
+ }
527
  }
528
 
529
+ &.lae-grid-desktop-4 {
530
+
531
+ .lae-grid-item.lae-wide {
532
+ @include grid-column(6, $lae-gapless-grid);
533
+ }
534
  }
 
535
 
536
+ &.lae-grid-desktop-5 {
537
+
538
+ .lae-grid-item.lae-wide {
539
+ @include grid-column(2, $lae-gapless-five-col-grid);
540
+ }
541
+ }
542
 
543
+ &.lae-grid-desktop-6 {
544
 
545
+ .lae-grid-item.lae-wide {
546
+ @include grid-column(4, $lae-gapless-grid);
547
+ }
548
  }
549
  }
 
550
  }
551
 
552
  /* --------------- Flexslider Styles -------------- */
assets/css/lae-widgets.css CHANGED
@@ -977,7 +977,251 @@
977
  .lae-posts-carousel .lae-posts-carousel-item .type-post .lae-entry-text-wrap .entry-summary:before {
978
  display: none; }
979
 
980
- /* ---------------------------------- Portfolio/Posts Grid ---------------------------------- */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
981
  .lae-portfolio-wrap {
982
  clear: both;
983
  overflow: hidden; }
@@ -1210,203 +1454,4 @@
1210
  .lae-dark-bg .lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .entry-summary:before {
1211
  background: #505050; }
1212
 
1213
- /* ---------------------------------- Heading ---------------------------------- */
1214
- .lae-heading {
1215
- text-align: center;
1216
- margin: 0 auto 60px;
1217
- max-width: 640px; }
1218
- @media only screen and (max-width: 767px) {
1219
- .lae-heading {
1220
- margin-bottom: 40px; } }
1221
- .lae-heading .lae-text {
1222
- font-size: 18px;
1223
- line-height: 28px;
1224
- margin: 0 auto; }
1225
- @media only screen and (max-width: 767px) {
1226
- .lae-heading .lae-text {
1227
- font-size: 15px;
1228
- line-height: 26px; } }
1229
- .lae-heading.lae-alignleft, .lae-heading.lae-alignright {
1230
- margin: 0; }
1231
- .lae-heading.lae-alignleft .lae-text, .lae-heading.lae-alignright .lae-text {
1232
- margin: 0; }
1233
- .lae-heading.lae-alignleft {
1234
- text-align: left; }
1235
- .lae-heading.lae-alignright {
1236
- text-align: right;
1237
- max-width: none; }
1238
-
1239
- .lae-heading .lae-title {
1240
- font-weight: 700;
1241
- font-size: 32px;
1242
- line-height: 42px;
1243
- margin: 0 auto 20px;
1244
- color: #333;
1245
- font-weight: bold; }
1246
- @media only screen and (max-width: 767px) {
1247
- .lae-heading .lae-title {
1248
- font-size: 24px;
1249
- line-height: 32px; } }
1250
- .lae-dark-bg .lae-heading .lae-title {
1251
- color: #e5e5e5; }
1252
- .lae-dark-bg .lae-heading .lae-subtitle {
1253
- color: #B0B0B0; }
1254
- .lae-dark-bg .lae-heading .lae-text {
1255
- color: #909090; }
1256
- .lae-heading.lae-alignleft .lae-title, .lae-heading.lae-alignright .lae-title {
1257
- margin: 0 0 20px; }
1258
-
1259
- .lae-heading .lae-subtitle {
1260
- margin: 0 auto 5px;
1261
- color: #888;
1262
- font-size: 12px;
1263
- line-height: 20px;
1264
- text-transform: uppercase;
1265
- font-weight: 600;
1266
- letter-spacing: 2px;
1267
- position: relative;
1268
- display: inline-block;
1269
- padding: 0 10px; }
1270
- @media only screen and (max-width: 767px) {
1271
- .lae-heading .lae-subtitle {
1272
- font-size: 11px;
1273
- line-height: 18px; } }
1274
- .lae-heading.lae-alignleft .lae-subtitle, .lae-heading.lae-alignright .lae-subtitle {
1275
- margin: 0 0 5px;
1276
- padding: 0; }
1277
- .lae-heading.lae-alignleft .lae-subtitle:before, .lae-heading.lae-alignleft .lae-subtitle:after, .lae-heading.lae-alignright .lae-subtitle:before, .lae-heading.lae-alignright .lae-subtitle:after {
1278
- display: none; }
1279
-
1280
- .lae-heading.lae-style3 {
1281
- margin: 0 auto 30px; }
1282
- .lae-heading.lae-style3 .lae-title {
1283
- font-size: 22px;
1284
- line-height: 32px;
1285
- text-transform: uppercase;
1286
- letter-spacing: 1px; }
1287
- .lae-heading.lae-style3 .lae-title:after {
1288
- width: 35px;
1289
- height: 1px;
1290
- background: #aaa;
1291
- display: block;
1292
- content: ""; }
1293
- .lae-heading.lae-style3 .lae-title:after {
1294
- margin: 10px auto 20px; }
1295
- .lae-dark-bg .lae-heading.lae-style3 .lae-title:after {
1296
- background: #909090; }
1297
- @media only screen and (max-width: 767px) {
1298
- .lae-heading.lae-style3 .lae-title {
1299
- font-size: 16px;
1300
- line-height: 24px; } }
1301
- .lae-heading.lae-style3.lae-alignleft, .lae-heading.lae-style3.lae-alignright {
1302
- margin: 0 0 30px; }
1303
- .lae-heading.lae-style3.lae-alignleft .lae-title:after, .lae-heading.lae-style3.lae-alignright .lae-title:after {
1304
- margin: 10px 0 20px; }
1305
-
1306
- /* ---------------------------------- Clients Widget ---------------------------------- */
1307
- .lae-clients {
1308
- clear: both;
1309
- overflow: hidden;
1310
- margin: 0 auto; }
1311
- .lae-clients .lae-client {
1312
- position: relative;
1313
- border-right: 1px solid #ddd;
1314
- border-bottom: 1px solid #ddd;
1315
- overflow: hidden; }
1316
- .lae-dark-bg .lae-clients .lae-client {
1317
- border-color: #505050 !important; }
1318
- .lae-clients .lae-client.lae-twocol:nth-child(6n + 1) {
1319
- border-left: 1px solid #ddd; }
1320
- .lae-clients .lae-client.lae-twocol:nth-child(-n + 6) {
1321
- border-top: 1px solid #ddd; }
1322
- .lae-clients .lae-client.lae-onefifth:nth-child(5n + 1) {
1323
- border-left: 1px solid #ddd; }
1324
- .lae-clients .lae-client.lae-onefifth:nth-child(-n + 5) {
1325
- border-top: 1px solid #ddd; }
1326
- .lae-clients .lae-client.lae-threecol:nth-child(4n + 1) {
1327
- border-left: 1px solid #ddd; }
1328
- .lae-clients .lae-client.lae-threecol:nth-child(-n + 4) {
1329
- border-top: 1px solid #ddd; }
1330
- .lae-clients .lae-client.lae-fourcol:nth-child(3n + 1) {
1331
- border-left: 1px solid #ddd; }
1332
- .lae-clients .lae-client.lae-fourcol:nth-child(-n + 3) {
1333
- border-top: 1px solid #ddd; }
1334
- .lae-clients .lae-client.lae-sixcol:nth-child(2n + 1) {
1335
- border-left: 1px solid #ddd; }
1336
- .lae-clients .lae-client.lae-sixcol:nth-child(-n + 2) {
1337
- border-top: 1px solid #ddd; }
1338
- @media only screen and (max-width: 800px) {
1339
- .lae-clients .lae-client.lae-twocol:nth-child(n), .lae-clients .lae-client.lae-threecol:nth-child(n), .lae-clients .lae-client.lae-fourcol:nth-child(n), .lae-clients .lae-client.lae-onefifth:nth-child(n), .lae-clients .lae-client.lae-sixcol:nth-child(n) {
1340
- border-left: none;
1341
- border-top: none;
1342
- width: 50%;
1343
- float: left; }
1344
- .lae-clients .lae-client.lae-twocol:nth-child(2n + 1), .lae-clients .lae-client.lae-threecol:nth-child(2n + 1), .lae-clients .lae-client.lae-fourcol:nth-child(2n + 1), .lae-clients .lae-client.lae-onefifth:nth-child(2n + 1), .lae-clients .lae-client.lae-sixcol:nth-child(2n + 1) {
1345
- border-left: 1px solid #ddd; }
1346
- .lae-clients .lae-client.lae-twocol:nth-child(-n + 2), .lae-clients .lae-client.lae-threecol:nth-child(-n + 2), .lae-clients .lae-client.lae-fourcol:nth-child(-n + 2), .lae-clients .lae-client.lae-onefifth:nth-child(-n + 2), .lae-clients .lae-client.lae-sixcol:nth-child(-n + 2) {
1347
- border-top: 1px solid #ddd; } }
1348
- .lae-clients .lae-client img {
1349
- -webkit-transition: all 0.3s ease-in-out 0s;
1350
- transition: all 0.3s ease-in-out 0s;
1351
- width: 100%;
1352
- margin: 0;
1353
- display: block; }
1354
- .lae-clients .lae-client .lae-client-name {
1355
- position: absolute;
1356
- z-index: 2;
1357
- top: 50%;
1358
- left: 0;
1359
- text-align: center;
1360
- width: 100%;
1361
- height: 100%;
1362
- margin-top: -12px;
1363
- color: #fff;
1364
- font-size: 18px;
1365
- line-height: 26px;
1366
- -webkit-transition: opacity .4s ease-in-out 0s;
1367
- transition: opacity .4s ease-in-out 0s;
1368
- opacity: 0; }
1369
- .lae-clients .lae-client .lae-client-name a {
1370
- color: #fff;
1371
- text-decoration: none; }
1372
- .lae-clients .lae-client .lae-image-overlay {
1373
- position: absolute;
1374
- left: 0;
1375
- top: 0;
1376
- overflow: hidden;
1377
- width: 100%;
1378
- height: 100%;
1379
- background: #000;
1380
- filter: alpha(opacity=0);
1381
- -moz-opacity: 0;
1382
- opacity: 0;
1383
- -webkit-transition: opacity .4s ease-in-out 0s;
1384
- transition: opacity .4s ease-in-out 0s; }
1385
- .lae-clients .lae-client:hover .lae-image-overlay {
1386
- opacity: 0.7; }
1387
- .lae-dark-bg .lae-clients .lae-client:hover .lae-image-overlay {
1388
- opacity: 0.8; }
1389
- .lae-clients .lae-client:hover .lae-client-name {
1390
- opacity: 1; }
1391
-
1392
- /* ---------------------------------- Generic Carousel Widget ---------------------------------- */
1393
- .lae-carousel .lae-carousel-item {
1394
- position: relative; }
1395
-
1396
- .lae-carousel.lae-container {
1397
- max-width: none; }
1398
-
1399
- /* ---------------------------------- Button Widget ---------------------------------- */
1400
- input.lae-button.lae-with-icon span, input.lae-button.lae-with-icon img.lae-thumbnail, button.lae-button.lae-with-icon span, button.lae-button.lae-with-icon img.lae-thumbnail, a.lae-button.lae-with-icon span, a.lae-button.lae-with-icon img.lae-thumbnail, .lae-button.lae-with-icon:active span, .lae-button.lae-with-icon:active img.lae-thumbnail, .lae-button.lae-with-icon:visited span, .lae-button.lae-with-icon:visited img.lae-thumbnail {
1401
- margin-right: 15px; }
1402
- input.lae-button.lae-with-icon span, button.lae-button.lae-with-icon span, a.lae-button.lae-with-icon span, .lae-button.lae-with-icon:active span, .lae-button.lae-with-icon:visited span {
1403
- color: #fff;
1404
- font-size: 24px;
1405
- vertical-align: middle;
1406
- line-height: 1; }
1407
- input.lae-button.lae-with-icon img.lae-thumbnail, button.lae-button.lae-with-icon img.lae-thumbnail, a.lae-button.lae-with-icon img.lae-thumbnail, .lae-button.lae-with-icon:active img.lae-thumbnail, .lae-button.lae-with-icon:visited img.lae-thumbnail {
1408
- display: inline !important;
1409
- vertical-align: middle;
1410
- max-width: 50px; }
1411
-
1412
  /*# sourceMappingURL=lae-widgets.css.map */
977
  .lae-posts-carousel .lae-posts-carousel-item .type-post .lae-entry-text-wrap .entry-summary:before {
978
  display: none; }
979
 
980
+ /* ---------------------------------- Clients Widget ---------------------------------- */
981
+ .lae-clients {
982
+ clear: both;
983
+ overflow: hidden;
984
+ margin: 0 auto; }
985
+ @media (max-width: 479px) {
986
+ .lae-clients .lae-grid-mobile-1 .lae-grid-item:nth-child(1n + 1) {
987
+ border-left: 1px solid #ddd; }
988
+ .lae-clients .lae-grid-mobile-1 .lae-grid-item:nth-child(-n + 1) {
989
+ border-top: 1px solid #ddd; }
990
+ .lae-clients .lae-grid-mobile-2 .lae-grid-item:nth-child(2n + 1) {
991
+ border-left: 1px solid #ddd; }
992
+ .lae-clients .lae-grid-mobile-2 .lae-grid-item:nth-child(-n + 2) {
993
+ border-top: 1px solid #ddd; }
994
+ .lae-clients .lae-grid-mobile-3 .lae-grid-item:nth-child(3n + 1) {
995
+ border-left: 1px solid #ddd; }
996
+ .lae-clients .lae-grid-mobile-3 .lae-grid-item:nth-child(-n + 3) {
997
+ border-top: 1px solid #ddd; }
998
+ .lae-clients .lae-grid-mobile-4 .lae-grid-item:nth-child(4n + 1) {
999
+ border-left: 1px solid #ddd; }
1000
+ .lae-clients .lae-grid-mobile-4 .lae-grid-item:nth-child(-n + 4) {
1001
+ border-top: 1px solid #ddd; }
1002
+ .lae-clients .lae-grid-mobile-5 .lae-grid-item:nth-child(5n + 1) {
1003
+ border-left: 1px solid #ddd; }
1004
+ .lae-clients .lae-grid-mobile-5 .lae-grid-item:nth-child(-n + 5) {
1005
+ border-top: 1px solid #ddd; }
1006
+ .lae-clients .lae-grid-mobile-6 .lae-grid-item:nth-child(6n + 1) {
1007
+ border-left: 1px solid #ddd; }
1008
+ .lae-clients .lae-grid-mobile-6 .lae-grid-item:nth-child(-n + 6) {
1009
+ border-top: 1px solid #ddd; } }
1010
+ @media (min-width: 480px) and (max-width: 800px) {
1011
+ .lae-clients .lae-grid-tablet-1 .lae-grid-item:nth-child(1n + 1) {
1012
+ border-left: 1px solid #ddd; }
1013
+ .lae-clients .lae-grid-tablet-1 .lae-grid-item:nth-child(-n + 1) {
1014
+ border-top: 1px solid #ddd; }
1015
+ .lae-clients .lae-grid-tablet-2 .lae-grid-item:nth-child(2n + 1) {
1016
+ border-left: 1px solid #ddd; }
1017
+ .lae-clients .lae-grid-tablet-2 .lae-grid-item:nth-child(-n + 2) {
1018
+ border-top: 1px solid #ddd; }
1019
+ .lae-clients .lae-grid-tablet-3 .lae-grid-item:nth-child(3n + 1) {
1020
+ border-left: 1px solid #ddd; }
1021
+ .lae-clients .lae-grid-tablet-3 .lae-grid-item:nth-child(-n + 3) {
1022
+ border-top: 1px solid #ddd; }
1023
+ .lae-clients .lae-grid-tablet-4 .lae-grid-item:nth-child(4n + 1) {
1024
+ border-left: 1px solid #ddd; }
1025
+ .lae-clients .lae-grid-tablet-4 .lae-grid-item:nth-child(-n + 4) {
1026
+ border-top: 1px solid #ddd; }
1027
+ .lae-clients .lae-grid-tablet-5 .lae-grid-item:nth-child(5n + 1) {
1028
+ border-left: 1px solid #ddd; }
1029
+ .lae-clients .lae-grid-tablet-5 .lae-grid-item:nth-child(-n + 5) {
1030
+ border-top: 1px solid #ddd; }
1031
+ .lae-clients .lae-grid-tablet-6 .lae-grid-item:nth-child(6n + 1) {
1032
+ border-left: 1px solid #ddd; }
1033
+ .lae-clients .lae-grid-tablet-6 .lae-grid-item:nth-child(-n + 6) {
1034
+ border-top: 1px solid #ddd; } }
1035
+ @media only screen and (min-width: 801px) {
1036
+ .lae-clients .lae-grid-desktop-1 .lae-grid-item:nth-child(1n + 1) {
1037
+ border-left: 1px solid #ddd; }
1038
+ .lae-clients .lae-grid-desktop-1 .lae-grid-item:nth-child(-n + 1) {
1039
+ border-top: 1px solid #ddd; }
1040
+ .lae-clients .lae-grid-desktop-2 .lae-grid-item:nth-child(2n + 1) {
1041
+ border-left: 1px solid #ddd; }
1042
+ .lae-clients .lae-grid-desktop-2 .lae-grid-item:nth-child(-n + 2) {
1043
+ border-top: 1px solid #ddd; }
1044
+ .lae-clients .lae-grid-desktop-3 .lae-grid-item:nth-child(3n + 1) {
1045
+ border-left: 1px solid #ddd; }
1046
+ .lae-clients .lae-grid-desktop-3 .lae-grid-item:nth-child(-n + 3) {
1047
+ border-top: 1px solid #ddd; }
1048
+ .lae-clients .lae-grid-desktop-4 .lae-grid-item:nth-child(4n + 1) {
1049
+ border-left: 1px solid #ddd; }
1050
+ .lae-clients .lae-grid-desktop-4 .lae-grid-item:nth-child(-n + 4) {
1051
+ border-top: 1px solid #ddd; }
1052
+ .lae-clients .lae-grid-desktop-5 .lae-grid-item:nth-child(5n + 1) {
1053
+ border-left: 1px solid #ddd; }
1054
+ .lae-clients .lae-grid-desktop-5 .lae-grid-item:nth-child(-n + 5) {
1055
+ border-top: 1px solid #ddd; }
1056
+ .lae-clients .lae-grid-desktop-6 .lae-grid-item:nth-child(6n + 1) {
1057
+ border-left: 1px solid #ddd; }
1058
+ .lae-clients .lae-grid-desktop-6 .lae-grid-item:nth-child(-n + 6) {
1059
+ border-top: 1px solid #ddd; } }
1060
+ .lae-clients .lae-client {
1061
+ position: relative;
1062
+ border-right: 1px solid #ddd;
1063
+ border-bottom: 1px solid #ddd;
1064
+ overflow: hidden; }
1065
+ .lae-dark-bg .lae-clients .lae-client {
1066
+ border-color: #505050 !important; }
1067
+ .lae-clients .lae-client img {
1068
+ -webkit-transition: all 0.3s ease-in-out 0s;
1069
+ transition: all 0.3s ease-in-out 0s;
1070
+ width: 100%;
1071
+ margin: 0;
1072
+ display: block; }
1073
+ .lae-clients .lae-client .lae-client-name {
1074
+ position: absolute;
1075
+ z-index: 2;
1076
+ top: 50%;
1077
+ left: 0;
1078
+ text-align: center;
1079
+ width: 100%;
1080
+ height: 100%;
1081
+ margin-top: -12px;
1082
+ color: #fff;
1083
+ font-size: 18px;
1084
+ line-height: 26px;
1085
+ -webkit-transition: opacity .4s ease-in-out 0s;
1086
+ transition: opacity .4s ease-in-out 0s;
1087
+ opacity: 0; }
1088
+ .lae-clients .lae-client .lae-client-name a {
1089
+ color: #fff;
1090
+ text-decoration: none; }
1091
+ .lae-clients .lae-client .lae-image-overlay {
1092
+ position: absolute;
1093
+ left: 0;
1094
+ top: 0;
1095
+ overflow: hidden;
1096
+ width: 100%;
1097
+ height: 100%;
1098
+ background: #000;
1099
+ filter: alpha(opacity=0);
1100
+ -moz-opacity: 0;
1101
+ opacity: 0;
1102
+ -webkit-transition: opacity .4s ease-in-out 0s;
1103
+ transition: opacity .4s ease-in-out 0s; }
1104
+ .lae-clients .lae-client:hover .lae-image-overlay {
1105
+ opacity: 0.7; }
1106
+ .lae-dark-bg .lae-clients .lae-client:hover .lae-image-overlay {
1107
+ opacity: 0.8; }
1108
+ .lae-clients .lae-client:hover .lae-client-name {
1109
+ opacity: 1; }
1110
+
1111
+ /* ---------------------------------- Generic Carousel Widget ---------------------------------- */
1112
+ .lae-carousel .lae-carousel-item {
1113
+ position: relative; }
1114
+
1115
+ .lae-carousel.lae-container {
1116
+ max-width: none; }
1117
+
1118
+ /* ---------------------------------- Button Widget ---------------------------------- */
1119
+ input.lae-button.lae-with-icon span, input.lae-button.lae-with-icon img.lae-thumbnail, button.lae-button.lae-with-icon span, button.lae-button.lae-with-icon img.lae-thumbnail, a.lae-button.lae-with-icon span, a.lae-button.lae-with-icon img.lae-thumbnail, .lae-button.lae-with-icon:active span, .lae-button.lae-with-icon:active img.lae-thumbnail, .lae-button.lae-with-icon:visited span, .lae-button.lae-with-icon:visited img.lae-thumbnail {
1120
+ margin-right: 15px; }
1121
+ input.lae-button.lae-with-icon span, button.lae-button.lae-with-icon span, a.lae-button.lae-with-icon span, .lae-button.lae-with-icon:active span, .lae-button.lae-with-icon:visited span {
1122
+ color: #fff;
1123
+ font-size: 24px;
1124
+ vertical-align: middle;
1125
+ line-height: 1; }
1126
+ input.lae-button.lae-with-icon img.lae-thumbnail, button.lae-button.lae-with-icon img.lae-thumbnail, a.lae-button.lae-with-icon img.lae-thumbnail, .lae-button.lae-with-icon:active img.lae-thumbnail, .lae-button.lae-with-icon:visited img.lae-thumbnail {
1127
+ display: inline !important;
1128
+ vertical-align: middle;
1129
+ max-width: 50px; }
1130
+
1131
+ /* ---------------------------------- Heading ---------------------------------- */
1132
+ .lae-heading {
1133
+ text-align: center;
1134
+ margin: 0 auto 60px;
1135
+ max-width: 640px; }
1136
+ @media only screen and (max-width: 767px) {
1137
+ .lae-heading {
1138
+ margin-bottom: 40px; } }
1139
+ .lae-heading .lae-text {
1140
+ font-size: 18px;
1141
+ line-height: 28px;
1142
+ margin: 0 auto; }
1143
+ @media only screen and (max-width: 767px) {
1144
+ .lae-heading .lae-text {
1145
+ font-size: 15px;
1146
+ line-height: 26px; } }
1147
+ .lae-heading.lae-alignleft, .lae-heading.lae-alignright {
1148
+ margin: 0; }
1149
+ .lae-heading.lae-alignleft .lae-text, .lae-heading.lae-alignright .lae-text {
1150
+ margin: 0; }
1151
+ .lae-heading.lae-alignleft {
1152
+ text-align: left; }
1153
+ .lae-heading.lae-alignright {
1154
+ text-align: right;
1155
+ max-width: none; }
1156
+
1157
+ .lae-heading .lae-title {
1158
+ font-weight: 700;
1159
+ font-size: 32px;
1160
+ line-height: 42px;
1161
+ margin: 0 auto 20px;
1162
+ color: #333;
1163
+ font-weight: bold; }
1164
+ @media only screen and (max-width: 767px) {
1165
+ .lae-heading .lae-title {
1166
+ font-size: 24px;
1167
+ line-height: 32px; } }
1168
+ .lae-dark-bg .lae-heading .lae-title {
1169
+ color: #e5e5e5; }
1170
+ .lae-dark-bg .lae-heading .lae-subtitle {
1171
+ color: #B0B0B0; }
1172
+ .lae-dark-bg .lae-heading .lae-text {
1173
+ color: #909090; }
1174
+ .lae-heading.lae-alignleft .lae-title, .lae-heading.lae-alignright .lae-title {
1175
+ margin: 0 0 20px; }
1176
+
1177
+ .lae-heading .lae-subtitle {
1178
+ margin: 0 auto 5px;
1179
+ color: #888;
1180
+ font-size: 12px;
1181
+ line-height: 20px;
1182
+ text-transform: uppercase;
1183
+ font-weight: 600;
1184
+ letter-spacing: 2px;
1185
+ position: relative;
1186
+ display: inline-block;
1187
+ padding: 0 10px; }
1188
+ @media only screen and (max-width: 767px) {
1189
+ .lae-heading .lae-subtitle {
1190
+ font-size: 11px;
1191
+ line-height: 18px; } }
1192
+ .lae-heading.lae-alignleft .lae-subtitle, .lae-heading.lae-alignright .lae-subtitle {
1193
+ margin: 0 0 5px;
1194
+ padding: 0; }
1195
+ .lae-heading.lae-alignleft .lae-subtitle:before, .lae-heading.lae-alignleft .lae-subtitle:after, .lae-heading.lae-alignright .lae-subtitle:before, .lae-heading.lae-alignright .lae-subtitle:after {
1196
+ display: none; }
1197
+
1198
+ .lae-heading.lae-style3 {
1199
+ margin: 0 auto 30px; }
1200
+ .lae-heading.lae-style3 .lae-title {
1201
+ font-size: 22px;
1202
+ line-height: 32px;
1203
+ text-transform: uppercase;
1204
+ letter-spacing: 1px; }
1205
+ .lae-heading.lae-style3 .lae-title:after {
1206
+ width: 35px;
1207
+ height: 1px;
1208
+ background: #aaa;
1209
+ display: block;
1210
+ content: ""; }
1211
+ .lae-heading.lae-style3 .lae-title:after {
1212
+ margin: 10px auto 20px; }
1213
+ .lae-dark-bg .lae-heading.lae-style3 .lae-title:after {
1214
+ background: #909090; }
1215
+ @media only screen and (max-width: 767px) {
1216
+ .lae-heading.lae-style3 .lae-title {
1217
+ font-size: 16px;
1218
+ line-height: 24px; } }
1219
+ .lae-heading.lae-style3.lae-alignleft, .lae-heading.lae-style3.lae-alignright {
1220
+ margin: 0 0 30px; }
1221
+ .lae-heading.lae-style3.lae-alignleft .lae-title:after, .lae-heading.lae-style3.lae-alignright .lae-title:after {
1222
+ margin: 10px 0 20px; }
1223
+
1224
+ /* ---------------------------------- Portfolio/Posts Grid Free Version ---------------------------------- */
1225
  .lae-portfolio-wrap {
1226
  clear: both;
1227
  overflow: hidden; }
1454
  .lae-dark-bg .lae-portfolio-wrap .lae-portfolio .lae-portfolio-item .entry-summary:before {
1455
  background: #505050; }
1456
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1457
  /*# sourceMappingURL=lae-widgets.css.map */
assets/css/lae-widgets.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["lae-widgets.scss","_lae-lib.scss","../../../../bower_components/bourbon/app/assets/stylesheets/addons/_prefixer.scss","../../../../bower_components/bourbon/app/assets/stylesheets/css3/_flex-box.scss"],"names":[],"mappings":"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","file":"lae-widgets.css"}
1
+ {"version":3,"sources":["lae-widgets.scss","_lae-lib.scss","../../../../bower_components/bourbon/app/assets/stylesheets/addons/_prefixer.scss","../../../../bower_components/neat/core/neat/mixins/_grid-media.scss","../../../../bower_components/bourbon/app/assets/stylesheets/css3/_flex-box.scss"],"names":[],"mappings":"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","file":"lae-widgets.css"}
assets/css/lae-widgets.scss CHANGED
@@ -1,6 +1,7 @@
1
  @import "lae-lib";
2
  $theme_color: #f94213;
3
 
 
4
  /* --------------------------------- Team Members --------------------------------------- */
5
 
6
  .lae-team-members {
@@ -946,6 +947,7 @@ $theme_color: #f94213;
946
  }
947
  }
948
  }
 
949
  /* -------- General services -------- */
950
 
951
  .lae-services {
@@ -1148,274 +1150,252 @@ $theme_color: #f94213;
1148
  }
1149
  }
1150
  }
1151
- /* ---------------------------------- Portfolio/Posts Grid ---------------------------------- */
1152
 
1153
- .lae-portfolio-wrap {
 
 
 
1154
  clear: both;
1155
  overflow: hidden;
1156
- .lae-portfolio-header {
1157
- position: relative;
1158
- max-width: 1140px;
1159
- margin: 0 auto 30px;
1160
- overflow: hidden;
1161
- clear: both;
1162
- display: flex;
1163
- flex-flow: row nowrap;
1164
- justify-content: space-between;
1165
 
1166
- &.lae-no-heading {
1167
- justify-content: center;
 
 
 
 
 
 
1168
  }
1169
- @include respond-to-max(800) {
1170
- flex-flow: column wrap;
1171
- justify-content: flex-start;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1172
  }
1173
  }
1174
- .lae-heading {
1175
- display: inline-block;
1176
- text-align: left;
1177
- max-width: none;
1178
- font-size: 32px;
1179
- line-height: 44px;
1180
- text-transform: uppercase;
1181
- letter-spacing: 1px;
1182
- color: #333;
1183
- margin: 0 100px 0 0;
1184
- .lae-dark-bg & {
1185
- color: #e5e5e5;
1186
  }
1187
- @include respond-to-max(800) {
1188
- margin-bottom: 30px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1189
  }
1190
  }
1191
- .lae-taxonomy-filter {
1192
- display: block;
1193
- margin: 0;
1194
- padding: 0;
1195
- @include align-self(center);
1196
- @include respond-to-max(800) {
1197
- @include align-self(flex-start);
 
1198
  }
1199
- .lae-filter-item {
1200
- position: relative;
1201
- display: inline-block;
1202
- margin: 0 0 15px 0;
1203
- padding: 0;
1204
- font-style: normal;
1205
- border-bottom: 1px solid #ddd;
1206
- .lae-dark-bg & {
1207
- border-color: #444;
1208
  }
1209
- a {
1210
- font-size: 15px;
1211
- line-height: 24px;
1212
- transition: all .4s ease-in-out 0s;
1213
- display: block;
1214
- color: #777;
1215
- padding: 0 15px 15px;
1216
- .lae-dark-bg & {
1217
- color: #999;
1218
- }
1219
- &:hover {
1220
- color: #222;
1221
- .lae-dark-bg & {
1222
- color: #fff;
1223
- }
1224
- }
1225
- @include respond-to-max(479) {
1226
- padding: 0 10px 8px;
1227
- }
1228
  }
1229
- &.lae-active {
1230
- a {
1231
- color: #222;
1232
- .lae-dark-bg & {
1233
- color: #fff;
1234
- }
1235
- }
1236
- &:after {
1237
- content: '';
1238
- position: absolute;
1239
- left: 0;
1240
- bottom: 0;
1241
- border-bottom: 3px solid #f94213;
1242
- width: 100%;
1243
- }
1244
  }
1245
- &:last-child {
1246
- margin-right: 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1247
  }
1248
  }
1249
  }
1250
- .lae-portfolio {
1251
- .lae-portfolio-item {
1252
- .hentry {
1253
- margin: 0;
1254
- padding: 0;
1255
- border: none;
1256
- background: none;
1257
- box-shadow: none;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1258
  }
1259
- .lae-project-image {
1260
- position: relative;
1261
- overflow: hidden;
1262
- img {
1263
- display: block;
1264
- width: 100%;
1265
- transition: all .4s ease-in-out 0s;
1266
- }
1267
- &:hover {
1268
- img {
1269
- filter: brightness(50%);
1270
- }
 
 
 
 
 
 
 
1271
  }
 
 
 
 
 
 
 
 
1272
 
1273
- .lae-image-info {
1274
- display: block;
1275
- text-align: center;
1276
- .lae-entry-info {
1277
- text-align: center;
1278
- display: block;
1279
- position: absolute;
1280
- top: 50%;
1281
- left: 0;
1282
- right: 0;
1283
- margin: auto;
1284
- max-width: 100%;
1285
- transform: translateY(-50%);
1286
- }
1287
- .lae-post-title {
1288
- padding: 10px;
1289
- margin: 0;
1290
- font-size: 18px;
1291
- line-height: 28px;
1292
- font-weight: 400;
1293
- color: #fff;
1294
- opacity: 0;
1295
- transition: opacity .4s ease-in-out 0s;
1296
- @include respond-to-max(1024) {
1297
- font-size: 18px;
1298
- line-height: 26px;
1299
- }
1300
- a {
1301
- display: inline;
1302
- color: #fff;
1303
- transition: all .3s ease-in-out 0s;
1304
- border-bottom: 1px solid transparent;
1305
- &:hover {
1306
- border-bottom: 1px solid #ccc;
1307
- }
1308
- }
1309
- }
1310
- .lae-terms {
1311
- display: block;
1312
- color: #f9f9f9;
1313
- font-size: 14px;
1314
- line-height: 22px;
1315
- opacity: 0;
1316
- transition: opacity .4s ease-in-out 0s;
1317
- a {
1318
- color: #ddd;
1319
- position: relative;
1320
- display: inline;
1321
- zoom: 1;
1322
- font-size: 14px;
1323
- line-height: 22px;
1324
- font-style: italic;
1325
- transition: all .4s ease-in-out 0s;
1326
- &:hover {
1327
- color: #fff;
1328
- }
1329
- }
1330
- }
1331
- }
1332
- &:hover {
1333
- .lae-image-info {
1334
- .lae-post-title, .lae-terms {
1335
- opacity: 1;
1336
- }
1337
- }
1338
 
1339
- }
1340
- }
1341
- .lae-entry-text-wrap {
1342
- text-align: center;
1343
- max-width: 650px;
1344
- margin: 20px auto 0;
1345
- }
1346
- .entry-title {
1347
- font-size: 18px;
1348
- line-height: 26px;
1349
- font-weight: normal;
1350
- margin-bottom: 10px;
1351
- &:after, &:before {
1352
- display: none;
1353
- }
1354
- a {
1355
- transition: all .4s ease-in-out 0s;
1356
- color: #333;
1357
- &:hover {
1358
- color: #888;
1359
- }
1360
- }
1361
- .lae-dark-bg & {
1362
- a {
1363
- color: #e0e0e0;
1364
- &:hover {
1365
- color: #fff;
1366
- }
1367
- }
1368
- }
1369
- }
1370
- .lae-entry-meta {
1371
- span {
1372
- display: inline-block;
1373
- padding: 0;
1374
- margin: 0;
1375
- font-style: italic;
1376
- color: #999;
1377
- &:after {
1378
- content: '//';
1379
- padding-left: 6px;
1380
- padding-right: 6px;
1381
- }
1382
- &:first-child {
1383
- border: none;
1384
- padding-left: 0;
1385
- }
1386
- &:last-child:after {
1387
- display: none;
1388
- }
1389
- a {
1390
- @include transition(all 0.3s ease-in-out 0s);
1391
- font-style: normal;
1392
- }
1393
- .lae-dark-bg & {
1394
- color: #707070;
1395
- }
1396
- }
1397
- }
1398
- .entry-summary {
1399
- margin: 15px auto 0;
1400
- padding: 0;
1401
- &:before {
1402
- width: 35px;
1403
- height: 1px;
1404
- background: #aaa;
1405
- display: block;
1406
- content: "";
1407
- text-align: center;
1408
- margin: 0 auto 15px;
1409
- }
1410
 
1411
- .lae-dark-bg & {
1412
- color: #999;
1413
- &:before {
1414
- background: #505050;
1415
- }
1416
- }
1417
- }
1418
- }
 
 
 
 
 
 
1419
  }
1420
  }
1421
 
@@ -1537,140 +1517,274 @@ $theme_color: #f94213;
1537
  }
1538
  }
1539
  }
1540
- /* ---------------------------------- Clients Widget ---------------------------------- */
1541
 
1542
- .lae-clients {
 
 
1543
  clear: both;
1544
  overflow: hidden;
1545
- margin: 0 auto;
1546
- .lae-client {
1547
  position: relative;
1548
- border-right: 1px solid #ddd;
1549
- border-bottom: 1px solid #ddd;
1550
  overflow: hidden;
1551
- .lae-dark-bg & {
1552
- border-color: #505050 !important;
1553
- }
1554
- &.lae-twocol:nth-child(6n + 1) {
1555
- border-left: 1px solid #ddd;
1556
- }
1557
- &.lae-twocol:nth-child(-n + 6) {
1558
- border-top: 1px solid #ddd;
1559
- }
1560
- &.lae-onefifth:nth-child(5n + 1) {
1561
- border-left: 1px solid #ddd;
1562
- }
1563
- &.lae-onefifth:nth-child(-n + 5) {
1564
- border-top: 1px solid #ddd;
1565
- }
1566
- &.lae-threecol:nth-child(4n + 1) {
1567
- border-left: 1px solid #ddd;
1568
- }
1569
- &.lae-threecol:nth-child(-n + 4) {
1570
- border-top: 1px solid #ddd;
1571
- }
1572
- &.lae-fourcol:nth-child(3n + 1) {
1573
- border-left: 1px solid #ddd;
1574
- }
1575
- &.lae-fourcol:nth-child(-n + 3) {
1576
- border-top: 1px solid #ddd;
1577
  }
1578
- &.lae-sixcol:nth-child(2n + 1) {
1579
- border-left: 1px solid #ddd;
 
1580
  }
1581
- &.lae-sixcol:nth-child(-n + 2) {
1582
- border-top: 1px solid #ddd;
 
 
 
 
 
 
 
 
 
 
 
1583
  }
1584
  @include respond-to-max(800) {
1585
- &.lae-twocol:nth-child(n), &.lae-threecol:nth-child(n), &.lae-fourcol:nth-child(n), &.lae-onefifth:nth-child(n), &.lae-sixcol:nth-child(n) {
1586
- border-left: none;
1587
- border-top: none;
1588
- width: 50%;
1589
- float: left;
1590
- }
1591
- &.lae-twocol:nth-child(2n + 1), &.lae-threecol:nth-child(2n + 1), &.lae-fourcol:nth-child(2n + 1), &.lae-onefifth:nth-child(2n + 1), &.lae-sixcol:nth-child(2n + 1) {
1592
- border-left: 1px solid #ddd;
1593
- }
1594
- &.lae-twocol:nth-child(-n + 2), &.lae-threecol:nth-child(-n + 2), &.lae-fourcol:nth-child(-n + 2), &.lae-onefifth:nth-child(-n + 2), &.lae-sixcol:nth-child(-n + 2) {
1595
- border-top: 1px solid #ddd;
1596
- }
1597
  }
1598
- img {
1599
- -webkit-transition: all 0.3s ease-in-out 0s;
1600
- -moz-transition: all 0.3s ease-in-out 0s;
1601
- transition: all 0.3s ease-in-out 0s;
1602
- width: 100%;
1603
- margin: 0;
1604
- display: block;
 
1605
  }
1606
- .lae-client-name {
1607
- position: absolute;
1608
- z-index: 2;
1609
- top: 50%;
1610
- left: 0;
1611
- text-align: center;
1612
- width: 100%;
1613
- height: 100%;
1614
- margin-top: -12px;
1615
- color: #fff;
1616
- font-size: 18px;
1617
- line-height: 26px;
1618
- transition: opacity .4s ease-in-out 0s;
1619
- opacity: 0;
1620
- a {
1621
- color: #fff;
1622
- text-decoration: none;
1623
  }
1624
- }
1625
- .lae-image-overlay {
1626
- position: absolute;
1627
- left: 0;
1628
- top: 0;
1629
- overflow: hidden;
1630
- width: 100%;
1631
- height: 100%;
1632
- background: #000;
1633
- filter: alpha(opacity=0);
1634
- -moz-opacity: 0;
1635
- opacity: 0;
1636
- transition: opacity .4s ease-in-out 0s;
1637
- }
1638
- &:hover {
1639
- .lae-image-overlay {
1640
- opacity: 0.7;
1641
  .lae-dark-bg & {
1642
- opacity: 0.8;
 
 
 
 
 
 
 
 
 
1643
  }
1644
  }
1645
- .lae-client-name {
1646
- opacity: 1;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1647
  }
1648
  }
1649
  }
1650
- }
1651
- /* ---------------------------------- Generic Carousel Widget ---------------------------------- */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1652
 
1653
- .lae-carousel .lae-carousel-item {
1654
- position: relative;
1655
- }
1656
- .lae-carousel.lae-container {
1657
- max-width: none;
1658
- }
1659
- /* ---------------------------------- Button Widget ---------------------------------- */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1660
 
1661
- input.lae-button.lae-with-icon, button.lae-button.lae-with-icon, a.lae-button.lae-with-icon, .lae-button.lae-with-icon:active, .lae-button.lae-with-icon:visited {
1662
- span, img.lae-thumbnail {
1663
- margin-right: 15px;
1664
- }
1665
- span {
1666
- color: #fff;
1667
- font-size: 24px;
1668
- vertical-align: middle;
1669
- line-height: 1;
1670
- }
1671
- img.lae-thumbnail {
1672
- display: inline !important;
1673
- vertical-align: middle;
1674
- max-width: 50px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1675
  }
1676
  }
1
  @import "lae-lib";
2
  $theme_color: #f94213;
3
 
4
+
5
  /* --------------------------------- Team Members --------------------------------------- */
6
 
7
  .lae-team-members {
947
  }
948
  }
949
  }
950
+
951
  /* -------- General services -------- */
952
 
953
  .lae-services {
1150
  }
1151
  }
1152
  }
 
1153
 
1154
+
1155
+ /* ---------------------------------- Clients Widget ---------------------------------- */
1156
+
1157
+ .lae-clients {
1158
  clear: both;
1159
  overflow: hidden;
1160
+ margin: 0 auto;
 
 
 
 
 
 
 
 
1161
 
1162
+ @include grid-media($lae-mobile-only-grid) {
1163
+ .lae-grid-mobile-1 {
1164
+ .lae-grid-item:nth-child(1n + 1) {
1165
+ border-left: 1px solid #ddd;
1166
+ }
1167
+ .lae-grid-item:nth-child(-n + 1) {
1168
+ border-top: 1px solid #ddd;
1169
+ }
1170
  }
1171
+ .lae-grid-mobile-2 {
1172
+ .lae-grid-item:nth-child(2n + 1) {
1173
+ border-left: 1px solid #ddd;
1174
+ }
1175
+ .lae-grid-item:nth-child(-n + 2) {
1176
+ border-top: 1px solid #ddd;
1177
+ }
1178
+ }
1179
+ .lae-grid-mobile-3 {
1180
+ .lae-grid-item:nth-child(3n + 1) {
1181
+ border-left: 1px solid #ddd;
1182
+ }
1183
+ .lae-grid-item:nth-child(-n + 3) {
1184
+ border-top: 1px solid #ddd;
1185
+ }
1186
+ }
1187
+ .lae-grid-mobile-4 {
1188
+ .lae-grid-item:nth-child(4n + 1) {
1189
+ border-left: 1px solid #ddd;
1190
+ }
1191
+ .lae-grid-item:nth-child(-n + 4) {
1192
+ border-top: 1px solid #ddd;
1193
+ }
1194
+ }
1195
+ .lae-grid-mobile-5 {
1196
+ .lae-grid-item:nth-child(5n + 1) {
1197
+ border-left: 1px solid #ddd;
1198
+ }
1199
+ .lae-grid-item:nth-child(-n + 5) {
1200
+ border-top: 1px solid #ddd;
1201
+ }
1202
+ }
1203
+ .lae-grid-mobile-6 {
1204
+ .lae-grid-item:nth-child(6n + 1) {
1205
+ border-left: 1px solid #ddd;
1206
+ }
1207
+ .lae-grid-item:nth-child(-n + 6) {
1208
+ border-top: 1px solid #ddd;
1209
+ }
1210
  }
1211
  }
1212
+ @include grid-media($lae-tablet-only-grid) {
1213
+
1214
+ .lae-grid-tablet-1 {
1215
+ .lae-grid-item:nth-child(1n + 1) {
1216
+ border-left: 1px solid #ddd;
1217
+ }
1218
+ .lae-grid-item:nth-child(-n + 1) {
1219
+ border-top: 1px solid #ddd;
1220
+ }
 
 
 
1221
  }
1222
+ .lae-grid-tablet-2 {
1223
+ .lae-grid-item:nth-child(2n + 1) {
1224
+ border-left: 1px solid #ddd;
1225
+ }
1226
+ .lae-grid-item:nth-child(-n + 2) {
1227
+ border-top: 1px solid #ddd;
1228
+ }
1229
+ }
1230
+ .lae-grid-tablet-3 {
1231
+ .lae-grid-item:nth-child(3n + 1) {
1232
+ border-left: 1px solid #ddd;
1233
+ }
1234
+ .lae-grid-item:nth-child(-n + 3) {
1235
+ border-top: 1px solid #ddd;
1236
+ }
1237
+ }
1238
+ .lae-grid-tablet-4 {
1239
+ .lae-grid-item:nth-child(4n + 1) {
1240
+ border-left: 1px solid #ddd;
1241
+ }
1242
+ .lae-grid-item:nth-child(-n + 4) {
1243
+ border-top: 1px solid #ddd;
1244
+ }
1245
+ }
1246
+ .lae-grid-tablet-5 {
1247
+ .lae-grid-item:nth-child(5n + 1) {
1248
+ border-left: 1px solid #ddd;
1249
+ }
1250
+ .lae-grid-item:nth-child(-n + 5) {
1251
+ border-top: 1px solid #ddd;
1252
+ }
1253
+ }
1254
+ .lae-grid-tablet-6 {
1255
+ .lae-grid-item:nth-child(6n + 1) {
1256
+ border-left: 1px solid #ddd;
1257
+ }
1258
+ .lae-grid-item:nth-child(-n + 6) {
1259
+ border-top: 1px solid #ddd;
1260
+ }
1261
  }
1262
  }
1263
+ @include grid-media($lae-desktop-grid) {
1264
+ .lae-grid-desktop-1 {
1265
+ .lae-grid-item:nth-child(1n + 1) {
1266
+ border-left: 1px solid #ddd;
1267
+ }
1268
+ .lae-grid-item:nth-child(-n + 1) {
1269
+ border-top: 1px solid #ddd;
1270
+ }
1271
  }
1272
+ .lae-grid-desktop-2 {
1273
+ .lae-grid-item:nth-child(2n + 1) {
1274
+ border-left: 1px solid #ddd;
 
 
 
 
 
 
1275
  }
1276
+ .lae-grid-item:nth-child(-n + 2) {
1277
+ border-top: 1px solid #ddd;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1278
  }
1279
+ }
1280
+ .lae-grid-desktop-3 {
1281
+ .lae-grid-item:nth-child(3n + 1) {
1282
+ border-left: 1px solid #ddd;
 
 
 
 
 
 
 
 
 
 
 
1283
  }
1284
+ .lae-grid-item:nth-child(-n + 3) {
1285
+ border-top: 1px solid #ddd;
1286
+ }
1287
+ }
1288
+ .lae-grid-desktop-4 {
1289
+ .lae-grid-item:nth-child(4n + 1) {
1290
+ border-left: 1px solid #ddd;
1291
+ }
1292
+ .lae-grid-item:nth-child(-n + 4) {
1293
+ border-top: 1px solid #ddd;
1294
+ }
1295
+ }
1296
+ .lae-grid-desktop-5 {
1297
+ .lae-grid-item:nth-child(5n + 1) {
1298
+ border-left: 1px solid #ddd;
1299
+ }
1300
+ .lae-grid-item:nth-child(-n + 5) {
1301
+ border-top: 1px solid #ddd;
1302
+ }
1303
+ }
1304
+ .lae-grid-desktop-6 {
1305
+ .lae-grid-item:nth-child(6n + 1) {
1306
+ border-left: 1px solid #ddd;
1307
+ }
1308
+ .lae-grid-item:nth-child(-n + 6) {
1309
+ border-top: 1px solid #ddd;
1310
  }
1311
  }
1312
  }
1313
+ .lae-client {
1314
+ position: relative;
1315
+ border-right: 1px solid #ddd;
1316
+ border-bottom: 1px solid #ddd;
1317
+ overflow: hidden;
1318
+ .lae-dark-bg & {
1319
+ border-color: #505050 !important;
1320
+ }
1321
+ img {
1322
+ -webkit-transition: all 0.3s ease-in-out 0s;
1323
+ -moz-transition: all 0.3s ease-in-out 0s;
1324
+ transition: all 0.3s ease-in-out 0s;
1325
+ width: 100%;
1326
+ margin: 0;
1327
+ display: block;
1328
+ }
1329
+ .lae-client-name {
1330
+ position: absolute;
1331
+ z-index: 2;
1332
+ top: 50%;
1333
+ left: 0;
1334
+ text-align: center;
1335
+ width: 100%;
1336
+ height: 100%;
1337
+ margin-top: -12px;
1338
+ color: #fff;
1339
+ font-size: 18px;
1340
+ line-height: 26px;
1341
+ transition: opacity .4s ease-in-out 0s;
1342
+ opacity: 0;
1343
+ a {
1344
+ color: #fff;
1345
+ text-decoration: none;
1346
  }
1347
+ }
1348
+ .lae-image-overlay {
1349
+ position: absolute;
1350
+ left: 0;
1351
+ top: 0;
1352
+ overflow: hidden;
1353
+ width: 100%;
1354
+ height: 100%;
1355
+ background: #000;
1356
+ filter: alpha(opacity=0);
1357
+ -moz-opacity: 0;
1358
+ opacity: 0;
1359
+ transition: opacity .4s ease-in-out 0s;
1360
+ }
1361
+ &:hover {
1362
+ .lae-image-overlay {
1363
+ opacity: 0.7;
1364
+ .lae-dark-bg & {
1365
+ opacity: 0.8;
1366
  }
1367
+ }
1368
+ .lae-client-name {
1369
+ opacity: 1;
1370
+ }
1371
+ }
1372
+ }
1373
+ }
1374
+ /* ---------------------------------- Generic Carousel Widget ---------------------------------- */
1375
 
1376
+ .lae-carousel .lae-carousel-item {
1377
+ position: relative;
1378
+ }
1379
+ .lae-carousel.lae-container {
1380
+ max-width: none;
1381
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1382
 
1383
+ /* ---------------------------------- Button Widget ---------------------------------- */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1384
 
1385
+ input.lae-button.lae-with-icon, button.lae-button.lae-with-icon, a.lae-button.lae-with-icon, .lae-button.lae-with-icon:active, .lae-button.lae-with-icon:visited {
1386
+ span, img.lae-thumbnail {
1387
+ margin-right: 15px;
1388
+ }
1389
+ span {
1390
+ color: #fff;
1391
+ font-size: 24px;
1392
+ vertical-align: middle;
1393
+ line-height: 1;
1394
+ }
1395
+ img.lae-thumbnail {
1396
+ display: inline !important;
1397
+ vertical-align: middle;
1398
+ max-width: 50px;
1399
  }
1400
  }
1401
 
1517
  }
1518
  }
1519
  }
 
1520
 
1521
+ /* ---------------------------------- Portfolio/Posts Grid Free Version ---------------------------------- */
1522
+
1523
+ .lae-portfolio-wrap {
1524
  clear: both;
1525
  overflow: hidden;
1526
+ .lae-portfolio-header {
 
1527
  position: relative;
1528
+ max-width: 1140px;
1529
+ margin: 0 auto 30px;
1530
  overflow: hidden;
1531
+ clear: both;
1532
+ display: flex;
1533
+ flex-flow: row nowrap;
1534
+ justify-content: space-between;
1535
+
1536
+ &.lae-no-heading {
1537
+ justify-content: center;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1538
  }
1539
+ @include respond-to-max(800) {
1540
+ flex-flow: column wrap;
1541
+ justify-content: flex-start;
1542
  }
1543
+ }
1544
+ .lae-heading {
1545
+ display: inline-block;
1546
+ text-align: left;
1547
+ max-width: none;
1548
+ font-size: 32px;
1549
+ line-height: 44px;
1550
+ text-transform: uppercase;
1551
+ letter-spacing: 1px;
1552
+ color: #333;
1553
+ margin: 0 100px 0 0;
1554
+ .lae-dark-bg & {
1555
+ color: #e5e5e5;
1556
  }
1557
  @include respond-to-max(800) {
1558
+ margin-bottom: 30px;
 
 
 
 
 
 
 
 
 
 
 
1559
  }
1560
+ }
1561
+ .lae-taxonomy-filter {
1562
+ display: block;
1563
+ margin: 0;
1564
+ padding: 0;
1565
+ @include align-self(center);
1566
+ @include respond-to-max(800) {
1567
+ @include align-self(flex-start);
1568
  }
1569
+ .lae-filter-item {
1570
+ position: relative;
1571
+ display: inline-block;
1572
+ margin: 0 0 15px 0;
1573
+ padding: 0;
1574
+ font-style: normal;
1575
+ border-bottom: 1px solid #ddd;
1576
+ .lae-dark-bg & {
1577
+ border-color: #444;
 
 
 
 
 
 
 
 
1578
  }
1579
+ a {
1580
+ font-size: 15px;
1581
+ line-height: 24px;
1582
+ transition: all .4s ease-in-out 0s;
1583
+ display: block;
1584
+ color: #777;
1585
+ padding: 0 15px 15px;
 
 
 
 
 
 
 
 
 
 
1586
  .lae-dark-bg & {
1587
+ color: #999;
1588
+ }
1589
+ &:hover {
1590
+ color: #222;
1591
+ .lae-dark-bg & {
1592
+ color: #fff;
1593
+ }
1594
+ }
1595
+ @include respond-to-max(479) {
1596
+ padding: 0 10px 8px;
1597
  }
1598
  }
1599
+ &.lae-active {
1600
+ a {
1601
+ color: #222;
1602
+ .lae-dark-bg & {
1603
+ color: #fff;
1604
+ }
1605
+ }
1606
+ &:after {
1607
+ content: '';
1608
+ position: absolute;
1609
+ left: 0;
1610
+ bottom: 0;
1611
+ border-bottom: 3px solid #f94213;
1612
+ width: 100%;
1613
+ }
1614
+ }
1615
+ &:last-child {
1616
+ margin-right: 0;
1617
  }
1618
  }
1619
  }
1620
+ .lae-portfolio {
1621
+ .lae-portfolio-item {
1622
+ .hentry {
1623
+ margin: 0;
1624
+ padding: 0;
1625
+ border: none;
1626
+ background: none;
1627
+ box-shadow: none;
1628
+ }
1629
+ .lae-project-image {
1630
+ position: relative;
1631
+ overflow: hidden;
1632
+ img {
1633
+ display: block;
1634
+ width: 100%;
1635
+ transition: all .4s ease-in-out 0s;
1636
+ }
1637
+ &:hover {
1638
+ img {
1639
+ filter: brightness(50%);
1640
+ }
1641
+ }
1642
 
1643
+ .lae-image-info {
1644
+ display: block;
1645
+ text-align: center;
1646
+ .lae-entry-info {
1647
+ text-align: center;
1648
+ display: block;
1649
+ position: absolute;
1650
+ top: 50%;
1651
+ left: 0;
1652
+ right: 0;
1653
+ margin: auto;
1654
+ max-width: 100%;
1655
+ transform: translateY(-50%);
1656
+ }
1657
+ .lae-post-title {
1658
+ padding: 10px;
1659
+ margin: 0;
1660
+ font-size: 18px;
1661
+ line-height: 28px;
1662
+ font-weight: 400;
1663
+ color: #fff;
1664
+ opacity: 0;
1665
+ transition: opacity .4s ease-in-out 0s;
1666
+ @include respond-to-max(1024) {
1667
+ font-size: 18px;
1668
+ line-height: 26px;
1669
+ }
1670
+ a {
1671
+ display: inline;
1672
+ color: #fff;
1673
+ transition: all .3s ease-in-out 0s;
1674
+ border-bottom: 1px solid transparent;
1675
+ &:hover {
1676
+ border-bottom: 1px solid #ccc;
1677
+ }
1678
+ }
1679
+ }
1680
+ .lae-terms {
1681
+ display: block;
1682
+ color: #f9f9f9;
1683
+ font-size: 14px;
1684
+ line-height: 22px;
1685
+ opacity: 0;
1686
+ transition: opacity .4s ease-in-out 0s;
1687
+ a {
1688
+ color: #ddd;
1689
+ position: relative;
1690
+ display: inline;
1691
+ zoom: 1;
1692
+ font-size: 14px;
1693
+ line-height: 22px;
1694
+ font-style: italic;
1695
+ transition: all .4s ease-in-out 0s;
1696
+ &:hover {
1697
+ color: #fff;
1698
+ }
1699
+ }
1700
+ }
1701
+ }
1702
+ &:hover {
1703
+ .lae-image-info {
1704
+ .lae-post-title, .lae-terms {
1705
+ opacity: 1;
1706
+ }
1707
+ }
1708
 
1709
+ }
1710
+ }
1711
+ .lae-entry-text-wrap {
1712
+ text-align: center;
1713
+ max-width: 650px;
1714
+ margin: 20px auto 0;
1715
+ }
1716
+ .entry-title {
1717
+ font-size: 18px;
1718
+ line-height: 26px;
1719
+ font-weight: normal;
1720
+ margin-bottom: 10px;
1721
+ &:after, &:before {
1722
+ display: none;
1723
+ }
1724
+ a {
1725
+ transition: all .4s ease-in-out 0s;
1726
+ color: #333;
1727
+ &:hover {
1728
+ color: #888;
1729
+ }
1730
+ }
1731
+ .lae-dark-bg & {
1732
+ a {
1733
+ color: #e0e0e0;
1734
+ &:hover {
1735
+ color: #fff;
1736
+ }
1737
+ }
1738
+ }
1739
+ }
1740
+ .lae-entry-meta {
1741
+ span {
1742
+ display: inline-block;
1743
+ padding: 0;
1744
+ margin: 0;
1745
+ font-style: italic;
1746
+ color: #999;
1747
+ &:after {
1748
+ content: '//';
1749
+ padding-left: 6px;
1750
+ padding-right: 6px;
1751
+ }
1752
+ &:first-child {
1753
+ border: none;
1754
+ padding-left: 0;
1755
+ }
1756
+ &:last-child:after {
1757
+ display: none;
1758
+ }
1759
+ a {
1760
+ @include transition(all 0.3s ease-in-out 0s);
1761
+ font-style: normal;
1762
+ }
1763
+ .lae-dark-bg & {
1764
+ color: #707070;
1765
+ }
1766
+ }
1767
+ }
1768
+ .entry-summary {
1769
+ margin: 15px auto 0;
1770
+ padding: 0;
1771
+ &:before {
1772
+ width: 35px;
1773
+ height: 1px;
1774
+ background: #aaa;
1775
+ display: block;
1776
+ content: "";
1777
+ text-align: center;
1778
+ margin: 0 auto 15px;
1779
+ }
1780
+
1781
+ .lae-dark-bg & {
1782
+ color: #999;
1783
+ &:before {
1784
+ background: #505050;
1785
+ }
1786
+ }
1787
+ }
1788
+ }
1789
  }
1790
  }
assets/css/sliders.css CHANGED
@@ -341,4 +341,4 @@ a.lae-flex-prev {
341
  .slick-arrow.slick-hidden {
342
  display: none;
343
  }
344
- /*# sourceMappingURL=data:application/json;base64,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LypcbiAqIGpRdWVyeSBGbGV4U2xpZGVyIHYyLjYuMFxuICogaHR0cDovL3d3dy53b290aGVtZXMuY29tL2ZsZXhzbGlkZXIvXG4gKlxuICogQ29weXJpZ2h0IDIwMTIgV29vVGhlbWVzXG4gKiBGcmVlIHRvIHVzZSB1bmRlciB0aGUgR1BMdjIgYW5kIGxhdGVyIGxpY2Vuc2UuXG4gKiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sXG4gKlxuICogQ29udHJpYnV0aW5nIGF1dGhvcjogVHlsZXIgU21pdGggKEBtYm11ZmZmaW4pXG4gKlxuICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBSRVNFVFNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5sYWUtZmxleC1jb250YWluZXIgYTpob3Zlcixcbi5sYWUtZmxleC1zbGlkZXIgYTpob3ZlciB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4ubGFlLXNsaWRlcyxcbi5sYWUtc2xpZGVzID4gbGksXG4ubGFlLWZsZXgtY29udHJvbC1uYXYsXG4ubGFlLWZsZXgtZGlyZWN0aW9uLW5hdiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4ubGFlLWZsZXgtcGF1c2VwbGF5IHNwYW4ge1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBCQVNFIFNUWUxFU1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLmxhZS1mbGV4c2xpZGVyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB9XG4ubGFlLWZsZXhzbGlkZXIgLmxhZS1zbGlkZXMgPiBsaSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4ubGFlLWZsZXhzbGlkZXIgLmxhZS1zbGlkZXMgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5odG1sW3htbG5zXSAubGFlLWZsZXhzbGlkZXIgLmxhZS1zbGlkZXMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiogaHRtbCAubGFlLWZsZXhzbGlkZXIgLmxhZS1zbGlkZXMge1xuICAgIGhlaWdodDogMSU7XG4gICAgfVxuLm5vLWpzIC5sYWUtZmxleHNsaWRlciAubGFlLXNsaWRlcyA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogREVGQVVMVCBUSEVNRVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLmxhZS1mbGV4c2xpZGVyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHpvb206IDE7XG4gICAgfVxuLmxhZS1mbGV4c2xpZGVyIC5sYWUtc2xpZGVzIHtcbiAgICB6b29tOiAxO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuLmxhZS1mbGV4c2xpZGVyIC5sYWUtc2xpZGVzIGltZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgfVxuLmxhZS1mbGV4LXZpZXdwb3J0IHtcbiAgICBtYXgtaGVpZ2h0OiAyMDAwcHg7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgICB9XG4ubG9hZGluZyAubGFlLWZsZXgtdmlld3BvcnQge1xuICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgIH1cbi5jYXJvdXNlbCBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgfVxuLmxhZS1mbGV4LWRpcmVjdGlvbi1uYXYge1xuICAgICpoZWlnaHQ6IDA7XG4gICAgfVxuLmxhZS1mbGV4LWRpcmVjdGlvbi1uYXYgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW46IC0yMHB4IDAgMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgei1pbmRleDogMTA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgfVxuYS5sYWUtZmxleC1wcmV2IHtcbiAgICAvKiBmb250LWZhbWlseTogXCJmbGV4c2xpZGVyLWljb25cIjsgKi9cbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgLyogZGlzcGxheTogaW5saW5lLWJsb2NrOyAqL1xuICAgIC8qIGNvbnRlbnQ6ICdcXGYwMDEnOyAqL1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gICAgdGV4dC1zaGFkb3c6IDFweCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gICAgfVxuLmxhZS1mbGV4LWRpcmVjdGlvbi1uYXYgYS5sYWUtZmxleC1uZXh0OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZjAwMic7XG4gICAgfVxuLmxhZS1mbGV4LWRpcmVjdGlvbi1uYXYgLmxhZS1mbGV4LXByZXYge1xuICAgIGxlZnQ6IC01MHB4O1xuICAgIH1cbi5sYWUtZmxleC1kaXJlY3Rpb24tbmF2IC5sYWUtZmxleC1uZXh0IHtcbiAgICByaWdodDogLTUwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuLmxhZS1mbGV4LWRpcmVjdGlvbi1uYXYgLmxhZS1mbGV4LWRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwIWltcG9ydGFudDtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbi5sYWUtZmxleC1wYXVzZXBsYXkgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDVweDtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIG9wYWNpdHk6IDAuODtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB9XG4ubGFlLWZsZXgtcGF1c2VwbGF5IGE6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogXCJmbGV4c2xpZGVyLWljb25cIjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbnRlbnQ6ICdcXGYwMDQnO1xuICAgIH1cbi5sYWUtZmxleC1wYXVzZXBsYXkgYTpob3ZlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB9XG4ubGFlLWZsZXgtcGF1c2VwbGF5IGEubGFlLWZsZXgtcGxheTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXGYwMDMnO1xuICAgIH1cbi5sYWUtZmxleC1jb250cm9sLW5hdiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTQwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbi5sYWUtZmxleC1jb250cm9sLW5hdiBsaSB7XG4gICAgbWFyZ2luOiAwIDZweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgem9vbTogMTtcbiAgICAqZGlzcGxheTogaW5saW5lO1xuICAgIH1cbi5sYWUtZmxleC1jb250cm9sLXBhZ2luZyBsaSBhIHtcbiAgICB3aWR0aDogMTFweDtcbiAgICBoZWlnaHQ6IDExcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogIzY2NjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgLW1vei1ib3gtc2hhZG93OiBpbnNldCAwIDAgM3B4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICAtby1ib3gtc2hhZG93OiBpbnNldCAwIDAgM3B4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgM3B4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgfVxuLmxhZS1mbGV4LWNvbnRyb2wtcGFnaW5nIGxpIGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMzMzM7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgIH1cbi5sYWUtZmxleC1jb250cm9sLXBhZ2luZyBsaSBhLmxhZS1mbGV4LWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbi5sYWUtZmxleC1jb250cm9sLXRodW1icyB7XG4gICAgbWFyZ2luOiA1cHggMCAwO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4ubGFlLWZsZXgtY29udHJvbC10aHVtYnMgbGkge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIH1cbi5sYWUtZmxleC1jb250cm9sLXRodW1icyBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAuNztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAgIC1vLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAgIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAgIH1cbi5sYWUtZmxleC1jb250cm9sLXRodW1icyBpbWc6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuLmxhZS1mbGV4LWNvbnRyb2wtdGh1bWJzIC5sYWUtZmxleC1hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBSRVNQT05TSVZFXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4NjBweCkge1xuICAgIC5sYWUtZmxleC1kaXJlY3Rpb24tbmF2IC5sYWUtZmxleC1wcmV2IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgfVxuICAgIC5sYWUtZmxleC1kaXJlY3Rpb24tbmF2IC5sYWUtZmxleC1uZXh0IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBTbGljayBTbGlkZXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogU2xpZGVyICovXG4uc2xpY2stc2xpZGVyXG57XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbi5zbGljay1saXN0XG57XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIH1cbi5zbGljay1saXN0OmZvY3VzXG57XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4uc2xpY2stbGlzdC5kcmFnZ2luZ1xue1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3RcbntcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG5cbi5zbGljay10cmFja1xue1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbi5zbGljay10cmFjazpiZWZvcmUsXG4uc2xpY2stdHJhY2s6YWZ0ZXJcbntcbiAgICBkaXNwbGF5OiB0YWJsZTtcblxuICAgIGNvbnRlbnQ6ICcnO1xuICAgIH1cbi5zbGljay10cmFjazphZnRlclxue1xuICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbi5zbGljay1sb2FkaW5nIC5zbGljay10cmFja1xue1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbi5zbGljay1zbGlkZVxue1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIH1cbltkaXI9J3J0bCddIC5zbGljay1zbGlkZVxue1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4uc2xpY2stc2xpZGUgaW1nXG57XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuLnNsaWNrLXNsaWRlLnNsaWNrLWxvYWRpbmcgaW1nXG57XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4uc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nXG57XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZVxue1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbi5zbGljay1sb2FkaW5nIC5zbGljay1zbGlkZVxue1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4uc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlXG57XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIH0iXX0= */
341
  .slick-arrow.slick-hidden {
342
  display: none;
343
  }
344
+ /*# sourceMappingURL=data:application/json;base64,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LypcbiAqIGpRdWVyeSBGbGV4U2xpZGVyIHYyLjYuMFxuICogaHR0cDovL3d3dy53b290aGVtZXMuY29tL2ZsZXhzbGlkZXIvXG4gKlxuICogQ29weXJpZ2h0IDIwMTIgV29vVGhlbWVzXG4gKiBGcmVlIHRvIHVzZSB1bmRlciB0aGUgR1BMdjIgYW5kIGxhdGVyIGxpY2Vuc2UuXG4gKiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sXG4gKlxuICogQ29udHJpYnV0aW5nIGF1dGhvcjogVHlsZXIgU21pdGggKEBtYm11ZmZmaW4pXG4gKlxuICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBSRVNFVFNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5sYWUtZmxleC1jb250YWluZXIgYTpob3Zlcixcbi5sYWUtZmxleC1zbGlkZXIgYTpob3ZlciB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4ubGFlLXNsaWRlcyxcbi5sYWUtc2xpZGVzID4gbGksXG4ubGFlLWZsZXgtY29udHJvbC1uYXYsXG4ubGFlLWZsZXgtZGlyZWN0aW9uLW5hdiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4ubGFlLWZsZXgtcGF1c2VwbGF5IHNwYW4ge1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBCQVNFIFNUWUxFU1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLmxhZS1mbGV4c2xpZGVyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB9XG4ubGFlLWZsZXhzbGlkZXIgLmxhZS1zbGlkZXMgPiBsaSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4ubGFlLWZsZXhzbGlkZXIgLmxhZS1zbGlkZXMgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5odG1sW3htbG5zXSAubGFlLWZsZXhzbGlkZXIgLmxhZS1zbGlkZXMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiogaHRtbCAubGFlLWZsZXhzbGlkZXIgLmxhZS1zbGlkZXMge1xuICAgIGhlaWdodDogMSU7XG4gICAgfVxuLm5vLWpzIC5sYWUtZmxleHNsaWRlciAubGFlLXNsaWRlcyA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogREVGQVVMVCBUSEVNRVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLmxhZS1mbGV4c2xpZGVyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHpvb206IDE7XG4gICAgfVxuLmxhZS1mbGV4c2xpZGVyIC5sYWUtc2xpZGVzIHtcbiAgICB6b29tOiAxO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuLmxhZS1mbGV4c2xpZGVyIC5sYWUtc2xpZGVzIGltZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgfVxuLmxhZS1mbGV4LXZpZXdwb3J0IHtcbiAgICBtYXgtaGVpZ2h0OiAyMDAwcHg7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbiAgICB9XG4ubG9hZGluZyAubGFlLWZsZXgtdmlld3BvcnQge1xuICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgIH1cbi5jYXJvdXNlbCBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgfVxuLmxhZS1mbGV4LWRpcmVjdGlvbi1uYXYge1xuICAgICpoZWlnaHQ6IDA7XG4gICAgfVxuLmxhZS1mbGV4LWRpcmVjdGlvbi1uYXYgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW46IC0yMHB4IDAgMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgei1pbmRleDogMTA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgfVxuYS5sYWUtZmxleC1wcmV2IHtcbiAgICAvKiBmb250LWZhbWlseTogXCJmbGV4c2xpZGVyLWljb25cIjsgKi9cbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgLyogZGlzcGxheTogaW5saW5lLWJsb2NrOyAqL1xuICAgIC8qIGNvbnRlbnQ6ICdcXGYwMDEnOyAqL1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gICAgdGV4dC1zaGFkb3c6IDFweCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gICAgfVxuLmxhZS1mbGV4LWRpcmVjdGlvbi1uYXYgYS5sYWUtZmxleC1uZXh0OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZjAwMic7XG4gICAgfVxuLmxhZS1mbGV4LWRpcmVjdGlvbi1uYXYgLmxhZS1mbGV4LXByZXYge1xuICAgIGxlZnQ6IC01MHB4O1xuICAgIH1cbi5sYWUtZmxleC1kaXJlY3Rpb24tbmF2IC5sYWUtZmxleC1uZXh0IHtcbiAgICByaWdodDogLTUwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuLmxhZS1mbGV4LWRpcmVjdGlvbi1uYXYgLmxhZS1mbGV4LWRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwIWltcG9ydGFudDtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbi5sYWUtZmxleC1wYXVzZXBsYXkgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDVweDtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIG9wYWNpdHk6IDAuODtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB9XG4ubGFlLWZsZXgtcGF1c2VwbGF5IGE6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogXCJmbGV4c2xpZGVyLWljb25cIjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbnRlbnQ6ICdcXGYwMDQnO1xuICAgIH1cbi5sYWUtZmxleC1wYXVzZXBsYXkgYTpob3ZlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB9XG4ubGFlLWZsZXgtcGF1c2VwbGF5IGEubGFlLWZsZXgtcGxheTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXGYwMDMnO1xuICAgIH1cbi5sYWUtZmxleC1jb250cm9sLW5hdiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTQwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbi5sYWUtZmxleC1jb250cm9sLW5hdiBsaSB7XG4gICAgbWFyZ2luOiAwIDZweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgem9vbTogMTtcbiAgICAqZGlzcGxheTogaW5saW5lO1xuICAgIH1cbi5sYWUtZmxleC1jb250cm9sLXBhZ2luZyBsaSBhIHtcbiAgICB3aWR0aDogMTFweDtcbiAgICBoZWlnaHQ6IDExcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogIzY2NjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgLW8tYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICB9XG4ubGFlLWZsZXgtY29udHJvbC1wYWdpbmcgbGkgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzMzMztcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gICAgfVxuLmxhZS1mbGV4LWNvbnRyb2wtcGFnaW5nIGxpIGEubGFlLWZsZXgtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuLmxhZS1mbGV4LWNvbnRyb2wtdGh1bWJzIHtcbiAgICBtYXJnaW46IDVweCAwIDA7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbi5sYWUtZmxleC1jb250cm9sLXRodW1icyBsaSB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDA7XG4gICAgfVxuLmxhZS1mbGV4LWNvbnRyb2wtdGh1bWJzIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IC43O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG4gICAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG4gICAgfVxuLmxhZS1mbGV4LWNvbnRyb2wtdGh1bWJzIGltZzpob3ZlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB9XG4ubGFlLWZsZXgtY29udHJvbC10aHVtYnMgLmxhZS1mbGV4LWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFJFU1BPTlNJVkVcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg2MHB4KSB7XG4gICAgLmxhZS1mbGV4LWRpcmVjdGlvbi1uYXYgLmxhZS1mbGV4LXByZXYge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICB9XG4gICAgLmxhZS1mbGV4LWRpcmVjdGlvbi1uYXYgLmxhZS1mbGV4LW5leHQge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFNsaWNrIFNsaWRlciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBTbGlkZXIgKi9cbi5zbGljay1zbGlkZXJcbntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuLnNsaWNrLWxpc3RcbntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuLnNsaWNrLWxpc3Q6Zm9jdXNcbntcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbi5zbGljay1saXN0LmRyYWdnaW5nXG57XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDtcbiAgICB9XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdFxue1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cblxuLnNsaWNrLXRyYWNrXG57XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuLnNsaWNrLXRyYWNrOmJlZm9yZSxcbi5zbGljay10cmFjazphZnRlclxue1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuXG4gICAgY29udGVudDogJyc7XG4gICAgfVxuLnNsaWNrLXRyYWNrOmFmdGVyXG57XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrXG57XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuLnNsaWNrLXNsaWRlXG57XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgfVxuW2Rpcj0ncnRsJ10gLnNsaWNrLXNsaWRlXG57XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbi5zbGljay1zbGlkZSBpbWdcbntcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4uc2xpY2stc2xpZGUuc2xpY2stbG9hZGluZyBpbWdcbntcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbi5zbGljay1zbGlkZS5kcmFnZ2luZyBpbWdcbntcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4uc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlXG57XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXNsaWRlXG57XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbi5zbGljay12ZXJ0aWNhbCAuc2xpY2stc2xpZGVcbntcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGhlaWdodDogYXV0bztcblxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuIl19 */
assets/images/bricks-loader.gif ADDED
Binary file
assets/images/loader.gif ADDED
Binary file
assets/js/lae-frontend.js CHANGED
@@ -10,11 +10,29 @@ if (typeof (jQuery) != 'undefined') {
10
 
11
  $(function () {
12
 
13
-
14
  var LAE_Frontend = {
15
 
16
  init: function () {
17
  this.output_custom_css();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  },
19
 
20
  output_custom_css: function () {
@@ -32,24 +50,11 @@ if (typeof (jQuery) != 'undefined') {
32
  return true;
33
  }
34
  return false;
35
- },
36
-
37
- vendor_prefix: function () {
38
 
39
- var prefix;
40
 
41
- function prefix() {
42
- var styles = window.getComputedStyle(document.documentElement, '');
43
- prefix = (Array.prototype.slice.call(styles).join('').match(/-(moz|webkit|ms)-/) || (styles.OLink === '' && ['', 'o']))[1];
44
-
45
- return prefix;
46
- }
47
-
48
- prefix();
49
-
50
- return prefix;
51
- },
52
- }
53
 
54
  LAE_Frontend.init();
55
 
10
 
11
  $(function () {
12
 
 
13
  var LAE_Frontend = {
14
 
15
  init: function () {
16
  this.output_custom_css();
17
+
18
+ this.setup_animations();
19
+ },
20
+
21
+ setup_animations: function () {
22
+
23
+ /* Hide the elements if required to prepare for animation */
24
+ $(".lae-visible-on-scroll:not(.animated)").css('opacity', 0);
25
+
26
+ "function" != typeof window.lae_animate_widgets && (window.lae_animate_widgets = function () {
27
+ "undefined" != typeof $.fn.waypoint && $(".lae-animate-on-scroll:not(.animated)").waypoint(function () {
28
+ var animateClass = $(this.element).data("animation");
29
+ $(this.element).addClass("animated " + animateClass).css('opacity', 1);
30
+ }, {
31
+ offset: "85%"
32
+ })
33
+ });
34
+
35
+ window.setTimeout(lae_animate_widgets, 500)
36
  },
37
 
38
  output_custom_css: function () {
50
  return true;
51
  }
52
  return false;
53
+ }
54
+ };
 
55
 
 
56
 
57
+ /* Initialize the common JS for elements */
 
 
 
 
 
 
 
 
 
 
 
58
 
59
  LAE_Frontend.init();
60
 
assets/js/lae-frontend.min.js CHANGED
@@ -1 +1 @@
1
- if(typeof jQuery!="undefined"){jQuery.noConflict();(function($){"use strict";$(function(){var LAE_Frontend={init:function(){this.output_custom_css()},output_custom_css:function(){var custom_css=lae_settings["custom_css"];if(custom_css!==undefined&&custom_css!=""){custom_css='<style type="text/css">'+custom_css+"</style>";$("head").append(custom_css)}},isMobile:function(){"use strict";if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)){return true}return false},vendor_prefix:function(){var prefix;function prefix(){var styles=window.getComputedStyle(document.documentElement,"");prefix=(Array.prototype.slice.call(styles).join("").match(/-(moz|webkit|ms)-/)||styles.OLink===""&&["","o"])[1];return prefix}prefix();return prefix}};LAE_Frontend.init()})})(jQuery)}
1
+ if(typeof jQuery!="undefined"){jQuery.noConflict();(function($){"use strict";$(function(){var LAE_Frontend={init:function(){this.output_custom_css();this.setup_animations()},setup_animations:function(){$(".lae-visible-on-scroll:not(.animated)").css("opacity",0);"function"!=typeof window.lae_animate_widgets&&(window.lae_animate_widgets=function(){"undefined"!=typeof $.fn.waypoint&&$(".lae-animate-on-scroll:not(.animated)").waypoint(function(){var animateClass=$(this.element).data("animation");$(this.element).addClass("animated "+animateClass).css("opacity",1)},{offset:"85%"})});window.setTimeout(lae_animate_widgets,500)},output_custom_css:function(){var custom_css=lae_settings["custom_css"];if(custom_css!==undefined&&custom_css!=""){custom_css='<style type="text/css">'+custom_css+"</style>";$("head").append(custom_css)}},isMobile:function(){"use strict";if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)){return true}return false}};LAE_Frontend.init()})})(jQuery)}
assets/js/lae-widgets.js CHANGED
@@ -117,82 +117,9 @@
117
  });
118
  };
119
 
120
- var WidgetLAESliderHandler = function ($scope, $) {
121
-
122
- var slider_elem = $scope.find('.lae-slider').eq(0);
123
-
124
- var settings = slider_elem.data('settings');
125
-
126
- var $slider = slider_elem.find('.lae-flexslider');
127
-
128
- $slider.flexslider({
129
- selector: ".lae-slides > .lae-slide",
130
- animation: settings['slide_animation'],
131
- direction: settings['direction'],
132
- slideshowSpeed: settings['slideshow_speed'],
133
- animationSpeed: settings['animation_speed'],
134
- namespace: "lae-flex-",
135
- pauseOnAction: settings['pause_on_action'],
136
- pauseOnHover: settings['pause_on_hover'],
137
- controlNav: settings['control_nav'],
138
- directionNav: settings['direction_nav'],
139
- prevText: "Previous<span></span>",
140
- nextText: "Next<span></span>",
141
- smoothHeight: false,
142
- animationLoop: true,
143
- slideshow: settings['slideshow'],
144
- easing: "swing",
145
- randomize: settings['randomize'],
146
- animationLoop: settings['loop'],
147
- controlsContainer: "lae-slider"
148
- });
149
-
150
-
151
- };
152
-
153
- var WidgetLAEPortfolioHandler = function ($scope, $) {
154
-
155
- if ($().isotope === undefined) {
156
- return;
157
- }
158
-
159
- var container = $scope.find('.lae-portfolio');
160
- if (container.length === 0) {
161
- return; // no items to filter or load and hence don't continue
162
- }
163
-
164
- // layout Isotope after all images have loaded
165
- var htmlContent = $scope.find('.js-isotope');
166
-
167
- var isotopeOptions = htmlContent.data('isotope-options');
168
-
169
- htmlContent.isotope({
170
- // options
171
- itemSelector: isotopeOptions['itemSelector'],
172
- layoutMode: isotopeOptions['layoutMode']
173
- });
174
-
175
- htmlContent.imagesLoaded(function () {
176
- htmlContent.isotope('layout');
177
- });
178
-
179
- /* -------------- Taxonomy Filter --------------- */
180
-
181
- $scope.find('.lae-taxonomy-filter .lae-filter-item a').on('click', function (e) {
182
- e.preventDefault();
183
-
184
- var selector = $(this).attr('data-value');
185
- container.isotope({filter: selector});
186
- $(this).closest('.lae-taxonomy-filter').children().removeClass('lae-active');
187
- $(this).closest('.lae-filter-item').addClass('lae-active');
188
- return false;
189
- });
190
-
191
- };
192
-
193
  var WidgetLAECarouselHandler = function ($scope, $) {
194
 
195
- var carousel_elem = $scope.find('.lae-carousel, .lae-posts-carousel').eq(0);
196
 
197
  if (carousel_elem.length > 0) {
198
 
@@ -260,6 +187,46 @@
260
 
261
  };
262
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
263
  // Make sure you run this code under Elementor..
264
  $(window).on('elementor/frontend/init', function () {
265
 
@@ -282,14 +249,12 @@
282
  elementorFrontend.hooks.addAction('frontend/element_ready/lae-odometers.default', WidgetLAEOdometersHandlerOnScroll);
283
  }
284
 
285
- elementorFrontend.hooks.addAction('frontend/element_ready/lae-slider.default', WidgetLAESliderHandler);
286
 
287
  elementorFrontend.hooks.addAction('frontend/element_ready/lae-portfolio.default', WidgetLAEPortfolioHandler);
288
 
289
  elementorFrontend.hooks.addAction('frontend/element_ready/lae-carousel.default', WidgetLAECarouselHandler);
290
 
291
- elementorFrontend.hooks.addAction('frontend/element_ready/lae-posts-carousel.default', WidgetLAECarouselHandler);
292
-
293
  });
294
 
295
  })(jQuery);
117
  });
118
  };
119
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
120
  var WidgetLAECarouselHandler = function ($scope, $) {
121
 
122
+ var carousel_elem = $scope.find('.lae-carousel, .lae-posts-carousel, .lae-gallery-carousel, .lae-services-carousel').eq(0);
123
 
124
  if (carousel_elem.length > 0) {
125
 
187
 
188
  };
189
 
190
+ var WidgetLAEPortfolioHandler = function ($scope, $) {
191
+
192
+ if ($().isotope === undefined) {
193
+ return;
194
+ }
195
+
196
+ var container = $scope.find('.lae-portfolio');
197
+ if (container.length === 0) {
198
+ return; // no items to filter or load and hence don't continue
199
+ }
200
+
201
+ // layout Isotope after all images have loaded
202
+ var htmlContent = $scope.find('.js-isotope');
203
+
204
+ var isotopeOptions = htmlContent.data('isotope-options');
205
+
206
+ htmlContent.isotope({
207
+ // options
208
+ itemSelector: isotopeOptions['itemSelector'],
209
+ layoutMode: isotopeOptions['layoutMode']
210
+ });
211
+
212
+ htmlContent.imagesLoaded(function () {
213
+ htmlContent.isotope('layout');
214
+ });
215
+
216
+ /* -------------- Taxonomy Filter --------------- */
217
+
218
+ $scope.find('.lae-taxonomy-filter .lae-filter-item a').on('click', function (e) {
219
+ e.preventDefault();
220
+
221
+ var selector = $(this).attr('data-value');
222
+ container.isotope({filter: selector});
223
+ $(this).closest('.lae-taxonomy-filter').children().removeClass('lae-active');
224
+ $(this).closest('.lae-filter-item').addClass('lae-active');
225
+ return false;
226
+ });
227
+
228
+ };
229
+
230
  // Make sure you run this code under Elementor..
231
  $(window).on('elementor/frontend/init', function () {
232
 
249
  elementorFrontend.hooks.addAction('frontend/element_ready/lae-odometers.default', WidgetLAEOdometersHandlerOnScroll);
250
  }
251
 
252
+ elementorFrontend.hooks.addAction('frontend/element_ready/lae-posts-carousel.default', WidgetLAECarouselHandler);
253
 
254
  elementorFrontend.hooks.addAction('frontend/element_ready/lae-portfolio.default', WidgetLAEPortfolioHandler);
255
 
256
  elementorFrontend.hooks.addAction('frontend/element_ready/lae-carousel.default', WidgetLAECarouselHandler);
257
 
 
 
258
  });
259
 
260
  })(jQuery);
assets/js/lae-widgets.min.js CHANGED
@@ -1 +1 @@
1
- (function($){var WidgetLAETestimonialsSliderHandler=function($scope,$){var slider_elem=$scope.find(".lae-testimonials-slider").eq(0);var settings=slider_elem.data("settings");slider_elem.flexslider({selector:".lae-slides > .lae-slide",animation:settings["slide_animation"],direction:settings["direction"],slideshowSpeed:settings["slideshow_speed"],animationSpeed:settings["animation_speed"],namespace:"lae-flex-",pauseOnAction:settings["pause_on_action"],pauseOnHover:settings["pause_on_hover"],controlNav:settings["control_nav"],directionNav:settings["direction_nav"],prevText:"Previous<span></span>",nextText:"Next<span></span>",smoothHeight:false,animationLoop:true,slideshow:true,easing:"swing",controlsContainer:"lae-testimonials-slider"})};var WidgetLAEStatsBarHandler=function($scope,$){$scope.find(".lae-stats-bar-content").each(function(){var dataperc=$(this).data("perc");$(this).animate({width:dataperc+"%"},dataperc*20)})};var WidgetLAEStatsBarHandlerOnScroll=function($scope,$){$scope.waypoint(function(direction){WidgetLAEStatsBarHandler($(this.element),$)},{offset:Waypoint.viewportHeight()-150,triggerOnce:true})};var WidgetLAEPiechartsHandler=function($scope,$){$scope.find(".lae-piechart .lae-percentage").each(function(){var track_color=$(this).data("track-color");var bar_color=$(this).data("bar-color");$(this).easyPieChart({animate:2e3,lineWidth:10,barColor:bar_color,trackColor:track_color,scaleColor:false,lineCap:"square",size:220})})};var WidgetLAEPiechartsHandlerOnScroll=function($scope,$){$scope.waypoint(function(direction){WidgetLAEPiechartsHandler($(this.element),$)},{offset:Waypoint.viewportHeight()-100,triggerOnce:true})};var WidgetLAEOdometersHandler=function($scope,$){$scope.find(".lae-odometer .lae-number").each(function(){var odometer=$(this);setTimeout(function(){var data_stop=odometer.attr("data-stop");$(odometer).text(data_stop)},100)})};var WidgetLAEOdometersHandlerOnScroll=function($scope,$){$scope.waypoint(function(direction){WidgetLAEOdometersHandler($(this.element),$)},{offset:Waypoint.viewportHeight()-100,triggerOnce:true})};var WidgetLAESliderHandler=function($scope,$){var slider_elem=$scope.find(".lae-slider").eq(0);var settings=slider_elem.data("settings");var $slider=slider_elem.find(".lae-flexslider");$slider.flexslider({selector:".lae-slides > .lae-slide",animation:settings["slide_animation"],direction:settings["direction"],slideshowSpeed:settings["slideshow_speed"],animationSpeed:settings["animation_speed"],namespace:"lae-flex-",pauseOnAction:settings["pause_on_action"],pauseOnHover:settings["pause_on_hover"],controlNav:settings["control_nav"],directionNav:settings["direction_nav"],prevText:"Previous<span></span>",nextText:"Next<span></span>",smoothHeight:false,animationLoop:true,slideshow:settings["slideshow"],easing:"swing",randomize:settings["randomize"],animationLoop:settings["loop"],controlsContainer:"lae-slider"})};var WidgetLAEPortfolioHandler=function($scope,$){if($().isotope===undefined){return}var container=$scope.find(".lae-portfolio");if(container.length===0){return}var htmlContent=$scope.find(".js-isotope");var isotopeOptions=htmlContent.data("isotope-options");htmlContent.isotope({itemSelector:isotopeOptions["itemSelector"],layoutMode:isotopeOptions["layoutMode"]});htmlContent.imagesLoaded(function(){htmlContent.isotope("layout")});$scope.find(".lae-taxonomy-filter .lae-filter-item a").on("click",function(e){e.preventDefault();var selector=$(this).attr("data-value");container.isotope({filter:selector});$(this).closest(".lae-taxonomy-filter").children().removeClass("lae-active");$(this).closest(".lae-filter-item").addClass("lae-active");return false})};var WidgetLAECarouselHandler=function($scope,$){var carousel_elem=$scope.find(".lae-carousel, .lae-posts-carousel").eq(0);if(carousel_elem.length>0){var settings=carousel_elem.data("settings");var arrows=settings["arrows"];var dots=settings["dots"];var autoplay=settings["autoplay"];var autoplay_speed=parseInt(settings["autoplay_speed"])||3e3;var animation_speed=parseInt(settings["animation_speed"])||300;var fade=settings["fade"];var pause_on_hover=settings["pause_on_hover"];var display_columns=parseInt(settings["display_columns"])||4;var scroll_columns=parseInt(settings["scroll_columns"])||4;var tablet_width=parseInt(settings["tablet_width"])||800;var tablet_display_columns=parseInt(settings["tablet_display_columns"])||2;var tablet_scroll_columns=parseInt(settings["tablet_scroll_columns"])||2;var mobile_width=parseInt(settings["mobile_width"])||480;var mobile_display_columns=parseInt(settings["mobile_display_columns"])||1;var mobile_scroll_columns=parseInt(settings["mobile_scroll_columns"])||1;carousel_elem.slick({arrows:arrows,dots:dots,infinite:true,autoplay:autoplay,autoplaySpeed:autoplay_speed,speed:animation_speed,fade:false,pauseOnHover:pause_on_hover,slidesToShow:display_columns,slidesToScroll:scroll_columns,responsive:[{breakpoint:tablet_width,settings:{slidesToShow:tablet_display_columns,slidesToScroll:tablet_scroll_columns}},{breakpoint:mobile_width,settings:{slidesToShow:mobile_display_columns,slidesToScroll:mobile_scroll_columns}}]})}};$(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/lae-testimonials-slider.default",WidgetLAETestimonialsSliderHandler);if(elementorFrontend.isEditMode()){elementorFrontend.hooks.addAction("frontend/element_ready/lae-stats-bars.default",WidgetLAEStatsBarHandler);elementorFrontend.hooks.addAction("frontend/element_ready/lae-piecharts.default",WidgetLAEPiechartsHandler);elementorFrontend.hooks.addAction("frontend/element_ready/lae-odometers.default",WidgetLAEOdometersHandler)}else{elementorFrontend.hooks.addAction("frontend/element_ready/lae-stats-bars.default",WidgetLAEStatsBarHandlerOnScroll);elementorFrontend.hooks.addAction("frontend/element_ready/lae-piecharts.default",WidgetLAEPiechartsHandlerOnScroll);elementorFrontend.hooks.addAction("frontend/element_ready/lae-odometers.default",WidgetLAEOdometersHandlerOnScroll)}elementorFrontend.hooks.addAction("frontend/element_ready/lae-slider.default",WidgetLAESliderHandler);elementorFrontend.hooks.addAction("frontend/element_ready/lae-portfolio.default",WidgetLAEPortfolioHandler);elementorFrontend.hooks.addAction("frontend/element_ready/lae-carousel.default",WidgetLAECarouselHandler);elementorFrontend.hooks.addAction("frontend/element_ready/lae-posts-carousel.default",WidgetLAECarouselHandler)})})(jQuery);
1
+ (function($){var WidgetLAETestimonialsSliderHandler=function($scope,$){var slider_elem=$scope.find(".lae-testimonials-slider").eq(0);var settings=slider_elem.data("settings");slider_elem.flexslider({selector:".lae-slides > .lae-slide",animation:settings["slide_animation"],direction:settings["direction"],slideshowSpeed:settings["slideshow_speed"],animationSpeed:settings["animation_speed"],namespace:"lae-flex-",pauseOnAction:settings["pause_on_action"],pauseOnHover:settings["pause_on_hover"],controlNav:settings["control_nav"],directionNav:settings["direction_nav"],prevText:"Previous<span></span>",nextText:"Next<span></span>",smoothHeight:false,animationLoop:true,slideshow:true,easing:"swing",controlsContainer:"lae-testimonials-slider"})};var WidgetLAEStatsBarHandler=function($scope,$){$scope.find(".lae-stats-bar-content").each(function(){var dataperc=$(this).data("perc");$(this).animate({width:dataperc+"%"},dataperc*20)})};var WidgetLAEStatsBarHandlerOnScroll=function($scope,$){$scope.waypoint(function(direction){WidgetLAEStatsBarHandler($(this.element),$)},{offset:Waypoint.viewportHeight()-150,triggerOnce:true})};var WidgetLAEPiechartsHandler=function($scope,$){$scope.find(".lae-piechart .lae-percentage").each(function(){var track_color=$(this).data("track-color");var bar_color=$(this).data("bar-color");$(this).easyPieChart({animate:2e3,lineWidth:10,barColor:bar_color,trackColor:track_color,scaleColor:false,lineCap:"square",size:220})})};var WidgetLAEPiechartsHandlerOnScroll=function($scope,$){$scope.waypoint(function(direction){WidgetLAEPiechartsHandler($(this.element),$)},{offset:Waypoint.viewportHeight()-100,triggerOnce:true})};var WidgetLAEOdometersHandler=function($scope,$){$scope.find(".lae-odometer .lae-number").each(function(){var odometer=$(this);setTimeout(function(){var data_stop=odometer.attr("data-stop");$(odometer).text(data_stop)},100)})};var WidgetLAEOdometersHandlerOnScroll=function($scope,$){$scope.waypoint(function(direction){WidgetLAEOdometersHandler($(this.element),$)},{offset:Waypoint.viewportHeight()-100,triggerOnce:true})};var WidgetLAECarouselHandler=function($scope,$){var carousel_elem=$scope.find(".lae-carousel, .lae-posts-carousel, .lae-gallery-carousel, .lae-services-carousel").eq(0);if(carousel_elem.length>0){var settings=carousel_elem.data("settings");var arrows=settings["arrows"];var dots=settings["dots"];var autoplay=settings["autoplay"];var autoplay_speed=parseInt(settings["autoplay_speed"])||3e3;var animation_speed=parseInt(settings["animation_speed"])||300;var fade=settings["fade"];var pause_on_hover=settings["pause_on_hover"];var display_columns=parseInt(settings["display_columns"])||4;var scroll_columns=parseInt(settings["scroll_columns"])||4;var tablet_width=parseInt(settings["tablet_width"])||800;var tablet_display_columns=parseInt(settings["tablet_display_columns"])||2;var tablet_scroll_columns=parseInt(settings["tablet_scroll_columns"])||2;var mobile_width=parseInt(settings["mobile_width"])||480;var mobile_display_columns=parseInt(settings["mobile_display_columns"])||1;var mobile_scroll_columns=parseInt(settings["mobile_scroll_columns"])||1;carousel_elem.slick({arrows:arrows,dots:dots,infinite:true,autoplay:autoplay,autoplaySpeed:autoplay_speed,speed:animation_speed,fade:false,pauseOnHover:pause_on_hover,slidesToShow:display_columns,slidesToScroll:scroll_columns,responsive:[{breakpoint:tablet_width,settings:{slidesToShow:tablet_display_columns,slidesToScroll:tablet_scroll_columns}},{breakpoint:mobile_width,settings:{slidesToShow:mobile_display_columns,slidesToScroll:mobile_scroll_columns}}]})}};var WidgetLAEPortfolioHandler=function($scope,$){if($().isotope===undefined){return}var container=$scope.find(".lae-portfolio");if(container.length===0){return}var htmlContent=$scope.find(".js-isotope");var isotopeOptions=htmlContent.data("isotope-options");htmlContent.isotope({itemSelector:isotopeOptions["itemSelector"],layoutMode:isotopeOptions["layoutMode"]});htmlContent.imagesLoaded(function(){htmlContent.isotope("layout")});$scope.find(".lae-taxonomy-filter .lae-filter-item a").on("click",function(e){e.preventDefault();var selector=$(this).attr("data-value");container.isotope({filter:selector});$(this).closest(".lae-taxonomy-filter").children().removeClass("lae-active");$(this).closest(".lae-filter-item").addClass("lae-active");return false})};$(window).on("elementor/frontend/init",function(){elementorFrontend.hooks.addAction("frontend/element_ready/lae-testimonials-slider.default",WidgetLAETestimonialsSliderHandler);if(elementorFrontend.isEditMode()){elementorFrontend.hooks.addAction("frontend/element_ready/lae-stats-bars.default",WidgetLAEStatsBarHandler);elementorFrontend.hooks.addAction("frontend/element_ready/lae-piecharts.default",WidgetLAEPiechartsHandler);elementorFrontend.hooks.addAction("frontend/element_ready/lae-odometers.default",WidgetLAEOdometersHandler)}else{elementorFrontend.hooks.addAction("frontend/element_ready/lae-stats-bars.default",WidgetLAEStatsBarHandlerOnScroll);elementorFrontend.hooks.addAction("frontend/element_ready/lae-piecharts.default",WidgetLAEPiechartsHandlerOnScroll);elementorFrontend.hooks.addAction("frontend/element_ready/lae-odometers.default",WidgetLAEOdometersHandlerOnScroll)}elementorFrontend.hooks.addAction("frontend/element_ready/lae-posts-carousel.default",WidgetLAECarouselHandler);elementorFrontend.hooks.addAction("frontend/element_ready/lae-portfolio.default",WidgetLAEPortfolioHandler);elementorFrontend.hooks.addAction("frontend/element_ready/lae-carousel.default",WidgetLAECarouselHandler)})})(jQuery);
freemius/LICENSE.txt ADDED
@@ -0,0 +1,674 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ GNU GENERAL PUBLIC LICENSE
2
+ Version 3, 29 June 2007
3
+
4
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
5
+ Everyone is permitted to copy and distribute verbatim copies
6
+ of this license document, but changing it is not allowed.
7
+
8
+ Preamble
9
+
10
+ The GNU General Public License is a free, copyleft license for
11
+ software and other kinds of works.
12
+
13
+ The licenses for most software and other practical works are designed
14
+ to take away your freedom to share and change the works. By contrast,
15
+ the GNU General Public License is intended to guarantee your freedom to
16
+ share and change all versions of a program--to make sure it remains free
17
+ software for all its users. We, the Free Software Foundation, use the
18
+ GNU General Public License for most of our software; it applies also to
19
+ any other work released this way by its authors. You can apply it to
20
+ your programs, too.
21
+
22
+ When we speak of free software, we are referring to freedom, not
23
+ price. Our General Public Licenses are designed to make sure that you
24
+ have the freedom to distribute copies of free software (and charge for
25
+ them if you wish), that you receive source code or can get it if you
26
+ want it, that you can change the software or use pieces of it in new
27
+ free programs, and that you know you can do these things.
28
+
29
+ To protect your rights, we need to prevent others from denying you
30
+ these rights or asking you to surrender the rights. Therefore, you have
31
+ certain responsibilities if you distribute copies of the software, or if
32
+ you modify it: responsibilities to respect the freedom of others.
33
+
34
+ For example, if you distribute copies of such a program, whether
35
+ gratis or for a fee, you must pass on to the recipients the same
36
+ freedoms that you received. You must make sure that they, too, receive
37
+ or can get the source code. And you must show them these terms so they
38
+ know their rights.
39
+
40
+ Developers that use the GNU GPL protect your rights with two steps:
41
+ (1) assert copyright on the software, and (2) offer you this License
42
+ giving you legal permission to copy, distribute and/or modify it.
43
+
44
+ For the developers' and authors' protection, the GPL clearly explains
45
+ that there is no warranty for this free software. For both users' and
46
+ authors' sake, the GPL requires that modified versions be marked as
47
+ changed, so that their problems will not be attributed erroneously to
48
+ authors of previous versions.
49
+
50
+ Some devices are designed to deny users access to install or run
51
+ modified versions of the software inside them, although the manufacturer
52
+ can do so. This is fundamentally incompatible with the aim of
53
+ protecting users' freedom to change the software. The systematic
54
+ pattern of such abuse occurs in the area of products for individuals to
55
+ use, which is precisely where it is most unacceptable. Therefore, we
56
+ have designed this version of the GPL to prohibit the practice for those
57
+ products. If such problems arise substantially in other domains, we
58
+ stand ready to extend this provision to those domains in future versions
59
+ of the GPL, as needed to protect the freedom of users.
60
+
61
+ Finally, every program is threatened constantly by software patents.
62
+ States should not allow patents to restrict development and use of
63
+ software on general-purpose computers, but in those that do, we wish to
64
+ avoid the special danger that patents applied to a free program could
65
+ make it effectively proprietary. To prevent this, the GPL assures that
66
+ patents cannot be used to render the program non-free.
67
+
68
+ The precise terms and conditions for copying, distribution and
69
+ modification follow.
70
+
71
+ TERMS AND CONDITIONS
72
+
73
+ 0. Definitions.
74
+
75
+ "This License" refers to version 3 of the GNU General Public License.
76
+
77
+ "Copyright" also means copyright-like laws that apply to other kinds of
78
+ works, such as semiconductor masks.
79
+
80
+ "The Program" refers to any copyrightable work licensed under this
81
+ License. Each licensee is addressed as "you". "Licensees" and
82
+ "recipients" may be individuals or organizations.
83
+
84
+ To "modify" a work means to copy from or adapt all or part of the work
85
+ in a fashion requiring copyright permission, other than the making of an
86
+ exact copy. The resulting work is called a "modified version" of the
87
+ earlier work or a work "based on" the earlier work.
88
+
89
+ A "covered work" means either the unmodified Program or a work based
90
+ on the Program.
91
+
92
+ To "propagate" a work means to do anything with it that, without
93
+ permission, would make you directly or secondarily liable for
94
+ infringement under applicable copyright law, except executing it on a
95
+ computer or modifying a private copy. Propagation includes copying,
96
+ distribution (with or without modification), making available to the
97
+ public, and in some countries other activities as well.
98
+
99
+ To "convey" a work means any kind of propagation that enables other
100
+ parties to make or receive copies. Mere interaction with a user through
101
+ a computer network, with no transfer of a copy, is not conveying.
102
+
103
+ An interactive user interface displays "Appropriate Legal Notices"
104
+ to the extent that it includes a convenient and prominently visible
105
+ feature that (1) displays an appropriate copyright notice, and (2)
106
+ tells the user that there is no warranty for the work (except to the
107
+ extent that warranties are provided), that licensees may convey the
108
+ work under this License, and how to view a copy of this License. If
109
+ the interface presents a list of user commands or options, such as a
110
+ menu, a prominent item in the list meets this criterion.
111
+
112
+ 1. Source Code.
113
+
114
+ The "source code" for a work means the preferred form of the work
115
+ for making modifications to it. "Object code" means any non-source
116
+ form of a work.
117
+
118
+ A "Standard Interface" means an interface that either is an official
119
+ standard defined by a recognized standards body, or, in the case of
120
+ interfaces specified for a particular programming language, one that
121
+ is widely used among developers working in that language.
122
+
123
+ The "System Libraries" of an executable work include anything, other
124
+ than the work as a whole, that (a) is included in the normal form of
125
+ packaging a Major Component, but which is not part of that Major
126
+ Component, and (b) serves only to enable use of the work with that
127
+ Major Component, or to implement a Standard Interface for which an
128
+ implementation is available to the public in source code form. A
129
+ "Major Component", in this context, means a major essential component
130
+ (kernel, window system, and so on) of the specific operating system
131
+ (if any) on which the executable work runs, or a compiler used to
132
+ produce the work, or an object code interpreter used to run it.
133
+
134
+ The "Corresponding Source" for a work in object code form means all
135
+ the source code needed to generate, install, and (for an executable
136
+ work) run the object code and to modify the work, including scripts to
137
+ control those activities. However, it does not include the work's
138
+ System Libraries, or general-purpose tools or generally available free
139
+ programs which are used unmodified in performing those activities but
140
+ which are not part of the work. For example, Corresponding Source
141
+ includes interface definition files associated with source files for
142
+ the work, and the source code for shared libraries and dynamically
143
+ linked subprograms that the work is specifically designed to require,
144
+ such as by intimate data communication or control flow between those
145
+ subprograms and other parts of the work.
146
+
147
+ The Corresponding Source need not include anything that users
148
+ can regenerate automatically from other parts of the Corresponding
149
+ Source.
150
+
151
+ The Corresponding Source for a work in source code form is that
152
+ same work.
153
+
154
+ 2. Basic Permissions.
155
+
156
+ All rights granted under this License are granted for the term of
157
+ copyright on the Program, and are irrevocable provided the stated
158
+ conditions are met. This License explicitly affirms your unlimited
159
+ permission to run the unmodified Program. The output from running a
160
+ covered work is covered by this License only if the output, given its
161
+ content, constitutes a covered work. This License acknowledges your
162
+ rights of fair use or other equivalent, as provided by copyright law.
163
+
164
+ You may make, run and propagate covered works that you do not
165
+ convey, without conditions so long as your license otherwise remains
166
+ in force. You may convey covered works to others for the sole purpose
167
+ of having them make modifications exclusively for you, or provide you
168
+ with facilities for running those works, provided that you comply with
169
+ the terms of this License in conveying all material for which you do
170
+ not control copyright. Those thus making or running the covered works
171
+ for you must do so exclusively on your behalf, under your direction
172
+ and control, on terms that prohibit them from making any copies of
173
+ your copyrighted material outside their relationship with you.
174
+
175
+ Conveying under any other circumstances is permitted solely under
176
+ the conditions stated below. Sublicensing is not allowed; section 10
177
+ makes it unnecessary.
178
+
179
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
180
+
181
+ No covered work shall be deemed part of an effective technological
182
+ measure under any applicable law fulfilling obligations under article
183
+ 11 of the WIPO copyright treaty adopted on 20 December 1996, or
184
+ similar laws prohibiting or restricting circumvention of such
185
+ measures.
186
+
187
+ When you convey a covered work, you waive any legal power to forbid
188
+ circumvention of technological measures to the extent such circumvention
189
+ is effected by exercising rights under this License with respect to
190
+ the covered work, and you disclaim any intention to limit operation or
191
+ modification of the work as a means of enforcing, against the work's
192
+ users, your or third parties' legal rights to forbid circumvention of
193
+ technological measures.
194
+
195
+ 4. Conveying Verbatim Copies.
196
+
197
+ You may convey verbatim copies of the Program's source code as you
198
+ receive it, in any medium, provided that you conspicuously and
199
+ appropriately publish on each copy an appropriate copyright notice;
200
+ keep intact all notices stating that this License and any
201
+ non-permissive terms added in accord with section 7 apply to the code;
202
+ keep intact all notices of the absence of any warranty; and give all
203
+ recipients a copy of this License along with the Program.
204
+
205
+ You may charge any price or no price for each copy that you convey,
206
+ and you may offer support or warranty protection for a fee.
207
+
208
+ 5. Conveying Modified Source Versions.
209
+
210
+ You may convey a work based on the Program, or the modifications to
211
+ produce it from the Program, in the form of source code under the
212
+ terms of section 4, provided that you also meet all of these conditions:
213
+
214
+ a) The work must carry prominent notices stating that you modified
215
+ it, and giving a relevant date.
216
+
217
+ b) The work must carry prominent notices stating that it is
218
+ released under this License and any conditions added under section
219
+ 7. This requirement modifies the requirement in section 4 to
220
+ "keep intact all notices".
221
+
222
+ c) You must license the entire work, as a whole, under this
223
+ License to anyone who comes into possession of a copy. This
224
+ License will therefore apply, along with any applicable section 7
225
+ additional terms, to the whole of the work, and all its parts,
226
+ regardless of how they are packaged. This License gives no
227
+ permission to license the work in any other way, but it does not
228
+ invalidate such permission if you have separately received it.
229
+
230
+ d) If the work has interactive user interfaces, each must display
231
+ Appropriate Legal Notices; however, if the Program has interactive
232
+ interfaces that do not display Appropriate Legal Notices, your
233
+ work need not make them do so.
234
+
235
+ A compilation of a covered work with other separate and independent
236
+ works, which are not by their nature extensions of the covered work,
237
+ and which are not combined with it such as to form a larger program,
238
+ in or on a volume of a storage or distribution medium, is called an
239
+ "aggregate" if the compilation and its resulting copyright are not
240
+ used to limit the access or legal rights of the compilation's users
241
+ beyond what the individual works permit. Inclusion of a covered work
242
+ in an aggregate does not cause this License to apply to the other
243
+ parts of the aggregate.
244
+
245
+ 6. Conveying Non-Source Forms.
246
+
247
+ You may convey a covered work in object code form under the terms
248
+ of sections 4 and 5, provided that you also convey the
249
+ machine-readable Corresponding Source under the terms of this License,
250
+ in one of these ways:
251
+
252
+ a) Convey the object code in, or embodied in, a physical product
253
+ (including a physical distribution medium), accompanied by the
254
+ Corresponding Source fixed on a durable physical medium
255
+ customarily used for software interchange.
256
+
257
+ b) Convey the object code in, or embodied in, a physical product
258
+ (including a physical distribution medium), accompanied by a
259
+ written offer, valid for at least three years and valid for as
260
+ long as you offer spare parts or customer support for that product
261
+ model, to give anyone who possesses the object code either (1) a
262
+ copy of the Corresponding Source for all the software in the
263
+ product that is covered by this License, on a durable physical
264
+ medium customarily used for software interchange, for a price no
265
+ more than your reasonable cost of physically performing this
266
+ conveying of source, or (2) access to copy the
267
+ Corresponding Source from a network server at no charge.
268
+
269
+ c) Convey individual copies of the object code with a copy of the
270
+ written offer to provide the Corresponding Source. This
271
+ alternative is allowed only occasionally and noncommercially, and
272
+ only if you received the object code with such an offer, in accord
273
+ with subsection 6b.
274
+
275
+ d) Convey the object code by offering access from a designated
276
+ place (gratis or for a charge), and offer equivalent access to the
277
+ Corresponding Source in the same way through the same place at no
278
+ further charge. You need not require recipients to copy the
279
+ Corresponding Source along with the object code. If the place to
280
+ copy the object code is a network server, the Corresponding Source
281
+ may be on a different server (operated by you or a third party)
282
+ that supports equivalent copying facilities, provided you maintain
283
+ clear directions next to the object code saying where to find the
284
+ Corresponding Source. Regardless of what server hosts the
285
+ Corresponding Source, you remain obligated to ensure that it is
286
+ available for as long as needed to satisfy these requirements.
287
+
288
+ e) Convey the object code using peer-to-peer transmission, provided
289
+ you inform other peers where the object code and Corresponding
290
+ Source of the work are being offered to the general public at no
291
+ charge under subsection 6d.
292
+
293
+ A separable portion of the object code, whose source code is excluded
294
+ from the Corresponding Source as a System Library, need not be
295
+ included in conveying the object code work.
296
+
297
+ A "User Product" is either (1) a "consumer product", which means any
298
+ tangible personal property which is normally used for personal, family,
299
+ or household purposes, or (2) anything designed or sold for incorporation
300
+ into a dwelling. In determining whether a product is a consumer product,
301
+ doubtful cases shall be resolved in favor of coverage. For a particular
302
+ product received by a particular user, "normally used" refers to a
303
+ typical or common use of that class of product, regardless of the status
304
+ of the particular user or of the way in which the particular user
305
+ actually uses, or expects or is expected to use, the product. A product
306
+ is a consumer product regardless of whether the product has substantial
307
+ commercial, industrial or non-consumer uses, unless such uses represent
308
+ the only significant mode of use of the product.
309
+
310
+ "Installation Information" for a User Product means any methods,
311
+ procedures, authorization keys, or other information required to install
312
+ and execute modified versions of a covered work in that User Product from
313
+ a modified version of its Corresponding Source. The information must
314
+ suffice to ensure that the continued functioning of the modified object
315
+ code is in no case prevented or interfered with solely because
316
+ modification has been made.
317
+
318
+ If you convey an object code work under this section in, or with, or
319
+ specifically for use in, a User Product, and the conveying occurs as
320
+ part of a transaction in which the right of possession and use of the
321
+ User Product is transferred to the recipient in perpetuity or for a
322
+ fixed term (regardless of how the transaction is characterized), the
323
+ Corresponding Source conveyed under this section must be accompanied
324
+ by the Installation Information. But this requirement does not apply
325
+ if neither you nor any third party retains the ability to install
326
+ modified object code on the User Product (for example, the work has
327
+ been installed in ROM).
328
+
329
+ The requirement to provide Installation Information does not include a
330
+ requirement to continue to provide support service, warranty, or updates
331
+ for a work that has been modified or installed by the recipient, or for
332
+ the User Product in which it has been modified or installed. Access to a
333
+ network may be denied when the modification itself materially and
334
+ adversely affects the operation of the network or violates the rules and
335
+ protocols for communication across the network.
336
+
337
+ Corresponding Source conveyed, and Installation Information provided,
338
+ in accord with this section must be in a format that is publicly
339
+ documented (and with an implementation available to the public in
340
+ source code form), and must require no special password or key for
341
+ unpacking, reading or copying.
342
+
343
+ 7. Additional Terms.
344
+
345
+ "Additional permissions" are terms that supplement the terms of this
346
+ License by making exceptions from one or more of its conditions.
347
+ Additional permissions that are applicable to the entire Program shall
348
+ be treated as though they were included in this License, to the extent
349
+ that they are valid under applicable law. If additional permissions
350
+ apply only to part of the Program, that part may be used separately
351
+ under those permissions, but the entire Program remains governed by
352
+ this License without regard to the additional permissions.
353
+
354
+ When you convey a copy of a covered work, you may at your option
355
+ remove any additional permissions from that copy, or from any part of
356
+ it. (Additional permissions may be written to require their own
357
+ removal in certain cases when you modify the work.) You may place
358
+ additional permissions on material, added by you to a covered work,
359
+ for which you have or can give appropriate copyright permission.
360
+
361
+ Notwithstanding any other provision of this License, for material you
362
+ add to a covered work, you may (if authorized by the copyright holders of
363
+ that material) supplement the terms of this License with terms:
364
+
365
+ a) Disclaiming warranty or limiting liability differently from the
366
+ terms of sections 15 and 16 of this License; or
367
+
368
+ b) Requiring preservation of specified reasonable legal notices or
369
+ author attributions in that material or in the Appropriate Legal
370
+ Notices displayed by works containing it; or
371
+
372
+ c) Prohibiting misrepresentation of the origin of that material, or
373
+ requiring that modified versions of such material be marked in
374
+ reasonable ways as different from the original version; or
375
+
376
+ d) Limiting the use for publicity purposes of names of licensors or
377
+ authors of the material; or
378
+
379
+ e) Declining to grant rights under trademark law for use of some
380
+ trade names, trademarks, or service marks; or
381
+
382
+ f) Requiring indemnification of licensors and authors of that
383
+ material by anyone who conveys the material (or modified versions of
384
+ it) with contractual assumptions of liability to the recipient, for
385
+ any liability that these contractual assumptions directly impose on
386
+ those licensors and authors.
387
+
388
+ All other non-permissive additional terms are considered "further
389
+ restrictions" within the meaning of section 10. If the Program as you
390
+ received it, or any part of it, contains a notice stating that it is
391
+ governed by this License along with a term that is a further
392
+ restriction, you may remove that term. If a license document contains
393
+ a further restriction but permits relicensing or conveying under this
394
+ License, you may add to a covered work material governed by the terms
395
+ of that license document, provided that the further restriction does
396
+ not survive such relicensing or conveying.
397
+
398
+ If you add terms to a covered work in accord with this section, you
399
+ must place, in the relevant source files, a statement of the
400
+ additional terms that apply to those files, or a notice indicating
401
+ where to find the applicable terms.
402
+
403
+ Additional terms, permissive or non-permissive, may be stated in the
404
+ form of a separately written license, or stated as exceptions;
405
+ the above requirements apply either way.
406
+
407
+ 8. Termination.
408
+
409
+ You may not propagate or modify a covered work except as expressly
410
+ provided under this License. Any attempt otherwise to propagate or
411
+ modify it is void, and will automatically terminate your rights under
412
+ this License (including any patent licenses granted under the third
413
+ paragraph of section 11).
414
+
415
+ However, if you cease all violation of this License, then your
416
+ license from a particular copyright holder is reinstated (a)
417
+ provisionally, unless and until the copyright holder explicitly and
418
+ finally terminates your license, and (b) permanently, if the copyright
419
+ holder fails to notify you of the violation by some reasonable means
420
+ prior to 60 days after the cessation.
421
+
422
+ Moreover, your license from a particular copyright holder is
423
+ reinstated permanently if the copyright holder notifies you of the
424
+ violation by some reasonable means, this is the first time you have
425
+ received notice of violation of this License (for any work) from that
426
+ copyright holder, and you cure the violation prior to 30 days after
427
+ your receipt of the notice.
428
+
429
+ Termination of your rights under this section does not terminate the
430
+ licenses of parties who have received copies or rights from you under
431
+ this License. If your rights have been terminated and not permanently
432
+ reinstated, you do not qualify to receive new licenses for the same
433
+ material under section 10.
434
+
435
+ 9. Acceptance Not Required for Having Copies.
436
+
437
+ You are not required to accept this License in order to receive or
438
+ run a copy of the Program. Ancillary propagation of a covered work
439
+ occurring solely as a consequence of using peer-to-peer transmission
440
+ to receive a copy likewise does not require acceptance. However,
441
+ nothing other than this License grants you permission to propagate or
442
+ modify any covered work. These actions infringe copyright if you do
443
+ not accept this License. Therefore, by modifying or propagating a
444
+ covered work, you indicate your acceptance of this License to do so.
445
+
446
+ 10. Automatic Licensing of Downstream Recipients.
447
+
448
+ Each time you convey a covered work, the recipient automatically
449
+ receives a license from the original licensors, to run, modify and
450
+ propagate that work, subject to this License. You are not responsible
451
+ for enforcing compliance by third parties with this License.
452
+
453
+ An "entity transaction" is a transaction transferring control of an
454
+ organization, or substantially all assets of one, or subdividing an
455
+ organization, or merging organizations. If propagation of a covered
456
+ work results from an entity transaction, each party to that
457
+ transaction who receives a copy of the work also receives whatever
458
+ licenses to the work the party's predecessor in interest had or could
459
+ give under the previous paragraph, plus a right to possession of the
460
+ Corresponding Source of the work from the predecessor in interest, if
461
+ the predecessor has it or can get it with reasonable efforts.
462
+
463
+ You may not impose any further restrictions on the exercise of the
464
+ rights granted or affirmed under this License. For example, you may
465
+ not impose a license fee, royalty, or other charge for exercise of
466
+ rights granted under this License, and you may not initiate litigation
467
+ (including a cross-claim or counterclaim in a lawsuit) alleging that
468
+ any patent claim is infringed by making, using, selling, offering for
469
+ sale, or importing the Program or any portion of it.
470
+
471
+ 11. Patents.
472
+
473
+ A "contributor" is a copyright holder who authorizes use under this
474
+ License of the Program or a work on which the Program is based. The
475
+ work thus licensed is called the contributor's "contributor version".
476
+
477
+ A contributor's "essential patent claims" are all patent claims
478
+ owned or controlled by the contributor, whether already acquired or
479
+ hereafter acquired, that would be infringed by some manner, permitted
480
+ by this License, of making, using, or selling its contributor version,
481
+ but do not include claims that would be infringed only as a
482
+ consequence of further modification of the contributor version. For
483
+ purposes of this definition, "control" includes the right to grant
484
+ patent sublicenses in a manner consistent with the requirements of
485
+ this License.
486
+
487
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
488
+ patent license under the contributor's essential patent claims, to
489
+ make, use, sell, offer for sale, import and otherwise run, modify and
490
+ propagate the contents of its contributor version.
491
+
492
+ In the following three paragraphs, a "patent license" is any express
493
+ agreement or commitment, however denominated, not to enforce a patent
494
+ (such as an express permission to practice a patent or covenant not to
495
+ sue for patent infringement). To "grant" such a patent license to a
496
+ party means to make such an agreement or commitment not to enforce a
497
+ patent against the party.
498
+
499
+ If you convey a covered work, knowingly relying on a patent license,
500
+ and the Corresponding Source of the work is not available for anyone
501
+ to copy, free of charge and under the terms of this License, through a
502
+ publicly available network server or other readily accessible means,
503
+ then you must either (1) cause the Corresponding Source to be so
504
+ available, or (2) arrange to deprive yourself of the benefit of the
505
+ patent license for this particular work, or (3) arrange, in a manner
506
+ consistent with the requirements of this License, to extend the patent
507
+ license to downstream recipients. "Knowingly relying" means you have
508
+ actual knowledge that, but for the patent license, your conveying the
509
+ covered work in a country, or your recipient's use of the covered work
510
+ in a country, would infringe one or more identifiable patents in that
511
+ country that you have reason to believe are valid.
512
+
513
+ If, pursuant to or in connection with a single transaction or
514
+ arrangement, you convey, or propagate by procuring conveyance of, a
515
+ covered work, and grant a patent license to some of the parties
516
+ receiving the covered work authorizing them to use, propagate, modify
517
+ or convey a specific copy of the covered work, then the patent license
518
+ you grant is automatically extended to all recipients of the covered
519
+ work and works based on it.
520
+
521
+ A patent license is "discriminatory" if it does not include within
522
+ the scope of its coverage, prohibits the exercise of, or is
523
+ conditioned on the non-exercise of one or more of the rights that are
524
+ specifically granted under this License. You may not convey a covered
525
+ work if you are a party to an arrangement with a third party that is
526
+ in the business of distributing software, under which you make payment
527
+ to the third party based on the extent of your activity of conveying
528
+ the work, and under which the third party grants, to any of the
529
+ parties who would receive the covered work from you, a discriminatory
530
+ patent license (a) in connection with copies of the covered work
531
+ conveyed by you (or copies made from those copies), or (b) primarily
532
+ for and in connection with specific products or compilations that
533
+ contain the covered work, unless you entered into that arrangement,
534
+ or that patent license was granted, prior to 28 March 2007.
535
+
536
+ Nothing in this License shall be construed as excluding or limiting
537
+ any implied license or other defenses to infringement that may
538
+ otherwise be available to you under applicable patent law.
539
+
540
+ 12. No Surrender of Others' Freedom.
541
+
542
+ If conditions are imposed on you (whether by court order, agreement or
543
+ otherwise) that contradict the conditions of this License, they do not
544
+ excuse you from the conditions of this License. If you cannot convey a
545
+ covered work so as to satisfy simultaneously your obligations under this
546
+ License and any other pertinent obligations, then as a consequence you may
547
+ not convey it at all. For example, if you agree to terms that obligate you
548
+ to collect a royalty for further conveying from those to whom you convey
549
+ the Program, the only way you could satisfy both those terms and this
550
+ License would be to refrain entirely from conveying the Program.
551
+
552
+ 13. Use with the GNU Affero General Public License.
553
+
554
+ Notwithstanding any other provision of this License, you have
555
+ permission to link or combine any covered work with a work licensed
556
+ under version 3 of the GNU Affero General Public License into a single
557
+ combined work, and to convey the resulting work. The terms of this
558
+ License will continue to apply to the part which is the covered work,
559
+ but the special requirements of the GNU Affero General Public License,
560
+ section 13, concerning interaction through a network will apply to the
561
+ combination as such.
562
+
563
+ 14. Revised Versions of this License.
564
+
565
+ The Free Software Foundation may publish revised and/or new versions of
566
+ the GNU General Public License from time to time. Such new versions will
567
+ be similar in spirit to the present version, but may differ in detail to
568
+ address new problems or concerns.
569
+
570
+ Each version is given a distinguishing version number. If the
571
+ Program specifies that a certain numbered version of the GNU General
572
+ Public License "or any later version" applies to it, you have the
573
+ option of following the terms and conditions either of that numbered
574
+ version or of any later version published by the Free Software
575
+ Foundation. If the Program does not specify a version number of the
576
+ GNU General Public License, you may choose any version ever published
577
+ by the Free Software Foundation.
578
+
579
+ If the Program specifies that a proxy can decide which future
580
+ versions of the GNU General Public License can be used, that proxy's
581
+ public statement of acceptance of a version permanently authorizes you
582
+ to choose that version for the Program.
583
+
584
+ Later license versions may give you additional or different
585
+ permissions. However, no additional obligations are imposed on any
586
+ author or copyright holder as a result of your choosing to follow a
587
+ later version.
588
+
589
+ 15. Disclaimer of Warranty.
590
+
591
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
592
+ APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
593
+ HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
594
+ OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
595
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
596
+ PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
597
+ IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
598
+ ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
599
+
600
+ 16. Limitation of Liability.
601
+
602
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
603
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
604
+ THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
605
+ GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
606
+ USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
607
+ DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
608
+ PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
609
+ EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
610
+ SUCH DAMAGES.
611
+
612
+ 17. Interpretation of Sections 15 and 16.
613
+
614
+ If the disclaimer of warranty and limitation of liability provided
615
+ above cannot be given local legal effect according to their terms,
616
+ reviewing courts shall apply local law that most closely approximates
617
+ an absolute waiver of all civil liability in connection with the
618
+ Program, unless a warranty or assumption of liability accompanies a
619
+ copy of the Program in return for a fee.
620
+
621
+ END OF TERMS AND CONDITIONS
622
+
623
+ How to Apply These Terms to Your New Programs
624
+
625
+ If you develop a new program, and you want it to be of the greatest
626
+ possible use to the public, the best way to achieve this is to make it
627
+ free software which everyone can redistribute and change under these terms.
628
+
629
+ To do so, attach the following notices to the program. It is safest
630
+ to attach them to the start of each source file to most effectively
631
+ state the exclusion of warranty; and each file should have at least
632
+ the "copyright" line and a pointer to where the full notice is found.
633
+
634
+ {one line to give the program's name and a brief idea of what it does.}
635
+ Copyright (C) {year} {name of author}
636
+
637
+ This program is free software: you can redistribute it and/or modify
638
+ it under the terms of the GNU General Public License as published by
639
+ the Free Software Foundation, either version 3 of the License, or
640
+ (at your option) any later version.
641
+
642
+ This program is distributed in the hope that it will be useful,
643
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
644
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
645
+ GNU General Public License for more details.
646
+
647
+ You should have received a copy of the GNU General Public License
648
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
649
+
650
+ Also add information on how to contact you by electronic and paper mail.
651
+
652
+ If the program does terminal interaction, make it output a short
653
+ notice like this when it starts in an interactive mode:
654
+
655
+ {project} Copyright (C) {year} {fullname}
656
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
657
+ This is free software, and you are welcome to redistribute it
658
+ under certain conditions; type `show c' for details.
659
+
660
+ The hypothetical commands `show w' and `show c' should show the appropriate
661
+ parts of the General Public License. Of course, your program's commands
662
+ might be different; for a GUI interface, you would use an "about box".
663
+
664
+ You should also get your employer (if you work as a programmer) or school,
665
+ if any, to sign a "copyright disclaimer" for the program, if necessary.
666
+ For more information on this, and how to apply and follow the GNU GPL, see
667
+ <http://www.gnu.org/licenses/>.
668
+
669
+ The GNU General Public License does not permit incorporating your program
670
+ into proprietary programs. If your program is a subroutine library, you
671
+ may consider it more useful to permit linking proprietary applications with
672
+ the library. If this is what you want to do, use the GNU Lesser General
673
+ Public License instead of this License. But first, please read
674
+ <http://www.gnu.org/philosophy/why-not-lgpl.html>.
freemius/README.md ADDED
@@ -0,0 +1,253 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Freemius WordPress SDK
2
+ ======================
3
+
4
+ [Monetization](https://freemius.com/wordpress/), [analytics](https://freemius.com/wordpress/insights/), and marketing automation platform for plugin & theme developers. Freemius empower developers to create prosperous subscription based businesses.
5
+
6
+ You can see some of the WordPress.org plugins & themes that are utilizing the power of Freemius here:
7
+
8
+ https://includewp.com/freemius/#focus
9
+
10
+ If you are a WordPress plugin or theme developer and you are interested to monetize with Freemius you can [sign-up here for free](https://dashboard.freemius.com/register/):
11
+
12
+ https://dashboard.freemius.com/register/
13
+
14
+ **Below you'll find the integration instructions for our WordPress SDK.**
15
+
16
+ ## Code Documentation
17
+
18
+ You can find the SDK's PHP-Doc documentation here:
19
+ https://codedoc.pub/freemius/wordpress-sdk/master/
20
+
21
+ ## Initializing the SDK
22
+
23
+ Copy the code below and paste it into the top of your main plugin's PHP file, right after the plugin's header comment:
24
+
25
+ ```php
26
+ <?php
27
+ // Create a helper function for easy SDK access.
28
+ function my_prefix_fs() {
29
+ global $my_prefix_fs;
30
+ if ( ! isset( $my_prefix_fs ) ) {
31
+ // Include Freemius SDK.
32
+ require_once dirname(__FILE__) . '/freemius/start.php';
33
+
34
+ $my_prefix_fs = fs_dynamic_init( array(
35
+ 'id' => '1234',
36
+ 'slug' => 'my-plugin-slug',
37
+ 'menu_slug' => 'my_menu_slug', // You can also use __FILE__
38
+ 'public_key' => 'pk_MY_PUBLIC_KEY',
39
+ 'is_live' => true,
40
+ 'is_premium' => true,
41
+ 'has_addons' => false,
42
+ 'has_paid_plans' => false,
43
+ // Set the SDK to work in a sandbox mode (for development & testing).
44
+ // IMPORTANT: MAKE SURE TO REMOVE SECRET KEY BEFORE DEPLOYMENT.
45
+ 'secret_key' => 'sk_MY_SECRET_KEY',
46
+ ) );
47
+ }
48
+
49
+ return $my_prefix_fs;
50
+ }
51
+
52
+ // Init Freemius.
53
+ my_prefix_fs();
54
+ ?>
55
+ ```
56
+
57
+ - **1234** - Replace with your plugin's ID.
58
+ - **pk_MY_PUBLIC_KEY** - Replace with your plugin's public key.
59
+ - **sk_MY_SECRET_KEY** - Replace with your plugin's secret key.
60
+ - **my-plugin-slug** - Replace with your plugin's WordPress.org slug.
61
+ - **my_menu_slug** - Replace with your admin dashboard settings menu slug.
62
+
63
+
64
+ ## Usage example
65
+
66
+ You can call the SDK by using the shortcode function:
67
+
68
+ ```php
69
+ <?php my_prefix_fs()->get_upgrade_url(); ?>
70
+ ```
71
+
72
+ Or when calling Freemius multiple times in a scope, it's recommended to use it with the global variable:
73
+
74
+ ```php
75
+ <?php
76
+ global $my_prefix_fs;
77
+ $my_prefix_fs->get_account_url();
78
+ ?>
79
+ ```
80
+
81
+ ## Adding license based logic examples
82
+
83
+ Add marketing content to encourage your users to upgrade for your paid version:
84
+
85
+ ```php
86
+ <?php
87
+ if ( my_prefix_fs()->is_not_paying() ) {
88
+ echo '<section><h1>' . esc_html__('Awesome Premium Features', 'my-plugin-slug') . '</h1>';
89
+ echo '<a href="' . my_prefix_fs()->get_upgrade_url() . '">' .
90
+ esc_html__('Upgrade Now!', 'my-plugin-slug') .
91
+ '</a>';
92
+ echo '</section>';
93
+ }
94
+ ?>
95
+ ```
96
+
97
+ Add logic which will only be available in your premium plugin version:
98
+
99
+ ```php
100
+ <?php
101
+ // This "if" block will be auto removed from the Free version.
102
+ if ( my_prefix_fs()->is__premium_only() ) {
103
+
104
+ // ... premium only logic ...
105
+
106
+ }
107
+ ?>
108
+ ```
109
+
110
+ To add a function which will only be available in your premium plugin version, simply add __premium_only as the suffix of the function name. Just make sure that all lines that call that method directly or by hooks, are also wrapped in premium only logic:
111
+
112
+ ```php
113
+ <?php
114
+ class My_Plugin {
115
+ function init() {
116
+ ...
117
+
118
+ // This "if" block will be auto removed from the free version.
119
+ if ( my_prefix_fs()->is__premium_only() ) {
120
+ // Init premium version.
121
+ $this->admin_init__premium_only();
122
+
123
+ add_action( 'admin_init', array( &$this, 'admin_init_hook__premium_only' );
124
+ }
125
+
126
+ ...
127
+ }
128
+
129
+ // This method will be only included in the premium version.
130
+ function admin_init__premium_only() {
131
+ ...
132
+ }
133
+
134
+ // This method will be only included in the premium version.
135
+ function admin_init_hook__premium_only() {
136
+ ...
137
+ }
138
+ }
139
+ ?>
140
+ ```
141
+
142
+ Add logic which will only be executed for customers in your 'professional' plan:
143
+
144
+ ```php
145
+ <?php
146
+ if ( my_prefix_fs()->is_plan('professional', true) ) {
147
+ // .. logic related to Professional plan only ...
148
+ }
149
+ ?>
150
+ ```
151
+
152
+ Add logic which will only be executed for customers in your 'professional' plan or higher plans:
153
+
154
+ ```php
155
+ <?php
156
+ if ( my_prefix_fs()->is_plan('professional') ) {
157
+ // ... logic related to Professional plan and higher plans ...
158
+ }
159
+ ?>
160
+ ```
161
+
162
+ Add logic which will only be available in your premium plugin version AND will only be executed for customers in your 'professional' plan (and higher plans):
163
+
164
+ ```php
165
+ <?php
166
+ // This "if" block will be auto removed from the Free version.
167
+ if ( my_prefix_fs()->is_plan__premium_only('professional') ) {
168
+ // ... logic related to Professional plan and higher plans ...
169
+ }
170
+ ?>
171
+ ```
172
+
173
+ Add logic only for users in trial:
174
+
175
+ ```php
176
+ <?php
177
+ if ( my_prefix_fs()->is_trial() ) {
178
+ // ... logic for users in trial ...
179
+ }
180
+ ?>
181
+ ```
182
+
183
+ Add logic for specified paid plan:
184
+
185
+ ```php
186
+ <?php
187
+ // This "if" block will be auto removed from the Free version.
188
+ if ( my_prefix_fs()->is__premium_only() ) {
189
+ if ( my_prefix_fs()->is_plan( 'professional', true ) ) {
190
+
191
+ // ... logic related to Professional plan only ...
192
+
193
+ } else if ( my_prefix_fs()->is_plan( 'business' ) ) {
194
+
195
+ // ... logic related to Business plan and higher plans ...
196
+
197
+ }
198
+ }
199
+ ?>
200
+ ```
201
+
202
+ ## Excluding files and folders from the free plugin version
203
+ There are two ways to exclude files from your free version.
204
+
205
+ 1. Add `__premium_only` just before the file extension. For example, functions__premium_only.php will be only included in the premium plugin version. This works for all type of files, not only PHP.
206
+ 2. Add `@fs_premium_only` a sepcial meta tag to the plugin's main PHP file header. Example:
207
+ ```php
208
+ <?php
209
+ /**
210
+ * Plugin Name: My Very Awesome Plugin
211
+ * Plugin URI: http://my-awesome-plugin.com
212
+ * Description: Create and manage Awesomeness right in WordPress.
213
+ * Version: 1.0.0
214
+ * Author: Awesomattic
215
+ * Author URI: http://my-awesome-plugin.com/me/
216
+ * License: GPLv2
217
+ * Text Domain: myplugin
218
+ * Domain Path: /langs
219
+ *
220
+ * @fs_premium_only /lib/functions.php, /premium-files/
221
+ */
222
+
223
+ if ( ! defined( 'ABSPATH' ) ) {
224
+ exit;
225
+ }
226
+
227
+ // ... my code ...
228
+ ?>
229
+ ```
230
+ The file `/lib/functions.php` and the directory `/premium-files/` will be removed from the free plugin version.
231
+
232
+ # WordPress.org Compliance
233
+ Based on [WordPress.org Guidelines](https://wordpress.org/plugins/about/guidelines/) you are not allowed to submit a plugin that has premium code in it:
234
+ > All code hosted by WordPress.org servers must be free and fully-functional. If you want to sell advanced features for a plugin (such as a "pro" version), then you must sell and serve that code from your own site, we will not host it on our servers.
235
+
236
+ Therefore, if you want to deploy your free plugin's version to WordPress.org, make sure you wrap all your premium code with `if ( my_prefix_fs()->{{ method }}__premium_only() )` or the other methods provided to exclude premium features & files from the free version.
237
+
238
+ ## Deployment
239
+ Zip your plugin's root folder and upload it in the Deployment section in the *Freemius Developer's Dashboard*.
240
+ The plugin will be scanned and processed by a custom developed *PHP Processor* which will auto-generate two versions of your plugin:
241
+
242
+ 1. **Premium version**: Identical to your uploaded version, including all code (except your `secret_key`). Will be enabled for download ONLY for your paying or in trial customers.
243
+ 2. **Free version**: The code stripped from all your paid features (based on the logic added wrapped in `{ method }__premium_only()`).
244
+
245
+ The free version is the one that you should give your users to download. Therefore, download the free generated version and upload to your site. Or, if your plugin was WordPress.org complaint and you made sure to exclude all your premium code with the different provided techniques, you can deploy the downloaded free version to the .org repo.
246
+
247
+ ## Reporting Bugs
248
+ Email dev [at] freemius [dot] com
249
+
250
+ ## FAQ
251
+
252
+ ## Copyright
253
+ Freemius, Inc.
freemius/assets/css/admin/account.css ADDED
@@ -0,0 +1,2 @@
 
 
1
+ #fs_account .postbox,#fs_account .widefat{max-width:700px}#fs_account h3{font-size:1.3em;padding:12px 15px;margin:0 0 12px 0;line-height:1.4;border-bottom:1px solid #F1F1F1}#fs_account h3 .dashicons{width:26px;height:26px;font-size:1.3em}#fs_account i.dashicons{font-size:1.2em;height:1.2em;width:1.2em}#fs_account .dashicons{vertical-align:middle}#fs_account .fs-header-actions{position:absolute;top:17px;right:15px;font-size:0.9em}#fs_account .fs-header-actions ul{margin:0}#fs_account .fs-header-actions li{float:left}#fs_account .fs-header-actions li form{display:inline-block}#fs_account .fs-header-actions li a{text-decoration:none}#fs_account_details .button-group{float:right}.rtl #fs_account .fs-header-actions{left:15px;right:auto}.fs-key-value-table{width:100%}.fs-key-value-table form{display:inline-block}.fs-key-value-table tr td:first-child{text-align:right}.fs-key-value-table tr td:first-child nobr{font-weight:bold}.fs-key-value-table tr td:first-child form{display:block}.fs-key-value-table tr td.fs-right{text-align:right}.fs-key-value-table tr.fs-odd{background:#ebebeb}.fs-key-value-table td,.fs-key-value-table th{padding:10px}.fs-key-value-table code{line-height:28px}.fs-key-value-table var,.fs-key-value-table code,.fs-key-value-table input[type="text"]{color:#0073AA;font-size:16px;background:none}.fs-key-value-table input[type="text"]{width:100%;font-weight:bold}label.fs-tag{background:#ffba00;color:#fff;display:inline-block;border-radius:3px;padding:5px;font-size:11px;line-height:11px;vertical-align:baseline}label.fs-tag.fs-warn{background:#ffba00}label.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error{background:#dc3232}#fs_sites .fs-scrollable-table .fs-table-body{max-height:200px;overflow:auto;border:1px solid #e5e5e5}#fs_sites .fs-scrollable-table .fs-table-body>table.widefat{border:none !important}#fs_sites .fs-scrollable-table .fs-main-column{width:100%}#fs_sites .fs-scrollable-table .fs-site-details td:first-of-type{text-align:right;color:grey;width:1px}#fs_sites .fs-scrollable-table .fs-site-details td:last-of-type{text-align:right}#fs_sites .fs-scrollable-table .fs-install-details table tr td{width:1px;white-space:nowrap}#fs_sites .fs-scrollable-table .fs-install-details table tr td:last-of-type{width:auto}#fs_addons h3{border:none;margin-bottom:0;padding:4px 5px}#fs_addons td{vertical-align:middle}#fs_addons thead{white-space:nowrap}#fs_addons td:first-child,#fs_addons th:first-child{text-align:left;font-weight:bold}#fs_addons td:last-child,#fs_addons th:last-child{text-align:right}#fs_addons th{font-weight:bold}#fs_billing_address{width:100%}#fs_billing_address tr td{width:50%;padding:5px}#fs_billing_address tr:first-of-type td{padding-top:0}#fs_billing_address span{font-weight:bold}#fs_billing_address input,#fs_billing_address select{display:block;width:100%;margin-top:5px}#fs_billing_address input::-moz-placeholder,#fs_billing_address select::-moz-placeholder{color:transparent;opacity:1}#fs_billing_address input:-ms-input-placeholder,#fs_billing_address select:-ms-input-placeholder{color:transparent}#fs_billing_address input::-webkit-input-placeholder,#fs_billing_address select::-webkit-input-placeholder{color:transparent}#fs_billing_address input.fs-read-mode,#fs_billing_address select.fs-read-mode{border-color:transparent;color:#777;border-bottom:1px dashed #ccc;padding-left:0;background:none}#fs_billing_address.fs-read-mode td span{display:none}#fs_billing_address.fs-read-mode input,#fs_billing_address.fs-read-mode select{border-color:transparent;color:#777;border-bottom:1px dashed #ccc;padding-left:0;background:none}#fs_billing_address.fs-read-mode input::-moz-placeholder,#fs_billing_address.fs-read-mode select::-moz-placeholder{color:#ccc;opacity:1}#fs_billing_address.fs-read-mode input:-ms-input-placeholder,#fs_billing_address.fs-read-mode select:-ms-input-placeholder{color:#ccc}#fs_billing_address.fs-read-mode input::-webkit-input-placeholder,#fs_billing_address.fs-read-mode select::-webkit-input-placeholder{color:#ccc}#fs_billing_address button{display:block;width:100%}
2
+ /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFjY291bnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBDQUEwQyxlQUFlLENBQUMsZUFBZSxnQkFBZ0Isa0JBQWtCLGtCQUFrQixnQkFBZ0IsK0JBQStCLENBQUMsMEJBQTBCLFdBQVcsWUFBWSxlQUFlLENBQUMsd0JBQXdCLGdCQUFnQixhQUFhLFdBQVcsQ0FBQyx1QkFBdUIscUJBQXFCLENBQUMsK0JBQStCLGtCQUFrQixTQUFTLFdBQVcsZUFBZSxDQUFDLGtDQUFrQyxRQUFRLENBQUMsa0NBQWtDLFVBQVUsQ0FBQyx1Q0FBdUMsb0JBQW9CLENBQUMsb0NBQW9DLG9CQUFvQixDQUFDLGtDQUFrQyxXQUFXLENBQUMsb0NBQW9DLFVBQVUsVUFBVSxDQUFDLG9CQUFvQixVQUFVLENBQUMseUJBQXlCLG9CQUFvQixDQUFDLHNDQUFzQyxnQkFBZ0IsQ0FBQywyQ0FBMkMsZ0JBQWdCLENBQUMsMkNBQTJDLGFBQWEsQ0FBQyxtQ0FBbUMsZ0JBQWdCLENBQUMsOEJBQThCLGtCQUFrQixDQUFDLDhDQUE4QyxZQUFZLENBQUMseUJBQXlCLGdCQUFnQixDQUFDLHdGQUF3RixjQUFjLGVBQWUsZUFBZSxDQUFDLHVDQUF1QyxXQUFXLGdCQUFnQixDQUFDLGFBQWEsbUJBQW1CLFdBQVcscUJBQXFCLGtCQUFrQixZQUFZLGVBQWUsaUJBQWlCLHVCQUF1QixDQUFDLHFCQUFxQixrQkFBa0IsQ0FBQyx3QkFBd0Isa0JBQWtCLENBQUMsc0JBQXNCLGtCQUFrQixDQUFDLDhDQUE4QyxpQkFBaUIsY0FBYyx3QkFBd0IsQ0FBQyw0REFBNEQsc0JBQXNCLENBQUMsK0NBQStDLFVBQVUsQ0FBQyxpRUFBaUUsaUJBQWlCLFdBQVcsU0FBUyxDQUFDLGdFQUFnRSxnQkFBZ0IsQ0FBQywrREFBK0QsVUFBVSxrQkFBa0IsQ0FBQyw0RUFBNEUsVUFBVSxDQUFDLGNBQWMsWUFBWSxnQkFBZ0IsZUFBZSxDQUFDLGNBQWMscUJBQXFCLENBQUMsaUJBQWlCLGtCQUFrQixDQUFDLG9EQUFvRCxnQkFBZ0IsZ0JBQWdCLENBQUMsa0RBQWtELGdCQUFnQixDQUFDLGNBQWMsZ0JBQWdCLENBQUMsb0JBQW9CLFVBQVUsQ0FBQywwQkFBMEIsVUFBVSxXQUFXLENBQUMsd0NBQXdDLGFBQWEsQ0FBQyx5QkFBeUIsZ0JBQWdCLENBQUMscURBQXFELGNBQWMsV0FBVyxjQUFjLENBQUMseUZBQXlGLGtCQUFrQixTQUFTLENBQUMsaUdBQWlHLGlCQUFpQixDQUFDLDJHQUEyRyxpQkFBaUIsQ0FBQywrRUFBK0UseUJBQXlCLFdBQVcsOEJBQThCLGVBQWUsZUFBZSxDQUFDLHlDQUF5QyxZQUFZLENBQUMsK0VBQStFLHlCQUF5QixXQUFXLDhCQUE4QixlQUFlLGVBQWUsQ0FBQyxtSEFBbUgsV0FBVyxTQUFTLENBQUMsMkhBQTJILFVBQVUsQ0FBQyxxSUFBcUksVUFBVSxDQUFDLDJCQUEyQixjQUFjLFVBQVUsQ0FBQyIsImZpbGUiOiJhY2NvdW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNmc19hY2NvdW50IC5wb3N0Ym94LCNmc19hY2NvdW50IC53aWRlZmF0e21heC13aWR0aDo3MDBweH0jZnNfYWNjb3VudCBoM3tmb250LXNpemU6MS4zZW07cGFkZGluZzoxMnB4IDE1cHg7bWFyZ2luOjAgMCAxMnB4IDA7bGluZS1oZWlnaHQ6MS40O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNGMUYxRjF9I2ZzX2FjY291bnQgaDMgLmRhc2hpY29uc3t3aWR0aDoyNnB4O2hlaWdodDoyNnB4O2ZvbnQtc2l6ZToxLjNlbX0jZnNfYWNjb3VudCBpLmRhc2hpY29uc3tmb250LXNpemU6MS4yZW07aGVpZ2h0OjEuMmVtO3dpZHRoOjEuMmVtfSNmc19hY2NvdW50IC5kYXNoaWNvbnN7dmVydGljYWwtYWxpZ246bWlkZGxlfSNmc19hY2NvdW50IC5mcy1oZWFkZXItYWN0aW9uc3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTdweDtyaWdodDoxNXB4O2ZvbnQtc2l6ZTowLjllbX0jZnNfYWNjb3VudCAuZnMtaGVhZGVyLWFjdGlvbnMgdWx7bWFyZ2luOjB9I2ZzX2FjY291bnQgLmZzLWhlYWRlci1hY3Rpb25zIGxpe2Zsb2F0OmxlZnR9I2ZzX2FjY291bnQgLmZzLWhlYWRlci1hY3Rpb25zIGxpIGZvcm17ZGlzcGxheTppbmxpbmUtYmxvY2t9I2ZzX2FjY291bnQgLmZzLWhlYWRlci1hY3Rpb25zIGxpIGF7dGV4dC1kZWNvcmF0aW9uOm5vbmV9I2ZzX2FjY291bnRfZGV0YWlscyAuYnV0dG9uLWdyb3Vwe2Zsb2F0OnJpZ2h0fS5ydGwgI2ZzX2FjY291bnQgLmZzLWhlYWRlci1hY3Rpb25ze2xlZnQ6MTVweDtyaWdodDphdXRvfS5mcy1rZXktdmFsdWUtdGFibGV7d2lkdGg6MTAwJX0uZnMta2V5LXZhbHVlLXRhYmxlIGZvcm17ZGlzcGxheTppbmxpbmUtYmxvY2t9LmZzLWtleS12YWx1ZS10YWJsZSB0ciB0ZDpmaXJzdC1jaGlsZHt0ZXh0LWFsaWduOnJpZ2h0fS5mcy1rZXktdmFsdWUtdGFibGUgdHIgdGQ6Zmlyc3QtY2hpbGQgbm9icntmb250LXdlaWdodDpib2xkfS5mcy1rZXktdmFsdWUtdGFibGUgdHIgdGQ6Zmlyc3QtY2hpbGQgZm9ybXtkaXNwbGF5OmJsb2NrfS5mcy1rZXktdmFsdWUtdGFibGUgdHIgdGQuZnMtcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0uZnMta2V5LXZhbHVlLXRhYmxlIHRyLmZzLW9kZHtiYWNrZ3JvdW5kOiNlYmViZWJ9LmZzLWtleS12YWx1ZS10YWJsZSB0ZCwuZnMta2V5LXZhbHVlLXRhYmxlIHRoe3BhZGRpbmc6MTBweH0uZnMta2V5LXZhbHVlLXRhYmxlIGNvZGV7bGluZS1oZWlnaHQ6MjhweH0uZnMta2V5LXZhbHVlLXRhYmxlIHZhciwuZnMta2V5LXZhbHVlLXRhYmxlIGNvZGUsLmZzLWtleS12YWx1ZS10YWJsZSBpbnB1dFt0eXBlPVwidGV4dFwiXXtjb2xvcjojMDA3M0FBO2ZvbnQtc2l6ZToxNnB4O2JhY2tncm91bmQ6bm9uZX0uZnMta2V5LXZhbHVlLXRhYmxlIGlucHV0W3R5cGU9XCJ0ZXh0XCJde3dpZHRoOjEwMCU7Zm9udC13ZWlnaHQ6Ym9sZH1sYWJlbC5mcy10YWd7YmFja2dyb3VuZDojZmZiYTAwO2NvbG9yOiNmZmY7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLXJhZGl1czozcHg7cGFkZGluZzo1cHg7Zm9udC1zaXplOjExcHg7bGluZS1oZWlnaHQ6MTFweDt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX1sYWJlbC5mcy10YWcuZnMtd2FybntiYWNrZ3JvdW5kOiNmZmJhMDB9bGFiZWwuZnMtdGFnLmZzLXN1Y2Nlc3N7YmFja2dyb3VuZDojNDZiNDUwfWxhYmVsLmZzLXRhZy5mcy1lcnJvcntiYWNrZ3JvdW5kOiNkYzMyMzJ9I2ZzX3NpdGVzIC5mcy1zY3JvbGxhYmxlLXRhYmxlIC5mcy10YWJsZS1ib2R5e21heC1oZWlnaHQ6MjAwcHg7b3ZlcmZsb3c6YXV0bztib3JkZXI6MXB4IHNvbGlkICNlNWU1ZTV9I2ZzX3NpdGVzIC5mcy1zY3JvbGxhYmxlLXRhYmxlIC5mcy10YWJsZS1ib2R5PnRhYmxlLndpZGVmYXR7Ym9yZGVyOm5vbmUgIWltcG9ydGFudH0jZnNfc2l0ZXMgLmZzLXNjcm9sbGFibGUtdGFibGUgLmZzLW1haW4tY29sdW1ue3dpZHRoOjEwMCV9I2ZzX3NpdGVzIC5mcy1zY3JvbGxhYmxlLXRhYmxlIC5mcy1zaXRlLWRldGFpbHMgdGQ6Zmlyc3Qtb2YtdHlwZXt0ZXh0LWFsaWduOnJpZ2h0O2NvbG9yOmdyZXk7d2lkdGg6MXB4fSNmc19zaXRlcyAuZnMtc2Nyb2xsYWJsZS10YWJsZSAuZnMtc2l0ZS1kZXRhaWxzIHRkOmxhc3Qtb2YtdHlwZXt0ZXh0LWFsaWduOnJpZ2h0fSNmc19zaXRlcyAuZnMtc2Nyb2xsYWJsZS10YWJsZSAuZnMtaW5zdGFsbC1kZXRhaWxzIHRhYmxlIHRyIHRke3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXB9I2ZzX3NpdGVzIC5mcy1zY3JvbGxhYmxlLXRhYmxlIC5mcy1pbnN0YWxsLWRldGFpbHMgdGFibGUgdHIgdGQ6bGFzdC1vZi10eXBle3dpZHRoOmF1dG99I2ZzX2FkZG9ucyBoM3tib3JkZXI6bm9uZTttYXJnaW4tYm90dG9tOjA7cGFkZGluZzo0cHggNXB4fSNmc19hZGRvbnMgdGR7dmVydGljYWwtYWxpZ246bWlkZGxlfSNmc19hZGRvbnMgdGhlYWR7d2hpdGUtc3BhY2U6bm93cmFwfSNmc19hZGRvbnMgdGQ6Zmlyc3QtY2hpbGQsI2ZzX2FkZG9ucyB0aDpmaXJzdC1jaGlsZHt0ZXh0LWFsaWduOmxlZnQ7Zm9udC13ZWlnaHQ6Ym9sZH0jZnNfYWRkb25zIHRkOmxhc3QtY2hpbGQsI2ZzX2FkZG9ucyB0aDpsYXN0LWNoaWxke3RleHQtYWxpZ246cmlnaHR9I2ZzX2FkZG9ucyB0aHtmb250LXdlaWdodDpib2xkfSNmc19iaWxsaW5nX2FkZHJlc3N7d2lkdGg6MTAwJX0jZnNfYmlsbGluZ19hZGRyZXNzIHRyIHRke3dpZHRoOjUwJTtwYWRkaW5nOjVweH0jZnNfYmlsbGluZ19hZGRyZXNzIHRyOmZpcnN0LW9mLXR5cGUgdGR7cGFkZGluZy10b3A6MH0jZnNfYmlsbGluZ19hZGRyZXNzIHNwYW57Zm9udC13ZWlnaHQ6Ym9sZH0jZnNfYmlsbGluZ19hZGRyZXNzIGlucHV0LCNmc19iaWxsaW5nX2FkZHJlc3Mgc2VsZWN0e2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTttYXJnaW4tdG9wOjVweH0jZnNfYmlsbGluZ19hZGRyZXNzIGlucHV0OjotbW96LXBsYWNlaG9sZGVyLCNmc19iaWxsaW5nX2FkZHJlc3Mgc2VsZWN0OjotbW96LXBsYWNlaG9sZGVye2NvbG9yOnRyYW5zcGFyZW50O29wYWNpdHk6MX0jZnNfYmlsbGluZ19hZGRyZXNzIGlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwjZnNfYmlsbGluZ19hZGRyZXNzIHNlbGVjdDotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6dHJhbnNwYXJlbnR9I2ZzX2JpbGxpbmdfYWRkcmVzcyBpbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwjZnNfYmlsbGluZ19hZGRyZXNzIHNlbGVjdDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcntjb2xvcjp0cmFuc3BhcmVudH0jZnNfYmlsbGluZ19hZGRyZXNzIGlucHV0LmZzLXJlYWQtbW9kZSwjZnNfYmlsbGluZ19hZGRyZXNzIHNlbGVjdC5mcy1yZWFkLW1vZGV7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2NvbG9yOiM3Nzc7Ym9yZGVyLWJvdHRvbToxcHggZGFzaGVkICNjY2M7cGFkZGluZy1sZWZ0OjA7YmFja2dyb3VuZDpub25lfSNmc19iaWxsaW5nX2FkZHJlc3MuZnMtcmVhZC1tb2RlIHRkIHNwYW57ZGlzcGxheTpub25lfSNmc19iaWxsaW5nX2FkZHJlc3MuZnMtcmVhZC1tb2RlIGlucHV0LCNmc19iaWxsaW5nX2FkZHJlc3MuZnMtcmVhZC1tb2RlIHNlbGVjdHtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6Izc3Nztib3JkZXItYm90dG9tOjFweCBkYXNoZWQgI2NjYztwYWRkaW5nLWxlZnQ6MDtiYWNrZ3JvdW5kOm5vbmV9I2ZzX2JpbGxpbmdfYWRkcmVzcy5mcy1yZWFkLW1vZGUgaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsI2ZzX2JpbGxpbmdfYWRkcmVzcy5mcy1yZWFkLW1vZGUgc2VsZWN0OjotbW96LXBsYWNlaG9sZGVye2NvbG9yOiNjY2M7b3BhY2l0eToxfSNmc19iaWxsaW5nX2FkZHJlc3MuZnMtcmVhZC1tb2RlIGlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwjZnNfYmlsbGluZ19hZGRyZXNzLmZzLXJlYWQtbW9kZSBzZWxlY3Q6LW1zLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiNjY2N9I2ZzX2JpbGxpbmdfYWRkcmVzcy5mcy1yZWFkLW1vZGUgaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsI2ZzX2JpbGxpbmdfYWRkcmVzcy5mcy1yZWFkLW1vZGUgc2VsZWN0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiNjY2N9I2ZzX2JpbGxpbmdfYWRkcmVzcyBidXR0b257ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlfVxuIl19 */
freemius/assets/css/admin/add-ons.css ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ #fs_addons .fs-cards-list{list-style:none}#fs_addons .fs-cards-list .fs-card{float:left;height:152px;width:310px;padding:0;margin:0 0 30px 30px;font-size:14px;list-style:none;border:1px solid #ddd;cursor:pointer;position:relative}#fs_addons .fs-cards-list .fs-card .fs-overlay{position:absolute;left:0;right:0;bottom:0;top:0;z-index:9}#fs_addons .fs-cards-list .fs-card .fs-inner{background-color:#fff;overflow:hidden;height:100%;position:relative}#fs_addons .fs-cards-list .fs-card .fs-inner ul{-webkit-transition:all,0.15s;transition:all,0.15s;left:0;right:0;top:0;position:absolute}#fs_addons .fs-cards-list .fs-card .fs-inner li{list-style:none;line-height:18px;padding:0 15px;width:100%;display:block;-webkit-box-sizing:border-box;box-sizing:border-box}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-card-banner{padding:0;margin:0;line-height:0;display:block;height:100px;background-repeat:repeat-x;background-size:100% 100%;-webkit-transition:all,0.15s;transition:all,0.15s}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-title{margin:10px 0 0 0;height:18px;overflow:hidden;color:#000;white-space:nowrap;text-overflow:ellipsis;font-weight:bold}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-offer{font-size:0.9em}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-description{background-color:#f9f9f9;padding:10px 15px 100px 15px;border-top:1px solid #eee;margin:0 0 10px 0;color:#777}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-tag{position:absolute;top:10px;right:0px;background:greenyellow;display:block;padding:2px 10px;-webkit-box-shadow:1px 1px 1px rgba(0,0,0,0.3);box-shadow:1px 1px 1px rgba(0,0,0,0.3);text-transform:uppercase;font-size:0.9em;font-weight:bold}#fs_addons .fs-cards-list .fs-card .fs-inner .fs-cta .button{position:absolute;top:112px;right:10px}@media screen and (min-width: 960px){#fs_addons .fs-cards-list .fs-card:hover .fs-overlay{border:2px solid #29abe1;margin-left:-1px;margin-top:-1px}#fs_addons .fs-cards-list .fs-card:hover .fs-inner ul{top:-100px}#fs_addons .fs-cards-list .fs-card:hover .fs-inner .fs-title,#fs_addons .fs-cards-list .fs-card:hover .fs-inner .fs-offer{color:#29abe1}}
2
+ #TB_window,#TB_window iframe{width:772px !important}#plugin-information #section-description h2,#plugin-information #section-description h3,#plugin-information #section-description p,#plugin-information #section-description b,#plugin-information #section-description i,#plugin-information #section-description blockquote,#plugin-information #section-description li,#plugin-information #section-description ul,#plugin-information #section-description ol{clear:none}#plugin-information #section-description .fs-selling-points{padding-bottom:10px;border-bottom:1px solid #ddd}#plugin-information #section-description .fs-selling-points ul{margin:0}#plugin-information #section-description .fs-selling-points ul li{padding:0;list-style:none outside none}#plugin-information #section-description .fs-selling-points ul li i.dashicons{color:#71ae00;font-size:3em;vertical-align:middle;line-height:30px;float:left;margin:0 0 0 -15px}#plugin-information #section-description .fs-selling-points ul li h3{margin:1em 30px !important}#plugin-information #section-description .fs-screenshots:after{content:"";display:table;clear:both}#plugin-information #section-description .fs-screenshots ul{list-style:none;margin:0}#plugin-information #section-description .fs-screenshots ul li{width:225px;height:225px;float:left;margin-bottom:20px;-webkit-box-sizing:content-box;box-sizing:content-box}#plugin-information #section-description .fs-screenshots ul li a{display:block;width:100%;height:100%;border:1px solid;-webkit-box-shadow:1px 1px 1px rgba(0,0,0,0.2);box-shadow:1px 1px 1px rgba(0,0,0,0.2);background-size:cover}#plugin-information #section-description .fs-screenshots ul li.odd{margin-right:20px}#plugin-information .plugin-information-pricing{margin:-16px;border-bottom:1px solid #ddd}#plugin-information .plugin-information-pricing .fs-plan h3{margin-top:0;padding:20px;font-size:16px}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper{border-bottom:1px solid #ddd}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper .nav-tab{cursor:pointer;position:relative;padding:0 10px;font-size:0.9em}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper .nav-tab label{text-transform:uppercase;color:green;background:greenyellow;position:absolute;left:-1px;right:-1px;bottom:100%;border:1px solid darkgreen;padding:2px;text-align:center;font-size:0.9em;line-height:1em}#plugin-information .plugin-information-pricing .fs-plan .nav-tab-wrapper .nav-tab.nav-tab-active{cursor:default;background:#fffeec;border-bottom-color:#fffeec}#plugin-information .plugin-information-pricing .fs-plan.fs-single-cycle h3{background:#fffeec;margin:0;padding-bottom:0;color:#0073aa}#plugin-information .plugin-information-pricing .fs-plan.fs-single-cycle .nav-tab-wrapper,#plugin-information .plugin-information-pricing .fs-plan.fs-single-cycle .fs-billing-frequency{display:none}#plugin-information .plugin-information-pricing .fs-plan .fs-pricing-body{background:#fffeec;padding:20px}#plugin-information .plugin-information-pricing .fs-plan .button{width:100%;text-align:center;font-weight:bold;text-transform:uppercase;font-size:1.1em}#plugin-information .plugin-information-pricing .fs-plan label{white-space:nowrap}#plugin-information .plugin-information-pricing .fs-plan var{font-style:normal}#plugin-information .plugin-information-pricing .fs-plan .fs-billing-frequency,#plugin-information .plugin-information-pricing .fs-plan .fs-annual-discount{text-align:center;display:block;font-weight:bold;margin-bottom:10px;text-transform:uppercase;background:#F3F3F3;padding:2px;border:1px solid #ccc}#plugin-information .plugin-information-pricing .fs-plan .fs-annual-discount{text-transform:none;color:green;background:greenyellow}#plugin-information .plugin-information-pricing .fs-plan ul.fs-trial-terms{font-size:0.9em}#plugin-information .plugin-information-pricing .fs-plan ul.fs-trial-terms i{float:left;margin:0 0 0 -15px}#plugin-information .plugin-information-pricing .fs-plan ul.fs-trial-terms li{margin:10px 0 0 0}#plugin-information #section-features .fs-features{margin:-20px -26px}#plugin-information #section-features table{width:100%;border-spacing:0;border-collapse:separate}#plugin-information #section-features table thead th{padding:10px 0}#plugin-information #section-features table thead .fs-price{color:#71ae00;font-weight:normal;display:block;text-align:center}#plugin-information #section-features table tbody td{border-top:1px solid #ccc;padding:10px 0;text-align:center;width:100px;color:#71ae00}#plugin-information #section-features table tbody td:first-child{text-align:left;width:auto;color:inherit;padding-left:26px}#plugin-information #section-features table tbody tr.fs-odd td{background:#fefefe}#plugin-information #section-features .dashicons-yes{width:30px;height:30px;font-size:30px}@media screen and (max-width: 961px){#fs_addons .fs-cards-list .fs-card{height:265px}}
3
+ /*# sourceMappingURL=data:application/json;base64,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V0FBVyxZQUFZLGNBQWMsQ0FBQyxxQ0FBcUMsbUNBQW1DLFlBQVksQ0FBQyxDQUFDIiwiZmlsZSI6ImFkZC1vbnMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI2ZzX2FkZG9ucyAuZnMtY2FyZHMtbGlzdHtsaXN0LXN0eWxlOm5vbmV9I2ZzX2FkZG9ucyAuZnMtY2FyZHMtbGlzdCAuZnMtY2FyZHtmbG9hdDpsZWZ0O2hlaWdodDoxNTJweDt3aWR0aDozMTBweDtwYWRkaW5nOjA7bWFyZ2luOjAgMCAzMHB4IDMwcHg7Zm9udC1zaXplOjE0cHg7bGlzdC1zdHlsZTpub25lO2JvcmRlcjoxcHggc29saWQgI2RkZDtjdXJzb3I6cG9pbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZX0jZnNfYWRkb25zIC5mcy1jYXJkcy1saXN0IC5mcy1jYXJkIC5mcy1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO3RvcDowO3otaW5kZXg6OX0jZnNfYWRkb25zIC5mcy1jYXJkcy1saXN0IC5mcy1jYXJkIC5mcy1pbm5lcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7b3ZlcmZsb3c6aGlkZGVuO2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlfSNmc19hZGRvbnMgLmZzLWNhcmRzLWxpc3QgLmZzLWNhcmQgLmZzLWlubmVyIHVsey1tb3otdHJhbnNpdGlvbjphbGwsMC4xNXM7LW8tdHJhbnNpdGlvbjphbGwsMC4xNXM7LW1zLXRyYW5zaXRpb246YWxsLDAuMTVzOy13ZWJraXQtdHJhbnNpdGlvbjphbGwsMC4xNXM7dHJhbnNpdGlvbjphbGwsMC4xNXM7bGVmdDowO3JpZ2h0OjA7dG9wOjA7cG9zaXRpb246YWJzb2x1dGV9I2ZzX2FkZG9ucyAuZnMtY2FyZHMtbGlzdCAuZnMtY2FyZCAuZnMtaW5uZXIgbGl7bGlzdC1zdHlsZTpub25lO2xpbmUtaGVpZ2h0OjE4cHg7cGFkZGluZzowIDE1cHg7d2lkdGg6MTAwJTtkaXNwbGF5OmJsb2NrOy1tb3otYm94LXNpemluZzpib3JkZXItYm94Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0jZnNfYWRkb25zIC5mcy1jYXJkcy1saXN0IC5mcy1jYXJkIC5mcy1pbm5lciAuZnMtY2FyZC1iYW5uZXJ7cGFkZGluZzowO21hcmdpbjowO2xpbmUtaGVpZ2h0OjA7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwcHg7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7YmFja2dyb3VuZC1zaXplOjEwMCUgMTAwJTstbW96LXRyYW5zaXRpb246YWxsLDAuMTVzOy1vLXRyYW5zaXRpb246YWxsLDAuMTVzOy1tcy10cmFuc2l0aW9uOmFsbCwwLjE1czstd2Via2l0LXRyYW5zaXRpb246YWxsLDAuMTVzO3RyYW5zaXRpb246YWxsLDAuMTVzfSNmc19hZGRvbnMgLmZzLWNhcmRzLWxpc3QgLmZzLWNhcmQgLmZzLWlubmVyIC5mcy10aXRsZXttYXJnaW46MTBweCAwIDAgMDtoZWlnaHQ6MThweDtvdmVyZmxvdzpoaWRkZW47Y29sb3I6IzAwMDt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXdlaWdodDpib2xkfSNmc19hZGRvbnMgLmZzLWNhcmRzLWxpc3QgLmZzLWNhcmQgLmZzLWlubmVyIC5mcy1vZmZlcntmb250LXNpemU6MC45ZW19I2ZzX2FkZG9ucyAuZnMtY2FyZHMtbGlzdCAuZnMtY2FyZCAuZnMtaW5uZXIgLmZzLWRlc2NyaXB0aW9ue2JhY2tncm91bmQtY29sb3I6I2Y5ZjlmOTtwYWRkaW5nOjEwcHggMTVweCAxMDBweCAxNXB4O2JvcmRlci10b3A6MXB4IHNvbGlkICNlZWU7bWFyZ2luOjAgMCAxMHB4IDA7Y29sb3I6Izc3N30jZnNfYWRkb25zIC5mcy1jYXJkcy1saXN0IC5mcy1jYXJkIC5mcy1pbm5lciAuZnMtdGFne3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O3JpZ2h0OjBweDtiYWNrZ3JvdW5kOmdyZWVueWVsbG93O2Rpc3BsYXk6YmxvY2s7cGFkZGluZzoycHggMTBweDstbW96LWJveC1zaGFkb3c6MXB4IDFweCAxcHggcmdiYSgwLDAsMCwwLjMpOy13ZWJraXQtYm94LXNoYWRvdzoxcHggMXB4IDFweCByZ2JhKDAsMCwwLDAuMyk7Ym94LXNoYWRvdzoxcHggMXB4IDFweCByZ2JhKDAsMCwwLDAuMyk7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2ZvbnQtc2l6ZTowLjllbTtmb250LXdlaWdodDpib2xkfSNmc19hZGRvbnMgLmZzLWNhcmRzLWxpc3QgLmZzLWNhcmQgLmZzLWlubmVyIC5mcy1jdGEgLmJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTEycHg7cmlnaHQ6MTBweH1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCl7I2ZzX2FkZG9ucyAuZnMtY2FyZHMtbGlzdCAuZnMtY2FyZDpob3ZlciAuZnMtb3ZlcmxheXtib3JkZXI6MnB4IHNvbGlkICMyOWFiZTE7bWFyZ2luLWxlZnQ6LTFweDttYXJnaW4tdG9wOi0xcHh9I2ZzX2FkZG9ucyAuZnMtY2FyZHMtbGlzdCAuZnMtY2FyZDpob3ZlciAuZnMtaW5uZXIgdWx7dG9wOi0xMDBweH0jZnNfYWRkb25zIC5mcy1jYXJkcy1saXN0IC5mcy1jYXJkOmhvdmVyIC5mcy1pbm5lciAuZnMtdGl0bGUsI2ZzX2FkZG9ucyAuZnMtY2FyZHMtbGlzdCAuZnMtY2FyZDpob3ZlciAuZnMtaW5uZXIgLmZzLW9mZmVye2NvbG9yOiMyOWFiZTF9fVxuI1RCX3dpbmRvdywjVEJfd2luZG93IGlmcmFtZXt3aWR0aDo3NzJweCAhaW1wb3J0YW50fSNwbHVnaW4taW5mb3JtYXRpb24gI3NlY3Rpb24tZGVzY3JpcHRpb24gaDIsI3BsdWdpbi1pbmZvcm1hdGlvbiAjc2VjdGlvbi1kZXNjcmlwdGlvbiBoMywjcGx1Z2luLWluZm9ybWF0aW9uICNzZWN0aW9uLWRlc2NyaXB0aW9uIHAsI3BsdWdpbi1pbmZvcm1hdGlvbiAjc2VjdGlvbi1kZXNjcmlwdGlvbiBiLCNwbHVnaW4taW5mb3JtYXRpb24gI3NlY3Rpb24tZGVzY3JpcHRpb24gaSwjcGx1Z2luLWluZm9ybWF0aW9uICNzZWN0aW9uLWRlc2NyaXB0aW9uIGJsb2NrcXVvdGUsI3BsdWdpbi1pbmZvcm1hdGlvbiAjc2VjdGlvbi1kZXNjcmlwdGlvbiBsaSwjcGx1Z2luLWluZm9ybWF0aW9uICNzZWN0aW9uLWRlc2NyaXB0aW9uIHVsLCNwbHVnaW4taW5mb3JtYXRpb24gI3NlY3Rpb24tZGVzY3JpcHRpb24gb2x7Y2xlYXI6bm9uZX0jcGx1Z2luLWluZm9ybWF0aW9uICNzZWN0aW9uLWRlc2NyaXB0aW9uIC5mcy1zZWxsaW5nLXBvaW50c3twYWRkaW5nLWJvdHRvbToxMHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZGR9I3BsdWdpbi1pbmZvcm1hdGlvbiAjc2VjdGlvbi1kZXNjcmlwdGlvbiAuZnMtc2VsbGluZy1wb2ludHMgdWx7bWFyZ2luOjB9I3BsdWdpbi1pbmZvcm1hdGlvbiAjc2VjdGlvbi1kZXNjcmlwdGlvbiAuZnMtc2VsbGluZy1wb2ludHMgdWwgbGl7cGFkZGluZzowO2xpc3Qtc3R5bGU6bm9uZSBvdXRzaWRlIG5vbmV9I3BsdWdpbi1pbmZvcm1hdGlvbiAjc2VjdGlvbi1kZXNjcmlwdGlvbiAuZnMtc2VsbGluZy1wb2ludHMgdWwgbGkgaS5kYXNoaWNvbnN7Y29sb3I6IzcxYWUwMDtmb250LXNpemU6M2VtO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtsaW5lLWhlaWdodDozMHB4O2Zsb2F0OmxlZnQ7bWFyZ2luOjAgMCAwIC0xNXB4fSNwbHVnaW4taW5mb3JtYXRpb24gI3NlY3Rpb24tZGVzY3JpcHRpb24gLmZzLXNlbGxpbmctcG9pbnRzIHVsIGxpIGgze21hcmdpbjoxZW0gMzBweCAhaW1wb3J0YW50fSNwbHVnaW4taW5mb3JtYXRpb24gI3NlY3Rpb24tZGVzY3JpcHRpb24gLmZzLXNjcmVlbnNob3RzOmFmdGVye2NvbnRlbnQ6XCJcIjtkaXNwbGF5OnRhYmxlO2NsZWFyOmJvdGh9I3BsdWdpbi1pbmZvcm1hdGlvbiAjc2VjdGlvbi1kZXNjcmlwdGlvbiAuZnMtc2NyZWVuc2hvdHMgdWx7bGlzdC1zdHlsZTpub25lO21hcmdpbjowfSNwbHVnaW4taW5mb3JtYXRpb24gI3NlY3Rpb24tZGVzY3JpcHRpb24gLmZzLXNjcmVlbnNob3RzIHVsIGxpe3dpZHRoOjIyNXB4O2hlaWdodDoyMjVweDtmbG9hdDpsZWZ0O21hcmdpbi1ib3R0b206MjBweDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3h9I3BsdWdpbi1pbmZvcm1hdGlvbiAjc2VjdGlvbi1kZXNjcmlwdGlvbiAuZnMtc2NyZWVuc2hvdHMgdWwgbGkgYXtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym9yZGVyOjFweCBzb2xpZDstbW96LWJveC1zaGFkb3c6MXB4IDFweCAxcHggcmdiYSgwLDAsMCwwLjIpOy13ZWJraXQtYm94LXNoYWRvdzoxcHggMXB4IDFweCByZ2JhKDAsMCwwLDAuMik7Ym94LXNoYWRvdzoxcHggMXB4IDFweCByZ2JhKDAsMCwwLDAuMik7YmFja2dyb3VuZC1zaXplOmNvdmVyfSNwbHVnaW4taW5mb3JtYXRpb24gI3NlY3Rpb24tZGVzY3JpcHRpb24gLmZzLXNjcmVlbnNob3RzIHVsIGxpLm9kZHttYXJnaW4tcmlnaHQ6MjBweH0jcGx1Z2luLWluZm9ybWF0aW9uIC5wbHVnaW4taW5mb3JtYXRpb24tcHJpY2luZ3ttYXJnaW46LTE2cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZH0jcGx1Z2luLWluZm9ybWF0aW9uIC5wbHVnaW4taW5mb3JtYXRpb24tcHJpY2luZyAuZnMtcGxhbiBoM3ttYXJnaW4tdG9wOjA7cGFkZGluZzoyMHB4O2ZvbnQtc2l6ZToxNnB4fSNwbHVnaW4taW5mb3JtYXRpb24gLnBsdWdpbi1pbmZvcm1hdGlvbi1wcmljaW5nIC5mcy1wbGFuIC5uYXYtdGFiLXdyYXBwZXJ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZH0jcGx1Z2luLWluZm9ybWF0aW9uIC5wbHVnaW4taW5mb3JtYXRpb24tcHJpY2luZyAuZnMtcGxhbiAubmF2LXRhYi13cmFwcGVyIC5uYXYtdGFie2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MCAxMHB4O2ZvbnQtc2l6ZTowLjllbX0jcGx1Z2luLWluZm9ybWF0aW9uIC5wbHVnaW4taW5mb3JtYXRpb24tcHJpY2luZyAuZnMtcGxhbiAubmF2LXRhYi13cmFwcGVyIC5uYXYtdGFiIGxhYmVse3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjpncmVlbjtiYWNrZ3JvdW5kOmdyZWVueWVsbG93O3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTFweDtyaWdodDotMXB4O2JvdHRvbToxMDAlO2JvcmRlcjoxcHggc29saWQgZGFya2dyZWVuO3BhZGRpbmc6MnB4O3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZTowLjllbTtsaW5lLWhlaWdodDoxZW19I3BsdWdpbi1pbmZvcm1hdGlvbiAucGx1Z2luLWluZm9ybWF0aW9uLXByaWNpbmcgLmZzLXBsYW4gLm5hdi10YWItd3JhcHBlciAubmF2LXRhYi5uYXYtdGFiLWFjdGl2ZXtjdXJzb3I6ZGVmYXVsdDtiYWNrZ3JvdW5kOiNmZmZlZWM7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZmZmZWVjfSNwbHVnaW4taW5mb3JtYXRpb24gLnBsdWdpbi1pbmZvcm1hdGlvbi1wcmljaW5nIC5mcy1wbGFuLmZzLXNpbmdsZS1jeWNsZSBoM3tiYWNrZ3JvdW5kOiNmZmZlZWM7bWFyZ2luOjA7cGFkZGluZy1ib3R0b206MDtjb2xvcjojMDA3M2FhfSNwbHVnaW4taW5mb3JtYXRpb24gLnBsdWdpbi1pbmZvcm1hdGlvbi1wcmljaW5nIC5mcy1wbGFuLmZzLXNpbmdsZS1jeWNsZSAubmF2LXRhYi13cmFwcGVyLCNwbHVnaW4taW5mb3JtYXRpb24gLnBsdWdpbi1pbmZvcm1hdGlvbi1wcmljaW5nIC5mcy1wbGFuLmZzLXNpbmdsZS1jeWNsZSAuZnMtYmlsbGluZy1mcmVxdWVuY3l7ZGlzcGxheTpub25lfSNwbHVnaW4taW5mb3JtYXRpb24gLnBsdWdpbi1pbmZvcm1hdGlvbi1wcmljaW5nIC5mcy1wbGFuIC5mcy1wcmljaW5nLWJvZHl7YmFja2dyb3VuZDojZmZmZWVjO3BhZGRpbmc6MjBweH0jcGx1Z2luLWluZm9ybWF0aW9uIC5wbHVnaW4taW5mb3JtYXRpb24tcHJpY2luZyAuZnMtcGxhbiAuYnV0dG9ue3dpZHRoOjEwMCU7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6Ym9sZDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Zm9udC1zaXplOjEuMWVtfSNwbHVnaW4taW5mb3JtYXRpb24gLnBsdWdpbi1pbmZvcm1hdGlvbi1wcmljaW5nIC5mcy1wbGFuIGxhYmVse3doaXRlLXNwYWNlOm5vd3JhcH0jcGx1Z2luLWluZm9ybWF0aW9uIC5wbHVnaW4taW5mb3JtYXRpb24tcHJpY2luZyAuZnMtcGxhbiB2YXJ7Zm9udC1zdHlsZTpub3JtYWx9I3BsdWdpbi1pbmZvcm1hdGlvbiAucGx1Z2luLWluZm9ybWF0aW9uLXByaWNpbmcgLmZzLXBsYW4gLmZzLWJpbGxpbmctZnJlcXVlbmN5LCNwbHVnaW4taW5mb3JtYXRpb24gLnBsdWdpbi1pbmZvcm1hdGlvbi1wcmljaW5nIC5mcy1wbGFuIC5mcy1hbm51YWwtZGlzY291bnR7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTpibG9jaztmb250LXdlaWdodDpib2xkO21hcmdpbi1ib3R0b206MTBweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7YmFja2dyb3VuZDojRjNGM0YzO3BhZGRpbmc6MnB4O2JvcmRlcjoxcHggc29saWQgI2NjY30jcGx1Z2luLWluZm9ybWF0aW9uIC5wbHVnaW4taW5mb3JtYXRpb24tcHJpY2luZyAuZnMtcGxhbiAuZnMtYW5udWFsLWRpc2NvdW50e3RleHQtdHJhbnNmb3JtOm5vbmU7Y29sb3I6Z3JlZW47YmFja2dyb3VuZDpncmVlbnllbGxvd30jcGx1Z2luLWluZm9ybWF0aW9uIC5wbHVnaW4taW5mb3JtYXRpb24tcHJpY2luZyAuZnMtcGxhbiB1bC5mcy10cmlhbC10ZXJtc3tmb250LXNpemU6MC45ZW19I3BsdWdpbi1pbmZvcm1hdGlvbiAucGx1Z2luLWluZm9ybWF0aW9uLXByaWNpbmcgLmZzLXBsYW4gdWwuZnMtdHJpYWwtdGVybXMgaXtmbG9hdDpsZWZ0O21hcmdpbjowIDAgMCAtMTVweH0jcGx1Z2luLWluZm9ybWF0aW9uIC5wbHVnaW4taW5mb3JtYXRpb24tcHJpY2luZyAuZnMtcGxhbiB1bC5mcy10cmlhbC10ZXJtcyBsaXttYXJnaW46MTBweCAwIDAgMH0jcGx1Z2luLWluZm9ybWF0aW9uICNzZWN0aW9uLWZlYXR1cmVzIC5mcy1mZWF0dXJlc3ttYXJnaW46LTIwcHggLTI2cHh9I3BsdWdpbi1pbmZvcm1hdGlvbiAjc2VjdGlvbi1mZWF0dXJlcyB0YWJsZXt3aWR0aDoxMDAlO2JvcmRlci1zcGFjaW5nOjA7Ym9yZGVyLWNvbGxhcHNlOnNlcGFyYXRlfSNwbHVnaW4taW5mb3JtYXRpb24gI3NlY3Rpb24tZmVhdHVyZXMgdGFibGUgdGhlYWQgdGh7cGFkZGluZzoxMHB4IDB9I3BsdWdpbi1pbmZvcm1hdGlvbiAjc2VjdGlvbi1mZWF0dXJlcyB0YWJsZSB0aGVhZCAuZnMtcHJpY2V7Y29sb3I6IzcxYWUwMDtmb250LXdlaWdodDpub3JtYWw7ZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOmNlbnRlcn0jcGx1Z2luLWluZm9ybWF0aW9uICNzZWN0aW9uLWZlYXR1cmVzIHRhYmxlIHRib2R5IHRke2JvcmRlci10b3A6MXB4IHNvbGlkICNjY2M7cGFkZGluZzoxMHB4IDA7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MTAwcHg7Y29sb3I6IzcxYWUwMH0jcGx1Z2luLWluZm9ybWF0aW9uICNzZWN0aW9uLWZlYXR1cmVzIHRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxke3RleHQtYWxpZ246bGVmdDt3aWR0aDphdXRvO2NvbG9yOmluaGVyaXQ7cGFkZGluZy1sZWZ0OjI2cHh9I3BsdWdpbi1pbmZvcm1hdGlvbiAjc2VjdGlvbi1mZWF0dXJlcyB0YWJsZSB0Ym9keSB0ci5mcy1vZGQgdGR7YmFja2dyb3VuZDojZmVmZWZlfSNwbHVnaW4taW5mb3JtYXRpb24gI3NlY3Rpb24tZmVhdHVyZXMgLmRhc2hpY29ucy15ZXN7d2lkdGg6MzBweDtoZWlnaHQ6MzBweDtmb250LXNpemU6MzBweH1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjFweCl7I2ZzX2FkZG9ucyAuZnMtY2FyZHMtbGlzdCAuZnMtY2FyZHtoZWlnaHQ6MjY1cHh9fVxuIl19 */
freemius/assets/css/admin/affiliation.css ADDED
@@ -0,0 +1,2 @@
 
 
1
+ @charset "UTF-8";#fs_affiliation_content_wrapper #messages{margin-top:25px}#fs_affiliation_content_wrapper h3{font-size:24px;padding:0;margin-left:0}#fs_affiliation_content_wrapper ul li{-webkit-box-sizing:border-box;box-sizing:border-box;list-style-type:none}#fs_affiliation_content_wrapper ul li:before{content:'✓';margin-right:10px;font-weight:bold}#fs_affiliation_content_wrapper p:not(.description),#fs_affiliation_content_wrapper li,#fs_affiliation_content_wrapper label{font-size:16px !important;line-height:26px !important}#fs_affiliation_content_wrapper .button{margin-top:20px;margin-bottom:7px;line-height:35px;height:40px;font-size:16px}#fs_affiliation_content_wrapper .button#cancel_button{margin-right:5px}#fs_affiliation_content_wrapper form .input-container{margin-bottom:15px}#fs_affiliation_content_wrapper form .input-container .input-label{font-weight:bold;display:block;width:100%}#fs_affiliation_content_wrapper form .input-container.input-container-text label,#fs_affiliation_content_wrapper form .input-container.input-container-text input,#fs_affiliation_content_wrapper form .input-container.input-container-text textarea{display:block}#fs_affiliation_content_wrapper form .input-container #add_domain,#fs_affiliation_content_wrapper form .input-container .remove-domain{text-decoration:none;display:inline-block;margin-top:3px}#fs_affiliation_content_wrapper form .input-container #add_domain:focus,#fs_affiliation_content_wrapper form .input-container .remove-domain:focus{-webkit-box-shadow:none;box-shadow:none}#fs_affiliation_content_wrapper form .input-container #add_domain.disabled,#fs_affiliation_content_wrapper form .input-container .remove-domain.disabled{color:#aaa;cursor:default}#fs_affiliation_content_wrapper form #extra_domains_container .description{margin-top:0;position:relative;top:-4px}#fs_affiliation_content_wrapper form #extra_domains_container .extra-domain-input-container{margin-bottom:15px}#fs_affiliation_content_wrapper form #extra_domains_container .extra-domain-input-container .domain{display:inline-block;margin-right:5px}#fs_affiliation_content_wrapper form #extra_domains_container .extra-domain-input-container .domain:last-of-type{margin-bottom:0}
2
+ /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFmZmlsaWF0aW9uLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUIsMENBQTBDLGVBQWUsQ0FBQyxtQ0FBbUMsZUFBZSxVQUFVLGFBQWEsQ0FBQyxzQ0FBaUUsOEJBQThCLHNCQUFzQixvQkFBb0IsQ0FBQyw2Q0FBNkMsWUFBWSxrQkFBa0IsZ0JBQWdCLENBQUMsNkhBQTZILDBCQUEwQiwyQkFBMkIsQ0FBQyx3Q0FBd0MsZ0JBQWdCLGtCQUFrQixpQkFBaUIsWUFBWSxjQUFjLENBQUMsc0RBQXNELGdCQUFnQixDQUFDLHNEQUFzRCxrQkFBa0IsQ0FBQyxtRUFBbUUsaUJBQWlCLGNBQWMsVUFBVSxDQUFDLHNQQUFzUCxhQUFhLENBQUMsdUlBQXVJLHFCQUFxQixxQkFBcUIsY0FBYyxDQUFDLG1KQUFtSix3QkFBQSxlQUFlLENBQUMseUpBQXlKLFdBQVcsY0FBYyxDQUFDLDJFQUEyRSxhQUFhLGtCQUFrQixRQUFRLENBQUMsNEZBQTRGLGtCQUFrQixDQUFDLG9HQUFvRyxxQkFBcUIsZ0JBQWdCLENBQUMsaUhBQWlILGVBQWUsQ0FBQyIsImZpbGUiOiJhZmZpbGlhdGlvbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7I2ZzX2FmZmlsaWF0aW9uX2NvbnRlbnRfd3JhcHBlciAjbWVzc2FnZXN7bWFyZ2luLXRvcDoyNXB4fSNmc19hZmZpbGlhdGlvbl9jb250ZW50X3dyYXBwZXIgaDN7Zm9udC1zaXplOjI0cHg7cGFkZGluZzowO21hcmdpbi1sZWZ0OjB9I2ZzX2FmZmlsaWF0aW9uX2NvbnRlbnRfd3JhcHBlciB1bCBsaXstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7bGlzdC1zdHlsZS10eXBlOm5vbmV9I2ZzX2FmZmlsaWF0aW9uX2NvbnRlbnRfd3JhcHBlciB1bCBsaTpiZWZvcmV7Y29udGVudDon4pyTJzttYXJnaW4tcmlnaHQ6MTBweDtmb250LXdlaWdodDpib2xkfSNmc19hZmZpbGlhdGlvbl9jb250ZW50X3dyYXBwZXIgcDpub3QoLmRlc2NyaXB0aW9uKSwjZnNfYWZmaWxpYXRpb25fY29udGVudF93cmFwcGVyIGxpLCNmc19hZmZpbGlhdGlvbl9jb250ZW50X3dyYXBwZXIgbGFiZWx7Zm9udC1zaXplOjE2cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoyNnB4ICFpbXBvcnRhbnR9I2ZzX2FmZmlsaWF0aW9uX2NvbnRlbnRfd3JhcHBlciAuYnV0dG9ue21hcmdpbi10b3A6MjBweDttYXJnaW4tYm90dG9tOjdweDtsaW5lLWhlaWdodDozNXB4O2hlaWdodDo0MHB4O2ZvbnQtc2l6ZToxNnB4fSNmc19hZmZpbGlhdGlvbl9jb250ZW50X3dyYXBwZXIgLmJ1dHRvbiNjYW5jZWxfYnV0dG9ue21hcmdpbi1yaWdodDo1cHh9I2ZzX2FmZmlsaWF0aW9uX2NvbnRlbnRfd3JhcHBlciBmb3JtIC5pbnB1dC1jb250YWluZXJ7bWFyZ2luLWJvdHRvbToxNXB4fSNmc19hZmZpbGlhdGlvbl9jb250ZW50X3dyYXBwZXIgZm9ybSAuaW5wdXQtY29udGFpbmVyIC5pbnB1dC1sYWJlbHtmb250LXdlaWdodDpib2xkO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJX0jZnNfYWZmaWxpYXRpb25fY29udGVudF93cmFwcGVyIGZvcm0gLmlucHV0LWNvbnRhaW5lci5pbnB1dC1jb250YWluZXItdGV4dCBsYWJlbCwjZnNfYWZmaWxpYXRpb25fY29udGVudF93cmFwcGVyIGZvcm0gLmlucHV0LWNvbnRhaW5lci5pbnB1dC1jb250YWluZXItdGV4dCBpbnB1dCwjZnNfYWZmaWxpYXRpb25fY29udGVudF93cmFwcGVyIGZvcm0gLmlucHV0LWNvbnRhaW5lci5pbnB1dC1jb250YWluZXItdGV4dCB0ZXh0YXJlYXtkaXNwbGF5OmJsb2NrfSNmc19hZmZpbGlhdGlvbl9jb250ZW50X3dyYXBwZXIgZm9ybSAuaW5wdXQtY29udGFpbmVyICNhZGRfZG9tYWluLCNmc19hZmZpbGlhdGlvbl9jb250ZW50X3dyYXBwZXIgZm9ybSAuaW5wdXQtY29udGFpbmVyIC5yZW1vdmUtZG9tYWlue3RleHQtZGVjb3JhdGlvbjpub25lO2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi10b3A6M3B4fSNmc19hZmZpbGlhdGlvbl9jb250ZW50X3dyYXBwZXIgZm9ybSAuaW5wdXQtY29udGFpbmVyICNhZGRfZG9tYWluOmZvY3VzLCNmc19hZmZpbGlhdGlvbl9jb250ZW50X3dyYXBwZXIgZm9ybSAuaW5wdXQtY29udGFpbmVyIC5yZW1vdmUtZG9tYWluOmZvY3Vze2JveC1zaGFkb3c6bm9uZX0jZnNfYWZmaWxpYXRpb25fY29udGVudF93cmFwcGVyIGZvcm0gLmlucHV0LWNvbnRhaW5lciAjYWRkX2RvbWFpbi5kaXNhYmxlZCwjZnNfYWZmaWxpYXRpb25fY29udGVudF93cmFwcGVyIGZvcm0gLmlucHV0LWNvbnRhaW5lciAucmVtb3ZlLWRvbWFpbi5kaXNhYmxlZHtjb2xvcjojYWFhO2N1cnNvcjpkZWZhdWx0fSNmc19hZmZpbGlhdGlvbl9jb250ZW50X3dyYXBwZXIgZm9ybSAjZXh0cmFfZG9tYWluc19jb250YWluZXIgLmRlc2NyaXB0aW9ue21hcmdpbi10b3A6MDtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6LTRweH0jZnNfYWZmaWxpYXRpb25fY29udGVudF93cmFwcGVyIGZvcm0gI2V4dHJhX2RvbWFpbnNfY29udGFpbmVyIC5leHRyYS1kb21haW4taW5wdXQtY29udGFpbmVye21hcmdpbi1ib3R0b206MTVweH0jZnNfYWZmaWxpYXRpb25fY29udGVudF93cmFwcGVyIGZvcm0gI2V4dHJhX2RvbWFpbnNfY29udGFpbmVyIC5leHRyYS1kb21haW4taW5wdXQtY29udGFpbmVyIC5kb21haW57ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLXJpZ2h0OjVweH0jZnNfYWZmaWxpYXRpb25fY29udGVudF93cmFwcGVyIGZvcm0gI2V4dHJhX2RvbWFpbnNfY29udGFpbmVyIC5leHRyYS1kb21haW4taW5wdXQtY29udGFpbmVyIC5kb21haW46bGFzdC1vZi10eXBle21hcmdpbi1ib3R0b206MH1cbiJdfQ== */
freemius/assets/css/admin/checkout.css ADDED
@@ -0,0 +1,2 @@
 
 
1
+ @media screen and (max-width: 782px){#wpbody-content{padding-bottom:0 !important}}
2
+ /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNoZWNrb3V0LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxQ0FBcUMsZ0JBQWdCLDJCQUEyQixDQUFDLENBQUMiLCJmaWxlIjoiY2hlY2tvdXQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzgycHgpeyN3cGJvZHktY29udGVudHtwYWRkaW5nLWJvdHRvbTowICFpbXBvcnRhbnR9fVxuIl19 */
freemius/assets/css/admin/common.css ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ .theme-browser .theme .fs-premium-theme-badge{position:absolute;top:10px;right:0;background:#71ae00;color:#fff;text-transform:uppercase;padding:5px 10px;border-radius:3px 0 0 3px;font-weight:bold;border-right:0;-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,0.3);box-shadow:0 2px 1px -1px rgba(0,0,0,0.3);font-size:1.1em}#iframe{line-height:0;font-size:0}.fs-full-size-wrapper{margin:40px 0 -65px -20px}@media (max-width: 600px){.fs-full-size-wrapper{margin:0 0 -65px -10px}}
2
+ .fs-notice{position:relative}.fs-notice.fs-has-title{margin-bottom:30px !important}.fs-notice.success{color:green}.fs-notice.promotion{border-color:#00a0d2 !important;background-color:#f2fcff !important}.fs-notice .fs-notice-body{margin:.5em 0;padding:2px}.fs-notice .fs-close{cursor:pointer;color:#aaa;float:right}.fs-notice .fs-close:hover{color:#666}.fs-notice .fs-close>*{margin-top:7px;display:inline-block}.fs-notice label.fs-plugin-title{background:rgba(0,0,0,0.3);color:#fff;padding:2px 10px;position:absolute;top:100%;bottom:auto;right:auto;border-radius:0 0 3px 3px;left:10px;font-size:12px;font-weight:bold;cursor:auto}div.fs-notice.updated,div.fs-notice.success,div.fs-notice.promotion{display:block !important}.rtl .fs-notice .fs-close{float:left}.fs-secure-notice{position:fixed;top:32px;left:160px;right:0;background:#ebfdeb;padding:10px 20px;color:green;z-index:9999;-webkit-box-shadow:0 2px 2px rgba(6,113,6,0.3);box-shadow:0 2px 2px rgba(6,113,6,0.3);opacity:0.95;filter:alpha(opacity=95)}.fs-secure-notice:hover{opacity:1;filter:alpha(opacity=100)}.fs-secure-notice a.fs-security-proof{color:green;text-decoration:none}@media screen and (max-width: 960px){.fs-secure-notice{left:36px}}@media screen and (max-width: 600px){.fs-secure-notice{display:none}}@media screen and (max-width: 500px){#fs_promo_tab{display:none}}@media screen and (max-width: 782px){.fs-secure-notice{left:0;top:46px;text-align:center}}span.fs-submenu-item.fs-sub:before{content:'\21B3';padding:0 5px}.rtl span.fs-submenu-item.fs-sub:before{content:'\21B2'}.fs-submenu-item.pricing.upgrade-mode{color:greenyellow}.fs-submenu-item.pricing.trial-mode{color:#83e2ff}#adminmenu .update-plugins.fs-trial{background-color:#00b9eb}.fs-ajax-spinner{border:0;width:20px;height:20px;margin-right:5px;vertical-align:sub;display:inline-block;background:url("../../../../../../../wp-admin/images/wpspin_light-2x.gif");background-size:contain}.wrap.fs-section h2{text-align:left}
3
+ /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1vbi5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOENBQThDLGtCQUFrQixTQUFTLFFBQVEsbUJBQW1CLFdBQVcseUJBQXlCLGlCQUFpQiwwQkFBMkYsaUJBQWlCLGVBQWUsa0RBQWlHLDBDQUEwQyxlQUFlLENBQUMsUUFBUSxjQUFjLFdBQVcsQ0FBQyxzQkFBc0IseUJBQXlCLENBQUMsMEJBQTBCLHNCQUFzQixzQkFBc0IsQ0FBQyxDQUFDO0FBQ3prQixXQUFXLGlCQUFpQixDQUFDLHdCQUF3Qiw2QkFBNkIsQ0FBQyxtQkFBbUIsV0FBVyxDQUFDLHFCQUFxQixnQ0FBZ0MsbUNBQW1DLENBQUMsMkJBQTJCLGNBQWMsV0FBVyxDQUFDLHFCQUFxQixlQUFlLFdBQVcsV0FBVyxDQUFDLDJCQUEyQixVQUFVLENBQUMsdUJBQXVCLGVBQWUsb0JBQW9CLENBQUMsaUNBQWlDLDJCQUEyQixXQUFXLGlCQUFpQixrQkFBa0IsU0FBUyxZQUFZLFdBQVcsMEJBQTJGLFVBQVUsZUFBZSxpQkFBaUIsV0FBVyxDQUFDLG9FQUFvRSx3QkFBd0IsQ0FBQywwQkFBMEIsVUFBVSxDQUFDLGtCQUFrQixlQUFlLFNBQVMsV0FBVyxRQUFRLG1CQUFtQixrQkFBa0IsWUFBWSxhQUFhLCtDQUEyRix1Q0FBdUMsYUFBYSx3QkFBd0IsQ0FBQyx3QkFBd0IsVUFBVSx5QkFBeUIsQ0FBQyxzQ0FBc0MsWUFBWSxvQkFBb0IsQ0FBQyxxQ0FBcUMsa0JBQWtCLFNBQVMsQ0FBQyxDQUFDLHFDQUFxQyxrQkFBa0IsWUFBWSxDQUFDLENBQUMscUNBQXFDLGNBQWMsWUFBWSxDQUFDLENBQUMscUNBQXFDLGtCQUFrQixPQUFPLFNBQVMsaUJBQWlCLENBQUMsQ0FBQyxtQ0FBbUMsZ0JBQWdCLGFBQWEsQ0FBQyx3Q0FBd0MsZUFBZSxDQUFDLHNDQUFzQyxpQkFBaUIsQ0FBQyxvQ0FBb0MsYUFBYSxDQUFDLG9DQUFvQyx3QkFBd0IsQ0FBQyxpQkFBaUIsU0FBUyxXQUFXLFlBQVksaUJBQWlCLG1CQUFtQixxQkFBcUIsMkVBQTJFLHVCQUF1QixDQUFDLG9CQUFvQixlQUFlLENBQUMiLCJmaWxlIjoiY29tbW9uLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi50aGVtZS1icm93c2VyIC50aGVtZSAuZnMtcHJlbWl1bS10aGVtZS1iYWRnZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtyaWdodDowO2JhY2tncm91bmQ6IzcxYWUwMDtjb2xvcjojZmZmO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtwYWRkaW5nOjVweCAxMHB4Oy1tb3otYm9yZGVyLXJhZGl1czozcHggMCAwIDNweDstd2Via2l0LWJvcmRlci1yYWRpdXM6M3B4IDAgMCAzcHg7Ym9yZGVyLXJhZGl1czozcHggMCAwIDNweDtmb250LXdlaWdodDpib2xkO2JvcmRlci1yaWdodDowOy1tb3otYm94LXNoYWRvdzowIDJweCAxcHggLTFweCByZ2JhKDAsMCwwLDAuMyk7LXdlYmtpdC1ib3gtc2hhZG93OjAgMnB4IDFweCAtMXB4IHJnYmEoMCwwLDAsMC4zKTtib3gtc2hhZG93OjAgMnB4IDFweCAtMXB4IHJnYmEoMCwwLDAsMC4zKTtmb250LXNpemU6MS4xZW19I2lmcmFtZXtsaW5lLWhlaWdodDowO2ZvbnQtc2l6ZTowfS5mcy1mdWxsLXNpemUtd3JhcHBlcnttYXJnaW46NDBweCAwIC02NXB4IC0yMHB4fUBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCl7LmZzLWZ1bGwtc2l6ZS13cmFwcGVye21hcmdpbjowIDAgLTY1cHggLTEwcHh9fVxuLmZzLW5vdGljZXtwb3NpdGlvbjpyZWxhdGl2ZX0uZnMtbm90aWNlLmZzLWhhcy10aXRsZXttYXJnaW4tYm90dG9tOjMwcHggIWltcG9ydGFudH0uZnMtbm90aWNlLnN1Y2Nlc3N7Y29sb3I6Z3JlZW59LmZzLW5vdGljZS5wcm9tb3Rpb257Ym9yZGVyLWNvbG9yOiMwMGEwZDIgIWltcG9ydGFudDtiYWNrZ3JvdW5kLWNvbG9yOiNmMmZjZmYgIWltcG9ydGFudH0uZnMtbm90aWNlIC5mcy1ub3RpY2UtYm9keXttYXJnaW46LjVlbSAwO3BhZGRpbmc6MnB4fS5mcy1ub3RpY2UgLmZzLWNsb3Nle2N1cnNvcjpwb2ludGVyO2NvbG9yOiNhYWE7ZmxvYXQ6cmlnaHR9LmZzLW5vdGljZSAuZnMtY2xvc2U6aG92ZXJ7Y29sb3I6IzY2Nn0uZnMtbm90aWNlIC5mcy1jbG9zZT4qe21hcmdpbi10b3A6N3B4O2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5mcy1ub3RpY2UgbGFiZWwuZnMtcGx1Z2luLXRpdGxle2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjMpO2NvbG9yOiNmZmY7cGFkZGluZzoycHggMTBweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTAwJTtib3R0b206YXV0bztyaWdodDphdXRvOy1tb3otYm9yZGVyLXJhZGl1czowIDAgM3B4IDNweDstd2Via2l0LWJvcmRlci1yYWRpdXM6MCAwIDNweCAzcHg7Ym9yZGVyLXJhZGl1czowIDAgM3B4IDNweDtsZWZ0OjEwcHg7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6Ym9sZDtjdXJzb3I6YXV0b31kaXYuZnMtbm90aWNlLnVwZGF0ZWQsZGl2LmZzLW5vdGljZS5zdWNjZXNzLGRpdi5mcy1ub3RpY2UucHJvbW90aW9ue2Rpc3BsYXk6YmxvY2sgIWltcG9ydGFudH0ucnRsIC5mcy1ub3RpY2UgLmZzLWNsb3Nle2Zsb2F0OmxlZnR9LmZzLXNlY3VyZS1ub3RpY2V7cG9zaXRpb246Zml4ZWQ7dG9wOjMycHg7bGVmdDoxNjBweDtyaWdodDowO2JhY2tncm91bmQ6I2ViZmRlYjtwYWRkaW5nOjEwcHggMjBweDtjb2xvcjpncmVlbjt6LWluZGV4Ojk5OTk7LW1vei1ib3gtc2hhZG93OjAgMnB4IDJweCByZ2JhKDYsMTEzLDYsMC4zKTstd2Via2l0LWJveC1zaGFkb3c6MCAycHggMnB4IHJnYmEoNiwxMTMsNiwwLjMpO2JveC1zaGFkb3c6MCAycHggMnB4IHJnYmEoNiwxMTMsNiwwLjMpO29wYWNpdHk6MC45NTtmaWx0ZXI6YWxwaGEob3BhY2l0eT05NSl9LmZzLXNlY3VyZS1ub3RpY2U6aG92ZXJ7b3BhY2l0eToxO2ZpbHRlcjphbHBoYShvcGFjaXR5PTEwMCl9LmZzLXNlY3VyZS1ub3RpY2UgYS5mcy1zZWN1cml0eS1wcm9vZntjb2xvcjpncmVlbjt0ZXh0LWRlY29yYXRpb246bm9uZX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCl7LmZzLXNlY3VyZS1ub3RpY2V7bGVmdDozNnB4fX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCl7LmZzLXNlY3VyZS1ub3RpY2V7ZGlzcGxheTpub25lfX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCl7I2ZzX3Byb21vX3RhYntkaXNwbGF5Om5vbmV9fUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc4MnB4KXsuZnMtc2VjdXJlLW5vdGljZXtsZWZ0OjA7dG9wOjQ2cHg7dGV4dC1hbGlnbjpjZW50ZXJ9fXNwYW4uZnMtc3VibWVudS1pdGVtLmZzLXN1YjpiZWZvcmV7Y29udGVudDonXFwyMUIzJztwYWRkaW5nOjAgNXB4fS5ydGwgc3Bhbi5mcy1zdWJtZW51LWl0ZW0uZnMtc3ViOmJlZm9yZXtjb250ZW50OidcXDIxQjInfS5mcy1zdWJtZW51LWl0ZW0ucHJpY2luZy51cGdyYWRlLW1vZGV7Y29sb3I6Z3JlZW55ZWxsb3d9LmZzLXN1Ym1lbnUtaXRlbS5wcmljaW5nLnRyaWFsLW1vZGV7Y29sb3I6IzgzZTJmZn0jYWRtaW5tZW51IC51cGRhdGUtcGx1Z2lucy5mcy10cmlhbHtiYWNrZ3JvdW5kLWNvbG9yOiMwMGI5ZWJ9LmZzLWFqYXgtc3Bpbm5lcntib3JkZXI6MDt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O21hcmdpbi1yaWdodDo1cHg7dmVydGljYWwtYWxpZ246c3ViO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JhY2tncm91bmQ6dXJsKFwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vd3AtYWRtaW4vaW1hZ2VzL3dwc3Bpbl9saWdodC0yeC5naWZcIik7YmFja2dyb3VuZC1zaXplOmNvbnRhaW59LndyYXAuZnMtc2VjdGlvbiBoMnt0ZXh0LWFsaWduOmxlZnR9XG4iXX0= */
freemius/assets/css/admin/connect.css ADDED
@@ -0,0 +1,2 @@
 
 
1
+ #fs_connect{width:480px;-webkit-box-shadow:0px 1px 2px rgba(0,0,0,0.3);box-shadow:0px 1px 2px rgba(0,0,0,0.3);margin:20px 0}@media screen and (max-width: 479px){#fs_connect{-webkit-box-shadow:none;box-shadow:none;width:auto;margin:0 0 0 -10px}}#fs_connect .fs-content{background:#fff;padding:15px 20px}#fs_connect .fs-content .fs-error{background:snow;color:#d3135a;border:1px solid #d3135a;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);text-align:center;padding:5px;margin-bottom:10px}#fs_connect .fs-content p{margin:0;padding:0;font-size:1.2em}#fs_connect .fs-license-key-container{position:relative;width:280px;margin:10px auto 0 auto}#fs_connect .fs-license-key-container input{width:100%}#fs_connect .fs-license-key-container .dashicons{position:absolute;top:5px;right:5px}#fs_connect.require-license-key #sites_list_container td{cursor:pointer}#fs_connect #delegate_to_site_admins{margin-right:15px;float:right;height:26px;vertical-align:middle;line-height:37px;font-weight:bold;border-bottom:1px dashed;text-decoration:none}#fs_connect #delegate_to_site_admins.rtl{margin-left:15px;margin-right:0}#fs_connect .fs-actions{padding:10px 20px;background:#C0C7CA}#fs_connect .fs-actions .button{padding:0 10px 1px;line-height:35px;height:37px;font-size:16px;margin-bottom:0}#fs_connect .fs-actions .button .dashicons{font-size:37px;margin-left:-8px;margin-right:12px}#fs_connect .fs-actions .button.button-primary{padding-right:15px;padding-left:15px}#fs_connect .fs-actions .button.button-primary:after{content:' \279C'}#fs_connect .fs-actions .button.button-primary.fs-loading:after{content:''}#fs_connect .fs-actions .button.button-secondary{float:right}#fs_connect.fs-anonymous-disabled .fs-actions .button.button-primary{width:100%}#fs_connect .fs-permissions{padding:10px 20px;background:#FEFEFE;-webkit-transition:background 0.5s ease;transition:background 0.5s ease}#fs_connect .fs-permissions .fs-license-sync-disclaimer{text-align:center;margin-top:0}#fs_connect .fs-permissions .fs-trigger{font-size:0.9em;text-decoration:none;text-align:center;display:block}#fs_connect .fs-permissions ul{height:0;overflow:hidden;margin:0}#fs_connect .fs-permissions ul li{margin-bottom:12px}#fs_connect .fs-permissions ul li:last-child{margin-bottom:0}#fs_connect .fs-permissions ul li i.dashicons{float:left;font-size:40px;width:40px;height:40px}#fs_connect .fs-permissions ul li div{margin-left:55px}#fs_connect .fs-permissions ul li div span{font-weight:bold;text-transform:uppercase;color:#23282d}#fs_connect .fs-permissions ul li div p{margin:2px 0 0 0}#fs_connect .fs-permissions.fs-open{background:#fff}#fs_connect .fs-permissions.fs-open ul{height:auto;margin:20px 20px 10px 20px}@media screen and (max-width: 479px){#fs_connect .fs-permissions{background:#fff}#fs_connect .fs-permissions .fs-trigger{display:none}#fs_connect .fs-permissions ul{height:auto;margin:20px}}#fs_connect .fs-freemium-licensing{padding:8px;background:#777;color:#fff}#fs_connect .fs-freemium-licensing p{text-align:center;display:block;margin:0;padding:0}#fs_connect .fs-freemium-licensing a{color:#C2EEFF;text-decoration:underline}#fs_connect .fs-visual{padding:12px;line-height:0;background:#fafafa;height:80px;position:relative}#fs_connect .fs-visual .fs-site-icon{position:absolute;left:20px;top:10px}#fs_connect .fs-visual .fs-connect-logo{position:absolute;right:20px;top:10px}#fs_connect .fs-visual .fs-plugin-icon{position:absolute;top:10px;left:50%;margin-left:-40px}#fs_connect .fs-visual .fs-plugin-icon,#fs_connect .fs-visual .fs-site-icon,#fs_connect .fs-visual img,#fs_connect .fs-visual object{width:80px;height:80px}#fs_connect .fs-visual .dashicons-wordpress{font-size:64px;background:#01749a;color:#fff;width:64px;height:64px;padding:8px}#fs_connect .fs-visual .dashicons-plus{position:absolute;top:50%;font-size:30px;margin-top:-10px;color:#bbb}#fs_connect .fs-visual .dashicons-plus.fs-first{left:28%}#fs_connect .fs-visual .dashicons-plus.fs-second{left:65%}#fs_connect .fs-visual .fs-plugin-icon,#fs_connect .fs-visual .fs-connect-logo,#fs_connect .fs-visual .fs-site-icon{border:1px solid #ccc;padding:1px;background:#fff}#fs_connect .fs-terms{text-align:center;font-size:0.85em;padding:5px;background:rgba(0,0,0,0.05)}#fs_connect .fs-terms,#fs_connect .fs-terms a{color:#999}#fs_connect .fs-terms a{text-decoration:none}#multisite_options_container{margin-top:10px;border:1px solid #ccc;padding:5px}#multisite_options_container a{text-decoration:none}#multisite_options_container a:focus{-webkit-box-shadow:none;box-shadow:none}#multisite_options_container a.selected{font-weight:bold}#multisite_options_container.apply-on-all-sites{border:0 none;padding:0}#multisite_options_container.apply-on-all-sites #all_sites_options{border-spacing:0}#multisite_options_container.apply-on-all-sites #all_sites_options td:not(:first-child){display:none}#multisite_options_container #sites_list_container{display:none;overflow:auto}#multisite_options_container #sites_list_container table td{border-top:1px solid #ccc;padding:4px 2px}.fs-tooltip-trigger{position:relative}.fs-tooltip-trigger:not(a){cursor:help}.fs-tooltip-trigger .fs-tooltip{opacity:0;visibility:hidden;-webkit-transition:opacity 0.3s ease-in-out;transition:opacity 0.3s ease-in-out;position:absolute;background:rgba(0,0,0,0.8);color:#fff;font-family:'arial', serif;font-size:12px;padding:10px;z-index:999999;bottom:100%;margin-bottom:5px;left:0;right:0;border-radius:5px;-webkit-box-shadow:1px 1px 1px rgba(0,0,0,0.2);box-shadow:1px 1px 1px rgba(0,0,0,0.2);line-height:1.3em;font-weight:bold;text-align:left}.rtl .fs-tooltip-trigger .fs-tooltip{text-align:right}.fs-tooltip-trigger .fs-tooltip::after{content:' ';display:block;width:0;height:0;border-style:solid;border-width:5px 5px 0 5px;border-color:rgba(0,0,0,0.8) transparent transparent transparent;position:absolute;top:100%;left:21px}.rtl .fs-tooltip-trigger .fs-tooltip::after{right:21px;left:auto}.fs-tooltip-trigger:hover .fs-tooltip{visibility:visible;opacity:1}#fs_marketing_optin{display:none;margin-top:10px;border:1px solid #ccc;padding:10px;line-height:1.5em}#fs_marketing_optin .fs-message{display:block;margin-bottom:5px;font-size:1.05em;font-weight:600}#fs_marketing_optin.error{border:1px solid #d3135a;background:#fee}#fs_marketing_optin.error .fs-message{color:#d3135a}#fs_marketing_optin .fs-input-container{margin-top:5px}#fs_marketing_optin .fs-input-container label{margin-top:5px;display:block}#fs_marketing_optin .fs-input-container label input{float:left;margin:1px 0 0 0}#fs_marketing_optin .fs-input-container label:first-child{display:block;margin-bottom:2px}#fs_marketing_optin .fs-input-label{display:block;margin-left:20px}#fs_marketing_optin .fs-input-label .underlined{text-decoration:underline}.rtl #fs_marketing_optin .fs-input-container label input{float:right}.rtl #fs_marketing_optin .fs-input-label{margin-left:0;margin-right:20px}.rtl #fs_connect .fs-actions{padding:10px 20px;background:#C0C7CA}.rtl #fs_connect .fs-actions .button .dashicons{font-size:37px;margin-left:-8px;margin-right:12px}.rtl #fs_connect .fs-actions .button.button-primary:after{content:' \000bb'}.rtl #fs_connect .fs-actions .button.button-primary.fs-loading:after{content:''}.rtl #fs_connect .fs-actions .button.button-secondary{float:left}.rtl #fs_connect .fs-permissions ul li div{margin-right:55px;margin-left:0}.rtl #fs_connect .fs-permissions ul li i.dashicons{float:right}.rtl #fs_connect .fs-visual .fs-site-icon{right:20px;left:auto}.rtl #fs_connect .fs-visual .fs-connect-logo{right:auto;left:20px}#fs_theme_connect_wrapper{position:fixed;top:0;height:100%;width:100%;z-index:99990;background:rgba(0,0,0,0.75);text-align:center;overflow-y:auto}#fs_theme_connect_wrapper:before{content:"";display:inline-block;vertical-align:middle;height:100%}#fs_theme_connect_wrapper>button.close{color:white;cursor:pointer;height:40px;width:40px;position:absolute;right:0;border:0;background-color:transparent;top:32px}#fs_theme_connect_wrapper #fs_connect{top:0;text-align:left;display:inline-block;vertical-align:middle;margin-top:52px;margin-bottom:20px}#fs_theme_connect_wrapper #fs_connect .fs-terms{background:rgba(140,140,140,0.64)}#fs_theme_connect_wrapper #fs_connect .fs-terms,#fs_theme_connect_wrapper #fs_connect .fs-terms a{color:#c5c5c5}.wp-pointer-content #fs_connect{margin:0;-webkit-box-shadow:none;box-shadow:none}.fs-opt-in-pointer .wp-pointer-content{padding:0}.fs-opt-in-pointer.wp-pointer-top .wp-pointer-arrow{border-bottom-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-top .wp-pointer-arrow-inner{border-bottom-color:#fafafa}.fs-opt-in-pointer.wp-pointer-bottom .wp-pointer-arrow{border-top-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-bottom .wp-pointer-arrow-inner{border-top-color:#fafafa}.fs-opt-in-pointer.wp-pointer-left .wp-pointer-arrow{border-right-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-left .wp-pointer-arrow-inner{border-right-color:#fafafa}.fs-opt-in-pointer.wp-pointer-right .wp-pointer-arrow{border-left-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-right .wp-pointer-arrow-inner{border-left-color:#fafafa}
2
+ /*# sourceMappingURL=data:application/json;base64,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QUFDLGtHQUFrRyxhQUFhLENBQUMsZ0NBQWdDLFNBQVMsd0JBQTZDLGVBQWUsQ0FBQyx1Q0FBdUMsU0FBUyxDQUFDLG9EQUFvRCwyQkFBMkIsQ0FBQywwREFBMEQsMkJBQTJCLENBQUMsdURBQXVELHdCQUF3QixDQUFDLDZEQUE2RCx3QkFBd0IsQ0FBQyxxREFBcUQsMEJBQTBCLENBQUMsMkRBQTJELDBCQUEwQixDQUFDLHNEQUFzRCx5QkFBeUIsQ0FBQyw0REFBNEQseUJBQXlCLENBQUMiLCJmaWxlIjoiY29ubmVjdC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjZnNfY29ubmVjdHt3aWR0aDo0ODBweDstbW96LWJveC1zaGFkb3c6MHB4IDFweCAycHggcmdiYSgwLDAsMCwwLjMpOy13ZWJraXQtYm94LXNoYWRvdzowcHggMXB4IDJweCByZ2JhKDAsMCwwLDAuMyk7Ym94LXNoYWRvdzowcHggMXB4IDJweCByZ2JhKDAsMCwwLDAuMyk7bWFyZ2luOjIwcHggMH1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCl7I2ZzX2Nvbm5lY3R7LW1vei1ib3gtc2hhZG93Om5vbmU7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lO3dpZHRoOmF1dG87bWFyZ2luOjAgMCAwIC0xMHB4fX0jZnNfY29ubmVjdCAuZnMtY29udGVudHtiYWNrZ3JvdW5kOiNmZmY7cGFkZGluZzoxNXB4IDIwcHh9I2ZzX2Nvbm5lY3QgLmZzLWNvbnRlbnQgLmZzLWVycm9ye2JhY2tncm91bmQ6c25vdztjb2xvcjojZDMxMzVhO2JvcmRlcjoxcHggc29saWQgI2QzMTM1YTstbW96LWJveC1zaGFkb3c6MCAxcHggMXB4IDAgcmdiYSgwLDAsMCwwLjEpOy13ZWJraXQtYm94LXNoYWRvdzowIDFweCAxcHggMCByZ2JhKDAsMCwwLDAuMSk7Ym94LXNoYWRvdzowIDFweCAxcHggMCByZ2JhKDAsMCwwLDAuMSk7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzo1cHg7bWFyZ2luLWJvdHRvbToxMHB4fSNmc19jb25uZWN0IC5mcy1jb250ZW50IHB7bWFyZ2luOjA7cGFkZGluZzowO2ZvbnQtc2l6ZToxLjJlbX0jZnNfY29ubmVjdCAuZnMtbGljZW5zZS1rZXktY29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjI4MHB4O21hcmdpbjoxMHB4IGF1dG8gMCBhdXRvfSNmc19jb25uZWN0IC5mcy1saWNlbnNlLWtleS1jb250YWluZXIgaW5wdXR7d2lkdGg6MTAwJX0jZnNfY29ubmVjdCAuZnMtbGljZW5zZS1rZXktY29udGFpbmVyIC5kYXNoaWNvbnN7cG9zaXRpb246YWJzb2x1dGU7dG9wOjVweDtyaWdodDo1cHh9I2ZzX2Nvbm5lY3QucmVxdWlyZS1saWNlbnNlLWtleSAjc2l0ZXNfbGlzdF9jb250YWluZXIgdGR7Y3Vyc29yOnBvaW50ZXJ9I2ZzX2Nvbm5lY3QgI2RlbGVnYXRlX3RvX3NpdGVfYWRtaW5ze21hcmdpbi1yaWdodDoxNXB4O2Zsb2F0OnJpZ2h0O2hlaWdodDoyNnB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtsaW5lLWhlaWdodDozN3B4O2ZvbnQtd2VpZ2h0OmJvbGQ7Ym9yZGVyLWJvdHRvbToxcHggZGFzaGVkO3RleHQtZGVjb3JhdGlvbjpub25lfSNmc19jb25uZWN0ICNkZWxlZ2F0ZV90b19zaXRlX2FkbWlucy5ydGx7bWFyZ2luLWxlZnQ6MTVweDttYXJnaW4tcmlnaHQ6MH0jZnNfY29ubmVjdCAuZnMtYWN0aW9uc3twYWRkaW5nOjEwcHggMjBweDtiYWNrZ3JvdW5kOiNDMEM3Q0F9I2ZzX2Nvbm5lY3QgLmZzLWFjdGlvbnMgLmJ1dHRvbntwYWRkaW5nOjAgMTBweCAxcHg7bGluZS1oZWlnaHQ6MzVweDtoZWlnaHQ6MzdweDtmb250LXNpemU6MTZweDttYXJnaW4tYm90dG9tOjB9I2ZzX2Nvbm5lY3QgLmZzLWFjdGlvbnMgLmJ1dHRvbiAuZGFzaGljb25ze2ZvbnQtc2l6ZTozN3B4O21hcmdpbi1sZWZ0Oi04cHg7bWFyZ2luLXJpZ2h0OjEycHh9I2ZzX2Nvbm5lY3QgLmZzLWFjdGlvbnMgLmJ1dHRvbi5idXR0b24tcHJpbWFyeXtwYWRkaW5nLXJpZ2h0OjE1cHg7cGFkZGluZy1sZWZ0OjE1cHh9I2ZzX2Nvbm5lY3QgLmZzLWFjdGlvbnMgLmJ1dHRvbi5idXR0b24tcHJpbWFyeTphZnRlcntjb250ZW50OicgXFwyNzlDJ30jZnNfY29ubmVjdCAuZnMtYWN0aW9ucyAuYnV0dG9uLmJ1dHRvbi1wcmltYXJ5LmZzLWxvYWRpbmc6YWZ0ZXJ7Y29udGVudDonJ30jZnNfY29ubmVjdCAuZnMtYWN0aW9ucyAuYnV0dG9uLmJ1dHRvbi1zZWNvbmRhcnl7ZmxvYXQ6cmlnaHR9I2ZzX2Nvbm5lY3QuZnMtYW5vbnltb3VzLWRpc2FibGVkIC5mcy1hY3Rpb25zIC5idXR0b24uYnV0dG9uLXByaW1hcnl7d2lkdGg6MTAwJX0jZnNfY29ubmVjdCAuZnMtcGVybWlzc2lvbnN7cGFkZGluZzoxMHB4IDIwcHg7YmFja2dyb3VuZDojRkVGRUZFOy1tb3otdHJhbnNpdGlvbjpiYWNrZ3JvdW5kIDAuNXMgZWFzZTstby10cmFuc2l0aW9uOmJhY2tncm91bmQgMC41cyBlYXNlOy1tcy10cmFuc2l0aW9uOmJhY2tncm91bmQgMC41cyBlYXNlOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kIDAuNXMgZWFzZTt0cmFuc2l0aW9uOmJhY2tncm91bmQgMC41cyBlYXNlfSNmc19jb25uZWN0IC5mcy1wZXJtaXNzaW9ucyAuZnMtbGljZW5zZS1zeW5jLWRpc2NsYWltZXJ7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luLXRvcDowfSNmc19jb25uZWN0IC5mcy1wZXJtaXNzaW9ucyAuZnMtdHJpZ2dlcntmb250LXNpemU6MC45ZW07dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTpibG9ja30jZnNfY29ubmVjdCAuZnMtcGVybWlzc2lvbnMgdWx7aGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVuO21hcmdpbjowfSNmc19jb25uZWN0IC5mcy1wZXJtaXNzaW9ucyB1bCBsaXttYXJnaW4tYm90dG9tOjEycHh9I2ZzX2Nvbm5lY3QgLmZzLXBlcm1pc3Npb25zIHVsIGxpOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfSNmc19jb25uZWN0IC5mcy1wZXJtaXNzaW9ucyB1bCBsaSBpLmRhc2hpY29uc3tmbG9hdDpsZWZ0O2ZvbnQtc2l6ZTo0MHB4O3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHh9I2ZzX2Nvbm5lY3QgLmZzLXBlcm1pc3Npb25zIHVsIGxpIGRpdnttYXJnaW4tbGVmdDo1NXB4fSNmc19jb25uZWN0IC5mcy1wZXJtaXNzaW9ucyB1bCBsaSBkaXYgc3Bhbntmb250LXdlaWdodDpib2xkO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjojMjMyODJkfSNmc19jb25uZWN0IC5mcy1wZXJtaXNzaW9ucyB1bCBsaSBkaXYgcHttYXJnaW46MnB4IDAgMCAwfSNmc19jb25uZWN0IC5mcy1wZXJtaXNzaW9ucy5mcy1vcGVue2JhY2tncm91bmQ6I2ZmZn0jZnNfY29ubmVjdCAuZnMtcGVybWlzc2lvbnMuZnMtb3BlbiB1bHtoZWlnaHQ6YXV0bzttYXJnaW46MjBweCAyMHB4IDEwcHggMjBweH1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCl7I2ZzX2Nvbm5lY3QgLmZzLXBlcm1pc3Npb25ze2JhY2tncm91bmQ6I2ZmZn0jZnNfY29ubmVjdCAuZnMtcGVybWlzc2lvbnMgLmZzLXRyaWdnZXJ7ZGlzcGxheTpub25lfSNmc19jb25uZWN0IC5mcy1wZXJtaXNzaW9ucyB1bHtoZWlnaHQ6YXV0bzttYXJnaW46MjBweH19I2ZzX2Nvbm5lY3QgLmZzLWZyZWVtaXVtLWxpY2Vuc2luZ3twYWRkaW5nOjhweDtiYWNrZ3JvdW5kOiM3Nzc7Y29sb3I6I2ZmZn0jZnNfY29ubmVjdCAuZnMtZnJlZW1pdW0tbGljZW5zaW5nIHB7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTpibG9jazttYXJnaW46MDtwYWRkaW5nOjB9I2ZzX2Nvbm5lY3QgLmZzLWZyZWVtaXVtLWxpY2Vuc2luZyBhe2NvbG9yOiNDMkVFRkY7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0jZnNfY29ubmVjdCAuZnMtdmlzdWFse3BhZGRpbmc6MTJweDtsaW5lLWhlaWdodDowO2JhY2tncm91bmQ6I2ZhZmFmYTtoZWlnaHQ6ODBweDtwb3NpdGlvbjpyZWxhdGl2ZX0jZnNfY29ubmVjdCAuZnMtdmlzdWFsIC5mcy1zaXRlLWljb257cG9zaXRpb246YWJzb2x1dGU7bGVmdDoyMHB4O3RvcDoxMHB4fSNmc19jb25uZWN0IC5mcy12aXN1YWwgLmZzLWNvbm5lY3QtbG9nb3twb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoyMHB4O3RvcDoxMHB4fSNmc19jb25uZWN0IC5mcy12aXN1YWwgLmZzLXBsdWdpbi1pY29ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi00MHB4fSNmc19jb25uZWN0IC5mcy12aXN1YWwgLmZzLXBsdWdpbi1pY29uLCNmc19jb25uZWN0IC5mcy12aXN1YWwgLmZzLXNpdGUtaWNvbiwjZnNfY29ubmVjdCAuZnMtdmlzdWFsIGltZywjZnNfY29ubmVjdCAuZnMtdmlzdWFsIG9iamVjdHt3aWR0aDo4MHB4O2hlaWdodDo4MHB4fSNmc19jb25uZWN0IC5mcy12aXN1YWwgLmRhc2hpY29ucy13b3JkcHJlc3N7Zm9udC1zaXplOjY0cHg7YmFja2dyb3VuZDojMDE3NDlhO2NvbG9yOiNmZmY7d2lkdGg6NjRweDtoZWlnaHQ6NjRweDtwYWRkaW5nOjhweH0jZnNfY29ubmVjdCAuZnMtdmlzdWFsIC5kYXNoaWNvbnMtcGx1c3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2ZvbnQtc2l6ZTozMHB4O21hcmdpbi10b3A6LTEwcHg7Y29sb3I6I2JiYn0jZnNfY29ubmVjdCAuZnMtdmlzdWFsIC5kYXNoaWNvbnMtcGx1cy5mcy1maXJzdHtsZWZ0OjI4JX0jZnNfY29ubmVjdCAuZnMtdmlzdWFsIC5kYXNoaWNvbnMtcGx1cy5mcy1zZWNvbmR7bGVmdDo2NSV9I2ZzX2Nvbm5lY3QgLmZzLXZpc3VhbCAuZnMtcGx1Z2luLWljb24sI2ZzX2Nvbm5lY3QgLmZzLXZpc3VhbCAuZnMtY29ubmVjdC1sb2dvLCNmc19jb25uZWN0IC5mcy12aXN1YWwgLmZzLXNpdGUtaWNvbntib3JkZXI6MXB4IHNvbGlkICNjY2M7cGFkZGluZzoxcHg7YmFja2dyb3VuZDojZmZmfSNmc19jb25uZWN0IC5mcy10ZXJtc3t0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6MC44NWVtO3BhZGRpbmc6NXB4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjA1KX0jZnNfY29ubmVjdCAuZnMtdGVybXMsI2ZzX2Nvbm5lY3QgLmZzLXRlcm1zIGF7Y29sb3I6Izk5OX0jZnNfY29ubmVjdCAuZnMtdGVybXMgYXt0ZXh0LWRlY29yYXRpb246bm9uZX0jbXVsdGlzaXRlX29wdGlvbnNfY29udGFpbmVye21hcmdpbi10b3A6MTBweDtib3JkZXI6MXB4IHNvbGlkICNjY2M7cGFkZGluZzo1cHh9I211bHRpc2l0ZV9vcHRpb25zX2NvbnRhaW5lciBhe3RleHQtZGVjb3JhdGlvbjpub25lfSNtdWx0aXNpdGVfb3B0aW9uc19jb250YWluZXIgYTpmb2N1c3tib3gtc2hhZG93Om5vbmV9I211bHRpc2l0ZV9vcHRpb25zX2NvbnRhaW5lciBhLnNlbGVjdGVke2ZvbnQtd2VpZ2h0OmJvbGR9I211bHRpc2l0ZV9vcHRpb25zX2NvbnRhaW5lci5hcHBseS1vbi1hbGwtc2l0ZXN7Ym9yZGVyOjAgbm9uZTtwYWRkaW5nOjB9I211bHRpc2l0ZV9vcHRpb25zX2NvbnRhaW5lci5hcHBseS1vbi1hbGwtc2l0ZXMgI2FsbF9zaXRlc19vcHRpb25ze2JvcmRlci1zcGFjaW5nOjB9I211bHRpc2l0ZV9vcHRpb25zX2NvbnRhaW5lci5hcHBseS1vbi1hbGwtc2l0ZXMgI2FsbF9zaXRlc19vcHRpb25zIHRkOm5vdCg6Zmlyc3QtY2hpbGQpe2Rpc3BsYXk6bm9uZX0jbXVsdGlzaXRlX29wdGlvbnNfY29udGFpbmVyICNzaXRlc19saXN0X2NvbnRhaW5lcntkaXNwbGF5Om5vbmU7b3ZlcmZsb3c6YXV0b30jbXVsdGlzaXRlX29wdGlvbnNfY29udGFpbmVyICNzaXRlc19saXN0X2NvbnRhaW5lciB0YWJsZSB0ZHtib3JkZXItdG9wOjFweCBzb2xpZCAjY2NjO3BhZGRpbmc6NHB4IDJweH0uZnMtdG9vbHRpcC10cmlnZ2Vye3Bvc2l0aW9uOnJlbGF0aXZlfS5mcy10b29sdGlwLXRyaWdnZXI6bm90KGEpe2N1cnNvcjpoZWxwfS5mcy10b29sdGlwLXRyaWdnZXIgLmZzLXRvb2x0aXB7b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVuOy1tb3otdHJhbnNpdGlvbjpvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjpvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb246b3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjpvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuOCk7Y29sb3I6I2ZmZjtmb250LWZhbWlseTonYXJpYWwnLCBzZXJpZjtmb250LXNpemU6MTJweDtwYWRkaW5nOjEwcHg7ei1pbmRleDo5OTk5OTk7Ym90dG9tOjEwMCU7bWFyZ2luLWJvdHRvbTo1cHg7bGVmdDowO3JpZ2h0OjA7LW1vei1ib3JkZXItcmFkaXVzOjVweDstd2Via2l0LWJvcmRlci1yYWRpdXM6NXB4O2JvcmRlci1yYWRpdXM6NXB4Oy1tb3otYm94LXNoYWRvdzoxcHggMXB4IDFweCByZ2JhKDAsMCwwLDAuMik7LXdlYmtpdC1ib3gtc2hhZG93OjFweCAxcHggMXB4IHJnYmEoMCwwLDAsMC4yKTtib3gtc2hhZG93OjFweCAxcHggMXB4IHJnYmEoMCwwLDAsMC4yKTtsaW5lLWhlaWdodDoxLjNlbTtmb250LXdlaWdodDpib2xkO3RleHQtYWxpZ246bGVmdH0ucnRsIC5mcy10b29sdGlwLXRyaWdnZXIgLmZzLXRvb2x0aXB7dGV4dC1hbGlnbjpyaWdodH0uZnMtdG9vbHRpcC10cmlnZ2VyIC5mcy10b29sdGlwOjphZnRlcntjb250ZW50OicgJztkaXNwbGF5OmJsb2NrO3dpZHRoOjA7aGVpZ2h0OjA7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDo1cHggNXB4IDAgNXB4O2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuOCkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwMCU7bGVmdDoyMXB4fS5ydGwgLmZzLXRvb2x0aXAtdHJpZ2dlciAuZnMtdG9vbHRpcDo6YWZ0ZXJ7cmlnaHQ6MjFweDtsZWZ0OmF1dG99LmZzLXRvb2x0aXAtdHJpZ2dlcjpob3ZlciAuZnMtdG9vbHRpcHt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eToxfSNmc19tYXJrZXRpbmdfb3B0aW57ZGlzcGxheTpub25lO21hcmdpbi10b3A6MTBweDtib3JkZXI6MXB4IHNvbGlkICNjY2M7cGFkZGluZzoxMHB4O2xpbmUtaGVpZ2h0OjEuNWVtfSNmc19tYXJrZXRpbmdfb3B0aW4gLmZzLW1lc3NhZ2V7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjVweDtmb250LXNpemU6MS4wNWVtO2ZvbnQtd2VpZ2h0OjYwMH0jZnNfbWFya2V0aW5nX29wdGluLmVycm9ye2JvcmRlcjoxcHggc29saWQgI2QzMTM1YTtiYWNrZ3JvdW5kOiNmZWV9I2ZzX21hcmtldGluZ19vcHRpbi5lcnJvciAuZnMtbWVzc2FnZXtjb2xvcjojZDMxMzVhfSNmc19tYXJrZXRpbmdfb3B0aW4gLmZzLWlucHV0LWNvbnRhaW5lcnttYXJnaW4tdG9wOjVweH0jZnNfbWFya2V0aW5nX29wdGluIC5mcy1pbnB1dC1jb250YWluZXIgbGFiZWx7bWFyZ2luLXRvcDo1cHg7ZGlzcGxheTpibG9ja30jZnNfbWFya2V0aW5nX29wdGluIC5mcy1pbnB1dC1jb250YWluZXIgbGFiZWwgaW5wdXR7ZmxvYXQ6bGVmdDttYXJnaW46MXB4IDAgMCAwfSNmc19tYXJrZXRpbmdfb3B0aW4gLmZzLWlucHV0LWNvbnRhaW5lciBsYWJlbDpmaXJzdC1jaGlsZHtkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206MnB4fSNmc19tYXJrZXRpbmdfb3B0aW4gLmZzLWlucHV0LWxhYmVse2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWxlZnQ6MjBweH0jZnNfbWFya2V0aW5nX29wdGluIC5mcy1pbnB1dC1sYWJlbCAudW5kZXJsaW5lZHt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5ydGwgI2ZzX21hcmtldGluZ19vcHRpbiAuZnMtaW5wdXQtY29udGFpbmVyIGxhYmVsIGlucHV0e2Zsb2F0OnJpZ2h0fS5ydGwgI2ZzX21hcmtldGluZ19vcHRpbiAuZnMtaW5wdXQtbGFiZWx7bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MjBweH0ucnRsICNmc19jb25uZWN0IC5mcy1hY3Rpb25ze3BhZGRpbmc6MTBweCAyMHB4O2JhY2tncm91bmQ6I0MwQzdDQX0ucnRsICNmc19jb25uZWN0IC5mcy1hY3Rpb25zIC5idXR0b24gLmRhc2hpY29uc3tmb250LXNpemU6MzdweDttYXJnaW4tbGVmdDotOHB4O21hcmdpbi1yaWdodDoxMnB4fS5ydGwgI2ZzX2Nvbm5lY3QgLmZzLWFjdGlvbnMgLmJ1dHRvbi5idXR0b24tcHJpbWFyeTphZnRlcntjb250ZW50OicgXFwwMDBiYid9LnJ0bCAjZnNfY29ubmVjdCAuZnMtYWN0aW9ucyAuYnV0dG9uLmJ1dHRvbi1wcmltYXJ5LmZzLWxvYWRpbmc6YWZ0ZXJ7Y29udGVudDonJ30ucnRsICNmc19jb25uZWN0IC5mcy1hY3Rpb25zIC5idXR0b24uYnV0dG9uLXNlY29uZGFyeXtmbG9hdDpsZWZ0fS5ydGwgI2ZzX2Nvbm5lY3QgLmZzLXBlcm1pc3Npb25zIHVsIGxpIGRpdnttYXJnaW4tcmlnaHQ6NTVweDttYXJnaW4tbGVmdDowfS5ydGwgI2ZzX2Nvbm5lY3QgLmZzLXBlcm1pc3Npb25zIHVsIGxpIGkuZGFzaGljb25ze2Zsb2F0OnJpZ2h0fS5ydGwgI2ZzX2Nvbm5lY3QgLmZzLXZpc3VhbCAuZnMtc2l0ZS1pY29ue3JpZ2h0OjIwcHg7bGVmdDphdXRvfS5ydGwgI2ZzX2Nvbm5lY3QgLmZzLXZpc3VhbCAuZnMtY29ubmVjdC1sb2dve3JpZ2h0OmF1dG87bGVmdDoyMHB4fSNmc190aGVtZV9jb25uZWN0X3dyYXBwZXJ7cG9zaXRpb246Zml4ZWQ7dG9wOjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTt6LWluZGV4Ojk5OTkwO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjc1KTt0ZXh0LWFsaWduOmNlbnRlcjtvdmVyZmxvdy15OmF1dG99I2ZzX3RoZW1lX2Nvbm5lY3Rfd3JhcHBlcjpiZWZvcmV7Y29udGVudDpcIlwiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtoZWlnaHQ6MTAwJX0jZnNfdGhlbWVfY29ubmVjdF93cmFwcGVyPmJ1dHRvbi5jbG9zZXtjb2xvcjp3aGl0ZTtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6NDBweDt3aWR0aDo0MHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7Ym9yZGVyOjA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDt0b3A6MzJweH0jZnNfdGhlbWVfY29ubmVjdF93cmFwcGVyICNmc19jb25uZWN0e3RvcDowO3RleHQtYWxpZ246bGVmdDtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bWFyZ2luLXRvcDo1MnB4O21hcmdpbi1ib3R0b206MjBweH0jZnNfdGhlbWVfY29ubmVjdF93cmFwcGVyICNmc19jb25uZWN0IC5mcy10ZXJtc3tiYWNrZ3JvdW5kOnJnYmEoMTQwLDE0MCwxNDAsMC42NCl9I2ZzX3RoZW1lX2Nvbm5lY3Rfd3JhcHBlciAjZnNfY29ubmVjdCAuZnMtdGVybXMsI2ZzX3RoZW1lX2Nvbm5lY3Rfd3JhcHBlciAjZnNfY29ubmVjdCAuZnMtdGVybXMgYXtjb2xvcjojYzVjNWM1fS53cC1wb2ludGVyLWNvbnRlbnQgI2ZzX2Nvbm5lY3R7bWFyZ2luOjA7LW1vei1ib3gtc2hhZG93Om5vbmU7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lfS5mcy1vcHQtaW4tcG9pbnRlciAud3AtcG9pbnRlci1jb250ZW50e3BhZGRpbmc6MH0uZnMtb3B0LWluLXBvaW50ZXIud3AtcG9pbnRlci10b3AgLndwLXBvaW50ZXItYXJyb3d7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZGZkZmRmfS5mcy1vcHQtaW4tcG9pbnRlci53cC1wb2ludGVyLXRvcCAud3AtcG9pbnRlci1hcnJvdy1pbm5lcntib3JkZXItYm90dG9tLWNvbG9yOiNmYWZhZmF9LmZzLW9wdC1pbi1wb2ludGVyLndwLXBvaW50ZXItYm90dG9tIC53cC1wb2ludGVyLWFycm93e2JvcmRlci10b3AtY29sb3I6I2RmZGZkZn0uZnMtb3B0LWluLXBvaW50ZXIud3AtcG9pbnRlci1ib3R0b20gLndwLXBvaW50ZXItYXJyb3ctaW5uZXJ7Ym9yZGVyLXRvcC1jb2xvcjojZmFmYWZhfS5mcy1vcHQtaW4tcG9pbnRlci53cC1wb2ludGVyLWxlZnQgLndwLXBvaW50ZXItYXJyb3d7Ym9yZGVyLXJpZ2h0LWNvbG9yOiNkZmRmZGZ9LmZzLW9wdC1pbi1wb2ludGVyLndwLXBvaW50ZXItbGVmdCAud3AtcG9pbnRlci1hcnJvdy1pbm5lcntib3JkZXItcmlnaHQtY29sb3I6I2ZhZmFmYX0uZnMtb3B0LWluLXBvaW50ZXIud3AtcG9pbnRlci1yaWdodCAud3AtcG9pbnRlci1hcnJvd3tib3JkZXItbGVmdC1jb2xvcjojZGZkZmRmfS5mcy1vcHQtaW4tcG9pbnRlci53cC1wb2ludGVyLXJpZ2h0IC53cC1wb2ludGVyLWFycm93LWlubmVye2JvcmRlci1sZWZ0LWNvbG9yOiNmYWZhZmF9XG4iXX0= */
freemius/assets/css/admin/deactivation-feedback.css ADDED
@@ -0,0 +1,2 @@
 
 
1
+ .fs-modal{position:fixed;overflow:auto;height:100%;width:100%;top:0;z-index:100000;display:none;background:rgba(0,0,0,0.6)}.fs-modal .fs-modal-dialog{background:transparent;position:absolute;left:50%;margin-left:-298px;padding-bottom:30px;top:-100%;z-index:100001;width:596px}@media (max-width: 650px){.fs-modal .fs-modal-dialog{margin-left:-50%;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:10px;padding-right:10px;width:100%}.fs-modal .fs-modal-dialog .fs-modal-panel>h3>strong{font-size:1.3em}.fs-modal .fs-modal-dialog li.reason{margin-bottom:10px}.fs-modal .fs-modal-dialog li.reason .reason-input,.fs-modal .fs-modal-dialog li.reason .internal-message{margin-left:29px}.fs-modal .fs-modal-dialog li.reason label{display:table}.fs-modal .fs-modal-dialog li.reason label>span{display:table-cell;font-size:1.3em}}.fs-modal.active{display:block}.fs-modal.active:before{display:block}.fs-modal.active .fs-modal-dialog{top:10%}.fs-modal .fs-modal-body,.fs-modal .fs-modal-footer{border:0;background:#fefefe;padding:20px}.fs-modal .fs-modal-body{border-bottom:0}.fs-modal .fs-modal-body h2{font-size:20px}.fs-modal .fs-modal-body>div{margin-top:10px}.fs-modal .fs-modal-body>div h2{font-weight:bold;font-size:20px;margin-top:0}.fs-modal .fs-modal-footer{border-top:#eeeeee solid 1px;text-align:right}.fs-modal .fs-modal-footer>.button{margin:0 7px}.fs-modal .fs-modal-footer>.button:first-child{margin:0}.fs-modal .fs-modal-panel:not(.active){display:none}.fs-modal .reason-input,.fs-modal .internal-message{margin:3px 0 3px 22px}.fs-modal .reason-input input,.fs-modal .reason-input textarea,.fs-modal .internal-message input,.fs-modal .internal-message textarea{width:100%}.fs-modal li.reason.has-internal-message .internal-message{border:1px solid #ccc;padding:7px;display:none}body.has-fs-modal{overflow:hidden}#the-list .deactivate>.fs-slug{display:none}
2
+ /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRlYWN0aXZhdGlvbi1mZWVkYmFjay5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVSxlQUFlLGNBQWMsWUFBWSxXQUFXLE1BQU0sZUFBZSxhQUFhLDBCQUEwQixDQUFDLDJCQUEyQix1QkFBdUIsa0JBQWtCLFNBQVMsbUJBQW1CLG9CQUFvQixVQUFVLGVBQWUsV0FBVyxDQUFDLDBCQUEwQiwyQkFBMkIsaUJBQWlCLDhCQUFBLHNCQUFzQixrQkFBa0IsbUJBQW1CLFVBQVUsQ0FBQyxxREFBcUQsZUFBZSxDQUFDLHFDQUFxQyxrQkFBa0IsQ0FBQywwR0FBMEcsZ0JBQWdCLENBQUMsMkNBQTJDLGFBQWEsQ0FBQyxnREFBZ0QsbUJBQW1CLGVBQWUsQ0FBQyxDQUFDLGlCQUFpQixhQUFhLENBQUMsd0JBQXdCLGFBQWEsQ0FBQyxrQ0FBa0MsT0FBTyxDQUFDLG9EQUFvRCxTQUFTLG1CQUFtQixZQUFZLENBQUMseUJBQXlCLGVBQWUsQ0FBQyw0QkFBNEIsY0FBYyxDQUFDLDZCQUE2QixlQUFlLENBQUMsZ0NBQWdDLGlCQUFpQixlQUFlLFlBQVksQ0FBQywyQkFBMkIsNkJBQTZCLGdCQUFnQixDQUFDLG1DQUFtQyxZQUFZLENBQUMsK0NBQStDLFFBQVEsQ0FBQyx1Q0FBdUMsWUFBWSxDQUFDLG9EQUFvRCxxQkFBcUIsQ0FBQyxzSUFBc0ksVUFBVSxDQUFDLDJEQUEyRCxzQkFBc0IsWUFBWSxZQUFZLENBQUMsa0JBQWtCLGVBQWUsQ0FBQywrQkFBK0IsWUFBWSxDQUFDIiwiZmlsZSI6ImRlYWN0aXZhdGlvbi1mZWVkYmFjay5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZnMtbW9kYWx7cG9zaXRpb246Zml4ZWQ7b3ZlcmZsb3c6YXV0bztoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3RvcDowO3otaW5kZXg6MTAwMDAwO2Rpc3BsYXk6bm9uZTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC42KX0uZnMtbW9kYWwgLmZzLW1vZGFsLWRpYWxvZ3tiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0yOThweDtwYWRkaW5nLWJvdHRvbTozMHB4O3RvcDotMTAwJTt6LWluZGV4OjEwMDAwMTt3aWR0aDo1OTZweH1AbWVkaWEgKG1heC13aWR0aDogNjUwcHgpey5mcy1tb2RhbCAuZnMtbW9kYWwtZGlhbG9ne21hcmdpbi1sZWZ0Oi01MCU7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6MTBweDt3aWR0aDoxMDAlfS5mcy1tb2RhbCAuZnMtbW9kYWwtZGlhbG9nIC5mcy1tb2RhbC1wYW5lbD5oMz5zdHJvbmd7Zm9udC1zaXplOjEuM2VtfS5mcy1tb2RhbCAuZnMtbW9kYWwtZGlhbG9nIGxpLnJlYXNvbnttYXJnaW4tYm90dG9tOjEwcHh9LmZzLW1vZGFsIC5mcy1tb2RhbC1kaWFsb2cgbGkucmVhc29uIC5yZWFzb24taW5wdXQsLmZzLW1vZGFsIC5mcy1tb2RhbC1kaWFsb2cgbGkucmVhc29uIC5pbnRlcm5hbC1tZXNzYWdle21hcmdpbi1sZWZ0OjI5cHh9LmZzLW1vZGFsIC5mcy1tb2RhbC1kaWFsb2cgbGkucmVhc29uIGxhYmVse2Rpc3BsYXk6dGFibGV9LmZzLW1vZGFsIC5mcy1tb2RhbC1kaWFsb2cgbGkucmVhc29uIGxhYmVsPnNwYW57ZGlzcGxheTp0YWJsZS1jZWxsO2ZvbnQtc2l6ZToxLjNlbX19LmZzLW1vZGFsLmFjdGl2ZXtkaXNwbGF5OmJsb2NrfS5mcy1tb2RhbC5hY3RpdmU6YmVmb3Jle2Rpc3BsYXk6YmxvY2t9LmZzLW1vZGFsLmFjdGl2ZSAuZnMtbW9kYWwtZGlhbG9ne3RvcDoxMCV9LmZzLW1vZGFsIC5mcy1tb2RhbC1ib2R5LC5mcy1tb2RhbCAuZnMtbW9kYWwtZm9vdGVye2JvcmRlcjowO2JhY2tncm91bmQ6I2ZlZmVmZTtwYWRkaW5nOjIwcHh9LmZzLW1vZGFsIC5mcy1tb2RhbC1ib2R5e2JvcmRlci1ib3R0b206MH0uZnMtbW9kYWwgLmZzLW1vZGFsLWJvZHkgaDJ7Zm9udC1zaXplOjIwcHh9LmZzLW1vZGFsIC5mcy1tb2RhbC1ib2R5PmRpdnttYXJnaW4tdG9wOjEwcHh9LmZzLW1vZGFsIC5mcy1tb2RhbC1ib2R5PmRpdiBoMntmb250LXdlaWdodDpib2xkO2ZvbnQtc2l6ZToyMHB4O21hcmdpbi10b3A6MH0uZnMtbW9kYWwgLmZzLW1vZGFsLWZvb3Rlcntib3JkZXItdG9wOiNlZWVlZWUgc29saWQgMXB4O3RleHQtYWxpZ246cmlnaHR9LmZzLW1vZGFsIC5mcy1tb2RhbC1mb290ZXI+LmJ1dHRvbnttYXJnaW46MCA3cHh9LmZzLW1vZGFsIC5mcy1tb2RhbC1mb290ZXI+LmJ1dHRvbjpmaXJzdC1jaGlsZHttYXJnaW46MH0uZnMtbW9kYWwgLmZzLW1vZGFsLXBhbmVsOm5vdCguYWN0aXZlKXtkaXNwbGF5Om5vbmV9LmZzLW1vZGFsIC5yZWFzb24taW5wdXQsLmZzLW1vZGFsIC5pbnRlcm5hbC1tZXNzYWdle21hcmdpbjozcHggMCAzcHggMjJweH0uZnMtbW9kYWwgLnJlYXNvbi1pbnB1dCBpbnB1dCwuZnMtbW9kYWwgLnJlYXNvbi1pbnB1dCB0ZXh0YXJlYSwuZnMtbW9kYWwgLmludGVybmFsLW1lc3NhZ2UgaW5wdXQsLmZzLW1vZGFsIC5pbnRlcm5hbC1tZXNzYWdlIHRleHRhcmVhe3dpZHRoOjEwMCV9LmZzLW1vZGFsIGxpLnJlYXNvbi5oYXMtaW50ZXJuYWwtbWVzc2FnZSAuaW50ZXJuYWwtbWVzc2FnZXtib3JkZXI6MXB4IHNvbGlkICNjY2M7cGFkZGluZzo3cHg7ZGlzcGxheTpub25lfWJvZHkuaGFzLWZzLW1vZGFse292ZXJmbG93OmhpZGRlbn0jdGhlLWxpc3QgLmRlYWN0aXZhdGU+LmZzLXNsdWd7ZGlzcGxheTpub25lfVxuIl19 */
freemius/assets/css/admin/debug.css ADDED
@@ -0,0 +1,2 @@
 
 
1
+ .switch{position:relative;display:inline-block;font-size:1.6em;font-weight:bold;color:#ccc;text-shadow:0px 1px 1px rgba(255,255,255,0.8);height:18px;padding:6px 6px 5px 6px;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:4px;background:#ececec;-webkit-box-shadow:0px 0px 4px rgba(0,0,0,0.1),inset 0px 1px 3px 0px rgba(0,0,0,0.1);box-shadow:0px 0px 4px rgba(0,0,0,0.1),inset 0px 1px 3px 0px rgba(0,0,0,0.1);cursor:pointer}.switch span{display:inline-block;width:35px;text-transform:uppercase}.switch span.on{color:#6bc406}.switch .toggle{position:absolute;top:1px;width:37px;height:25px;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.3);border-radius:4px;background:#fff;background:-webkit-gradient(linear, left top, left bottom, from(#ececec), to(#fff));background:linear-gradient(top, #ececec 0%, #fff 100%);-webkit-box-shadow:inset 0px 1px 0px 0px rgba(255,255,255,0.5);box-shadow:inset 0px 1px 0px 0px rgba(255,255,255,0.5);z-index:999;-webkit-transition:all 0.15s ease-in-out;transition:all 0.15s ease-in-out}.switch.on .toggle{left:2%}.switch.off .toggle{left:54%}.switch.round{padding:0px 20px;border-radius:40px}.switch.round .toggle{border-radius:40px;width:14px;height:14px}.switch.round.on .toggle{left:3%;background:#6bc406}.switch.round.off .toggle{left:58%}.switch-label{font-size:20px;line-height:31px;margin:0 5px}#fs_log_book table{font-family:Consolas,Monaco,monospace;font-size:12px}#fs_log_book table th{color:#ccc}#fs_log_book table tr{background:#232525}#fs_log_book table tr.alternate{background:#2b2b2b}#fs_log_book table tr td.fs-col--logger{color:#5a7435}#fs_log_book table tr td.fs-col--type{color:#ffc861}#fs_log_book table tr td.fs-col--function{color:#a7b7b1;font-weight:bold}#fs_log_book table tr td.fs-col--message,#fs_log_book table tr td.fs-col--message a{color:#9a73ac !important}#fs_log_book table tr td.fs-col--file{color:#d07922}#fs_log_book table tr td.fs-col--timestamp{color:#6596be}
2
+ /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRlYnVnLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxRQUFRLGtCQUFrQixxQkFBcUIsZ0JBQWdCLGlCQUFpQixXQUFXLDhDQUE4QyxZQUFZLHdCQUF3QixzQkFBc0IsaUNBQWlDLGtCQUFrQixtQkFBbUIscUZBQUEsNkVBQTZFLGNBQWMsQ0FBQyxhQUFhLHFCQUFxQixXQUFXLHdCQUF3QixDQUFDLGdCQUFnQixhQUFhLENBQUMsZ0JBQWdCLGtCQUFrQixRQUFRLFdBQVcsWUFBWSxzQkFBc0IsaUNBQWlDLGtCQUFrQixnQkFBZ0IsQUFBNFYsb0ZBQXVELEFBQXZELHVEQUF1RCwrREFBQSx1REFBdUQsWUFBWSx5Q0FBd0osZ0NBQWdDLENBQUMsbUJBQW1CLE9BQU8sQ0FBQyxvQkFBb0IsUUFBUSxDQUFDLGNBQWMsaUJBQWlCLGtCQUFrQixDQUFDLHNCQUFzQixtQkFBbUIsV0FBVyxXQUFXLENBQUMseUJBQXlCLFFBQVEsa0JBQWtCLENBQUMsMEJBQTBCLFFBQVEsQ0FBQyxjQUFjLGVBQWUsaUJBQWlCLFlBQVksQ0FBQyxtQkFBbUIsc0NBQXNDLGNBQWMsQ0FBQyxzQkFBc0IsVUFBVSxDQUFDLHNCQUFzQixrQkFBa0IsQ0FBQyxnQ0FBZ0Msa0JBQWtCLENBQUMsd0NBQXdDLGFBQWEsQ0FBQyxzQ0FBc0MsYUFBYSxDQUFDLDBDQUEwQyxjQUFjLGdCQUFnQixDQUFDLG9GQUFvRix3QkFBd0IsQ0FBQyxzQ0FBc0MsYUFBYSxDQUFDLDJDQUEyQyxhQUFhLENBQUMiLCJmaWxlIjoiZGVidWcuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnN3aXRjaHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MS42ZW07Zm9udC13ZWlnaHQ6Ym9sZDtjb2xvcjojY2NjO3RleHQtc2hhZG93OjBweCAxcHggMXB4IHJnYmEoMjU1LDI1NSwyNTUsMC44KTtoZWlnaHQ6MThweDtwYWRkaW5nOjZweCA2cHggNXB4IDZweDtib3JkZXI6MXB4IHNvbGlkICNjY2M7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMik7Ym9yZGVyLXJhZGl1czo0cHg7YmFja2dyb3VuZDojZWNlY2VjO2JveC1zaGFkb3c6MHB4IDBweCA0cHggcmdiYSgwLDAsMCwwLjEpLGluc2V0IDBweCAxcHggM3B4IDBweCByZ2JhKDAsMCwwLDAuMSk7Y3Vyc29yOnBvaW50ZXJ9LnN3aXRjaCBzcGFue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjM1cHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS5zd2l0Y2ggc3Bhbi5vbntjb2xvcjojNmJjNDA2fS5zd2l0Y2ggLnRvZ2dsZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MXB4O3dpZHRoOjM3cHg7aGVpZ2h0OjI1cHg7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjMpO2JvcmRlci1yYWRpdXM6NHB4O2JhY2tncm91bmQ6I2ZmZjtiYWNrZ3JvdW5kOi1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI2VjZWNlYyAwJSwgI2ZmZiAxMDAlKTtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUsICNlY2VjZWMpLCBjb2xvci1zdG9wKDEwMCUsICNmZmYpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2VjZWNlYyAwJSwgI2ZmZiAxMDAlKTtiYWNrZ3JvdW5kOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNlY2VjZWMgMCUsICNmZmYgMTAwJSk7YmFja2dyb3VuZDotbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgI2VjZWNlYyAwJSwgI2ZmZiAxMDAlKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0b3AsICNlY2VjZWMgMCUsICNmZmYgMTAwJSk7Ym94LXNoYWRvdzppbnNldCAwcHggMXB4IDBweCAwcHggcmdiYSgyNTUsMjU1LDI1NSwwLjUpO3otaW5kZXg6OTk5Oy1tb3otdHJhbnNpdGlvbjphbGwgMC4xNXMgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjphbGwgMC4xNXMgZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb246YWxsIDAuMTVzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4xNXMgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjphbGwgMC4xNXMgZWFzZS1pbi1vdXR9LnN3aXRjaC5vbiAudG9nZ2xle2xlZnQ6MiV9LnN3aXRjaC5vZmYgLnRvZ2dsZXtsZWZ0OjU0JX0uc3dpdGNoLnJvdW5ke3BhZGRpbmc6MHB4IDIwcHg7Ym9yZGVyLXJhZGl1czo0MHB4fS5zd2l0Y2gucm91bmQgLnRvZ2dsZXtib3JkZXItcmFkaXVzOjQwcHg7d2lkdGg6MTRweDtoZWlnaHQ6MTRweH0uc3dpdGNoLnJvdW5kLm9uIC50b2dnbGV7bGVmdDozJTtiYWNrZ3JvdW5kOiM2YmM0MDZ9LnN3aXRjaC5yb3VuZC5vZmYgLnRvZ2dsZXtsZWZ0OjU4JX0uc3dpdGNoLWxhYmVse2ZvbnQtc2l6ZToyMHB4O2xpbmUtaGVpZ2h0OjMxcHg7bWFyZ2luOjAgNXB4fSNmc19sb2dfYm9vayB0YWJsZXtmb250LWZhbWlseTpDb25zb2xhcyxNb25hY28sbW9ub3NwYWNlO2ZvbnQtc2l6ZToxMnB4fSNmc19sb2dfYm9vayB0YWJsZSB0aHtjb2xvcjojY2NjfSNmc19sb2dfYm9vayB0YWJsZSB0cntiYWNrZ3JvdW5kOiMyMzI1MjV9I2ZzX2xvZ19ib29rIHRhYmxlIHRyLmFsdGVybmF0ZXtiYWNrZ3JvdW5kOiMyYjJiMmJ9I2ZzX2xvZ19ib29rIHRhYmxlIHRyIHRkLmZzLWNvbC0tbG9nZ2Vye2NvbG9yOiM1YTc0MzV9I2ZzX2xvZ19ib29rIHRhYmxlIHRyIHRkLmZzLWNvbC0tdHlwZXtjb2xvcjojZmZjODYxfSNmc19sb2dfYm9vayB0YWJsZSB0ciB0ZC5mcy1jb2wtLWZ1bmN0aW9ue2NvbG9yOiNhN2I3YjE7Zm9udC13ZWlnaHQ6Ym9sZH0jZnNfbG9nX2Jvb2sgdGFibGUgdHIgdGQuZnMtY29sLS1tZXNzYWdlLCNmc19sb2dfYm9vayB0YWJsZSB0ciB0ZC5mcy1jb2wtLW1lc3NhZ2UgYXtjb2xvcjojOWE3M2FjICFpbXBvcnRhbnR9I2ZzX2xvZ19ib29rIHRhYmxlIHRyIHRkLmZzLWNvbC0tZmlsZXtjb2xvcjojZDA3OTIyfSNmc19sb2dfYm9vayB0YWJsZSB0ciB0ZC5mcy1jb2wtLXRpbWVzdGFtcHtjb2xvcjojNjU5NmJlfVxuIl19 */
freemius/assets/css/admin/dialog-boxes.css ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ .fs-modal{position:fixed;overflow:auto;height:100%;width:100%;top:0;z-index:100000;display:none;background:rgba(0,0,0,0.6)}.fs-modal .fs-modal-dialog{background:transparent;position:absolute;left:50%;margin-left:-298px;padding-bottom:30px;top:-100%;z-index:100001;width:596px}@media (max-width: 650px){.fs-modal .fs-modal-dialog{margin-left:-50%;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:10px;padding-right:10px;width:100%}.fs-modal .fs-modal-dialog .fs-modal-panel>h3>strong{font-size:1.3em}}.fs-modal.active{display:block}.fs-modal.active:before{display:block}.fs-modal.active .fs-modal-dialog{top:10%}.fs-modal.fs-success .fs-modal-header{border-bottom-color:#46b450}.fs-modal.fs-success .fs-modal-body{background-color:#f7fff7}.fs-modal.fs-warn .fs-modal-header{border-bottom-color:#ffb900}.fs-modal.fs-warn .fs-modal-body{background-color:#fff8e5}.fs-modal.fs-error .fs-modal-header{border-bottom-color:#dc3232}.fs-modal.fs-error .fs-modal-body{background-color:#ffeaea}.fs-modal .fs-modal-body,.fs-modal .fs-modal-footer{border:0;background:#fefefe;padding:20px}.fs-modal .fs-modal-header{border-bottom:#eeeeee solid 1px;background:#fbfbfb;padding:15px 20px;position:relative;margin-bottom:-10px}.fs-modal .fs-modal-header h4{margin:0;padding:0;text-transform:uppercase;font-size:1.2em;font-weight:bold;color:#cacaca;text-shadow:1px 1px 1px #fff;letter-spacing:0.6px;-webkit-font-smoothing:antialiased}.fs-modal .fs-modal-header .fs-close{position:absolute;right:10px;top:12px;cursor:pointer;color:#bbb;border-radius:20px;padding:3px;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.fs-modal .fs-modal-header .fs-close:hover{color:#fff;background:#aaa}.fs-modal .fs-modal-header .fs-close .dashicons,.fs-modal .fs-modal-header .fs-close:hover .dashicons{text-decoration:none}.fs-modal .fs-modal-body{border-bottom:0}.fs-modal .fs-modal-body p{font-size:14px}.fs-modal .fs-modal-body h2{font-size:20px;line-height:1.5em}.fs-modal .fs-modal-body>div{margin-top:10px}.fs-modal .fs-modal-body>div h2{font-weight:bold;font-size:20px;margin-top:0}.fs-modal .fs-modal-footer{border-top:#eeeeee solid 1px;text-align:right}.fs-modal .fs-modal-footer>.button{margin:0 7px}.fs-modal .fs-modal-footer>.button:first-child{margin:0}.fs-modal .fs-modal-panel>.notice.inline{margin:0;display:none}.fs-modal .fs-modal-panel:not(.active){display:none}.rtl .fs-modal .fs-modal-header .fs-close{right:auto;left:20px}body.has-fs-modal{overflow:hidden}.fs-modal.fs-modal-deactivation-feedback .reason-input,.fs-modal.fs-modal-deactivation-feedback .internal-message{margin:3px 0 3px 22px}.fs-modal.fs-modal-deactivation-feedback .reason-input input,.fs-modal.fs-modal-deactivation-feedback .reason-input textarea,.fs-modal.fs-modal-deactivation-feedback .internal-message input,.fs-modal.fs-modal-deactivation-feedback .internal-message textarea{width:100%}.fs-modal.fs-modal-deactivation-feedback li.reason.has-internal-message .internal-message{border:1px solid #ccc;padding:7px;display:none}@media (max-width: 650px){.fs-modal.fs-modal-deactivation-feedback li.reason li.reason{margin-bottom:10px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .reason-input,.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .internal-message{margin-left:29px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label{display:table}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label>span{display:table-cell;font-size:1.3em}}.fs-modal.fs-modal-deactivation-feedback .anonymous-feedback-label{float:left}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel{margin-top:0 !important}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel h3{margin-top:0;line-height:1.5em}#the-list .deactivate>.fs-slug{display:none}.fs-modal.fs-modal-license-activation .fs-modal-body input.license_key{width:100%}#license_options_container table,#license_options_container table select,#license_options_container table #available_license_key{width:100%}#license_options_container table td:first-child{width:1%}#license_options_container table #other_license_key_container label{position:relative;top:6px;float:left;margin-right:5px}#license_options_container table #other_license_key_container div{overflow:hidden;width:auto;height:30px;display:block;top:2px;position:relative}#license_options_container table #other_license_key_container div input{margin:0}#sites_list_container td{cursor:pointer}#multisite_options_container{margin-top:10px;border:1px solid #ccc;padding:5px}#multisite_options_container a{text-decoration:none}#multisite_options_container a:focus{-webkit-box-shadow:none;box-shadow:none}#multisite_options_container a.selected{font-weight:bold}#multisite_options_container.apply-on-all-sites{border:0 none;padding:0}#multisite_options_container.apply-on-all-sites #all_sites_options{border-spacing:0}#multisite_options_container.apply-on-all-sites #all_sites_options td:not(:first-child){display:none}#multisite_options_container #sites_list_container{display:none;overflow:auto}#multisite_options_container #sites_list_container table td{border-top:1px solid #ccc;padding:4px 2px}.fs-modal.fs-modal-license-key-resend .email-address-container{overflow:hidden;padding-right:2px}.fs-modal.fs-modal-license-key-resend.fs-freemium input.email-address{width:300px}.fs-modal.fs-modal-license-key-resend.fs-freemium label{display:block;margin-bottom:10px}.fs-modal.fs-modal-license-key-resend.fs-premium input.email-address{width:100%}.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{float:right;margin-left:7px}@media (max-width: 650px){.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{margin-top:2px}}
2
+ .rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .input-container>.email-address-container{padding-left:2px;padding-right:0}.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{float:left;margin-right:7px;margin-left:0}a.show-license-resend-modal{margin-top:4px;display:inline-block}.fs-ajax-loader{position:relative;width:170px;height:20px;margin:auto}.fs-ajax-loader .fs-ajax-loader-bar{position:absolute;top:0;background-color:#0074a3;width:20px;height:20px;-webkit-animation-name:bounce_ajaxLoader;animation-name:bounce_ajaxLoader;-webkit-animation-duration:1.5s;animation-duration:1.5s;animation-iteration-count:infinite;-o-animation-iteration-count:infinite;-ms-animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;-moz-animation-iteration-count:infinite;-webkit-animation-direction:normal;animation-direction:normal;-webkit-transform:0.3;transform:0.3}.fs-ajax-loader .fs-ajax-loader-bar-1{left:0px;animation-delay:0.6s;-o-animation-delay:0.6s;-ms-animation-delay:0.6s;-webkit-animation-delay:0.6s;-moz-animation-delay:0.6s}.fs-ajax-loader .fs-ajax-loader-bar-2{left:19px;animation-delay:0.75s;-o-animation-delay:0.75s;-ms-animation-delay:0.75s;-webkit-animation-delay:0.75s;-moz-animation-delay:0.75s}.fs-ajax-loader .fs-ajax-loader-bar-3{left:38px;animation-delay:0.9s;-o-animation-delay:0.9s;-ms-animation-delay:0.9s;-webkit-animation-delay:0.9s;-moz-animation-delay:0.9s}.fs-ajax-loader .fs-ajax-loader-bar-4{left:57px;animation-delay:1.05s;-o-animation-delay:1.05s;-ms-animation-delay:1.05s;-webkit-animation-delay:1.05s;-moz-animation-delay:1.05s}.fs-ajax-loader .fs-ajax-loader-bar-5{left:76px;animation-delay:1.2s;-o-animation-delay:1.2s;-ms-animation-delay:1.2s;-webkit-animation-delay:1.2s;-moz-animation-delay:1.2s}.fs-ajax-loader .fs-ajax-loader-bar-6{left:95px;animation-delay:1.35s;-o-animation-delay:1.35s;-ms-animation-delay:1.35s;-webkit-animation-delay:1.35s;-moz-animation-delay:1.35s}.fs-ajax-loader .fs-ajax-loader-bar-7{left:114px;animation-delay:1.5s;-o-animation-delay:1.5s;-ms-animation-delay:1.5s;-webkit-animation-delay:1.5s;-moz-animation-delay:1.5s}.fs-ajax-loader .fs-ajax-loader-bar-8{left:133px;animation-delay:1.65s;-o-animation-delay:1.65s;-ms-animation-delay:1.65s;-webkit-animation-delay:1.65s;-moz-animation-delay:1.65s}@-webkit-keyframes bounce_ajaxLoader{0%{-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}@keyframes bounce_ajaxLoader{0%{-webkit-transform:scale(1);transform:scale(1);background-color:#0074a3}100%{-webkit-transform:scale(0.3);transform:scale(0.3);background-color:#fff}}.fs-modal-auto-install #request-filesystem-credentials-form h2,.fs-modal-auto-install #request-filesystem-credentials-form .request-filesystem-credentials-action-buttons{display:none}.fs-modal-auto-install #request-filesystem-credentials-form input[type=password],.fs-modal-auto-install #request-filesystem-credentials-form input[type=email],.fs-modal-auto-install #request-filesystem-credentials-form input[type=text]{-webkit-appearance:none;padding:10px 10px 5px 10px;width:300px;max-width:100%}.fs-modal-auto-install #request-filesystem-credentials-form>div,.fs-modal-auto-install #request-filesystem-credentials-form label,.fs-modal-auto-install #request-filesystem-credentials-form fieldset{width:300px;max-width:100%;margin:0 auto;display:block}
3
+ /*# sourceMappingURL=data:application/json;base64,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VyxZQUFZLHlDQUF5QyxpQ0FBZ0osZ0NBQWdDLHdCQUE0RyxtQ0FBbUMsc0NBQXNDLHVDQUF1QywyQ0FBMkMsd0NBQXdDLG1DQUFtQywyQkFBd0gsc0JBQTRFLGFBQWEsQ0FBQyxzQ0FBc0MsU0FBUyxxQkFBcUIsd0JBQXdCLHlCQUF5Qiw2QkFBNkIseUJBQXlCLENBQUMsc0NBQXNDLFVBQVUsc0JBQXNCLHlCQUF5QiwwQkFBMEIsOEJBQThCLDBCQUEwQixDQUFDLHNDQUFzQyxVQUFVLHFCQUFxQix3QkFBd0IseUJBQXlCLDZCQUE2Qix5QkFBeUIsQ0FBQyxzQ0FBc0MsVUFBVSxzQkFBc0IseUJBQXlCLDBCQUEwQiw4QkFBOEIsMEJBQTBCLENBQUMsc0NBQXNDLFVBQVUscUJBQXFCLHdCQUF3Qix5QkFBeUIsNkJBQTZCLHlCQUF5QixDQUFDLHNDQUFzQyxVQUFVLHNCQUFzQix5QkFBeUIsMEJBQTBCLDhCQUE4QiwwQkFBMEIsQ0FBQyxzQ0FBc0MsV0FBVyxxQkFBcUIsd0JBQXdCLHlCQUF5Qiw2QkFBNkIseUJBQXlCLENBQUMsc0NBQXNDLFdBQVcsc0JBQXNCLHlCQUF5QiwwQkFBMEIsOEJBQThCLDBCQUEwQixDQUFDLHFDQUFnZ0MsR0FBd0UsMkJBQTJCLG1CQUFtQix3QkFBd0IsQ0FBQyxLQUFnRiw2QkFBNkIscUJBQXFCLHFCQUFxQixDQUFDLENBQUMsNkJBQTZCLEdBQXdFLDJCQUEyQixtQkFBbUIsd0JBQXdCLENBQUMsS0FBZ0YsNkJBQTZCLHFCQUFxQixxQkFBcUIsQ0FBQyxDQUFDLDBLQUEwSyxZQUFZLENBQUMsNE9BQTRPLHdCQUF3QiwyQkFBMkIsWUFBWSxjQUFjLENBQUMsdU1BQXVNLFlBQVksZUFBZSxjQUFjLGFBQWEsQ0FBQyIsImZpbGUiOiJkaWFsb2ctYm94ZXMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmZzLW1vZGFse3Bvc2l0aW9uOmZpeGVkO292ZXJmbG93OmF1dG87aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTt0b3A6MDt6LWluZGV4OjEwMDAwMDtkaXNwbGF5Om5vbmU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNil9LmZzLW1vZGFsIC5mcy1tb2RhbC1kaWFsb2d7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTttYXJnaW4tbGVmdDotMjk4cHg7cGFkZGluZy1ib3R0b206MzBweDt0b3A6LTEwMCU7ei1pbmRleDoxMDAwMDE7d2lkdGg6NTk2cHh9QG1lZGlhIChtYXgtd2lkdGg6IDY1MHB4KXsuZnMtbW9kYWwgLmZzLW1vZGFsLWRpYWxvZ3ttYXJnaW4tbGVmdDotNTAlO2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nLWxlZnQ6MTBweDtwYWRkaW5nLXJpZ2h0OjEwcHg7d2lkdGg6MTAwJX0uZnMtbW9kYWwgLmZzLW1vZGFsLWRpYWxvZyAuZnMtbW9kYWwtcGFuZWw+aDM+c3Ryb25ne2ZvbnQtc2l6ZToxLjNlbX19LmZzLW1vZGFsLmFjdGl2ZXtkaXNwbGF5OmJsb2NrfS5mcy1tb2RhbC5hY3RpdmU6YmVmb3Jle2Rpc3BsYXk6YmxvY2t9LmZzLW1vZGFsLmFjdGl2ZSAuZnMtbW9kYWwtZGlhbG9ne3RvcDoxMCV9LmZzLW1vZGFsLmZzLXN1Y2Nlc3MgLmZzLW1vZGFsLWhlYWRlcntib3JkZXItYm90dG9tLWNvbG9yOiM0NmI0NTB9LmZzLW1vZGFsLmZzLXN1Y2Nlc3MgLmZzLW1vZGFsLWJvZHl7YmFja2dyb3VuZC1jb2xvcjojZjdmZmY3fS5mcy1tb2RhbC5mcy13YXJuIC5mcy1tb2RhbC1oZWFkZXJ7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZmZiOTAwfS5mcy1tb2RhbC5mcy13YXJuIC5mcy1tb2RhbC1ib2R5e2JhY2tncm91bmQtY29sb3I6I2ZmZjhlNX0uZnMtbW9kYWwuZnMtZXJyb3IgLmZzLW1vZGFsLWhlYWRlcntib3JkZXItYm90dG9tLWNvbG9yOiNkYzMyMzJ9LmZzLW1vZGFsLmZzLWVycm9yIC5mcy1tb2RhbC1ib2R5e2JhY2tncm91bmQtY29sb3I6I2ZmZWFlYX0uZnMtbW9kYWwgLmZzLW1vZGFsLWJvZHksLmZzLW1vZGFsIC5mcy1tb2RhbC1mb290ZXJ7Ym9yZGVyOjA7YmFja2dyb3VuZDojZmVmZWZlO3BhZGRpbmc6MjBweH0uZnMtbW9kYWwgLmZzLW1vZGFsLWhlYWRlcntib3JkZXItYm90dG9tOiNlZWVlZWUgc29saWQgMXB4O2JhY2tncm91bmQ6I2ZiZmJmYjtwYWRkaW5nOjE1cHggMjBweDtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tYm90dG9tOi0xMHB4fS5mcy1tb2RhbCAuZnMtbW9kYWwtaGVhZGVyIGg0e21hcmdpbjowO3BhZGRpbmc6MDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Zm9udC1zaXplOjEuMmVtO2ZvbnQtd2VpZ2h0OmJvbGQ7Y29sb3I6I2NhY2FjYTt0ZXh0LXNoYWRvdzoxcHggMXB4IDFweCAjZmZmO2xldHRlci1zcGFjaW5nOjAuNnB4Oy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWR9LmZzLW1vZGFsIC5mcy1tb2RhbC1oZWFkZXIgLmZzLWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjEwcHg7dG9wOjEycHg7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6I2JiYjstbW96LWJvcmRlci1yYWRpdXM6MjBweDstd2Via2l0LWJvcmRlci1yYWRpdXM6MjBweDtib3JkZXItcmFkaXVzOjIwcHg7cGFkZGluZzozcHg7LW1vei10cmFuc2l0aW9uOmFsbCAwLjJzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246YWxsIDAuMnMgZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb246YWxsIDAuMnMgZWFzZS1pbi1vdXQ7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjJzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246YWxsIDAuMnMgZWFzZS1pbi1vdXR9LmZzLW1vZGFsIC5mcy1tb2RhbC1oZWFkZXIgLmZzLWNsb3NlOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZDojYWFhfS5mcy1tb2RhbCAuZnMtbW9kYWwtaGVhZGVyIC5mcy1jbG9zZSAuZGFzaGljb25zLC5mcy1tb2RhbCAuZnMtbW9kYWwtaGVhZGVyIC5mcy1jbG9zZTpob3ZlciAuZGFzaGljb25ze3RleHQtZGVjb3JhdGlvbjpub25lfS5mcy1tb2RhbCAuZnMtbW9kYWwtYm9keXtib3JkZXItYm90dG9tOjB9LmZzLW1vZGFsIC5mcy1tb2RhbC1ib2R5IHB7Zm9udC1zaXplOjE0cHh9LmZzLW1vZGFsIC5mcy1tb2RhbC1ib2R5IGgye2ZvbnQtc2l6ZToyMHB4O2xpbmUtaGVpZ2h0OjEuNWVtfS5mcy1tb2RhbCAuZnMtbW9kYWwtYm9keT5kaXZ7bWFyZ2luLXRvcDoxMHB4fS5mcy1tb2RhbCAuZnMtbW9kYWwtYm9keT5kaXYgaDJ7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXNpemU6MjBweDttYXJnaW4tdG9wOjB9LmZzLW1vZGFsIC5mcy1tb2RhbC1mb290ZXJ7Ym9yZGVyLXRvcDojZWVlZWVlIHNvbGlkIDFweDt0ZXh0LWFsaWduOnJpZ2h0fS5mcy1tb2RhbCAuZnMtbW9kYWwtZm9vdGVyPi5idXR0b257bWFyZ2luOjAgN3B4fS5mcy1tb2RhbCAuZnMtbW9kYWwtZm9vdGVyPi5idXR0b246Zmlyc3QtY2hpbGR7bWFyZ2luOjB9LmZzLW1vZGFsIC5mcy1tb2RhbC1wYW5lbD4ubm90aWNlLmlubGluZXttYXJnaW46MDtkaXNwbGF5Om5vbmV9LmZzLW1vZGFsIC5mcy1tb2RhbC1wYW5lbDpub3QoLmFjdGl2ZSl7ZGlzcGxheTpub25lfS5ydGwgLmZzLW1vZGFsIC5mcy1tb2RhbC1oZWFkZXIgLmZzLWNsb3Nle3JpZ2h0OmF1dG87bGVmdDoyMHB4fWJvZHkuaGFzLWZzLW1vZGFse292ZXJmbG93OmhpZGRlbn0uZnMtbW9kYWwuZnMtbW9kYWwtZGVhY3RpdmF0aW9uLWZlZWRiYWNrIC5yZWFzb24taW5wdXQsLmZzLW1vZGFsLmZzLW1vZGFsLWRlYWN0aXZhdGlvbi1mZWVkYmFjayAuaW50ZXJuYWwtbWVzc2FnZXttYXJnaW46M3B4IDAgM3B4IDIycHh9LmZzLW1vZGFsLmZzLW1vZGFsLWRlYWN0aXZhdGlvbi1mZWVkYmFjayAucmVhc29uLWlucHV0IGlucHV0LC5mcy1tb2RhbC5mcy1tb2RhbC1kZWFjdGl2YXRpb24tZmVlZGJhY2sgLnJlYXNvbi1pbnB1dCB0ZXh0YXJlYSwuZnMtbW9kYWwuZnMtbW9kYWwtZGVhY3RpdmF0aW9uLWZlZWRiYWNrIC5pbnRlcm5hbC1tZXNzYWdlIGlucHV0LC5mcy1tb2RhbC5mcy1tb2RhbC1kZWFjdGl2YXRpb24tZmVlZGJhY2sgLmludGVybmFsLW1lc3NhZ2UgdGV4dGFyZWF7d2lkdGg6MTAwJX0uZnMtbW9kYWwuZnMtbW9kYWwtZGVhY3RpdmF0aW9uLWZlZWRiYWNrIGxpLnJlYXNvbi5oYXMtaW50ZXJuYWwtbWVzc2FnZSAuaW50ZXJuYWwtbWVzc2FnZXtib3JkZXI6MXB4IHNvbGlkICNjY2M7cGFkZGluZzo3cHg7ZGlzcGxheTpub25lfUBtZWRpYSAobWF4LXdpZHRoOiA2NTBweCl7LmZzLW1vZGFsLmZzLW1vZGFsLWRlYWN0aXZhdGlvbi1mZWVkYmFjayBsaS5yZWFzb24gbGkucmVhc29ue21hcmdpbi1ib3R0b206MTBweH0uZnMtbW9kYWwuZnMtbW9kYWwtZGVhY3RpdmF0aW9uLWZlZWRiYWNrIGxpLnJlYXNvbiBsaS5yZWFzb24gLnJlYXNvbi1pbnB1dCwuZnMtbW9kYWwuZnMtbW9kYWwtZGVhY3RpdmF0aW9uLWZlZWRiYWNrIGxpLnJlYXNvbiBsaS5yZWFzb24gLmludGVybmFsLW1lc3NhZ2V7bWFyZ2luLWxlZnQ6MjlweH0uZnMtbW9kYWwuZnMtbW9kYWwtZGVhY3RpdmF0aW9uLWZlZWRiYWNrIGxpLnJlYXNvbiBsaS5yZWFzb24gbGFiZWx7ZGlzcGxheTp0YWJsZX0uZnMtbW9kYWwuZnMtbW9kYWwtZGVhY3RpdmF0aW9uLWZlZWRiYWNrIGxpLnJlYXNvbiBsaS5yZWFzb24gbGFiZWw+c3BhbntkaXNwbGF5OnRhYmxlLWNlbGw7Zm9udC1zaXplOjEuM2VtfX0uZnMtbW9kYWwuZnMtbW9kYWwtZGVhY3RpdmF0aW9uLWZlZWRiYWNrIC5hbm9ueW1vdXMtZmVlZGJhY2stbGFiZWx7ZmxvYXQ6bGVmdH0uZnMtbW9kYWwuZnMtbW9kYWwtZGVhY3RpdmF0aW9uLWZlZWRiYWNrIC5mcy1tb2RhbC1wYW5lbHttYXJnaW4tdG9wOjAgIWltcG9ydGFudH0uZnMtbW9kYWwuZnMtbW9kYWwtZGVhY3RpdmF0aW9uLWZlZWRiYWNrIC5mcy1tb2RhbC1wYW5lbCBoM3ttYXJnaW4tdG9wOjA7bGluZS1oZWlnaHQ6MS41ZW19I3RoZS1saXN0IC5kZWFjdGl2YXRlPi5mcy1zbHVne2Rpc3BsYXk6bm9uZX0uZnMtbW9kYWwuZnMtbW9kYWwtbGljZW5zZS1hY3RpdmF0aW9uIC5mcy1tb2RhbC1ib2R5IGlucHV0LmxpY2Vuc2Vfa2V5e3dpZHRoOjEwMCV9I2xpY2Vuc2Vfb3B0aW9uc19jb250YWluZXIgdGFibGUsI2xpY2Vuc2Vfb3B0aW9uc19jb250YWluZXIgdGFibGUgc2VsZWN0LCNsaWNlbnNlX29wdGlvbnNfY29udGFpbmVyIHRhYmxlICNhdmFpbGFibGVfbGljZW5zZV9rZXl7d2lkdGg6MTAwJX0jbGljZW5zZV9vcHRpb25zX2NvbnRhaW5lciB0YWJsZSB0ZDpmaXJzdC1jaGlsZHt3aWR0aDoxJX0jbGljZW5zZV9vcHRpb25zX2NvbnRhaW5lciB0YWJsZSAjb3RoZXJfbGljZW5zZV9rZXlfY29udGFpbmVyIGxhYmVse3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDo2cHg7ZmxvYXQ6bGVmdDttYXJnaW4tcmlnaHQ6NXB4fSNsaWNlbnNlX29wdGlvbnNfY29udGFpbmVyIHRhYmxlICNvdGhlcl9saWNlbnNlX2tleV9jb250YWluZXIgZGl2e292ZXJmbG93OmhpZGRlbjt3aWR0aDphdXRvO2hlaWdodDozMHB4O2Rpc3BsYXk6YmxvY2s7dG9wOjJweDtwb3NpdGlvbjpyZWxhdGl2ZX0jbGljZW5zZV9vcHRpb25zX2NvbnRhaW5lciB0YWJsZSAjb3RoZXJfbGljZW5zZV9rZXlfY29udGFpbmVyIGRpdiBpbnB1dHttYXJnaW46MH0jc2l0ZXNfbGlzdF9jb250YWluZXIgdGR7Y3Vyc29yOnBvaW50ZXJ9I211bHRpc2l0ZV9vcHRpb25zX2NvbnRhaW5lcnttYXJnaW4tdG9wOjEwcHg7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO3BhZGRpbmc6NXB4fSNtdWx0aXNpdGVfb3B0aW9uc19jb250YWluZXIgYXt0ZXh0LWRlY29yYXRpb246bm9uZX0jbXVsdGlzaXRlX29wdGlvbnNfY29udGFpbmVyIGE6Zm9jdXN7Ym94LXNoYWRvdzpub25lfSNtdWx0aXNpdGVfb3B0aW9uc19jb250YWluZXIgYS5zZWxlY3RlZHtmb250LXdlaWdodDpib2xkfSNtdWx0aXNpdGVfb3B0aW9uc19jb250YWluZXIuYXBwbHktb24tYWxsLXNpdGVze2JvcmRlcjowIG5vbmU7cGFkZGluZzowfSNtdWx0aXNpdGVfb3B0aW9uc19jb250YWluZXIuYXBwbHktb24tYWxsLXNpdGVzICNhbGxfc2l0ZXNfb3B0aW9uc3tib3JkZXItc3BhY2luZzowfSNtdWx0aXNpdGVfb3B0aW9uc19jb250YWluZXIuYXBwbHktb24tYWxsLXNpdGVzICNhbGxfc2l0ZXNfb3B0aW9ucyB0ZDpub3QoOmZpcnN0LWNoaWxkKXtkaXNwbGF5Om5vbmV9I211bHRpc2l0ZV9vcHRpb25zX2NvbnRhaW5lciAjc2l0ZXNfbGlzdF9jb250YWluZXJ7ZGlzcGxheTpub25lO292ZXJmbG93OmF1dG99I211bHRpc2l0ZV9vcHRpb25zX2NvbnRhaW5lciAjc2l0ZXNfbGlzdF9jb250YWluZXIgdGFibGUgdGR7Ym9yZGVyLXRvcDoxcHggc29saWQgI2NjYztwYWRkaW5nOjRweCAycHh9LmZzLW1vZGFsLmZzLW1vZGFsLWxpY2Vuc2Uta2V5LXJlc2VuZCAuZW1haWwtYWRkcmVzcy1jb250YWluZXJ7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctcmlnaHQ6MnB4fS5mcy1tb2RhbC5mcy1tb2RhbC1saWNlbnNlLWtleS1yZXNlbmQuZnMtZnJlZW1pdW0gaW5wdXQuZW1haWwtYWRkcmVzc3t3aWR0aDozMDBweH0uZnMtbW9kYWwuZnMtbW9kYWwtbGljZW5zZS1rZXktcmVzZW5kLmZzLWZyZWVtaXVtIGxhYmVse2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbToxMHB4fS5mcy1tb2RhbC5mcy1tb2RhbC1saWNlbnNlLWtleS1yZXNlbmQuZnMtcHJlbWl1bSBpbnB1dC5lbWFpbC1hZGRyZXNze3dpZHRoOjEwMCV9LmZzLW1vZGFsLmZzLW1vZGFsLWxpY2Vuc2Uta2V5LXJlc2VuZC5mcy1wcmVtaXVtIC5idXR0b24tY29udGFpbmVye2Zsb2F0OnJpZ2h0O21hcmdpbi1sZWZ0OjdweH1AbWVkaWEgKG1heC13aWR0aDogNjUwcHgpey5mcy1tb2RhbC5mcy1tb2RhbC1saWNlbnNlLWtleS1yZXNlbmQuZnMtcHJlbWl1bSAuYnV0dG9uLWNvbnRhaW5lcnttYXJnaW4tdG9wOjJweH19XG4ucnRsIC5mcy1tb2RhbC5mcy1tb2RhbC1saWNlbnNlLWtleS1yZXNlbmQgLmZzLW1vZGFsLWJvZHkgLmlucHV0LWNvbnRhaW5lcj4uZW1haWwtYWRkcmVzcy1jb250YWluZXJ7cGFkZGluZy1sZWZ0OjJweDtwYWRkaW5nLXJpZ2h0OjB9LnJ0bCAuZnMtbW9kYWwuZnMtbW9kYWwtbGljZW5zZS1rZXktcmVzZW5kIC5mcy1tb2RhbC1ib2R5IC5idXR0b24tY29udGFpbmVye2Zsb2F0OmxlZnQ7bWFyZ2luLXJpZ2h0OjdweDttYXJnaW4tbGVmdDowfWEuc2hvdy1saWNlbnNlLXJlc2VuZC1tb2RhbHttYXJnaW4tdG9wOjRweDtkaXNwbGF5OmlubGluZS1ibG9ja30uZnMtYWpheC1sb2FkZXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTcwcHg7aGVpZ2h0OjIwcHg7bWFyZ2luOmF1dG99LmZzLWFqYXgtbG9hZGVyIC5mcy1hamF4LWxvYWRlci1iYXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7YmFja2dyb3VuZC1jb2xvcjojMDA3NGEzO3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpib3VuY2VfYWpheExvYWRlcjstbW96LWFuaW1hdGlvbi1uYW1lOmJvdW5jZV9hamF4TG9hZGVyOy1tcy1hbmltYXRpb24tbmFtZTpib3VuY2VfYWpheExvYWRlcjstby1hbmltYXRpb24tbmFtZTpib3VuY2VfYWpheExvYWRlcjthbmltYXRpb24tbmFtZTpib3VuY2VfYWpheExvYWRlcjstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjoxLjVzOy1tb3otYW5pbWF0aW9uLWR1cmF0aW9uOjEuNXM7LW1zLWFuaW1hdGlvbi1kdXJhdGlvbjoxLjVzOy1vLWFuaW1hdGlvbi1kdXJhdGlvbjoxLjVzO2FuaW1hdGlvbi1kdXJhdGlvbjoxLjVzO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7LW8tYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTstbXMtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTstd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7LW1vei1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlOy13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjpub3JtYWw7LW1vei1hbmltYXRpb24tZGlyZWN0aW9uOm5vcm1hbDstbXMtYW5pbWF0aW9uLWRpcmVjdGlvbjpub3JtYWw7LW8tYW5pbWF0aW9uLWRpcmVjdGlvbjpub3JtYWw7YW5pbWF0aW9uLWRpcmVjdGlvbjpub3JtYWw7LW1vei10cmFuc2Zvcm06MC4zOy1vLXRyYW5zZm9ybTowLjM7LW1zLXRyYW5zZm9ybTowLjM7LXdlYmtpdC10cmFuc2Zvcm06MC4zO3RyYW5zZm9ybTowLjN9LmZzLWFqYXgtbG9hZGVyIC5mcy1hamF4LWxvYWRlci1iYXItMXtsZWZ0OjBweDthbmltYXRpb24tZGVsYXk6MC42czstby1hbmltYXRpb24tZGVsYXk6MC42czstbXMtYW5pbWF0aW9uLWRlbGF5OjAuNnM7LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6MC42czstbW96LWFuaW1hdGlvbi1kZWxheTowLjZzfS5mcy1hamF4LWxvYWRlciAuZnMtYWpheC1sb2FkZXItYmFyLTJ7bGVmdDoxOXB4O2FuaW1hdGlvbi1kZWxheTowLjc1czstby1hbmltYXRpb24tZGVsYXk6MC43NXM7LW1zLWFuaW1hdGlvbi1kZWxheTowLjc1czstd2Via2l0LWFuaW1hdGlvbi1kZWxheTowLjc1czstbW96LWFuaW1hdGlvbi1kZWxheTowLjc1c30uZnMtYWpheC1sb2FkZXIgLmZzLWFqYXgtbG9hZGVyLWJhci0ze2xlZnQ6MzhweDthbmltYXRpb24tZGVsYXk6MC45czstby1hbmltYXRpb24tZGVsYXk6MC45czstbXMtYW5pbWF0aW9uLWRlbGF5OjAuOXM7LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6MC45czstbW96LWFuaW1hdGlvbi1kZWxheTowLjlzfS5mcy1hamF4LWxvYWRlciAuZnMtYWpheC1sb2FkZXItYmFyLTR7bGVmdDo1N3B4O2FuaW1hdGlvbi1kZWxheToxLjA1czstby1hbmltYXRpb24tZGVsYXk6MS4wNXM7LW1zLWFuaW1hdGlvbi1kZWxheToxLjA1czstd2Via2l0LWFuaW1hdGlvbi1kZWxheToxLjA1czstbW96LWFuaW1hdGlvbi1kZWxheToxLjA1c30uZnMtYWpheC1sb2FkZXIgLmZzLWFqYXgtbG9hZGVyLWJhci01e2xlZnQ6NzZweDthbmltYXRpb24tZGVsYXk6MS4yczstby1hbmltYXRpb24tZGVsYXk6MS4yczstbXMtYW5pbWF0aW9uLWRlbGF5OjEuMnM7LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6MS4yczstbW96LWFuaW1hdGlvbi1kZWxheToxLjJzfS5mcy1hamF4LWxvYWRlciAuZnMtYWpheC1sb2FkZXItYmFyLTZ7bGVmdDo5NXB4O2FuaW1hdGlvbi1kZWxheToxLjM1czstby1hbmltYXRpb24tZGVsYXk6MS4zNXM7LW1zLWFuaW1hdGlvbi1kZWxheToxLjM1czstd2Via2l0LWFuaW1hdGlvbi1kZWxheToxLjM1czstbW96LWFuaW1hdGlvbi1kZWxheToxLjM1c30uZnMtYWpheC1sb2FkZXIgLmZzLWFqYXgtbG9hZGVyLWJhci03e2xlZnQ6MTE0cHg7YW5pbWF0aW9uLWRlbGF5OjEuNXM7LW8tYW5pbWF0aW9uLWRlbGF5OjEuNXM7LW1zLWFuaW1hdGlvbi1kZWxheToxLjVzOy13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjEuNXM7LW1vei1hbmltYXRpb24tZGVsYXk6MS41c30uZnMtYWpheC1sb2FkZXIgLmZzLWFqYXgtbG9hZGVyLWJhci04e2xlZnQ6MTMzcHg7YW5pbWF0aW9uLWRlbGF5OjEuNjVzOy1vLWFuaW1hdGlvbi1kZWxheToxLjY1czstbXMtYW5pbWF0aW9uLWRlbGF5OjEuNjVzOy13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjEuNjVzOy1tb3otYW5pbWF0aW9uLWRlbGF5OjEuNjVzfUAtbW96LWtleWZyYW1lcyBib3VuY2VfYWpheExvYWRlcnswJXstbW96LXRyYW5zZm9ybTpzY2FsZSgxKTstby10cmFuc2Zvcm06c2NhbGUoMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7YmFja2dyb3VuZC1jb2xvcjojMDA3NGEzfTEwMCV7LW1vei10cmFuc2Zvcm06c2NhbGUoMC4zKTstby10cmFuc2Zvcm06c2NhbGUoMC4zKTstbXMtdHJhbnNmb3JtOnNjYWxlKDAuMyk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMC4zKTt0cmFuc2Zvcm06c2NhbGUoMC4zKTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9fUAtbXMta2V5ZnJhbWVzIGJvdW5jZV9hamF4TG9hZGVyezAley1tb3otdHJhbnNmb3JtOnNjYWxlKDEpOy1vLXRyYW5zZm9ybTpzY2FsZSgxKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEpOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDc0YTN9MTAwJXstbW96LXRyYW5zZm9ybTpzY2FsZSgwLjMpOy1vLXRyYW5zZm9ybTpzY2FsZSgwLjMpOy1tcy10cmFuc2Zvcm06c2NhbGUoMC4zKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwLjMpO3RyYW5zZm9ybTpzY2FsZSgwLjMpO2JhY2tncm91bmQtY29sb3I6I2ZmZn19QC1vLWtleWZyYW1lcyBib3VuY2VfYWpheExvYWRlcnswJXstbW96LXRyYW5zZm9ybTpzY2FsZSgxKTstby10cmFuc2Zvcm06c2NhbGUoMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7YmFja2dyb3VuZC1jb2xvcjojMDA3NGEzfTEwMCV7LW1vei10cmFuc2Zvcm06c2NhbGUoMC4zKTstby10cmFuc2Zvcm06c2NhbGUoMC4zKTstbXMtdHJhbnNmb3JtOnNjYWxlKDAuMyk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMC4zKTt0cmFuc2Zvcm06c2NhbGUoMC4zKTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9fUAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VfYWpheExvYWRlcnswJXstbW96LXRyYW5zZm9ybTpzY2FsZSgxKTstby10cmFuc2Zvcm06c2NhbGUoMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7YmFja2dyb3VuZC1jb2xvcjojMDA3NGEzfTEwMCV7LW1vei10cmFuc2Zvcm06c2NhbGUoMC4zKTstby10cmFuc2Zvcm06c2NhbGUoMC4zKTstbXMtdHJhbnNmb3JtOnNjYWxlKDAuMyk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMC4zKTt0cmFuc2Zvcm06c2NhbGUoMC4zKTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9fUBrZXlmcmFtZXMgYm91bmNlX2FqYXhMb2FkZXJ7MCV7LW1vei10cmFuc2Zvcm06c2NhbGUoMSk7LW8tdHJhbnNmb3JtOnNjYWxlKDEpOy1tcy10cmFuc2Zvcm06c2NhbGUoMSk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpO2JhY2tncm91bmQtY29sb3I6IzAwNzRhM30xMDAley1tb3otdHJhbnNmb3JtOnNjYWxlKDAuMyk7LW8tdHJhbnNmb3JtOnNjYWxlKDAuMyk7LW1zLXRyYW5zZm9ybTpzY2FsZSgwLjMpOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDAuMyk7dHJhbnNmb3JtOnNjYWxlKDAuMyk7YmFja2dyb3VuZC1jb2xvcjojZmZmfX0uZnMtbW9kYWwtYXV0by1pbnN0YWxsICNyZXF1ZXN0LWZpbGVzeXN0ZW0tY3JlZGVudGlhbHMtZm9ybSBoMiwuZnMtbW9kYWwtYXV0by1pbnN0YWxsICNyZXF1ZXN0LWZpbGVzeXN0ZW0tY3JlZGVudGlhbHMtZm9ybSAucmVxdWVzdC1maWxlc3lzdGVtLWNyZWRlbnRpYWxzLWFjdGlvbi1idXR0b25ze2Rpc3BsYXk6bm9uZX0uZnMtbW9kYWwtYXV0by1pbnN0YWxsICNyZXF1ZXN0LWZpbGVzeXN0ZW0tY3JlZGVudGlhbHMtZm9ybSBpbnB1dFt0eXBlPXBhc3N3b3JkXSwuZnMtbW9kYWwtYXV0by1pbnN0YWxsICNyZXF1ZXN0LWZpbGVzeXN0ZW0tY3JlZGVudGlhbHMtZm9ybSBpbnB1dFt0eXBlPWVtYWlsXSwuZnMtbW9kYWwtYXV0by1pbnN0YWxsICNyZXF1ZXN0LWZpbGVzeXN0ZW0tY3JlZGVudGlhbHMtZm9ybSBpbnB1dFt0eXBlPXRleHRdey13ZWJraXQtYXBwZWFyYW5jZTpub25lO3BhZGRpbmc6MTBweCAxMHB4IDVweCAxMHB4O3dpZHRoOjMwMHB4O21heC13aWR0aDoxMDAlfS5mcy1tb2RhbC1hdXRvLWluc3RhbGwgI3JlcXVlc3QtZmlsZXN5c3RlbS1jcmVkZW50aWFscy1mb3JtPmRpdiwuZnMtbW9kYWwtYXV0by1pbnN0YWxsICNyZXF1ZXN0LWZpbGVzeXN0ZW0tY3JlZGVudGlhbHMtZm9ybSBsYWJlbCwuZnMtbW9kYWwtYXV0by1pbnN0YWxsICNyZXF1ZXN0LWZpbGVzeXN0ZW0tY3JlZGVudGlhbHMtZm9ybSBmaWVsZHNldHt3aWR0aDozMDBweDttYXgtd2lkdGg6MTAwJTttYXJnaW46MCBhdXRvO2Rpc3BsYXk6YmxvY2t9XG4iXX0= */
freemius/assets/css/admin/gdpr-optin-notice.css ADDED
@@ -0,0 +1,2 @@
 
 
1
+ .fs-notice[data-id^="gdpr_optin_actions"] .underlined{text-decoration:underline}.fs-notice[data-id^="gdpr_optin_actions"] ul .button,.fs-notice[data-id^="gdpr_optin_actions"] ul .action-description{vertical-align:middle}.fs-notice[data-id^="gdpr_optin_actions"] ul .action-description{display:inline-block;margin-left:3px}
2
+ /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdkcHItb3B0aW4tbm90aWNlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzREFBc0QseUJBQXlCLENBQUMsc0hBQXNILHFCQUFxQixDQUFDLGlFQUFpRSxxQkFBcUIsZUFBZSxDQUFDIiwiZmlsZSI6ImdkcHItb3B0aW4tbm90aWNlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5mcy1ub3RpY2VbZGF0YS1pZF49XCJnZHByX29wdGluX2FjdGlvbnNcIl0gLnVuZGVybGluZWR7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0uZnMtbm90aWNlW2RhdGEtaWRePVwiZ2Rwcl9vcHRpbl9hY3Rpb25zXCJdIHVsIC5idXR0b24sLmZzLW5vdGljZVtkYXRhLWlkXj1cImdkcHJfb3B0aW5fYWN0aW9uc1wiXSB1bCAuYWN0aW9uLWRlc2NyaXB0aW9ue3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZnMtbm90aWNlW2RhdGEtaWRePVwiZ2Rwcl9vcHRpbl9hY3Rpb25zXCJdIHVsIC5hY3Rpb24tZGVzY3JpcHRpb257ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWxlZnQ6M3B4fVxuIl19 */
freemius/assets/css/admin/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ // Hide file structure from users on unprotected servers.
freemius/assets/css/admin/license-activation.css ADDED
@@ -0,0 +1,2 @@
 
 
1
+ .fs-modal{position:fixed;overflow:auto;height:100%;width:100%;top:0;z-index:100000;display:none;background:rgba(0,0,0,0.6)}.fs-modal .fs-modal-dialog{background:transparent;position:absolute;left:50%;margin-left:-298px;padding-bottom:30px;top:-100%;z-index:100001;width:596px}@media (max-width: 650px){.fs-modal .fs-modal-dialog{margin-left:-50%;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:10px;padding-right:10px;width:100%}.fs-modal .fs-modal-dialog .fs-modal-panel>h3>strong{font-size:1.3em}}.fs-modal.active{display:block}.fs-modal.active:before{display:block}.fs-modal.active .fs-modal-dialog{top:10%}.fs-modal .fs-modal-body,.fs-modal .fs-modal-footer{border:0;background:#fefefe;padding:20px}.fs-modal .fs-modal-body{border-bottom:0}.fs-modal .fs-modal-body .license-activation-message{margin:0;display:none}.fs-modal .fs-modal-body input.license_key{width:100%}.fs-modal .fs-modal-body p{font-size:14px}.fs-modal .fs-modal-body h2{font-size:20px}.fs-modal .fs-modal-body>div{margin-top:10px}.fs-modal .fs-modal-body>div h2{font-weight:bold;font-size:20px;margin-top:0}.fs-modal .fs-modal-footer{border-top:#eeeeee solid 1px;text-align:right}.fs-modal .fs-modal-footer>.button{margin:0 7px}.fs-modal .fs-modal-footer>.button:first-child{margin:0}.fs-modal .fs-modal-panel:not(.active){display:none}body.has-fs-modal{overflow:hidden}
2
+ /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpY2Vuc2UtYWN0aXZhdGlvbi5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVSxlQUFlLGNBQWMsWUFBWSxXQUFXLE1BQU0sZUFBZSxhQUFhLDBCQUEwQixDQUFDLDJCQUEyQix1QkFBdUIsa0JBQWtCLFNBQVMsbUJBQW1CLG9CQUFvQixVQUFVLGVBQWUsV0FBVyxDQUFDLDBCQUEwQiwyQkFBMkIsaUJBQWlCLDhCQUFBLHNCQUFzQixrQkFBa0IsbUJBQW1CLFVBQVUsQ0FBQyxxREFBcUQsZUFBZSxDQUFDLENBQUMsaUJBQWlCLGFBQWEsQ0FBQyx3QkFBd0IsYUFBYSxDQUFDLGtDQUFrQyxPQUFPLENBQUMsb0RBQW9ELFNBQVMsbUJBQW1CLFlBQVksQ0FBQyx5QkFBeUIsZUFBZSxDQUFDLHFEQUFxRCxTQUFTLFlBQVksQ0FBQywyQ0FBMkMsVUFBVSxDQUFDLDJCQUEyQixjQUFjLENBQUMsNEJBQTRCLGNBQWMsQ0FBQyw2QkFBNkIsZUFBZSxDQUFDLGdDQUFnQyxpQkFBaUIsZUFBZSxZQUFZLENBQUMsMkJBQTJCLDZCQUE2QixnQkFBZ0IsQ0FBQyxtQ0FBbUMsWUFBWSxDQUFDLCtDQUErQyxRQUFRLENBQUMsdUNBQXVDLFlBQVksQ0FBQyxrQkFBa0IsZUFBZSxDQUFDIiwiZmlsZSI6ImxpY2Vuc2UtYWN0aXZhdGlvbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZnMtbW9kYWx7cG9zaXRpb246Zml4ZWQ7b3ZlcmZsb3c6YXV0bztoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3RvcDowO3otaW5kZXg6MTAwMDAwO2Rpc3BsYXk6bm9uZTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC42KX0uZnMtbW9kYWwgLmZzLW1vZGFsLWRpYWxvZ3tiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0yOThweDtwYWRkaW5nLWJvdHRvbTozMHB4O3RvcDotMTAwJTt6LWluZGV4OjEwMDAwMTt3aWR0aDo1OTZweH1AbWVkaWEgKG1heC13aWR0aDogNjUwcHgpey5mcy1tb2RhbCAuZnMtbW9kYWwtZGlhbG9ne21hcmdpbi1sZWZ0Oi01MCU7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6MTBweDt3aWR0aDoxMDAlfS5mcy1tb2RhbCAuZnMtbW9kYWwtZGlhbG9nIC5mcy1tb2RhbC1wYW5lbD5oMz5zdHJvbmd7Zm9udC1zaXplOjEuM2VtfX0uZnMtbW9kYWwuYWN0aXZle2Rpc3BsYXk6YmxvY2t9LmZzLW1vZGFsLmFjdGl2ZTpiZWZvcmV7ZGlzcGxheTpibG9ja30uZnMtbW9kYWwuYWN0aXZlIC5mcy1tb2RhbC1kaWFsb2d7dG9wOjEwJX0uZnMtbW9kYWwgLmZzLW1vZGFsLWJvZHksLmZzLW1vZGFsIC5mcy1tb2RhbC1mb290ZXJ7Ym9yZGVyOjA7YmFja2dyb3VuZDojZmVmZWZlO3BhZGRpbmc6MjBweH0uZnMtbW9kYWwgLmZzLW1vZGFsLWJvZHl7Ym9yZGVyLWJvdHRvbTowfS5mcy1tb2RhbCAuZnMtbW9kYWwtYm9keSAubGljZW5zZS1hY3RpdmF0aW9uLW1lc3NhZ2V7bWFyZ2luOjA7ZGlzcGxheTpub25lfS5mcy1tb2RhbCAuZnMtbW9kYWwtYm9keSBpbnB1dC5saWNlbnNlX2tleXt3aWR0aDoxMDAlfS5mcy1tb2RhbCAuZnMtbW9kYWwtYm9keSBwe2ZvbnQtc2l6ZToxNHB4fS5mcy1tb2RhbCAuZnMtbW9kYWwtYm9keSBoMntmb250LXNpemU6MjBweH0uZnMtbW9kYWwgLmZzLW1vZGFsLWJvZHk+ZGl2e21hcmdpbi10b3A6MTBweH0uZnMtbW9kYWwgLmZzLW1vZGFsLWJvZHk+ZGl2IGgye2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zaXplOjIwcHg7bWFyZ2luLXRvcDowfS5mcy1tb2RhbCAuZnMtbW9kYWwtZm9vdGVye2JvcmRlci10b3A6I2VlZWVlZSBzb2xpZCAxcHg7dGV4dC1hbGlnbjpyaWdodH0uZnMtbW9kYWwgLmZzLW1vZGFsLWZvb3Rlcj4uYnV0dG9ue21hcmdpbjowIDdweH0uZnMtbW9kYWwgLmZzLW1vZGFsLWZvb3Rlcj4uYnV0dG9uOmZpcnN0LWNoaWxke21hcmdpbjowfS5mcy1tb2RhbCAuZnMtbW9kYWwtcGFuZWw6bm90KC5hY3RpdmUpe2Rpc3BsYXk6bm9uZX1ib2R5Lmhhcy1mcy1tb2RhbHtvdmVyZmxvdzpoaWRkZW59XG4iXX0= */
freemius/assets/css/customizer.css ADDED
@@ -0,0 +1,2 @@
 
 
1
+ #fs_customizer_upsell .fs-customizer-plan{padding:10px 20px 20px 20px;border-radius:3px;background:#fff}#fs_customizer_upsell .fs-customizer-plan h2{position:relative;margin:0;line-height:2em;text-transform:uppercase}#fs_customizer_upsell .fs-customizer-plan h2 .button-link{top:-2px}#fs_customizer_upsell .fs-feature{position:relative}#fs_customizer_upsell .dashicons-yes{color:#0085ba;font-size:2em;vertical-align:bottom;margin-left:-7px;margin-right:10px}.rtl #fs_customizer_upsell .dashicons-yes{margin-left:10px;margin-right:-7px}#fs_customizer_upsell .dashicons-editor-help{color:#bbb;cursor:help}#fs_customizer_upsell .dashicons-editor-help .fs-feature-desc{opacity:0;visibility:hidden;-webkit-transition:opacity 0.3s ease-in-out;transition:opacity 0.3s ease-in-out;position:absolute;background:#000;color:#fff;font-family:'arial', serif;font-size:12px;padding:10px;z-index:999999;bottom:100%;margin-bottom:5px;left:0;right:0;border-radius:5px;-webkit-box-shadow:1px 1px 1px rgba(0,0,0,0.2);box-shadow:1px 1px 1px rgba(0,0,0,0.2);line-height:1.3em;font-weight:bold;text-align:left}.rtl #fs_customizer_upsell .dashicons-editor-help .fs-feature-desc{text-align:right}#fs_customizer_upsell .dashicons-editor-help .fs-feature-desc::after{content:' ';display:block;width:0;height:0;border-style:solid;border-width:5px 5px 0 5px;border-color:#000 transparent transparent transparent;position:absolute;top:100%;left:21px}.rtl #fs_customizer_upsell .dashicons-editor-help .fs-feature-desc::after{right:21px;left:auto}#fs_customizer_upsell .dashicons-editor-help:hover .fs-feature-desc{visibility:visible;opacity:1}#fs_customizer_upsell .button-primary{display:block;text-align:center;margin-top:10px}#fs_customizer_support{display:block !important}#fs_customizer_support .button{float:right}#fs_customizer_support .button-group{width:100%;display:block;margin-top:10px}#fs_customizer_support .button-group .button{float:none;width:50%;text-align:center}
2
+ /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImN1c3RvbWl6ZXIuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBDQUEwQyw0QkFBNEIsa0JBQWtCLGVBQWUsQ0FBQyw2Q0FBNkMsa0JBQWtCLFNBQVMsZ0JBQWdCLHdCQUF3QixDQUFDLDBEQUEwRCxRQUFRLENBQUMsa0NBQWtDLGlCQUFpQixDQUFDLHFDQUFxQyxjQUFjLGNBQWMsc0JBQXNCLGlCQUFpQixpQkFBaUIsQ0FBQywwQ0FBMEMsaUJBQWlCLGlCQUFpQixDQUFDLDZDQUE2QyxXQUFXLFdBQVcsQ0FBQyw4REFBOEQsVUFBVSxrQkFBa0IsNENBQW9LLG9DQUFvQyxrQkFBa0IsZ0JBQWdCLFdBQVcsMkJBQTJCLGVBQWUsYUFBYSxlQUFlLFlBQVksa0JBQWtCLE9BQU8sUUFBUSxrQkFBbUUsK0NBQTJGLHVDQUF1QyxrQkFBa0IsaUJBQWlCLGVBQWUsQ0FBQyxtRUFBbUUsZ0JBQWdCLENBQUMscUVBQXFFLFlBQVksY0FBYyxRQUFRLFNBQVMsbUJBQW1CLDJCQUEyQixzREFBc0Qsa0JBQWtCLFNBQVMsU0FBUyxDQUFDLDBFQUEwRSxXQUFXLFNBQVMsQ0FBQyxvRUFBb0UsbUJBQW1CLFNBQVMsQ0FBQyxzQ0FBc0MsY0FBYyxrQkFBa0IsZUFBZSxDQUFDLHVCQUF1Qix3QkFBd0IsQ0FBQywrQkFBK0IsV0FBVyxDQUFDLHFDQUFxQyxXQUFXLGNBQWMsZUFBZSxDQUFDLDZDQUE2QyxXQUFXLFVBQVUsaUJBQWlCLENBQUMiLCJmaWxlIjoiY3VzdG9taXplci5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjZnNfY3VzdG9taXplcl91cHNlbGwgLmZzLWN1c3RvbWl6ZXItcGxhbntwYWRkaW5nOjEwcHggMjBweCAyMHB4IDIwcHg7Ym9yZGVyLXJhZGl1czozcHg7YmFja2dyb3VuZDojZmZmfSNmc19jdXN0b21pemVyX3Vwc2VsbCAuZnMtY3VzdG9taXplci1wbGFuIGgye3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjowO2xpbmUtaGVpZ2h0OjJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9I2ZzX2N1c3RvbWl6ZXJfdXBzZWxsIC5mcy1jdXN0b21pemVyLXBsYW4gaDIgLmJ1dHRvbi1saW5re3RvcDotMnB4fSNmc19jdXN0b21pemVyX3Vwc2VsbCAuZnMtZmVhdHVyZXtwb3NpdGlvbjpyZWxhdGl2ZX0jZnNfY3VzdG9taXplcl91cHNlbGwgLmRhc2hpY29ucy15ZXN7Y29sb3I6IzAwODViYTtmb250LXNpemU6MmVtO3ZlcnRpY2FsLWFsaWduOmJvdHRvbTttYXJnaW4tbGVmdDotN3B4O21hcmdpbi1yaWdodDoxMHB4fS5ydGwgI2ZzX2N1c3RvbWl6ZXJfdXBzZWxsIC5kYXNoaWNvbnMteWVze21hcmdpbi1sZWZ0OjEwcHg7bWFyZ2luLXJpZ2h0Oi03cHh9I2ZzX2N1c3RvbWl6ZXJfdXBzZWxsIC5kYXNoaWNvbnMtZWRpdG9yLWhlbHB7Y29sb3I6I2JiYjtjdXJzb3I6aGVscH0jZnNfY3VzdG9taXplcl91cHNlbGwgLmRhc2hpY29ucy1lZGl0b3ItaGVscCAuZnMtZmVhdHVyZS1kZXNje29wYWNpdHk6MDt2aXNpYmlsaXR5OmhpZGRlbjstbW96LXRyYW5zaXRpb246b3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246b3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOm9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246b3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQ6IzAwMDtjb2xvcjojZmZmO2ZvbnQtZmFtaWx5OidhcmlhbCcsIHNlcmlmO2ZvbnQtc2l6ZToxMnB4O3BhZGRpbmc6MTBweDt6LWluZGV4Ojk5OTk5OTtib3R0b206MTAwJTttYXJnaW4tYm90dG9tOjVweDtsZWZ0OjA7cmlnaHQ6MDstbW96LWJvcmRlci1yYWRpdXM6NXB4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czo1cHg7Ym9yZGVyLXJhZGl1czo1cHg7LW1vei1ib3gtc2hhZG93OjFweCAxcHggMXB4IHJnYmEoMCwwLDAsMC4yKTstd2Via2l0LWJveC1zaGFkb3c6MXB4IDFweCAxcHggcmdiYSgwLDAsMCwwLjIpO2JveC1zaGFkb3c6MXB4IDFweCAxcHggcmdiYSgwLDAsMCwwLjIpO2xpbmUtaGVpZ2h0OjEuM2VtO2ZvbnQtd2VpZ2h0OmJvbGQ7dGV4dC1hbGlnbjpsZWZ0fS5ydGwgI2ZzX2N1c3RvbWl6ZXJfdXBzZWxsIC5kYXNoaWNvbnMtZWRpdG9yLWhlbHAgLmZzLWZlYXR1cmUtZGVzY3t0ZXh0LWFsaWduOnJpZ2h0fSNmc19jdXN0b21pemVyX3Vwc2VsbCAuZGFzaGljb25zLWVkaXRvci1oZWxwIC5mcy1mZWF0dXJlLWRlc2M6OmFmdGVye2NvbnRlbnQ6JyAnO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MDtoZWlnaHQ6MDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjVweCA1cHggMCA1cHg7Ym9yZGVyLWNvbG9yOiMwMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwMCU7bGVmdDoyMXB4fS5ydGwgI2ZzX2N1c3RvbWl6ZXJfdXBzZWxsIC5kYXNoaWNvbnMtZWRpdG9yLWhlbHAgLmZzLWZlYXR1cmUtZGVzYzo6YWZ0ZXJ7cmlnaHQ6MjFweDtsZWZ0OmF1dG99I2ZzX2N1c3RvbWl6ZXJfdXBzZWxsIC5kYXNoaWNvbnMtZWRpdG9yLWhlbHA6aG92ZXIgLmZzLWZlYXR1cmUtZGVzY3t2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eToxfSNmc19jdXN0b21pemVyX3Vwc2VsbCAuYnV0dG9uLXByaW1hcnl7ZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tdG9wOjEwcHh9I2ZzX2N1c3RvbWl6ZXJfc3VwcG9ydHtkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnR9I2ZzX2N1c3RvbWl6ZXJfc3VwcG9ydCAuYnV0dG9ue2Zsb2F0OnJpZ2h0fSNmc19jdXN0b21pemVyX3N1cHBvcnQgLmJ1dHRvbi1ncm91cHt3aWR0aDoxMDAlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDoxMHB4fSNmc19jdXN0b21pemVyX3N1cHBvcnQgLmJ1dHRvbi1ncm91cCAuYnV0dG9ue2Zsb2F0Om5vbmU7d2lkdGg6NTAlO3RleHQtYWxpZ246Y2VudGVyfVxuIl19 */
freemius/assets/css/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ // Hide file structure from users on unprotected servers.
freemius/assets/img/addons-for-elementor.png ADDED
Binary file
freemius/assets/img/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ // Hide file structure from users on unprotected servers.
freemius/assets/img/plugin-icon.png ADDED
Binary file
freemius/assets/img/theme-icon.png ADDED
Binary file
freemius/assets/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ // Hide file structure from users on unprotected servers.
freemius/assets/js/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ // Hide file structure from users on unprotected servers.
freemius/assets/js/nojquery.ba-postmessage.js ADDED
@@ -0,0 +1,140 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * jQuery postMessage - v0.5 - 9/11/2009
3
+ * http://benalman.com/projects/jquery-postmessage-plugin/
4
+ *
5
+ * Copyright (c) 2009 "Cowboy" Ben Alman
6
+ * Dual licensed under the MIT and GPL licenses.
7
+ * http://benalman.com/about/license/
8
+ *
9
+ * Non-jQuery fork by Jeff Lee
10
+ *
11
+ * This fork consists of the following changes:
12
+ * 1. Basic code cleanup and restructuring, for legibility.
13
+ * 2. The `postMessage` and `receiveMessage` functions can be bound arbitrarily,
14
+ * in terms of both function names and object scope. Scope is specified by
15
+ * the the "this" context of NoJQueryPostMessageMixin();
16
+ * 3. I've removed the check for Opera 9.64, which used `$.browser`. There were
17
+ * at least three different GitHub users requesting the removal of this
18
+ * "Opera sniff" on the original project's Issues page, so I figured this
19
+ * would be a relatively safe change.
20
+ * 4. `postMessage` no longer uses `$.param` to serialize messages that are not
21
+ * strings. I actually prefer this structure anyway. `receiveMessage` does
22
+ * not implement a corresponding deserialization step, and as such it seems
23
+ * cleaner and more symmetric to leave both data serialization and
24
+ * deserialization to the client.
25
+ * 5. The use of `$.isFunction` is replaced by a functionally-identical check.
26
+ * 6. The `$:nomunge` YUI option is no longer necessary.
27
+ */
28
+
29
+ function NoJQueryPostMessageMixin(postBinding, receiveBinding) {
30
+
31
+ var setMessageCallback, unsetMessageCallback, currentMsgCallback,
32
+ intervalId, lastHash, cacheBust = 1;
33
+
34
+ if (window.postMessage) {
35
+
36
+ if (window.addEventListener) {
37
+ setMessageCallback = function(callback) {
38
+ window.addEventListener('message', callback, false);
39
+ }
40
+
41
+ unsetMessageCallback = function(callback) {
42
+ window.removeEventListener('message', callback, false);
43
+ }
44
+ } else {
45
+ setMessageCallback = function(callback) {
46
+ window.attachEvent('onmessage', callback);
47
+ }
48
+
49
+ unsetMessageCallback = function(callback) {
50
+ window.detachEvent('onmessage', callback);
51
+ }
52
+ }
53
+
54
+ this[postBinding] = function(message, targetUrl, target) {
55
+ if (!targetUrl) {
56
+ return;
57
+ }
58
+
59
+ // The browser supports window.postMessage, so call it with a targetOrigin
60
+ // set appropriately, based on the targetUrl parameter.
61
+ target.postMessage( message, targetUrl.replace( /([^:]+:\/\/[^\/]+).*/, '$1' ) );
62
+ }
63
+
64
+ // Since the browser supports window.postMessage, the callback will be
65
+ // bound to the actual event associated with window.postMessage.
66
+ this[receiveBinding] = function(callback, sourceOrigin, delay) {
67
+ // Unbind an existing callback if it exists.
68
+ if (currentMsgCallback) {
69
+ unsetMessageCallback(currentMsgCallback);
70
+ currentMsgCallback = null;
71
+ }
72
+
73
+ if (!callback) {
74
+ return false;
75
+ }
76
+
77
+ // Bind the callback. A reference to the callback is stored for ease of
78
+ // unbinding.
79
+ currentMsgCallback = setMessageCallback(function(e) {
80
+ switch(Object.prototype.toString.call(sourceOrigin)) {
81
+ case '[object String]':
82
+ if (sourceOrigin !== e.origin) {
83
+ return false;
84
+ }
85
+ break;
86
+ case '[object Function]':
87
+ if (sourceOrigin(e.origin)) {
88
+ return false;
89
+ }
90
+ break;
91
+ }
92
+
93
+ callback(e);
94
+ });
95
+ };
96
+
97
+ } else {
98
+
99
+ this[postBinding] = function(message, targetUrl, target) {
100
+ if (!targetUrl) {
101
+ return;
102
+ }
103
+
104
+ // The browser does not support window.postMessage, so set the location
105
+ // of the target to targetUrl#message. A bit ugly, but it works! A cache
106
+ // bust parameter is added to ensure that repeat messages trigger the
107
+ // callback.
108
+ target.location = targetUrl.replace( /#.*$/, '' ) + '#' + (+new Date) + (cacheBust++) + '&' + message;
109
+ }
110
+
111
+ // Since the browser sucks, a polling loop will be started, and the
112
+ // callback will be called whenever the location.hash changes.
113
+ this[receiveBinding] = function(callback, sourceOrigin, delay) {
114
+ if (intervalId) {
115
+ clearInterval(intervalId);
116
+ intervalId = null;
117
+ }
118
+
119
+ if (callback) {
120
+ delay = typeof sourceOrigin === 'number'
121
+ ? sourceOrigin
122
+ : typeof delay === 'number'
123
+ ? delay
124
+ : 100;
125
+
126
+ intervalId = setInterval(function(){
127
+ var hash = document.location.hash,
128
+ re = /^#?\d+&/;
129
+ if ( hash !== lastHash && re.test( hash ) ) {
130
+ lastHash = hash;
131
+ callback({ data: hash.replace( re, '' ) });
132
+ }
133
+ }, delay );
134
+ }
135
+ };
136
+
137
+ }
138
+
139
+ return this;
140
+ }
freemius/assets/js/nojquery.ba-postmessage.min.js ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * nojquery-postmessage by Jeff Lee
3
+ * a non-jQuery fork of:
4
+ *
5
+ * jQuery postMessage - v0.5 - 9/11/2009
6
+ * http://benalman.com/projects/jquery-postmessage-plugin/
7
+ *
8
+ * Copyright (c) 2009 "Cowboy" Ben Alman
9
+ * Dual licensed under the MIT and GPL licenses.
10
+ * http://benalman.com/about/license/
11
+ */
12
+ function NoJQueryPostMessageMixin(g,a){var b,h,e,d,f,c=1;if(window.postMessage){if(window.addEventListener){b=function(i){window.addEventListener("message",i,false)};h=function(i){window.removeEventListener("message",i,false)}}else{b=function(i){window.attachEvent("onmessage",i)};h=function(i){window.detachEvent("onmessage",i)}}this[g]=function(i,k,j){if(!k){return}j.postMessage(i,k.replace(/([^:]+:\/\/[^\/]+).*/,"$1"))};this[a]=function(k,j,i){if(e){h(e);e=null}if(!k){return false}e=b(function(l){switch(Object.prototype.toString.call(j)){case"[object String]":if(j!==l.origin){return false}break;case"[object Function]":if(j(l.origin)){return false}break}k(l)})}}else{this[g]=function(i,k,j){if(!k){return}j.location=k.replace(/#.*$/,"")+"#"+(+new Date)+(c++)+"&"+i};this[a]=function(k,j,i){if(d){clearInterval(d);d=null}if(k){i=typeof j==="number"?j:typeof i==="number"?i:100;d=setInterval(function(){var m=document.location.hash,l=/^#?\d+&/;if(m!==f&&l.test(m)){f=m;k({data:m.replace(l,"")})}},i)}}}return this};
freemius/assets/js/postmessage.js ADDED
@@ -0,0 +1,135 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function ($, undef) {
2
+ var global = this;
3
+
4
+ // Namespace.
5
+ global.FS = global.FS || {};
6
+
7
+ global.FS.PostMessage = function ()
8
+ {
9
+ var
10
+ _is_child = false,
11
+ _postman = new NoJQueryPostMessageMixin('postMessage', 'receiveMessage'),
12
+ _callbacks = {},
13
+ _base_url,
14
+ _parent_url = decodeURIComponent(document.location.hash.replace(/^#/, '')),
15
+ _parent_subdomain = _parent_url.substring(0, _parent_url.indexOf('/', ('https://' === _parent_url.substring(0, ('https://').length)) ? 8 : 7)),
16
+ _init = function () {
17
+ _postman.receiveMessage(function (e) {
18
+ var data = JSON.parse(e.data);
19
+
20
+ if (_callbacks[data.type]) {
21
+ for (var i = 0; i < _callbacks[data.type].length; i++) {
22
+ // Execute type callbacks.
23
+ _callbacks[data.type][i](data.data);
24
+ }
25
+ }
26
+ }, _base_url);
27
+ },
28
+ _hasParent = ('' !== _parent_url),
29
+ $window = $(window),
30
+ $html = $('html');
31
+
32
+ return {
33
+ init : function (url, iframes)
34
+ {
35
+ _base_url = url;
36
+ _init();
37
+
38
+ // Automatically receive forward messages.
39
+ FS.PostMessage.receiveOnce('forward', function (data){
40
+ window.location = data.url;
41
+ });
42
+
43
+ iframes = iframes || [];
44
+
45
+ if (iframes.length > 0) {
46
+ $window.on('scroll', function () {
47
+ for (var i = 0; i < iframes.length; i++) {
48
+ FS.PostMessage.postScroll(iframes[i]);
49
+ }
50
+ });
51
+ }
52
+ },
53
+ init_child : function ()
54
+ {
55
+ this.init(_parent_subdomain);
56
+
57
+ _is_child = true;
58
+
59
+ // Post height of a child right after window is loaded.
60
+ $(window).bind('load', function () {
61
+ FS.PostMessage.postHeight();
62
+
63
+ // Post message that window was loaded.
64
+ FS.PostMessage.post('loaded');
65
+ });
66
+ },
67
+ hasParent : function ()
68
+ {
69
+ return _hasParent;
70
+ },
71
+ postHeight : function (diff, wrapper) {
72
+ diff = diff || 0;
73
+ wrapper = wrapper || '#wrap_section';
74
+ this.post('height', {
75
+ height: diff + $(wrapper).outerHeight(true)
76
+ });
77
+ },
78
+ postScroll : function (iframe) {
79
+ this.post('scroll', {
80
+ top: $window.scrollTop(),
81
+ height: ($window.height() - parseFloat($html.css('paddingTop')) - parseFloat($html.css('marginTop')))
82
+ }, iframe);
83
+ },
84
+ post : function (type, data, iframe)
85
+ {
86
+ console.debug('PostMessage.post', type);
87
+
88
+ if (iframe)
89
+ {
90
+ // Post to iframe.
91
+ _postman.postMessage(JSON.stringify({
92
+ type: type,
93
+ data: data
94
+ }), iframe.src, iframe.contentWindow);
95
+ }
96
+ else {
97
+ // Post to parent.
98
+ _postman.postMessage(JSON.stringify({
99
+ type: type,
100
+ data: data
101
+ }), _parent_url, window.parent);
102
+ }
103
+ },
104
+ receive: function (type, callback)
105
+ {
106
+ console.debug('PostMessage.receive', type);
107
+
108
+ if (undef === _callbacks[type])
109
+ _callbacks[type] = [];
110
+
111
+ _callbacks[type].push(callback);
112
+ },
113
+ receiveOnce: function (type, callback)
114
+ {
115
+ if (this.is_set(type))
116
+ return;
117
+
118
+ this.receive(type, callback);
119
+ },
120
+ // Check if any callbacks assigned to a specified message type.
121
+ is_set: function (type)
122
+ {
123
+ return (undef != _callbacks[type]);
124
+ },
125
+ parent_url: function ()
126
+ {
127
+ return _parent_url;
128
+ },
129
+ parent_subdomain: function ()
130
+ {
131
+ return _parent_subdomain;
132
+ }
133
+ };
134
+ }();
135
+ })(jQuery);
freemius/assets/scss/_colors.scss ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ $menu-hover-color: #333;
2
+ $darkest-color: #000;
3
+ $fms-live-color: #71ae00;
4
+ $fms-test-color: #f7941d;
5
+ $fms-link-color: #29abe1;
6
+ $fms-link-hover-color: darken(#29abe1, 10%);
7
+ $body-bkg: #111;
8
+ $special-color: #d3135a;
9
+ $body-color: #f1f1f1;
10
+ $fms-white: #f1f1f1;
11
+ $container-bkg: #222;
12
+ $container-bkg-odd: #262626;
13
+ $container-border-color: #333;
14
+ $table-head-bkg: #333;
15
+ $table-head-color: #999;
16
+ $info-color: #999;
17
+ $error-color: #ff0000;
18
+
19
+ $fs-logo-blue-color: #29abe1;
20
+ $fs-logo-green-color: #71ae00;
21
+ $fs-logo-magenta-color: #d3135a;
22
+
23
+ // WordPress colors.
24
+ $page-header-bkg: #333;
25
+ $page-header-color: $fms-white;
26
+ $text-dark-color: #333;
27
+ $text-light-color: #666;
28
+ $text-lightest-color: #999;
29
+
30
+ // Notices.
31
+ $wp-notice-success-color: #f7fff7;
32
+ $wp-notice-success-dark-color: #46b450;
33
+ $wp-notice-error-color: #ffeaea;
34
+ $wp-notice-error-dark-color: #dc3232;
35
+ $wp-notice-warn-color: #fff8e5;
36
+ $wp-notice-warn-dark-color: #ffb900;
37
+ $fs-notice-promotion-border-color: #00a0d2;
38
+ $fs-notice-promotion-bkg: #f2fcff;
39
+
40
+ // WP Buttons.
41
+ $button-primary-bkg: #6bc406;
42
+ $button-primary-color: $fms-white;
43
+ $button-secondary-bkg: #333;
44
+ $button-secondary-color: $fms-white;
45
+ $featured-color: #6bc406;
46
+ $wp-selected-color: #0074a3;
47
+
48
+ $wordpress_color: #01749A;
49
+ $blogger_color: #ff8100;
50
+ $wix_color: #fac102;
51
+ $shopify_color: #80d100;
52
+ $addthis_color: #fe6d4e;
53
+ $tumblr_color: #34506b;
54
+ $zepo_color: #00baf2;
55
+ $jquery_color: #000919;
56
+ $javascript_color: #00baf2;
57
+ $squarespace_color: #000;
58
+
59
+ $blog_color: #ff6600;
60
+ $facebook_color: #3b5998;
61
+ $twitter_color: #4099ff;
62
+ $linkedin_color: #4875b4;
63
+ $youtube_color: #ff3333;
64
+ $gplus_color: #c63d2d;
65
+
66
+ // Tooltip
67
+ $tooltip-color: #fff;
68
+ $tooltip-bkg-color: rgba(0,0,0,0.8);
freemius/assets/scss/_functions.scss ADDED
File without changes
freemius/assets/scss/_load.scss ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ @import 'mixins';
2
+ @import "vars";
3
+ @import "functions";
4
+ @import "colors";
freemius/assets/scss/_mixins.scss ADDED
@@ -0,0 +1,270 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // ---- CSS3 SASS MIXINS ----
2
+ // https://github.com/madr/css3-sass-mixins
3
+ //
4
+ // Copyright (C) 2011 by Anders Ytterström
5
+ //
6
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ // of this software and associated documentation files (the "Software"), to deal
8
+ // in the Software without restriction, including without limitation the rights
9
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ // copies of the Software, and to permit persons to whom the Software is
11
+ // furnished to do so, subject to the following conditions:
12
+ //
13
+ // The above copyright notice and this permission notice shall be included in
14
+ // all copies or substantial portions of the Software.
15
+ //
16
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
+ // THE SOFTWARE.
23
+ //
24
+
25
+ // ---- LEGACY IE SUPPORT USING FILTERS ----
26
+ // Should IE filters be used or not?
27
+ // PROS: gradients, drop shadows etc will be handled by css.
28
+ // CONS: will harm the site performance badly,
29
+ // especially on sites with heavy rendering and scripting.
30
+ $useIEFilters: 0;
31
+ // might be 0 or 1. disabled by default.
32
+ // ---- /LEGACY IE SUPPORT USING FILTERS ----
33
+
34
+
35
+ @mixin background-size ($value) {
36
+ -webkit-background-size: $value;
37
+ background-size: $value;
38
+ }
39
+
40
+ @mixin border-image ($path, $offsets, $repeats) {
41
+ -moz-border-image: $path $offsets $repeats;
42
+ -o-border-image: $path $offsets $repeats;
43
+ -webkit-border-image: $path $offsets $repeats;
44
+ border-image: $path $offsets $repeats;
45
+ }
46
+
47
+ @mixin border-radius ($values...) {
48
+ -moz-border-radius: $values;
49
+ -webkit-border-radius: $values;
50
+ border-radius: $values;
51
+ /*-moz-background-clip: padding;
52
+ -webkit-background-clip: padding-box;
53
+ background-clip: padding-box;*/
54
+ }
55
+
56
+ @mixin box-shadow ($values...) {
57
+ -moz-box-shadow: $values;
58
+ -webkit-box-shadow: $values;
59
+ box-shadow: $values;
60
+ }
61
+
62
+ //@mixin box-shadow ($x, $y, $offset, $hex, $ie: $useIEFilters, $inset: null, $spread:null) {
63
+ // -moz-box-shadow: $x $y $offset $spread $hex $inset;
64
+ // -webkit-box-shadow: $x $y $offset $spread $hex $inset;
65
+ // box-shadow: $x $y $offset $spread $hex $inset;
66
+ //
67
+ // @if $ie == 1 {
68
+ // $iecolor: '#' + red($hex) + green($hex) + blue($hex);
69
+ // filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=#{$x}, OffY=#{$y}, Color='#{$iecolor}');
70
+ // -ms-filter: quote(progid:DXImageTransform.Microsoft.dropshadow(OffX=#{$x}, OffY=#{$y}, Color='#{$iecolor}'));
71
+ // }
72
+ //}
73
+
74
+ @mixin box-sizing($value) {
75
+ -moz-box-sizing: $value;
76
+ -webkit-box-sizing: $value;
77
+ box-sizing: $value;
78
+ }
79
+
80
+ // requires sass 3.2
81
+ @mixin keyframes($name){
82
+ @-moz-keyframes #{$name} { @content; }
83
+ @-ms-keyframes #{$name} { @content; }
84
+ @-o-keyframes #{$name} { @content; }
85
+ @-webkit-keyframes #{$name} { @content; }
86
+ @keyframes #{$name} { @content; }
87
+ }
88
+
89
+ @mixin linear-gradient($from, $to, $ie: $useIEFilters) {
90
+ @if $ie != 1 { background-color: $to; }
91
+
92
+ background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, $from),color-stop(1, $to));
93
+ background-image: -webkit-linear-gradient(top, $from, $to);
94
+ background-image: -moz-linear-gradient(top, $from, $to);
95
+ background-image: -ms-linear-gradient(top, $from, $to);
96
+ background-image: -o-linear-gradient(top, $from, $to);
97
+ background-image: linear-gradient(top, bottom, $from, $to);
98
+
99
+ @if $ie == 1 {
100
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{$from}', endColorstr='#{$to}');
101
+ }
102
+ }
103
+
104
+ @mixin horizontal-gradient($startColor: #555, $endColor: #333, $ie: $useIEFilters) {
105
+ @if $ie != 1 { background-color: $endColor; }
106
+
107
+ background-color: $endColor;
108
+ background-image: -webkit-gradient(linear, 0 0, 100% 0, from($startColor), to($endColor)); // Safari 4+, Chrome 2+
109
+ background-image: -webkit-linear-gradient(left, $startColor, $endColor); // Safari 5.1+, Chrome 10+
110
+ background-image: -moz-linear-gradient(left, $startColor, $endColor); // FF 3.6+
111
+ background-image: -o-linear-gradient(left, $startColor, $endColor); // Opera 11.10
112
+ background-image: linear-gradient(to right, $startColor, $endColor); // Standard, IE10
113
+ background-repeat: repeat-x;
114
+ @if $ie == 1 {
115
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{$startColor}', endColorstr='#{$endColor}', GradientType=1);
116
+ }
117
+ }
118
+
119
+ @mixin radial-gradient($from, $to, $ie: $useIEFilters) {
120
+ @if $ie != 1 { background-color: $to; }
121
+
122
+ background: -moz-radial-gradient(center, circle cover, $from 0%, $to 100%);
123
+ background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, $from), color-stop(100%, $to));
124
+ background: -webkit-radial-gradient(center, circle cover, $from 0%, $to 100%);
125
+ background: -o-radial-gradient(center, circle cover, $from 0%, $to 100%);
126
+ background: -ms-radial-gradient(center, circle cover, $from 0%, $to 100%);
127
+ background: radial-gradient(center, circle cover, $from 0%, $to 100%);
128
+ background-color: $from;
129
+
130
+ @if $ie == 1 {
131
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{$from}', endColorstr='#{$to}', GradientType=1); /* IE6-9 fallback on horizontal gradient */
132
+ }
133
+ }
134
+
135
+ @mixin perspective($perspective) {
136
+ -moz-perspective: $perspective;
137
+ -ms-perspective: $perspective;
138
+ -webkit-perspective: $perspective;
139
+ perspective: $perspective;
140
+ -moz-transform-style: preserve-3d;
141
+ -ms-transform-style: preserve-3d;
142
+ -webkit-transform-style: preserve-3d;
143
+ transform-style: preserve-3d;
144
+ }
145
+
146
+ @mixin transform ($transforms) {
147
+ -moz-transform: $transforms;
148
+ -o-transform: $transforms;
149
+ -ms-transform: $transforms;
150
+ -webkit-transform: $transforms;
151
+ transform: $transforms;
152
+ }
153
+
154
+ @mixin matrix ($a, $b, $c, $d, $e, $f) {
155
+ -moz-transform: matrix($a, $b, $c, $d, #{$e}px, #{$f}px);
156
+ -o-transform: matrix($a, $b, $c, $d, $e, $f);
157
+ -ms-transform: matrix($a, $b, $c, $d, $e, $f);
158
+ -webkit-transform: matrix($a, $b, $c, $d, $e, $f);
159
+ transform: matrix($a, $b, $c, $d, $e, $f);
160
+ }
161
+
162
+ @mixin rotate ($deg) {
163
+ @include transform(rotate(#{$deg}deg));
164
+ }
165
+
166
+ @mixin scale ($size) {
167
+ @include transform(scale(#{$size}));
168
+ }
169
+
170
+ @mixin translate ($x, $y) {
171
+ @include transform(translate($x, $y));
172
+ }
173
+
174
+ @mixin transition ($value...) {
175
+ -moz-transition: $value;
176
+ -o-transition: $value;
177
+ -ms-transition: $value;
178
+ -webkit-transition: $value;
179
+ transition: $value;
180
+ }
181
+
182
+ @mixin animation($str) {
183
+ -webkit-animation: #{$str};
184
+ -moz-animation: #{$str};
185
+ -ms-animation: #{$str};
186
+ -o-animation: #{$str};
187
+ animation: #{$str};
188
+ }
189
+
190
+ @mixin animation-name($str) {
191
+ -webkit-animation-name: #{$str};
192
+ -moz-animation-name: #{$str};
193
+ -ms-animation-name: #{$str};
194
+ -o-animation-name: #{$str};
195
+ animation-name: #{$str};
196
+ }
197
+
198
+ @mixin animation-duration($str) {
199
+ -webkit-animation-duration: #{$str};
200
+ -moz-animation-duration: #{$str};
201
+ -ms-animation-duration: #{$str};
202
+ -o-animation-duration: #{$str};
203
+ animation-duration: #{$str};
204
+ }
205
+
206
+ @mixin animation-direction($str) {
207
+ -webkit-animation-direction: #{$str};
208
+ -moz-animation-direction: #{$str};
209
+ -ms-animation-direction: #{$str};
210
+ -o-animation-direction: #{$str};
211
+ animation-direction: #{$str};
212
+ }
213
+
214
+ @mixin animation-delay($str) {
215
+ animation-delay:#{$str};
216
+ -o-animation-delay:#{$str};
217
+ -ms-animation-delay:#{$str};
218
+ -webkit-animation-delay:#{$str};
219
+ -moz-animation-delay:#{$str};
220
+ }
221
+
222
+ @mixin animation-iteration-count($str) {
223
+ animation-iteration-count:#{$str};
224
+ -o-animation-iteration-count:#{$str};
225
+ -ms-animation-iteration-count:#{$str};
226
+ -webkit-animation-iteration-count:#{$str};
227
+ -moz-animation-iteration-count:#{$str};
228
+ }
229
+
230
+ @mixin animation-timing-function($str) {
231
+ -webkit-animation-timing-function: #{$str};
232
+ -moz-animation-timing-function: #{$str};
233
+ -ms-animation-timing-function: #{$str};
234
+ -o-animation-timing-function: #{$str};
235
+ animation-timing-function: #{$str};
236
+ }
237
+
238
+ // ==== /CSS3 SASS MIXINS ====
239
+
240
+ @mixin opacity($opacity) {
241
+ opacity: $opacity;
242
+ $opacity-ie: $opacity * 100;
243
+ filter: alpha(opacity=$opacity-ie); //IE8
244
+ }
245
+
246
+ @mixin size($width, $height: $width)
247
+ {
248
+ width: $width;
249
+ height: $height;
250
+ }
251
+
252
+ @mixin clearfix
253
+ {
254
+ &:after {
255
+ content: "";
256
+ display: table;
257
+ clear: both;
258
+ }
259
+ }
260
+
261
+ // Placeholder text
262
+ @mixin placeholder($color: $input-color-placeholder) {
263
+ // Firefox
264
+ &::-moz-placeholder {
265
+ color: $color;
266
+ opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526
267
+ }
268
+ &:-ms-input-placeholder { color: $color; } // Internet Explorer 10+
269
+ &::-webkit-input-placeholder { color: $color; } // Safari and Chrome
270
+ }
freemius/assets/scss/_start.scss ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ @import "vars";
2
+ @import "colors";
3
+ @import "mixins";
4
+ @import "functions";
freemius/assets/scss/_vars.scss ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ $is_production: true;
2
+
3
+ $img_common: if($is_production == true, '//img.freemius.com', 'http://img.freemius:8080');
4
+
5
+ $layout_width: 960px;
6
+ $admin_mobile_max_width: 782px;
freemius/assets/scss/admin/_ajax-loader.scss ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ $color: $wp-selected-color;
2
+ $bkg-color: #fff;
3
+ $size: 20;
4
+
5
+ .fs-ajax-loader
6
+ {
7
+ position: relative;
8
+ width: #{8*$size + 10}px;
9
+ height: #{$size}px;
10
+ margin: auto;
11
+
12
+ .fs-ajax-loader-bar
13
+ {
14
+ position: absolute;
15
+ top: 0;
16
+ background-color: $color;
17
+ width: #{$size}px;
18
+ height: #{$size}px;
19
+ @include animation-name(bounce_ajaxLoader);
20
+ @include animation-duration(1.5s);
21
+ @include animation-iteration-count(infinite);
22
+ @include animation-direction(normal);
23
+ @include transform(.3);
24
+ }
25
+
26
+ @for $i from 0 through 7
27
+ {
28
+ .fs-ajax-loader-bar-#{$i + 1}
29
+ {
30
+ left: #{$i*($size - 1)}px;
31
+ @include animation-delay(#{0.6 + $i*0.15}s);
32
+ }
33
+ }
34
+ }
35
+
36
+ @include keyframes(bounce_ajaxLoader)
37
+ {
38
+ 0%
39
+ {
40
+ @include transform(scale(1));
41
+ background-color: $color;
42
+ }
43
+
44
+ 100%
45
+ {
46
+ @include transform(scale(.3));
47
+ background-color: $bkg-color;
48
+ }
49
+ }
freemius/assets/scss/admin/_auto-install.scss ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .fs-modal-auto-install
2
+ {
3
+ $max-width: 300px;
4
+
5
+ #request-filesystem-credentials-form
6
+ {
7
+ h2,
8
+ .request-filesystem-credentials-action-buttons
9
+ {
10
+ display: none;
11
+ }
12
+
13
+ input[type=password],
14
+ input[type=email],
15
+ input[type=text]
16
+ {
17
+ -webkit-appearance: none;
18
+ padding: 10px 10px 5px 10px;
19
+ width: $max-width;
20
+ max-width: 100%;
21
+ }
22
+
23
+ > div,
24
+ label,
25
+ fieldset
26
+ {
27
+ width: $max-width;
28
+ max-width: 100%;
29
+ margin: 0 auto;
30
+ display: block;
31
+ }
32
+ }
33
+ }
freemius/assets/scss/admin/_deactivation-feedback.scss ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import "../colors";
2
+
3
+ .fs-modal.fs-modal-deactivation-feedback {
4
+ .reason-input, .internal-message {
5
+ margin: 3px 0 3px 22px;
6
+
7
+ input, textarea {
8
+ width: 100%;
9
+ }
10
+ }
11
+
12
+ li.reason {
13
+ &.has-internal-message .internal-message {
14
+ border: 1px solid lighten($darkest-color, 80%);
15
+ padding: 7px;
16
+ display: none;
17
+ }
18
+
19
+ @media (max-width: 650px) {
20
+ li.reason {
21
+ margin-bottom: 10px;
22
+
23
+ .reason-input, .internal-message {
24
+ margin-left: 29px;
25
+ }
26
+
27
+ label {
28
+ display: table;
29
+
30
+ > span {
31
+ display: table-cell;
32
+ font-size: 1.3em;
33
+ }
34
+ }
35
+ }
36
+ }
37
+ }
38
+
39
+ .anonymous-feedback-label {
40
+ float: left;
41
+ }
42
+
43
+ .fs-modal-panel {
44
+ margin-top: 0 !important;
45
+
46
+ h3 {
47
+ margin-top: 0;
48
+ line-height: 1.5em;
49
+ }
50
+ }
51
+ }
52
+
53
+ #the-list .deactivate > .fs-slug {
54
+ display: none;
55
+ }
freemius/assets/scss/admin/_gdpr-consent.scss ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #fs_marketing_optin
2
+ {
3
+ display: none;
4
+ margin-top: 10px;
5
+ border: 1px solid #ccc;
6
+ padding: 10px;
7
+ line-height: 1.5em;
8
+
9
+ .fs-message
10
+ {
11
+ display: block;
12
+ margin-bottom: 5px;
13
+ font-size: 1.05em;
14
+ font-weight: 600;
15
+ }
16
+
17
+ &.error
18
+ {
19
+ border: 1px solid $fs-logo-magenta-color;
20
+ background: #fee;
21
+
22
+ .fs-message
23
+ {
24
+ color: $fs-logo-magenta-color;
25
+ }
26
+ }
27
+
28
+ .fs-input-container
29
+ {
30
+ margin-top: 5px;
31
+
32
+ label
33
+ {
34
+ margin-top: 5px;
35
+ display: block;
36
+
37
+ input
38
+ {
39
+ float: left;
40
+ margin: 1px 0 0 0;
41
+ }
42
+
43
+ &:first-child
44
+ {
45
+ display: block;
46
+ margin-bottom: 2px;
47
+ }
48
+ }
49
+ }
50
+
51
+ .fs-input-label
52
+ {
53
+ display: block;
54
+ margin-left: 20px;
55
+
56
+ .underlined
57
+ {
58
+ text-decoration: underline;
59
+ }
60
+ }
61
+ }
62
+
63
+ .rtl
64
+ {
65
+ #fs_marketing_optin
66
+ {
67
+ .fs-input-container
68
+ {
69
+ label input
70
+ {
71
+ float: right;
72
+ }
73
+ }
74
+
75
+ .fs-input-label
76
+ {
77
+ margin-left: 0;
78
+ margin-right: 20px;
79
+ }
80
+ }
81
+ }
freemius/assets/scss/admin/_license-activation.scss ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .fs-modal.fs-modal-license-activation {
2
+ .fs-modal-body {
3
+ input.license_key {
4
+ width: 100%;
5
+ }
6
+ }
7
+ }
8
+
9
+ #license_options_container {
10
+ table {
11
+ &, select, #available_license_key {
12
+ width: 100%;
13
+ }
14
+
15
+ td:first-child {
16
+ width: 1%;
17
+ }
18
+
19
+ #other_license_key_container {
20
+ label {
21
+ position: relative;
22
+ top: 6px;
23
+ float: left;
24
+ margin-right: 5px;
25
+ }
26
+
27
+ div {
28
+ overflow: hidden;
29
+ width: auto;
30
+ height: 30px;
31
+ display: block;
32
+ top: 2px;
33
+ position: relative;
34
+
35
+ input {
36
+ margin: 0;
37
+ }
38
+ }
39
+ }
40
+ }
41
+ }
42
+
43
+ #sites_list_container {
44
+ td {
45
+ cursor: pointer;
46
+ }
47
+ }
freemius/assets/scss/admin/_license-key-resend.scss ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .fs-modal.fs-modal-license-key-resend
2
+ {
3
+ .email-address-container
4
+ {
5
+ overflow: hidden;
6
+ padding-right: 2px;
7
+ }
8
+
9
+ &.fs-freemium
10
+ {
11
+ input.email-address
12
+ {
13
+ width: 300px;
14
+ }
15
+
16
+ label
17
+ {
18
+ display: block;
19
+ margin-bottom: 10px;
20
+ }
21
+ }
22
+
23
+ &.fs-premium
24
+ {
25
+ input.email-address
26
+ {
27
+ width: 100%;
28
+ }
29
+
30
+ .button-container
31
+ {
32
+ float: right;
33
+ margin-left: 7px;
34
+
35
+ @media (max-width: 650px) {
36
+ margin-top: 2px;
37
+ }
38
+ }
39
+ }
40
+ }
41
+
42
+ .rtl
43
+ {
44
+ .fs-modal.fs-modal-license-key-resend
45
+ {
46
+ .fs-modal-body
47
+ {
48
+ .input-container > .email-address-container
49
+ {
50
+ padding-left: 2px;
51
+ padding-right: 0;
52
+ }
53
+
54
+ .button-container
55
+ {
56
+ float: left;
57
+ margin-right: 7px;
58
+ margin-left: 0;
59
+ }
60
+ }
61
+ }
62
+ }
63
+
64
+ a.show-license-resend-modal
65
+ {
66
+ margin-top: 4px;
67
+ display: inline-block;
68
+ }
freemius/assets/scss/admin/_modal-common.scss ADDED
@@ -0,0 +1,194 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import "../colors";
2
+ @import "../mixins";
3
+
4
+ .fs-modal {
5
+ position: fixed;
6
+ overflow: auto;
7
+ height: 100%;
8
+ width: 100%;
9
+ top: 0;
10
+ z-index: 100000;
11
+ display: none;
12
+ background: rgba(0, 0, 0, 0.6);
13
+
14
+ .fs-modal-dialog {
15
+ background: transparent;
16
+ position: absolute;
17
+ left: 50%;
18
+ margin-left: -298px;
19
+ padding-bottom: 30px;
20
+ top: -100%;
21
+ z-index: 100001;
22
+ width: 596px;
23
+
24
+ @media (max-width: 650px) {
25
+ margin-left: -50%;
26
+ box-sizing: border-box;
27
+ padding-left: 10px;
28
+ padding-right: 10px;
29
+ width: 100%;
30
+
31
+ .fs-modal-panel > h3 > strong {
32
+ font-size: 1.3em;
33
+ }
34
+ }
35
+ }
36
+
37
+ &.active {
38
+ display: block;
39
+
40
+ &:before {
41
+ display: block;
42
+ }
43
+
44
+ .fs-modal-dialog {
45
+ top: 10%;
46
+ }
47
+ }
48
+
49
+ &.fs-success {
50
+ .fs-modal-header {
51
+ border-bottom-color: $wp-notice-success-dark-color;
52
+ }
53
+
54
+ .fs-modal-body {
55
+ background-color: $wp-notice-success-color;
56
+ }
57
+ }
58
+
59
+ &.fs-warn {
60
+ .fs-modal-header {
61
+ border-bottom-color: $wp-notice-warn-dark-color;
62
+ }
63
+
64
+ .fs-modal-body {
65
+ background-color: $wp-notice-warn-color;
66
+ }
67
+ }
68
+
69
+ &.fs-error {
70
+ .fs-modal-header {
71
+ border-bottom-color: $wp-notice-error-dark-color;
72
+ }
73
+
74
+ .fs-modal-body {
75
+ background-color: $wp-notice-error-color;
76
+ }
77
+ }
78
+
79
+
80
+ .fs-modal-body,
81
+ .fs-modal-footer {
82
+ border: 0;
83
+ background: #fefefe;
84
+ padding: 20px;
85
+ }
86
+
87
+ .fs-modal-header {
88
+ border-bottom: #eeeeee solid 1px;
89
+ background: #fbfbfb;
90
+ padding: 15px 20px;
91
+ position: relative;
92
+ margin-bottom: -10px;
93
+ // z-index: 2;
94
+
95
+ h4 {
96
+ margin: 0;
97
+ padding: 0;
98
+ text-transform: uppercase;
99
+ font-size: 1.2em;
100
+ font-weight: bold;
101
+ color: #cacaca;
102
+ text-shadow: 1px 1px 1px #fff;
103
+ letter-spacing: 0.6px;
104
+ -webkit-font-smoothing: antialiased;
105
+ }
106
+
107
+ .fs-close {
108
+ position: absolute;
109
+ right: 10px;
110
+ top: 12px;
111
+ cursor: pointer;
112
+ color: #bbb;
113
+ @include border-radius(20px);
114
+ padding: 3px;
115
+ @include transition(all 0.2s ease-in-out);
116
+
117
+ &:hover {
118
+ color: #fff;
119
+ background: #aaa;
120
+ }
121
+
122
+ &, &:hover
123
+ {
124
+ .dashicons
125
+ {
126
+ text-decoration: none;
127
+ }
128
+ }
129
+ }
130
+ }
131
+
132
+ .fs-modal-body {
133
+ border-bottom: 0;
134
+
135
+ p {
136
+ font-size: 14px;
137
+ }
138
+
139
+ h2 {
140
+ font-size: 20px;
141
+ line-height: 1.5em;
142
+ }
143
+
144
+ > div {
145
+ margin-top: 10px;
146
+
147
+ h2 {
148
+ font-weight: bold;
149
+ font-size: 20px;
150
+ margin-top: 0;
151
+ }
152
+ }
153
+ }
154
+
155
+ .fs-modal-footer {
156
+ border-top: #eeeeee solid 1px;
157
+ text-align: right;
158
+
159
+ > .button {
160
+ margin: 0 7px;
161
+
162
+ &:first-child {
163
+ margin: 0;
164
+ }
165
+ }
166
+ }
167
+
168
+ .fs-modal-panel {
169
+ > .notice.inline {
170
+ margin: 0;
171
+ display: none;
172
+ }
173
+
174
+ &:not(.active) {
175
+ display: none;
176
+ }
177
+ }
178
+ }
179
+
180
+ .rtl
181
+ {
182
+ .fs-modal {
183
+ .fs-modal-header {
184
+ .fs-close {
185
+ right: auto;
186
+ left: 20px;
187
+ }
188
+ }
189
+ }
190
+ }
191
+
192
+ body.has-fs-modal {
193
+ overflow: hidden;
194
+ }
freemius/assets/scss/admin/_multisite-options.scss ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #multisite_options_container {
2
+ margin-top: 10px;
3
+ border: 1px solid #ccc;
4
+ padding: 5px;
5
+
6
+ a {
7
+ text-decoration: none;
8
+
9
+ &:focus {
10
+ box-shadow: none;
11
+ }
12
+
13
+ &.selected {
14
+ font-weight: bold;
15
+ }
16
+ }
17
+
18
+ &.apply-on-all-sites {
19
+ border: 0 none;
20
+ padding: 0;
21
+
22
+ #all_sites_options {
23
+ border-spacing: 0;
24
+
25
+ td:not(:first-child) {
26
+ display: none;
27
+ }
28
+ }
29
+ }
30
+
31
+ #sites_list_container {
32
+ display: none;
33
+ overflow: auto;
34
+
35
+ table td {
36
+ border-top: 1px solid #ccc;
37
+ padding: 4px 2px;
38
+ }
39
+ }
40
+ }
freemius/assets/scss/admin/_themes.scss ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .theme-browser
2
+ {
3
+ .theme
4
+ {
5
+ .fs-premium-theme-badge
6
+ {
7
+ position: absolute;
8
+ top: 10px;
9
+ right: 0;
10
+ background: $fs-logo-green-color;
11
+ color: #fff;
12
+ text-transform: uppercase;
13
+ padding: 5px 10px;
14
+ @include border-radius(3px 0 0 3px);
15
+ font-weight: bold;
16
+ border-right: 0;
17
+ @include box-shadow(0 2px 1px -1px rgba(0, 0, 0, .3));
18
+ font-size: 1.1em;
19
+ }
20
+ }
21
+ }
freemius/assets/scss/admin/_tooltip.scss ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .fs-tooltip-trigger
2
+ {
3
+ &:not(a)
4
+ {
5
+ cursor: help;
6
+ }
7
+
8
+ position: relative;
9
+
10
+ .fs-tooltip
11
+ {
12
+ opacity: 0;
13
+ visibility: hidden;
14
+ @include transition(opacity 0.3s ease-in-out);
15
+ position: absolute;
16
+ background: $tooltip-bkg-color;
17
+ color: $tooltip-color;
18
+ font-family: 'arial', serif;
19
+ font-size: 12px;
20
+ padding: 10px;
21
+ z-index: 999999;
22
+ bottom: 100%;
23
+ margin-bottom: 5px;
24
+ left: 0;
25
+ right: 0;
26
+ @include border-radius(5px);
27
+ @include box-shadow(1px 1px 1px rgba(0, 0, 0, 0.2));
28
+ line-height: 1.3em;
29
+ font-weight: bold;
30
+ text-align: left;
31
+
32
+ .rtl &
33
+ {
34
+ text-align: right;
35
+ }
36
+
37
+ &::after
38
+ {
39
+ content: ' ';
40
+ display: block;
41
+ width: 0;
42
+ height: 0;
43
+ border-style: solid;
44
+ border-width: 5px 5px 0 5px;
45
+ border-color: $tooltip-bkg-color transparent transparent transparent;
46
+ position: absolute;
47
+ top: 100%;
48
+ left: 21px;
49
+
50
+ .rtl &
51
+ {
52
+ right: 21px;
53
+ left: auto;
54
+ }
55
+ }
56
+ }
57
+
58
+ &:hover
59
+ {
60
+ .fs-tooltip
61
+ {
62
+ visibility: visible;
63
+ opacity: 1;
64
+ }
65
+ }
66
+ }
freemius/assets/scss/admin/account.scss ADDED
@@ -0,0 +1,302 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import "../start";
2
+
3
+ #fs_account
4
+ {
5
+ .postbox,
6
+ .widefat
7
+ {
8
+ max-width: 700px;
9
+ }
10
+
11
+ h3
12
+ {
13
+ font-size: 1.3em;
14
+ padding: 12px 15px;
15
+ margin: 0 0 12px 0;
16
+ line-height: 1.4;
17
+ border-bottom: 1px solid #F1F1F1;
18
+
19
+ .dashicons {
20
+ width: 26px;
21
+ height: 26px;
22
+ font-size: 1.3em;
23
+ }
24
+ }
25
+
26
+ i.dashicons
27
+ {
28
+ font-size: 1.2em;
29
+ height: 1.2em;
30
+ width: 1.2em;
31
+ }
32
+
33
+ .dashicons
34
+ {
35
+ vertical-align: middle;
36
+ }
37
+
38
+ .fs-header-actions
39
+ {
40
+ position: absolute;
41
+ top: 17px;
42
+ right: 15px;
43
+ font-size: 0.9em;
44
+
45
+ ul
46
+ {
47
+ margin: 0;
48
+ }
49
+
50
+ li
51
+ {
52
+ form
53
+ {
54
+ display: inline-block;
55
+ }
56
+
57
+ float: left;
58
+ a
59
+ {
60
+ text-decoration: none;
61
+ }
62
+ }
63
+ }
64
+ }
65
+
66
+ #fs_account_details .button-group {
67
+ float: right;
68
+ }
69
+
70
+ .rtl #fs_account .fs-header-actions
71
+ {
72
+ left: 15px;
73
+ right: auto;
74
+ }
75
+
76
+ .fs-key-value-table
77
+ {
78
+ width: 100%;
79
+
80
+ form
81
+ {
82
+ display: inline-block;
83
+ }
84
+
85
+ tr
86
+ {
87
+ td:first-child
88
+ {
89
+ nobr
90
+ {
91
+ font-weight: bold;
92
+ }
93
+
94
+ text-align: right;
95
+
96
+ form
97
+ {
98
+ display: block;
99
+ }
100
+ }
101
+
102
+ td.fs-right
103
+ {
104
+ text-align: right;
105
+ }
106
+
107
+ &.fs-odd
108
+ {
109
+ background: #ebebeb;
110
+ }
111
+ }
112
+
113
+ td, th
114
+ {
115
+ padding: 10px;
116
+ }
117
+
118
+ code {
119
+ line-height: 28px;
120
+ }
121
+
122
+ var, code, input[type="text"]
123
+ {
124
+ color: #0073AA;
125
+ font-size: 16px;
126
+ background: none;
127
+ }
128
+
129
+ input[type="text"] {
130
+ width: 100%;
131
+ font-weight: bold;
132
+ }
133
+ }
134
+
135
+ label.fs-tag
136
+ {
137
+ background: #ffba00;
138
+ color: #fff;
139
+ display: inline-block;
140
+ border-radius: 3px;
141
+ padding: 5px;
142
+ font-size: 11px;
143
+ line-height: 11px;
144
+ vertical-align: baseline;
145
+
146
+ &.fs-warn
147
+ {
148
+ background: #ffba00;
149
+ }
150
+ &.fs-success
151
+ {
152
+ background: #46b450;
153
+ }
154
+ &.fs-error
155
+ {
156
+ background: #dc3232;
157
+ }
158
+ }
159
+
160
+ #fs_sites
161
+ {
162
+ .fs-scrollable-table
163
+ {
164
+ .fs-table-body {
165
+ max-height: 200px;
166
+ overflow: auto;
167
+ border: 1px solid #e5e5e5;
168
+
169
+ & > table.widefat {
170
+ border: none !important;
171
+ }
172
+ }
173
+
174
+ .fs-main-column {
175
+ width: 100%;
176
+ }
177
+
178
+ .fs-site-details
179
+ {
180
+ td:first-of-type
181
+ {
182
+ text-align: right;
183
+ color: grey;
184
+ width: 1px;
185
+ }
186
+
187
+ td:last-of-type
188
+ {
189
+ text-align: right;
190
+ }
191
+ }
192
+
193
+ .fs-install-details table
194
+ {
195
+ tr td
196
+ {
197
+ width: 1px;
198
+ white-space: nowrap;
199
+
200
+ &:last-of-type
201
+ {
202
+ width: auto;
203
+ }
204
+ }
205
+ }
206
+ }
207
+ }
208
+
209
+ #fs_addons
210
+ {
211
+ h3
212
+ {
213
+ border: none;
214
+ margin-bottom: 0;
215
+ padding: 4px 5px;
216
+ }
217
+
218
+ td
219
+ {
220
+ vertical-align: middle;
221
+ }
222
+
223
+ thead {
224
+ white-space: nowrap;
225
+ }
226
+
227
+ td:first-child,
228
+ th:first-child
229
+ {
230
+ text-align: left;
231
+ font-weight: bold;
232
+ }
233
+ td:last-child,
234
+ th:last-child
235
+ {
236
+ text-align: right;
237
+ }
238
+ th
239
+ {
240
+ font-weight: bold;
241
+ }
242
+ }
243
+
244
+ #fs_billing_address {
245
+ width: 100%;
246
+
247
+ tr {
248
+ td {
249
+ width: 50%;
250
+ padding: 5px;
251
+ }
252
+
253
+ &:first-of-type {
254
+ td {
255
+ padding-top: 0;
256
+ }
257
+ }
258
+ }
259
+
260
+ @mixin read-mode {
261
+ border-color: transparent;
262
+ color: #777;
263
+ border-bottom: 1px dashed #ccc;
264
+ padding-left: 0;
265
+ background: none;
266
+ }
267
+
268
+ span {
269
+ font-weight: bold;
270
+ }
271
+
272
+ input, select {
273
+ @include placeholder(transparent);
274
+
275
+ display: block;
276
+ width: 100%;
277
+ margin-top: 5px;
278
+
279
+ &.fs-read-mode {
280
+ @include read-mode();
281
+ }
282
+ }
283
+
284
+
285
+ &.fs-read-mode {
286
+ td span {
287
+ display: none;
288
+ }
289
+
290
+ input, select
291
+ {
292
+ @include read-mode();
293
+ @include placeholder(#ccc);
294
+ }
295
+ }
296
+
297
+
298
+ button {
299
+ display: block;
300
+ width: 100%;
301
+ }
302
+ }
freemius/assets/scss/admin/add-ons.scss ADDED
@@ -0,0 +1,449 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import "../start";
2
+
3
+ #fs_addons
4
+ {
5
+ .fs-cards-list
6
+ {
7
+ list-style: none;
8
+
9
+ .fs-card
10
+ {
11
+ float: left;
12
+ // height: 185px; // With reviews/ratings
13
+ height: 152px;
14
+ width: 310px;
15
+ padding: 0;
16
+ margin: 0 0 30px 30px;
17
+ font-size: 14px;
18
+ list-style: none;
19
+ border: 1px solid #ddd;
20
+ cursor: pointer;
21
+ position: relative;
22
+
23
+ .fs-overlay
24
+ {
25
+ position: absolute;
26
+ left: 0;
27
+ right: 0;
28
+ bottom: 0;
29
+ top: 0;
30
+ z-index: 9;
31
+ }
32
+
33
+ .fs-inner
34
+ {
35
+ background-color: #fff;
36
+ overflow: hidden;
37
+ height: 100%;
38
+ position: relative;
39
+
40
+ ul
41
+ {
42
+ @include transition(all, 0.15s);
43
+ left: 0;
44
+ right: 0;
45
+ top: 0;
46
+ position: absolute;
47
+ }
48
+
49
+ li
50
+ {
51
+ list-style: none;
52
+ line-height: 18px;
53
+ padding: 0 15px;
54
+ width: 100%;
55
+ display: block;
56
+ @include box-sizing(border-box);
57
+ }
58
+
59
+ .fs-card-banner
60
+ {
61
+ padding: 0;
62
+ margin: 0;
63
+ line-height: 0;
64
+ display: block;
65
+ height: 100px;
66
+ background-repeat: repeat-x;
67
+ background-size: 100% 100%;
68
+ @include transition(all, 0.15s);
69
+ }
70
+
71
+ .fs-title
72
+ {
73
+ margin: 10px 0 0 0;
74
+ height: 18px;
75
+ overflow: hidden;
76
+ color: #000;
77
+ white-space: nowrap;
78
+ text-overflow: ellipsis;
79
+ font-weight: bold;
80
+ }
81
+
82
+ .fs-offer
83
+ {
84
+ font-size: 0.9em;
85
+ }
86
+
87
+ .fs-description
88
+ {
89
+ background-color: #f9f9f9;
90
+ padding: 10px 15px 100px 15px;
91
+ border-top: 1px solid #eee;
92
+ margin: 0 0 10px 0;
93
+ color: #777;
94
+ }
95
+
96
+ .fs-tag
97
+ {
98
+ position: absolute;
99
+ top: 10px;
100
+ right: 0px;
101
+ background: greenyellow;
102
+ display: block;
103
+ padding: 2px 10px;
104
+ @include box-shadow(1px 1px 1px rgba(0,0,0,0.3));
105
+ text-transform: uppercase;
106
+ font-size: 0.9em;
107
+ font-weight: bold;
108
+ }
109
+
110
+ .fs-cta
111
+ {
112
+ .button
113
+ {
114
+ position: absolute;
115
+ top: 112px;
116
+ right: 10px;
117
+ }
118
+ }
119
+ }
120
+
121
+ @media screen and (min-width: 960px) {
122
+ &:hover
123
+ {
124
+ .fs-overlay
125
+ {
126
+ border: 2px solid $fms-link-color;
127
+ margin-left: -1px;
128
+ margin-top: -1px;
129
+ }
130
+
131
+ .fs-inner
132
+ {
133
+ ul
134
+ {
135
+ top: -100px;
136
+ }
137
+
138
+ .fs-card-banner
139
+ {
140
+ // background-position: 50% -100px;
141
+ }
142
+
143
+ .fs-title,
144
+ .fs-offer
145
+ {
146
+ color: $fms-link-color;
147
+ }
148
+ }
149
+ }
150
+ }
151
+ }
152
+ }
153
+ }
154
+
155
+ #TB_window
156
+ {
157
+ &, iframe
158
+ {
159
+ width: 772px !important;
160
+ }
161
+ }
162
+
163
+ #plugin-information
164
+ {
165
+ #section-description
166
+ {
167
+ h2, h3, p, b, i, blockquote, li, ul, ol
168
+ {
169
+ clear: none;
170
+ }
171
+
172
+ .fs-selling-points
173
+ {
174
+ padding-bottom: 10px;
175
+ border-bottom: 1px solid #ddd;
176
+
177
+ ul
178
+ {
179
+ margin: 0;
180
+
181
+ li
182
+ {
183
+ padding: 0;
184
+ list-style: none outside none;
185
+
186
+ i.dashicons
187
+ {
188
+ color: $fs-logo-green-color;
189
+ font-size: 3em;
190
+ vertical-align: middle;
191
+ line-height: 30px;
192
+ float: left;
193
+ margin: 0 0 0 -15px;
194
+ }
195
+
196
+ h3
197
+ {
198
+ margin: 1em 30px !important;
199
+ }
200
+ }
201
+ }
202
+ }
203
+
204
+ .fs-screenshots
205
+ {
206
+ @include clearfix();
207
+ ul
208
+ {
209
+ list-style: none;
210
+ margin: 0;
211
+
212
+ li
213
+ {
214
+ width: 225px;
215
+ height: 225px;
216
+ float: left;
217
+ margin-bottom: 20px;
218
+ @include box-sizing(content-box);
219
+
220
+ a
221
+ {
222
+ display: block;
223
+ width: 100%;
224
+ height: 100%;
225
+ border: 1px solid;
226
+ @include box-shadow(1px 1px 1px rgba(0, 0, 0, 0.2));
227
+ background-size: cover;
228
+ }
229
+
230
+ &.odd
231
+ {
232
+ margin-right: 20px;
233
+ }
234
+ }
235
+ }
236
+ }
237
+ }
238
+
239
+ .plugin-information-pricing
240
+ {
241
+ $pricing_color: #FFFEEC;
242
+ $borders_color: #DDD;
243
+ margin: -16px;
244
+ // padding: 20px;
245
+ border-bottom: 1px solid $borders_color;
246
+
247
+ .fs-plan
248
+ {
249
+
250
+ h3
251
+ {
252
+ margin-top: 0;
253
+ padding: 20px;
254
+ font-size: 16px;
255
+ }
256
+
257
+ .nav-tab-wrapper
258
+ {
259
+ border-bottom: 1px solid $borders_color;
260
+
261
+ .nav-tab
262
+ {
263
+ cursor: pointer;
264
+ position: relative;
265
+ padding: 0 10px;
266
+ font-size: 0.9em;
267
+
268
+ label
269
+ {
270
+ text-transform: uppercase;
271
+ color: green;
272
+ background: greenyellow;
273
+ position: absolute;
274
+ left: -1px;
275
+ right: -1px;
276
+ bottom: 100%;
277
+ border: 1px solid darkgreen;
278
+ padding: 2px;
279
+ text-align: center;
280
+ font-size: 0.9em;
281
+ line-height: 1em;
282
+ }
283
+
284
+ &.nav-tab-active
285
+ {
286
+ cursor: default;
287
+ background: $pricing_color;
288
+ border-bottom-color: $pricing_color;
289
+ }
290
+ }
291
+ }
292
+
293
+ &.fs-single-cycle
294
+ {
295
+ h3
296
+ {
297
+ background: $pricing_color;
298
+ margin: 0;
299
+ padding-bottom: 0;
300
+ color: #0073aa;
301
+ }
302
+
303
+ .nav-tab-wrapper,
304
+ .fs-billing-frequency
305
+ {
306
+ display: none;
307
+ }
308
+ }
309
+
310
+ .fs-pricing-body
311
+ {
312
+ background: $pricing_color;
313
+ padding: 20px;
314
+ }
315
+
316
+ .button
317
+ {
318
+ width: 100%;
319
+ text-align: center;
320
+ font-weight: bold;
321
+ text-transform: uppercase;
322
+ font-size: 1.1em;
323
+ }
324
+
325
+ label
326
+ {
327
+ white-space: nowrap;
328
+ }
329
+
330
+ var {
331
+ font-style: normal;
332
+ }
333
+
334
+ .fs-billing-frequency,
335
+ .fs-annual-discount
336
+ {
337
+ text-align: center;
338
+ display: block;
339
+ font-weight: bold;
340
+ margin-bottom: 10px;
341
+ text-transform: uppercase;
342
+ background: #F3F3F3;
343
+ padding: 2px;
344
+ border: 1px solid #ccc;
345
+ }
346
+
347
+ .fs-annual-discount
348
+ {
349
+ text-transform: none;
350
+ color: green;
351
+ background: greenyellow;
352
+ }
353
+
354
+ ul.fs-trial-terms
355
+ {
356
+ font-size: 0.9em;
357
+
358
+ i
359
+ {
360
+ float: left;
361
+ margin: 0 0 0 -15px;
362
+ }
363
+
364
+ li
365
+ {
366
+ margin: 10px 0 0 0;
367
+ }
368
+ }
369
+ }
370
+ }
371
+
372
+ #section-features
373
+ {
374
+ .fs-features
375
+ {
376
+ margin: -20px -26px;
377
+ }
378
+
379
+ table
380
+ {
381
+ width: 100%;
382
+ border-spacing: 0;
383
+ border-collapse: separate;
384
+
385
+ thead
386
+ {
387
+ th
388
+ {
389
+ padding: 10px 0;
390
+ }
391
+
392
+ .fs-price
393
+ {
394
+ color: $fs-logo-green-color;
395
+ font-weight: normal;
396
+ display: block;
397
+ text-align: center;
398
+ }
399
+ }
400
+
401
+ tbody
402
+ {
403
+ td
404
+ {
405
+ border-top: 1px solid #ccc;
406
+ padding: 10px 0;
407
+ text-align: center;
408
+ width: 100px;
409
+ color: $fs-logo-green-color;
410
+
411
+ &:first-child
412
+ {
413
+ text-align: left;
414
+ width: auto;
415
+ color: inherit;
416
+ padding-left: 26px;
417
+ }
418
+ }
419
+ tr.fs-odd
420
+ {
421
+ td
422
+ {
423
+ background: #fefefe;
424
+ }
425
+ }
426
+ }
427
+ }
428
+
429
+ .dashicons-yes
430
+ {
431
+ width: 30px;
432
+ height: 30px;
433
+ font-size: 30px;
434
+ }
435
+ }
436
+ }
437
+
438
+ @media screen and (max-width: 961px) {
439
+ #fs_addons
440
+ {
441
+ .fs-cards-list
442
+ {
443
+ .fs-card
444
+ {
445
+ height: 265px;
446
+ }
447
+ }
448
+ }
449
+ }
freemius/assets/scss/admin/affiliation.scss ADDED
@@ -0,0 +1,97 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import "../start";
2
+
3
+ #fs_affiliation_content_wrapper {
4
+ #messages {
5
+ margin-top: 25px;
6
+ }
7
+
8
+ h3 {
9
+ font-size: 24px;
10
+ padding: 0;
11
+ margin-left: 0;
12
+ }
13
+
14
+ ul {
15
+ li {
16
+ @include box-sizing(border-box);
17
+ list-style-type: none;
18
+
19
+ &:before {
20
+ content: '✓';
21
+ margin-right: 10px;
22
+ font-weight: bold;
23
+ }
24
+ }
25
+ }
26
+
27
+ p:not(.description), li, label {
28
+ font-size: 16px !important;
29
+ line-height: 26px !important;
30
+ }
31
+
32
+ .button {
33
+ margin-top: 20px;
34
+ margin-bottom: 7px;
35
+ line-height: 35px;
36
+ height: 40px;
37
+ font-size: 16px;
38
+
39
+ &#cancel_button {
40
+ margin-right: 5px;
41
+ }
42
+ }
43
+
44
+ form {
45
+ .input-container {
46
+ .input-label {
47
+ font-weight: bold;
48
+ display: block;
49
+ width: 100%;
50
+ }
51
+
52
+ &.input-container-text {
53
+ label, input, textarea {
54
+ display: block;
55
+ }
56
+ }
57
+
58
+ margin-bottom: 15px;
59
+
60
+ #add_domain, .remove-domain {
61
+ text-decoration: none;
62
+ display: inline-block;
63
+ margin-top: 3px;
64
+
65
+ &:focus {
66
+ box-shadow: none;
67
+ }
68
+
69
+ &.disabled {
70
+ color: #aaa;
71
+ cursor: default;
72
+ }
73
+ }
74
+ }
75
+
76
+ #extra_domains_container {
77
+ .description {
78
+ margin-top: 0;
79
+ position: relative;
80
+ top: -4px;
81
+ }
82
+
83
+ .extra-domain-input-container {
84
+ margin-bottom: 15px;
85
+
86
+ .domain {
87
+ display: inline-block;
88
+ margin-right: 5px;
89
+
90
+ &:last-of-type {
91
+ margin-bottom: 0;
92
+ }
93
+ }
94
+ }
95
+ }
96
+ }
97
+ }
freemius/assets/scss/admin/checkout.scss ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ @media screen and (max-width: 782px) {
2
+ #wpbody-content {
3
+ padding-bottom: 0 !important;
4
+ }
5
+ }
freemius/assets/scss/admin/common.scss ADDED
@@ -0,0 +1,218 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import "../start";
2
+ @import "themes";
3
+
4
+ #iframe
5
+ {
6
+ line-height: 0;
7
+ font-size: 0;
8
+ }
9
+
10
+ .fs-full-size-wrapper
11
+ {
12
+ margin: 40px 0 -65px -20px;
13
+
14
+ @media (max-width: 600px) {
15
+ margin: 0 0 -65px -10px;
16
+ }
17
+ }
18
+
19
+ .fs-notice
20
+ {
21
+ position: relative;
22
+
23
+ &.fs-has-title
24
+ {
25
+ margin-bottom: 30px !important;
26
+ }
27
+
28
+ &.success
29
+ {
30
+ color: green;
31
+ // font-weight: normal;
32
+ }
33
+
34
+ &.promotion
35
+ {
36
+ border-color: $fs-notice-promotion-border-color !important;
37
+ background-color: $fs-notice-promotion-bkg !important;
38
+ }
39
+
40
+ .fs-notice-body
41
+ {
42
+ margin: .5em 0;
43
+ padding: 2px;
44
+ }
45
+
46
+ .fs-close
47
+ {
48
+ // position: absolute;
49
+ // top: 2px;
50
+ // bottom: 2px;
51
+ // right: 2px;
52
+ // min-width: 100px;
53
+ // text-align: center;
54
+ // padding-right: 2px;
55
+ cursor: pointer;
56
+ color: #aaa;
57
+ float: right;
58
+
59
+ &:hover
60
+ {
61
+ color: #666;
62
+ // background: #A9A9A9;
63
+ }
64
+
65
+ > *
66
+ {
67
+ margin-top: 7px;
68
+ display: inline-block;
69
+ }
70
+ }
71
+
72
+ label.fs-plugin-title
73
+ {
74
+ background: rgba(0, 0, 0, 0.3);
75
+ color: #fff;
76
+ padding: 2px 10px;
77
+ position: absolute;
78
+ top: 100%;
79
+ bottom: auto;
80
+ right: auto;
81
+ @include border-radius(0 0 3px 3px);
82
+ left: 10px;
83
+ font-size: 12px;
84
+ font-weight: bold;
85
+ cursor: auto;
86
+ }
87
+ }
88
+
89
+ div.fs-notice
90
+ {
91
+ &.updated,
92
+ &.success,
93
+ &.promotion
94
+ {
95
+ display: block !important;
96
+ }
97
+ }
98
+
99
+ .rtl .fs-notice
100
+ {
101
+ .fs-close
102
+ {
103
+ // left: 2px;
104
+ // right: auto;
105
+ // padding-right: 0;
106
+ // padding-left: 2px;
107
+ float: left;
108
+ }
109
+ }
110
+
111
+ .fs-secure-notice
112
+ {
113
+ position: fixed;
114
+ top: 32px;
115
+ left: 160px;
116
+ right: 0;
117
+ background: rgb(235, 253, 235);
118
+ padding: 10px 20px;
119
+ color: green;
120
+ z-index: 9999;
121
+ @include box-shadow(0 2px 2px rgba(6, 113, 6, 0.3));
122
+ @include opacity(0.95);
123
+
124
+ &:hover
125
+ {
126
+ @include opacity(1);
127
+ }
128
+
129
+ a.fs-security-proof
130
+ {
131
+ color: green;
132
+ text-decoration: none;
133
+ }
134
+ }
135
+
136
+ @media screen and (max-width: 960px) {
137
+ .fs-secure-notice
138
+ {
139
+ left: 36px;
140
+ }
141
+ }
142
+
143
+ @media screen and (max-width: 600px) {
144
+ .fs-secure-notice
145
+ {
146
+ display: none;
147
+ }
148
+ }
149
+
150
+ @media screen and (max-width: 500px) {
151
+ #fs_promo_tab
152
+ {
153
+ display: none;
154
+ }
155
+ }
156
+
157
+ @media screen and (max-width: 782px) {
158
+ .fs-secure-notice
159
+ {
160
+ left: 0;
161
+ top: 46px;
162
+ text-align: center;
163
+ }
164
+ }
165
+
166
+ span.fs-submenu-item.fs-sub:before
167
+ {
168
+ // Add small arrow.
169
+ content: '\21B3';
170
+ padding: 0 5px;
171
+ }
172
+
173
+ .rtl
174
+ {
175
+ span.fs-submenu-item.fs-sub:before
176
+ {
177
+ // Add small RTL arrow.
178
+ content: '\21B2';
179
+ }
180
+ }
181
+
182
+ .fs-submenu-item
183
+ {
184
+ &.pricing
185
+ {
186
+ &.upgrade-mode
187
+ {
188
+ color: greenyellow;
189
+ }
190
+
191
+ &.trial-mode
192
+ {
193
+ color: #83e2ff;
194
+ }
195
+ }
196
+ }
197
+
198
+ #adminmenu .update-plugins.fs-trial
199
+ {
200
+ background-color: #00b9eb;
201
+ }
202
+ .fs-ajax-spinner
203
+ {
204
+ border: 0;
205
+ width: 20px;
206
+ height: 20px;
207
+ margin-right: 5px;
208
+ vertical-align: sub;
209
+ display: inline-block;
210
+ background: url('../../../../../../../wp-admin/images/wpspin_light-2x.gif');
211
+ background-size: contain;
212
+ }
213
+
214
+ .wrap.fs-section {
215
+ h2 {
216
+ text-align: left;
217
+ }
218
+ }
freemius/assets/scss/admin/connect.scss ADDED
@@ -0,0 +1,548 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import "../start";
2
+
3
+ $form_width: 480px;
4
+
5
+ #fs_connect
6
+ {
7
+ width: $form_width;
8
+ @include box-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));
9
+ margin: 20px 0;
10
+
11
+ @media screen and (max-width: ($form_width - 1)) {
12
+ @include box-shadow(none);
13
+ width: auto;
14
+ margin: 0 0 0 -10px;
15
+ }
16
+
17
+ .fs-content
18
+ {
19
+ background: #fff;
20
+ padding: 15px 20px;
21
+
22
+ .fs-error {
23
+ background: snow;
24
+ color: $fs-logo-magenta-color;
25
+ border: 1px solid $fs-logo-magenta-color;
26
+ @include box-shadow(0 1px 1px 0 rgba(0,0,0,.1));
27
+ text-align: center;
28
+ padding: 5px;
29
+ margin-bottom: 10px;
30
+ }
31
+
32
+ p
33
+ {
34
+ margin: 0;
35
+ padding: 0;
36
+ font-size: 1.2em;
37
+ }
38
+ }
39
+
40
+ .fs-license-key-container {
41
+ position: relative;
42
+ width: 280px;
43
+ margin: 10px auto 0 auto;
44
+
45
+ input {
46
+ width: 100%;
47
+ }
48
+
49
+ .dashicons {
50
+ position: absolute;
51
+ top: 5px;
52
+ right: 5px;
53
+ }
54
+ }
55
+
56
+ &.require-license-key {
57
+ #sites_list_container {
58
+ td {
59
+ cursor: pointer;
60
+ }
61
+ }
62
+ }
63
+
64
+ #delegate_to_site_admins {
65
+ margin-right: 15px;
66
+ float: right;
67
+ height: 26px;
68
+ vertical-align: middle;
69
+ line-height: 37px;
70
+ font-weight: bold;
71
+ border-bottom: 1px dashed;
72
+ text-decoration: none;
73
+
74
+ &.rtl {
75
+ margin-left: 15px;
76
+ margin-right: 0;
77
+ }
78
+ }
79
+
80
+ .fs-actions
81
+ {
82
+ padding: 10px 20px;
83
+ background: #C0C7CA;
84
+
85
+ .button
86
+ {
87
+ padding: 0 10px 1px;
88
+ line-height: 35px;
89
+ height: 37px;
90
+ font-size: 16px;
91
+ margin-bottom: 0;
92
+
93
+ .dashicons
94
+ {
95
+ font-size: 37px;
96
+ margin-left: -8px;
97
+ margin-right: 12px;
98
+ }
99
+
100
+ &.button-primary
101
+ {
102
+ padding-right: 15px;
103
+ padding-left: 15px;
104
+
105
+ &:after
106
+ {
107
+ content: ' \279C';
108
+ }
109
+
110
+ &.fs-loading
111
+ {
112
+ &:after
113
+ {
114
+ content: '';
115
+ }
116
+ }
117
+ }
118
+
119
+ &.button-secondary
120
+ {
121
+ float: right;
122
+ }
123
+ }
124
+
125
+ // .fs-skip
126
+ // {
127
+ // line-height: 38px;
128
+ // vertical-align: middle;
129
+ // text-decoration: none;
130
+ // margin-left: 10px;
131
+ // }
132
+ }
133
+
134
+ &.fs-anonymous-disabled
135
+ {
136
+ .fs-actions
137
+ {
138
+ .button.button-primary
139
+ {
140
+ width: 100%;
141
+ }
142
+ }
143
+ }
144
+
145
+ .fs-permissions
146
+ {
147
+ padding: 10px 20px;
148
+ background: #FEFEFE;
149
+ // background: #F1F1F1;
150
+ @include transition(background 0.5s ease);
151
+
152
+ .fs-license-sync-disclaimer {
153
+ text-align: center;
154
+ margin-top: 0;
155
+ }
156
+
157
+ .fs-trigger
158
+ {
159
+ font-size: 0.9em;
160
+ text-decoration: none;
161
+ text-align: center;
162
+ display: block;
163
+ }
164
+
165
+ ul
166
+ {
167
+ height: 0;
168
+ overflow: hidden;
169
+ margin: 0;
170
+
171
+ li
172
+ {
173
+ margin-bottom: 12px;
174
+
175
+ &:last-child
176
+ {
177
+ margin-bottom: 0;
178
+ }
179
+
180
+ i.dashicons
181
+ {
182
+ float: left;
183
+ font-size: 40px;
184
+ width: 40px;
185
+ height: 40px;
186
+ }
187
+
188
+ div
189
+ {
190
+ margin-left: 55px;
191
+
192
+ span
193
+ {
194
+ font-weight: bold;
195
+ text-transform: uppercase;
196
+ color: #23282d;
197
+ }
198
+
199
+ p
200
+ {
201
+ margin: 2px 0 0 0;
202
+ }
203
+ }
204
+ }
205
+ }
206
+
207
+ &.fs-open
208
+ {
209
+ background: #fff;
210
+
211
+ ul
212
+ {
213
+ height: auto;
214
+ margin: 20px 20px 10px 20px;
215
+ }
216
+ }
217
+
218
+ @media screen and (max-width: ($form_width - 1)) {
219
+ background: #fff;
220
+
221
+ .fs-trigger
222
+ {
223
+ display: none;
224
+ }
225
+
226
+ ul
227
+ {
228
+ height: auto;
229
+ margin: 20px;
230
+ }
231
+ }
232
+ }
233
+
234
+ .fs-freemium-licensing {
235
+ padding: 8px;
236
+ // background: #0085BA;
237
+ background: #777;
238
+ color: #fff;
239
+
240
+ p {
241
+ text-align: center;
242
+ display: block;
243
+ margin: 0;
244
+ padding: 0;
245
+ }
246
+
247
+ a {
248
+ color: #C2EEFF;
249
+ text-decoration: underline;
250
+ }
251
+ }
252
+
253
+ $icon_size: 80px;
254
+ $wp_logo_padding: $icon_size / 10;
255
+ $icons_top: 10px;
256
+
257
+ .fs-visual
258
+ {
259
+ padding: 12px;
260
+ line-height: 0;
261
+ background: #fafafa;
262
+ height: $icon_size;
263
+ position: relative;
264
+
265
+ .fs-site-icon
266
+ {
267
+ position: absolute;
268
+ left: 20px;
269
+ top: $icons_top;
270
+ }
271
+
272
+ .fs-connect-logo
273
+ {
274
+ position: absolute;
275
+ right: 20px;
276
+ top: $icons_top;
277
+ }
278
+
279
+ .fs-plugin-icon
280
+ {
281
+ position: absolute;
282
+ top: $icons_top;
283
+ left: 50%;
284
+ margin-left: - ($icon_size / 2);
285
+ }
286
+
287
+ .fs-plugin-icon,
288
+ .fs-site-icon,
289
+ img,
290
+ object
291
+ {
292
+ width: $icon_size;
293
+ height: $icon_size;
294
+ }
295
+
296
+ .dashicons-wordpress
297
+ {
298
+ font-size: $icon_size - ($wp_logo_padding * 2);
299
+ background: $wordpress_color;
300
+ color: #fff;
301
+ width: $icon_size - ($wp_logo_padding * 2);
302
+ height: $icon_size - ($wp_logo_padding * 2);
303
+ padding: $wp_logo_padding;
304
+ }
305
+
306
+ .dashicons-plus
307
+ {
308
+ position: absolute;
309
+ top: 50%;
310
+ font-size: 30px;
311
+ margin-top: -10px;
312
+ color: #bbb;
313
+
314
+ &.fs-first
315
+ {
316
+ left: 28%;
317
+ }
318
+ &.fs-second
319
+ {
320
+ left: 65%;
321
+ }
322
+ }
323
+
324
+ .fs-plugin-icon,
325
+ .fs-connect-logo,
326
+ .fs-site-icon
327
+ {
328
+ border: 1px solid #ccc;
329
+ padding: 1px;
330
+ background: #fff;
331
+ }
332
+ }
333
+
334
+ .fs-terms
335
+ {
336
+ text-align: center;
337
+ font-size: 0.85em;
338
+ padding: 5px;
339
+ background: rgba(0, 0, 0, 0.05);
340
+
341
+ &, a
342
+ {
343
+ color: #999;
344
+ }
345
+
346
+ a
347
+ {
348
+ text-decoration: none;
349
+ }
350
+ }
351
+ }
352
+
353
+ @import "multisite-options";
354
+ @import "tooltip";
355
+ @import "gdpr-consent";
356
+
357
+ .rtl
358
+ {
359
+ #fs_connect
360
+ {
361
+ .fs-actions
362
+ {
363
+ padding: 10px 20px;
364
+ background: #C0C7CA;
365
+
366
+ .button
367
+ {
368
+ .dashicons
369
+ {
370
+ font-size: 37px;
371
+ margin-left: -8px;
372
+ margin-right: 12px;
373
+ }
374
+
375
+ &.button-primary
376
+ {
377
+ &:after
378
+ {
379
+ content: ' \000bb';
380
+ }
381
+
382
+ &.fs-loading
383
+ {
384
+ &:after
385
+ {
386
+ content: '';
387
+ }
388
+ }
389
+ }
390
+
391
+ &.button-secondary
392
+ {
393
+ float: left;
394
+ }
395
+ }
396
+ }
397
+
398
+ .fs-permissions
399
+ {
400
+ ul
401
+ {
402
+ li
403
+ {
404
+ div
405
+ {
406
+ margin-right: 55px;
407
+ margin-left: 0;
408
+ }
409
+
410
+ i.dashicons
411
+ {
412
+ float: right;
413
+ }
414
+
415
+ }
416
+ }
417
+ }
418
+
419
+ .fs-visual
420
+ {
421
+ .fs-site-icon
422
+ {
423
+ right: 20px;
424
+ left: auto;
425
+ }
426
+
427
+ .fs-connect-logo
428
+ {
429
+ right: auto;
430
+ left: 20px;
431
+ }
432
+ }
433
+ }
434
+ }
435
+
436
+ #fs_theme_connect_wrapper {
437
+ position: fixed;
438
+ top: 0;
439
+ height: 100%;
440
+ width: 100%;
441
+ z-index: 99990;
442
+ background: rgba(0, 0, 0, 0.75);
443
+ text-align: center;
444
+ overflow-y: auto;
445
+
446
+ &:before {
447
+ content: "";
448
+ display: inline-block;
449
+ vertical-align: middle;
450
+ height: 100%;
451
+ }
452
+
453
+ > button.close {
454
+ color: white;
455
+ cursor: pointer;
456
+ height: 40px;
457
+ width: 40px;
458
+ position: absolute;
459
+ right: 0;
460
+ border: 0;
461
+ background-color: transparent;
462
+ top: 32px;
463
+ }
464
+
465
+ #fs_connect {
466
+ top: 0;
467
+ text-align: left;
468
+ display: inline-block;
469
+ vertical-align: middle;
470
+ margin-top: 52px;
471
+ margin-bottom: 20px;
472
+
473
+ .fs-terms
474
+ {
475
+ background: rgba(140, 140, 140, 0.64);
476
+
477
+ &, a
478
+ {
479
+ color: #c5c5c5;
480
+ }
481
+ }
482
+ }
483
+ }
484
+
485
+ .wp-pointer-content
486
+ {
487
+ #fs_connect
488
+ {
489
+ margin: 0;
490
+ @include box-shadow(none);
491
+ }
492
+ }
493
+
494
+ .fs-opt-in-pointer
495
+ {
496
+ .wp-pointer-content
497
+ {
498
+ padding: 0;
499
+ }
500
+
501
+ &.wp-pointer-top
502
+ {
503
+ .wp-pointer-arrow
504
+ {
505
+ border-bottom-color: #dfdfdf;
506
+ }
507
+ .wp-pointer-arrow-inner
508
+ {
509
+ border-bottom-color: #fafafa;
510
+ }
511
+ }
512
+
513
+ &.wp-pointer-bottom
514
+ {
515
+ .wp-pointer-arrow
516
+ {
517
+ border-top-color: #dfdfdf;
518
+ }
519
+ .wp-pointer-arrow-inner
520
+ {
521
+ border-top-color: #fafafa;
522
+ }
523
+ }
524
+
525
+ &.wp-pointer-left
526
+ {
527
+ .wp-pointer-arrow
528
+ {
529
+ border-right-color: #dfdfdf;
530
+ }
531
+ .wp-pointer-arrow-inner
532
+ {
533
+ border-right-color: #fafafa;
534
+ }
535
+ }
536
+
537
+ &.wp-pointer-right
538
+ {
539
+ .wp-pointer-arrow
540
+ {
541
+ border-left-color: #dfdfdf;
542
+ }
543
+ .wp-pointer-arrow-inner
544
+ {
545
+ border-left-color: #fafafa;
546
+ }
547
+ }
548
+ }
freemius/assets/scss/admin/debug.scss ADDED
@@ -0,0 +1,135 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import "../start";
2
+
3
+ .switch
4
+ {
5
+ position: relative;
6
+ display: inline-block;
7
+ font-size: 1.6em;
8
+ font-weight: bold;
9
+ color: #ccc;
10
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.8);
11
+ height: 18px;
12
+ padding: 6px 6px 5px 6px;
13
+ border: 1px solid #ccc;
14
+ border: 1px solid rgba(0, 0, 0, 0.2);
15
+ border-radius: 4px;
16
+ background: #ececec;
17
+ box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.1), inset 0px 1px 3px 0px rgba(0, 0, 0, 0.1);
18
+ cursor: pointer;
19
+
20
+ span
21
+ {
22
+ display: inline-block; width: 35px;
23
+ text-transform: uppercase;
24
+
25
+ &.on
26
+ {
27
+ color: $button-primary-bkg;
28
+ }
29
+ }
30
+
31
+ .toggle
32
+ {
33
+ position: absolute;
34
+ top: 1px;
35
+ width: 37px;
36
+ height: 25px;
37
+ border: 1px solid #ccc;
38
+ border: 1px solid rgba(0, 0, 0, 0.3);
39
+ border-radius: 4px;
40
+ background: #fff;
41
+ background: -moz-linear-gradient(top, #ececec 0%, #fff 100%);
42
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ececec), color-stop(100%, #fff));
43
+ background: -webkit-linear-gradient(top, #ececec 0%, #fff 100%);
44
+ background: -o-linear-gradient(top, #ececec 0%, #fff 100%);
45
+ background: -ms-linear-gradient(top, #ececec 0%, #fff 100%);
46
+ background: linear-gradient(top, #ececec 0%, #fff 100%);
47
+ box-shadow: inset 0px 1px 0px 0px rgba(255, 255, 255, 0.5);
48
+ z-index: 999;
49
+ @include transition(all 0.15s ease-in-out);
50
+ }
51
+
52
+ &.on .toggle
53
+ {
54
+ left: 2%;
55
+ }
56
+ &.off .toggle
57
+ {
58
+ left: 54%;
59
+ }
60
+
61
+ /* Round switch */
62
+ &.round
63
+ {
64
+ padding: 0px 20px;
65
+ border-radius: 40px;
66
+
67
+ .toggle
68
+ {
69
+ border-radius: 40px;
70
+ width: 14px;
71
+ height: 14px;
72
+ }
73
+
74
+ &.on .toggle
75
+ {
76
+ left: 3%;
77
+ background: $button-primary-bkg;
78
+ }
79
+ &.off .toggle
80
+ {
81
+ left: 58%;
82
+ }
83
+ }
84
+ }
85
+
86
+ .switch-label
87
+ {
88
+ font-size: 20px;
89
+ line-height: 31px;
90
+ margin: 0 5px;
91
+ }
92
+
93
+ #fs_log_book {
94
+ table {
95
+ font-family: Consolas,Monaco,monospace;
96
+ font-size: 12px;
97
+
98
+ th {
99
+ color: #ccc;
100
+ }
101
+
102
+ tr {
103
+ background: #232525;
104
+
105
+ &.alternate {
106
+ background: #2b2b2b;
107
+ }
108
+
109
+ td {
110
+ &.fs-col--logger {
111
+ color: #5a7435;
112
+ }
113
+ &.fs-col--type {
114
+ color: #ffc861;
115
+ }
116
+ &.fs-col--function {
117
+ color: #a7b7b1;
118
+ font-weight: bold;
119
+ }
120
+ &.fs-col--message {
121
+ &, a
122
+ {
123
+ color: #9a73ac !important;
124
+ }
125
+ }
126
+ &.fs-col--file {
127
+ color: #d07922;
128
+ }
129
+ &.fs-col--timestamp {
130
+ color: #6596be;
131
+ }
132
+ }
133
+ }
134
+ }
135
+ }
freemius/assets/scss/admin/dialog-boxes.scss ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ @import "../start";
2
+ @import "modal-common";
3
+ @import "deactivation-feedback";
4
+ @import "license-activation";
5
+ @import "multisite-options";
6
+ @import "license-key-resend";
7
+ @import "ajax-loader";
8
+ @import "auto-install";
freemius/assets/scss/admin/gdpr-optin-notice.scss ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .fs-notice[data-id^="gdpr_optin_actions"]
2
+ {
3
+ .underlined {
4
+ text-decoration: underline;
5
+ }
6
+
7
+ ul {
8
+ .button, .action-description {
9
+ vertical-align: middle;
10
+ }
11
+
12
+ .action-description {
13
+ display: inline-block;
14
+ margin-left: 3px;
15
+ }
16
+ }
17
+ }
freemius/assets/scss/admin/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ // Hide file structure from users on unprotected servers.
freemius/assets/scss/customizer.scss ADDED
@@ -0,0 +1,125 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import "start";
2
+
3
+ #fs_customizer_upsell {
4
+ .fs-customizer-plan {
5
+ padding: 10px 20px 20px 20px;
6
+ border-radius: 3px;
7
+ background: #fff;
8
+
9
+ h2 {
10
+ position: relative;
11
+ margin: 0;
12
+ line-height: 2em;
13
+ text-transform: uppercase;
14
+
15
+ .button-link {
16
+ top: -2px;
17
+ }
18
+ }
19
+ }
20
+
21
+ .fs-feature {
22
+ position: relative;
23
+ }
24
+
25
+ .dashicons-yes {
26
+ color: #0085ba;
27
+ font-size: 2em;
28
+ vertical-align: bottom;
29
+ margin-left: -7px;
30
+ margin-right: 10px;
31
+
32
+ .rtl & {
33
+ margin-left: 10px;
34
+ margin-right: -7px;
35
+ }
36
+ }
37
+
38
+ .dashicons-editor-help
39
+ {
40
+ color: #bbb;
41
+ cursor: help;
42
+
43
+ $tooltip-color: #000;
44
+
45
+ .fs-feature-desc {
46
+ opacity: 0;
47
+ visibility: hidden;
48
+ @include transition(opacity 0.3s ease-in-out);
49
+
50
+ position: absolute;
51
+ background: $tooltip-color;
52
+ color: #fff;
53
+ font-family: 'arial', serif;
54
+ font-size: 12px;
55
+ padding: 10px;
56
+ z-index: 999999;
57
+ bottom: 100%;
58
+ margin-bottom: 5px;
59
+ left: 0;
60
+ right: 0;
61
+ @include border-radius(5px);
62
+ @include box-shadow(1px 1px 1px rgba(0,0,0,0.2));
63
+ line-height: 1.3em;
64
+ font-weight: bold;
65
+ text-align: left;
66
+
67
+ .rtl &
68
+ {
69
+ text-align: right;
70
+ }
71
+
72
+ &::after {
73
+ content: ' ';
74
+ display: block;
75
+ width: 0;
76
+ height: 0;
77
+ border-style: solid;
78
+ border-width: 5px 5px 0 5px;
79
+ border-color: $tooltip-color transparent transparent transparent;
80
+ position: absolute;
81
+ top: 100%;
82
+ left: 21px;
83
+
84
+ .rtl & {
85
+ right: 21px;
86
+ left: auto;
87
+ }
88
+ }
89
+ }
90
+
91
+ &:hover {
92
+ .fs-feature-desc {
93
+ visibility: visible;
94
+ opacity: 1;
95
+ }
96
+ }
97
+ }
98
+
99
+ .button-primary {
100
+ display: block;
101
+ text-align: center;
102
+ margin-top: 10px;
103
+ }
104
+ }
105
+
106
+ #fs_customizer_support
107
+ {
108
+ display: block !important;
109
+
110
+ .button {
111
+ float: right;
112
+ }
113
+
114
+ .button-group {
115
+ width: 100%;
116
+ display: block;
117
+ margin-top: 10px;
118
+
119
+ .button {
120
+ float: none;
121
+ width: 50%;
122
+ text-align: center;
123
+ }
124
+ }
125
+ }
freemius/assets/scss/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ // Hide file structure from users on unprotected servers.
freemius/config.php ADDED
@@ -0,0 +1,388 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @package Freemius
4
+ * @copyright Copyright (c) 2015, Freemius, Inc.
5
+ * @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
6
+ * @since 1.0.4
7
+ */
8
+
9
+ if ( ! defined( 'ABSPATH' ) ) {
10
+ exit;
11
+ }
12
+
13
+ if ( ! defined( 'WP_FS__SLUG' ) ) {
14
+ define( 'WP_FS__SLUG', 'freemius' );
15
+ }
16
+ if ( ! defined( 'WP_FS__DEV_MODE' ) ) {
17
+ define( 'WP_FS__DEV_MODE', false );
18
+ }
19
+
20
+ #--------------------------------------------------------------------------------
21
+ #region API Connectivity Issues Simulation
22
+ #--------------------------------------------------------------------------------
23
+
24
+ if ( ! defined( 'WP_FS__SIMULATE_NO_API_CONNECTIVITY' ) ) {
25
+ define( 'WP_FS__SIMULATE_NO_API_CONNECTIVITY', false );
26
+ }
27
+ if ( ! defined( 'WP_FS__SIMULATE_NO_CURL' ) ) {
28
+ define( 'WP_FS__SIMULATE_NO_CURL', false );
29
+ }
30
+ if ( ! defined( 'WP_FS__SIMULATE_NO_API_CONNECTIVITY_CLOUDFLARE' ) ) {
31
+ define( 'WP_FS__SIMULATE_NO_API_CONNECTIVITY_CLOUDFLARE', false );
32
+ }
33
+ if ( ! defined( 'WP_FS__SIMULATE_NO_API_CONNECTIVITY_SQUID_ACL' ) ) {
34
+ define( 'WP_FS__SIMULATE_NO_API_CONNECTIVITY_SQUID_ACL', false );
35
+ }
36
+ if ( WP_FS__SIMULATE_NO_CURL ) {
37
+ define( 'FS_SDK__SIMULATE_NO_CURL', true );
38
+ }
39
+ if ( WP_FS__SIMULATE_NO_API_CONNECTIVITY_CLOUDFLARE ) {
40
+ define( 'FS_SDK__SIMULATE_NO_API_CONNECTIVITY_CLOUDFLARE', true );
41
+ }
42
+ if ( WP_FS__SIMULATE_NO_API_CONNECTIVITY_SQUID_ACL ) {
43
+ define( 'FS_SDK__SIMULATE_NO_API_CONNECTIVITY_SQUID_ACL', true );
44
+ }
45
+
46
+ #endregion
47
+
48
+ if ( ! defined( 'WP_FS__SIMULATE_FREEMIUS_OFF' ) ) {
49
+ define( 'WP_FS__SIMULATE_FREEMIUS_OFF', false );
50
+ }
51
+
52
+ if ( ! defined( 'WP_FS__PING_API_ON_IP_OR_HOST_CHANGES' ) ) {
53
+ /**
54
+ * @since 1.1.7.3
55
+ * @author Vova Feldman (@svovaf)
56
+ *
57
+ * I'm not sure if shared servers periodically change IP, or the subdomain of the
58
+ * admin dashboard. Also, I've seen sites that have strange loop of switching
59
+ * between domains on a daily basis. Therefore, to eliminate the risk of
60
+ * multiple unwanted connectivity test pings, temporary ignore domain or
61
+ * server IP changes.
62
+ */
63
+ define( 'WP_FS__PING_API_ON_IP_OR_HOST_CHANGES', false );
64
+ }
65
+
66
+ /**
67
+ * If your dev environment supports custom public network IP setup
68
+ * like VVV, please update WP_FS__LOCALHOST_IP with your public IP
69
+ * and uncomment it during dev.
70
+ */
71
+ if ( ! defined( 'WP_FS__LOCALHOST_IP' ) ) {
72
+ // VVV default public network IP.
73
+ define( 'WP_FS__VVV_DEFAULT_PUBLIC_IP', '192.168.50.4' );
74
+
75
+ // define( 'WP_FS__LOCALHOST_IP', WP_FS__VVV_DEFAULT_PUBLIC_IP );
76
+ }
77
+
78
+ /**
79
+ * If true and running with secret key, the opt-in process
80
+ * will skip the email activation process which is invoked
81
+ * when the email of the context user already exist in Freemius
82
+ * database (as a security precaution, to prevent sharing user
83
+ * secret with unauthorized entity).
84
+ *
85
+ * IMPORTANT:
86
+ * AS A SECURITY PRECAUTION, WE VALIDATE THE TIMESTAMP OF THE OPT-IN REQUEST.
87
+ * THEREFORE, MAKE SURE THAT WHEN USING THIS PARAMETER,YOUR TESTING ENVIRONMENT'S
88
+ * CLOCK IS SYNCED.
89
+ */
90
+ if ( ! defined( 'WP_FS__SKIP_EMAIL_ACTIVATION' ) ) {
91
+ define( 'WP_FS__SKIP_EMAIL_ACTIVATION', false );
92
+ }
93
+
94
+
95
+ #--------------------------------------------------------------------------------
96
+ #region Directories
97
+ #--------------------------------------------------------------------------------
98
+
99
+ if ( ! defined( 'WP_FS__DIR' ) ) {
100
+ define( 'WP_FS__DIR', dirname( __FILE__ ) );
101
+ }
102
+ if ( ! defined( 'WP_FS__DIR_INCLUDES' ) ) {
103
+ define( 'WP_FS__DIR_INCLUDES', WP_FS__DIR . '/includes' );
104
+ }
105
+ if ( ! defined( 'WP_FS__DIR_TEMPLATES' ) ) {
106
+ define( 'WP_FS__DIR_TEMPLATES', WP_FS__DIR . '/templates' );
107
+ }
108
+ if ( ! defined( 'WP_FS__DIR_ASSETS' ) ) {
109
+ define( 'WP_FS__DIR_ASSETS', WP_FS__DIR . '/assets' );
110
+ }
111
+ if ( ! defined( 'WP_FS__DIR_CSS' ) ) {
112
+ define( 'WP_FS__DIR_CSS', WP_FS__DIR_ASSETS . '/css' );
113
+ }
114
+ if ( ! defined( 'WP_FS__DIR_JS' ) ) {
115
+ define( 'WP_FS__DIR_JS', WP_FS__DIR_ASSETS . '/js' );
116
+ }
117
+ if ( ! defined( 'WP_FS__DIR_IMG' ) ) {
118
+ define( 'WP_FS__DIR_IMG', WP_FS__DIR_ASSETS . '/img' );
119
+ }
120
+ if ( ! defined( 'WP_FS__DIR_SDK' ) ) {
121
+ define( 'WP_FS__DIR_SDK', WP_FS__DIR_INCLUDES . '/sdk' );
122
+ }
123
+
124
+ #endregion
125
+
126
+ /**
127
+ * Domain / URL / Address
128
+ */
129
+ define( 'WP_FS__ROOT_DOMAIN_PRODUCTION', 'freemius.com' );
130
+ define( 'WP_FS__DOMAIN_PRODUCTION', 'wp.freemius.com' );
131
+ define( 'WP_FS__ADDRESS_PRODUCTION', 'https://' . WP_FS__DOMAIN_PRODUCTION );
132
+
133
+ if ( ! defined( 'WP_FS__DOMAIN_LOCALHOST' ) ) {
134
+ define( 'WP_FS__DOMAIN_LOCALHOST', 'wp.freemius' );
135
+ }
136
+ if ( ! defined( 'WP_FS__ADDRESS_LOCALHOST' ) ) {
137
+ define( 'WP_FS__ADDRESS_LOCALHOST', 'http://' . WP_FS__DOMAIN_LOCALHOST . ':8080' );
138
+ }
139
+
140
+ if ( ! defined( 'WP_FS__TESTING_DOMAIN' ) ) {
141
+ define( 'WP_FS__TESTING_DOMAIN', 'fswp' );
142
+ }
143
+
144
+ #--------------------------------------------------------------------------------
145
+ #region HTTP
146
+ #--------------------------------------------------------------------------------
147
+
148
+ if ( ! defined( 'WP_FS__IS_HTTP_REQUEST' ) ) {
149
+ define( 'WP_FS__IS_HTTP_REQUEST', isset( $_SERVER['HTTP_HOST'] ) );
150
+ }
151
+
152
+ if ( ! defined( 'WP_FS__IS_HTTPS' ) ) {
153
+ define( 'WP_FS__IS_HTTPS', ( WP_FS__IS_HTTP_REQUEST &&
154
+ // Checks if CloudFlare's HTTPS (Flexible SSL support).
155
+ isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) &&
156
+ 'https' === strtolower( $_SERVER['HTTP_X_FORWARDED_PROTO'] )
157
+ ) ||
158
+ // Check if HTTPS request.
159
+ ( isset( $_SERVER['HTTPS'] ) && 'on' == $_SERVER['HTTPS'] ) ||
160
+ ( isset( $_SERVER['SERVER_PORT'] ) && 443 == $_SERVER['SERVER_PORT'] )
161
+ );
162
+ }
163
+
164
+ if ( ! defined( 'WP_FS__IS_POST_REQUEST' ) ) {
165
+ define( 'WP_FS__IS_POST_REQUEST', ( WP_FS__IS_HTTP_REQUEST &&
166
+ strtoupper( $_SERVER['REQUEST_METHOD'] ) == 'POST' ) );
167
+ }
168
+
169
+ if ( ! defined( 'WP_FS__REMOTE_ADDR' ) ) {
170
+ define( 'WP_FS__REMOTE_ADDR', fs_get_ip() );
171
+ }
172
+
173
+ if ( ! defined( 'WP_FS__IS_LOCALHOST' ) ) {
174
+ if ( defined( 'WP_FS__LOCALHOST_IP' ) ) {
175
+ define( 'WP_FS__IS_LOCALHOST', ( WP_FS__LOCALHOST_IP === WP_FS__REMOTE_ADDR ) );
176
+ } else {
177
+ define( 'WP_FS__IS_LOCALHOST', WP_FS__IS_HTTP_REQUEST &&
178
+ is_string( WP_FS__REMOTE_ADDR ) &&
179
+ ( substr( WP_FS__REMOTE_ADDR, 0, 4 ) === '127.' ||
180
+ WP_FS__REMOTE_ADDR === '::1' )
181
+ );
182
+ }
183
+ }
184
+
185
+ if ( ! defined( 'WP_FS__IS_LOCALHOST_FOR_SERVER' ) ) {
186
+ define( 'WP_FS__IS_LOCALHOST_FOR_SERVER', ( ! WP_FS__IS_HTTP_REQUEST ||
187
+ false !== strpos( $_SERVER['HTTP_HOST'], 'localhost' ) ) );
188
+ }
189
+
190
+ #endregion
191
+
192
+ if ( ! defined( 'WP_FS__IS_PRODUCTION_MODE' ) ) {
193
+ // By default, run with Freemius production servers.
194
+ define( 'WP_FS__IS_PRODUCTION_MODE', true );
195
+ }
196
+
197
+ if ( ! defined( 'WP_FS__ADDRESS' ) ) {
198
+ define( 'WP_FS__ADDRESS', ( WP_FS__IS_PRODUCTION_MODE ? WP_FS__ADDRESS_PRODUCTION : WP_FS__ADDRESS_LOCALHOST ) );
199
+ }
200
+
201
+
202
+ #--------------------------------------------------------------------------------
203
+ #region API
204
+ #--------------------------------------------------------------------------------
205
+
206
+ if ( ! defined( 'WP_FS__API_ADDRESS_LOCALHOST' ) ) {
207
+ define( 'WP_FS__API_ADDRESS_LOCALHOST', 'http://api.freemius:8080' );
208
+ }
209
+ if ( ! defined( 'WP_FS__API_SANDBOX_ADDRESS_LOCALHOST' ) ) {
210
+ define( 'WP_FS__API_SANDBOX_ADDRESS_LOCALHOST', 'http://sandbox-api.freemius:8080' );
211
+ }
212
+
213
+ // Set API address for local testing.
214
+ if ( ! WP_FS__IS_PRODUCTION_MODE ) {
215
+ if ( ! defined( 'FS_API__ADDRESS' ) ) {
216
+ define( 'FS_API__ADDRESS', WP_FS__API_ADDRESS_LOCALHOST );
217
+ }
218
+ if ( ! defined( 'FS_API__SANDBOX_ADDRESS' ) ) {
219
+ define( 'FS_API__SANDBOX_ADDRESS', WP_FS__API_SANDBOX_ADDRESS_LOCALHOST );
220
+ }
221
+ }
222
+
223
+ #endregion
224
+
225
+ #--------------------------------------------------------------------------------
226
+ #region Checkout
227
+ #--------------------------------------------------------------------------------
228
+
229
+ if ( ! defined( 'FS_CHECKOUT__ADDRESS_PRODUCTION' ) ) {
230
+ define( 'FS_CHECKOUT__ADDRESS_PRODUCTION', 'https://checkout.freemius.com' );
231
+ }
232
+
233
+ if ( ! defined( 'FS_CHECKOUT__ADDRESS_LOCALHOST' ) ) {
234
+ define( 'FS_CHECKOUT__ADDRESS_LOCALHOST', 'http://checkout.freemius-local.com:8080' );
235
+ }
236
+
237
+ if ( ! defined( 'FS_CHECKOUT__ADDRESS' ) ) {
238
+ define( 'FS_CHECKOUT__ADDRESS', ( WP_FS__IS_PRODUCTION_MODE ? FS_CHECKOUT__ADDRESS_PRODUCTION : FS_CHECKOUT__ADDRESS_LOCALHOST ) );
239
+ }
240
+
241
+ #endregion
242
+
243
+ define( 'WP_FS___OPTION_PREFIX', 'fs' . ( WP_FS__IS_PRODUCTION_MODE ? '' : '_dbg' ) . '_' );
244
+
245
+ if ( ! defined( 'WP_FS__ACCOUNTS_OPTION_NAME' ) ) {
246
+ define( 'WP_FS__ACCOUNTS_OPTION_NAME', WP_FS___OPTION_PREFIX . 'accounts' );
247
+ }
248
+ if ( ! defined( 'WP_FS__API_CACHE_OPTION_NAME' ) ) {
249
+ define( 'WP_FS__API_CACHE_OPTION_NAME', WP_FS___OPTION_PREFIX . 'api_cache' );
250
+ }
251
+ if ( ! defined( 'WP_FS__GDPR_OPTION_NAME' ) ) {
252
+ define( 'WP_FS__GDPR_OPTION_NAME', WP_FS___OPTION_PREFIX . 'gdpr' );
253
+ }
254
+ define( 'WP_FS__OPTIONS_OPTION_NAME', WP_FS___OPTION_PREFIX . 'options' );
255
+
256
+ /**
257
+ * Module types
258
+ *
259
+ * @since 1.2.2
260
+ */
261
+ define( 'WP_FS__MODULE_TYPE_PLUGIN', 'plugin' );
262
+ define( 'WP_FS__MODULE_TYPE_THEME', 'theme' );
263
+
264
+ /**
265
+ * Billing Frequencies
266
+ */
267
+ define( 'WP_FS__PERIOD_ANNUALLY', 'annual' );
268
+ define( 'WP_FS__PERIOD_MONTHLY', 'monthly' );
269
+ define( 'WP_FS__PERIOD_LIFETIME', 'lifetime' );
270
+
271
+ /**
272
+ * Plans
273
+ */
274
+ define( 'WP_FS__PLAN_DEFAULT_PAID', false );
275
+ define( 'WP_FS__PLAN_FREE', 'free' );
276
+ define( 'WP_FS__PLAN_TRIAL', 'trial' );
277
+
278
+ /**
279
+ * Times in seconds
280
+ */
281
+ if ( ! defined( 'WP_FS__TIME_5_MIN_IN_SEC' ) ) {
282
+ define( 'WP_FS__TIME_5_MIN_IN_SEC', 300 );
283
+ }
284
+ if ( ! defined( 'WP_FS__TIME_10_MIN_IN_SEC' ) ) {
285
+ define( 'WP_FS__TIME_10_MIN_IN_SEC', 600 );
286
+ }
287
+ // define( 'WP_FS__TIME_15_MIN_IN_SEC', 900 );
288
+ if ( ! defined( 'WP_FS__TIME_12_HOURS_IN_SEC' ) ) {
289
+ define( 'WP_FS__TIME_12_HOURS_IN_SEC', 43200 );
290
+ }
291
+ if ( ! defined( 'WP_FS__TIME_24_HOURS_IN_SEC' ) ) {
292
+ define( 'WP_FS__TIME_24_HOURS_IN_SEC', WP_FS__TIME_12_HOURS_IN_SEC * 2 );
293
+ }
294
+ if ( ! defined( 'WP_FS__TIME_WEEK_IN_SEC' ) ) {
295
+ define( 'WP_FS__TIME_WEEK_IN_SEC', 7 * WP_FS__TIME_24_HOURS_IN_SEC );
296
+ }
297
+
298
+ #--------------------------------------------------------------------------------
299
+ #region Debugging
300
+ #--------------------------------------------------------------------------------
301
+
302
+ if ( ! defined( 'WP_FS__DEBUG_SDK' ) ) {
303
+ $debug_mode = get_option( 'fs_debug_mode', null );
304
+
305
+ if ( $debug_mode === null ) {
306
+ $debug_mode = false;
307
+ add_option( 'fs_debug_mode', $debug_mode );
308
+ }
309
+
310
+ define( 'WP_FS__DEBUG_SDK', is_numeric( $debug_mode ) ? ( 0 < $debug_mode ) : WP_FS__DEV_MODE );
311
+ }
312
+
313
+ if ( ! defined( 'WP_FS__ECHO_DEBUG_SDK' ) ) {
314
+ define( 'WP_FS__ECHO_DEBUG_SDK', WP_FS__DEV_MODE && ! empty( $_GET['fs_dbg_echo'] ) );
315
+ }
316
+ if ( ! defined( 'WP_FS__LOG_DATETIME_FORMAT' ) ) {
317
+ define( 'WP_FS__LOG_DATETIME_FORMAT', 'Y-m-d H:i:s' );
318
+ }
319
+ if ( ! defined( 'FS_API__LOGGER_ON' ) ) {
320
+ define( 'FS_API__LOGGER_ON', WP_FS__DEBUG_SDK );
321
+ }
322
+
323
+ if ( WP_FS__ECHO_DEBUG_SDK ) {
324
+ error_reporting( E_ALL );
325
+ }
326
+
327
+ #endregion
328
+
329
+ if ( ! defined( 'WP_FS__SCRIPT_START_TIME' ) ) {
330
+ define( 'WP_FS__SCRIPT_START_TIME', time() );
331
+ }
332
+ if ( ! defined( 'WP_FS__DEFAULT_PRIORITY' ) ) {
333
+ define( 'WP_FS__DEFAULT_PRIORITY', 10 );
334
+ }
335
+ if ( ! defined( 'WP_FS__LOWEST_PRIORITY' ) ) {
336
+ define( 'WP_FS__LOWEST_PRIORITY', 999999999 );
337
+ }
338
+
339
+ #--------------------------------------------------------------------------------
340
+ #region Multisite Network
341
+ #--------------------------------------------------------------------------------
342
+
343
+ /**
344
+ * Do not use this define directly, it will have the wrong value
345
+ * during plugin uninstall/deletion when the inclusion of the plugin
346
+ * is triggered due to registration with register_uninstall_hook().
347
+ *
348
+ * Instead, use fs_is_network_admin().
349
+ *
350
+ * @author Vova Feldman (@svovaf)
351
+ */
352
+ if ( ! defined( 'WP_FS__IS_NETWORK_ADMIN' ) ) {
353
+ define( 'WP_FS__IS_NETWORK_ADMIN',
354
+ is_network_admin() ||
355
+ ( is_multisite() &&
356
+ ( ( defined( 'DOING_AJAX' ) && DOING_AJAX &&
357
+ ( isset( $_REQUEST['_fs_network_admin'] ) /*||
358
+ ( ! empty( $_REQUEST['action'] ) && 'delete-plugin' === $_REQUEST['action'] )*/ )
359
+ ) ||
360
+ // Plugin uninstall.
361
+ defined( 'WP_UNINSTALL_PLUGIN' ) )
362
+ )
363
+ );
364
+ }
365
+
366
+ /**
367
+ * Do not use this define directly, it will have the wrong value
368
+ * during plugin uninstall/deletion when the inclusion of the plugin
369
+ * is triggered due to registration with register_uninstall_hook().
370
+ *
371
+ * Instead, use fs_is_blog_admin().
372
+ *
373
+ * @author Vova Feldman (@svovaf)
374
+ */
375
+ if ( ! defined( 'WP_FS__IS_BLOG_ADMIN' ) ) {
376
+ define( 'WP_FS__IS_BLOG_ADMIN', is_blog_admin() || ( defined( 'DOING_AJAX' ) && DOING_AJAX && isset( $_REQUEST['_fs_blog_admin'] ) ) );
377
+ }
378
+
379
+ if ( ! defined( 'WP_FS__SHOW_NETWORK_EVEN_WHEN_DELEGATED' ) ) {
380
+ // Set to true to show network level settings even if delegated to site admins.
381
+ define( 'WP_FS__SHOW_NETWORK_EVEN_WHEN_DELEGATED', false );
382
+ }
383
+
384
+ #endregion
385
+
386
+ if ( ! defined( 'WP_FS__DEMO_MODE' ) ) {
387
+ define( 'WP_FS__DEMO_MODE', false );
388
+ }
freemius/includes/class-freemius-abstract.php ADDED
@@ -0,0 +1,597 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @package Freemius
4
+ * @copyright Copyright (c) 2015, Freemius, Inc.
5
+ * @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
6
+ * @since 1.0.7
7
+ */
8
+
9
+ if ( ! defined( 'ABSPATH' ) ) {
10
+ exit;
11
+ }
12
+
13
+
14
+ /**
15
+ * - Each instance of Freemius class represents a single plugin
16
+ * install by a single user (the installer of the plugin).
17
+ *
18
+ * - Each website can only have one install of the same plugin.
19
+ *
20
+ * - Install entity is only created after a user connects his account with Freemius.
21
+ *
22
+ * Class Freemius_Abstract
23
+ */
24
+ abstract class Freemius_Abstract {
25
+
26
+ #----------------------------------------------------------------------------------
27
+ #region Identity
28
+ #----------------------------------------------------------------------------------
29
+
30
+ /**
31
+ * Check if user has connected his account (opted-in).
32
+ *
33
+ * Note:
34
+ * If the user opted-in and opted-out on a later stage,
35
+ * this will still return true. If you want to check if the
36
+ * user is currently opted-in, use:
37
+ * `$fs->is_registered() && $fs->is_tracking_allowed()`
38
+ *
39
+ * @since 1.0.1
40
+ * @return bool
41
+ */
42
+ abstract function is_registered();
43
+
44
+ /**
45
+ * Check if the user skipped connecting the account with Freemius.
46
+ *
47
+ * @since 1.0.7
48
+ *
49
+ * @return bool
50
+ */
51
+ abstract function is_anonymous();
52
+
53
+ /**
54
+ * Check if the user currently in activation mode.
55
+ *
56
+ * @since 1.0.7
57
+ *
58
+ * @return bool
59
+ */
60
+ abstract function is_activation_mode();
61
+
62
+ #endregion
63
+
64
+ #----------------------------------------------------------------------------------
65
+ #region Usage Tracking
66
+ #----------------------------------------------------------------------------------
67
+
68
+ /**
69
+ * Returns TRUE if the user opted-in and didn't disconnect (opt-out).
70
+ *
71
+ * @author Leo Fajardo (@leorw)
72
+ * @since 1.2.1.5
73
+ *
74
+ * @return bool
75
+ */
76
+ abstract function is_tracking_allowed();
77
+
78
+ /**
79
+ * Returns TRUE if the user never opted-in or manually opted-out.
80
+ *
81
+ * @author Vova Feldman (@svovaf)
82
+ * @since 1.2.1.5
83
+ *
84
+ * @return bool
85
+ */
86
+ function is_tracking_prohibited() {
87
+ return ! $this->is_registered() || ! $this->is_tracking_allowed();
88
+ }
89
+
90
+ /**
91
+ * Opt-out from usage tracking.
92
+ *
93
+ * Note: This will not delete the account information but will stop all tracking.
94
+ *
95
+ * Returns:
96
+ * 1. FALSE - If the user never opted-in.
97
+ * 2. TRUE - If successfully opted-out.
98
+ * 3. object - API Result on failure.
99
+ *
100
+ * @author Leo Fajardo (@leorw)
101
+ * @since 1.2.1.5
102
+ *
103
+ * @return bool|object
104
+ */
105
+ abstract function stop_tracking();
106
+
107
+ /**
108
+ * Opt-in back into usage tracking.
109
+ *
110
+ * Note: This will only work if the user opted-in previously.
111
+ *
112
+ * Returns:
113
+ * 1. FALSE - If the user never opted-in.
114
+ * 2. TRUE - If successfully opted-in back to usage tracking.
115
+ * 3. object - API result on failure.
116
+ *
117
+ * @author Leo Fajardo (@leorw)
118
+ * @since 1.2.1.5
119
+ *
120
+ * @return bool|object
121
+ */
122
+ abstract function allow_tracking();
123
+
124
+ #endregion
125
+
126
+ #----------------------------------------------------------------------------------
127
+ #region Module Type
128
+ #----------------------------------------------------------------------------------
129
+
130
+ /**
131
+ * Checks if the plugin's type is "plugin". The other type is "theme".
132
+ *
133
+ * @author Leo Fajardo (@leorw)
134
+ * @since 1.2.2
135
+ *
136
+ * @return bool
137
+ */
138
+ abstract function is_plugin();
139
+
140
+ /**
141
+ * Checks if the module type is "theme". The other type is "plugin".
142
+ *
143
+ * @author Leo Fajardo (@leorw)
144
+ * @since 1.2.2
145
+ *
146
+ * @return bool
147
+ */
148
+ function is_theme() {
149
+ return ( ! $this->is_plugin() );
150
+ }
151
+
152
+ #endregion
153
+
154
+ #----------------------------------------------------------------------------------
155
+ #region Permissions
156
+ #----------------------------------------------------------------------------------
157
+
158
+ /**
159
+ * Check if plugin must be WordPress.org compliant.
160
+ *
161
+ * @since 1.0.7
162
+ *
163
+ * @return bool
164
+ */
165
+ abstract function is_org_repo_compliant();
166
+
167
+ /**
168
+ * Check if plugin is allowed to install executable files.
169
+ *
170
+ * @author Vova Feldman (@svovaf)
171
+ * @since 1.0.5
172
+ *
173
+ * @return bool
174
+ */
175
+ function is_allowed_to_install() {
176
+ return ( $this->is_premium() || ! $this->is_org_repo_compliant() );
177
+ }
178
+
179
+ #endregion
180
+
181
+ /**
182
+ * Check if user in trial or in free plan (not paying).
183
+ *
184
+ * @author Vova Feldman (@svovaf)
185
+ * @since 1.0.4
186
+ *
187
+ * @return bool
188
+ */
189
+ function is_not_paying() {
190
+ return ( $this->is_trial() || $this->is_free_plan() );
191
+ }
192
+
193
+ /**
194
+ * Check if the user has an activated and valid paid license on current plugin's install.
195
+ *
196
+ * @since 1.0.9
197
+ *
198
+ * @return bool
199
+ */
200
+ abstract function is_paying();
201
+
202
+ /**
203
+ * Check if the user is paying or in trial.
204
+ *
205
+ * @since 1.0.9
206
+ *
207
+ * @return bool
208
+ */
209
+ function is_paying_or_trial() {
210
+ return ( $this->is_paying() || $this->is_trial() );
211
+ }
212
+
213
+ /**
214
+ * Check if user in a trial or have feature enabled license.
215
+ *
216
+ * @author Vova Feldman (@svovaf)
217
+ * @since 1.1.7
218
+ *
219
+ * @return bool
220
+ */
221
+ abstract function can_use_premium_code();
222
+
223
+ #----------------------------------------------------------------------------------
224
+ #region Premium Only
225
+ #----------------------------------------------------------------------------------
226
+
227
+ /**
228
+ * All logic wrapped in methods with "__premium_only()" suffix will be only
229
+ * included in the premium code.
230
+ *
231
+ * Example:
232
+ * if ( freemius()->is__premium_only() ) {
233
+ * ...
234
+ * }
235
+ */
236
+
237
+ /**
238
+ * Returns true when running premium plugin code.
239
+ *
240
+ * @since 1.0.9
241
+ *
242
+ * @return bool
243
+ */
244
+ function is__premium_only() {
245
+ return $this->is_premium();
246
+ }
247
+
248
+ /**
249
+ * Check if the user has an activated and valid paid license on current plugin's install.
250
+ *
251
+ * @since 1.0.9
252
+ *
253
+ * @return bool
254
+ *
255
+ */
256
+ function is_paying__premium_only() {
257
+ return ( $this->is__premium_only() && $this->is_paying() );
258
+ }
259
+
260
+ /**
261
+ * All code wrapped in this statement will be only included in the premium code.
262
+ *
263
+ * @since 1.0.9
264
+ *
265
+ * @param string $plan Plan name.
266
+ * @param bool $exact If true, looks for exact plan. If false, also check "higher" plans.
267
+ *
268
+ * @return bool
269
+ */
270
+ function is_plan__premium_only( $plan, $exact = false ) {
271
+ return ( $this->is_premium() && $this->is_plan( $plan, $exact ) );
272
+ }
273
+
274
+ /**
275
+ * Check if plan matches active license' plan or active trial license' plan.
276
+ *
277
+ * All code wrapped in this statement will be only included in the premium code.
278
+ *
279
+ * @since 1.0.9
280
+ *
281
+ * @param string $plan Plan name.
282
+ * @param bool $exact If true, looks for exact plan. If false, also check "higher" plans.
283
+ *
284
+ * @return bool
285
+ */
286
+ function is_plan_or_trial__premium_only( $plan, $exact = false ) {
287
+ return ( $this->is_premium() && $this->is_plan_or_trial( $plan, $exact ) );
288
+ }
289
+
290
+ /**
291
+ * Check if the user is paying or in trial.
292
+ *
293
+ * All code wrapped in this statement will be only included in the premium code.
294
+ *
295
+ * @since 1.0.9
296
+ *
297
+ * @return bool
298
+ */
299
+ function is_paying_or_trial__premium_only() {
300
+ return $this->is_premium() && $this->is_paying_or_trial();
301
+ }
302
+
303
+ /**
304
+ * Check if the user has an activated and valid paid license on current plugin's install.
305
+ *
306
+ * @since 1.0.4
307
+ *
308
+ * @return bool
309
+ *
310
+ * @deprecated Method name is confusing since it's not clear from the name the code will be removed.
311
+ * @using Alias to is_paying__premium_only()
312
+ */
313
+ function is_paying__fs__() {
314
+ return $this->is_paying__premium_only();
315
+ }
316
+
317
+ /**
318
+ * Check if user in a trial or have feature enabled license.
319
+ *
320
+ * All code wrapped in this statement will be only included in the premium code.
321
+ *
322
+ * @author Vova Feldman (@svovaf)
323
+ * @since 1.1.9
324
+ *
325
+ * @return bool
326
+ */
327
+ function can_use_premium_code__premium_only() {
328
+ return $this->is_premium() && $this->can_use_premium_code();
329
+ }
330
+
331
+ #endregion
332
+
333
+ #----------------------------------------------------------------------------------
334
+ #region Trial
335
+ #----------------------------------------------------------------------------------
336
+
337
+ /**
338
+ * Check if the user in a trial.
339
+ *
340
+ * @since 1.0.3
341
+ *
342
+ * @return bool
343
+ */
344
+ abstract function is_trial();
345
+
346
+ /**
347
+ * Check if trial already utilized.
348
+ *
349
+ * @since 1.0.9
350
+ *
351
+ * @return bool
352
+ */
353
+ abstract function is_trial_utilized();
354
+
355
+ #endregion
356
+
357
+ #----------------------------------------------------------------------------------
358
+ #region Plans
359
+ #----------------------------------------------------------------------------------
360
+
361
+ /**
362
+ * Check if the user is on the free plan of the product.
363
+ *
364
+ * @since 1.0.4
365
+ *
366
+ * @return bool
367
+ */
368
+ abstract function is_free_plan();
369
+
370
+ /**
371
+ * @since 1.0.2
372
+ *
373
+ * @param string $plan Plan name.
374
+ * @param bool $exact If true, looks for exact plan. If false, also check "higher" plans.
375
+ *
376
+ * @return bool
377
+ */
378
+ abstract function is_plan( $plan, $exact = false );
379
+
380
+ /**
381
+ * Check if plan based on trial. If not in trial mode, should return false.
382
+ *
383
+ * @since 1.0.9
384
+ *
385
+ * @param string $plan Plan name.
386
+ * @param bool $exact If true, looks for exact plan. If false, also check "higher" plans.
387
+ *
388
+ * @return bool
389
+ */
390
+ abstract function is_trial_plan( $plan, $exact = false );
391
+
392
+ /**
393
+ * Check if plan matches active license' plan or active trial license' plan.
394
+ *
395
+ * @since 1.0.9
396
+ *
397
+ * @param string $plan Plan name.
398
+ * @param bool $exact If true, looks for exact plan. If false, also check "higher" plans.
399
+ *
400
+ * @return bool
401
+ */
402
+ function is_plan_or_trial( $plan, $exact = false ) {
403
+ return $this->is_plan( $plan, $exact ) ||
404
+ $this->is_trial_plan( $plan, $exact );
405
+ }
406
+
407
+ /**
408
+ * Check if plugin has any paid plans.
409
+ *
410
+ * @author Vova Feldman (@svovaf)
411
+ * @since 1.0.7
412
+ *
413
+ * @return bool
414
+ */
415
+ abstract function has_paid_plan();
416
+
417
+ /**
418
+ * Check if plugin has any free plan, or is it premium only.
419
+ *
420
+ * Note: If no plans configured, assume plugin is free.
421
+ *
422
+ * @author Vova Feldman (@svovaf)
423
+ * @since 1.0.7
424
+ *
425
+ * @return bool
426
+ */
427
+ abstract function has_free_plan();
428
+
429
+ /**
430
+ * Check if plugin is premium only (no free plans).
431
+ *
432
+ * NOTE: is__premium_only() is very different method, don't get confused.
433
+ *
434
+ * @author Vova Feldman (@svovaf)
435
+ * @since 1.1.9
436
+ *
437
+ * @return bool
438
+ */
439
+ abstract function is_only_premium();
440
+
441
+ /**
442
+ * Check if module has a premium code version.
443
+ *
444
+ * Serviceware module might be freemium without any
445
+ * premium code version, where the paid features
446
+ * are all part of the service.
447
+ *
448
+ * @author Vova Feldman (@svovaf)
449
+ * @since 1.2.1.6
450
+ *
451
+ * @return bool
452
+ */
453
+ abstract function has_premium_version();
454
+
455
+ /**
456
+ * Check if module has any release on Freemius,
457
+ * or all plugin's code is on WordPress.org (Serviceware).
458
+ *
459
+ * @return bool
460
+ */
461
+ function has_release_on_freemius() {
462
+ return ! $this->is_org_repo_compliant() ||
463
+ $this->has_premium_version();
464
+ }
465
+
466
+ /**
467
+ * Checks if it's a freemium plugin.
468
+ *
469
+ * @author Vova Feldman (@svovaf)
470
+ * @since 1.1.9
471
+ *
472
+ * @return bool
473
+ */
474
+ function is_freemium() {
475
+ return $this->has_paid_plan() &&
476
+ $this->has_free_plan();
477
+ }
478
+
479
+ /**
480
+ * Check if module has only one plan.
481
+ *
482
+ * @author Vova Feldman (@svovaf)
483
+ * @since 1.2.1.7
484
+ *
485
+ * @return bool
486
+ */
487
+ abstract function is_single_plan();
488
+
489
+ #endregion
490
+
491
+ /**
492
+ * Check if running payments in sandbox mode.
493
+ *
494
+ * @since 1.0.4
495
+ *
496
+ * @return bool
497
+ */
498
+ abstract function is_payments_sandbox();
499
+
500
+ /**
501
+ * Check if running test vs. live plugin.
502
+ *
503
+ * @since 1.0.5
504
+ *
505
+ * @return bool
506
+ */
507
+ abstract function is_live();
508
+
509
+ /**
510
+ * Check if running premium plugin code.
511
+ *
512
+ * @since 1.0.5
513
+ *
514
+ * @return bool
515
+ */
516
+ abstract function is_premium();
517
+
518
+ /**
519
+ * Get upgrade URL.
520
+ *
521
+ * @author Vova Feldman (@svovaf)
522
+ * @since 1.0.2
523
+ *
524
+ * @param string $period Billing cycle.
525
+ *
526
+ * @return string
527
+ */
528
+ abstract function get_upgrade_url( $period = WP_FS__PERIOD_ANNUALLY );
529
+
530
+ /**
531
+ * Check if Freemius was first added in a plugin update.
532
+ *
533
+ * @author Vova Feldman (@svovaf)
534
+ * @since 1.1.5
535
+ *
536
+ * @return bool
537
+ */
538
+ function is_plugin_update() {
539
+ return ! $this->is_plugin_new_install();
540
+ }
541
+
542
+ /**
543
+ * Check if Freemius was part of the plugin when the user installed it first.
544
+ *
545
+ * @author Vova Feldman (@svovaf)
546
+ * @since 1.1.5
547
+ *
548
+ * @return bool
549
+ */
550
+ abstract function is_plugin_new_install();
551
+
552
+ #----------------------------------------------------------------------------------
553
+ #region Marketing
554
+ #----------------------------------------------------------------------------------
555
+
556
+ /**
557
+ * Check if current user purchased any other plugins before.
558
+ *
559
+ * @author Vova Feldman (@svovaf)
560
+ * @since 1.0.9
561
+ *
562
+ * @return bool
563
+ */
564
+ abstract function has_purchased_before();
565
+
566
+ /**
567
+ * Check if current user classified as an agency.
568
+ *
569
+ * @author Vova Feldman (@svovaf)
570
+ * @since 1.0.9
571
+ *
572
+ * @return bool
573
+ */
574
+ abstract function is_agency();
575
+
576
+ /**
577
+ * Check if current user classified as a developer.
578
+ *
579
+ * @author Vova Feldman (@svovaf)
580
+ * @since 1.0.9
581
+ *
582
+ * @return bool
583
+ */
584
+ abstract function is_developer();
585
+
586
+ /**
587
+ * Check if current user classified as a business.
588
+ *
589
+ * @author Vova Feldman (@svovaf)
590
+ * @since 1.0.9
591
+ *
592
+ * @return bool
593
+ */
594
+ abstract function is_business();
595
+
596
+ #endregion
597
+ }
freemius/includes/class-freemius.php ADDED
@@ -0,0 +1,20822 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * @package Freemius
4
+ * @copyright Copyright (c) 2015, Freemius, Inc.
5
+ * @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
6
+ * @since 1.0.3
7
+ */
8
+ if ( ! defined( 'ABSPATH' ) ) {
9
+ exit;
10
+ }
11
+
12
+ // "final class"
13
+ class Freemius extends Freemius_Abstract {
14
+ /**
15
+ * SDK Version
16
+ *
17
+ * @var string
18
+ */
19
+ public $version = WP_FS__SDK_VERSION;
20
+
21
+ #region Plugin Info
22
+
23
+ /**
24
+ * @since 1.0.1
25
+ *
26
+ * @var string
27
+ */
28
+ private $_slug;
29
+
30
+ /**
31
+ * @since 1.0.0
32
+ *
33
+ * @var string
34
+ */
35
+ private $_plugin_basename;
36
+ /**
37
+ * @since 1.0.0
38
+ *
39
+ * @var string
40
+ */
41
+ private $_free_plugin_basename;
42
+ /**
43
+ * @since 1.0.0
44
+ *
45
+ * @var string
46
+ */
47
+ private $_plugin_dir_path;
48
+ /**
49
+ * @since 1.0.0
50
+ *
51
+ * @var string
52
+ */
53
+ private $_plugin_dir_name;
54
+ /**
55
+ * @since 1.0.0
56
+ *
57
+ * @var string
58
+ */
59
+ private $_plugin_main_file_path;
60
+ /**
61
+ * @var string[]
62
+ */
63
+ private $_plugin_data;
64
+ /**
65
+ * @since 1.0.9
66
+ *
67
+ * @var string
68
+ */
69
+ private $_plugin_name;
70
+ /**
71
+ * @since 1.2.2
72
+ *
73
+ * @var string
74
+ */
75
+ private $_module_type;
76
+
77
+ #endregion Plugin Info
78
+
79
+ /**
80
+ * @since 1.0.9
81
+ *
82
+ * @var bool If false, don't turn Freemius on.
83
+ */
84
+ private $_is_on;
85
+
86
+ /**
87
+ * @since 1.1.3
88
+ *
89
+ * @var bool If false, don't turn Freemius on.
90
+ */
91
+ private $_is_anonymous;
92
+
93
+ /**
94
+ * @since 1.0.9
95
+ * @var bool If false, issues with connectivity to Freemius API.
96
+ */
97
+ private $_has_api_connection;
98
+
99
+ /**
100
+ * @since 1.0.9
101
+ * @since 2.0.0 Default to true since we need the property during the instance construction, prior to the dynamic_init() execution.
102
+ * @var bool Hints the SDK if plugin can support anonymous mode (if skip connect is visible).
103
+ */
104
+ private $_enable_anonymous = true;
105
+
106
+ /**
107
+ * @since 1.1.7.5
108
+ * @var bool Hints the SDK if plugin should run in anonymous mode (only adds feedback form).
109
+ */
110
+ private $_anonymous_mode;
111
+
112
+ /**
113
+ * @since 1.1.9
114
+ * @var bool Hints the SDK if plugin have any free plans.
115
+ */
116
+ private $_is_premium_only;
117
+
118
+ /**
119
+ * @since 1.2.1.6
120
+ * @var bool Hints the SDK if plugin have premium code version at all.
121
+ */
122
+ private $_has_premium_version;
123
+
124
+ /**
125
+ * @since 1.2.1.6
126
+ * @var bool Hints the SDK if plugin should ignore pending mode by simulating a skip.
127
+ */
128
+ private $_ignore_pending_mode;
129
+
130
+ /**
131
+ * @since 1.0.8
132
+ * @var bool Hints the SDK if the plugin has any paid plans.
133
+ */
134
+ private $_has_paid_plans;
135
+
136
+ /**
137
+ * @since 1.2.1.5
138
+ * @var int Hints the SDK if the plugin offers a trial period. If negative, no trial, if zero - has a trial but
139
+ * without a specified period, if positive - the number of trial days.
140
+ */
141
+ private $_trial_days = - 1;
142
+
143
+ /**
144
+ * @since 1.2.1.5
145
+ * @var bool Hints the SDK if the trial requires a payment method or not.
146
+ */
147
+ private $_is_trial_require_payment = false;
148
+
149
+ /**
150
+ * @since 1.0.7
151
+ * @var bool Hints the SDK if the plugin is WordPress.org compliant.
152
+ */
153
+ private $_is_org_compliant;
154
+
155
+ /**
156
+ * @since 1.0.7
157
+ * @var bool Hints the SDK if the plugin is has add-ons.
158
+ */
159
+ private $_has_addons;
160
+
161
+ /**
162
+ * @since 1.1.6
163
+ * @var string[]bool.
164
+ */
165
+ private $_permissions;
166
+
167
+ /**
168
+ * @var FS_Storage
169
+ */
170
+ private $_storage;
171
+
172
+ /**
173
+ * @since 1.2.2.7
174
+ * @var FS_Cache_Manager
175
+ */
176
+ private $_cache;
177
+
178
+ /**
179
+ * @since 1.0.0
180
+ *
181
+ * @var FS_Logger
182
+ */
183
+ private $_logger;
184
+ /**
185
+ * @since 1.0.4
186
+ *
187
+ * @var FS_Plugin
188
+ */
189
+ private $_plugin = false;
190
+ /**
191
+ * @since 1.0.4
192
+ *
193
+ * @var FS_Plugin|false
194
+ */
195
+ private $_parent_plugin = false;
196
+ /**
197
+ * @since 1.1.1
198
+ *
199
+ * @var Freemius
200
+ */
201
+ private $_parent = false;
202
+ /**
203
+ * @since 1.0.1
204
+ *
205
+ * @var FS_User
206
+ */
207
+ private $_user = false;
208
+ /**
209
+ * @since 1.0.1
210
+ *
211
+ * @var FS_Site
212
+ */
213
+ private $_site = false;
214
+ /**
215
+ * @since 1.0.1
216
+ *
217
+ * @var FS_Plugin_License
218
+ */
219
+ private $_license;
220
+ /**
221
+ * @since 1.0.2
222
+ *
223
+ * @var FS_Plugin_Plan[]
224
+ */
225
+ private $_plans = false;
226
+ /**
227
+ * @var FS_Plugin_License[]
228
+ * @since 1.0.5
229
+ */
230
+ private $_licenses = false;
231
+
232
+ /**
233
+ * @since 1.0.1
234
+ *
235
+ * @var FS_Admin_Menu_Manager
236
+ */
237
+ private $_menu;
238
+
239
+ /**
240
+ * @var FS_Admin_Notices
241
+ */
242
+ private $_admin_notices;
243
+
244
+ /**
245
+ * @since 1.1.6
246
+ *
247
+ * @var FS_Admin_Notices
248
+ */
249
+ private static $_global_admin_notices;
250
+
251
+ /**
252
+ * @var FS_Logger
253
+ * @since 1.0.0
254
+ */
255
+ private static $_static_logger;
256
+
257
+ /**
258
+ * @var FS_Options
259
+ * @since 1.0.2
260
+ */
261
+ private static $_accounts;
262
+
263
+ /**
264
+ * @since 1.2.2
265
+ *
266
+ * @var number
267
+ */
268
+ private $_module_id;
269
+
270
+ /**
271
+ * @var Freemius[]
272
+ */
273
+ private static $_instances = array();
274
+
275
+ /**
276
+ * @since 1.2.3
277
+ *
278
+ * @var FS_Affiliate
279
+ */
280
+ private $affiliate = null;
281
+
282
+ /**
283
+ * @since 1.2.3
284
+ *
285
+ * @var FS_AffiliateTerms
286
+ */
287
+ private $plugin_affiliate_terms = null;
288
+
289
+ /**
290
+ * @since 1.2.3
291
+ *
292
+ * @var FS_AffiliateTerms
293
+ */
294
+ private $custom_affiliate_terms = null;
295
+
296
+ /**
297
+ * @since 2.0.0
298
+ *
299
+ * @var bool
300
+ */
301
+ private $_is_multisite_integrated;
302
+
303
+ /**
304
+ * @since 2.0.0
305
+ *
306
+ * @var bool True if the current request is for a network admin screen and the plugin is network active.
307
+ */
308
+ private $_is_network_active;
309
+
310
+ /**
311
+ * @since 2.0.0
312
+ *
313
+ * @var int|null The original blog ID the plugin was loaded with.
314
+ */
315
+ private $_blog_id = null;
316
+
317
+ /**
318
+ * @since 2.0.0
319
+ *
320
+ * @var int|null The current execution context. When true, run on network context. When int, run on the specified blog context.
321
+ */
322
+ private $_context_is_network_or_blog_id = null;
323
+
324
+ /**
325
+ * @since 2.0.0
326
+ *
327
+ * @var string
328
+ */
329
+ private $_dynamically_added_top_level_page_hook_name = '';
330
+
331
+ #region Uninstall Reasons IDs
332
+
333
+ const REASON_NO_LONGER_NEEDED = 1;
334
+ const REASON_FOUND_A_BETTER_PLUGIN = 2;
335
+ const REASON_NEEDED_FOR_A_SHORT_PERIOD = 3;
336
+ const REASON_BROKE_MY_SITE = 4;
337
+ const REASON_SUDDENLY_STOPPED_WORKING = 5;
338
+ const REASON_CANT_PAY_ANYMORE = 6;
339
+ const REASON_OTHER = 7;
340
+ const REASON_DIDNT_WORK = 8;
341
+ const REASON_DONT_LIKE_TO_SHARE_MY_INFORMATION = 9;
342
+ const REASON_COULDNT_MAKE_IT_WORK = 10;
343
+ const REASON_GREAT_BUT_NEED_SPECIFIC_FEATURE = 11;
344
+ const REASON_NOT_WORKING = 12;
345
+ const REASON_NOT_WHAT_I_WAS_LOOKING_FOR = 13;
346
+ const REASON_DIDNT_WORK_AS_EXPECTED = 14;
347
+ const REASON_TEMPORARY_DEACTIVATION = 15;
348
+
349
+ #endregion
350
+
351
+ /* Ctor
352
+ ------------------------------------------------------------------------------------------------------------------*/
353
+
354
+ /**
355
+ * Main singleton instance.
356
+ *
357
+ * @author Vova Feldman (@svovaf)
358
+ * @since 1.0.0
359
+ *
360
+ * @param number $module_id
361
+ * @param string|bool $slug
362
+ * @param bool $is_init Since 1.2.1 Is initiation sequence.
363
+ */
364
+ private function __construct( $module_id, $slug = false, $is_init = false ) {
365
+ if ( $is_init && is_numeric( $module_id ) && is_string( $slug ) ) {
366
+ $this->store_id_slug_type_path_map( $module_id, $slug );
367
+ }
368
+
369
+ $this->_module_id = $module_id;
370
+ $this->_slug = $this->get_slug();
371
+ $this->_module_type = $this->get_module_type();
372
+
373
+ $this->_blog_id = is_multisite() ? get_current_blog_id() : null;
374
+
375
+ $this->_storage = FS_Storage::instance( $this->_module_type, $this->_slug );
376
+
377
+ $this->_cache = FS_Cache_Manager::get_manager( WP_FS___OPTION_PREFIX . "cache_{$module_id}" );
378
+
379
+ $this->_logger = FS_Logger::get_logger( WP_FS__SLUG . '_' . $this->get_unique_affix(), WP_FS__DEBUG_SDK, WP_FS__ECHO_DEBUG_SDK );
380
+
381
+ $this->_plugin_main_file_path = $this->_find_caller_plugin_file( $is_init );
382
+ $this->_plugin_dir_path = plugin_dir_path( $this->_plugin_main_file_path );
383
+ $this->_plugin_basename = $this->get_plugin_basename();
384
+ $this->_free_plugin_basename = str_replace( '-premium/', '/', $this->_plugin_basename );
385
+
386
+ $this->_is_multisite_integrated = (
387
+ defined( "WP_FS__PRODUCT_{$module_id}_MULTISITE" ) &&
388
+ ( true === constant( "WP_FS__PRODUCT_{$module_id}_MULTISITE" ) )
389
+ );
390
+
391
+ $this->_is_network_active = (
392
+ is_multisite() &&
393
+ $this->_is_multisite_integrated &&
394
+ // Themes are always network activated, but the ACTUAL activation is per site.
395
+ $this->is_plugin() &&
396
+ ( is_plugin_active_for_network( $this->_plugin_basename ) ||
397
+ // Plugin network level activation or uninstall.
398
+ is_plugin_inactive( $this->_plugin_basename ) )
399
+ );
400
+
401
+ $this->_storage->set_network_active(
402
+ $this->_is_network_active,
403
+ $this->is_delegated_connection()
404
+ );
405
+
406
+ #region Migration
407
+
408
+ if ( is_multisite() ) {
409
+ /**
410
+ * If the install_timestamp exists on the site level but doesn't exist on the
411
+ * network level storage, it means that we need to process the storage with migration.
412
+ *
413
+ * The code in this `if` scope will only be executed once and only for the first site that will execute it because once we migrate the storage data, install_timestamp will be already set in the network level storage.
414
+ *
415
+ * @author Vova Feldman (@svovaf)
416
+ * @since 2.0.0
417
+ */
418
+ if ( false === $this->_storage->get( 'install_timestamp', false, true ) &&
419
+ false !== $this->_storage->get( 'install_timestamp', false, false )
420
+ ) {
421
+ // Initiate storage migration.
422
+ $this->_storage->migrate_to_network();
423
+
424
+ // Migrate module cache to network level storage.
425
+ $this->_cache->migrate_to_network();
426
+ }
427
+ }
428
+
429
+ #endregion
430
+
431
+ $base_name_split = explode( '/', $this->_plugin_basename );
432
+ $this->_plugin_dir_name = $base_name_split[0];
433
+
434
+ if ( $this->_logger->is_on() ) {
435
+ $this->_logger->info( 'plugin_main_file_path = ' . $this->_plugin_main_file_path );
436
+ $this->_logger->info( 'plugin_dir_path = ' . $this->_plugin_dir_path );
437
+ $this->_logger->info( 'plugin_basename = ' . $this->_plugin_basename );
438
+ $this->_logger->info( 'free_plugin_basename = ' . $this->_free_plugin_basename );
439
+ $this->_logger->info( 'plugin_dir_name = ' . $this->_plugin_dir_name );
440
+ }
441
+
442
+ // Remember link between file to slug.
443
+ $this->store_file_slug_map();
444
+
445
+ // Store plugin's initial install timestamp.
446
+ if ( ! isset( $this->_storage->install_timestamp ) ) {
447
+ $this->_storage->install_timestamp = WP_FS__SCRIPT_START_TIME;
448
+ }
449
+
450
+ if ( ! is_object( $this->_plugin ) ) {
451
+ $this->_plugin = FS_Plugin_Manager::instance( $this->_module_id )->get();
452
+ }
453
+
454
+ $this->_admin_notices = FS_Admin_Notices::instance(
455
+ $this->_slug . ( $this->is_theme() ? ':theme' : '' ),
456
+ /**
457
+ * Ensure that the admin notice will always have a title by using the stored plugin title if available and
458
+ * retrieving the title via the "get_plugin_name" method if there is no stored plugin title available.
459
+ *
460
+ * @author Leo Fajardo (@leorw)
461
+ * @since 1.2.2
462
+ */
463
+ ( is_object( $this->_plugin ) ? $this->_plugin->title : $this->get_plugin_name() ),
464
+ $this->get_unique_affix()
465
+ );
466
+
467
+ if ( 'true' === fs_request_get( 'fs_clear_api_cache' ) ||
468
+ 'true' === fs_request_is_action( 'restart_freemius' )
469
+ ) {
470
+ FS_Api::clear_cache();
471
+ $this->_cache->clear();
472
+ }
473
+
474
+ $this->_register_hooks();
475
+
476
+ /**
477
+ * Starting from version 2.0.0, `FS_Site` entities no longer have the `plan` property and have `plan_id`
478
+ * instead. This should be called before calling `_load_account()`, otherwise, `$this->_site` will not be
479
+ * loaded in `_load_account` for versions of SDK starting from 2.0.0.
480
+ *
481
+ * @author Leo Fajardo (@leorw)
482
+ */
483
+ self::migrate_install_plan_to_plan_id( $this->_storage );
484
+
485
+ $this->_load_account();
486
+
487
+ $this->_version_updates_handler();
488
+ }
489
+
490
+ /**
491
+ * Checks whether this module has a settings menu.
492
+ *
493
+ * @author Leo Fajardo (@leorw)
494
+ * @since 1.2.2
495
+ *
496
+ * @return bool
497
+ */
498
+ function has_settings_menu() {
499
+ return ( $this->_is_network_active && fs_is_network_admin() ) ?
500
+ $this->_menu->has_network_menu() :
501
+ $this->_menu->has_menu();
502
+ }
503
+
504
+ /**
505
+ * Check if the context module is free wp.org theme.
506
+ *
507
+ * This method is helpful because:
508
+ * 1. wp.org themes are limited to a single submenu item,
509
+ * and sub-submenu items are most likely not allowed (never verified).
510
+ * 2. wp.org themes are not allowed to redirect the user
511
+ * after the theme activation, therefore, the agreed UX
512
+ * is showing the opt-in as a modal dialog box after
513
+ * activation (approved by @otto42, @emiluzelac, @greenshady, @grapplerulrich).
514
+ *
515
+ * @author Vova Feldman (@svovaf)
516
+ * @since 1.2.2.7
517
+ *
518
+ * @return bool
519
+ */
520
+ function is_free_wp_org_theme() {
521
+ return (
522
+ $this->is_theme() &&
523
+ $this->is_org_repo_compliant() &&
524
+ ! $this->is_premium()
525
+ );
526
+ }
527
+
528
+ /**
529
+ * Checks whether this a submenu item is visible.
530
+ *
531
+ * @author Vova Feldman (@svovaf)
532
+ * @since 1.2.2.6
533
+ * @since 1.2.2.7 Even if the menu item was specified to be hidden, when it is the context page, then show the submenu item so the user will have the right context page.
534
+ *
535
+ * @param string $slug
536
+ * @param bool $ignore_free_wp_org_theme_context This is used to decide if the associated tab should be shown
537
+ * or hidden.
538
+ *
539
+ * @return bool
540
+ */
541
+ function is_submenu_item_visible( $slug, $ignore_free_wp_org_theme_context = false ) {
542
+ if ( $this->is_admin_page( $slug ) ) {
543
+ /**
544
+ * It is the current context page, so show the submenu item
545
+ * so the user will have the right context page, even if it
546
+ * was set to hidden.
547
+ */
548
+ return true;
549
+ }
550
+
551
+ if ( ! $this->has_settings_menu() ) {
552
+ // No menu settings at all.
553
+ return false;
554
+ }
555
+
556
+ if ( ! $ignore_free_wp_org_theme_context && $this->is_free_wp_org_theme() ) {
557
+ /**
558
+ * wp.org themes are limited to a single submenu item, and
559
+ * sub-submenu items are most likely not allowed (never verified).
560
+ */
561
+ return false;
562
+ }
563
+
564
+ return $this->_menu->is_submenu_item_visible( $slug );
565
+ }
566
+
567
+ /**
568
+ * Check if a Freemius page should be accessible via the UI.
569
+ *
570
+ * @author Vova Feldman (@svovaf)
571
+ * @since 1.2.2.7
572
+ *
573
+ * @param string $slug
574
+ *
575
+ * @return bool
576
+ */
577
+ function is_page_visible( $slug ) {
578
+ if ( $this->is_admin_page( $slug ) ) {
579
+ return true;
580
+ }
581
+
582
+ return $this->_menu->is_submenu_item_visible( $slug, true, true );
583
+ }
584
+
585
+ /**
586
+ * @author Vova Feldman (@svovaf)
587
+ * @since 1.0.9
588
+ */
589
+ private function _version_updates_handler() {
590
+ if ( ! isset( $this->_storage->sdk_version ) || $this->_storage->sdk_version != $this->version ) {
591
+ // Freemius version upgrade mode.
592
+ $this->_storage->sdk_last_version = $this->_storage->sdk_version;
593
+ $this->_storage->sdk_version = $this->version;
594
+
595
+ if ( empty( $this->_storage->sdk_last_version ) ||
596
+ version_compare( $this->_storage->sdk_last_version, $this->version, '<' )
597
+ ) {
598
+ $this->_storage->sdk_upgrade_mode = true;
599
+ $this->_storage->sdk_downgrade_mode = false;
600
+ } else {
601
+ $this->_storage->sdk_downgrade_mode = true;
602
+ $this->_storage->sdk_upgrade_mode = false;
603
+
604
+ }
605
+
606
+ $this->do_action( 'sdk_version_update', $this->_storage->sdk_last_version, $this->version );
607
+ }
608
+
609
+ $plugin_version = $this->get_plugin_version();
610
+ if ( ! isset( $this->_storage->plugin_version ) || $this->_storage->plugin_version != $plugin_version ) {
611
+ // Plugin version upgrade mode.
612
+ $this->_storage->plugin_last_version = $this->_storage->plugin_version;
613
+ $this->_storage->plugin_version = $plugin_version;
614
+
615
+ if ( empty( $this->_storage->plugin_last_version ) ||
616
+ version_compare( $this->_storage->plugin_last_version, $plugin_version, '<' )
617
+ ) {
618
+ $this->_storage->plugin_upgrade_mode = true;
619
+ $this->_storage->plugin_downgrade_mode = false;
620
+ } else {
621
+ $this->_storage->plugin_downgrade_mode = true;
622
+ $this->_storage->plugin_upgrade_mode = false;
623
+ }
624
+
625
+ if ( ! empty( $this->_storage->plugin_last_version ) ) {
626
+ // Different version of the plugin was installed before, therefore it's an update.
627
+ $this->_storage->is_plugin_new_install = false;
628
+ }
629
+
630
+ $this->do_action( 'plugin_version_update', $this->_storage->plugin_last_version, $plugin_version );
631
+ }
632
+ }
633
+
634
+ #--------------------------------------------------------------------------------
635
+ #region Data Migration on SDK Update
636
+ #--------------------------------------------------------------------------------
637
+
638
+ /**
639
+ * @author Vova Feldman (@svovaf)
640
+ * @since 1.1.5
641
+ *
642
+ * @param string $sdk_prev_version
643
+ * @param string $sdk_version
644
+ */
645
+ function _sdk_version_update( $sdk_prev_version, $sdk_version ) {
646
+ /**
647
+ * @since 1.1.7.3 Fixed unwanted connectivity test cleanup.
648
+ */
649
+ if ( empty( $sdk_prev_version ) ) {
650
+ return;
651
+ }
652
+
653
+ if ( version_compare( $sdk_prev_version, '2.1.0', '<' ) &&
654
+ version_compare( $sdk_version, '2.1.0', '>=' )
655
+ ) {
656
+ $this->_storage->handle_gdpr_admin_notice = true;
657
+ }
658
+
659
+ if ( version_compare( $sdk_prev_version, '2.0.0', '<' ) &&
660
+ version_compare( $sdk_version, '2.0.0', '>=' )
661
+ ) {
662
+ $this->migrate_to_subscriptions_collection();
663
+
664
+ $this->consolidate_licenses();
665
+
666
+ // Clear trial_plan since it's now loaded from the plans collection when needed.
667
+ $this->_storage->remove( 'trial_plan', true, false );
668
+ }
669
+
670
+ if ( version_compare( $sdk_prev_version, '1.2.3', '<' ) &&
671
+ version_compare( $sdk_version, '1.2.3', '>=' )
672
+ ) {
673
+ /**
674
+ * Starting from version 1.2.3, paths are stored as relative paths and not absolute paths; so when upgrading to 1.2.3, make paths relative.
675
+ *
676
+ * @author Leo Fajardo (@leorw)
677
+ */
678
+ $this->make_paths_relative();
679
+ }
680
+
681
+ if ( version_compare( $sdk_prev_version, '1.1.5', '<' ) &&
682
+ version_compare( $sdk_version, '1.1.5', '>=' )
683
+ ) {
684
+ // On version 1.1.5 merged connectivity and is_on data.
685
+ if ( isset( $this->_storage->connectivity_test ) ) {
686
+ if ( ! isset( $this->_storage->is_on ) ) {
687
+ unset( $this->_storage->connectivity_test );
688
+ } else {
689
+ $connectivity_data = $this->_storage->connectivity_test;
690
+ $connectivity_data['is_active'] = $this->_storage->is_on['is_active'];
691
+ $connectivity_data['timestamp'] = $this->_storage->is_on['timestamp'];
692
+
693
+ // Override.
694
+ $this->_storage->connectivity_test = $connectivity_data;
695
+
696
+ // Remove previous structure.
697
+ unset( $this->_storage->is_on );
698
+ }
699
+
700
+ }
701
+ }
702
+ }
703
+
704
+ /**
705
+ * @author Leo Fajardo (@leorw)
706
+ * @since 2.0.0
707
+ *
708
+ * @param \FS_Storage $storage
709
+ * @param bool|int|null $blog_id
710
+ */
711
+ private static function migrate_install_plan_to_plan_id( FS_Storage $storage, $blog_id = null ) {
712
+ if ( empty( $storage->sdk_version ) ) {
713
+ // New installation of the plugin, no need to upgrade.
714
+ return;
715
+ }
716
+
717
+ if ( ! version_compare( $storage->sdk_version, '2.0.0', '<' ) ) {
718
+ // Previous version is >= 2.0.0, so no need to migrate.
719
+ return;
720
+ }
721
+
722
+ // Alias.
723
+ $module_type = $storage->get_module_type();
724
+ $module_slug = $storage->get_module_slug();
725
+
726
+ $installs = self::get_all_sites( $module_type, $blog_id );
727
+ $install = isset( $installs[ $module_slug ] ) ? $installs[ $module_slug ] : null;
728
+
729
+ if ( ! is_object( $install ) ) {
730
+ return;
731
+ }
732
+
733
+ if ( isset( $install->plan ) && is_object( $install->plan ) ) {
734
+ if ( isset( $install->plan->id ) && ! empty( $install->plan->id ) ) {
735
+ $install->plan_id = self::_decrypt( $install->plan->id );
736
+ }
737
+
738
+ unset( $install->plan );
739
+
740
+ $installs[ $module_slug ] = clone $install;
741
+
742
+ self::set_account_option_by_module(
743
+ $module_type,
744
+ 'sites',
745
+ $installs,
746
+ true,
747
+ $blog_id
748
+ );
749
+ }
750
+ }
751
+
752
+ /**
753
+ * @author Leo Fajardo (@leorw)
754
+ * @since 2.0.0
755
+ */
756
+ private function migrate_to_subscriptions_collection() {
757
+ if ( ! is_object( $this->_site ) ) {
758
+ return;
759
+ }
760
+
761
+ if ( isset( $this->_storage->subscription ) && is_object( $this->_storage->subscription ) ) {
762
+ $this->_storage->subscriptions = array( $this->_storage->subscription );
763
+ }
764
+ }
765
+
766
+ /**
767
+ * @author Leo Fajardo (@leorw)
768
+ * @since 2.0.0
769
+ */
770
+ private function consolidate_licenses() {
771
+ $plugin_licenses = self::get_account_option( 'licenses', WP_FS__MODULE_TYPE_PLUGIN );
772
+ if ( isset( $plugin_licenses[ $this->_slug ] ) ) {
773
+ $plugin_licenses = $plugin_licenses[ $this->_slug ];
774
+ } else {
775
+ $plugin_licenses = array();
776
+ }
777
+
778
+ $theme_licenses = self::get_account_option( 'licenses', WP_FS__MODULE_TYPE_THEME );
779
+ if ( isset( $theme_licenses[ $this->_slug ] ) ) {
780
+ $theme_licenses = $theme_licenses[ $this->_slug ];
781
+ } else {
782
+ $theme_licenses = array();
783
+ }
784
+
785
+ if ( empty( $plugin_licenses ) && empty( $theme_licenses ) ) {
786
+ return;
787
+ }
788
+
789
+ $all_licenses = array();
790
+ $user_id_license_ids_map = array();
791
+
792
+ foreach ( $plugin_licenses as $user_id => $user_licenses ) {
793
+ if ( is_array( $user_licenses ) ) {
794
+ if ( ! isset( $user_license_ids[ $user_id ] ) ) {
795
+ $user_id_license_ids_map[ $user_id ] = array();
796
+ }
797
+
798
+ foreach ( $user_licenses as $user_license ) {
799
+ $all_licenses[] = $user_license;
800
+ $user_id_license_ids_map[ $user_id ][] = $user_license->id;
801
+ }
802
+ }
803
+ }
804
+
805
+ foreach ( $theme_licenses as $user_id => $user_licenses ) {
806
+ if ( is_array( $user_licenses ) ) {
807
+ if ( ! isset( $user_license_ids[ $user_id ] ) ) {
808
+ $user_id_license_ids_map[ $user_id ] = array();
809
+ }
810
+
811
+ foreach ( $user_licenses as $user_license ) {
812
+ $all_licenses[] = $user_license;
813
+ $user_id_license_ids_map[ $user_id ][] = $user_license->id;
814
+ }
815
+ }
816
+ }
817
+
818
+ self::store_user_id_license_ids_map(
819
+ $user_id_license_ids_map,
820
+ $this->_module_id
821
+ );
822
+
823
+ $this->_store_licenses( true, $this->_module_id, $all_licenses );
824
+ }
825
+
826
+ /**
827
+ * Makes paths relative.
828
+ *
829
+ * @author Leo Fajardo (@leorw)
830
+ * @since 1.2.3
831
+ */
832
+ private function make_paths_relative() {
833
+ $id_slug_type_path_map = self::$_accounts->get_option( 'id_slug_type_path_map', array() );
834
+
835
+ if ( isset( $id_slug_type_path_map[ $this->_module_id ]['path'] ) ) {
836
+ $id_slug_type_path_map[ $this->_module_id ]['path'] = $this->get_relative_path( $id_slug_type_path_map[ $this->_module_id ]['path'] );
837
+
838
+ self::$_accounts->set_option( 'id_slug_type_path_map', $id_slug_type_path_map, true );
839
+ }
840
+
841
+ if ( isset( $this->_storage->plugin_main_file ) ) {
842
+ $plugin_main_file = $this->_storage->plugin_main_file;
843
+
844
+ if ( isset( $plugin_main_file->path ) ) {
845
+ $this->_storage->plugin_main_file->path = $this->get_relative_path( $this->_storage->plugin_main_file->path );
846
+ } else if ( isset( $plugin_main_file->prev_path ) ) {
847
+ $this->_storage->plugin_main_file->prev_path = $this->get_relative_path( $this->_storage->plugin_main_file->prev_path );
848
+ }
849
+ }
850
+
851
+ // Remove invalid path that is still associated with the current slug if there's any.
852
+ $file_slug_map = self::$_accounts->get_option( 'file_slug_map', array() );
853
+ foreach ( $file_slug_map as $plugin_basename => $slug ) {
854
+ if ( $slug === $this->_slug &&
855
+ $plugin_basename !== $this->_plugin_basename &&
856
+ ! file_exists( $this->get_absolute_path( $plugin_basename ) )
857
+ ) {
858
+ unset( $file_slug_map[ $plugin_basename ] );
859
+ self::$_accounts->set_option( 'file_slug_map', $file_slug_map, true );
860
+
861
+ break;
862
+ }
863
+ }
864
+ }
865
+
866
+ /**
867
+ * @author Vova Feldman (@svovaf)
868
+ * @since 1.2.2.7
869
+ *
870
+ * @param string $plugin_prev_version
871
+ * @param string $plugin_version
872
+ */
873
+ function _after_version_update( $plugin_prev_version, $plugin_version ) {
874
+ if ( $this->is_theme() ) {
875
+ // Expire the cache of the previous tabs since the theme may
876
+ // have setting updates.
877
+ $this->_cache->expire( 'tabs' );
878
+ $this->_cache->expire( 'tabs_stylesheets' );
879
+ }
880
+ }
881
+
882
+ /**
883
+ * A special migration logic for the $_accounts, executed for all the plugins in the system:
884
+ * - Moves some data to the network level storage.
885
+ * - If the plugin's connection was skipped for all sites, set the plugin as if it was network skipped.
886
+ * - If the plugin's connection was ignored for all sites, don't do anything in terms of the network connection.
887
+ * - If the plugin was connected to all sites by the same super-admin, set the plugin as if was network opted-in for all sites.
888
+ * - If there's at least one site that was connected by a super-admin, find the "main super-admin" (the one that installed the majority of the plugin installs) and set the plugin as if was network activated with the main super-admin, set all the sites that were skipped or opted-in with a different user to delegated mode. Then, prompt the currently logged super-admin to choose what to do with the ignored sites.
889
+ * - If there are any sites in the network which the connection decision was not yet taken for, set this plugin into network activation mode so a super-admin can choose what to do with the rest of the sites.
890
+ *
891
+ * @author Vova Feldman (@svovaf)
892
+ * @since 2.0.0
893
+ */
894
+ private static function migrate_accounts_to_network() {
895
+ $sites = self::get_sites();
896
+ $sites_count = count( $sites );
897
+ $connection_status = array();
898
+ $plugin_slugs = array();
899
+ foreach ( $sites as $site ) {
900
+ $blog_id = self::get_site_blog_id( $site );
901
+
902
+ self::$_accounts->migrate_to_network( $blog_id );
903
+
904
+ /**
905
+ * Build a list of all Freemius powered plugins slugs.
906
+ */
907
+ $id_slug_type_path_map = self::$_accounts->get_option( 'id_slug_type_path_map', array(), $blog_id );
908
+ foreach ( $id_slug_type_path_map as $module_id => $data ) {
909
+ if ( WP_FS__MODULE_TYPE_PLUGIN === $data['type'] ) {
910
+ $plugin_slugs[ $data['slug'] ] = true;
911
+ }
912
+ }
913
+
914
+ $installs = self::get_account_option( 'sites', WP_FS__MODULE_TYPE_PLUGIN, $blog_id );
915
+
916
+ if ( is_array( $installs ) ) {
917
+ foreach ( $installs as $slug => $install ) {
918
+ if ( ! isset( $connection_status[ $slug ] ) ) {
919
+ $connection_status[ $slug ] = array();
920
+ }
921
+
922
+ if ( is_object( $install ) &&
923
+ FS_Site::is_valid_id( $install->id ) &&
924
+ FS_User::is_valid_id( $install->user_id )
925
+ ) {
926
+ $connection_status[ $slug ][ $blog_id ] = $install->user_id;
927
+ }
928
+ }
929
+ }
930
+ }
931
+
932
+ foreach ( $plugin_slugs as $slug => $true ) {
933
+ if ( ! isset( $connection_status[ $slug ] ) ) {
934
+ $connection_status[ $slug ] = array();
935
+ }
936
+
937
+ foreach ( $sites as $site ) {
938
+ $blog_id = self::get_site_blog_id( $site );
939
+
940
+ if ( isset( $connection_status[ $slug ][ $blog_id ] ) ) {
941
+ continue;
942
+ }
943
+
944
+ $storage = FS_Storage::instance( WP_FS__MODULE_TYPE_PLUGIN, $slug );
945
+
946
+ $is_anonymous = $storage->get( 'is_anonymous', null, $blog_id );
947
+
948
+ if ( ! is_null( $is_anonymous ) ) {
949
+ // Since 1.1.3 is_anonymous is an array.
950
+ if ( is_array( $is_anonymous ) && isset( $is_anonymous['is'] ) ) {
951
+ $is_anonymous = $is_anonymous['is'];
952
+ }
953
+
954
+ if ( is_bool( $is_anonymous ) && true === $is_anonymous ) {
955
+ $connection_status[ $slug ][ $blog_id ] = 'skipped';
956
+ }
957
+ }
958
+
959
+ if ( ! isset( $connection_status[ $slug ][ $blog_id ] ) ) {
960
+ $connection_status[ $slug ][ $blog_id ] = 'ignored';
961
+ }
962
+ }
963
+ }
964
+
965
+ $super_admins = array();
966
+
967
+ foreach ( $connection_status as $slug => $blogs_status ) {
968
+ $skips = 0;
969
+ $ignores = 0;
970
+ $connections = 0;
971
+ $opted_in_users = array();
972
+ $opted_in_super_admins = array();
973
+
974
+ $storage = FS_Storage::instance( WP_FS__MODULE_TYPE_PLUGIN, $slug );
975
+
976
+ foreach ( $blogs_status as $blog_id => $status_or_user_id ) {
977
+ if ( 'skipped' === $status_or_user_id ) {
978
+ $skips ++;
979
+ } else if ( 'ignored' === $status_or_user_id ) {
980
+ $ignores ++;
981
+ } else if ( FS_User::is_valid_id( $status_or_user_id ) ) {
982
+ $connections ++;
983
+
984
+ if ( ! isset( $opted_in_users[ $status_or_user_id ] ) ) {
985
+ $opted_in_users[ $status_or_user_id ] = array();
986
+ }
987
+
988
+ $opted_in_users[ $status_or_user_id ][] = $blog_id;
989
+
990
+ if ( isset( $super_admins[ $status_or_user_id ] ) ||
991
+ self::is_super_admin( $status_or_user_id )
992
+ ) {
993
+ // Cache super-admin data.
994
+ $super_admins[ $status_or_user_id ] = true;
995
+
996
+ // Remember opted-in super-admins for the plugin.
997
+ $opted_in_super_admins[ $status_or_user_id ] = true;
998
+ }
999
+ }
1000
+ }
1001
+
1002
+ $main_super_admin_user_id = null;
1003
+ $all_migrated = false;
1004
+ if ( $sites_count == $skips ) {
1005
+ // All sites were skipped -> network skip by copying the anonymous mode from any of the sites.
1006
+ $storage->is_anonymous_ms = $storage->is_anonymous;
1007
+
1008
+ $all_migrated = true;
1009
+ } else if ( $sites_count == $ignores ) {
1010
+ // Don't do anything, still in activation mode.
1011
+
1012
+ $all_migrated = true;
1013
+ } else if ( 0 < count( $opted_in_super_admins ) ) {
1014
+ // Find the super-admin with the majority of installs.
1015
+ $max_installs_by_super_admin = 0;
1016
+ foreach ( $opted_in_super_admins as $user_id => $true ) {
1017
+ $installs_count = count( $opted_in_users[ $user_id ] );
1018
+
1019
+ if ( $installs_count > $max_installs_by_super_admin ) {
1020
+ $max_installs_by_super_admin = $installs_count;
1021
+ $main_super_admin_user_id = $user_id;
1022
+ }
1023
+ }
1024
+
1025
+ if ( $sites_count == $connections && 1 == count( $opted_in_super_admins ) ) {
1026
+ // Super-admin opted-in for all sites in the network.
1027
+ $storage->is_network_connected = true;
1028
+
1029
+ $all_migrated = true;
1030
+ }
1031
+
1032
+ // Store network user.
1033
+ $storage->network_user_id = $main_super_admin_user_id;
1034
+
1035
+ $storage->network_install_blog_id = ( $sites_count == $connections ) ?
1036
+ // Since all sites are opted-in, associating with the main site.
1037
+ get_current_blog_id() :
1038
+ // Associating with the 1st found opted-in site.
1039
+ $opted_in_users[ $main_super_admin_user_id ][0];
1040
+
1041
+ /**
1042
+ * Make sure we migrate the plan ID of the network install, otherwise, if after the migration
1043
+ * the 1st page that will be loaded is the network level WP Admin and $storage->network_install_blog_id
1044
+ * is different than the main site of the network, the $this->_site will not be set since the plan_id
1045
+ * will be empty.
1046
+ */
1047
+ $storage->migrate_to_network();
1048
+ self::migrate_install_plan_to_plan_id( $storage, $storage->network_install_blog_id );
1049
+ } else {
1050
+ // At least one opt-in. All the opt-in were created by a non-super-admin.
1051
+ if ( 0 == $ignores ) {
1052
+ // All sites were opted-in or skipped, all by non-super-admin. So delegate all.
1053
+ $storage->store( 'is_delegated_connection', true, true );
1054
+
1055
+ $all_migrated = true;
1056
+ }
1057
+ }
1058
+
1059
+ if ( ! $all_migrated ) {
1060
+ /**
1061
+ * Delegate all sites that were:
1062
+ * 1) Opted-in by a user that is NOT the main-super-admin.
1063
+ * 2) Skipped and non of the sites was opted-in by a super-admin. If any site was opted-in by a super-admin, there will be a main-super-admin, and we consider the skip as if it was done by that user.
1064
+ */
1065
+ foreach ( $blogs_status as $blog_id => $status_or_user_id ) {
1066
+ if ( $status_or_user_id == $main_super_admin_user_id ) {
1067
+ continue;
1068
+ }
1069
+
1070
+ if ( FS_User::is_valid_id( $status_or_user_id ) ||
1071
+ ( 'skipped' === $status_or_user_id && is_null( $main_super_admin_user_id ) )
1072
+ ) {
1073
+ $storage->store( 'is_delegated_connection', true, $blog_id );
1074
+ }
1075
+ }
1076
+ }
1077
+
1078
+
1079
+ if ( ( $connections + $skips > 0 ) ) {
1080
+ if ( $ignores > 0 ) {
1081
+ /**
1082
+ * If admin already opted-in or skipped in any of the network sites, and also
1083
+ * have sites which the connection decision was not yet taken, set this plugin
1084
+ * into network activation mode so the super-admin can choose what to do with
1085
+ * the rest of the sites.
1086
+ */
1087
+ self::set_network_upgrade_mode( $storage );
1088
+ }
1089
+ }
1090
+ }
1091
+ }
1092
+
1093
+ /**
1094
+ * Set a module into network upgrade mode.
1095
+ *
1096
+ * @author Vova Feldman (@svovaf)
1097
+ * @since 2.0.0
1098
+ *
1099
+ * @param \FS_Storage $storage
1100
+ *
1101
+ * @return bool
1102
+ */
1103
+ private static function set_network_upgrade_mode( FS_Storage $storage ) {
1104
+ return $storage->is_network_activation = true;
1105
+ }
1106
+
1107
+ /**
1108
+ * Will return true after upgrading to the SDK with the network level integration,
1109
+ * when the super-admin involvement is required regarding the rest of the sites.
1110
+ *
1111
+ * @author Vova Feldman (@svovaf)
1112
+ * @since 2.0.0
1113
+ *
1114
+ * @return bool
1115
+ */
1116
+ function is_network_upgrade_mode() {
1117
+ return $this->_storage->get( 'is_network_activation' );
1118
+ }
1119
+
1120
+ /**
1121
+ * Clear flag after the upgrade mode completion.
1122
+ *
1123
+ * @author Vova Feldman (@svovaf)
1124
+ * @since 2.0.0
1125
+ *
1126
+ * @return bool True if network activation was on and now completed.
1127
+ */
1128
+ private function network_upgrade_mode_completed() {
1129
+ if ( fs_is_network_admin() && $this->is_network_upgrade_mode() ) {
1130
+ $this->_storage->remove( 'is_network_activation' );
1131
+
1132
+ return true;
1133
+ }
1134
+
1135
+ return false;
1136
+ }
1137
+
1138
+ #endregion
1139
+
1140
+ /**
1141
+ * This action is connected to the 'plugins_loaded' hook and helps to determine
1142
+ * if this is a new plugin installation or a plugin update.
1143
+ *
1144
+ * There are 3 different use-cases:
1145
+ * 1) New plugin installation right with Freemius:
1146
+ * 1.1 _activate_plugin_event_hook() will be executed first
1147
+ * 1.2 Since $this->_storage->is_plugin_new_install is not set,
1148
+ * and $this->_storage->plugin_last_version is not set,
1149
+ * $this->_storage->is_plugin_new_install will be set to TRUE.
1150
+ * 1.3 When _plugins_loaded() will be executed, $this->_storage->is_plugin_new_install will
1151
+ * be already set to TRUE.
1152
+ *
1153
+ * 2) Plugin update, didn't have Freemius before, and now have the SDK:
1154
+ * 2.1 _activate_plugin_event_hook() will not be executed, because
1155
+ * the activation hook do NOT fires on updates since WP 3.1.
1156
+ * 2.2 When _plugins_loaded() will be executed, $this->_storage->is_plugin_new_install will
1157
+ * be empty, therefore, it will be set to FALSE.
1158
+ *
1159
+ * 3) Plugin update, had Freemius in prev version as well:
1160
+ * 3.1 _version_updates_handler() will be executed 1st, since FS was installed
1161
+ * before, $this->_storage->plugin_last_version will NOT be empty,
1162
+ * therefore, $this->_storage->is_plugin_new_install will be set to FALSE.
1163
+ * 3.2 When _plugins_loaded() will be executed, $this->_storage->is_plugin_new_install is
1164
+ * already set, therefore, it will not be modified.
1165
+ *
1166
+ * Use-case #3 is backward compatible, #3.1 will be executed since 1.0.9.
1167
+ *
1168
+ * NOTE:
1169
+ * The only fallback of this mechanism is if an admin updates a plugin based on use-case #2,
1170
+ * and then, the next immediate PageView is the plugin's main settings page, it will not
1171
+ * show the opt-in right away. The reason it will happen is because Freemius execution
1172
+ * will be turned off till the plugin is fully loaded at least once
1173
+ * (till $this->_storage->was_plugin_loaded is TRUE).
1174
+ *
1175
+ * @author Vova Feldman (@svovaf)
1176
+ * @since 1.1.9
1177
+ *
1178
+ */
1179
+ function _plugins_loaded() {
1180
+ // Update flag that plugin was loaded with Freemius at least once.
1181
+ $this->_storage->was_plugin_loaded = true;
1182
+
1183
+ /**
1184
+ * Bug fix - only set to false when it's a plugin, due to the
1185
+ * execution sequence of the theme hooks and our methods, if
1186
+ * this will be set for themes, Freemius will always assume
1187
+ * it's a theme update.
1188
+ *
1189
+ * @author Vova Feldman (@svovaf)
1190
+ * @since 1.2.2.2
1191
+ */
1192
+ if ( $this->is_plugin() &&
1193
+ ! isset( $this->_storage->is_plugin_new_install )
1194
+ ) {
1195
+ $this->_storage->is_plugin_new_install = false;
1196
+ }
1197
+ }
1198
+
1199
+ /**
1200
+ * Add special parameter to WP admin AJAX calls so when we
1201
+ * process AJAX calls we can identify its source properly.
1202
+ *
1203
+ * @author Leo Fajardo (@leorw)
1204
+ * @since 2.0.0
1205
+ */
1206
+ static function _enrich_ajax_url() {
1207
+ $admin_param = is_network_admin() ?
1208
+ '_fs_network_admin' :
1209
+ '_fs_blog_admin';
1210
+ ?>
1211
+ <script type="text/javascript">
1212
+ (function ($) {
1213
+ $(document).ajaxSend(function (event, jqxhr, settings) {
1214
+ if (settings.url &&
1215
+ -1 < settings.url.indexOf('admin-ajax.php') &&
1216
+ ! ( settings.url.indexOf( '<?php echo $admin_param ?>' ) > 0 )
1217
+ ) {
1218
+ if (settings.url.indexOf('?') > 0) {
1219
+ settings.url += '&';
1220
+ } else {
1221
+ settings.url += '?';
1222
+ }
1223
+
1224
+ settings.url += '<?php echo $admin_param ?>=true';
1225
+
1226
+ }
1227
+ });
1228
+ })(jQuery);
1229
+ </script>
1230
+ <?php
1231
+ }
1232
+
1233
+ /**
1234
+ * @author Vova Feldman (@svovaf)
1235
+ * @since 1.0.9
1236
+ */
1237
+ private function _register_hooks() {
1238
+ $this->_logger->entrance();
1239
+
1240
+ if ( is_admin() ) {
1241
+ add_action( 'plugins_loaded', array( &$this, '_hook_action_links_and_register_account_hooks' ) );
1242
+
1243
+ if ( $this->is_plugin() ) {
1244
+ $plugin_dir = dirname( $this->_plugin_dir_path ) . '/';
1245
+
1246
+ /**
1247
+ * @since 1.2.2
1248
+ *
1249
+ * Hook to both free and premium version activations to support
1250
+ * auto deactivation on the other version activation.
1251
+ */
1252
+ register_activation_hook(
1253
+ $plugin_dir . $this->_free_plugin_basename,
1254
+ array( &$this, '_activate_plugin_event_hook' )
1255
+ );
1256
+
1257
+ register_activation_hook(
1258
+ $plugin_dir . $this->premium_plugin_basename(),
1259
+ array( &$this, '_activate_plugin_event_hook' )
1260
+ );
1261
+ } else {
1262
+ add_action( 'after_switch_theme', array( &$this, '_activate_theme_event_hook' ), 10, 2 );
1263
+
1264
+ /**
1265
+ * Include the required hooks to capture the theme settings' page tabs
1266
+ * and cache them.
1267
+ *
1268
+ * @author Vova Feldman (@svovaf)
1269
+ * @since 1.2.2.7
1270
+ */
1271
+ if ( ! $this->_cache->has_valid( 'tabs' ) ) {
1272
+ add_action( 'admin_footer', array( &$this, '_tabs_capture' ) );
1273
+ // Add license activation AJAX callback.
1274
+ $this->add_ajax_action( 'store_tabs', array( &$this, '_store_tabs_ajax_action' ) );
1275
+
1276
+ add_action( 'admin_enqueue_scripts', array( &$this, '_store_tabs_styles' ), 9999999 );
1277
+ }
1278
+
1279
+ add_action(
1280
+ 'admin_footer',
1281
+ array( &$this, '_add_freemius_tabs' ),
1282
+ /**
1283
+ * The tabs JS code must be executed after the tabs capture logic (_tabs_capture()).
1284
+ * That's why the priority is 11 while the tabs capture logic is added
1285
+ * with priority 10.
1286
+ *
1287
+ * @author Vova Feldman (@svovaf)
1288
+ */
1289
+ 11
1290
+ );
1291
+
1292
+ add_action( 'admin_footer', array( &$this, '_style_premium_theme' ) );
1293
+ }
1294
+
1295
+ /**
1296
+ * Part of the mechanism to identify new plugin install vs. plugin update.
1297
+ *
1298
+ * @author Vova Feldman (@svovaf)
1299
+ * @since 1.1.9
1300
+ */
1301
+ if ( empty( $this->_storage->was_plugin_loaded ) ) {
1302
+ /**
1303
+ * During the plugin activation (not theme), 'plugins_loaded' will be already executed
1304
+ * when the logic gets here since the activation logic first add the activate plugins,
1305
+ * then triggers 'plugins_loaded', and only then include the code of the plugin that
1306
+ * is activated. Which means that _plugins_loaded() will NOT be executed during the
1307
+ * plugin activation, and that IS intentional.
1308
+ *
1309
+ * @author Vova Feldman (@svovaf)
1310
+ */
1311
+ if ( $this->is_plugin() && $this->is_activation_mode( false ) ) {
1312
+ add_action( 'plugins_loaded', array( &$this, '_plugins_loaded' ) );
1313
+ } else {
1314
+ // If was activated before, then it was already loaded before.
1315
+ $this->_plugins_loaded();
1316
+ }
1317
+ }
1318
+
1319
+ if ( ! self::is_ajax() ) {
1320
+ if ( ! $this->is_addon() ) {
1321
+ add_action( 'init', array( &$this, '_add_default_submenu_items' ), WP_FS__LOWEST_PRIORITY );
1322
+ }
1323
+ }
1324
+
1325
+ if ( $this->_storage->handle_gdpr_admin_notice ) {
1326
+ add_action( 'init', array( &$this, '_maybe_show_gdpr_admin_notice' ) );
1327
+ }
1328
+
1329
+ add_action( 'init', array( &$this, '_maybe_add_gdpr_optin_ajax_handler') );
1330
+ }
1331
+
1332
+ if ( $this->is_plugin() ) {
1333
+ if ( $this->_is_network_active ) {
1334
+ add_action( 'wpmu_new_blog', array( $this, '_after_new_blog_callback' ), 10, 6 );
1335
+ }
1336
+
1337
+ register_deactivation_hook( $this->_plugin_main_file_path, array( &$this, '_deactivate_plugin_hook' ) );
1338
+ }
1339
+
1340
+ if ( is_multisite() ) {
1341
+ add_action( 'deactivate_blog', array( &$this, '_after_site_deactivated_callback' ) );
1342
+ add_action( 'archive_blog', array( &$this, '_after_site_deactivated_callback' ) );
1343
+ add_action( 'make_spam_blog', array( &$this, '_after_site_deactivated_callback' ) );
1344
+ add_action( 'deleted_blog', array( &$this, '_after_site_deleted_callback' ), 10, 2 );
1345
+
1346
+ add_action( 'activate_blog', array( &$this, '_after_site_reactivated_callback' ) );
1347
+ add_action( 'unarchive_blog', array( &$this, '_after_site_reactivated_callback' ) );
1348
+ add_action( 'make_ham_blog', array( &$this, '_after_site_reactivated_callback' ) );
1349
+ }
1350
+
1351
+ if ( $this->is_theme() && self::is_customizer() ) {
1352
+ // Register customizer upsell.
1353
+ add_action( 'customize_register', array( &$this, '_customizer_register' ) );
1354
+ }
1355
+
1356
+ add_action( 'admin_init', array( &$this, '_redirect_on_clicked_menu_link' ), WP_FS__LOWEST_PRIORITY );
1357
+
1358
+ if ( $this->is_theme() ) {
1359
+ add_action( 'admin_init', array( &$this, '_add_tracking_links' ) );
1360
+ }
1361
+
1362
+ add_action( 'admin_init', array( &$this, '_add_license_activation' ) );
1363
+ add_action( 'admin_init', array( &$this, '_add_premium_version_upgrade_selection' ) );
1364
+
1365
+ $this->add_ajax_action( 'update_billing', array( &$this, '_update_billing_ajax_action' ) );
1366
+ $this->add_ajax_action( 'start_trial', array( &$this, '_start_trial_ajax_action' ) );
1367
+
1368
+ if ( $this->_is_network_active && fs_is_network_admin() ) {
1369
+ $this->add_ajax_action( 'network_activate', array( &$this, '_network_activate_ajax_action' ) );
1370
+ }
1371
+
1372
+ $this->add_ajax_action( 'install_premium_version', array(
1373
+ &$this,
1374
+ '_install_premium_version_ajax_action'
1375
+ ) );
1376
+
1377
+ $this->add_ajax_action( 'submit_affiliate_application', array( &$this, '_submit_affiliate_application' ) );
1378
+
1379
+ $this->add_action( 'after_plans_sync', array( &$this, '_check_for_trial_plans' ) );
1380
+
1381
+ $this->add_action( 'sdk_version_update', array( &$this, '_sdk_version_update' ), WP_FS__DEFAULT_PRIORITY, 2 );
1382
+
1383
+ $this->add_action(
1384
+ 'plugin_version_update',
1385
+ array( &$this, '_after_version_update' ),
1386
+ WP_FS__DEFAULT_PRIORITY,
1387
+ 2
1388
+ );
1389
+ $this->add_filter( 'after_code_type_change', array( &$this, '_after_code_type_change' ) );
1390
+
1391
+ add_action( 'admin_init', array( &$this, '_add_trial_notice' ) );
1392
+ add_action( 'admin_init', array( &$this, '_add_affiliate_program_notice' ) );
1393
+ add_action( 'admin_enqueue_scripts', array( &$this, '_enqueue_common_css' ) );
1394
+
1395
+ /**
1396
+ * Handle request to reset anonymous mode for `get_reconnect_url()`.
1397
+ *
1398
+ * @author Vova Feldman (@svovaf)
1399
+ * @since 1.2.1.5
1400
+ */
1401
+ if ( fs_request_is_action( 'reset_anonymous_mode' ) &&
1402
+ $this->get_unique_affix() === fs_request_get( 'fs_unique_affix' )
1403
+ ) {
1404
+ add_action( 'admin_init', array( &$this, 'connect_again' ) );
1405
+ }
1406
+ }
1407
+
1408
+ /**
1409
+ * Keeping the uninstall hook registered for free or premium plugin version may result to a fatal error that
1410
+ * could happen when a user tries to uninstall either version while one of them is still active. Uninstalling a
1411
+ * plugin will trigger inclusion of the free or premium version and if one of them is active during the
1412
+ * uninstallation, a fatal error may occur in case the plugin's class or functions are already defined.
1413
+ *
1414
+ * @author Leo Fajardo (@leorw)
1415
+ *
1416
+ * @since 1.2.0
1417
+ */
1418
+ private function unregister_uninstall_hook() {
1419
+ $uninstallable_plugins = (array) get_option( 'uninstall_plugins' );
1420
+ unset( $uninstallable_plugins[ $this->_free_plugin_basename ] );
1421
+ unset( $uninstallable_plugins[ $this->premium_plugin_basename() ] );
1422
+
1423
+ update_option( 'uninstall_plugins', $uninstallable_plugins );
1424
+ }
1425
+
1426
+ /**
1427
+ * @since 1.2.0 Invalidate module's main file cache, otherwise, FS_Plugin_Updater will not fetch updates.
1428
+ */
1429
+ private function clear_module_main_file_cache() {
1430
+ if ( ! isset( $this->_storage->plugin_main_file ) ||
1431
+ empty( $this->_storage->plugin_main_file->path )
1432
+ ) {
1433
+ return;
1434
+ }
1435
+
1436
+ $plugin_main_file = clone $this->_storage->plugin_main_file;
1437
+
1438
+ // Store cached path (2nd layer cache).
1439
+ $plugin_main_file->prev_path = $plugin_main_file->path;
1440
+
1441
+ // Clear cached path.
1442
+ unset( $plugin_main_file->path );
1443
+
1444
+ $this->_storage->plugin_main_file = $plugin_main_file;
1445
+
1446
+ /**
1447
+ * Clear global cached path.
1448
+ *
1449
+ * @author Leo Fajardo (@leorw)
1450
+ * @since 1.2.2
1451
+ */
1452
+ $id_slug_type_path_map = self::$_accounts->get_option( 'id_slug_type_path_map' );
1453
+ unset( $id_slug_type_path_map[ $this->_module_id ]['path'] );
1454
+ self::$_accounts->set_option( 'id_slug_type_path_map', $id_slug_type_path_map, true );
1455
+ }
1456
+
1457
+ /**
1458
+ * @author Leo Fajardo (@leorw)
1459
+ * @since 2.0.0
1460
+ */
1461
+ function _hook_action_links_and_register_account_hooks() {
1462
+ add_action( 'admin_init', array( &$this, '_add_tracking_links' ) );
1463
+
1464
+ if ( self::is_plugins_page() && $this->is_plugin() ) {
1465
+ $this->hook_plugin_action_links();
1466
+ }
1467
+
1468
+ $this->_register_account_hooks();
1469
+ }
1470
+
1471
+ /**
1472
+ * @author Vova Feldman (@svovaf)
1473
+ * @since 1.0.9
1474
+ */
1475
+ private function _register_account_hooks() {
1476
+ if ( ! is_admin() ) {
1477
+ return;
1478
+ }
1479
+
1480
+ /**
1481
+ * Always show the deactivation feedback form since we added
1482
+ * automatic free version deactivation upon premium code activation.
1483
+ *
1484
+ * @since 1.2.1.6
1485
+ */
1486
+ $this->add_ajax_action(
1487
+ 'submit_uninstall_reason',
1488
+ array( &$this, '_submit_uninstall_reason_action' )
1489
+ );
1490
+
1491
+ if ( $this->is_theme() && $this->is_premium() && ! $this->has_active_valid_license() ) {
1492
+ $this->add_ajax_action(
1493
+ 'delete_theme_update_data',
1494
+ array( &$this, '_delete_theme_update_data_action' )
1495
+ );
1496
+ }
1497
+
1498
+ if ( ! $this->is_addon() || $this->is_parent_plugin_installed() ) {
1499
+ if ( ( $this->is_plugin() && self::is_plugins_page() ) ||
1500
+ ( $this->is_theme() && self::is_themes_page() )
1501
+ ) {
1502
+ add_action( 'admin_footer', array( &$this, '_add_deactivation_feedback_dialog_box' ) );
1503
+ }
1504
+ }
1505
+ }
1506
+
1507
+ /**
1508
+ * Leverage backtrace to find caller plugin file path.
1509
+ *
1510
+ * @author Vova Feldman (@svovaf)
1511
+ * @since 1.0.6
1512
+ *
1513
+ * @param bool $is_init Is initiation sequence.
1514
+ *
1515
+ * @return string
1516
+ */
1517
+ private function _find_caller_plugin_file( $is_init = false ) {
1518
+ // Try to load the cached value of the file path.
1519
+ if ( isset( $this->_storage->plugin_main_file ) ) {
1520
+ $plugin_main_file = $this->_storage->plugin_main_file;
1521
+ if ( isset( $plugin_main_file->path ) ) {
1522
+ $absolute_path = $this->get_absolute_path( $plugin_main_file->path );
1523
+ if ( file_exists( $absolute_path ) ) {
1524
+ return $absolute_path;
1525
+ }
1526
+ }
1527
+ }
1528
+
1529
+ /**
1530
+ * @since 1.2.1
1531
+ *
1532
+ * `clear_module_main_file_cache()` is clearing the plugin's cached path on
1533
+ * deactivation. Therefore, if any plugin/theme was initiating `Freemius`
1534
+ * with that plugin's slug, it was overriding the empty plugin path with a wrong path.
1535
+ *
1536
+ * So, we've added a special mechanism with a 2nd layer of cache that uses `prev_path`
1537
+ * when the class instantiator isn't the module.
1538
+ */
1539
+ if ( ! $is_init ) {
1540
+ // Fetch prev path cache.
1541
+ if ( isset( $this->_storage->plugin_main_file ) &&
1542
+ isset( $this->_storage->plugin_main_file->prev_path )
1543
+ ) {
1544
+ $absolute_path = $this->get_absolute_path( $this->_storage->plugin_main_file->prev_path );
1545
+ if ( file_exists( $absolute_path ) ) {
1546
+ return $absolute_path;
1547
+ }
1548
+ }
1549
+
1550
+ wp_die(
1551
+ $this->get_text_inline( 'Freemius SDK couldn\'t find the plugin\'s main file. Please contact sdk@freemius.com with the current error.', 'failed-finding-main-path' ) .
1552
+ " Module: {$this->_slug}; SDK: " . WP_FS__SDK_VERSION . ";",
1553
+ $this->get_text_inline( 'Error', 'error' ),
1554
+ array( 'back_link' => true )
1555
+ );
1556
+ }
1557
+
1558
+ /**
1559
+ * @since 1.2.1
1560
+ *
1561
+ * Only the original instantiator that calls dynamic_init can modify the module's path.
1562
+ */
1563
+ // Find caller module.
1564
+ $id_slug_type_path_map = self::$_accounts->get_option( 'id_slug_type_path_map', array() );
1565
+ $this->_storage->plugin_main_file = (object) array(
1566
+ 'path' => $id_slug_type_path_map[ $this->_module_id ]['path'],
1567
+ );
1568
+
1569
+ return $this->get_absolute_path( $id_slug_type_path_map[ $this->_module_id ]['path'] );
1570
+ }
1571
+
1572
+ /**
1573
+ * @author Leo Fajardo (@leorw)
1574
+ * @since 1.2.3
1575
+ *
1576
+ * @param string $path
1577
+ *
1578
+ * @return string
1579
+ */
1580
+ private function get_relative_path( $path ) {
1581
+ $module_root_dir = $this->get_module_root_dir_path();
1582
+ if ( 0 === strpos( $path, $module_root_dir ) ) {
1583
+ $path = substr( $path, strlen( $module_root_dir ) );
1584
+ }
1585
+
1586
+ return $path;
1587
+ }
1588
+
1589
+ /**
1590
+ * @author Leo Fajardo (@leorw)
1591
+ * @since 1.2.3
1592
+ *
1593
+ * @param string $path
1594
+ * @param string|bool $module_type
1595
+ *
1596
+ * @return string
1597
+ */
1598
+ private function get_absolute_path( $path, $module_type = false ) {
1599
+ $module_root_dir = $this->get_module_root_dir_path( $module_type );
1600
+ if ( 0 !== strpos( $path, $module_root_dir ) ) {
1601
+ $path = fs_normalize_path( $module_root_dir . $path );
1602
+ }
1603
+
1604
+ return $path;
1605
+ }
1606
+
1607
+ /**
1608
+ * @author Leo Fajardo (@leorw)
1609
+ * @since 1.2.3
1610
+ *
1611
+ * @param string|bool $module_type
1612
+ *
1613
+ * @return string
1614
+ */
1615
+ private function get_module_root_dir_path( $module_type = false ) {
1616
+ $is_plugin = empty( $module_type ) ?
1617
+ $this->is_plugin() :
1618
+ ( WP_FS__MODULE_TYPE_PLUGIN === $module_type );
1619
+
1620
+ return fs_normalize_path( trailingslashit( $is_plugin ?
1621
+ WP_PLUGIN_DIR :
1622
+ get_theme_root() ) );
1623
+ }
1624
+
1625
+ /**
1626
+ * @author Leo Fajardo (@leorw)
1627
+ *
1628
+ * @param number $module_id
1629
+ * @param string $slug
1630
+ *
1631
+ * @since 1.2.2
1632
+ */
1633
+ private function store_id_slug_type_path_map( $module_id, $slug ) {
1634
+ $id_slug_type_path_map = self::$_accounts->get_option( 'id_slug_type_path_map', array() );
1635
+
1636
+ $store_option = false;
1637
+
1638
+ if ( ! isset( $id_slug_type_path_map[ $module_id ] ) ) {
1639
+ $id_slug_type_path_map[ $module_id ] = array(
1640
+ 'slug' => $slug
1641
+ );
1642
+
1643
+ $store_option = true;
1644
+ }
1645
+
1646
+ if ( ! isset( $id_slug_type_path_map[ $module_id ]['path'] ) ||
1647
+ /**
1648
+ * This verification is for cases when suddenly the same module
1649
+ * is installed but with a different folder name.
1650
+ *
1651
+ * @author Vova Feldman (@svovaf)
1652
+ * @since 1.2.3
1653
+ */
1654
+ ! file_exists( $this->get_absolute_path(
1655
+ $id_slug_type_path_map[ $module_id ]['path'],
1656
+ $id_slug_type_path_map[ $module_id ]['type']
1657
+ ) )
1658
+ ) {
1659
+ $caller_main_file_and_type = $this->get_caller_main_file_and_type();
1660
+
1661
+ $id_slug_type_path_map[ $module_id ]['type'] = $caller_main_file_and_type->module_type;
1662
+ $id_slug_type_path_map[ $module_id ]['path'] = $caller_main_file_and_type->path;
1663
+
1664
+ $store_option = true;
1665
+ }
1666
+
1667
+ if ( $store_option ) {
1668
+ self::$_accounts->set_option( 'id_slug_type_path_map', $id_slug_type_path_map, true );
1669
+ }
1670
+ }
1671
+
1672
+ /**
1673
+ * Identifies the caller type: plugin or theme.
1674
+ *
1675
+ * @author Leo Fajardo (@leorw)
1676
+ * @since 1.2.2
1677
+ *
1678
+ * @author Vova Feldman (@svovaf)
1679
+ * @since 1.2.2.3 Find the earliest module in the call stack that calls to the SDK. This fix is for cases when
1680
+ * add-ons are relying on loading the SDK from the parent module, and also allows themes including the
1681
+ * SDK an internal file instead of directly from functions.php.
1682
+ * @since 1.2.1.7 Knows how to handle cases when an add-on includes the parent module logic.
1683
+ */
1684
+ private function get_caller_main_file_and_type() {
1685
+ self::require_plugin_essentials();
1686
+
1687
+ $all_plugins = get_plugins();
1688
+ $all_plugins_paths = array();
1689
+
1690
+ // Get active plugin's main files real full names (might be symlinks).
1691
+ foreach ( $all_plugins as $relative_path => &$data ) {
1692
+ if ( false === strpos( fs_normalize_path( $relative_path ), '/' ) ) {
1693
+ /**
1694
+ * Ignore plugins that don't have a folder (e.g. Hello Dolly) since they
1695
+ * can't really include the SDK.
1696
+ *
1697
+ * @author Vova Feldman
1698
+ * @since 1.2.1.7
1699
+ */
1700
+ continue;
1701
+ }
1702
+
1703
+ $all_plugins_paths[] = fs_normalize_path( realpath( WP_PLUGIN_DIR . '/' . $relative_path ) );
1704
+ }
1705
+
1706
+ $caller_file_candidate = false;
1707
+ $caller_map = array();
1708
+ $module_type = WP_FS__MODULE_TYPE_PLUGIN;
1709
+ $themes_dir = fs_normalize_path( get_theme_root() );
1710
+
1711
+ for ( $i = 1, $bt = debug_backtrace(), $len = count( $bt ); $i < $len; $i ++ ) {
1712
+ if ( empty( $bt[ $i ]['file'] ) ) {
1713
+ continue;
1714
+ }
1715
+
1716
+ if ( $i > 1 && ! empty( $bt[ $i - 1 ]['file'] ) && $bt[ $i ]['file'] === $bt[ $i - 1 ]['file'] ) {
1717
+ // If file same as the prev file in the stack, skip it.
1718
+ continue;
1719
+ }
1720
+
1721
+ if ( ! empty( $bt[ $i ]['function'] ) && in_array( $bt[ $i ]['function'], array(
1722
+ 'do_action',
1723
+ 'apply_filter',
1724
+ // The string split is stupid, but otherwise, theme check
1725
+ // throws info notices.
1726
+ 'requir' . 'e_once',
1727
+ 'requir' . 'e',
1728
+ 'includ' . 'e_once',
1729
+ 'includ' . 'e'
1730
+ ) )
1731
+ ) {
1732
+ // Ignore call stack hooks and files inclusion.
1733
+ continue;
1734
+ }
1735
+
1736
+ $caller_file_path = fs_normalize_path( $bt[ $i ]['file'] );
1737
+
1738
+ if ( 'functions.php' === basename( $caller_file_path ) ) {
1739
+ /**
1740
+ * 1. Assumes that theme's starting execution file is functions.php.
1741
+ * 2. This complex logic fixes symlink issues (e.g. with Vargant).
1742
+ *
1743
+ * @author Vova Feldman (@svovaf)
1744
+ * @since 1.2.2.5
1745
+ */
1746
+
1747
+ if ( $caller_file_path == fs_normalize_path( realpath( trailingslashit( $themes_dir ) . basename( dirname( $caller_file_path ) ) . '/' . basename( $caller_file_path ) ) ) ) {
1748
+ $module_type = WP_FS__MODULE_TYPE_THEME;
1749
+
1750
+ /**
1751
+ * Relative path of the theme, e.g.:
1752
+ * `my-theme/functions.php`
1753
+ *
1754
+ * @author Leo Fajardo (@leorw)
1755
+ */
1756
+ $caller_file_candidate = basename( dirname( $caller_file_path ) ) .
1757
+ '/' .
1758
+ basename( $caller_file_path );
1759
+
1760
+ continue;
1761
+ }
1762
+ }
1763
+
1764
+ $caller_file_hash = md5( $caller_file_path );
1765
+
1766
+ if ( ! isset( $caller_map[ $caller_file_hash ] ) ) {
1767
+ foreach ( $all_plugins_paths as $plugin_path ) {
1768
+ if ( false !== strpos( $caller_file_path, fs_normalize_path( dirname( $plugin_path ) . '/' ) ) ) {
1769
+ $caller_map[ $caller_file_hash ] = fs_normalize_path( $plugin_path );
1770
+ break;
1771
+ }
1772
+ }
1773
+ }
1774
+
1775
+ if ( isset( $caller_map[ $caller_file_hash ] ) ) {
1776
+ $module_type = WP_FS__MODULE_TYPE_PLUGIN;
1777
+ $caller_file_candidate = plugin_basename( $caller_map[ $caller_file_hash ] );
1778
+ }
1779
+ }
1780
+
1781
+ return (object) array(
1782
+ 'module_type' => $module_type,
1783
+ 'path' => $caller_file_candidate
1784
+ );
1785
+ }
1786
+
1787
+ #----------------------------------------------------------------------------------
1788
+ #region Deactivation Feedback Form
1789
+ #----------------------------------------------------------------------------------
1790
+
1791
+ /**
1792
+ * Displays a confirmation and feedback dialog box when the user clicks on the "Deactivate" link on the plugins
1793
+ * page.
1794
+ *
1795
+ * @author Vova Feldman (@svovaf)
1796
+ * @author Leo Fajardo (@leorw)
1797
+ * @since 1.1.2
1798
+ */
1799
+ function _add_deactivation_feedback_dialog_box() {
1800
+ /* Check the type of user:
1801
+ * 1. Long-term (long-term)
1802
+ * 2. Non-registered and non-anonymous short-term (non-registered-and-non-anonymous-short-term).
1803
+ * 3. Short-term (short-term)
1804
+ */
1805
+ $is_long_term_user = true;
1806
+
1807
+ // Check if the site is at least 2 days old.
1808
+ $time_installed = $this->_storage->install_timestamp;
1809
+
1810
+ // Difference in seconds.
1811
+ $date_diff = time() - $time_installed;
1812
+
1813
+ // Convert seconds to days.
1814
+ $date_diff_days = floor( $date_diff / ( 60 * 60 * 24 ) );
1815
+
1816
+ if ( $date_diff_days < 2 ) {
1817
+ $is_long_term_user = false;
1818
+ }
1819
+
1820
+ $is_long_term_user = $this->apply_filters( 'is_long_term_user', $is_long_term_user );
1821
+
1822
+ if ( $is_long_term_user ) {
1823
+ $user_type = 'long-term';
1824
+ } else {
1825
+ if ( ! $this->is_registered() && ! $this->is_anonymous() ) {
1826
+ $user_type = 'non-registered-and-non-anonymous-short-term';
1827
+ } else {
1828
+ $user_type = 'short-term';
1829
+ }
1830
+ }
1831
+
1832
+ $uninstall_reasons = $this->_get_uninstall_reasons( $user_type );
1833
+
1834
+ // Load the HTML template for the deactivation feedback dialog box.
1835
+ $vars = array(
1836
+ 'reasons' => $uninstall_reasons,
1837
+ 'id' => $this->_module_id
1838
+ );
1839
+
1840
+ /**
1841
+ * @todo Deactivation form core functions should be loaded only once! Otherwise, when there are multiple Freemius powered plugins the same code is loaded multiple times. The only thing that should be loaded differently is the various deactivation reasons object based on the state of the plugin.
1842
+ */
1843
+ fs_require_template( 'forms/deactivation/form.php', $vars );
1844
+ }
1845
+
1846
+ /**
1847
+ * @author Leo Fajardo (@leorw)
1848
+ * @since 1.1.2
1849
+ *
1850
+ * @param string $user_type
1851
+ *
1852
+ * @return array The uninstall reasons for the specified user type.
1853
+ */
1854
+ function _get_uninstall_reasons( $user_type = 'long-term' ) {
1855
+ $module_type = $this->_module_type;
1856
+
1857
+ $internal_message_template_var = array(
1858
+ 'id' => $this->_module_id
1859
+ );
1860
+
1861
+ $plan = $this->get_plan();
1862
+
1863
+ if ( $this->is_registered() && is_object( $plan ) && $plan->has_technical_support() ) {
1864
+ $contact_support_template = fs_get_template( 'forms/deactivation/contact.php', $internal_message_template_var );
1865
+ } else {
1866
+ $contact_support_template = '';
1867
+ }
1868
+
1869
+ $reason_found_better_plugin = array(
1870
+ 'id' => self::REASON_FOUND_A_BETTER_PLUGIN,
1871
+ 'text' => sprintf( $this->get_text_inline( 'I found a better %s', 'reason-found-a-better-plugin' ), $module_type ),
1872
+ 'input_type' => 'textfield',
1873
+ 'input_placeholder' => sprintf( $this->get_text_inline( "What's the %s's name?", 'placeholder-plugin-name' ), $module_type ),
1874
+ );
1875
+
1876
+ $reason_temporary_deactivation = array(
1877
+ 'id' => self::REASON_TEMPORARY_DEACTIVATION,
1878
+ 'text' => sprintf(
1879
+ $this->get_text_inline( "It's a temporary %s. I'm just debugging an issue.", 'reason-temporary-x' ),
1880
+ strtolower( $this->is_plugin() ?
1881
+ $this->get_text_inline( 'Deactivation', 'deactivation' ) :
1882
+ $this->get_text_inline( 'Theme Switch', 'theme-switch' )
1883
+ )
1884
+ ),
1885
+ 'input_type' => '',
1886
+ 'input_placeholder' => ''
1887
+ );
1888
+
1889
+ $reason_other = array(
1890
+ 'id' => self::REASON_OTHER,
1891
+ 'text' => $this->get_text_inline( 'Other', 'reason-other' ),
1892
+ 'input_type' => 'textfield',
1893
+ 'input_placeholder' => ''
1894
+ );
1895
+
1896
+ $long_term_user_reasons = array(
1897
+ array(
1898
+ 'id' => self::REASON_NO_LONGER_NEEDED,
1899
+ 'text' => sprintf( $this->get_text_inline( 'I no longer need the %s', 'reason-no-longer-needed' ), $module_type ),
1900
+ 'input_type' => '',
1901
+ 'input_placeholder' => ''
1902
+ ),
1903
+ $reason_found_better_plugin,
1904
+ array(
1905
+ 'id' => self::REASON_NEEDED_FOR_A_SHORT_PERIOD,
1906
+ 'text' => sprintf( $this->get_text_inline( 'I only needed the %s for a short period', 'reason-needed-for-a-short-period' ), $module_type ),
1907
+ 'input_type' => '',
1908
+ 'input_placeholder' => ''
1909
+ ),
1910
+ array(
1911
+ 'id' => self::REASON_BROKE_MY_SITE,
1912
+ 'text' => sprintf( $this->get_text_inline( 'The %s broke my site', 'reason-broke-my-site' ), $module_type ),
1913
+ 'input_type' => '',
1914
+ 'input_placeholder' => '',
1915
+ 'internal_message' => $contact_support_template
1916
+ ),
1917
+ array(
1918
+ 'id' => self::REASON_SUDDENLY_STOPPED_WORKING,
1919
+ 'text' => sprintf( $this->get_text_inline( 'The %s suddenly stopped working', 'reason-suddenly-stopped-working' ), $module_type ),
1920
+ 'input_type' => '',
1921
+ 'input_placeholder' => '',
1922
+ 'internal_message' => $contact_support_template
1923
+ )
1924
+ );
1925
+
1926
+ if ( $this->is_paying() ) {
1927
+ $long_term_user_reasons[] = array(
1928
+ 'id' => self::REASON_CANT_PAY_ANYMORE,
1929
+ 'text' => $this->get_text_inline( "I can't pay for it anymore", 'reason-cant-pay-anymore' ),
1930
+ 'input_type' => 'textfield',
1931
+ 'input_placeholder' => $this->get_text_inline( 'What price would you feel comfortable paying?', 'placeholder-comfortable-price' )
1932
+ );
1933
+ }
1934
+
1935
+ $reason_dont_share_info = array(
1936
+ 'id' => self::REASON_DONT_LIKE_TO_SHARE_MY_INFORMATION,
1937
+ 'text' => $this->get_text_inline( "I don't like to share my information with you", 'reason-dont-like-to-share-my-information' ),
1938
+ 'input_type' => '',
1939
+ 'input_placeholder' => ''
1940
+ );
1941
+
1942
+ /**
1943
+ * If the current user has selected the "don't share data" reason in the deactivation feedback modal, inform the
1944
+ * user by showing additional message that he doesn't have to share data and can just choose to skip the opt-in
1945
+ * (the Skip button is included in the message to show). This message will only be shown if anonymous mode is
1946
+ * enabled and the user's account is currently not in pending activation state (similar to the way the Skip
1947
+ * button in the opt-in form is shown/hidden).
1948
+ */
1949
+ if ( $this->is_enable_anonymous() && ! $this->is_pending_activation() ) {
1950
+ $reason_dont_share_info['internal_message'] = fs_get_template( 'forms/deactivation/retry-skip.php', $internal_message_template_var );
1951
+ }
1952
+
1953
+ $uninstall_reasons = array(
1954
+ 'long-term' => $long_term_user_reasons,
1955
+ 'non-registered-and-non-anonymous-short-term' => array(
1956
+ array(
1957
+ 'id' => self::REASON_DIDNT_WORK,
1958
+ 'text' => sprintf( $this->get_text_inline( "The %s didn't work", 'reason-didnt-work' ), $module_type ),
1959
+ 'input_type' => '',
1960
+ 'input_placeholder' => ''
1961
+ ),
1962
+ $reason_dont_share_info,
1963
+ $reason_found_better_plugin
1964
+ ),
1965
+ 'short-term' => array(
1966
+ array(
1967
+ 'id' => self::REASON_COULDNT_MAKE_IT_WORK,
1968
+ 'text' => $this->get_text_inline( "I couldn't understand how to make it work", 'reason-couldnt-make-it-work' ),
1969
+ 'input_type' => '',
1970
+ 'input_placeholder' => '',
1971
+ 'internal_message' => $contact_support_template
1972
+ ),
1973
+ $reason_found_better_plugin,
1974
+ array(
1975
+ 'id' => self::REASON_GREAT_BUT_NEED_SPECIFIC_FEATURE,
1976
+ 'text' => sprintf( $this->get_text_inline( "The %s is great, but I need specific feature that you don't support", 'reason-great-but-need-specific-feature' ), $module_type ),
1977
+ 'input_type' => 'textarea',
1978
+ 'input_placeholder' => $this->get_text_inline( 'What feature?', 'placeholder-feature' )
1979
+ ),
1980
+ array(
1981
+ 'id' => self::REASON_NOT_WORKING,
1982
+ 'text' => sprintf( $this->get_text_inline( 'The %s is not working', 'reason-not-working' ), $module_type ),
1983
+ 'input_type' => 'textarea',
1984
+ 'input_placeholder' => $this->get_text_inline( "Kindly share what didn't work so we can fix it for future users...", 'placeholder-share-what-didnt-work' )
1985
+ ),
1986
+ array(
1987
+ 'id' => self::REASON_NOT_WHAT_I_WAS_LOOKING_FOR,
1988
+ 'text' => $this->get_text_inline( "It's not what I was looking for", 'reason-not-what-i-was-looking-for' ),
1989
+ 'input_type' => 'textarea',
1990
+ 'input_placeholder' => $this->get_text_inline( "What you've been looking for?", 'placeholder-what-youve-been-looking-for' )
1991
+ ),
1992
+ array(
1993
+ 'id' => self::REASON_DIDNT_WORK_AS_EXPECTED,
1994
+ 'text' => sprintf( $this->get_text_inline( "The %s didn't work as expected", 'reason-didnt-work-as-expected' ), $module_type ),
1995
+ 'input_type' => 'textarea',
1996
+ 'input_placeholder' => $this->get_text_inline( 'What did you expect?', 'placeholder-what-did-you-expect' )
1997
+ )
1998
+ )
1999
+ );
2000
+
2001
+ // Randomize the reasons for the current user type.
2002
+ shuffle( $uninstall_reasons[ $user_type ] );
2003
+
2004
+ // Keep the following reasons as the last items in the list.
2005
+ $uninstall_reasons[ $user_type ][] = $reason_temporary_deactivation;
2006
+ $uninstall_reasons[ $user_type ][] = $reason_other;
2007
+
2008
+ $uninstall_reasons = $this->apply_filters( 'uninstall_reasons', $uninstall_reasons );
2009
+
2010
+ return $uninstall_reasons[ $user_type ];
2011
+ }
2012
+
2013
+ /**
2014
+ * Called after the user has submitted his reason for deactivating the plugin.
2015
+ *
2016
+ * @author Leo Fajardo (@leorw)
2017
+ * @since 1.1.2
2018
+ */
2019
+ function _submit_uninstall_reason_action() {
2020
+ $this->_logger->entrance();
2021
+
2022
+ $this->check_ajax_referer( 'submit_uninstall_reason' );
2023
+
2024
+ $reason_id = fs_request_get( 'reason_id' );
2025
+
2026
+ // Check if the given reason ID is an unsigned integer.
2027
+ if ( ! ctype_digit( $reason_id ) ) {
2028
+ exit;
2029
+ }
2030
+
2031
+ $reason_info = trim( fs_request_get( 'reason_info', '' ) );
2032
+ if ( ! empty( $reason_info ) ) {
2033
+ $reason_info = substr( $reason_info, 0, 128 );
2034
+ }
2035
+
2036
+ $reason = (object) array(
2037
+ 'id' => $reason_id,
2038
+ 'info' => $reason_info,
2039
+ 'is_anonymous' => fs_request_get_bool( 'is_anonymous' )
2040
+ );
2041
+
2042
+ $this->_storage->store( 'uninstall_reason', $reason );
2043
+
2044
+ /**
2045
+ * If the module type is "theme", trigger the uninstall event here (on theme deactivation) since themes do
2046
+ * not support uninstall hook.
2047
+ *
2048
+ * @author Leo Fajardo (@leorw)
2049
+ * @since 1.2.2
2050
+ */
2051
+ if ( $this->is_theme() ) {
2052
+ if ( $this->is_premium() && ! $this->has_active_valid_license() ) {
2053
+ FS_Plugin_Updater::instance( $this )->delete_update_data();
2054
+ }
2055
+
2056
+ $this->_uninstall_plugin_event( false );
2057
+ $this->remove_sdk_reference();
2058
+ }
2059
+
2060
+ // Print '1' for successful operation.
2061
+ echo 1;
2062
+ exit;
2063
+ }
2064
+
2065
+ /**
2066
+ * @author Leo Fajardo (@leorw)
2067
+ * @since 2.0.2
2068
+ */
2069
+ function _delete_theme_update_data_action() {
2070
+ FS_Plugin_Updater::instance( $this )->delete_update_data();
2071
+ }
2072
+
2073
+ #endregion
2074
+
2075
+ #----------------------------------------------------------------------------------
2076
+ #region Instance
2077
+ #----------------------------------------------------------------------------------
2078
+
2079
+ /**
2080
+ * Main singleton instance.
2081
+ *
2082
+ * @author Vova Feldman (@svovaf)
2083
+ * @since 1.0.0
2084
+ *
2085
+ * @param number $module_id
2086
+ * @param string|bool $slug
2087
+ * @param bool $is_init Is initiation sequence.
2088
+ *
2089
+ * @return Freemius|false
2090
+ */
2091
+ static function instance( $module_id, $slug = false, $is_init = false ) {
2092
+ if ( empty( $module_id ) ) {
2093
+ return false;
2094
+ }
2095
+
2096
+ /**
2097
+ * Load the essential static data prior to initiating FS_Plugin_Manager since there's an essential MS network migration logic that needs to be executed prior to the initiation.
2098
+ */
2099
+ self::_load_required_static();
2100
+
2101
+ if ( ! is_numeric( $module_id ) ) {
2102
+ if ( ! $is_init && true === $slug ) {
2103
+ $is_init = true;
2104
+ }
2105
+
2106
+ $slug = $module_id;
2107
+
2108
+ $module = FS_Plugin_Manager::instance( $slug )->get();
2109
+
2110
+ if ( is_object( $module ) ) {
2111
+ $module_id = $module->id;
2112
+ }
2113
+ }
2114
+
2115
+ $key = 'm_' . $module_id;
2116
+
2117
+ if ( ! isset( self::$_instances[ $key ] ) ) {
2118
+ self::$_instances[ $key ] = new Freemius( $module_id, $slug, $is_init );
2119
+ }
2120
+
2121
+ return self::$_instances[ $key ];
2122
+ }
2123
+
2124
+ /**
2125
+ * @author Vova Feldman (@svovaf)
2126
+ * @since 1.0.6
2127
+ *
2128
+ * @param number $addon_id
2129
+ *
2130
+ * @return bool
2131
+ */
2132
+ private static function has_instance( $addon_id ) {
2133
+ return isset( self::$_instances[ 'm_' . $addon_id ] );
2134
+ }
2135
+
2136
+ /**
2137
+ * @author Leo Fajardo (@leorw)
2138
+ * @since 1.2.2
2139
+ *
2140
+ * @param string|number $id_or_slug
2141
+ *
2142
+ * @return number|false
2143
+ */
2144
+ private static function get_module_id( $id_or_slug ) {
2145
+ if ( is_numeric( $id_or_slug ) ) {
2146
+ return $id_or_slug;
2147
+ }
2148
+
2149
+ foreach ( self::$_instances as $instance ) {
2150
+ if ( $instance->is_plugin() && ( $id_or_slug === $instance->get_slug() ) ) {
2151
+ return $instance->get_id();
2152
+ }
2153
+ }
2154
+
2155
+ return false;
2156
+ }
2157
+
2158
+ /**
2159
+ * @author Vova Feldman (@svovaf)
2160
+ * @since 1.0.6
2161
+ *
2162
+ * @param number $id
2163
+ *
2164
+ * @return false|Freemius
2165
+ */
2166
+ static function get_instance_by_id( $id ) {
2167
+ return isset ( self::$_instances[ 'm_' . $id ] ) ?
2168
+ self::$_instances[ 'm_' . $id ] :
2169
+ false;
2170
+ }
2171
+
2172
+ /**
2173
+ *
2174
+ * @author Vova Feldman (@svovaf)
2175
+ * @since 1.0.1
2176
+ *
2177
+ * @param $plugin_file
2178
+ *
2179
+ * @return false|Freemius
2180
+ */
2181
+ static function get_instance_by_file( $plugin_file ) {
2182
+ $slug = self::find_slug_by_basename( $plugin_file );
2183
+
2184
+ return ( false !== $slug ) ?
2185
+ self::instance( self::get_module_id( $slug ) ) :
2186
+ false;
2187
+ }
2188
+
2189
+ /**
2190
+ * @author Vova Feldman (@svovaf)
2191
+ * @since 1.0.6
2192
+ *
2193
+ * @return false|Freemius
2194
+ */
2195
+ function get_parent_instance() {
2196
+ return self::get_instance_by_id( $this->_plugin->parent_plugin_id );
2197
+ }
2198
+
2199
+ /**
2200
+ * @author Vova Feldman (@svovaf)
2201
+ * @since 1.0.6
2202
+ *
2203
+ * @param string|number $id_or_slug
2204
+ *
2205
+ * @return false|Freemius
2206
+ */
2207
+ function get_addon_instance( $id_or_slug ) {
2208
+ $addon_id = self::get_module_id( $id_or_slug );
2209
+
2210
+ return self::instance( $addon_id );
2211
+ }
2212
+
2213
+ #endregion ------------------------------------------------------------------
2214
+
2215
+ /**
2216
+ * @author Vova Feldman (@svovaf)
2217
+ * @since 1.0.6
2218
+ *
2219
+ * @return bool
2220
+ */
2221
+ function is_parent_plugin_installed() {
2222
+ $is_active = self::has_instance( $this->_plugin->parent_plugin_id );
2223
+
2224
+ if ( $is_active ) {
2225
+ return true;
2226
+ }
2227
+
2228
+ /**
2229
+ * Parent module might be a theme. If that's the case, the add-on's FS
2230
+ * instance will be loaded prior to the theme's FS instance, therefore,
2231
+ * we need to check if it's active with a "look ahead".
2232
+ *
2233
+ * @author Vova Feldman
2234
+ * @since 1.2.2.3
2235
+ */
2236
+ global $fs_active_plugins;
2237
+ if ( is_object( $fs_active_plugins ) && is_array( $fs_active_plugins->plugins ) ) {
2238
+ $active_theme = wp_get_theme();
2239
+
2240
+ foreach ( $fs_active_plugins->plugins as $sdk => $module ) {
2241
+ if ( WP_FS__MODULE_TYPE_THEME === $module->type ) {
2242
+ if ( $module->plugin_path == $active_theme->get_stylesheet() ) {
2243
+ // Parent module is a theme and it's currently active.
2244
+ return true;
2245
+ }
2246
+ }
2247
+ }
2248
+ }
2249
+
2250
+ return false;
2251
+ }
2252
+
2253
+ /**
2254
+ * Check if add-on parent plugin in activation mode.
2255
+ *
2256
+ * @author Vova Feldman (@svovaf)
2257
+ * @since 1.0.7
2258
+ *
2259
+ * @return bool
2260
+ */
2261
+ function is_parent_in_activation() {
2262
+ $parent_fs = $this->get_parent_instance();
2263
+ if ( ! is_object( $parent_fs ) ) {
2264
+ return false;
2265
+ }
2266
+
2267
+ return ( $parent_fs->is_activation_mode() );
2268
+ }
2269
+
2270
+ /**
2271
+ * Is plugin in activation mode.
2272
+ *
2273
+ * @author Vova Feldman (@svovaf)
2274
+ * @since 1.0.7
2275
+ *
2276
+ * @param bool $and_on
2277
+ *
2278
+ * @return bool
2279
+ */
2280
+ function is_activation_mode( $and_on = true ) {
2281
+ return fs_is_network_admin() ?
2282
+ $this->is_network_activation_mode( $and_on ) :
2283
+ $this->is_site_activation_mode( $and_on );
2284
+ }
2285
+
2286
+ /**
2287
+ * Is plugin in activation mode.
2288
+ *
2289
+ * @author Vova Feldman (@svovaf)
2290
+ * @since 1.0.7
2291
+ *
2292
+ * @param bool $and_on
2293
+ *
2294
+ * @return bool
2295
+ */
2296
+ function is_site_activation_mode( $and_on = true ) {
2297
+ return (
2298
+ ( $this->is_on() || ! $and_on ) &&
2299
+ ( ! $this->is_registered() ||
2300
+ ( $this->is_only_premium() && ! $this->has_features_enabled_license() ) ) &&
2301
+ ( ! $this->is_enable_anonymous() ||
2302
+ ( ! $this->is_anonymous() && ! $this->is_pending_activation() ) )
2303
+ );
2304
+ }
2305
+
2306
+ /**
2307
+ * Checks if the SDK in network activation mode.
2308
+ *
2309
+ * @author Leo Fajardo (@leorw)
2310
+ * @since 2.0.0
2311
+ *
2312
+ * @param bool $and_on
2313
+ *
2314
+ * @return bool
2315
+ */
2316
+ private function is_network_activation_mode( $and_on = true ) {
2317
+ if ( ! $this->_is_network_active ) {
2318
+ // Not network activated.
2319
+ return false;
2320
+ }
2321
+
2322
+ if ( $this->is_network_upgrade_mode() ) {
2323
+ // Special flag to enforce network activation mode to decide what to do with the sites that are not yet opted-in nor skipped.
2324
+ return true;
2325
+ }
2326
+
2327
+ if ( ! $this->is_site_activation_mode( $and_on ) ) {
2328
+ // Whether the context is single site or the network, if the plugin is no longer in activation mode then it is not in network activation mode as well.
2329
+ return false;
2330
+ }
2331
+
2332
+ if ( $this->is_network_delegated_connection() ) {
2333
+ // Super-admin delegated the connection to the site admins -> not activation mode.
2334
+ return false;
2335
+ }
2336
+
2337
+ if ( $this->is_network_anonymous() ) {
2338
+ // Super-admin skipped the connection network wide -> not activation mode.
2339
+ return false;
2340
+ }
2341
+
2342
+ if ( $this->is_network_registered() ) {
2343
+ // Super-admin connected at least one site -> not activation mode.
2344
+ return false;
2345
+ }
2346
+
2347
+ return true;
2348
+ }
2349
+
2350
+ /**
2351
+ * Check if current page is the opt-in/pending-activation page.
2352
+ *
2353
+ * @author Vova Feldman (@svovaf)
2354
+ * @since 1.2.1.7
2355
+ *
2356
+ * @return bool
2357
+ */
2358
+ function is_activation_page() {
2359
+ if ( $this->_menu->is_main_settings_page() ) {
2360
+ return true;
2361
+ }
2362
+
2363
+ if ( ! $this->is_activation_mode() ) {
2364
+ return false;
2365
+ }
2366
+
2367
+ // Check if current page is matching the activation page.
2368
+ return $this->is_matching_url( $this->get_activation_url() );
2369
+ }
2370
+
2371
+ /**
2372
+ * Check if URL path's are matching and that all querystring
2373
+ * arguments of the $sub_url exist in the $url with the same values.
2374
+ *
2375
+ * WARNING:
2376
+ * 1. This method doesn't check if the sub/domain are matching.
2377
+ * 2. Ignore case sensitivity.
2378
+ *
2379
+ * @author Vova Feldman (@svovaf)
2380
+ * @since 1.2.1.7
2381
+ *
2382
+ * @param string $sub_url
2383
+ * @param string $url If argument is not set, check if the sub_url matching the current's page URL.
2384
+ *
2385
+ * @return bool
2386
+ */
2387
+ private function is_matching_url( $sub_url, $url = '' ) {
2388
+ if ( empty( $url ) ) {
2389
+ $url = $_SERVER['REQUEST_URI'];
2390
+ }
2391
+
2392
+ $url = strtolower( $url );
2393
+ $sub_url = strtolower( $sub_url );
2394
+
2395
+ if ( parse_url( $sub_url, PHP_URL_PATH ) !== parse_url( $url, PHP_URL_PATH ) ) {
2396
+ // Different path - DO NOT OVERRIDE PAGE.
2397
+ return false;
2398
+ }
2399
+
2400
+ $url_params = array();
2401
+ parse_str( parse_url( $url, PHP_URL_QUERY ), $url_params );
2402
+
2403
+ $sub_url_params = array();
2404
+ parse_str( parse_url( $sub_url, PHP_URL_QUERY ), $sub_url_params );
2405
+
2406
+ foreach ( $sub_url_params as $key => $val ) {
2407
+ if ( ! isset( $url_params[ $key ] ) || $val != $url_params[ $key ] ) {
2408
+ // Not matching query string - DO NOT OVERRIDE PAGE.
2409
+ return false;
2410
+ }
2411
+ }
2412
+
2413
+ return true;
2414
+ }
2415
+
2416
+ /**
2417
+ * Get the basenames of all active plugins for specific blog. Including network activated plugins.
2418
+ *
2419
+ * @author Vova Feldman (@svovaf)
2420
+ * @since 2.0.0
2421
+ *
2422
+ * @param int $blog_id
2423
+ *
2424
+ * @return string[]
2425
+ */
2426
+ private static function get_active_plugins_basenames( $blog_id = 0 ) {
2427
+ if ( is_multisite() && $blog_id > 0 ) {
2428
+ $active_basenames = get_blog_option( $blog_id, 'active_plugins' );
2429
+ } else {
2430
+ $active_basenames = get_option( 'active_plugins' );
2431
+ }
2432
+
2433
+ if ( is_multisite() ) {
2434
+ $network_active_basenames = get_site_option( 'active_sitewide_plugins' );
2435
+
2436
+ if ( is_array( $network_active_basenames ) && ! empty( $network_active_basenames ) ) {
2437
+ $active_basenames = array_merge( $active_basenames, $network_active_basenames );
2438
+ }
2439
+ }
2440
+
2441
+ return $active_basenames;
2442
+ }
2443
+
2444
+ /**
2445
+ * Get collection of all active plugins. Including network activated plugins.
2446
+ *
2447
+ * @author Vova Feldman (@svovaf)
2448
+ * @since 1.0.9
2449
+ *
2450
+ * @param int $blog_id Since 2.0.0
2451
+ *
2452
+ * @return array[string]array
2453
+ */
2454
+ private static function get_active_plugins( $blog_id = 0 ) {
2455
+ self::require_plugin_essentials();
2456
+
2457
+ $active_plugin = array();
2458
+ $all_plugins = get_plugins();
2459
+ $active_plugins_basenames = self::get_active_plugins_basenames( $blog_id );
2460
+
2461
+ foreach ( $active_plugins_basenames as $plugin_basename ) {
2462
+ $active_plugin[ $plugin_basename ] = $all_plugins[ $plugin_basename ];
2463
+ }
2464
+
2465
+ return $active_plugin;
2466
+ }
2467
+
2468
+ /**
2469
+ * Get collection of all site active plugins for a specified blog.
2470
+ *
2471
+ * @author Vova Feldman (@svovaf)
2472
+ * @since 2.0.0
2473
+ *
2474
+ * @param int $blog_id
2475
+ *
2476
+ * @return array[string]array
2477
+ */
2478
+ private static function get_site_active_plugins( $blog_id = 0 ) {
2479
+ $active_basenames = ( is_multisite() && $blog_id > 0 ) ?
2480
+ get_blog_option( $blog_id, 'active_plugins' ) :
2481
+ get_option( 'active_plugins' );
2482
+
2483
+ $active = array();
2484
+ foreach ( $active_basenames as $basename ) {
2485
+ $active[ $basename ] = array(
2486
+ 'is_active' => true,
2487
+ 'Version' => '1.0', // Dummy version.
2488
+ 'slug' => self::get_plugin_slug( $basename ),
2489
+ );
2490
+ }
2491
+
2492
+ return $active;
2493
+ }
2494
+
2495
+ /**
2496
+ * Get collection of all plugins with their activation status for a specified blog.
2497
+ *
2498
+ * @author Vova Feldman (@svovaf)
2499
+ * @since 1.1.8
2500
+ *
2501
+ * @param int $blog_id Since 2.0.0
2502
+ *
2503
+ * @return array Key is the plugin file path and the value is an array of the plugin data.
2504
+ */
2505
+ private static function get_all_plugins( $blog_id = 0 ) {
2506
+ self::require_plugin_essentials();
2507
+
2508
+ $all_plugins = get_plugins();
2509
+
2510
+ $active_plugins_basenames = self::get_active_plugins_basenames( $blog_id );
2511
+
2512
+ foreach ( $all_plugins as $basename => &$data ) {
2513
+ // By default set to inactive (next foreach update the active plugins).
2514
+ $data['is_active'] = false;
2515
+ // Enrich with plugin slug.
2516
+ $data['slug'] = self::get_plugin_slug( $basename );
2517
+ }
2518
+
2519
+ // Flag active plugins.
2520
+ foreach ( $active_plugins_basenames as $basename ) {
2521
+ if ( isset( $all_plugins[ $basename ] ) ) {
2522
+ $all_plugins[ $basename ]['is_active'] = true;
2523
+ }
2524
+ }
2525
+
2526
+ return $all_plugins;
2527
+ }
2528
+
2529
+ /**
2530
+ * Get collection of all plugins and if they are network level activated.
2531
+ *
2532
+ * @author Vova Feldman (@svovaf)
2533
+ * @since 2.0.0
2534
+ *
2535
+ * @return array Key is the plugin basename and the value is an array of the plugin data.
2536
+ */
2537
+ private static function get_network_plugins() {
2538
+ self::require_plugin_essentials();
2539
+
2540
+ $all_plugins = get_plugins();
2541
+
2542
+ $network_active_basenames = is_multisite() ?
2543
+ get_site_option( 'active_sitewide_plugins' ) :
2544
+ array();
2545
+
2546
+ foreach ( $all_plugins as $basename => &$data ) {
2547
+ // By default set to inactive (next foreach update the active plugins).
2548
+ $data['is_active'] = false;
2549
+ // Enrich with plugin slug.
2550
+ $data['slug'] = self::get_plugin_slug( $basename );
2551
+ }
2552
+
2553
+ // Flag active plugins.
2554
+ foreach ( $network_active_basenames as $basename ) {
2555
+ if ( isset( $all_plugins[ $basename ] ) ) {
2556
+ $all_plugins[ $basename ]['is_active'] = true;
2557
+ }
2558
+ }
2559
+
2560
+ return $all_plugins;
2561
+ }
2562
+
2563
+ /**
2564
+ * Cached result of get_site_transient( 'update_plugins' )
2565
+ *
2566
+ * @author Vova Feldman (@svovaf)
2567
+ * @since 1.1.8
2568
+ *
2569
+ * @var object
2570
+ */
2571
+ private static $_plugins_info;
2572
+
2573
+ /**
2574
+ * Helper function to get specified plugin's slug.
2575
+ *
2576
+ * @author Vova Feldman (@svovaf)
2577
+ * @since 1.1.8
2578
+ *
2579
+ * @param $basename
2580
+ *
2581
+ * @return string
2582
+ */
2583
+ private static function get_plugin_slug( $basename ) {
2584
+ if ( ! isset( self::$_plugins_info ) ) {
2585
+ self::$_plugins_info = get_site_transient( 'update_plugins' );
2586
+ }
2587
+
2588
+ $slug = '';
2589
+
2590
+ if ( is_object( self::$_plugins_info ) ) {
2591
+ if ( isset( self::$_plugins_info->no_update ) &&
2592
+ isset( self::$_plugins_info->no_update[ $basename ] ) &&
2593
+ ! empty( self::$_plugins_info->no_update[ $basename ]->slug )
2594
+ ) {
2595
+ $slug = self::$_plugins_info->no_update[ $basename ]->slug;
2596
+ } else if ( isset( self::$_plugins_info->response ) &&
2597
+ isset( self::$_plugins_info->response[ $basename ] ) &&
2598
+ ! empty( self::$_plugins_info->response[ $basename ]->slug )
2599
+ ) {
2600
+ $slug = self::$_plugins_info->response[ $basename ]->slug;
2601
+ }
2602
+ }
2603
+
2604
+ if ( empty( $slug ) ) {
2605
+ // Try to find slug from FS data.
2606
+ $slug = self::find_slug_by_basename( $basename );
2607
+ }
2608
+
2609
+ if ( empty( $slug ) ) {
2610
+ // Fallback to plugin's folder name.
2611
+ $slug = dirname( $basename );
2612
+ }
2613
+
2614
+ return $slug;
2615
+ }
2616
+
2617
+ private static $_statics_loaded = false;
2618
+
2619
+ /**
2620
+ * Load static resources.
2621
+ *
2622
+ * @author Vova Feldman (@svovaf)
2623
+ * @since 1.0.1
2624
+ */
2625
+ private static function _load_required_static() {
2626
+ if ( self::$_statics_loaded ) {
2627
+ return;
2628
+ }
2629
+
2630
+ self::$_static_logger = FS_Logger::get_logger( WP_FS__SLUG, WP_FS__DEBUG_SDK, WP_FS__ECHO_DEBUG_SDK );
2631
+
2632
+ self::$_static_logger->entrance();
2633
+
2634
+ self::$_accounts = FS_Options::instance( WP_FS__ACCOUNTS_OPTION_NAME, true );
2635
+
2636
+ if ( is_multisite() ) {
2637
+ /**
2638
+ * If the id_slug_type_path_map exists on the site level but doesn't exist on the
2639
+ * network level storage, it means that we need to process the storage with migration.
2640
+ *
2641
+ * The code in this `if` scope will only be executed once and only for the first site that will execute it because once we migrate the storage data, id_slug_type_path_map will be already set in the network level storage.
2642
+ *
2643
+ * @author Vova Feldman (@svovaf)
2644
+ * @since 2.0.0
2645
+ */
2646
+ if ( null === self::$_accounts->get_option( 'id_slug_type_path_map', null, true ) &&
2647
+ null !== self::$_accounts->get_option( 'id_slug_type_path_map', null, false )
2648
+ ) {
2649
+ self::migrate_accounts_to_network();
2650
+
2651
+ // Migrate API options from site level to network level.
2652
+ $api_network_options = FS_Option_Manager::get_manager( WP_FS__OPTIONS_OPTION_NAME, true, true );
2653
+ $api_network_options->migrate_to_network();
2654
+
2655
+ // Migrate API cache to network level storage.
2656
+ FS_Cache_Manager::get_manager( WP_FS__API_CACHE_OPTION_NAME )->migrate_to_network();
2657
+ }
2658
+ }
2659
+
2660
+ self::$_global_admin_notices = FS_Admin_Notices::instance( 'global' );
2661
+
2662
+ if ( ! WP_FS__DEMO_MODE ) {
2663
+ add_action( ( fs_is_network_admin() ? 'network_' : '' ) . 'admin_menu', array(
2664
+ 'Freemius',
2665
+ '_add_debug_section'
2666
+ ) );
2667
+ }
2668
+
2669
+ add_action( "wp_ajax_fs_toggle_debug_mode", array( 'Freemius', '_toggle_debug_mode' ) );
2670
+
2671
+ self::add_ajax_action_static( 'get_debug_log', array( 'Freemius', '_get_debug_log' ) );
2672
+
2673
+ self::add_ajax_action_static( 'get_db_option', array( 'Freemius', '_get_db_option' ) );
2674
+
2675
+ self::add_ajax_action_static( 'set_db_option', array( 'Freemius', '_set_db_option' ) );
2676
+
2677
+ if ( 0 == did_action( 'plugins_loaded' ) ) {
2678
+ add_action( 'plugins_loaded', array( 'Freemius', '_load_textdomain' ), 1 );
2679
+ }
2680
+
2681
+ add_action( 'admin_footer', array( 'Freemius', '_enrich_ajax_url' ) );
2682
+
2683
+ self::$_statics_loaded = true;
2684
+ }
2685
+
2686
+ #----------------------------------------------------------------------------------
2687
+ #region Localization
2688
+ #----------------------------------------------------------------------------------
2689
+
2690
+ /**
2691
+ * Load framework's text domain.
2692
+ *
2693
+ * @author Vova Feldman (@svovaf)
2694
+ * @since 1.2.1
2695
+ */
2696
+ static function _load_textdomain() {
2697
+ if ( ! is_admin() ) {
2698
+ return;
2699
+ }
2700
+
2701
+ global $fs_active_plugins;
2702
+
2703
+ // Works both for plugins and themes.
2704
+ load_plugin_textdomain(
2705
+ 'freemius',
2706
+ false,
2707
+ $fs_active_plugins->newest->sdk_path . '/languages/'
2708
+ );
2709
+ }
2710
+
2711
+ #endregion
2712
+
2713
+ #----------------------------------------------------------------------------------
2714
+ #region Debugging
2715
+ #----------------------------------------------------------------------------------
2716
+
2717
+ /**
2718
+ * @author Vova Feldman (@svovaf)
2719
+ * @since 1.0.8
2720
+ */
2721
+ static function _add_debug_section() {
2722
+ if ( ! is_super_admin() ) {
2723
+ // Add debug page only for super-admins.
2724
+ return;
2725
+ }
2726
+
2727
+ self::$_static_logger->entrance();
2728
+
2729
+ $title = sprintf( '%s [v.%s]', fs_text_inline( 'Freemius Debug' ), WP_FS__SDK_VERSION );
2730
+
2731
+ if ( WP_FS__DEV_MODE ) {
2732
+ // Add top-level debug menu item.
2733
+ $hook = FS_Admin_Menu_Manager::add_page(
2734
+ $title,
2735
+ $title,
2736
+ 'manage_options',
2737
+ 'freemius',
2738
+ array( 'Freemius', '_debug_page_render' )
2739
+ );
2740
+ } else {
2741
+ // Add hidden debug page.
2742
+ $hook = FS_Admin_Menu_Manager::add_subpage(
2743
+ null,
2744
+ $title,
2745
+ $title,
2746
+ 'manage_options',
2747
+ 'freemius',
2748
+ array( 'Freemius', '_debug_page_render' )
2749
+ );
2750
+ }
2751
+
2752
+ if ( ! empty( $hook ) ) {
2753
+ add_action( "load-$hook", array( 'Freemius', '_debug_page_actions' ) );
2754
+ }
2755
+ }
2756
+
2757
+ /**
2758
+ * @author Vova Feldman (@svovaf)
2759
+ * @since 1.1.7.3
2760
+ */
2761
+ static function _toggle_debug_mode() {
2762
+ $is_on = fs_request_get( 'is_on', false, 'post' );
2763
+
2764
+ if ( fs_request_is_post() && in_array( $is_on, array( 0, 1 ) ) ) {
2765
+ update_option( 'fs_debug_mode', $is_on );
2766
+
2767
+ // Turn on/off storage logging.
2768
+ FS_Logger::_set_storage_logging( ( 1 == $is_on ) );
2769
+ }
2770
+
2771
+ exit;
2772
+ }
2773
+
2774
+ /**
2775
+ * @author Vova Feldman (@svovaf)
2776
+ * @since 1.2.1.6
2777
+ */
2778
+ static function _get_debug_log() {
2779
+ $logs = FS_Logger::load_db_logs(
2780
+ fs_request_get( 'filters', false, 'post' ),
2781
+ ! empty( $_POST['limit'] ) && is_numeric( $_POST['limit'] ) ? $_POST['limit'] : 200,
2782
+ ! empty( $_POST['offset'] ) && is_numeric( $_POST['offset'] ) ? $_POST['offset'] : 0
2783
+ );
2784
+
2785
+ self::shoot_ajax_success( $logs );
2786
+ }
2787
+
2788
+ /**
2789
+ * @author Vova Feldman (@svovaf)
2790
+ * @since 1.2.1.7
2791
+ */
2792
+ static function _get_db_option() {
2793
+ $option_name = fs_request_get( 'option_name' );
2794
+
2795
+ $value = get_option( $option_name );
2796
+
2797
+ $result = array(
2798
+ 'name' => $option_name,
2799
+ );
2800
+
2801
+ if ( false !== $value ) {
2802
+ if ( ! is_string( $value ) ) {
2803
+ $value = json_encode( $value );
2804
+ }
2805
+
2806
+ $result['value'] = $value;
2807
+ }
2808
+
2809
+ self::shoot_ajax_success( $result );
2810
+ }
2811
+
2812
+ /**
2813
+ * @author Vova Feldman (@svovaf)
2814
+ * @since 1.2.1.7
2815
+ */
2816
+ static function _set_db_option() {
2817
+ $option_name = fs_request_get( 'option_name' );
2818
+ $option_value = fs_request_get( 'option_value' );
2819
+
2820
+ if ( ! empty( $option_value ) ) {
2821
+ update_option( $option_name, $option_value );
2822
+ }
2823
+
2824
+ self::shoot_ajax_success();
2825
+ }
2826
+
2827
+ /**
2828
+ * @author Vova Feldman (@svovaf)
2829
+ * @since 1.0.8
2830
+ */
2831
+ static function _debug_page_actions() {
2832
+ self::_clean_admin_content_section();
2833
+
2834
+ if ( fs_request_is_action( 'restart_freemius' ) ) {
2835
+ check_admin_referer( 'restart_freemius' );
2836
+
2837
+ if ( ! is_multisite() ) {
2838
+ // Clear accounts data.
2839
+ self::$_accounts->clear( null, true );
2840
+ } else {
2841
+ $sites = self::get_sites();
2842
+ foreach ( $sites as $site ) {
2843
+ $blog_id = self::get_site_blog_id( $site );
2844
+ self::$_accounts->clear( $blog_id, true );
2845
+ }
2846
+
2847
+ // Clear network level storage.
2848
+ self::$_accounts->clear( true, true );
2849
+ }
2850
+
2851
+ // Clear SDK reference cache.
2852
+ delete_option( 'fs_active_plugins' );
2853
+ } else if ( fs_request_is_action( 'clear_updates_data' ) ) {
2854
+ check_admin_referer( 'clear_updates_data' );
2855
+
2856
+ if ( ! is_multisite() ) {
2857
+ set_site_transient( 'update_plugins', null );
2858
+ set_site_transient( 'update_themes', null );
2859
+ } else {
2860
+ $current_blog_id = get_current_blog_id();
2861
+
2862
+ $sites = self::get_sites();
2863
+ foreach ( $sites as $site ) {
2864
+ switch_to_blog( self::get_site_blog_id( $site ) );
2865
+
2866
+ set_site_transient( 'update_plugins', null );
2867
+ set_site_transient( 'update_themes', null );
2868
+ }
2869
+
2870
+ switch_to_blog( $current_blog_id );
2871
+ }
2872
+ } else if ( fs_request_is_action( 'simulate_trial' ) ) {
2873
+ check_admin_referer( 'simulate_trial' );
2874
+
2875
+ $fs = freemius( fs_request_get( 'module_id' ) );
2876
+
2877
+ // Update SDK install to at least 24 hours before.
2878
+ $fs->_storage->install_timestamp = ( time() - WP_FS__TIME_24_HOURS_IN_SEC );
2879
+ // Unset the trial shown timestamp.
2880
+ unset( $fs->_storage->trial_promotion_shown );
2881
+ } else if ( fs_request_is_action( 'simulate_network_upgrade' ) ) {
2882
+ check_admin_referer( 'simulate_network_upgrade' );
2883
+
2884
+ $fs = freemius( fs_request_get( 'module_id' ) );
2885
+
2886
+ self::set_network_upgrade_mode( $fs->_storage );
2887
+ } else if ( fs_request_is_action( 'delete_install' ) ) {
2888
+ check_admin_referer( 'delete_install' );
2889
+
2890
+ self::_delete_site_by_slug(
2891
+ fs_request_get( 'slug' ),
2892
+ fs_request_get( 'module_type' ),
2893
+ true,
2894
+ fs_request_get( 'blog_id', null )
2895
+ );
2896
+ } else if ( fs_request_is_action( 'delete_user' ) ) {
2897
+ check_admin_referer( 'delete_user' );
2898
+
2899
+ self::delete_user( fs_request_get( 'user_id' ) );
2900
+ } else if ( fs_request_is_action( 'download_logs' ) ) {
2901
+ check_admin_referer( 'download_logs' );
2902
+
2903
+ $download_url = FS_Logger::download_db_logs(
2904
+ fs_request_get( 'filters', false, 'post' )
2905
+ );
2906
+
2907
+ if ( false === $download_url ) {
2908
+ wp_die( 'Oops... there was an error while generating the logs download file. Please try again and if it doesn\'t work contact support@freemius.com.' );
2909
+ }
2910
+
2911
+ fs_redirect( $download_url );
2912
+ }
2913
+ }
2914
+
2915
+ /**
2916
+ * @author Vova Feldman (@svovaf)
2917
+ * @since 1.0.8
2918
+ */
2919
+ static function _debug_page_render() {
2920
+ self::$_static_logger->entrance();
2921
+
2922
+ if ( ! is_multisite() ) {
2923
+ $all_plugins_installs = self::get_all_sites( WP_FS__MODULE_TYPE_PLUGIN );
2924
+ $all_themes_installs = self::get_all_sites( WP_FS__MODULE_TYPE_THEME );
2925
+ } else {
2926
+ $sites = self::get_sites();
2927
+
2928
+ $all_plugins_installs = array();
2929
+ $all_themes_installs = array();
2930
+
2931
+ foreach ( $sites as $site ) {
2932
+ $blog_id = self::get_site_blog_id( $site );
2933
+
2934
+ $plugins_installs = self::get_all_sites( WP_FS__MODULE_TYPE_PLUGIN, $blog_id );
2935
+
2936
+ foreach ( $plugins_installs as $slug => $install ) {
2937
+ if ( ! isset( $all_plugins_installs[ $slug ] ) ) {
2938
+ $all_plugins_installs[ $slug ] = array();
2939
+ }
2940
+
2941
+ $install->blog_id = $blog_id;
2942
+
2943
+ $all_plugins_installs[ $slug ][] = $install;
2944
+ }
2945
+
2946
+