/**
* LearnDash Compatibility File.
*
* @package Astra
* @since 1.3.0
*/
// If plugin - 'LearnDash' not exist then return.
if ( ! class_exists( 'SFWD_LMS' ) ) {
return;
}
/**
* Astra LearnDash Compatibility
*/
if ( ! class_exists( 'Astra_LearnDash' ) ) :
/**
* Astra LearnDash Compatibility
*
* @since 1.3.0
*/
class Astra_LearnDash {
/**
* Member Variable
*
* @var object instance
*/
private static $instance;
/**
* Initiator
*/
public static function get_instance() {
if ( ! isset( self::$instance ) ) {
self::$instance = new self();
}
return self::$instance;
}
/**
* Constructor
*/
public function __construct() {
add_filter( 'astra_theme_assets', array( $this, 'add_styles' ) );
add_filter( 'astra_dynamic_theme_css', array( $this, 'add_dynamic_styles' ) );
add_action( 'customize_register', array( $this, 'customize_register' ), 2 );
add_filter( 'astra_theme_defaults', array( $this, 'theme_defaults' ) );
// Sidebar Layout.
add_filter( 'astra_page_layout', array( $this, 'sidebar_layout' ) );
// Content Layout.
add_filter( 'astra_get_content_layout', array( $this, 'content_layout' ) );
}
/**
* Enqueue styles
*
* @param String $dynamic_css Astra Dynamic CSS.
* @param String $dynamic_css_filtered Astra Dynamic CSS Filters.
* @since 1.3.0
* @return String Dynamic CSS.
*/
public function add_dynamic_styles( $dynamic_css, $dynamic_css_filtered = '' ) {
$active_ld_theme = '';
if ( is_callable( 'LearnDash_Theme_Register::get_active_theme_key' ) ) {
$active_ld_theme = LearnDash_Theme_Register::get_active_theme_key();
}
if ( 'ld30' === $active_ld_theme ) {
return $dynamic_css;
}
$dynamic_css .= self::ld_static_css();
/**
* - Variable Declaration
*/
$is_site_rtl = is_rtl();
$link_color = astra_get_option( 'link-color' );
$theme_color = astra_get_option( 'theme-color' );
$text_color = astra_get_option( 'text-color' );
$link_h_color = astra_get_option( 'link-h-color' );
$body_font_family = astra_body_font_family();
$link_forground_color = astra_get_foreground_color( $link_color );
$theme_forground_color = astra_get_foreground_color( $theme_color );
$btn_color = astra_get_option( 'button-color' );
if ( empty( $btn_color ) ) {
$btn_color = $link_forground_color;
}
$btn_h_color = astra_get_option( 'button-h-color' );
if ( empty( $btn_h_color ) ) {
$btn_h_color = astra_get_foreground_color( $link_h_color );
}
$btn_bg_color = astra_get_option( 'button-bg-color', '', $theme_color );
$btn_bg_h_color = astra_get_option( 'button-bg-h-color', '', $link_h_color );
$btn_border_radius_fields = astra_get_option( 'button-radius-fields' );
$archive_post_title_font_size = astra_get_option( 'font-size-page-title' );
$css_output = array(
'body #learndash_lessons a, body #learndash_quizzes a, body .expand_collapse a, body .learndash_topic_dots a, body .learndash_topic_dots a > span, body #learndash_lesson_topics_list span a, body #learndash_profile a, body #learndash_profile a span' => array(
'font-family' => astra_get_font_family( $body_font_family ),
),
'body #ld_course_list .btn, body a.btn-blue, body a.btn-blue:visited, body a#quiz_continue_link, body .btn-join, body .learndash_checkout_buttons input.btn-join[type="button"], body #btn-join, body .learndash_checkout_buttons input.btn-join[type="submit"], body .wpProQuiz_content .wpProQuiz_button2' => array(
'color' => $btn_color,
'border-color' => $btn_bg_color,
'background-color' => $btn_bg_color,
'border-top-left-radius' => astra_responsive_spacing( $btn_border_radius_fields, 'top', 'desktop' ),
'border-top-right-radius' => astra_responsive_spacing( $btn_border_radius_fields, 'right', 'desktop' ),
'border-bottom-right-radius' => astra_responsive_spacing( $btn_border_radius_fields, 'bottom', 'desktop' ),
'border-bottom-left-radius' => astra_responsive_spacing( $btn_border_radius_fields, 'left', 'desktop' ),
),
'body #ld_course_list .btn:hover, body #ld_course_list .btn:focus, body a.btn-blue:hover, body a.btn-blue:focus, body a#quiz_continue_link:hover, body a#quiz_continue_link:focus, body .btn-join:hover, body .learndash_checkout_buttons input.btn-join[type="button"]:hover, body .btn-join:focus, body .learndash_checkout_buttons input.btn-join[type="button"]:focus, .wpProQuiz_content .wpProQuiz_button2:hover, .wpProQuiz_content .wpProQuiz_button2:focus, body #btn-join:hover, body .learndash_checkout_buttons input.btn-join[type="submit"]:hover, body #btn-join:focus, body .learndash_checkout_buttons input.btn-join[type="submit"]:focus' => array(
'color' => $btn_h_color,
'border-color' => $btn_bg_h_color,
'background-color' => $btn_bg_h_color,
),
'body dd.course_progress div.course_progress_blue, body .wpProQuiz_content .wpProQuiz_time_limit .wpProQuiz_progress' => array(
'background-color' => $theme_color,
),
'body #learndash_lessons a, body #learndash_quizzes a, body .expand_collapse a, body .learndash_topic_dots a, body .learndash_topic_dots a > span, body #learndash_lesson_topics_list span a, body #learndash_profile a, #learndash_profile .profile_edit_profile a, body #learndash_profile .expand_collapse a, body #learndash_profile a span, #lessons_list .list-count, #quiz_list .list-count' => array(
'color' => $link_color,
),
'.learndash .notcompleted:before, #learndash_profile .notcompleted:before, .learndash_topic_dots ul .topic-notcompleted span:before, .learndash_navigation_lesson_topics_list .topic-notcompleted span:before, .learndash_navigation_lesson_topics_list ul .topic-notcompleted span:before, .learndash .topic-notcompleted span:before' => array(
'color' => astra_hex_to_rgba( $text_color, .5 ),
),
'body .thumbnail.course .ld_course_grid_price, body .thumbnail.course .ld_course_grid_price.ribbon-enrolled, body #learndash_lessons #lesson_heading, body #learndash_profile .learndash_profile_heading, body #learndash_quizzes #quiz_heading, body #learndash_lesson_topics_list div > strong, body .learndash-pager span a, body #learndash_profile .learndash_profile_quiz_heading' => array(
'background-color' => $theme_color,
'color' => $theme_forground_color,
),
'.learndash .completed:before, #learndash_profile .completed:before, .learndash_topic_dots ul .topic-completed span:before, .learndash_navigation_lesson_topics_list .topic-completed span:before, .learndash_navigation_lesson_topics_list ul .topic-completed span:before, .learndash .topic-completed span:before, body .list_arrow.lesson_completed:before' => array(
'color' => $theme_color,
),
'body .thumbnail.course .ld_course_grid_price:before' => array(
'border-top-color' => astra_hex_to_rgba( $theme_color, .75 ),
'border-right-color' => astra_hex_to_rgba( $theme_color, .75 ),
),
'body .wpProQuiz_loadQuiz, body .wpProQuiz_lock' => array(
'border-color' => astra_hex_to_rgba( $link_color, .5 ),
'background-color' => astra_hex_to_rgba( $link_color, .1 ),
),
'#ld_course_list .entry-title' => array(
'font-size' => astra_responsive_font( $archive_post_title_font_size, 'desktop' ),
),
);
if ( ! astra_get_option( 'learndash-lesson-serial-number' ) ) {
$css_output['body #course_list .list-count, body #lessons_list .list-count, body #quiz_list .list-count'] = array(
'display' => 'none',
);
$css_output['body #course_list > div h4 > a, body #lessons_list > div h4 > a, body #quiz_list > div h4 > a, body #learndash_course_content .learndash_topic_dots ul > li a'] = array(
'padding-left' => '.75em',
'margin-left' => 'auto',
);
}
if ( ! astra_get_option( 'learndash-differentiate-rows' ) ) {
$css_output['body #course_list > div:nth-of-type(odd), body #lessons_list > div:nth-of-type(odd), body #quiz_list > div:nth-of-type(odd), body #learndash_lesson_topics_list .learndash_topic_dots ul > li.nth-of-type-odd'] = array(
'background' => 'none',
);
}
/* Parse CSS from array() */
$css_output = astra_parse_css( $css_output );
$tablet_typography = array(
'body #ld_course_list .btn, body a.btn-blue, body a.btn-blue:visited, body a#quiz_continue_link, body .btn-join, body .learndash_checkout_buttons input.btn-join[type="button"], body #btn-join, body .learndash_checkout_buttons input.btn-join[type="submit"], body .wpProQuiz_content .wpProQuiz_button2' => array(
'border-top-left-radius' => astra_responsive_spacing( $btn_border_radius_fields, 'top', 'tablet' ),
'border-top-right-radius' => astra_responsive_spacing( $btn_border_radius_fields, 'right', 'tablet' ),
'border-bottom-right-radius' => astra_responsive_spacing( $btn_border_radius_fields, 'bottom', 'tablet' ),
'border-bottom-left-radius' => astra_responsive_spacing( $btn_border_radius_fields, 'left', 'tablet' ),
),
'#ld_course_list .entry-title' => array(
'font-size' => astra_responsive_font( $archive_post_title_font_size, 'tablet', 30 ),
),
);
/* Parse CSS from array()*/
$css_output .= astra_parse_css( $tablet_typography, '', astra_get_tablet_breakpoint() );
if ( $is_site_rtl ) {
$mobile_min_width_css = array(
'body #learndash_profile .profile_edit_profile' => array(
'position' => 'absolute',
'top' => '15px',
'left' => '15px',
),
);
} else {
$mobile_min_width_css = array(
'body #learndash_profile .profile_edit_profile' => array(
'position' => 'absolute',
'top' => '15px',
'right' => '15px',
),
);
}
/* Parse CSS from array() -> min-width: (mobile-breakpoint + 1) px */
$css_output .= astra_parse_css( $mobile_min_width_css, astra_get_mobile_breakpoint( '', 1 ) );
$mobile_typography = array(
'body #ld_course_list .btn, body a.btn-blue, body a.btn-blue:visited, body a#quiz_continue_link, body .btn-join, body .learndash_checkout_buttons input.btn-join[type="button"], body #btn-join, body .learndash_checkout_buttons input.btn-join[type="submit"], body .wpProQuiz_content .wpProQuiz_button2' => array(
'border-top-left-radius' => astra_responsive_spacing( $btn_border_radius_fields, 'top', 'mobile' ),
'border-top-right-radius' => astra_responsive_spacing( $btn_border_radius_fields, 'right', 'mobile' ),
'border-bottom-right-radius' => astra_responsive_spacing( $btn_border_radius_fields, 'bottom', 'mobile' ),
'border-bottom-left-radius' => astra_responsive_spacing( $btn_border_radius_fields, 'left', 'mobile' ),
),
'#ld_course_list .entry-title' => array(
'font-size' => astra_responsive_font( $archive_post_title_font_size, 'mobile', 30 ),
),
'#learndash_next_prev_link a' => array(
'width' => '100%',
),
'#learndash_next_prev_link a.prev-link' => array(
'margin-bottom' => '1em',
),
'#ld_course_info_mycourses_list .ld-course-info-my-courses .ld-entry-title' => array(
'margin' => '0 0 20px',
),
);
/* Parse CSS from array() -> max-width: (mobile-breakpoint) px */
$css_output .= astra_parse_css( $mobile_typography, '', astra_get_mobile_breakpoint() );
if ( $is_site_rtl ) {
$mobile_typography_lang_direction_css = array(
'#ld_course_info_mycourses_list .ld-course-info-my-courses img' => array(
'display' => 'block',
'margin-right' => 'initial',
'max-width' => '100%',
'margin' => '10px 0',
),
);
} else {
$mobile_typography_lang_direction_css = array(
'#ld_course_info_mycourses_list .ld-course-info-my-courses img' => array(
'display' => 'block',
'margin-left' => 'initial',
'max-width' => '100%',
'margin' => '10px 0',
),
);
}
/* Parse CSS from array() -> max-width: (mobile-breakpoint) px */
$css_output .= astra_parse_css( $mobile_typography_lang_direction_css, '', astra_get_mobile_breakpoint() );
$dynamic_css .= apply_filters( 'astra_theme_learndash_dynamic_css', $css_output );
return $dynamic_css;
}
/**
* Register Customizer sections and panel for learndash.
*
* @since 1.3.0
* @param WP_Customize_Manager $wp_customize Theme Customizer object.
*/
public function customize_register( $wp_customize ) {
$active_ld_theme = '';
if ( is_callable( 'LearnDash_Theme_Register::get_active_theme_key' ) ) {
$active_ld_theme = LearnDash_Theme_Register::get_active_theme_key();
}
// @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound
/**
* Register Sections & Panels
*/
require ASTRA_THEME_DIR . 'inc/compatibility/learndash/customizer/class-astra-customizer-register-learndash-section.php';
/**
* Sections
*/
require ASTRA_THEME_DIR . 'inc/compatibility/learndash/customizer/sections/class-astra-learndash-container-configs.php';
require ASTRA_THEME_DIR . 'inc/compatibility/learndash/customizer/sections/class-astra-learndash-sidebar-configs.php';
if ( 'ld30' !== $active_ld_theme ) {
require ASTRA_THEME_DIR . 'inc/compatibility/learndash/customizer/sections/layout/class-astra-learndash-general-configs.php';
}
// @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound
}
/**
* Theme Defaults.
*
* @since 1.3.0
* @param array $defaults Array of options value.
* @return array
*/
public function theme_defaults( $defaults ) {
// General.
$defaults['learndash-lesson-serial-number'] = false;
$defaults['learndash-differentiate-rows'] = true;
// Container.
$defaults['learndash-ast-content-layout'] = 'normal-width-container';
// Sidebar.
$defaults['learndash-sidebar-layout'] = 'default';
return $defaults;
}
/**
* Add assets in theme
*
* @since 1.3.0
* @param array $assets list of theme assets (JS & CSS).
* @return array List of updated assets.
*/
public function add_styles( $assets ) {
$assets['css']['astra-learndash'] = 'compatibility/learndash';
return $assets;
}
/**
* LeanDash Sidebar
*
* @since 1.3.0
* @param string $layout Layout type.
* @return string $layout Layout type.
*/
public function sidebar_layout( $layout ) {
if ( is_singular( 'sfwd-courses' ) || is_singular( 'sfwd-lessons' ) || is_singular( 'sfwd-topic' ) || is_singular( 'sfwd-quiz' ) || is_singular( 'sfwd-certificates' ) || is_singular( 'sfwd-assignment' ) ) {
$learndash_sidebar = astra_get_option( 'learndash-sidebar-layout' );
if ( 'default' !== $learndash_sidebar ) {
$layout = $learndash_sidebar;
}
$supported_post_types = Astra_Posts_Structure_Loader::get_supported_post_types();
$post_type = strval( get_post_type() );
if ( in_array( $post_type, $supported_post_types ) ) {
$dynamic_sidebar_layout = '';
if ( is_singular() ) {
$dynamic_sidebar_layout = astra_get_option( 'single-' . $post_type . '-sidebar-layout' );
}
if ( is_archive() ) {
$dynamic_sidebar_layout = astra_get_option( 'archive-' . $post_type . '-sidebar-layout' );
}
if ( ! empty( $dynamic_sidebar_layout ) && 'default' !== $dynamic_sidebar_layout ) {
$layout = $dynamic_sidebar_layout;
}
}
$sidebar = astra_get_option_meta( 'site-sidebar-layout', '', true );
if ( 'default' !== $sidebar && ! empty( $sidebar ) ) {
$layout = $sidebar;
}
}
// When Learhdash shortoce is used on the Page.
// Applied only to the pages which uses the learndash shortcode.
global $learndash_shortcode_used;
if ( $learndash_shortcode_used && ! ( is_singular( 'sfwd-courses' ) || is_singular( 'sfwd-lessons' ) || is_singular( 'sfwd-topic' ) || is_singular( 'sfwd-quiz' ) || is_singular( 'sfwd-certificates' ) || is_singular( 'sfwd-assignment' ) ) ) {
// Page Meta Sidebar.
$layout = astra_get_option_meta( 'site-sidebar-layout', '', true );
if ( empty( $layout ) ) {
// Page Sidebar.
$layout = astra_get_option( 'single-page-sidebar-layout' );
// Default Site Sidebar.
if ( 'default' == $layout || empty( $layout ) ) {
// Get the global sidebar value.
// NOTE: Here not used `true` in the below function call.
$layout = astra_get_option( 'site-sidebar-layout' );
}
}
}
return $layout;
}
/**
* LeanDash Container
*
* @since 1.3.0
* @param string $layout Layout type.
* @return string $layout Layout type.
*/
public function content_layout( $layout ) {
if ( is_singular( 'sfwd-courses' ) || is_singular( 'sfwd-lessons' ) || is_singular( 'sfwd-topic' ) || is_singular( 'sfwd-quiz' ) || is_singular( 'sfwd-certificates' ) || is_singular( 'sfwd-assignment' ) ) {
$learndash_layout = astra_toggle_layout( 'learndash-ast-content-layout', 'global', false );
if ( 'default' !== $learndash_layout ) {
$layout = $learndash_layout;
}
$supported_post_types = Astra_Posts_Structure_Loader::get_supported_post_types();
$post_type = strval( get_post_type() );
if ( in_array( $post_type, $supported_post_types ) ) {
$dynamic_sidebar_layout = '';
if ( is_singular() ) {
$dynamic_sidebar_layout = astra_toggle_layout( 'single-' . $post_type . '-ast-content-layout', 'single', false );
}
if ( is_archive() ) {
$dynamic_sidebar_layout = astra_toggle_layout( 'archive-' . $post_type . '-ast-content-layout', 'archive', false );
}
if ( ! empty( $dynamic_sidebar_layout ) && 'default' !== $dynamic_sidebar_layout ) {
$layout = $dynamic_sidebar_layout;
}
}
$learndash_layout = astra_get_option_meta( 'site-content-layout', '', true );
if ( isset( $learndash_layout ) ) {
$learndash_layout = astra_toggle_layout( 'ast-site-content-layout', 'meta', false, $learndash_layout );
} else {
$learndash_layout = astra_toggle_layout( 'ast-site-content-layout', 'meta', false );
}
if ( 'default' !== $learndash_layout && ! empty( $learndash_layout ) ) {
$layout = $learndash_layout;
}
}
return $layout;
}
/**
* LearnDash Static CSS.
*
* @since 3.3.0
* @return string
*/
public static function ld_static_css() {
$ld_static_css = '
.learndash .completed:before,
.learndash .notcompleted:before,
#learndash_profile .completed:before,
#learndash_profile .notcompleted:before {
content: "\e903";
display: inline-block;
font-family: "Astra";
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
float: left;
text-indent: 0;
font-size: 1.5em;
line-height: 1;
}
.learndash .completed:before,
#learndash_profile .completed:before {
content: "\e901";
font-weight: bold;
}
.learndash .completed:before,
.learndash .notcompleted:before {
position: absolute;
top: 8px;
right: .75em;
width: 1.75em;
text-align: center;
line-height: 1.2;
}
.learndash .topic-completed span,
.learndash .topic-notcompleted span {
background: none;
padding: 0;
}
.learndash .topic-completed span:before,
.learndash .topic-notcompleted span:before {
content: "\e903";
display: inline-block;
font-family: "Astra";
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-size: 1.25em;
}
.learndash .topic-completed span:before {
content: "\e901";
font-weight: bold;
}
body .learndash .completed,
body .learndash .notcompleted,
body #learndash_profile .completed,
body #learndash_profile .notcompleted {
line-height: 1.7;
background: none;
}
body .learndash_profile_heading,
body #learndash_profile a,
body #learndash_profile div
{
ont-size: 1em;
font-weight: inherit;
}
body #lessons_list > div h4,
body #course_list > div h4,
body #quiz_list > div h4,
body #learndash_lesson_topics_list ul > li > span.topic_item {
font-size: 1em;
}
body #learndash_lessons #lesson_heading,
body #learndash_profile .learndash_profile_heading,
body #learndash_quizzes #quiz_heading,
body #learndash_lesson_topics_list div > strong {
padding: 10px .75em;
font-weight: 600;
text-transform: uppercase;
border-radius: 0;
}
body #learndash_lessons .right,
body #learndash_quizzes .right {
width: auto;
}
body .expand_collapse .expand_collapse,
body #learndash_profile .expand_collapse {
top: -1em;
}
body .expand_collapse .expand_collapse a,
body #learndash_profile .expand_collapse a {
font-size: .8em;
}
body .expand_collapse .list_arrow.collapse, body .expand_collapse .list_arrow.expand,
body #learndash_profile .list_arrow.collapse,
body #learndash_profile .list_arrow.expand {
vertical-align: top;
}
body .expand_collapse .list_arrow.collapse:before, body .expand_collapse .list_arrow.expand:before,
body #learndash_profile .list_arrow.collapse:before,
body #learndash_profile .list_arrow.expand:before {
content: "\e900";
transform: rotate(270deg);
font-weight: bold;
}
body .expand_collapse .list_arrow.expand:before,
body #learndash_profile .list_arrow.expand:before {
transform: rotate(0deg);
}
body #learndash_lessons #lesson_heading,
body #learndash_profile .learndash_profile_heading,
body #learndash_quizzes #quiz_heading,
body #learndash_lesson_topics_list div > strong {
padding: 10px .75em;
font-weight: 600;
text-transform: uppercase;
border-radius: 0;
}
body #learndash_lesson_topics_list ul > li > span.topic_item:hover {
background: none;
}
body #learndash_lesson_topics_list .learndash_topic_dots {
order: none;
box-shadow: none;
}
body #learndash_lesson_topics_list .learndash_topic_dots ul {
border: 1px solid #e2e2e2;
border-top: none;
overflow: hidden;
}
body #learndash_lesson_topics_list .learndash_topic_dots ul > li:last-child a {
border-bottom: none;
}
body #learndash_lesson_topics_list .learndash_topic_dots ul > li.nth-of-type-odd {
background: #fbfbfb;
}
body #learndash_lesson_topics_list .learndash_topic_dots .topic-completed,
body #learndash_lesson_topics_list .learndash_topic_dots .topic-notcompleted {
padding: 8px .75em;
border-bottom: 1px solid #ddd;
}
body #learndash_lesson_topics_list .learndash_topic_dots .topic-completed span,
body #learndash_lesson_topics_list .learndash_topic_dots .topic-notcompleted span {
margin: 0 auto;
display: inline;
}
body #learndash_lesson_topics_list ul > li > span.topic_item {
font-size: 1em;
}
.learndash .completed:before,
.learndash .notcompleted:before {
position: absolute;
top: 8px;
right: .75em;
width: 1.75em;
text-align: center;
line-height: 1.2;
}
.learndash .topic-completed span,
.learndash .topic-notcompleted span {
background: none;
padding: 0;
}
.learndash .topic-completed span:before,
.learndash .topic-notcompleted span:before {
content: "\e903";
display: inline-block;
font-family: "Astra";
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-size: 1.25em;
}
.learndash .topic-completed span:before {
content: "\e901";
font-weight: bold;
}
.widget_ldcoursenavigation .learndash_topic_widget_list .topic-completed span:before,
.widget_ldcoursenavigation .learndash_topic_widget_list .topic-notcompleted span:before {
margin-left: 1px;
margin-right: 9px;
}
body .learndash_navigation_lesson_topics_list .topic-notcompleted span,
body .learndash_navigation_lesson_topics_list ul .topic-notcompleted span,
body .learndash_topic_dots .topic-notcompleted span,
body .learndash_topic_dots ul .topic-notcompleted span {
margin: 5px 0;
}
body .learndash_navigation_lesson_topics_list .topic-completed span,
body .learndash_navigation_lesson_topics_list .topic-notcompleted span,
body .learndash_navigation_lesson_topics_list ul .topic-completed span,
body .learndash_navigation_lesson_topics_list ul .topic-notcompleted span,
body .learndash_topic_dots .topic-completed span,
body .learndash_topic_dots .topic-notcompleted span,
body .learndash_topic_dots ul .topic-completed span,
body .learndash_topic_dots ul .topic-notcompleted span {
padding-left: 0;
background: none;
margin: 5px 0;
}
body .learndash_navigation_lesson_topics_list .topic-completed span:before,
body .learndash_navigation_lesson_topics_list .topic-notcompleted span:before,
body .learndash_navigation_lesson_topics_list ul .topic-completed span:before,
body .learndash_navigation_lesson_topics_list ul .topic-notcompleted span:before,
body .learndash_topic_dots .topic-completed span:before,
body .learndash_topic_dots .topic-notcompleted span:before,
body .learndash_topic_dots ul .topic-completed span:before,
body .learndash_topic_dots ul .topic-notcompleted span:before {
content: "\e903";
display: inline-block;
font-family: "Astra";
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-size: 1em;
font-weight: normal;
margin-right: 10px;
}
body .learndash_navigation_lesson_topics_list .topic-completed span:before,
body .learndash_navigation_lesson_topics_list ul .topic-completed span:before,
body .learndash_topic_dots .topic-completed span:before,
body .learndash_topic_dots ul .topic-completed span:before {
content: "\e901";
font-weight: bold;
}
.widget_ldcoursenavigation .learndash_topic_widget_list .topic-completed span:before,
.widget_ldcoursenavigation .learndash_topic_widget_list .topic-notcompleted span:before {
margin-left: 1px;
margin-right: 9px;
}
body .learndash .topic-completed span,
body .learndash .topic-notcompleted span {
background: none;
padding: 0;
}
#learndash_next_prev_link {
margin: 0;
padding: 2em 0 0;
border-top: 1px solid #eeeeee;
overflow: hidden;
line-height: 0;
}
#learndash_next_prev_link a {
margin: 2px;
display: inline-block;
padding: 0 1.5em;
height: 2.33333em;
line-height: 2.33333em;
text-align: center;
font-size: 16px;
font-size: 1.06666rem;
}';
return Astra_Enqueue_Scripts::trim_css( $ld_static_css );
}
}
endif;
if ( apply_filters( 'astra_enable_learndash_integration', true ) ) {
/**
* Kicking this off by calling 'get_instance()' method
*/
Astra_LearnDash::get_instance();
}
Best Casino Site Sites: A Comprehensive Overview to Online Gaming – Cig2o
Skip to content
Invite to our detailed overview on the best gambling enterprise websites readily available online. Whether you are a seasoned casino player or a newbie checking out the globe of on-line gaming, this write-up will provide you with all the important details you need to select the right casino site for your pc gaming needs.
With the growing appeal of on the internet casino sites, it can be frustrating to locate the excellent system that provides a secure and pleasurable gambling experience. In this overview, we have actually assembled a listing of the leading gambling establishment sites that master different facets such as video game selection, protection, customer support, and perks.
The Standard for Selecting the most effective Casino Site Websites
When examining gambling establishment sites, we consider a number of vital variables to make sure a fair and impartial analysis. Right here are the principal aspects we take into pinco casino giriş consideration:
Video game Choice: A varied variety of online casino games, consisting of slots, table games, live dealer options, maxwin casino and specialized games.
Safety and Licensing: Online casinos that hold licenses from trusted governing bodies and use sophisticated protection steps to shield your personal and financial info.
Rewards and Promotions: Generous welcome perks, recurring promos, and loyalty programs that include worth to your video gaming experience.
Payment Options: A wide range of safe and secure and practical settlement approaches for depositing and taking out funds.
Client Assistance: Responsive and knowledgeable customer assistance readily available using numerous networks.
User Experience: User-friendly interfaces, smooth navigating, and compatibility across various tools.
Mobile Compatibility: Mobile-optimized systems or dedicated casino applications for smooth gaming on the move.
The Best Casino Site Sites for Online Betting
Based upon our substantial research and evaluation, below are the top casino site websites that fulfill the standards stated over:
1. CasinoSiteXYZ
CasinoSiteXYZ stands apart for its phenomenal video game option, including a large array of slot video games, classic table video games, and an immersive live casino site experience. With licenses from prominent regulatory bodies, such as the Malta Pc Gaming Authority, and durable protection measures, you can take pleasure in a risk-free and reasonable betting experience on this platform. The gambling enterprise uses a generous welcome benefit and regular promos while supplying excellent consumer support all the time.
2. TopCasino123
TopCasino123 is a preferred choice for players looking for a vast array of casino site games, including ports, roulette, blackjack, and poker. This gambling enterprise website is licensed by the UK Betting Payment and ensures the protection of your funds and personal information with progressed encryption technology. With affordable rewards and an easy to use interface, TopCasino123 provides an immersive and satisfying video gaming experience.
3. MegaJackpot Gambling establishment
MegaJackpot Gambling establishment is known for its large collection of dynamic jackpot ports, providing gamers the possibility to win life-altering sums of money. The gambling enterprise is accredited by the Gibraltar Gambling Compensation and implements rigid safety measures to protect your sensitive data. In Addition, MegaJackpot Casino site provides a seamless mobile video gaming experience, allowing you to appreciate your favored video games on the go.
4. BetSpin Online casino
BetSpin Gambling enterprise satisfies gamers who like a smooth and contemporary video gaming system. With an excellent choice of slots and table video games from leading software providers, BetSpin Online casino ensures top notch graphics and immersive gameplay. Licensed by the Malta Video Gaming Authority, this online casino website warranties justice and offers excellent consumer assistance with online chat, email, and telephone.
Finally
Selecting the right gambling enterprise site can significantly enhance your online gambling experience. By taking into consideration variables like video game choice, security, bonus offers, and customer support, you can make an informed decision. The casino site sites stated in this guide are among the very best in the sector, supplying a variety of video games, rigid safety measures, and outstanding customer care. Whether you prefer slots, table games, or live dealership alternatives, these online casino websites use something for every person. Delighted betting!
Post navigation
[PHPkoru_Info]
Version: 1.0.7
Website: https://phpkoru.com/
Online Encoder: https://phpkoru.com/basic/
Developer Website: https://aponkral.dev/
[/PHPkoru_Info]
[PHPkoru_Code]
Uy9rdU9tclBZRDBKaDc1czd4ZThmWnZhQm1yRVUrbG1MWWRMTGRtb3ZRUVJUWEpCeHdDTThEL1A1SmFTZWo5M3J1WllQSklqazNwNy9TUWFxTmd0VU1PdS80NG5pYmZDUjZpOEpEc0RzSjV2L3kxZFRvT09pSk1Sbk1DTGhNS3RWOEdjY1F6OGVBNkFvTHJDeUpyRWdoMEV2cG1ROW9NUXJhNDRDQUhUNi9KWW1SbDY5NEUzOVdiRVVNOENxdTZsRjdJc1FvUkVpRDhsSUZac0c4M3ppd25SWWFINkJrNHRFNGxwcmZWTi9yNU5PZzNac1ZnTXNlUmN2MFE4dVZuNkZDY1FkUHQ2M0pEOHpkVWNjYTVxR1pINldSd0lLMzI5b3JrZklSZjAwUk14OCtHTG5mMEFLVFhwVlYxQnJvVWRyT09yaUVrRzFvSzZMU1BqdUppZlZ0dDBjREVhTEo0UzcwcEVFRTM1c0V0YlhwbC8wRWZCM1JsaU9XbXl6MERod0dnZG5HSkJ1Qk9wTSs1ejUvMXpvemkyMEZwam1HUFpTcDhDK2hSdDZCdWxiVTdqTXVYRkxCUnNjT3NJMEkyelh3MGo5RnVxalFsV1pmZ21GaTkxY3MvVmJMY1d5eVoyMCtkMzhET2lOc0tySTBxYW9VTmVsMENqb1h0d3pWQitYRVR3L3llamUxV2VYTlhRZm56R0RGMXYvSXBtQnBaK09nYVJDSVV1dW55TkFqN3FkbngyOEJ3OG1oMlYwQVFsWWJXenpaR0tGa1c1TmpJdkhZbVlWdFo5UjJiL2h4YkxCSTBzbHptSnlvUVN4bW40USsraUpTUktkWFMydEFreGlDNTB0RGZCcXFER1ptY2NmMWJnOGdueXE0Q1orTU50em54aE1sc2Z3alJwWmVVN2h4UiszQjd5eE5jTVdBR3hSYnVETjV4N0tYQ0d1c1dSbFc2QWg4c3kwMkxKd3hXZHJXS2M2ZHluaE5aMHNySWdqUGNaaG5QS0RiZlVPZjNkT2RWaStWakQrbS9nN0FRRlRDSTRCSm5IRit5OVR1TmY2SlJiR0UwVHhlNEY1SXU3Q2xiYkhyM1F3SU90bGZtb3QxU3R4TzdsZ21IenMxUDY0VzN0UUJ3NE1YOC9zKzU5b0psSU80YzVITE9aM0JjbTBVQ0xoaTVpVFFQam5FSDQwTzV0NDd2OXVWN1ZMdEJYQy9xdjB3NFQ0WDFvem9WVHF5WjNxRkR6bzZKWmJmSlNJMjNRY28zRnpHSDlIbFdxaE1NbU5YNVBlUVBBYlB4Wk90VzZBbkVDbU9UMWpRSWNwK3BZdE42U0tEdGpTLzNYWEJ6UzVrV1lMdGk0c3c4VjJDemtVckpBaXRXWGlMb25nQmRRc2g0aXp4TW1TSW9iWFliTFRIRWlIYXhIM2NSYWUveUZqbEk0anZFVkhBVXZTd0RRRHZGQ3IwWkxIcmZpc2J1Vkd5RnFEblozTllIei9ocFNtdTBneEhQeFNjMW4vS3hJdlVjRzFYOGFMa0FOS2t3Z1pZdG1rNmN4RjJLK0pIbDJLdzBvUWJwWVpkYzRjcUdZcTl1UU9TS3lHYzRqU2JLemJMdmNsdVY3dW0rNnpPbDUzZHhpeUg5amVxVmRrbHMwV1ZmTDMzTE84N3ZxV0t4Qkp4cFdOWk9WODU1THpRQUJ4cytlOUZ4Q0pGbXMwU0Vpck02UGFHOUM4RDZtU0VOa2Q5bjJHdCtNQWZQdnBWbU1vMVhHcUp0RTRuTnZXcDVPWUxGTFkvKzE0OXdKeTlreTBNa2xqV1MrRmlmYWNSbGptaXlDNWZQcHJaN1hPdVpTNnltY3FXaUpmUkwwWWJtb2NtV04yQ25HQWZlTE43aUFvR1E5Skl5OEtVYlBtTDIzdVRkVzBFWGNZVmJ6WE95ME5ENXNyZFd1WEhEa1BmbW8wT2NjR2pQeC9NSXJhMWNveXJvM3Y5WWpjSVY0WDdQc2lWMDFKb0dXM2hXemhpaE5nNkc1bk1EbTJoZytXVW8yTFJNTEs1cmdXNlZHcEJwcVN5a01sanVBa1E0U1FJb1ZqV2pkRGdMSW1lMFlEU1pMaUNqa3dVS2NxZ3lKVWN6aytua1dCYnZSOEF0VCtSOVhiQkJ2OEo0UTJHVVBjZHB5ZmwreXB4NVUvMndnZE9yMkR5M3hrSjlwWmxIYVBFc1NuNXlKUTgreHMvbEoyK2xlWHAwaDhxS1NDd2ZWd2JkQmgxbkEvQkxSalhNZVdiMEVOVVkwSVowYmJQZStyc2g0dDdzQ2VpNFRHMGJjUnZKWlhnaEN3YXVMT0pwZE5VVGl2RDNTeHhtN0ppdzJnNVFETllWZVpxeE1KK0FpYnRwTitORzI2ZG9wU1ZSWktiM05sNHI5RXB2NURJQmNhYjVqZXZQb1p5MjBsYUFvUjNjUTUyaWJiVWp2c084Q0NtSE9rY3N6dWlRVVloOWhJRUdpaG1qT21oTlArLzRKUXNXWnp1aDZtSGttTkNjUVIvV3VORWFrblovUmh6NWgxSHdEMmdiUmNZRHdhYjdYUGcrK1drL3JIQjE1Tm44TVFSdzl5UFBJZGtIMC9mT1I5YU1kdkJaQzJKbTI4OE5WaGl5aWpMWU03VTF0cmwwWUVDOFZFRDJvakVqZ3lnZG10Uk1Kak5kMnA0SjZmRXFxTnVibUcya0tzUmYvdkZHaTlNMmE0eFhmMy9mWXA5bW05VHBIODhBS0NjZkpGbjEwREd6Yy92Qjh4RGJKcytPMjNPM2dJZ29VSmZpWDZiYm45d2Q5ZGRnY2VLcU04MExVSHFlQnhiVE1qN2FWenVGdlFDK0RyeGJJWnk3LzJ2UWFzZFpqMTV2MlF1UVhaZ3I4MkRmNHZHRU9wVXA0eHc2TTQ0UHpMa0JXUS8valgwaTU3OURSaU4yRVpPTDlHN00zVk5BWWg4elgwbUxpakRCUDVlak1zS3BXZzY5eUdSNERIUCtJa2F3eHZlZitaeXZhSVE1SHdYelZnV1JQNHVnU2luU2ozUVE0aG1wTzZwNFo0ZkVtdnhvdnAwOHh5a2RwaTRkMmloaldJcE44a056ZjR3RU5FZDFLNk5pdFVmMjd4WG9nWGhja0YvQjM0MTFmR2k5dFRqakRBcENzZFhyL1Q0OTJsYmVzNDdjZzc2cFZhTzIvc3hYbmRtaFcybnk2cTUvcUdxUE1MSkwrcUZmUE92SWR2U1JYZGl3VHhrWnh3ZGdSQ2F0ZzNpc3M5UXI1YXpxeC94Zmg3Q0JZT1ZiVWttd0xXMWR4R2xaRnR4MWlwN1pTdzNLcHY1U2dmaWlHaWQyVG8xdDlzVWhSTjFjbWJwK0RHM09zVnp0WEF2S2ZVWCtLTWpkdy9HaDRCZjQ4akg0bFc1TnV4MzU4Y3N3dllmck9UQ25vRFo0Q0hNRStabUdTbEl6c2lkWkd6SDY1V241U21kZVR6bHhib0dzU2hrdVh5SzNhWU4wTHdlTnBSSDd6VEFSRDB1emtORDR4Zzl1NVZzb05Md1VaQTVWK1g2dTE2eVNlSENlNnZnTVJHdGVFSmphV0dGdk9hTEtZbDloYTNVSVYrN0VuUDhuZSs0WENzc0tBT2tLUFZKWVJhNHpjMit6MFJFZDF5a1JsS2pKa1dTQitHRFhxblRyYllxMEJxT2IveXMzNlZWMzB1Y3NOVXpzUm53dVJYNlNFR1I4VDdkelBKczRSSW92VXYxMjBnNUxtUUl3aEpIayszSmo3cHJpbjUwMS95eDYvd2dFVmJoQ2wyWGtXZldSbExYM1ZGVnFPTmNEQlNZbFM2MTYrUU9Ra2o5cit0eE8ydHpiT2Q2dzNud3lHeStXMnJvYkN3TFltUERxVTVUaEUrcjNXRk1RNDhNZGtOUUJINnMrVXE5M3hCcWpxaUVZeWs1SEVjNHg3ZTBwUGRVQVNzVHZFNlAvTnNXb0FMTEpsdGNDWmxmSzdyZmgrcm9Wa001WGhtZ0N0TUsvRmZPVGd4Uy9EY0kxajlyWGx0L0ZSSUFnTXk0VS9EdDFJcnRQTHI5YWFEVHVSTkh2WTQ1SFN3ZGZUWHB3ZHBVTUhBdHRrNnVtOVovN01BMWYweTVXU09ycW80dnVaMG9FUG43TDdJNWRuMTg3OUxkbkhqNkF2Y3Z4ZXI2V1lKQWtEUkJmOXB1RHpYdFU3c0t5VG1IR0NBOVpTY05HTkhSUjZoL0RhM2pRZXNGRnkyYWlvUHFUYzFEU3M3TUkrRHRGWXlMZHpsaW94d2dQbWkxcHlMbzhWblA1VkJwL0dheXZxb1h5NDdSRmloYTluQitMYXptVVBaMjlJSFFsdHhmVmljR1dlcFU5VmswbVU1eWswbEUwUENGV2Y2eUJhNm1POC9rUGVoNXh3L1d0MmwrcG9LRFNna2dSbXkvWWNTTklNMzFGVmovUVdOMVhiU2N3OVBTTTRxSlk4S0daSzBhR3FmSmhDNk9CZGlvYytDdWQ4UVAvTDVBUllqTlE5UXRhVWF3QnBqMnJIQWdzRmlqdFFoM21IYUEwNllwcmVrNFVJK0FsWkU1NVRSVitLT28zTG8zbDludkRTeFJPdXg5WS9xTENpTGs1ZkpvQXQxUnU4L0pGUWozMHdWRTdKL3ByNm5EdWpvT2VGT3p0ZEpNSjdrVFZHRXcvZFBweHpEd1piNGZCNVk1dFlQZUx1WTI1Z2thdmtqZTNlalBoeDdKZkNscmZNWVRaVURTN1FWdmhndCsrK1NYUGExOWVsWEY5TE0yU0pDNmJLN0N5ZXVLd1pHcnBtYVFCTyttT0Z5anJuaG1EWXJlT0c3VnZNdzhoeVFrKzNTeUF5Y2p2UUxHSnhrRUpsblZaMkl0NERYMzZZUTlVY3I3VXhqYVQrdDE2TjlqUHF0M25jaitUazlEa00xVWRNc0tENzhCcHhZc2VBYnY0LzZ5SnBkQUZZWU9sT0ZSMG1EKzZyRHN4K0I1WE9sNUNmbWFGMUhjbnkxNmF0L2s3S0JRU2hKYkUxaHdNTVViWFVBdXBPN0NueUpjQnFtV1NyQ3NyejR0YjBoSnR4M1NKakd5RGJDWkYxV3lSb1VXSlZyZ1M1dGt4YWJ1OWNJYVBqVmRxUG4rSGJ3ZVVtYWlkVitXeWpjY25xaHNFR0U2RzFmNnE4dFFVSWFJdTRLeGZyRU84MXlyMFlyRVZSaXZ1a1I5bDBsMG9Pdi9tT2Y5NjhQbERubDJIV0hVSDdtNTVRY1VJbThseVN4QnlwejBJMWVxN0ZYUmRHZlZidytPT2dhVDV5cFVqaGtmMXQyMjVyb1NZZFpEWkpEUzV2NjVsYXJQMzlZTy90U0FXMG5wQk9EZGtQclNHckgxcUlPT0NKNEFRVFBRYWlQTUhCdk5qajFxcHJMZ3NzaGh4eU1ER3ZjT2E1K1VwbDRvbVJDbjhLZE5LemVqZjRPNzI2Z1hEakcrdGJiOWlKWnNSQXkxa09VbGNMTkpDS1ZzRktLZFJHQjk0TkZSWHpOSlJmdm5QVzFPTFVnLzRPdkJOZDBmU09UamVIcHM4VGZRckc2a1pjUEFGREc2bTd3enM2Z29OVHFidFFJV3FaMFRsWHdCcFlsdDZlVndrVWxwMGRvOGdSVUtSWDY0TGs1MmsySktIK2FvWDZZdEVRNkFlVmJLLytmNGZueFM3YjdCczVpV1BnOVBIVzNCdUJRcHdDY29vaHMwMUlGVWZQTkt2Z3I4aFRQdEhPK0F1QXNPaXZmdnpFMWpuZWpOMlltcHBuMHBqQlV5dHlVS3BucWlJZHVIby8zMFpxeHFKaWlrcjdHdmd2d2hzd2tVVmp3YnVzZjYwS1p3T2cyajQ5OXlZQnNxcHIvUGl2WW5hR0F3K2FSbGNJT1pkQWVnbVZjVkFDb2UzekpkQUZabmFOK2tEWFJHdkUxc1FZUk0vd3daWDF5aFQ5UUdVWEZGaWRZRkZXZWtLam9oQmxlVWlnWmZWQmhicHNIdkE0UkFMY2NEZnh2eHhkY0F5MFRnNzE1U25sTGZZVEU2NlM4Ni9uTmVmRFlRcy9zRjUzODFiKzhVR2V3MEtWOUlHWDQyWC9uNTNYVEdjTWRjR1UzVm5hTUoyZS96T0JtWVdyMW1kUDNub3F2MjJEdUx5ZmVXbXhvVVRFMVRpRVppeUpDdXNndVZPVm96VWh6MlJ5dFgvejkxa2RCbEdQM2JzZ1VQc29oNlJsNzhOcjczQldmcStUNm8vYlkwOGZaMnJITDhHeHU3LzlUckZsU0lERXFITThNMlhmVHdXWEVMa2VMNHd6QVJGeHltZXRGNVB0VUJUWkxiWFV5SlYvWTlaMTZpQktlSnVnaGYrUEhabWNBWTdFVjIzcmxtN1ZBSjVTN0dzOUxIQUtGSS9RaS9SZ2UzSjF4MWd2aWZ1RTB6OUtPcFRRRXFPSUMwdXJmUkZ6ZStzQVVhbFpMdndCdTVkT3FwbllEUUtDejZGTGhIdzFtVjcwMkpiWkZoaUZGK0Nnb01xdGRnQWpzMXRmWFpxZExqeUlDTGVlYnFFRHdLdzk1bUhFZEFONWc5b2p4azJ2eEx3Z0dIekE5a215S2xYNW5YSWJBVEJIaVlJME1sV0dieFVHRFpzTDJzcXJJTTBVaWc1T1JKT29ualRWU09ERmhPV21HTGxiR29jbGJVNjVzckdFSXpvcjJQS0kwaldPTXJUQ2plSzZzYklvSFIzVDZ3N1NSa3JVWnc5dFJYYnRDNlJ6bDJpaG1oNG5tTElOa0xBaldLczE2VE5IZzgxWGZaU3ZtNng0TEdiRUdsczdGOTE5VG1hVERoK2lOOVl2UU9WR2p6MkFURGpPOENpYjNGWFFCSGxBWkZBTWFJektzc2hHb2JCVjBEUTVYVDg5V3MxR3hvUURwVHo1cUVuRGRSbTZRWnhZaitXVjM5NnRIZjV3eXI4MldUL2szb0kxYW9sQVQ4Zm12TDI1TmNQV0xZRkVJL3pFQUdCbXNqNjJEK3h5Q29GVzIwY1lpNEVsRHQ1UzZSZU9EVlI3TjFiZEhSbFROVTI4UmNIK2MrY2wwcmVKZWNodFZhODloZ2w4ckUzOXdWdHVhMmU3Q0hheC8xV0crSnF0VG01a0cxc2JJSTFnTFA4RHY0bHJjVWpEd29HeWttZWd2ZWVMMXRYV3lKeWdwS2hPcExSV0plN3N6SEhWazdyR3RFaHR3M2FDa1Y3b25yL1JBRDRtNk9nNDROdmpiQmF5TlRpQVdtSVp3TGw5dVBXWEkxUW1jd2lsZWh5aXRuQXpOV0tLSUZUd0JLQWVHUlNMU3JwZHVNSTJTZTM3RDNuaHQyM3NnaWd2dDV3SldpZzN0RFF4TTl2bmdSeFp5cS8xOVR1ekozQUhQQlFMK25zNnVjanprU2dpRGtNRHFOYUZLd3Fzd0QvSC9jRTNvZzJYa2JnNEtxa0RrT1RTUmFTMjZjMGZBaklpdjJMNlo0K2M4V3FlSUdkVW9LTFRhNk1RVmdqdXdSdmQ0SmNzL05TOENGR2hVdGRScVFyeGJndDlWbkdlMWlqbTRTVFRZRDdjQVJyQ2ZuWVJaeGtpSS9INDVhcm9yT0ZZUWwxU0tWRThHa3R5eHl3dzZLSzFPRUNwOXZXUEpvUkdOSTRYR3pSSi9SOVJmaDRnODhnYlVCR1pBMTdpam5NQTRSWlY3TUFYOVZFS2x1b1dYN2YzdXkxU0N2NERVYmJvTEp1NzZBU01QZnBEZkVuc2JhMUdtbC81cUkyVXQ2T0hGSEFvT0ZyRnhIZjBJTmRzS2xaU1FYWVZnQTR6akVmUWF1SG53cjZqZjlwdTVrc1lUbklvZW1yTzA2aGtScWFKekdkWVR5dzBKM2hVMEdNQXoybTRwNXR0S25kaU9MRmp3MFd2eGpqbW9NTE03UlJkNzVGSUVhUWFaMk0wWGhxbkJ4T09yVGdMeG1kZVg1Sk5SUC9XVmZWQlFQVk9FWlBEMkNaQWdiUHZZK2NoeU4zdUU2ZjRGSDBHWk84K1dTNGJ2ZEF1WitZMVAwMHI4Y3dkay9xSEVMUmI4Tk1BeGhCRWJBSUFkbkI5YWNlTUpyQkpvejAxcFdjeERZTTV0a3FGTEM5ODBIUjRNTCsvaE5BS2hqQnFTNWsvWXdYcGtIN3lETE1lenZRUXYwREZlQ0tpKzZ2WXIydmFlelB3NEtRV1RBZ2JXejNITW9lY0hsdlMrTDJpcFRlOVZpVlV1ZTRYK0JUZTY3OXF1NWhPREUrOEloM2c0b3NOeEFIb01ZUjFNcXVGQlZ0NUdBOTFCQk14VStnQmtWTWR0aHlqaUhyTzkwa2FuenloQ0ZJS2tIY25kSmtuL21KNG1xVENBYlFTU1FkWVZhamllTWorb0grZXVKYnpNRjgzV3k5Lzg0QytvTENhVENZalVydnhkSExING5OdFBvMUx6VE94dFJtNVpsV3RRS0t1OURPS1IwMW1aQ0FoTTlZbHRVWVNJc2xhVkdESjZjd0pOMkh2SlB6TTdnSFB1WkgxbFE5Y3RhZllreURkTjlNWXcrSTJlSnQzWVdNelRYam52RWNmalVZMjlHMk9OWjdzOFFUd0k2ZVl5aVhTeWdUUkxSd040Z1grVUF4QzUrdERVSXBDMW5TcG9Fa2REdTlSVzJvU1gwem1wMXA5YWVRTVYzL2F6ZU9WczVTaUhOT0taTXVIR2ZmQURhcGJQWGM1K1htK3V1T0hGd2pybXdENU54cTdxN3FiSkEzdDdZcWhtSno3VmtnakNxT0FmbzFUckFDM1kxNUxsSDM0NUJPVWNaeGdJN2ZkYVRLQVFJenlnUE9GMmM4Zm1uYldsV3NEbUloVU9IMEdRV1FYYnVDMEhvK1YyOFhtMERZRTltTG1wZ2s4aVh1ajBLZ0dYbm90ajVrc0EzR1dtcEZ0bStSNDJwVHY0dExNSDBYMk8yS056RTBVSjZqQXRPSTQ2TlZNbDFxTFZTbWxORERTKzdGeVhkWTJUTUZET1QxQ3ZvMEFucW15dm92VGozM0dZOGdHM0J0ZGFjN2M1VVlreTEremt0RjUxaVNUbmtUQTNka2EwUmRBZjArUVl4TWpKSEZtNlhDOVBmN1VsR043eDFOL0pCTytGZGVnVVBOeHNBN2xFTUNOeFJTdjhiVlJ1SHpHK3UvUXhMVFBZeXlGR1EwMWZ1MU9mU3FEQkt2ZlNENXhsSGpoelF4MWxnNWVidlpiSUFiSWdNK1RVYm1DTTdPMFk5cG5ZSXgzQUxqeGZPN1Uzay8wM1REUzRUMkQ5Z0FUcitNK0F0TjRvYnlmSk5Za2VFbFBlQlVKVkpwRTZ6cGRrZ3h4ZDhRemhWUWljZ3U5aXEwMFJDUlBUdnJQVTZ4R3REU2FkRDAyekMzemZzUkMycHpxajRyOG9Za29kOE01WFZ5UzN5OWpiY3BEZnVDMlMrYTN2VXlWL3Q0NTFld2swUWtTOFpuN3duMlp2blUxcHRGRG5IN0hjN0c3RnNoWDdRMDFxOEJ5WFhUbE9MR1AyREVFL1J6OTdJWlExMVozQWpTanBJTC9DNm56Y0hmd0t2MTdvSXZFZEhBbkhXR3A3aCtOK2FEUGNEdnRxT3NUYVB4SzcvS3pOZkIvOFlKSHFhOFhZVkNNZm5JS1NFVjBocVN2ZWJJLzEvSGM5RHRjTDA5Q2hGV2lpZktPelM0TFliaUJiZUI3YkI3Y1pyKzBJUEt4UWx3a3Jwc0hBNGZ1OHY4RnNweEFneHZpQW9kYjF0LzY4UEVyQ3hIS1lFU1pjQUlYcW1iMm90eDVpeHhjSmd3Qw==
[/PHPkoru_Code]