/home/ryakenya/www/wp-content__4727f99/plugins/youtube-embed-plus/youtube.php
<?php
/*
Plugin Name: YouTube WordPress Plugin by Embed Plus
Plugin URI: https://www.embedplus.com/dashboard/pro-easy-video-analytics.aspx?ref=plugin
Description: YouTube Embed Plugin. Embed a YouTube channel gallery, playlist gallery, YouTube live stream. Lite embeds with defer JavaScript and facade options
Version: 14.2.1.2
Author: Embed Plus YouTube Plugin Team
Author URI: https://www.embedplus.com
Requires at least: 4.5
*/
/*
Embed Plus Plugin for YouTube
Copyright (C) 2023 EmbedPlus.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
//define('WP_DEBUG', true);
class YouTubePrefs
{
public static $folder_name = 'youtube-embed-plus';
public static $curltimeout = 30;
public static $version = '14.2.1.2';
public static $opt_version = 'version';
public static $optembedwidth = null;
public static $optembedheight = null;
public static $defaultheight = null;
public static $defaultwidth = null;
public static $oembeddata = null;
public static $opt_center = 'centervid';
public static $opt_glance = 'glance';
public static $opt_autoplay = 'autoplay';
public static $opt_debugmode = 'debugmode';
public static $opt_uninstall_data = 'uninstall_data';
public static $opt_old_script_method = 'old_script_method';
public static $opt_cc_load_policy = 'cc_load_policy';
public static $opt_cc_lang_pref = 'cc_lang_pref';
public static $opt_iv_load_policy = 'iv_load_policy';
public static $opt_loop = 'loop';
public static $opt_modestbranding = 'modestbranding';
public static $opt_rel = 'rel';
public static $opt_fs = 'fs';
public static $opt_playsinline = 'playsinline';
public static $opt_autohide = 'autohide';
public static $opt_controls = 'controls';
public static $opt_theme = 'theme';
public static $opt_color = 'color';
public static $opt_listType = 'listType';
public static $opt_dohl = 'dohl';
public static $opt_hl = 'hl';
public static $opt_nocookie = 'nocookie';
public static $opt_gb_compat = 'gb_compat';
public static $opt_facade_mode = 'facade_mode';
public static $opt_facade_autoplay = 'facade_autoplay';
public static $opt_gdpr_consent = 'gdpr_consent';
public static $opt_gdpr_consent_message = 'gdpr_consent_message';
public static $opt_gdpr_consent_button = 'gdpr_consent_button';
public static $gdpr_cookie_name = 'ytprefs_gdpr_consent';
public static $opt_playlistorder = 'playlistorder';
public static $opt_acctitle = 'acctitle';
public static $opt_pro = 'pro';
public static $opt_oldspacing = 'oldspacing';
public static $opt_frontend_only = 'frontend_only';
public static $opt_responsive = 'responsive';
public static $opt_responsive_all = 'responsive_all';
public static $opt_origin = 'origin';
public static $opt_widgetfit = 'widgetfit';
public static $opt_evselector_light = 'evselector_light';
public static $opt_stop_mobile_buffer = 'stop_mobile_buffer';
public static $opt_restrict_wizard = 'restrict_wizard';
public static $opt_restrict_wizard_roles = 'restrict_wizard_roles';
public static $opt_ajax_compat = 'ajax_compat';
public static $opt_maxres_facade = 'maxres_facade';
public static $opt_ytapi_load = 'ytapi_load';
public static $opt_defaultdims = 'defaultdims';
public static $opt_defaultwidth = 'width';
public static $opt_defaultheight = 'height';
public static $opt_pause_others = 'pause_others';
public static $opt_defaultvol = 'defaultvol';
public static $opt_vol = 'vol';
public static $opt_apikey = 'apikey';
public static $opt_migrate = 'migrate';
public static $opt_migrate_youtube = 'migrate_youtube';
public static $opt_migrate_embedplusvideo = 'migrate_embedplusvideo';
public static $opt_gallery_pagesize = 'gallery_pagesize';
public static $opt_gallery_columns = 'gallery_columns';
public static $opt_gallery_collapse_grid = 'gallery_collapse_grid';
public static $opt_gallery_collapse_grid_breaks = 'gallery_collapse_grid_breaks';
public static $opt_gallery_scrolloffset = 'gallery_scrolloffset';
public static $opt_gallery_hideprivate = 'gallery_hideprivate';
public static $opt_gallery_showtitle = 'gallery_showtitle';
public static $opt_gallery_showpaging = 'gallery_showpaging';
public static $opt_gallery_thumbplay = 'gallery_thumbplay';
public static $opt_gallery_autonext = 'gallery_autonext';
public static $opt_gallery_channelsub = 'gallery_channelsub';
public static $opt_gallery_channelsublink = 'gallery_channelsublink';
public static $opt_gallery_channelsubtext = 'gallery_channelsubtext';
public static $opt_gallery_customarrows = 'gallery_customarrows';
public static $opt_gallery_customprev = 'gallery_customprev';
public static $opt_gallery_customnext = 'gallery_customnext';
public static $opt_not_live_content = 'not_live_content';
public static $opt_not_live_on = 'not_live_on';
public static $opt_not_live_on_channel = 'not_live_on_channel';
public static $opt_admin_off_scripts = 'admin_off_scripts';
public static $opt_defer_js = 'defer_js';
public static $opt_defer_jquery = 'defer_jquery';
public static $opt_ajax_save = 'ajax_save';
public static $opt_onboarded = 'onboarded';
public static $opt_show_pointer = 'show_pointer';
public static $opt_alloptions = 'youtubeprefs_alloptions';
public static $alloptions = null;
public static $yt_options = array();
public static $dft_bpts = array(array('bp' => array('min' => 0, 'max' => 767), 'cols' => 1));
public static $dft_roles = array('administrator', 'editor', 'author', 'contributor', 'subscriber');
public static $epbase = 'https://www.embedplus.com';
public static $double_plugin = false;
public static $scriptsprinted = 0;
public static $min = '.min';
public static $badentities = array('×', '×', '–', '–', '&', '&', '&');
public static $goodliterals = array('x', 'x', '--', '--', '&', '&', '&');
public static $wizard_hook = '';
public static $onboarding_hook = '';
public static $admin_page_hooks = array();
public static $the_content_filters = array(
'wptexturize',
'wpautop',
'shortcode_unautop',
'prepend_attachment',
'wp_make_content_images_responsive',
'wp_filter_content_tags',
'do_shortcode',
'convert_smilies'
);
public static $get_api_key_msg = 'The ### feature now requires a (free) YouTube API key from Google. Please follow the easy steps <a href="https://www.youtube.com/watch?v=ZCfrNvu6nMc" target="_blank">in this video</a> to create and save your API key.';
public static $boilerplate_api_error_message = ' Please make sure you performed the <a href="https://www.youtube.com/watch?v=ZCfrNvu6nMc" target="_blank">steps in this video</a> to create and save a proper server API key.';
public static $dft_gdpr_consent_message = '<p><strong>Please accept YouTube cookies to play this video.</strong> By accepting you will be accessing content from YouTube, a service provided by an external third party.</p><p><a href="https://policies.google.com/privacy" target="_blank">YouTube privacy policy</a></p><p>If you accept this notice, your choice will be saved and the page will refresh.</p>';
///////////////////////////////////////////////////////////////////////////////////////////////////
public static $vi_default_date = ''; // date('Y-m-d H:i:s', strtotime('2000-01-01'));
public static $vi_last_category_update_interval = '1 hour';
public static $vi_script_tag_done = false;
public static $vi_dft_js_settings = array(
//"adUnitType" => "NATIVE_VIDEO_UNIT",
"divId" => "ytvi_story_container",
"language" => "en-us",
"iabCategory" => "",
"font" => "Arial",
"fontSize" => 12,
"keywords" => "",
"textColor" => "#000000",
"backgroundColor" => "#ffffff",
"vioptional1" => "",
"vioptional2" => "",
"vioptional3" => "",
"float" => true,
//"logoUrl" => "",
"dfpSupport" => true,
"sponsoredText" => "",
"poweredByText" => ""
);
public static $opt_vi_active = 'vi_active';
public static $opt_vi_hide_monetize_tab = 'vi_hide_monetize_tab';
public static $opt_vi_endpoints = 'vi_endpoints';
public static $opt_vi_token = 'vi_token';
public static $opt_vi_last_login = 'vi_last_login';
public static $opt_vi_last_category_update = 'vi_last_category_update';
public static $opt_vi_adstxt = 'vi_adstxt';
public static $opt_vi_js_settings = 'vi_js_settings';
public static $opt_vi_js_script = 'vi_js_script';
public static $opt_vi_js_posttypes = 'vi_js_posttypes';
public static $opt_vi_js_position = 'vi_js_position';
public static $opt_vi_show_gdpr_authorization = 'vi_show_gdpr_authorization';
public static $opt_vi_show_privacy_button = 'vi_show_privacy_button';
///////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
public static $oldytregex = '@^\s*https?://(?:www\.)?(?:(?:youtube.com/(?:(?:watch)|(?:embed)|(?:playlist))(?:/live_stream){0,1}/{0,1}\?)|(?:youtu.be/))([^\s"]+)\s*$@im';
public static $ytregex = '@^[\r\t ]*https?://(?:www\.)?(?:(?:youtube.com/(?:(?:watch)|(?:embed)|(?:playlist))(?:/live_stream){0,1}/{0,1}\?)|(?:youtu.be/))([^\s"]+)[\r\t ]*$@im';
public static $justurlregex = '@https?://(?:www\.)?(?:(?:youtube.com/(?:(?:watch)|(?:embed)|(?:playlist))(?:/live_stream){0,1}/{0,1}\?)|(?:youtu.be/))([^\[\s"]+)@i';
///////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
public function __construct()
{
if (defined('EMBEDPLUS_BASE_URL'))
{
self::$epbase = EMBEDPLUS_BASE_URL;
}
self::$vi_default_date = date('Y-m-d H:i:s', strtotime('2000-01-01'));
register_deactivation_hook(__FILE__, array(self::class, 'on_deactivation'));
add_action('admin_init', array(self::class, 'check_double_plugin_warning'));
add_action('admin_notices', array(self::class, 'separate_version_message'));
self::$alloptions = get_option(self::$opt_alloptions);
if (self::$alloptions == false || version_compare(self::$alloptions[self::$opt_version], self::$version, '<'))
{
self::initoptions();
}
if ((defined('SCRIPT_DEBUG') && SCRIPT_DEBUG) || self::$alloptions[self::$opt_debugmode] == 1)
{
self::$min = '';
}
if (self::$alloptions[self::$opt_oldspacing] == 1)
{
self::$ytregex = self::$oldytregex;
}
self::$optembedwidth = intval(get_option('embed_size_w'));
self::$optembedheight = intval(get_option('embed_size_h'));
self::$yt_options = array(
self::$opt_autoplay,
self::$opt_cc_load_policy,
self::$opt_cc_lang_pref,
self::$opt_iv_load_policy,
self::$opt_loop,
self::$opt_modestbranding,
self::$opt_rel,
self::$opt_fs,
self::$opt_playsinline,
self::$opt_autohide,
self::$opt_controls,
self::$opt_hl,
self::$opt_theme,
self::$opt_color,
self::$opt_listType,
'index',
'list',
'start',
'end',
'channel'
);
add_action('media_buttons', array(self::class, 'media_button_wizard'), 11);
self::do_ytprefs();
add_action('admin_menu', array(self::class, 'ytprefs_plugin_menu'));
add_filter('plugin_action_links_' . plugin_basename(__FILE__), array(self::class, 'my_plugin_action_links'));
if (!is_admin())
{
if (self::$alloptions[self::$opt_old_script_method] == 1)
{
add_action('wp_print_scripts', array(self::class, 'jsvars'));
add_action('wp_enqueue_scripts', array(self::class, 'jsvars'));
}
add_action('wp_enqueue_scripts', array(self::class, 'ytprefsscript'), 100);
add_action('wp_enqueue_scripts', array(self::class, 'fitvids'), 101);
}
add_filter('ytprefs_filter_the_content_light', array(self::class, 'filter_the_content_light'));
add_action("wp_ajax_my_embedplus_onboarding_save_ajax", array(self::class, 'onboarding_save_ajax'));
add_action("wp_ajax_my_embedplus_settings_save_ajax", array(self::class, 'settings_save_ajax'));
add_action("wp_ajax_my_embedplus_onboarding_save_apikey_ajax", array(self::class, 'onboarding_save_apikey_ajax'));
add_action("wp_ajax_my_embedplus_glance_vids", array(self::class, 'my_embedplus_glance_vids'));
add_action("wp_ajax_my_embedplus_glance_count", array(self::class, 'my_embedplus_glance_count'));
add_action("wp_ajax_my_embedplus_dismiss_double_plugin_warning", array(self::class, 'my_embedplus_dismiss_double_plugin_warning'));
add_action("wp_ajax_my_embedplus_gallery_page", array(self::class, 'my_embedplus_gallery_page'));
add_action("wp_ajax_nopriv_my_embedplus_gallery_page", array(self::class, 'my_embedplus_gallery_page'));
add_action('admin_enqueue_scripts', array(self::class, 'admin_enqueue_scripts'), 10, 1);
if (!empty(self::$alloptions[self::$opt_not_live_on_channel]))
{
add_action("wp_footer", array(self::class, 'live_fallback_template'));
}
/////////////////////////////////////
include_once(EPYTVI_INCLUDES_PATH . 'vi_actions.php');
include_once(EPYTGB_INCLUDES_PATH . 'gutenberg_hooks.php');
}
public static function separate_version_message()
{
if (current_user_can('manage_options') && self::$alloptions[self::$opt_pro] && strlen(trim(self::$alloptions[self::$opt_pro])) > 10)
{
$class = 'notice notice-error is-dismissible';
$message = 'Important message to YouTube Pro users: From version 11.7 onward, you must <a href="https://www.embedplus.com/youtube-pro/download/?prokey=' . esc_attr(self::$alloptions[self::$opt_pro]) . '" target="_blank">download the separate plugin here</a> to regain your Pro features. All your settings will automatically migrate after installing the separate Pro download. Thank you for your support and patience during this transition.';
printf('<div class="%1$s"><p>%2$s</p></div>', esc_attr($class), wp_kses_post($message));
}
}
public static function live_fallback_template()
{
echo '<script type="text/x-template" id="epyt-live-fallback">' . base64_encode(apply_filters('ytprefs_filter_the_content_light', wp_kses_post(self::$alloptions[self::$opt_not_live_content]))) . '</script>';
}
public static function defer_scripts($tag, $handle, $src)
{
$defer = array(
'__dispload__',
'__ytprefs__',
'__dynload__',
'__ytprefs__bar',
'__ytprefsfitvids__',
'__jquery_cookie__'
);
if (self::$alloptions[self::$opt_defer_jquery] == 1 && !is_admin())
{
array_push($defer, 'jquery', 'jquery-core', 'jquery-migrate');
}
if (in_array($handle, $defer) && stripos($tag, ' defer') === false)
{
$tag = str_replace(' src', ' defer src', $tag);
}
return $tag;
}
public static function my_plugin_action_links($links)
{
if (is_array($links))
{
$links[] = '<a href="' . esc_url(admin_url('admin.php?page=youtube-my-preferences')) . '">Settings</a>';
$links[] = '<a href="https://www.embedplus.com/dashboard/pro-easy-video-analytics.aspx?ref=actionlinks" target="_blank">Pro Version</a>';
}
return $links;
}
public static function show_glance_list()
{
$glancehref = self::show_glance();
$cnt = self::get_glance_count();
//display via list
return '<li class="page-count">
<a href="' . $glancehref . '" class="thickbox ytprefs_glance_button" id="ytprefs_glance_button" title="YouTube Embeds At a Glance">' . number_format_i18n($cnt) . ' With YouTube</a>
</li>';
}
public static function show_glance_table()
{
$glancehref = self::show_glance();
$cnt = self::get_glance_count();
return
'<tr>
<td class="first b"><a title="YouTube Embeds At a Glance" href="' . $glancehref . '" class="thickbox ytprefs_glance_button">' . number_format_i18n($cnt) . '</a></td>
<td class="t"><a title="YouTube Embeds At a Glance" href="' . $glancehref . '" id="ytprefs_glance_button" class="thickbox ytprefs_glance_button">With YouTube</a></td>
</tr>';
}
public static function get_glance_count()
{
global $wpdb;
$query_sql = "
SELECT count(*) as mytotal
FROM $wpdb->posts
WHERE (post_content LIKE '%youtube.com/%' OR post_content LIKE '%youtu.be/%')
AND post_status = 'publish'";
$query_result = $wpdb->get_results($query_sql, OBJECT);
return intval($query_result[0]->mytotal);
}
public static function show_glance()
{
$glancehref = admin_url('admin.php?page=youtube-ep-glance') . '&random=' . rand(1, 1000) . '&TB_iframe=true&width=780&height=800';
return $glancehref;
}
public static function glance_page()
{
?>
<div class="wrap">
<style type="text/css">
#wphead {display:none;}
#wpbody{margin-left: 0px;}
.wrap {font-family: Arial; padding: 0px 10px 0px 10px; line-height: 180%;}
.bold {font-weight: bold;}
.orange {color: #f85d00;}
sup.orange {text-transform: lowercase; font-weight: bold; color: #f85d00;}
#adminmenuback {display: none;}
#adminmenu, adminmenuwrap {display: none;}
#wpcontent, .auto-fold #wpcontent {margin-left: 0px;}
#wpadminbar {display:none;}
html.wp-toolbar {padding: 0px;}
#footer, #wpfooter, .auto-fold #wpfooter {display: none;}
#wpfooter {clear: both}
.acctitle {background-color: #dddddd; border-radius: 5px; padding: 7px 15px 7px 15px; cursor: pointer; margin: 10px; font-weight: bold; font-size: 12px;}
.acctitle:hover {background-color: #cccccc;}
.accbox {display: none; position: relative; margin: 5px 8px 30px 15px; clear: both; line-height: 180%;}
.accclose {position: absolute; top: -38px; right: 5px; cursor: pointer; width: 24px; height: 24px;}
.accloader {padding-right: 20px;}
.accthumb {display: block; width: 300px; float: left; margin-right: 25px;}
.accinfo {width: 300px; float: left;}
.accvidtitle {font-weight: bold; font-size: 16px;}
.accthumb img {width: 300px; height: auto; display: block;}
.clearboth {clear: both;}
.pad20 {padding: 20px;}
.center {text-align: center;}
#screen-meta-links {display: none;}
</style>
<script type="text/javascript">
function accclose(ele)
{
jQuery(ele).parent('.accbox').hide(400);
}
(function ($j)
{
$j(document).ready(function ()
{
$j('.acctitle').on('click', function ()
{
var $acctitle = $j(this);
var $accbox = $j(this).parent().children('.accbox');
var pid = $accbox.attr("data-postid");
$acctitle.prepend('<img alt="loading" class="accloader" src="<?php echo plugins_url('images/ajax-loader.gif', __FILE__) ?>" />');
jQuery.ajax({
type: "post",
dataType: "json",
timeout: 30000,
url: window._EPYTA_ ? window._EPYTA_.wpajaxurl : ajaxurl,
data: {action: 'my_embedplus_glance_vids', postid: pid},
success: function (response)
{
if (response.type === "success")
{
$accbox.html(response.data),
$accbox.show(400);
}
else
{
}
},
error: function (xhr, ajaxOptions, thrownError)
{
},
complete: function ()
{
$acctitle.children('.accloader').remove();
}
});
});
});
})(jQuery);</script>
<?php
global $wpdb;
$query_sql = "
SELECT SQL_CALC_FOUND_ROWS *
FROM $wpdb->posts
WHERE (post_content LIKE '%youtube.com/%' OR post_content LIKE '%youtu.be/%')
AND post_status = 'publish'
order by post_date DESC LIMIT 0, 10";
$query_result = $wpdb->get_results($query_sql, OBJECT);
if ($query_result !== null)
{
$total = $wpdb->get_var("SELECT FOUND_ROWS();");
global $post;
echo '<h2>10 Latest Posts/Pages with YouTube Videos (' . intval($total) . ' Total)</h2>';
?>
We recommend using this page as an easy way to check the results of the global default settings you make (e.g. hide annotations) on your recent embeds. Or, simply use it as an index to jump right to your posts that contain YouTube embeds.
<?php
if ($total > 0)
{
echo '<ul class="accord">';
foreach ($query_result as $post)
{
echo '<li>';
setup_postdata($post);
the_title('<div class="acctitle">', ' »</div>');
echo '<div class="accbox" data-postid="' . $post->ID . '"></div><div class="clearboth"></div></li>';
}
echo '</ul>';
}
else
{
echo '<p class="center bold orange">You currently do not have any YouTube embeds yet.</p>';
}
}
wp_reset_postdata();
?>
To remove this feature from your dashboard, simply uncheck <i>Show "At a Glance" Embed Links</i> in the <a target="_blank" href="<?php echo admin_url('admin.php?page=youtube-my-preferences#jumpdefaults') ?>">plugin settings page »</a>.
</div>
<?php
}
public static function is_ajax()
{
$requested_with = filter_input(INPUT_SERVER, 'HTTP_X_REQUESTED_WITH');
$is_ajax = (function_exists('wp_doing_ajax') && wp_doing_ajax() || (!empty($requested_with) && strtolower($requested_with) == 'xmlhttprequest') || (defined('DOING_AJAX') && DOING_AJAX));
if ($is_ajax)
{
header('HTTP/1.1 200 OK');
}
return $is_ajax;
}
public static function my_embedplus_glance_vids()
{
$result = array();
if (self::is_ajax())
{
$postid = intval($_REQUEST['postid']);
$currpost = get_post($postid);
$thehtml = '<img alt="close" class="accclose" onclick="accclose(this)" src="' . plugins_url('images/accclose.png', __FILE__) . '" />';
$matches = array();
$ismatch = preg_match_all(self::$justurlregex, $currpost->post_content, $matches);
if ($ismatch)
{
foreach ($matches[0] as $match)
{
$link = trim(preg_replace('/&/i', '&', $match));
$link = preg_replace('/\s/', '', $link);
$link = trim(str_replace(self::$badentities, self::$goodliterals, $link));
$linkparamstemp = explode('?', $link);
$linkparams = array();
if (count($linkparamstemp) > 1)
{
$linkparams = self::keyvalue($linkparamstemp[1], true);
}
if (strpos($linkparamstemp[0], 'youtu.be') !== false && !isset($linkparams['v']))
{
$vtemp = explode('/', $linkparamstemp[0]);
$linkparams['v'] = array_pop($vtemp);
}
$vidid = $linkparams['v'];
if ($vidid != null)
{
try
{
$odata = self::get_oembed('https://youtube.com/watch?v=' . $vidid, 1920, 1280);
$postlink = get_permalink($postid);
if ($odata != null && !is_wp_error($odata))
{
$_name = esc_attr(sanitize_text_field($odata->title));
$_description = esc_attr(sanitize_text_field($odata->author_name));
$_thumbnailUrl = esc_url("https://i.ytimg.com/vi/" . $vidid . "/0.jpg");
$thehtml .= '<a target="_blank" href="' . $postlink . '" class="accthumb"><img alt="YouTube Video" src="' . $_thumbnailUrl . '" /></a>';
$thehtml .= '<div class="accinfo">';
$thehtml .= '<a target="_blank" href="' . $postlink . '" class="accvidtitle">' . $_name . '</a>';
$thehtml .= '<div class="accdesc">' . (strlen($_description) > 400 ? substr($_description, 0, 400) . "..." : $_description) . '</div>';
$thehtml .= '</div>';
$thehtml .= '<div class="clearboth pad20"></div>';
}
else
{
$thehtml .= '<p class="center bold orange">This <a target="_blank" href="' . $postlink . '">post/page</a> contains a video that has been removed from YouTube.';
$thehtml .= '<br><a target="_blank" href="https://www.embedplus.com/dashboard/pro-easy-video-analytics.aspx?ref=glancevids">Activate delete video tracking to catch these cases »</a>';
$thehtml .= '</strong>';
}
}
catch (Exception $ex)
{
}
}
else if (isset($linkparams['list']))
{
// if playlist
try
{
$odata = self::get_oembed('https://youtube.com/playlist?list=' . $linkparams['list'], 1920, 1280);
$postlink = get_permalink($postid);
if ($odata != null && !is_wp_error($odata))
{
$_name = esc_attr(sanitize_text_field($odata->title));
$_description = esc_attr(sanitize_text_field($odata->author_name));
$_thumbnailUrl = esc_url($odata->thumbnail_url);
$thehtml .= '<a target="_blank" href="' . $postlink . '" class="accthumb"><img alt="YouTube Video" src="' . $_thumbnailUrl . '" /></a>';
$thehtml .= '<div class="accinfo">';
$thehtml .= '<a target="_blank" href="' . $postlink . '" class="accvidtitle">' . $_name . '</a>';
$thehtml .= '<div class="accdesc">' . (strlen($_description) > 400 ? substr($_description, 0, 400) . "..." : $_description) . '</div>';
$thehtml .= '</div>';
$thehtml .= '<div class="clearboth pad20"></div>';
}
else
{
$thehtml .= '<p class="center bold orange">This <a target="_blank" href="' . $postlink . '">post/page</a> contains a video that has been removed from YouTube.';
$thehtml .= '<br><a target="_blank" href="https://www.embedplus.com/dashboard/pro-easy-video-analytics.aspx?ref=glancevids">Activate delete video tracking to catch these cases »</a>';
$thehtml .= '</strong>';
}
}
catch (Exception $ex)
{
}
}
}
}
if ($currpost != null)
{
$result['type'] = 'success';
$result['data'] = $thehtml;
}
else
{
$result['type'] = 'error';
}
echo json_encode($result);
}
else
{
$result['type'] = 'error';
header("Location: " . $_SERVER["HTTP_REFERER"]);
}
die();
}
public static function my_embedplus_glance_count()
{
$result = array();
if (self::is_ajax())
{
$thehtml = '';
try
{
if (version_compare(get_bloginfo('version'), '3.8', '>='))
{
$result['container'] = '#dashboard_right_now ul';
$thehtml .= self::show_glance_list();
}
else
{
$result['container'] = '#dashboard_right_now .table_content table tbody';
$thehtml .= self::show_glance_table();
}
$result['type'] = 'success';
$result['data'] = $thehtml;
}
catch (Exception $e)
{
$result['type'] = 'error';
}
echo json_encode($result);
}
else
{
$result['type'] = 'error';
header("Location: " . $_SERVER["HTTP_REFERER"]);
}
die();
}
public static function try_get_ytid($url)
{
$theytid = null;
if (strpos($url, 'v=') !== false)
{
$url_params = explode('?', $url);
$kvp = self::keyvalue($url_params[1], true);
$theytid = $kvp['v'];
}
else if (strpos($url, "youtu.be") !== false)
{
$shortpath = explode('/', parse_url($url, PHP_URL_PATH));
$theytid = $shortpath[1];
}
return $theytid;
}
public static function wizard()
{
?>
<div class="wrap" id="epyt_wiz_wrap">
<div class="smallnote center"> Please periodically check the YouTube plugin tab on your admin panel to review the latest options. </div>
<?php
$form_valid = true;
$acc_expand = '';
$get_pro_link = self::$epbase . '/dashboard/pro-easy-video-analytics.aspx?ref=wizard';
$step1_api_error_msg = ' Please confirm that the link works in your browser, and that <em>the owner of the video allowed embed sharing permissions (otherwise, contact the owner of the video to allow embedding)</em>. Then copy that full link in your address bar to paste here. If you are sure your link is correct, then (1) your API key may be too restrictive (<a target="_blank" href="https://console.developers.google.com/apis/credentials">check here</a>) or (2) you have reached your Google quota (<a href="https://console.developers.google.com/apis/dashboard" target="_blank">check here</a>). You can apply to Google for a <a href="https://services.google.com/fb/forms/ytapiquotarequest/" target="_blank">quota increase here</a>.';
$step1_video_errors = '';
$step1_video_error_invalid = 'Sorry, that does not seem to be a link to an existing video. Please confirm that the link works in your browser, and that <em>the owner of the video allowed embed sharing permissions (otherwise, contact the owner of the video to allow embedding)</em>. Then copy that full link in your address bar to paste here.';
$step1_playlist_errors = '';
$step1_playlist_error_invalid = 'Sorry, that does not seem to be a link to an existing playlist. Please confirm that the link works in your browser, and that <em>the owner of the playlist allowed embed sharing permissions (otherwise, contact the owner of the video to allow embedding)</em>. Then copy that full link in your address bar to paste here.';
$step1_channel_errors = '';
$step1_channel_error_invalid = 'Sorry, that does not seem to be a link to an existing video. ' . $step1_api_error_msg;
$step1_live_errors = '';
$step1_live_error_invalid = 'Sorry, that does not seem to be a valid link to an existing live video. ' . $step1_api_error_msg;
$step1_livechannel_errors = '';
$step1_livechannel_error_invalid = __('Sorry, that does not seem to be a link to an existing channel. Note: the custom channel name will not work. Please enter either a) the official channel format shown above, or b) any any single video belonging to the channel and the plugin can retrieve the official channel format for you.', 'text_domain');
$if_live_preview = false;
$theytid = null;
$theplaylistid = null;
$submit_type = null;
if (isset($_POST['wizform_submit']))
{
check_admin_referer('_epyt_wiz', '_epyt_nonce');
$submit_type = sanitize_text_field($_POST['wizform_submit']);
if ($submit_type === 'step1_video')
{
// validate
$search = sanitize_text_field(trim($_POST['txtUrl']));
try
{
if (empty($search))
{
throw new Exception();
}
else
{
// cleanup
$search = str_replace('/shorts/', '/watch?v=', $search);
}
if (preg_match(self::$justurlregex, $search))
{
//$search = esc_url($search);
try
{
$theytid = self::try_get_ytid($search);
if ($theytid == null)
{
$form_valid = false;
$step1_video_errors = $step1_video_error_invalid;
$acc_expand = 'h3_video';
}
else
{
$odata = self::get_oembed('http://youtube.com/watch?v=' . $theytid, 1920, 1280);
if (is_object($odata))
{
?>
<div id="step2_video" class="center">
<h2>
<?php
if (isset($odata->title))
{
echo sanitize_text_field($odata->title);
}
?>
</h2>
<p class="center">
<a class="ui-button ui-widget ui-corner-all" href="<?php echo $get_pro_link; ?>" target="_blank"><span class="ui-icon ui-icon-gear"></span> Customize (PRO)</a>
<a class="ui-button ui-widget ui-corner-all inserttopost" rel="[embedyt] https://www.youtube.com/watch?v=<?php echo esc_attr($theytid) ?>[/embedyt]"><span class="ui-icon ui-icon-arrowthickstop-1-s"></span> Insert Into Editor</a>
</p>
Or Copy Code:
<span class="copycode">[embedyt] https://www.youtube.com/watch?v=<?php echo esc_attr($theytid) ?>[/embedyt]</span>
<div class="clearboth" style="height: 10px;">
</div>
<div class="ep-wizard-preview-video-wrapper">
<iframe src="https://www.youtube.com/embed/<?php echo esc_attr($theytid) ?>?rel=0" allowfullscreen="" frameborder="0"></iframe>
</div>
</div>
<?php
}
else
{
$form_valid = false;
$step1_video_errors = $step1_video_error_invalid;
$acc_expand = 'h3_video';
}
}
}
catch (Exception $ex)
{
$form_valid = false;
$step1_video_errors = $step1_video_error_invalid;
$acc_expand = 'h3_video';
}
}
else
{
$search_options = new stdClass();
$search_options->q = $search;
$search_options->pageToken = null;
?>
<div id="step2_video_search" class="center">
<h2>You searched for: <em class="orange"><?php echo sanitize_text_field($search); ?></em> </h2>
<?php
$search_page = self::get_search_page($search_options);
echo $search_page->html;
?>
</div>
<?php
}
// // if valid, set and display next step
// if not,form_valid = false and set accordion expander and error messages
}
catch (Exception $ex)
{
$form_valid = false;
$step1_video_errors = $step1_video_error_invalid;
$acc_expand = 'h3_video';
}
}
else if ($submit_type === 'step1_playlist')
{
$search = sanitize_text_field(trim($_POST['txtUrlPlaylist']));
try
{
if (empty($search))
{
throw new Exception();
}
if (preg_match(self::$justurlregex, $search))
{
try
{
$theytid = null;
try
{
$theytid = self::try_get_ytid($search);
}
catch (Exception $ex)
{
}
$urlparams = explode('?', $search);
$qvars = array();
parse_str($urlparams[1], $qvars);
$theplaylistid = $qvars["list"];
$odata = self::get_oembed('https://youtube.com/playlist?list=' . $theplaylistid, 1920, 1280);
if (is_object($odata))
{
$rel = 'https://www.youtube.com/embed?listType=playlist&list=' . (esc_attr($theplaylistid) . (empty($theytid) ? '' : '&v=' . esc_attr($theytid)));
?>
<div id="step2_playlist" class="center">
<h2>
<?php
if (isset($odata->title))
{
echo 'Playlist: ' . sanitize_text_field($odata->title);
}
?>
</h2>
<p class="center">
<a class="ui-button ui-widget ui-corner-all inserttopost" rel="[embedyt] <?php echo $rel; ?>[/embedyt]"><span class="ui-icon ui-icon-arrowthickstop-1-s"></span> Insert as Playlist</a>
<a class="ui-button ui-widget ui-corner-all inserttopost" rel="[embedyt] <?php echo $rel . '&layout=gallery'; ?>[/embedyt]"><span class="ui-icon ui-icon-arrowthickstop-1-s"></span> Insert as Gallery</a>
<a class="ui-button ui-widget ui-corner-all" href="<?php echo $get_pro_link; ?>" target="_blank"><span class="ui-icon ui-icon-gear"></span> Customize (PRO)</a>
</p>
<p>
Or Copy Code:
</p>
<p>
Playlist Layout: <span class="copycode">[embedyt] <?php echo $rel; ?>[/embedyt]</span>
</p>
<p>
Gallery Layout: <span class="copycode">[embedyt] <?php echo $rel . '&layout=gallery'; ?>[/embedyt]</span>
</p>
<div class="clearboth" style="height: 10px;">
</div>
<div class="ep-wizard-preview-video-wrapper">
<iframe src="<?php echo $rel; ?>" allowfullscreen="" frameborder="0"></iframe>
</div>
</div>
<?php
}
else
{
$form_valid = false;
$step1_playlist_errors = $step1_playlist_error_invalid;
$acc_expand = 'h3_playlist';
}
}
catch (Exception $ex)
{
$form_valid = false;
$step1_playlist_errors = $step1_playlist_error_invalid;
$acc_expand = 'h3_playlist';
}
}
}
catch (Exception $ex)
{
$form_valid = false;
$step1_playlist_errors = $step1_playlist_error_invalid;
$acc_expand = 'h3_playlist';
}
}
else if ($submit_type === 'step1_channel')
{
$search = sanitize_text_field(trim($_POST['txtUrlChannel']));
try
{
if (empty($search))
{
throw new Exception();
}
if (preg_match(self::$justurlregex, $search) || preg_match('@/channel/(.+)@', $search))
{
try
{
$thechannel = null;
if (preg_match(self::$justurlregex, $search))
{
// single id
$theytid = null;
try
{
$theytid = self::try_get_ytid($search);
}
catch (Exception $ex)
{
}
$chanvid = null;
if ($theytid)
{
$chanvid = self::get_video_snippet($theytid);
}
if ($chanvid)
{
$thechannel = self::get_channel_snippet($chanvid->snippet->channelId);
}
}
else
{
// channel id
$chanmatch = array();
preg_match('@/channel/(.+)@', $search, $chanmatch);
if (!empty($chanmatch))
{
$thechannel = self::get_channel_snippet($chanmatch[1]);
}
}
if ($thechannel)
{
$theplaylistid = $thechannel->contentDetails->relatedPlaylists->uploads;
$rel = 'https://www.youtube.com/embed?listType=playlist&list=' . (esc_attr($theplaylistid));
?>
<div id="step2_channel" class="center">
<h2>
<?php
echo 'Channel: ' . sanitize_text_field($thechannel->snippet->title);
?>
</h2>
<p class="center">
<a class="ui-button ui-widget ui-corner-all inserttopost" rel="[embedyt] <?php echo $rel; ?>[/embedyt]"><span class="ui-icon ui-icon-arrowthickstop-1-s"></span> Insert as Playlist</a>
<a class="ui-button ui-widget ui-corner-all inserttopost" rel="[embedyt] <?php echo $rel . '&layout=gallery'; ?>[/embedyt]"><span class="ui-icon ui-icon-arrowthickstop-1-s"></span> Insert as Gallery</a>
<a class="ui-button ui-widget ui-corner-all" href="<?php echo $get_pro_link; ?>" target="_blank"><span class="ui-icon ui-icon-gear"></span> Customize (PRO)</a>
</p>
<p>
Or Copy Code:
</p>
<p>
Playlist Layout: <span class="copycode">[embedyt] <?php echo $rel; ?>[/embedyt]</span>
</p>
<p>
Gallery Layout: <span class="copycode">[embedyt] <?php echo $rel . '&layout=gallery'; ?>[/embedyt]</span>
</p>
<div class="clearboth" style="height: 10px;">
</div>
<div class="ep-wizard-preview-video-wrapper">
<iframe src="<?php echo $rel; ?>" allowfullscreen="" frameborder="0"></iframe>
</div>
</div>
<?php
}
else
{
$form_valid = false;
$step1_channel_errors = $step1_channel_error_invalid;
$acc_expand = 'h3_channel';
}
}
catch (Exception $ex)
{
$form_valid = false;
$step1_channel_errors = $step1_channel_error_invalid;
$acc_expand = 'h3_channel';
}
}
}
catch (Exception $ex)
{
$form_valid = false;
$step1_channel_errors = $step1_channel_error_invalid;
$acc_expand = 'h3_channel';
}
}
else if ($submit_type === 'step1_livechannel')
{
$search = sanitize_text_field(trim($_POST['txtUrlLiveChannel']));
try
{
if (empty($search))
{
throw new Exception();
}
if (preg_match(self::$justurlregex, $search) || preg_match('@/channel/(.+)@', $search))
{
try
{
$thechannelid = null;
if (preg_match(self::$justurlregex, $search))
{
// single id
$theytid = null;
try
{
$theytid = self::try_get_ytid($search);
}
catch (Exception $ex)
{
}
$chanvid = null;
if ($theytid)
{
$chanvid = self::get_video_snippet($theytid);
}
if ($chanvid)
{
$thechannelid = $chanvid->snippet->channelId;
}
}
else
{
// channel id
$chanmatch = array();
preg_match('@/channel/(.+)@', $search, $chanmatch);
if (!empty($chanmatch))
{
$thechannelid = $chanmatch[1];
}
}
if (!empty($thechannelid))
{
$rel = 'https://www.youtube.com/embed/live_stream?channel=' . (esc_attr($thechannelid));
$final_title = esc_url('https://www.youtube.com/channel/' . $thechannelid);
$final_title_prefix = 'Live stream from channel';
$doing_live = true;
?>
<div id="step2_livechannel" class="center">
<h2>
<?php
echo 'Live stream from channel: ' . esc_url('https://www.youtube.com/channel/' . $thechannelid);
?>
</h2>
<p class="center">
<a class="ui-button ui-widget ui-corner-all inserttopost" rel="[embedyt] https://www.youtube.com/embed/live_stream?channel=<?php echo esc_attr($thechannelid) ?>[/embedyt]"><span class="ui-icon ui-icon-arrowthickstop-1-s"></span> Insert Into Editor</a>
<a class="ui-button ui-widget ui-corner-all" href="<?php echo $get_pro_link; ?>" target="_blank"><span class="ui-icon ui-icon-gear"></span> Customize (PRO)</a>
</p>
Or Copy Code:
<span class="copycode">[embedyt] https://www.youtube.com/embed/live_stream?channel=<?php echo esc_attr($thechannelid) ?>[/embedyt]</span>
<div class="clearboth" style="height: 10px;">
</div>
<p>
<?php _e('If you see a black/empty YouTube player, then it likely means that you do not have any currently running or future live streams that are scheduled in your channel, so the plugin isn\'t getting any data from the YouTube API to show. If you want to continue to use the channel based live stream embedding method, we suggest regularly scheduling one or more live streams, or using the live stream fallback content feature, so the player is not black/empty.', 'text_domain'); ?>
</p>
<div class="ep-wizard-preview-video-wrapper">
<iframe src="https://www.youtube.com/embed/live_stream?channel=<?php echo esc_attr($thechannelid) ?>" allowfullscreen="" frameborder="0"></iframe>
</div>
</div>
<?php
}
else
{
$form_valid = false;
$step1_livechannel_errors = $step1_livechannel_error_invalid;
$acc_expand = 'h3_live';
}
}
catch (Exception $ex)
{
$form_valid = false;
$step1_livechannel_errors = $step1_livechannel_error_invalid;
$acc_expand = 'h3_live';
}
}
else
{
$form_valid = false;
$step1_livechannel_errors = $step1_livechannel_error_invalid;
$acc_expand = 'h3_live';
}
}
catch (Exception $ex)
{
$form_valid = false;
$step1_livechannel_errors = $step1_livechannel_error_invalid;
$acc_expand = 'h3_live';
}
}
else if ($submit_type === 'step1_live')
{
$search = sanitize_text_field(trim($_POST['txtUrlLive']));
try
{
if (empty($search))
{
throw new Exception();
}
try
{
$theytid = null;
try
{
$theytid = self::try_get_ytid($search);
}
catch (Exception $ex)
{
}
$live_attempt = self::get_video_snippet($theytid);
if ($live_attempt)
{
$if_live_preview = $live_attempt->id;
$final_title = sanitize_text_field($live_attempt->snippet->title);
$final_title_prefix = 'Live Stream';
}
$rel = 'https://www.youtube.com/watch?v=' . (esc_attr($theytid)) . '&live=1';
$doing_live = true;
?>
<div id="step2_live" class="center">
<h2>
<?php
echo 'Live Stream (or Premiere): ' . sanitize_text_field($live_attempt->snippet->title);
?>
</h2>
<p class="center">
<a class="ui-button ui-widget ui-corner-all inserttopost" rel="[embedyt] <?php echo $rel; ?>[/embedyt]"><span class="ui-icon ui-icon-arrowthickstop-1-s"></span> Insert Into Editor</a>
<a class="ui-button ui-widget ui-corner-all" href="<?php echo $get_pro_link; ?>" target="_blank"><span class="ui-icon ui-icon-gear"></span> Customize (PRO)</a>
</p>
<p>
Or Copy Code:
</p>
<p>
<span class="copycode">[embedyt] <?php echo $rel; ?>[/embedyt]</span>
</p>
<div class="clearboth" style="height: 10px;">
</div>
<?php
if ($if_live_preview)
{
?>
<div class="ep-wizard-preview-video-wrapper">
<iframe src="https://www.youtube.com/embed/<?php echo esc_attr($if_live_preview) ?>?rel=0" allowfullscreen="" frameborder="0"></iframe>
</div>
<?php
}
?>
<p>
<?php _e('<strong>Is your live stream not working?</strong> Read more here: <a href="https://support.google.com/youtube/answer/2474026?hl=en" target="_blank">https://support.google.com/youtube/answer/2474026?hl=en</a>', 'text_domain'); ?>
</p>
</div>
<?php
}
catch (Exception $ex)
{
$form_valid = false;
$step1_live_errors = $step1_live_error_invalid;
$acc_expand = 'h3_live';
}
}
catch (Exception $ex)
{
$form_valid = false;
$step1_live_errors = $step1_live_error_invalid;
$acc_expand = 'h3_live';
}
}
else
{
$form_valid = false;
$acc_expand = 'h3none';
}
}
if (!isset($_POST['wizform_submit']) || ($form_valid === false))
{
if ($form_valid === false)
{
?>
<script type="text/javascript">
var _EPYTWIZ_ = _EPYTWIZ_ || {};
_EPYTWIZ_.acc_expand = '<?php echo sanitize_key($acc_expand) ?>';</script>
<?php
}
?>
<div class="wiz-accordion">
<h3 class="header-go"> <a href="<?php echo admin_url('admin.php?page=youtube-my-preferences#jumpdefaults'); ?>">Check my general YouTube embedding instructions and settings. </a></h3>
<div class="header-go-content"></div>
<h3 id="h3_video"> <a href="#"><?php _e('Embed a single video, or YouTube short.', 'text_domain'); ?></a></h3>
<div>
<h4 class="center">Single video directions</h4>
<p>
<?php _e('Paste the url of a single video below (examples: <em>https://www.youtube.com/watch?v=YVvn8dpSAt0</em> or <em>https://www.youtube.com/shorts/J38Yq85ZoyY</em>)', 'text_domain'); ?>
</p>
<form name="wizform_video" method="post" action="" class="wizform" id="wizform_video">
<?php wp_nonce_field('_epyt_wiz', '_epyt_nonce', true); ?>
<div class="center txt-button-align">
<input name="txtUrl" maxlength="200" id="txtUrl" class="txturlpastecustom ui-widget ui-widget-content ui-corner-all" placeholder="Paste URL here" type="text"> <button name="wizform_submit" class="ui-button ui-widget ui-corner-all" type="submit" value="step1_video">Submit</button>
</div>
<p class="badpaste orange bold" style="display: none;">
Please do not paste full embedcode above, only simple links to the YouTube video.
<br />
We have attempted to correct it above, but please doublecheck!
</p>
</form>
<?php echo $step1_video_errors ? '<p class="orange bold">' . $step1_video_errors . '</p>' : ''; ?>
<p><em>Note: You can also search YouTube videos by title in the text box above (example: <em>TED talks</em>). However, searching will use a significant amount of your YouTube API quota.</em></p>
</div>
<h3 id="h3_playlist"> <a href="#">Embed a playlist. </a></h3>
<div>
<h4 class="center">Playlist directions</h4>
<div class="playlist-tabs">
<ul>
<li><a href="#ptabs-1">Self-contained layout directions</a></li>
<li><a href="#ptabs-2">Gallery layout directions</a></li>
</ul>
<div id="ptabs-1">
<img src="<?php echo plugins_url('/images/icon-playlist-self.jpg', __FILE__) ?>" class="icon-playlist" />
<ol>
<li>Go to the page for the playlist that lists all of its videos (<a href="https://www.youtube.com/playlist?list=PL70DEC2B0568B5469" target="_blank">Example »</a>). </li>
<li>You may then click on the video that you want the playlist to start with (this step only applies to self-contained playlists. You cannot pick a starter for gallery layout directions).</li>
<li>Copy the URL in your browser and paste it in the textbox below. You'll notice that a playlist URL contains the playlist ID (e.g. "PL...")</li>
<li>Click "Get Playlist" to continue.</li>
</ol>
<div class="clearboth">
</div>
</div>
<div id="ptabs-2">
<img src="<?php echo plugins_url('/images/icon-playlist-gallery.jpg', __FILE__) ?>" class="icon-playlist" />
<ol>
<li>Go to the page for the playlist that lists all of its videos (<a href="https://www.youtube.com/playlist?list=PL70DEC2B0568B5469" target="_blank">Example »</a>). </li>
<li>Copy the URL in your browser and paste it in the textbox below. You'll notice that a playlist URL contains the playlist ID (e.g. "PL...")</li>
<li>Click "Get Playlist" to continue.</li>
</ol>
<div class="clearboth">
</div>
</div>
</div>
<form name="wizform_playlist" method="post" action="" class="wizform" id="wizform_playlist">
<?php wp_nonce_field('_epyt_wiz', '_epyt_nonce', true); ?>
<div class="center txt-button-align">
<input name="txtUrlPlaylist" maxlength="200" id="txtUrlPlaylist" class="txturlpastecustom ui-widget ui-widget-content ui-corner-all" placeholder="Paste the playlist link here" type="text">
<button name="wizform_submit" class="ui-button ui-widget ui-corner-all" type="submit" value="step1_playlist">Get Playlist</button>
</div>
</form>
<?php echo $step1_playlist_errors ? '<p class="orange bold">' . $step1_playlist_errors . '</p>' : ''; ?>
</div>
<h3 id="h3_channel"> <a href="#">Embed a channel. </a></h3>
<div>
<h4 class="center">Channel directions</h4>
<?php
if (!self::has_api_key())
{
echo str_replace('###', '"search for channel"', self::$get_api_key_msg);
}
else
{
?>
<p>
<?php _e('If you already know the direct link to the channel ID, enter it below. <br>Example: https://www.youtube.com<strong>/channel/</strong>UCnM5iMGiKsZg-iOlIO2ZkdQ <p class="error-channel-format smallnote">Note: the following format will not work: https://www.youtube.com<strong>/c/</strong>customchannelname If you cannot locate the proper channel ID format above, then try the other method below.</p> ', 'text_domain'); ?>
</p>
<p>
Or, simply enter a link to any single video that belongs to the user's channel, and the plugin will find the channel for you.<br>Example: https://www.youtube.com/watch?v=YVvn8dpSAt0
</p>
<form name="wizform_channel" method="post" action="" class="wizform" id="wizform_channel">
<?php wp_nonce_field('_epyt_wiz', '_epyt_nonce', true); ?>
<div class="center txt-button-align">
<input name="txtUrlChannel" maxlength="200" id="txtUrlChannel" class="txturlpastecustom ui-widget ui-widget-content ui-corner-all" placeholder="Paste YouTube link here" type="text"> <button name="wizform_submit" class="ui-button ui-widget ui-corner-all" type="submit" value="step1_channel">Get Channel</button>
</div>
<p class="badpaste orange bold" style="display: none;">
Please do not paste full embedcode above, only simple links to the YouTube video.
<br />
We have attempted to correct it above, but please doublecheck!
</p>
</form>
<?php echo $step1_channel_errors ? '<p class="orange bold">' . $step1_channel_errors . '</p>' : ''; ?>
<?php
}
?>
</div>
<h3 id="h3_live"> <a href="#">Embed a live stream or premiere video. </a></h3>
<div>
<h4 class="center">Live stream or premiere directions</h4>
<?php
if (!self::has_api_key())
{
echo str_replace('###', 'live stream', self::$get_api_key_msg);
}
else
{
?>
<div class="livestream-tabs">
<ul>
<li><a href="#livestream-tabs-2">Channel-based livestream (upgrade required)</a></li>
<li><a href="#livestream-tabs-1">Direct link to livestream or premiere video</a></li>
</ul>
<div id="livestream-tabs-1">
<p>
This will embed a specific live stream or premiere video.
</p>
<ol>
<li>
Paste in the direct URL of the live stream or premiere below and click Submit. <br> Example: https://www.youtube.com/watch?v=<strong>5qap5aO4i9A</strong>
</li>
<li>
On the next screen, customize or insert your video.
</li>
</ol>
<form name="wizform_live" method="post" action="" class="wizform" id="wizform_live">
<?php wp_nonce_field('_epyt_wiz', '_epyt_nonce', true); ?>
<div class="center txt-button-align">
<input name="txtUrlLive" maxlength="200" id="txtUrlLive" class="ui-widget ui-widget-content ui-corner-all" placeholder="Paste YouTube link here" type="text"> <button name="wizform_submit" class="ui-button ui-widget ui-corner-all" type="submit" value="step1_live">Submit</button>
</div>
</form>
<?php echo $step1_live_errors ? '<p class="orange bold">' . $step1_live_errors . '</p>' : ''; ?>
</div>
<div id="livestream-tabs-2">
<div class="alert">
<p>
Unfortunately, Google has recently removed their YouTube API feature that used to support automatic channel-based live streams. It appears they won't change things back. However, you do have a couple of choices:
</p>
<ol>
<li>Use "Direct link" live streams, as explained in the other tab. The trade-off is that you will have to manually post and take down your future live streams every time they start and when they end, respectively.</li>
<li>Or <a href="<?php echo self::$epbase ?>/dashboard/pro-easy-video-analytics.aspx" target="_blank">upgrade to Pro</a>, which has a solution that brings back all the "set it and forget it" features of channel-based embeds. We spent a significant amount of time developing a stable, long-term solution around YouTube's limitations, so we are releasing this effort exclusively to our Pro customers.</li>
</ol>
</div>
<?php echo $step1_livechannel_errors ? '<p class="orange bold">' . $step1_livechannel_errors . '</p>' : ''; ?>
</div>
</div>
<?php
}
?>
</div>
<?php
if (false && current_user_can('manage_options') && !self::vi_logged_in() && !(bool) (self::$alloptions[self::$opt_vi_hide_monetize_tab]))
{
?>
<h3 id="h3_vi_monetize"> <a href="#"> Earn money embedding videos. </a></h3>
<div class="h3_vi_monetize-content">
<div class="vi-registration-box">
<?php
include_once(EPYTVI_INCLUDES_PATH . 'vi_registration_form.php');
include_once(EPYTVI_INCLUDES_PATH . 'vi_login_success.php');
?>
</div>
</div>
<?php
}
?>
<h3 class="header-go"> <a href="<?php echo self::$epbase . '/dashboard/pro-easy-video-analytics.aspx?ref=wizardacc'; ?>">Check my performance, blocked countries, deleted videos, etc. (PRO) </a></h3>
<div class="header-go-content"></div>
</div>
<?php
}
?>
</div>
<?php
}
public static function has_api_key()
{
if (isset(self::$alloptions[self::$opt_apikey]) && strlen(trim(self::$alloptions[self::$opt_apikey])) > 0)
{
return true;
}
return false;
}
public static function get_live_snippet($channel)
{
$apiEndpoint = 'https://www.googleapis.com/youtube/v3/search?order=date&part=snippet&maxResults=1&type=video&eventType=live&safeSearch=none&videoEmbeddable=true&key=' . self::$alloptions[self::$opt_apikey]
. '&channelId=' . urlencode($channel);
$apiResult = wp_remote_get($apiEndpoint, array('timeout' => self::$curltimeout, 'headers' => array('referer' => site_url())));
if (is_wp_error($apiResult))
{
return false;
}
$jsonResult = json_decode($apiResult['body']);
if (isset($jsonResult->error))
{
return false;
}
if (isset($jsonResult->items) && $jsonResult->items != null && is_array($jsonResult->items) && count($jsonResult->items))
{
return $jsonResult->items[0];
}
return false;
}
public static function get_video_snippet($vid)
{
$apiEndpoint = 'https://www.googleapis.com/youtube/v3/videos?part=snippet&maxResults=1&key=' . self::$alloptions[self::$opt_apikey]
. '&id=' . urlencode($vid);
$apiResult = wp_remote_get($apiEndpoint, array('timeout' => self::$curltimeout, 'headers' => array('referer' => site_url())));
if (is_wp_error($apiResult))
{
return false;
}
$jsonResult = json_decode($apiResult['body']);
if (isset($jsonResult->error))
{
return false;
}
if (isset($jsonResult->items) && $jsonResult->items != null && is_array($jsonResult->items) && count($jsonResult->items))
{
return $jsonResult->items[0];
}
return false;
}
public static function get_channel_snippet($channid)
{
$apiEndpoint = 'https://www.googleapis.com/youtube/v3/channels?part=contentDetails,snippet&key=' . self::$alloptions[self::$opt_apikey]
. '&id=' . urlencode($channid);
$apiResult = wp_remote_get($apiEndpoint, array('timeout' => self::$curltimeout, 'headers' => array('referer' => site_url())));
if (is_wp_error($apiResult))
{
return false;
}
$jsonResult = json_decode($apiResult['body']);
if (isset($jsonResult->error))
{
return false;
}
if (isset($jsonResult->items) && $jsonResult->items != null && is_array($jsonResult->items) && count($jsonResult->items))
{
return $jsonResult->items[0];
}
return false;
}
public static function clean_api_error($raw_message)
{
return htmlspecialchars(strip_tags(preg_replace('@&key=[^& ]+@i', '&key=*******', $raw_message)), ENT_QUOTES, 'UTF-8');
}
public static function clean_api_error_html($raw_message, $add_boilerplate)
{
$clean_html = '<div>Sorry, there was a YouTube error.</div>';
if (current_user_can('manage_options'))
{
$clean_html = '<div>Sorry, there was a YouTube API error: <em>' . self::clean_api_error($raw_message) . '</em>' .
( $add_boilerplate ? self::$boilerplate_api_error_message : '' ) .
'</div>';
}
return $clean_html;
}
public static function get_search_page($options)
{
$gallobj = new stdClass();
$pageSize = 30;
if (!self::has_api_key())
{
$gallobj->html = '<div>' . str_replace('###', 'search', self::$get_api_key_msg) . '</div>';
return $gallobj;
}
$apiEndpoint = 'https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=' . $pageSize . '&type=video&safeSearch=none&videoEmbeddable=true&key=' . self::$alloptions[self::$opt_apikey]
. '&q=' . urlencode($options->q);
if (!empty($options->pageToken))
{
$apiEndpoint .= '&pageToken=' . $options->pageToken;
}
$code = '';
$apiResult = wp_remote_get($apiEndpoint, array('timeout' => self::$curltimeout, 'headers' => array('referer' => site_url())));
if (is_wp_error($apiResult))
{
$gallobj->html = self::clean_api_error_html($apiResult->get_error_message(), true);
return $gallobj;
}
$jsonResult = json_decode($apiResult['body']);
if (isset($jsonResult->error))
{
if (isset($jsonResult->error->message))
{
$gallobj->html = self::clean_api_error_html($jsonResult->error->message, true);
return $gallobj;
}
$gallobj->html = '<div>Sorry, there may be an issue with your YouTube API key. ' . self::$boilerplate_api_error_message . '</div>';
return $gallobj;
}
$totalResults = $jsonResult->pageInfo->totalResults;
$nextPageToken = '';
$prevPageToken = '';
if (isset($jsonResult->nextPageToken))
{
$nextPageToken = $jsonResult->nextPageToken;
}
if (isset($jsonResult->prevPageToken))
{
$prevPageToken = $jsonResult->prevPageToken;
}
$cnt = 0;
$code .= '<div class="epyt-search-results">';
if (isset($jsonResult->items) && $jsonResult->items != null && is_array($jsonResult->items))
{
foreach ($jsonResult->items as $item)
{
$thumb = new stdClass();
$thumb->id = isset($item->snippet->resourceId->videoId) ? $item->snippet->resourceId->videoId : null;
$thumb->id = $thumb->id ? $thumb->id : (isset($item->id->videoId) ? $item->id->videoId : null);
if ($thumb->id)
{
$thumb->title = $item->snippet->title;
if (isset($item->snippet->thumbnails->high->url))
{
$thumb->img = $item->snippet->thumbnails->high->url;
$thumb->quality = 'high';
}
elseif (isset($item->snippet->thumbnails->default->url))
{
$thumb->img = $item->snippet->thumbnails->default->url;
$thumb->quality = 'default';
}
elseif (isset($item->snippet->thumbnails->medium->url))
{
$thumb->img = $item->snippet->thumbnails->medium->url;
$thumb->quality = 'medium';
}
else
{
$thumb->img = plugins_url('/images/deleted-video-thumb.png', __FILE__);
$thumb->quality = 'medium';
}
$code .= self::get_search_result_html($thumb, $options);
$cnt++;
$code .= '<div class="clear-both"></div>';
}
}
}
$code .= '<div class="clear-both"></div></div>';
$totalPages = ceil($totalResults / $pageSize);
$pagination = '<div class="epyt-pagination">';
$txtprev = self::$alloptions[self::$opt_gallery_customarrows] ? self::$alloptions[self::$opt_gallery_customprev] : _('Prev');
$pagination .= '<div tabindex="0" role="button" class="epyt-pagebutton epyt-prev ' . (empty($prevPageToken) ? ' hide ' : '') . '" data-q="' . esc_attr($options->q)
. '" data-pagetoken="' . esc_attr($prevPageToken)
. '"><div class="epyt-arrow">«</div> <div>' . $txtprev . '</div></div>';
$pagination .= '<div class="epyt-pagenumbers ' . ($totalPages > 1 ? '' : 'hide') . '">';
$pagination .= '<div class="epyt-current">1</div><div class="epyt-pageseparator"> / </div><div class="epyt-totalpages">' . $totalPages . '</div>';
$pagination .= '</div>';
$txtnext = self::$alloptions[self::$opt_gallery_customarrows] ? self::$alloptions[self::$opt_gallery_customnext] : _('Next');
$pagination .= '<div tabindex="0" role="button" class="epyt-pagebutton epyt-next' . (empty($nextPageToken) ? ' hide ' : '') . '" data-q="' . esc_attr($options->q)
. '" data-pagetoken="' . esc_attr($nextPageToken)
. '"><div>' . $txtnext . '</div> <div class="epyt-arrow">»</div></div>';
$pagination .= '<div class="epyt-loader"><img alt="loading" width="16" height="11" src="' . plugins_url('images/gallery-page-loader.gif', __FILE__) . '"></div>';
$pagination .= '</div>';
$code = $pagination . $code . $pagination;
$gallobj->html = $code;
return $gallobj;
}
public static function get_search_result_html($thumb, $options)
{
$get_pro_link = self::$epbase . '/dashboard/pro-easy-video-analytics.aspx?ref=searchresult';
$escId = esc_attr($thumb->id);
$code = '';
$code .= '<div class="resultdiv" data-vid="' . $escId . '">
<div class="resultinfo">
<a class="pointer thumb load-movie" style="background-image: url(' . esc_url($thumb->img) . ')"></a>
<a class="resulttitle pointer load-movie"><span class="ui-icon ui-icon-circle-triangle-e"></span> ' . sanitize_text_field($thumb->title) . '</a>
<br>
<span style="display: block;" id="scrollwatch' . $escId . '"></span>
<div class="resultsubinfo">
<p>
<a class="ui-button ui-widget ui-corner-all" href="' . $get_pro_link . '" target="_blank"><span class="ui-icon ui-icon-gear"></span> Customize (PRO)</a>
<a class="ui-button ui-widget ui-corner-all inserttopost" rel="[embedyt] https://www.youtube.com/watch?v=' . $escId . '[/embedyt]"><span class="ui-icon ui-icon-arrowthickstop-1-s"></span> Insert Into Editor</a>
</p>
Or Copy Code:
<span class="copycode">[embedyt] https://www.youtube.com/watch?v=' . $escId . '[/embedyt]</span>
</div>
</div>
<div class="clearboth"></div>
</div>
<div id="moviecontainer' . $escId . '" class="center moviecontainer relative" style="display: none;">
Preview: <a id="closeme' . $escId . '" class="closeme" data-vid="' . $escId . '">
×
</a>
<div id="watch' . $escId . '">
</div>
</div>';
return $code;
}
public static function user_in_roles_any($user, $roles)
{
foreach ($user->roles as $idx => $r)
{
if (in_array($r, $roles))
{
return true;
}
}
return false;
}
public static function is_restrict_wizard()
{
$curr_user = wp_get_current_user();
if (
$curr_user->ID // logged in
&& isset(self::$alloptions[self::$opt_restrict_wizard]) && self::$alloptions[self::$opt_restrict_wizard] == 1 // restricting
&& is_array(self::$alloptions[self::$opt_restrict_wizard_roles]) && !self::user_in_roles_any($curr_user, self::$alloptions[self::$opt_restrict_wizard_roles])
)
{
return true;
}
return false;
}
public static function media_button_wizard()
{
if (self::is_restrict_wizard())
{
return;
}
add_thickbox();
$wizhref = admin_url('admin.php?page=youtube-ep-wizard') .
'&random=' . rand(1, 1000) .
'&TB_iframe=true&width=950&height=800';
?>
<a href="<?php echo esc_attr($wizhref); ?>" class="thickbox button ytprefs_media_link" id="ytprefs_wiz_button" title="Visual YouTube Search Tool and Wizard - For easier embedding"><span></span> YouTube</a>
<?php
if (current_user_can('manage_options') && self::vi_logged_in())
{
?>
<a class="button ytprefs_vi_embed_shortcode" id="ytprefs_wiz_button_vi" title="Embed vi video ad"><span></span> Video Ad</a>
<?php
}
}
public static function check_double_plugin_warning()
{
if (is_plugin_active('embedplus-for-wordpress/embedplus.php'))
{
add_action('admin_notices', array(self::class, "double_plugin_warning"));
}
}
public static function double_plugin_warning()
{
global $pagenow;
$user_id = get_current_user_id();
if ($pagenow != 'plugins.php' || get_user_meta($user_id, 'embedplus_double_plugin_warning', true) != 1)
{
//echo '<div class="error">' . $_SERVER['QUERY_STRING'] .'</div>';
if ($pagenow == 'plugins.php' || strpos($_SERVER['QUERY_STRING'], 'youtube-my-preferences') !== false ||
strpos($_SERVER['QUERY_STRING'], 'embedplus-video-analytics-dashboard') !== false ||
strpos($_SERVER['QUERY_STRING'], 'youtube-ep-analytics-dashboard') !== false ||
strpos($_SERVER['QUERY_STRING'], 'embedplus-official-options') !== false)
{
?>
<style type="text/css">
.embedpluswarning img
{
vertical-align: text-bottom;
}
div.bgyellow {background-color: #FCFC94; position: relative;}
a.epxout, a.epxout:hover {font-weight: bold; color: #ffffff; background-color: #ff8888; text-decoration: none;
border-radius: 20px; font-size: 15px; position: absolute; top: 3px; right: 3px;
line-height: 20px; text-align: center; width: 20px; height: 20px; display: block; cursor: pointer;}
</style>
<div class="error bgyellow embedpluswarningbox">
<p class="embedpluswarning">
<?php
if ($pagenow == 'plugins.php')
{
echo '<a class="epxout">×</a>';
}
?>
Seems like you have two different YouTube plugins by the EmbedPlus Team installed: <b>YouTube</b> and <b>Advanced YouTube Embed.</b> We strongly suggest keeping only the one you prefer, so that they don't conflict with each other while trying to create your embeds.
</p>
</div>
<script type="text/javascript">
(function ($)
{
$(document).ready(function ()
{
$('.epxout').on('click', function ()
{
$.ajax({
type: "post",
dataType: "json",
timeout: 30000,
url: window._EPYTA_ ? window._EPYTA_.wpajaxurl : ajaxurl,
data: {action: 'my_embedplus_dismiss_double_plugin_warning'},
success: function (response)
{
if (response.type === "success")
{
$(".embedpluswarningbox").hide();
}
},
error: function (xhr, ajaxOptions, thrownError)
{
},
complete: function ()
{
}
});
});
});
})(jQuery);</script>
<?php
}
}
}
public static function my_embedplus_dismiss_double_plugin_warning()
{
$result = array();
if (self::is_ajax())
{
$user_id = get_current_user_id();
update_user_meta($user_id, 'embedplus_double_plugin_warning', 1);
$result['type'] = 'success';
echo json_encode($result);
}
else
{
$result['type'] = 'error';
header("Location: " . $_SERVER["HTTP_REFERER"]);
}
die();
}
public static function jsvars()
{
$loggedin = current_user_can('edit_posts');
if (!($loggedin && self::$alloptions[self::$opt_admin_off_scripts]))
{
?>
<script data-cfasync="false">
window._EPYT_ = window._EPYT_ || {
ajaxurl: "<?php echo admin_url('admin-ajax.php'); ?>",
security: "<?php echo wp_create_nonce('embedplus-nonce'); ?>",
gallery_scrolloffset: <?php echo intval(self::$alloptions[self::$opt_gallery_scrolloffset]) ?>,
eppathtoscripts: "<?php echo plugins_url('scripts/', __FILE__); ?>",
eppath: "<?php echo plugins_url('/', __FILE__); ?>",
epresponsiveselector: <?php echo self::get_responsiveselector(); ?>,
version: "<?php echo esc_attr(self::$alloptions[self::$opt_version]) ?>",
epdovol: true,
evselector: '<?php echo self::get_evselector(); ?>',
ajax_compat: <?php echo self::$alloptions[self::$opt_ajax_compat] == '1' ? 'true' : 'false' ?>,
maxres_facade: '<?php echo esc_attr(self::$alloptions[self::$opt_maxres_facade]) ?>',
ytapi_load: '<?php echo esc_attr(self::$alloptions[self::$opt_ytapi_load]) ?>',
pause_others: <?php echo self::$alloptions[self::$opt_pause_others] == '1' ? 'true' : 'false' ?>,
facade_mode: <?php echo self::$alloptions[self::$opt_facade_mode] == '1' ? 'true' : 'false' ?>,
not_live_on_channel: <?php echo self::$alloptions[self::$opt_not_live_on_channel] == '1' ? 'true' : 'false' ?>,
stopMobileBuffer: <?php echo self::$alloptions[self::$opt_stop_mobile_buffer] == '1' ? 'true' : 'false' ?>
};</script>
<?php
}
}
public static function fitvids()
{
$loggedin = current_user_can('edit_posts');
if (!($loggedin && self::$alloptions[self::$opt_admin_off_scripts]) && (self::$alloptions[self::$opt_responsive] || self::$alloptions[self::$opt_widgetfit]))
{
wp_enqueue_script('__ytprefsfitvids__', plugins_url('scripts/fitvids' . self::$min . '.js', __FILE__), array('__ytprefs__'), self::$version, true);
}
}
public static function initoptions()
{
global $wpdb;
$arroptions = get_option(self::$opt_alloptions);
if ($arroptions !== false)
{
$bak = str_replace('.', '_', $arroptions[self::$opt_version]);
add_option(self::$opt_alloptions . '_backup_' . $bak, $arroptions, '', 'no');
$sql = "update " . $wpdb->options . " set autoload = 'no' where option_name like '" . self::$opt_alloptions . "\_backup\_%'";
$wpdb->query($sql);
}
// backup settings for migration
if (isset($arroptions[self::$opt_pro]) && strlen(trim($arroptions[self::$opt_pro])) > 10)
{
add_option(self::$opt_alloptions . '_migrate', $arroptions);
}
//vanilla defaults
$_center = 0;
$_glance = 0;
$_autoplay = 0;
$_cc_load_policy = 0;
$_cc_lang_pref = '';
$_iv_load_policy = 1;
$_loop = 0;
$_modestbranding = 0;
$_rel = 1;
$_fs = 1;
$_theme = 'dark';
$_color = 'red';
$_autohide = 2;
$_pro = '';
$_nocookie = 0;
$_gb_compat = 1;
$_facade_mode = 0;
$_facade_autoplay = 1;
$_gdpr_consent = 0;
$_gdpr_consent_message = self::$dft_gdpr_consent_message;
$_gdpr_consent_button = 'Accept YouTube Content';
$_playlistorder = 0;
$_acctitle = 0;
$_migrate = 0;
$_migrate_youtube = 0;
$_migrate_embedplusvideo = 0;
$_controls = 1;
$_oldspacing = 1;
$_frontend_only = 1;
$_responsive = 0;
$_responsive_all = 1;
$_widgetfit = 1;
$_evselector_light = 0;
$_stop_mobile_buffer = 1;
$_restrict_wizard = 0;
$_restrict_wizard_roles = self::$dft_roles;
$_ajax_compat = 0;
$_maxres_facade = 'eager';
$_ytapi_load = 'light';
$_defaultdims = 1;
$_defaultwidth = isset($GLOBALS['content_width']) && is_numeric($GLOBALS['content_width']) ? intval($GLOBALS['content_width']) : 800;
$_defaultheight = intval($_defaultwidth * 9.0 / 16.0);
$_playsinline = 0;
$_origin = 0;
$_pause_others = 0;
$_defaultvol = 0;
$_vol = '';
$_apikey = '';
$_hl = '';
$_dohl = 0;
$_gallery_columns = 3;
$_gallery_collapse_grid = 0;
$_gallery_collapse_grid_breaks = self::$dft_bpts;
$_gallery_scrolloffset = 20;
$_gallery_hideprivate = 1;
$_gallery_showtitle = 1;
$_gallery_showpaging = 1;
$_gallery_autonext = 0;
$_gallery_thumbplay = 1;
$_gallery_channelsub = 0;
$_gallery_channelsublink = '';
$_gallery_channelsubtext = 'Subscribe to my channel';
$_gallery_customarrows = 0;
$_gallery_customprev = 'Prev';
$_gallery_customnext = 'Next';
$_gallery_pagesize = 15;
$_not_live_content = '';
$_not_live_on = 0;
$_not_live_on_channel = 0;
$_debugmode = 0;
$_uninstall_data = 0;
$_admin_off_scripts = 0;
$_defer_js = 0;
$_defer_jquery = 0;
$_ajax_save = 1;
$_show_pointer = 1;
$_onboarded = 0;
$_old_script_method = 0;
$_vi_active = 0;
$_vi_hide_monetize_tab = 0;
$_vi_endpoints = '';
$_vi_token = '';
$_vi_last_login = self::$vi_default_date;
$_vi_last_category_update = self::$vi_default_date;
$_vi_adstxt = '';
$_vi_js_settings = self::$vi_dft_js_settings;
$_vi_js_script = '';
$_vi_js_posttypes = array();
$_vi_js_position = 'top';
$_vi_show_gdpr_authorization = 1;
$_vi_show_privacy_button = 0;
//update vanilla to previous settings if exists
if ($arroptions !== false)
{
$_center = self::tryget($arroptions, self::$opt_center, 0);
$_glance = self::tryget($arroptions, self::$opt_glance, $_glance);
$_autoplay = self::tryget($arroptions, self::$opt_autoplay, 0);
$_debugmode = self::tryget($arroptions, self::$opt_debugmode, 0);
$_uninstall_data = self::tryget($arroptions, self::$opt_uninstall_data, 0);
$_old_script_method = self::tryget($arroptions, self::$opt_old_script_method, 0);
$_cc_load_policy = self::tryget($arroptions, self::$opt_cc_load_policy, 0);
$_cc_lang_pref = self::tryget($arroptions, self::$opt_cc_lang_pref, $_cc_lang_pref);
$_iv_load_policy = self::tryget($arroptions, self::$opt_iv_load_policy, 1);
$_loop = self::tryget($arroptions, self::$opt_loop, 0);
$_modestbranding = self::tryget($arroptions, self::$opt_modestbranding, 0);
$_rel = self::tryget($arroptions, self::$opt_rel, 1);
$_fs = self::tryget($arroptions, self::$opt_fs, 1);
$_playsinline = self::tryget($arroptions, self::$opt_playsinline, 0);
$_origin = self::tryget($arroptions, self::$opt_origin, 1);
$_hl = self::tryget($arroptions, self::$opt_hl, '');
$_dohl = self::tryget($arroptions, self::$opt_dohl, 0);
$_theme = self::tryget($arroptions, self::$opt_theme, 'dark');
$_color = self::tryget($arroptions, self::$opt_color, 'red');
$_autohide = self::tryget($arroptions, self::$opt_autohide, 2);
$_pro = self::tryget($arroptions, self::$opt_pro, '');
$_nocookie = self::tryget($arroptions, self::$opt_nocookie, 0);
$_gb_compat = self::tryget($arroptions, self::$opt_gb_compat, $_gb_compat);
$_facade_mode = self::tryget($arroptions, self::$opt_facade_mode, $_facade_mode);
$_facade_autoplay = self::tryget($arroptions, self::$opt_facade_autoplay, $_facade_autoplay);
$_gdpr_consent = self::tryget($arroptions, self::$opt_gdpr_consent, $_gdpr_consent);
$_gdpr_consent_message = self::tryget($arroptions, self::$opt_gdpr_consent_message, $_gdpr_consent_message);
$_gdpr_consent_button = self::tryget($arroptions, self::$opt_gdpr_consent_button, $_gdpr_consent_button);
$_playlistorder = self::tryget($arroptions, self::$opt_playlistorder, 0);
$_acctitle = self::tryget($arroptions, self::$opt_acctitle, 0);
$_migrate = self::tryget($arroptions, self::$opt_migrate, 0);
$_migrate_youtube = self::tryget($arroptions, self::$opt_migrate_youtube, 0);
$_migrate_embedplusvideo = self::tryget($arroptions, self::$opt_migrate_embedplusvideo, 0);
$_controls = self::tryget($arroptions, self::$opt_controls, 1);
$_controls = $_controls == 2 ? 1 : $_controls;
$_oldspacing = self::tryget($arroptions, self::$opt_oldspacing, 1);
$_frontend_only = self::tryget($arroptions, self::$opt_frontend_only, $_frontend_only);
$_responsive = self::tryget($arroptions, self::$opt_responsive, $_responsive);
$_responsive_all = self::tryget($arroptions, self::$opt_responsive_all, $_responsive_all);
$_widgetfit = self::tryget($arroptions, self::$opt_widgetfit, 1);
$_evselector_light = self::tryget($arroptions, self::$opt_evselector_light, 0);
$_stop_mobile_buffer = self::tryget($arroptions, self::$opt_stop_mobile_buffer, 1);
$_restrict_wizard = self::tryget($arroptions, self::$opt_restrict_wizard, 0);
$_restrict_wizard_roles = self::tryget($arroptions, self::$opt_restrict_wizard_roles, self::$dft_roles);
$_ajax_compat = self::tryget($arroptions, self::$opt_ajax_compat, 0);
$_maxres_facade = self::tryget($arroptions, self::$opt_maxres_facade, $_maxres_facade);
$_ytapi_load = self::tryget($arroptions, self::$opt_ytapi_load, $_ytapi_load);
$_defaultdims = self::tryget($arroptions, self::$opt_defaultdims, $_defaultdims);
$_defaultwidth = self::tryget($arroptions, self::$opt_defaultwidth, $_defaultwidth);
$_defaultheight = self::tryget($arroptions, self::$opt_defaultheight, $_defaultheight);
$_pause_others = self::tryget($arroptions, self::$opt_pause_others, $_pause_others);
$_defaultvol = self::tryget($arroptions, self::$opt_defaultvol, 0);
$_vol = self::tryget($arroptions, self::$opt_vol, '');
$_apikey = self::tryget($arroptions, self::$opt_apikey, '');
$_gallery_pagesize = self::tryget($arroptions, self::$opt_gallery_pagesize, 15);
$_gallery_columns = self::tryget($arroptions, self::$opt_gallery_columns, 3);
$_gallery_collapse_grid = self::tryget($arroptions, self::$opt_gallery_collapse_grid, 0);
$_gallery_collapse_grid_breaks = self::tryget($arroptions, self::$opt_gallery_collapse_grid_breaks, self::$dft_bpts);
$_gallery_scrolloffset = self::tryget($arroptions, self::$opt_gallery_scrolloffset, 20);
$_gallery_hideprivate = self::tryget($arroptions, self::$opt_gallery_hideprivate, $_gallery_hideprivate);
$_gallery_showtitle = self::tryget($arroptions, self::$opt_gallery_showtitle, 1);
$_gallery_showpaging = self::tryget($arroptions, self::$opt_gallery_showpaging, 1);
$_gallery_autonext = self::tryget($arroptions, self::$opt_gallery_autonext, 0);
$_gallery_thumbplay = self::tryget($arroptions, self::$opt_gallery_thumbplay, 1);
$_gallery_channelsub = self::tryget($arroptions, self::$opt_gallery_channelsub, $_gallery_channelsub);
$_gallery_channelsublink = self::tryget($arroptions, self::$opt_gallery_channelsublink, $_gallery_channelsublink);
$_gallery_channelsubtext = self::tryget($arroptions, self::$opt_gallery_channelsubtext, $_gallery_channelsubtext);
$_gallery_customarrows = self::tryget($arroptions, self::$opt_gallery_customarrows, $_gallery_customarrows);
$_gallery_customnext = self::tryget($arroptions, self::$opt_gallery_customnext, $_gallery_customnext);
$_gallery_customprev = self::tryget($arroptions, self::$opt_gallery_customprev, $_gallery_customprev);
$_not_live_content = self::tryget($arroptions, self::$opt_not_live_content, $_not_live_content);
$_not_live_content = empty($_not_live_content) ? $_not_live_content : trim($_not_live_content);
$_not_live_on = self::tryget($arroptions, self::$opt_not_live_on, empty($_not_live_content) ? 0 : $_not_live_on);
$_not_live_on_channel = self::tryget($arroptions, self::$opt_not_live_on_channel, $_not_live_on_channel);
$_admin_off_scripts = self::tryget($arroptions, self::$opt_admin_off_scripts, $_admin_off_scripts);
$_defer_js = self::tryget($arroptions, self::$opt_defer_js, $_defer_js);
$_defer_jquery = self::tryget($arroptions, self::$opt_defer_jquery, $_defer_jquery);
$_ajax_save = self::tryget($arroptions, self::$opt_ajax_save, $_ajax_save);
$_show_pointer = self::tryget($arroptions, self::$opt_show_pointer, $_show_pointer);
$_onboarded = 0; // self::tryget($arroptions, self::$opt_onboarded, $_onboarded);
$_vi_active = self::tryget($arroptions, self::$opt_vi_active, $_vi_active);
$_vi_hide_monetize_tab = self::tryget($arroptions, self::$opt_vi_hide_monetize_tab, $_vi_hide_monetize_tab);
$_vi_endpoints = self::tryget($arroptions, self::$opt_vi_endpoints, $_vi_endpoints);
$_vi_token = self::tryget($arroptions, self::$opt_vi_token, $_vi_token);
$_vi_last_login = self::tryget($arroptions, self::$opt_vi_last_login, $_vi_last_login);
$_vi_last_category_update = self::tryget($arroptions, self::$opt_vi_last_category_update, $_vi_last_category_update);
$_vi_adstxt = self::tryget($arroptions, self::$opt_vi_adstxt, $_vi_adstxt);
$_vi_js_settings = self::tryget($arroptions, self::$opt_vi_js_settings, self::$vi_dft_js_settings);
$_vi_js_script = self::tryget($arroptions, self::$opt_vi_js_script, $_vi_js_script);
$_vi_js_posttypes = self::tryget($arroptions, self::$opt_vi_js_posttypes, $_vi_js_posttypes);
$_vi_js_position = self::tryget($arroptions, self::$opt_vi_js_position, $_vi_js_position);
$_vi_show_gdpr_authorization = self::tryget($arroptions, self::$opt_vi_show_gdpr_authorization, $_vi_show_gdpr_authorization);
$_vi_show_privacy_button = self::tryget($arroptions, self::$opt_vi_show_privacy_button, $_vi_show_privacy_button);
}
else
{
$_oldspacing = 0;
}
$all = array(
self::$opt_version => self::$version,
self::$opt_center => $_center,
self::$opt_glance => $_glance,
self::$opt_autoplay => $_autoplay,
self::$opt_cc_load_policy => $_cc_load_policy,
self::$opt_cc_lang_pref => $_cc_lang_pref,
self::$opt_iv_load_policy => $_iv_load_policy,
self::$opt_loop => $_loop,
self::$opt_modestbranding => $_modestbranding,
self::$opt_rel => $_rel,
self::$opt_fs => $_fs,
self::$opt_playsinline => $_playsinline,
self::$opt_origin => $_origin,
self::$opt_autohide => $_autohide,
self::$opt_hl => $_hl,
self::$opt_dohl => $_dohl,
self::$opt_theme => $_theme,
self::$opt_color => $_color,
self::$opt_pro => $_pro,
self::$opt_nocookie => $_nocookie,
self::$opt_gb_compat => $_gb_compat,
self::$opt_facade_mode => $_facade_mode,
self::$opt_facade_autoplay => $_facade_autoplay,
self::$opt_gdpr_consent => $_gdpr_consent,
self::$opt_gdpr_consent_message => $_gdpr_consent_message,
self::$opt_gdpr_consent_button => $_gdpr_consent_button,
self::$opt_playlistorder => $_playlistorder,
self::$opt_acctitle => $_acctitle,
self::$opt_migrate => $_migrate,
self::$opt_migrate_youtube => $_migrate_youtube,
self::$opt_migrate_embedplusvideo => $_migrate_embedplusvideo,
self::$opt_controls => $_controls,
self::$opt_oldspacing => $_oldspacing,
self::$opt_frontend_only => $_frontend_only,
self::$opt_responsive => $_responsive,
self::$opt_responsive_all => $_responsive_all,
self::$opt_widgetfit => $_widgetfit,
self::$opt_evselector_light => $_evselector_light,
self::$opt_stop_mobile_buffer => $_stop_mobile_buffer,
self::$opt_restrict_wizard => $_restrict_wizard,
self::$opt_restrict_wizard_roles => $_restrict_wizard_roles,
self::$opt_ajax_compat => $_ajax_compat,
self::$opt_maxres_facade => $_maxres_facade,
self::$opt_ytapi_load => $_ytapi_load,
self::$opt_defaultdims => $_defaultdims,
self::$opt_defaultwidth => $_defaultwidth,
self::$opt_defaultheight => $_defaultheight,
self::$opt_pause_others => $_pause_others,
self::$opt_defaultvol => $_defaultvol,
self::$opt_vol => $_vol,
self::$opt_apikey => $_apikey,
self::$opt_gallery_columns => $_gallery_columns,
self::$opt_gallery_collapse_grid => $_gallery_collapse_grid,
self::$opt_gallery_collapse_grid_breaks => $_gallery_collapse_grid_breaks,
self::$opt_gallery_scrolloffset => $_gallery_scrolloffset,
self::$opt_gallery_hideprivate => $_gallery_hideprivate,
self::$opt_gallery_showtitle => $_gallery_showtitle,
self::$opt_gallery_showpaging => $_gallery_showpaging,
self::$opt_gallery_autonext => $_gallery_autonext,
self::$opt_gallery_thumbplay => $_gallery_thumbplay,
self::$opt_gallery_channelsub => $_gallery_channelsub,
self::$opt_gallery_channelsublink => $_gallery_channelsublink,
self::$opt_gallery_channelsubtext => $_gallery_channelsubtext,
self::$opt_gallery_customarrows => $_gallery_customarrows,
self::$opt_gallery_customnext => $_gallery_customnext,
self::$opt_gallery_customprev => $_gallery_customprev,
self::$opt_gallery_pagesize => $_gallery_pagesize,
self::$opt_not_live_content => $_not_live_content,
self::$opt_not_live_on => $_not_live_on,
self::$opt_not_live_on_channel => $_not_live_on_channel,
self::$opt_debugmode => $_debugmode,
self::$opt_uninstall_data => $_uninstall_data,
self::$opt_admin_off_scripts => $_admin_off_scripts,
self::$opt_defer_js => $_defer_js,
self::$opt_defer_jquery => $_defer_jquery,
self::$opt_ajax_save => $_ajax_save,
self::$opt_show_pointer => $_show_pointer,
self::$opt_onboarded => $_onboarded,
self::$opt_old_script_method => $_old_script_method,
self::$opt_vi_active => $_vi_active,
self::$opt_vi_hide_monetize_tab => $_vi_hide_monetize_tab,
self::$opt_vi_endpoints => $_vi_endpoints,
self::$opt_vi_token => $_vi_token,
self::$opt_vi_last_login => $_vi_last_login,
self::$opt_vi_last_category_update => $_vi_last_category_update,
self::$opt_vi_adstxt => $_vi_adstxt,
self::$opt_vi_js_settings => $_vi_js_settings,
self::$opt_vi_js_script => $_vi_js_script,
self::$opt_vi_js_posttypes => $_vi_js_posttypes,
self::$opt_vi_js_position => $_vi_js_position,
self::$opt_vi_show_gdpr_authorization => $_vi_show_gdpr_authorization,
self::$opt_vi_show_privacy_button => $_vi_show_privacy_button
);
update_option(self::$opt_alloptions, $all);
update_option('embed_autourls', 1);
self::$alloptions = get_option(self::$opt_alloptions);
}
public static function tryget($array, $key, $default = null)
{
return isset($array[$key]) ? $array[$key] : $default;
}
public static function wp_above_version($ver)
{
global $wp_version;
if (version_compare($wp_version, $ver, '>='))
{
return true;
}
return false;
}
public static function do_ytprefs()
{
//add_filter('autoptimize_filter_js_exclude', array(self::class, 'ao_override_jsexclude'), 10, 1);
if (
!is_admin() || (self::$alloptions[self::$opt_frontend_only] != 1)
//|| (function_exists('wp_doing_ajax') && wp_doing_ajax())
)
{
add_filter('the_content', array(self::class, 'apply_prefs_content'), 1);
add_filter('widget_text', array(self::class, 'apply_prefs_widget'), 1);
//add_filter('bjll/skip_classes', array(self::class, 'bjll_skip_classes'), 10, 2);
add_filter('sgo_lazy_load_exclude_classes', array(self::class, 'exclude_lazy_sgo'));
add_shortcode('embedyt', array(self::class, 'apply_prefs_shortcode'));
if (self::$alloptions[self::$opt_migrate] == 1)
{
if (self::$alloptions[self::$opt_migrate_youtube] == 1)
{
add_shortcode('youtube', array(self::class, 'apply_prefs_shortcode_youtube'));
add_shortcode('youtube_video', array(self::class, 'apply_prefs_shortcode_youtube'));
}
if (self::$alloptions[self::$opt_migrate_embedplusvideo] == 1)
{
add_shortcode('embedplusvideo', array(self::class, 'apply_prefs_shortcode_embedplusvideo'));
}
}
}
if (self::$alloptions[self::$opt_defer_js] == 1)
{
add_filter('script_loader_tag', array(self::class, 'defer_scripts'), 10, 3);
}
}
public static function ao_override_jsexclude($exclude)
{
if (strpos($exclude, 'ytprefs' . self::$min . '.js') === false)
{
return $exclude . ',ytprefs' . self::$min . '.js,__ytprefs__';
}
return $exclude;
}
public static function exclude_lazy_sgo($classes)
{
$classes[] = '__youtube_prefs__';
return $classes;
}
public static function apply_prefs_shortcode($atts, $content = null)
{
$content = trim($content);
$currfilter = current_filter();
if (preg_match(self::$justurlregex, $content))
{
return self::get_html(array($content), strpos($currfilter, 'widget_text') === 0 ? false : true, false);
}
return '';
}
public static function apply_prefs_shortcode_youtube($atts, $content = null)
{
$content = 'https://www.youtube.com/watch?v=' . trim($content);
$currfilter = current_filter();
if (preg_match(self::$justurlregex, $content))
{
return self::get_html(array($content), $currfilter == 'widget_text' ? false : true, false);
}
return '';
}
public static function apply_prefs_shortcode_embedplusvideo($atts, $content = null)
{
$atts = shortcode_atts(array(
"height" => self::$defaultheight,
"width" => self::$defaultwidth,
"vars" => "",
"standard" => "",
"id" => "ep" . rand(10000, 99999)
), $atts);
$epvars = $atts['vars'];
$epvars = preg_replace('/\s/', '', $epvars);
$epvars = preg_replace('/¬/', '¬', $epvars);
$epvars = str_replace('&', '&', $epvars);
$epparams = self::keyvalue($epvars, true);
if (isset($epparams) && isset($epparams['ytid']))
{
$start = isset($epparams['start']) && is_numeric($epparams['start']) ? '&start=' . intval($epparams['start']) : '';
$end = isset($epparams['end']) && is_numeric($epparams['end']) ? '&end=' . intval($epparams['end']) : '';
$end = isset($epparams['stop']) && is_numeric($epparams['stop']) ? '&end=' . intval($epparams['stop']) : '';
$url = 'https://www.youtube.com/watch?v=' . trim($epparams['ytid']) . $start . $end;
$currfilter = current_filter();
if (preg_match(self::$justurlregex, $url))
{
return self::get_html(array($url), $currfilter == 'widget_text' ? false : true, false);
}
}
return '';
}
public static function apply_prefs_content($content)
{
$content = preg_replace_callback(self::$ytregex, array(self::class, "get_html_content"), $content);
return $content;
}
public static function apply_prefs_widget($content)
{
$content = preg_replace_callback(self::$ytregex, array(self::class, "get_html_widget"), $content);
return $content;
}
public static function get_html_content($m)
{
return self::get_html($m, true, true);
}
public static function get_html_widget($m)
{
return self::get_html($m, false, true);
}
public static function get_gallery_page($options)
{
$gallobj = new stdClass();
$options->pageSize = min(intval($options->pageSize), 50);
$options->columns = intval($options->columns) == 0 ? 3 : intval($options->columns);
$options->showTitle = intval($options->showTitle);
$options->showPaging = intval($options->showPaging);
$options->autonext = intval($options->autonext);
$options->thumbplay = intval($options->thumbplay);
if (empty($options->apiKey))
{
$gallobj->html = '<div>Please enter your YouTube API key to embed galleries.</div>';
return $gallobj;
}
$apiEndpoint = 'https://www.googleapis.com/youtube/v3/playlistItems?part=snippet,status&playlistId=' . $options->playlistId
. '&maxResults=' . $options->pageSize
. '&key=' . $options->apiKey;
if ($options->pageToken != null)
{
$apiEndpoint .= '&pageToken=' . $options->pageToken;
}
$code = '';
$init_id = null;
$apiResult = wp_remote_get($apiEndpoint, array('timeout' => self::$curltimeout, 'headers' => array('referer' => site_url())));
if (is_wp_error($apiResult))
{
$gallobj->html = self::clean_api_error_html($apiResult->get_error_message(), true);
return $gallobj;
}
if (self::$alloptions[self::$opt_debugmode] == 1 && current_user_can('manage_options'))
{
$redactedEndpoint = preg_replace('@&key=[^&]+@i', '&key=PRIVATE', $apiEndpoint);
$active_plugins = get_option('active_plugins');
$gallobj->html = '<pre onclick="_EPADashboard_.selectText(this);" class="epyt-debug">CLICK this debug text to auto-select all. Then, COPY the selection.' . "\n\n" .
'THIS IS DEBUG MODE OUTPUT. UNCHECK THE OPTION IN THE SETTINGS PAGE ONCE YOU ARE DONE DEBUGGING TO PUT THINGS BACK TO NORMAL.' . "\n\n" . $redactedEndpoint . "\n\n" . print_r($apiResult, true) . "\n\nActive Plugins\n\n" . print_r($active_plugins, true) . '</pre>';
return $gallobj;
}
$jsonResult = json_decode($apiResult['body']);
if (isset($jsonResult->error))
{
if (isset($jsonResult->error->message))
{
$gallobj->html = self::clean_api_error_html($jsonResult->error->message, true);
return $gallobj;
}
$gallobj->html = '<div>Sorry, there may be an issue with your YouTube API key. ' . self::$boilerplate_api_error_message . '</div>';
return $gallobj;
}
$resultsPerPage = $options->pageSize; // $jsonResult->pageInfo->resultsPerPage;
$totalResults = $jsonResult->pageInfo->totalResults;
$nextPageToken = '';
$prevPageToken = '';
if (isset($jsonResult->nextPageToken))
{
$nextPageToken = $jsonResult->nextPageToken;
}
if (isset($jsonResult->prevPageToken))
{
$prevPageToken = $jsonResult->prevPageToken;
}
$cnt = 0;
$colclass = ' epyt-cols-' . $options->columns . ' ';
$code .= '<div class="epyt-gallery-allthumbs ' . $colclass . '">';
if (isset($jsonResult->items) && $jsonResult->items != null && is_array($jsonResult->items))
{
if (strpos($options->playlistId, 'UU') === 0)
{
// sort only channels
usort($jsonResult->items, array(self::class, 'compare_vid_date')); // sorts in place
}
foreach ($jsonResult->items as $item)
{
$thumb = new stdClass();
$thumb->id = isset($item->snippet->resourceId->videoId) ? $item->snippet->resourceId->videoId : null;
$thumb->id = $thumb->id ? $thumb->id : $item->id->videoId;
$thumb->title = $options->showTitle ? $item->snippet->title : '';
$thumb->privacyStatus = isset($item->status->privacyStatus) ? $item->status->privacyStatus : null;
if ($thumb->privacyStatus == 'private' && self::$alloptions[self::$opt_gallery_hideprivate] == 1)
{
continue;
}
if ($cnt == 0 && $options->pageToken == null)
{
$init_id = $thumb->id;
}
if ($thumb->privacyStatus == 'private')
{
$thumb->img = plugins_url('/images/private.png', __FILE__);
$thumb->quality = 'medium';
}
else
{
if (isset($item->snippet->thumbnails->high->url))
{
$thumb->img = $item->snippet->thumbnails->high->url;
$thumb->quality = 'high';
}
elseif (isset($item->snippet->thumbnails->default->url))
{
$thumb->img = $item->snippet->thumbnails->default->url;
$thumb->quality = 'default';
}
elseif (isset($item->snippet->thumbnails->medium->url))
{
$thumb->img = $item->snippet->thumbnails->medium->url;
$thumb->quality = 'medium';
}
else
{
$thumb->img = plugins_url('/images/deleted-video-thumb.png', __FILE__);
$thumb->quality = 'medium';
}
}
$code .= self::get_thumbnail_html($thumb, $options);
$cnt++;
if ($cnt % $options->columns === 0)
{
$code .= '<div class="epyt-gallery-rowbreak"></div>';
}
}
}
$code .= '<div class="epyt-gallery-clear"></div></div>';
$totalPages = ceil($totalResults / $resultsPerPage);
$pagination = '<div class="epyt-pagination ' . ($options->showPaging == 0 ? 'epyt-hide-pagination' : '') . '">';
$txtprev = self::$alloptions[self::$opt_gallery_customarrows] ? self::$alloptions[self::$opt_gallery_customprev] : _('Prev');
$pagination .= '<div tabindex="0" role="button" class="epyt-pagebutton epyt-prev ' . (empty($prevPageToken) ? ' hide ' : '') . '" data-playlistid="' . esc_attr($options->playlistId)
. '" data-pagesize="' . intval($options->pageSize)
. '" data-pagetoken="' . esc_attr($prevPageToken)
. '" data-epcolumns="' . intval($options->columns)
. '" data-showtitle="' . intval($options->showTitle)
. '" data-showpaging="' . intval($options->showPaging)
. '" data-autonext="' . intval($options->autonext)
. '" data-thumbplay="' . intval($options->thumbplay)
. '"><div class="epyt-arrow">«</div> <div>' . $txtprev . '</div></div>';
$pagination .= '<div class="epyt-pagenumbers ' . ($totalPages > 1 ? '' : 'hide') . '">';
$pagination .= '<div class="epyt-current">1</div><div class="epyt-pageseparator"> / </div><div class="epyt-totalpages">' . $totalPages . '</div>';
$pagination .= '</div>';
$txtnext = self::$alloptions[self::$opt_gallery_customarrows] ? self::$alloptions[self::$opt_gallery_customnext] : _('Next');
$pagination .= '<div tabindex="0" role="button" class="epyt-pagebutton epyt-next' . (empty($nextPageToken) ? ' hide ' : '') . '" data-playlistid="' . esc_attr($options->playlistId)
. '" data-pagesize="' . intval($options->pageSize)
. '" data-pagetoken="' . esc_attr($nextPageToken)
. '" data-epcolumns="' . intval($options->columns)
. '" data-showtitle="' . intval($options->showTitle)
. '" data-showpaging="' . intval($options->showPaging)
. '" data-autonext="' . intval($options->autonext)
. '" data-thumbplay="' . intval($options->thumbplay)
. '"><div>' . $txtnext . '</div> <div class="epyt-arrow">»</div></div>';
$pagination .= '<div class="epyt-loader"><img alt="loading" width="16" height="11" src="' . plugins_url('images/gallery-page-loader.gif', __FILE__) . '"></div>';
$pagination .= '</div>';
// if ($options->showPaging == 0)
// {
// $pagination = '<div class="epyt-pagination"></div>';
// }
$code = $pagination . $code . $pagination;
$gallobj->html = $code;
$gallobj->init_id = $init_id;
return $gallobj;
}
public static function compare_vid_date($a, $b)
{
if ($a->snippet->publishedAt == $b->snippet->publishedAt)
{
return 0;
}
return ($a->snippet->publishedAt > $b->snippet->publishedAt) ? -1 : 1;
}
public static function get_thumbnail_html($thumb, $options)
{
$escId = esc_attr($thumb->id);
$code = '';
$code .= '<div tabindex="0" role="button" data-videoid="' . $escId . '" class="epyt-gallery-thumb">';
$code .= (self::gdpr_mode() ? '<div class="epyt-gallery-img-box"><div class="epyt-gallery-img epyt-gallery-img-gdpr">' :
'<div class="epyt-gallery-img-box"><div class="epyt-gallery-img" style="background-image: url(' . esc_attr($thumb->img) . ')">') .
'<div class="epyt-gallery-playhover"><img alt="play" class="epyt-play-img" width="30" height="23" src="' . plugins_url('images/playhover.png', __FILE__) . '" data-no-lazy="1" data-skipgform_ajax_framebjll="" /><div class="epyt-gallery-playcrutch"></div></div>' .
'</div></div>';
if (!empty($thumb->title))
{
$code .= '<div class="epyt-gallery-title">' . esc_html($thumb->title) . '</div>';
}
else
{
$code .= '<div class="epyt-gallery-notitle"><span>' . esc_html($thumb->title) . '</span></div>';
}
$code .= '</div>';
return $code;
}
public static function my_embedplus_gallery_page()
{
if (self::is_ajax())
{
//check_ajax_referer('embedplus-nonce', 'security');
$options = (object) $_POST['options'];
$options->apiKey = self::$alloptions[self::$opt_apikey];
echo self::get_gallery_page($options)->html;
die();
}
}
public static function get_html($m, $iscontent, $isoverride)
{
//$time_start = microtime(true);
$link = trim(str_replace(self::$badentities, self::$goodliterals, $m[0]));
$link = preg_replace('/\s/', '', $link);
$linkparamstemp = explode('?', $link);
$linkparams = array();
if (count($linkparamstemp) > 1)
{
$linkparams = self::keyvalue($linkparamstemp[1], true);
}
if (strpos($linkparamstemp[0], 'youtu.be') !== false && !isset($linkparams['v']))
{
$vtemp = explode('/', $linkparamstemp[0]);
$linkparams['v'] = array_pop($vtemp);
}
if (isset($linkparams['live']) && $linkparams['live'] == '1')
{
$live_error_msg = ' To embed live videos, please make sure you performed the <a href="https://www.youtube.com/watch?v=ZCfrNvu6nMc" target="_blank">steps in this video</a> to create and save a proper server API key.';
if (isset(self::$alloptions[self::$opt_apikey]))
{
if (isset($linkparams['channel']))
{
$linkparams['live_stream'] = 1;
if (false) // takes up too much quota;
{
try
{
$ytapilink_live = 'https://www.googleapis.com/youtube/v3/search?order=date&maxResults=1&type=video&eventType=live&safeSearch=none&videoEmbeddable=true&channelId=' . $linkparams['channel'] . '&part=snippet&key=' . self::$alloptions[self::$opt_apikey];
$apidata_live = wp_remote_get($ytapilink_live, array('timeout' => self::$curltimeout, 'headers' => array('referer' => site_url())));
if (!is_wp_error($apidata_live))
{
$raw = wp_remote_retrieve_body($apidata_live);
if (!empty($raw))
{
$json = json_decode($raw, true);
if (!isset($json['error']) && is_array($json) && count($json['items']))
{
$linkparams['v'] = $json['items'][0]['id']['videoId'];
}
else if (isset($json['error']))
{
return $live_error_msg; // . ' <em>(Error code ' . $json['error']->code . ': ' . $json['error']->message . ')</em>';
}
}
}
}
catch (Exception $ex)
{
return $live_error_msg;
}
}
}
else if (isset($linkparams['v']))
{
////////////////////// process single video live stream
try
{
if (self::$alloptions[self::$opt_not_live_on])
{
// if not_live_content isn't being used, just process as a normal single video. otherwise: if not currently live (nor upcoming?), unset $linkparams['v']
$not_live_content = trim(htmlspecialchars_decode(wp_strip_all_tags(self::$alloptions[self::$opt_not_live_content], true), ENT_QUOTES));
if (!empty($not_live_content))
{
$ytapilink_live = 'https://www.googleapis.com/youtube/v3/videos?id=' . $linkparams['v'] . '&part=snippet&key=' . self::$alloptions[self::$opt_apikey];
$apidata_live = wp_remote_get($ytapilink_live, array('timeout' => self::$curltimeout, 'headers' => array('referer' => site_url())));
if (!is_wp_error($apidata_live))
{
$raw = wp_remote_retrieve_body($apidata_live);
if (!empty($raw))
{
$json = json_decode($raw, true);
if (!isset($json['error']) && is_array($json) && count($json['items']))
{
if (isset($json['items'][0]['snippet']['liveBroadcastContent']) && $json['items'][0]['snippet']['liveBroadcastContent'] != 'live')
{
unset($linkparams['v']);
}
}
else if (isset($json['error']))
{
return $live_error_msg; // . ' <em>(Error code ' . $json['error']->code . ': ' . $json['error']->message . ')</em>';
}
}
}
}
}
}
catch (Exception $ex)
{
return $live_error_msg;
}
}
}
else
{
return $live_error_msg;
}
if (!isset($linkparams['v']) && !isset($linkparams['live_stream']))
{
return apply_filters('ytprefs_filter_the_content_light', wp_kses_post(self::$alloptions[self::$opt_not_live_content]));
}
}
if (stripos($linkparamstemp[0], 'live_stream') !== false)
{
$linkparams['live_stream'] = 1;
}
$youtubebaseurl = 'youtube';
$voloutput = '';
$acctitle = '';
$relstop = '';
$finalparams = $linkparams + self::$alloptions;
self::init_dimensions($link, $linkparams, $finalparams);
if (self::$alloptions[self::$opt_nocookie] == 1)
{
$youtubebaseurl = 'youtube-nocookie';
}
if (self::$alloptions[self::$opt_defaultvol] == 1)
{
$voloutput = ' data-vol="' . self::$alloptions[self::$opt_vol] . '" ';
}
if (is_numeric(self::$alloptions[self::$opt_rel]) && intval(self::$alloptions[self::$opt_rel]) === -1)
{
$relstop = ' data-relstop="1" ';
}
if (!empty($finalparams[self::$opt_loop]))
{
$relstop = '';
}
if (self::$alloptions[self::$opt_dohl] == 1)
{
$locale = get_locale();
$finalparams[self::$opt_hl] = $locale;
}
else
{
unset($finalparams[self::$opt_hl]);
}
$centercode = '';
if ($finalparams[self::$opt_center] == 1)
{
$centercode = ' style="display: block; margin: 0px auto;" ';
}
if (self::$alloptions[self::$opt_acctitle] == 1)
{
try
{
//attr escape
if (self::$oembeddata)
{
$acctitle = self::$oembeddata->title;
}
else
{
if (isset($linkparams['list']))
{
$odata = self::get_oembed('https://youtube.com/playlist?list=' . $linkparams['list'], 1920, 1280);
if (is_object($odata) && isset($odata->title))
{
$acctitle = $odata->title;
}
}
else if (isset($linkparams['v']))
{
$odata = self::get_oembed('https://youtube.com/watch?v=' . $linkparams['v'], 1920, 1280);
if (is_object($odata) && isset($odata->title))
{
$acctitle = $odata->title;
}
}
}
if ($acctitle)
{
$acctitle = ' title="' . esc_attr($acctitle) . '" ';
}
else
{
$acctitle = ' title="YouTube player" ';
}
}
catch (Exception $e)
{
}
}
else
{
$acctitle = ' title="YouTube player" ';
}
// playlist cleanup
$videoidoutput = isset($linkparams['v']) ? $linkparams['v'] : '';
if ((self::$alloptions[self::$opt_playlistorder] == 1 || isset($finalparams['plindex'])) && isset($finalparams['list']))
{
try
{
$videoidoutput = '';
if (isset($finalparams['plindex']))
{
$finalparams['index'] = intval($finalparams['plindex']);
}
}
catch (Exception $ex)
{
}
}
$galleryWrapper1 = '';
$galleryWrapper2 = '';
$galleryCode = '';
$galleryid_ifm_data = '';
if (isset($finalparams['layout']) && strtolower($finalparams['layout']) == 'gallery' && isset($finalparams['list']))
{
$gallery_options = new stdClass();
$gallery_options->playlistId = $finalparams['list'];
$gallery_options->pageToken = null;
$gallery_options->pageSize = $finalparams[self::$opt_gallery_pagesize];
$gallery_options->columns = intval($finalparams[self::$opt_gallery_columns]);
$gallery_options->showTitle = intval($finalparams[self::$opt_gallery_showtitle]);
$gallery_options->showPaging = intval($finalparams[self::$opt_gallery_showpaging]);
$gallery_options->autonext = intval($finalparams[self::$opt_gallery_autonext]);
$gallery_options->thumbplay = intval($finalparams[self::$opt_gallery_thumbplay]);
$gallery_options->apiKey = self::$alloptions[self::$opt_apikey];
$galleryid = 'epyt_gallery_' . rand(10000, 99999);
$galleryid_ifm_data = ' data-epytgalleryid="' . $galleryid . '" ';
$subbutton = '';
if (isset($finalparams[self::$opt_gallery_channelsub]) && $finalparams[self::$opt_gallery_channelsub] == 1)
{
$subbutton = '<div class="epyt-gallery-subscribe"><a target="_blank" class="epyt-gallery-subbutton" href="' .
esc_url(self::$alloptions[self::$opt_gallery_channelsublink]) . '?sub_confirmation=1"><img alt="subscribe" src="' . plugins_url('images/play-subscribe.png', __FILE__) . '" />' .
htmlspecialchars(self::$alloptions[self::$opt_gallery_channelsubtext], ENT_QUOTES, 'UTF-8') . '</a></div>';
}
$gallery_page_obj = self::get_gallery_page($gallery_options);
$galleryWrapper1 = '<div class="epyt-gallery" data-currpage="1" id="' . $galleryid . '">';
$galleryWrapper2 = '</div>';
$galleryCode = $subbutton . '<div class="epyt-gallery-list">' . $gallery_page_obj->html . '</div>';
$videoidoutput = isset($gallery_page_obj->init_id) ? $gallery_page_obj->init_id : '';
}
if (!empty($voloutput) && isset($finalparams['autoplay']) && $finalparams['autoplay'] == 1)
{
$voloutput .= ' data-epautoplay="1" ';
$finalparams['autoplay'] = 0;
}
if (!empty($relstop) && isset($finalparams['rel']) && intval($finalparams['rel']) === -1)
{
$finalparams['rel'] = 0;
}
if (!empty($finalparams['live_stream']))
{
$videoidoutput = 'live_stream';
}
$begin_responsive = '';
$end_responsive = '';
$dim_attrs = ' width="' . self::$defaultwidth . '" height="' . self::$defaultheight . '" ';
if ($finalparams[self::$opt_responsive] == 1)
{
$begin_responsive = '<div class="epyt-video-wrapper">';
$end_responsive = '</div>';
}
$begin_gb_wrapper = '';
$end_gb_wrapper = '';
if ($iscontent && !$isoverride && $finalparams[self::$opt_gb_compat] == 1 && current_theme_supports('responsive-embeds'))// self::using_gutenberg())
{
// don't do the following if: overriding default YT, is widget
$begin_gb_wrapper = '<figure class="wp-block-embed wp-block-embed-youtube is-type-video is-provider-youtube epyt-figure"><div class="wp-block-embed__wrapper">';
//wp-block-embed-youtube is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio
$end_gb_wrapper = '</div></figure>';
}
$iframe_id = rand(10000, 99999);
$code1 = $begin_gb_wrapper . $begin_responsive;
$code_iframe1 = $code_iframe2 = '';
if ($videoidoutput != 'live_stream' && $finalparams[self::$opt_facade_mode] == 1)
{
$facade_img_src = '';
if (!empty($videoidoutput))
{
$facade_img_src = ' src="https://i.ytimg.com/vi/' . $videoidoutput . ($finalparams[self::$opt_maxres_facade] == 'eager' ? '/maxresdefault.jpg' : '/hqdefault.jpg') . '" ';
}
else if (isset($finalparams['list']))
{
$facade_img_src = ' data-facadeoembed="playlist?list=' . $finalparams['list'] . '" ';
}
$acctitle = str_replace('title="', 'alt="', $acctitle);
$facade_autoplay = $finalparams[self::$opt_facade_autoplay] == 1 ? ' data-epautoplay="1" ' : '';
$code_iframe1 = '<div ' . $centercode . ' id="_ytid_' . $iframe_id . '" ' . $dim_attrs . ' data-origwidth="' . self::$defaultwidth . '" data-origheight="' . self::$defaultheight . '" ' . $relstop .
'data-facadesrc="https://www.' . $youtubebaseurl . '.com/embed/' . $videoidoutput . '?';
$code_iframe2 = '" class="__youtube_prefs__ epyt-facade' . (!empty($finalparams['live_stream']) ? ' epyt-live-channel ' : '') . ($iscontent ? '' : ' __youtube_prefs_widget__ ') . ($isoverride ? ' epyt-is-override ' : '') . ' no-lazyload"' .
$voloutput . $galleryid_ifm_data . $facade_autoplay . '><img data-spai-excluded="true" class="epyt-facade-poster skip-lazy" loading="lazy" ' . $acctitle . $facade_img_src . ' />' .
'<button class="epyt-facade-play" aria-label="Play"><svg data-no-lazy="1" height="100%" version="1.1" viewBox="0 0 68 48" width="100%"><path class="ytp-large-play-button-bg" d="M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z" fill="#f00"></path><path d="M 45,24 27,14 27,34" fill="#fff"></path></svg></button>' .
'</div>';
}
else
{
$code_iframe1 = '<iframe ' . $centercode . ' id="_ytid_' . $iframe_id . '" ' . $dim_attrs . ' data-origwidth="' . self::$defaultwidth . '" data-origheight="' . self::$defaultheight . '" ' . $relstop .
'src="https://www.' . $youtubebaseurl . '.com/embed/' . $videoidoutput . '?';
$code_iframe2 = '" class="__youtube_prefs__ ' . (!empty($finalparams['live_stream']) ? ' epyt-live-channel ' : '') . ($iscontent ? '' : ' __youtube_prefs_widget__ ') . ($isoverride ? ' epyt-is-override ' : '') . ' no-lazyload"' .
$voloutput . $acctitle . $galleryid_ifm_data . ' allow="fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen data-no-lazy="1" data-skipgform_ajax_framebjll=""></iframe>';
}
$code2 = $end_responsive . $end_gb_wrapper;
$code1 .= $code_iframe1;
$code2 = $code_iframe2 . $code2;
$origin = '';
try
{
if (self::$alloptions[self::$opt_origin] == 1)
{
$url_parts = parse_url(site_url());
$origin = 'origin=' . $url_parts['scheme'] . '://' . $url_parts['host'] . '&';
}
}
catch (Exception $e)
{
$origin = '';
}
$finalsrc = (self::$alloptions[self::$opt_ytapi_load] == 'never' ? '' : 'enablejsapi=1&') . $origin;
if (count($finalparams) > 1)
{
foreach ($finalparams as $key => $value)
{
if (in_array($key, self::$yt_options))
{
if (!empty($galleryCode) && ($key == 'listType' || $key == 'list'))
{
}
else
{
if (!((isset($finalparams['live']) || isset($finalparams['live_stream'])) && $key == 'loop')) // don't add loop for channel streaming
{
$finalsrc .= htmlspecialchars($key, ENT_QUOTES, 'UTF-8') . '=' . htmlspecialchars($value, ENT_QUOTES, 'UTF-8') . '&';
if ($key == 'loop' && $value == 1 && !isset($finalparams['list']))
{
$finalsrc .= 'playlist=' . $finalparams['v'] . '&';
}
}
}
}
}
}
if (self::gdpr_mode())
{
$code1 = '<div ' . $centercode . ' id="_ytid_' . rand(10000, 99999) . '"'; //'" width="' . self::$defaultwidth . '" height="' . self::$defaultheight . '" ';
$code2 = ' class="__youtube_prefs__ __youtube_prefs_gdpr__ ' . ($iscontent ? '' : ' __youtube_prefs_widget__') . ($isoverride ? ' epyt-is-override ' : '') . '" allowfullscreen data-no-lazy="1" data-skipgform_ajax_framebjll="">' .
apply_filters('ytprefs_filter_the_content_light', wp_kses_post(self::$alloptions[self::$opt_gdpr_consent_message])) .
'<button type="button" class="__youtube_prefs_gdpr__">' . trim(sanitize_text_field(self::$alloptions[self::$opt_gdpr_consent_button])) .
'<img src="' . plugins_url('images/icon-check.png', __FILE__) . '" alt="accept" data-no-lazy="1" data-skipgform_ajax_framebjll="" /></button>' .
'</div>';
$finalsrc = '';
}
$code = $galleryWrapper1 . $code1 . $finalsrc . $code2 . $galleryCode . $galleryWrapper2;
//. '<!--' . $m[0] . '-->';
self::$defaultheight = null;
self::$defaultwidth = null;
self::$oembeddata = null;
return $code;
}
public static function using_gutenberg()
{
global $wp_version;
if ((version_compare($wp_version, '5.0', '>=') && !is_plugin_active('classic-editor/classic-editor.php')) || is_plugin_active('gutenberg/gutenberg.php'))
{
return true;
}
return false;
}
public static function gdpr_mode()
{
return (bool) self::$alloptions[self::$opt_gdpr_consent] && filter_input(INPUT_COOKIE, self::$gdpr_cookie_name, FILTER_SANITIZE_NUMBER_INT) != 1;
}
public static function filter_the_content_light($content)
{
//global $wp_filter;
//$the_content_filters_current = $wp_filter['the_content']->callbacks;
for ($i = 0; $i < count(self::$the_content_filters); $i++)
{
if (function_exists(self::$the_content_filters[$i]) && !(self::wp_above_version('5.5') && self::$the_content_filters[$i] === 'wp_make_content_images_responsive'))
{
$content = call_user_func(self::$the_content_filters[$i], $content);
}
}
return $content;
}
public static function debuglog($str)
{
$handle = fopen(__DIR__ . "\\debug.txt", "a+");
fwrite($handle, $str);
fclose($handle);
}
public static function keyvalue($qry, $includev)
{
$ytvars = explode('&', $qry);
$ytkvp = array();
foreach ($ytvars as $k => $v)
{
$kvp = explode('=', $v);
if (count($kvp) == 2 && ($includev || strtolower($kvp[0]) != 'v'))
{
$ytkvp[$kvp[0]] = $kvp[1];
}
}
return $ytkvp;
}
public static function secondsToDuration($seconds)
{
$remaining = $seconds;
$parts = array();
$multipliers = array(
'hours' => 3600,
'minutes' => 60,
'seconds' => 1
);
foreach ($multipliers as $type => $m)
{
$parts[$type] = (int) ($remaining / $m);
$remaining -= ($parts[$type] * $m);
}
return $parts;
}
public static function formatDuration($parts)
{
$default = array(
'hours' => 0,
'minutes' => 0,
'seconds' => 0
);
extract(array_merge($default, $parts));
return "T{$hours}H{$minutes}M{$seconds}S";
}
public static function init_dimensions($url, $urlkvp, $finalparams)
{
// get default dimensions; try embed size in settings, then try theme's content width, then just 480px
if (self::$defaultwidth == null)
{
global $content_width;
if (empty($content_width))
{
$content_width = $GLOBALS['content_width'];
}
if (isset($urlkvp['width']) && is_numeric($urlkvp['width']))
{
self::$defaultwidth = $urlkvp['width'];
}
else if (self::$alloptions[self::$opt_defaultdims] == 1 && (isset(self::$alloptions[self::$opt_defaultwidth]) && is_numeric(self::$alloptions[self::$opt_defaultwidth])))
{
self::$defaultwidth = self::$alloptions[self::$opt_defaultwidth];
}
else if (self::$optembedwidth)
{
self::$defaultwidth = self::$optembedwidth;
}
else if ($content_width)
{
self::$defaultwidth = $content_width;
}
else
{
self::$defaultwidth = 480;
}
if (isset($urlkvp['height']) && is_numeric($urlkvp['height']))
{
self::$defaultheight = $urlkvp['height'];
}
else if (self::$alloptions[self::$opt_defaultdims] == 1 && (isset(self::$alloptions[self::$opt_defaultheight]) && is_numeric(self::$alloptions[self::$opt_defaultheight])))
{
self::$defaultheight = self::$alloptions[self::$opt_defaultheight];
}
else
{
self::$defaultheight = self::get_aspect_height($url, self::$defaultwidth);
}
}
}
public static function get_oembed($url, $height, $width)
{
if (stripos($url, 'listType=playlist') !== false && stripos($url, '/embed') !== false)
{
$url = str_replace('/embed', '/playlist', $url);
}
if (file_exists(ABSPATH . WPINC . '/class-wp-oembed.php'))
{
require_once(ABSPATH . WPINC . '/class-wp-oembed.php');
}
else
{
require_once(ABSPATH . WPINC . '/class-oembed.php');
}
$oembed = _wp_oembed_get_object();
$args = array();
$args['width'] = $width;
$args['height'] = $height;
$args['discover'] = false;
self::$oembeddata = $oembed->fetch('https://www.youtube.com/oembed', $url, $args);
return self::$oembeddata;
}
public static function get_aspect_height($url, $widthbox)
{
// attempt to get aspect ratio correct height from oEmbed
$aspectheight = round(($widthbox * 9) / 16, 0);
if ($url)
{
$odata = self::get_oembed($url, $widthbox, $widthbox);
if ($odata)
{
$aspectheight = $odata->height;
}
}
return $aspectheight;
}
public static function ytprefs_plugin_menu()
{
self::$admin_page_hooks[] = add_menu_page('YouTube Settings', 'YouTube Free', 'manage_options', 'youtube-my-preferences', array(self::class, 'ytprefs_show_options'), 'dashicons-video-alt3', '10.000392854349');
self::$admin_page_hooks[] = add_submenu_page('youtube-my-preferences', '', '', 'manage_options', 'youtube-my-preferences', array(self::class, 'ytprefs_show_options'));
include_once(EPYTVI_INCLUDES_PATH . 'vi_admin_menu.php');
self::$admin_page_hooks[] = add_submenu_page('youtube-my-preferences_nomenu', 'YouTube Posts', 'YouTube Posts', 'manage_options', 'youtube-ep-glance', array(self::class, 'glance_page'));
self::$admin_page_hooks[] = self::$wizard_hook = add_submenu_page('youtube-my-preferences_nomenu', 'YouTube Wizard', 'YouTube Wizard', 'edit_posts', 'youtube-ep-wizard', array(self::class, 'wizard'));
self::$admin_page_hooks[] = self::$onboarding_hook = add_submenu_page('youtube-my-preferences_nomenu', 'YouTube Setup', 'YouTube Setup', 'manage_options', 'youtube-ep-onboarding', array(self::class, 'ytprefs_show_onboarding'));
}
public static function custom_admin_pointers_check()
{
if (!self::$alloptions[self::$opt_show_pointer])
{
return false;
}
$admin_pointers = self::custom_admin_pointers();
foreach ($admin_pointers as $pointer => $array)
{
if ($array['active'])
{
return true;
}
}
}
public static function glance_script()
{
add_thickbox();
?>
<script type="text/javascript">
function widen_ytprefs_glance()
{
setTimeout(function ()
{
jQuery("#TB_window").animate({marginLeft: '-' + parseInt((780 / 2), 10) + 'px', width: '780px'}, 300);
jQuery("#TB_window iframe").animate({width: '780px'}, 300);
}, 15);
}
(function ($j)
{
$j(document).ready(function ()
{
$j.ajax({
type: "post",
dataType: "json",
timeout: 30000,
url: window._EPYTA_ ? window._EPYTA_.wpajaxurl : ajaxurl,
data: {action: 'my_embedplus_glance_count'},
success: function (response)
{
if (response.type === "success")
{
$j(response.container).append(response.data);
$j(".ytprefs_glance_button").on('click', widen_ytprefs_glance);
$j(window).on('resize', widen_ytprefs_glance);
if (typeof ep_do_pointers === 'function')
{
//ep_do_pointers($j);
}
}
else
{
}
},
error: function (xhr, ajaxOptions, thrownError)
{
},
complete: function ()
{
}
});
});
})(jQuery);</script>
<?php
}
public static function custom_admin_pointers_footer()
{
$admin_pointers = self::custom_admin_pointers();
?>
<script type="text/javascript">
/* <![CDATA[ */
function ep_do_pointers($)
{
<?php
foreach ($admin_pointers as $pointer => $array)
{
if ($array['active'])
{
?>
$('<?php echo $array['anchor_id']; ?>').pointer({
pointerClass: 'wp-pointer ytprefs-pointer',
content: '<?php echo $array['content']; ?>',
position: {
edge: '<?php echo $array['edge']; ?>',
align: '<?php echo $array['align']; ?>'
},
close: function ()
{
$.post(window._EPYTA_ ? window._EPYTA_.wpajaxurl : ajaxurl, {
pointer: '<?php echo $pointer; ?>',
action: 'dismiss-wp-pointer'
});
}
}).pointer('open');
<?php
}
}
?>
}
ep_do_pointers(jQuery); // switch off all pointers via js ooopointer
/* ]]> */
</script>
<?php
}
public static function custom_admin_pointers()
{
$dismissed = explode(',', (string) get_user_meta(get_current_user_id(), 'dismissed_wp_pointers', true));
$version = str_replace('.', '_', self::$version); // replace all periods in version with an underscore
$prefix = 'custom_admin_pointers' . $version . '_';
$new_pointer_content = '<h3>' . __('New Update') . '</h3>'; // ooopointer
$new_pointer_content .= '<p>'; // ooopointer
$new_pointer_content .= "This update fixes issues with the <a target=_blank href=\"" . self::$epbase . '/how-to-embed-a-youtube-livestream-in-wordpress.aspx">channel-based automatic live stream detection feature</a> for the <a target=_blank href="' . self::$epbase . '/dashboard/pro-easy-video-analytics.aspx?ref=frompointer">Pro version</a>, and provides better compatibility with PHP 8.3+ for both Free and Pro versions.';
if (self::vi_logged_in())
{
$new_pointer_content .= "<br><br><strong>Note:</strong> You are currently logged into the vi intelligence feature. vi support is being deprecated in the next version, so we recommend taking the vi ads down from your site. Please contact ext@embedplus.com for questions.";
}
if (!empty(self::$alloptions[self::$opt_pro]) && strlen(trim(self::$alloptions[self::$opt_pro])) > 0)
{
$new_pointer_content .= ' <strong>Important message to YouTube Pro users</strong>: From version 11.7 onward, you must <a href="https://www.embedplus.com/youtube-pro/download/?prokey=' . esc_attr(self::$alloptions[self::$opt_pro]) . '" target="_blank">download the separate plugin here</a> to regain your Pro features. All your settings will automatically migrate after installing the separate Pro download. Thank you for your support and patience during this transition.';
}
$new_pointer_content .= '</p>';
return array(
$prefix . 'new_items' => array(
'content' => $new_pointer_content,
'anchor_id' => 'a.toplevel_page_youtube-my-preferences', //'#ytprefs_glance_button',
'edge' => 'top',
'align' => 'left',
'active' => (!in_array($prefix . 'new_items', $dismissed))
),
);
}
public static function postchecked($idx)
{
return isset($_POST[$idx]) && $_POST[$idx] == (true || 'on');
}
public static function settings_nav()
{
?>
<h3 class="nav-tab-wrapper">
<a class="nav-tab nav-tab-active" href="#jumpdefaults">Defaults</a>
<a class="nav-tab" href="#jumpapikey">API Key</a>
<a class="nav-tab" href="#jumpwiz">Wizard</a>
<a class="nav-tab" href="#jumpgallery">Galleries</a>
<a class="nav-tab href-link" style="background-color: #daebf1;" target="_blank" href="<?php echo self::$epbase . "/dashboard/pro-easy-video-analytics.aspx?ref=protab" ?>">Upgrade?</a>
<?php
if (false)//(!(bool) (self::$alloptions[self::$opt_vi_hide_monetize_tab]) && self::vi_ever_logged_in())
{
if (self::vi_logged_in())
{
?>
<a class="nav-tab href-link nav-tab-invalid" href="<?php echo admin_url('admin.php?page=youtube-ep-vi') ?>">Monetize</a>
<?php
}
else
{
?>
<a class="nav-tab nav-tab-invalid" href="#jumpmonetize">Monetize</a>
<?php
}
}
?>
<a class="nav-tab" href="#jumpperformance">Performance</a>
<a class="nav-tab" href="#jumpcompat">Compatibility</a>
<a class="nav-tab" href="#jumpprivacy">Security & Privacy</a>
<a class="nav-tab" href="#jumphowto">Embed Manually</a>
<a class="nav-tab" href="#jumpsupport">Support</a>
</h3>
<?php
}
public static function ytprefs_show_options()
{
if (!current_user_can('manage_options'))
{
wp_die(__('You do not have sufficient permissions to access this page.'));
}
if (self::$double_plugin)
{
self::double_plugin_warning();
}
$ytprefs_submitted = 'ytprefs_submitted';
// Read in existing option values from database
$all = get_option(self::$opt_alloptions);
// See if the user has posted us some information
// If they did, this hidden field will be set to 'Y'
if (isset($_POST[$ytprefs_submitted]) && $_POST[$ytprefs_submitted] == 'Y' && check_admin_referer('_epyt_save', '_epyt_nonce'))
{
$result = self::settings_save($all);
$all = get_option(self::$opt_alloptions);
?>
<div class="updated"><p><strong><?php echo wp_kses_post($result['message']) ?></strong></p></div>
<?php
}
?>
<style type="text/css">
.wrap {font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",Arial,sans-serif; color: #000000;}
.wrap-ytprefs {max-width: 1064px;}
h1 span {vertical-align: middle;}
#ytform p, #ytform .p { line-height: 20px; margin: 18px 0; }
.ytindent {padding: 0px 0px 0px 20px; font-size: 13px; margin-bottom: 100px;}
.ytindent ul, .ytindent p {font-size: 13px;}
.shadow {-webkit-box-shadow: 0px 0px 20px 0px #000000; box-shadow: 0px 0px 20px 0px #000000;}
.gopro {margin: 0px;}
.gopro img {vertical-align: middle;
width: 19px;
height: 19px;
padding-bottom: 4px;}
.gopro li {margin-bottom: 0px;}
.orange {color: #f85d00;}
.bold {font-weight: bold;}
.grey{color: #888888;}
#goprobox {border-radius: 15px; padding: 10px 15px 15px 15px; border: 3px solid #CCE5EC; position: relative;}
.pronon {font-weight: bold; color: #f85d00;}
ul.reglist li {margin-left: 30px; list-style: disc outside none;}
.procol {width: 475px; float: left;}
.ytindent .procol ul {font-size: 12px;}
.smallnote, .ytindent .smallnote {font-style: italic; font-size: 11px;}
.italic {font-style: italic;}
.ytindent h3 {font-size: 16px; line-height: 22px; margin: 5px 0px 10px 0px;}
#wizleftlink {float: left; display: block; width: 240px; font-style: italic; text-align: center; text-decoration: none;}
.button-primary {white-space: nowrap;}
p.submit {margin: 10px 0 0 0; padding: 10px 0 5px 0;}
.wp-core-ui p.submit .button-primary {
font-weight: bold;
font-size: 21px; height: 50px; padding: 0 20px 1px;
background: #2ea2cc; /* Old browsers */
background: -moz-linear-gradient(top, #2ea2cc 0%, #007396 98%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#2ea2cc), color-stop(98%,#007396)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #2ea2cc 0%,#007396 98%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #2ea2cc 0%,#007396 98%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #2ea2cc 0%,#007396 98%); /* IE10+ */
background: linear-gradient(to bottom, #2ea2cc 0%,#007396 98%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2ea2cc', endColorstr='#007396',GradientType=0 ); /* IE6-9 */
}
.wp-core-ui p.submit .button-primary[disabled] {
opacity: .4;
transition: opacity ease-in-out .3s;
}
.wp-core-ui p.submit .button-primary[disabled]:after {
content: url(<?php echo admin_url('images/wpspin_light.gif') ?>);
padding-left: 3px;
}
p.submit em {display: inline-block; padding-left: 20px; vertical-align: middle; width: 240px; margin-top: -6px;}
#opt_pro {box-shadow: 0px 0px 5px 0px #1870D5; width: 320px;vertical-align: top;}
#goprobox h3 {font-size: 14px;}
.chx {border-left: 5px solid rgba(100, 100, 100,.1); margin-bottom: 20px;}
.chx p {margin: 0px 0px 5px 0px;}
.cuz {background-image: linear-gradient(to bottom,#4983FF,#0C5597) !important; color: #ffffff;}
.brightpro {background-image: linear-gradient(to bottom,#ff5500,#cc2200) !important; color: #ffffff;}
#boxdefaultdims {font-weight: bold; padding: 0px 10px; <?php echo $all[self::$opt_defaultdims] ? '' : 'display: none;' ?>}
#boxcustomarrows {font-weight: bold; padding: 0px 10px; <?php echo $all[self::$opt_gallery_customarrows] ? 'display: block;' : 'display: none;' ?>}
#boxchannelsub {font-weight: bold; padding: 0px 10px; <?php echo $all[self::$opt_gallery_channelsub] ? 'display: block;' : 'display: none;' ?>}
#box_collapse_grid {font-weight: bold; padding: 0px 10px; <?php echo isset($all[self::$opt_gallery_collapse_grid]) && $all[self::$opt_gallery_collapse_grid] ? 'display: block;' : 'display: none;' ?>}
#box_restrict_wizard {padding: 0px 10px; <?php echo isset($all[self::$opt_restrict_wizard]) && $all[self::$opt_restrict_wizard] ? 'display: block;' : 'display: none;' ?>}
#box_restrict_wizard label {display: block; margin: 5px 10px;}
.textinput {border-width: 2px !important;}
input[type=text]::placeholder {font-weight: normal;}
h3.sect {border-radius: 10px; background-color: #D9E9F7; padding: 5px 5px 5px 10px; position: relative; font-weight: bold;}
h3.sect a {text-decoration: none; color: #E20000;}
h3.sect a.button-primary {color: #ffffff;}
h4.sect {border-radius: 10px; background-color: #D9E9F7; padding: 5px 5px 5px 10px; position: relative; font-weight: bold;}
.nav-tab-wrapper sup {line-height: 0;}
.ytnav {margin-bottom: 15px;}
.ytnav a {font-weight: bold; display: inline-block; padding: 5px 10px; margin: 0px 15px 0px 0px; border: 1px solid #cccccc; border-radius: 6px;
text-decoration: none; background-color: #ffffff;}
.ytnav a:last-child {margin-right: 0;}
.jumper {height: 25px;}
.ssschema {float: right; width: 350px; height: auto; margin-right: 10px;}
.ssfb {float: right; height: auto; margin-right: 10px; margin-left: 15px; margin-bottom: 10px;}
.totop {position: absolute; right: 20px; top: 5px; color: #444444; font-size: 11px;}
input[type=checkbox] {border: 1px solid #000000;}
.chktitle {display: inline-block; padding: 1px 5px 1px 5px; border-radius: 3px; background-color: #ffffff; border: 1px solid #dddddd;}
b, strong {font-weight: bold;}
input.checkbox[disabled], input[type=radio][disabled] {border: 1px dashed #444444;}
.pad10 {padding: 10px;}
#boxdohl {font-weight: bold; padding: 0px 10px; <?php echo $all[self::$opt_dohl] ? '' : 'display: none;' ?>}
#boxdefaultvol {font-weight: bold; padding: 0px 10px; <?php echo $all[self::$opt_defaultvol] ? '' : 'display: none;' ?>}
.vol-output {display: none; width: 30px; color: #008800;}
.vol-range {background-color: #dddddd; border-radius: 3px; cursor: pointer;}
input#vol {vertical-align: middle;}
.vol-seeslider {display: none;}
.indent-option {margin-left: 25px;}
#boxmigratelist { <?php echo $all[self::$opt_migrate] ? '' : 'display: none;' ?>}
#boxresponsive_all { <?php echo $all[self::$opt_responsive] ? '' : 'display: none;' ?> padding-left: 25px; border-left: 5px solid rgba(100, 100, 100,.1); margin-left: 5px;}
.apikey-video{margin-left: 3%; display: inline-block; width: 50%; position: relative; padding-top: 29%}
.apikey-video iframe{display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0;}
#boxnocookie {display: inline-block; border-radius: 3px; padding: 2px 4px 2px 4px; color: red; <?php echo $all[self::$opt_nocookie] ? '' : 'display: none;' ?>}
#boxapinever {display: none; color: red;}
input[type="radio"]:checked ~ #boxapinever {display: block;}
#box_facade_mode { color: red; <?php echo (bool) $all[self::$opt_facade_mode] ? 'display: block;' : 'display: none;' ?>}
#box_gdpr_consent { color: red; <?php echo (bool) $all[self::$opt_gdpr_consent] ? 'display: block;' : 'display: none;' ?>}
.strike {text-decoration: line-through;}
.upgchecks { padding: 20px; border: 1px dotted #777777; background-color: #fcfcfc; }
.clearboth {clear: both;}
div.hr {clear: both; border-bottom: 1px dotted #A8BDD8; margin: 20px 0 20px 0;}
.wp-pointer-buttons a.close {margin-top: 0 !important;}
.pad20{padding: 20px 0 20px 0;}
.ssgallery {float: right; width: 130px; height: auto; margin-left: 15px; border: 3px solid #ffffff;}
.sssubscribe{display: block; width: 400px; height: auto;}
.ssaltgallery {float: right; height: auto; margin-right: 10px; margin-left: 15px; margin-bottom: 10px; width: 350px;}
.sspopupplayer {float: right; height: auto; margin-right: 10px; margin-left: 15px; margin-bottom: 10px; width: 350px;}
.sshidethumbimg {float: right; height: auto; margin-right: 10px; margin-left: 40px; margin-bottom: 10px; width: 315px;}
.sswizardbutton { max-width: 70%; height: auto;}
.save-changes-follow {position: fixed; z-index: 10000; bottom: 0; right: 0; background-color: #ffffff; padding: 0 20px; border-top-left-radius: 20px; border: 2px solid #aaaaaa; border-right-width: 0; border-bottom-width: 0;
-webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.75);
-moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.75);
box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.75); }
.alertify .ajs-body .ajs-content {line-height: 2.5em;}
#jumpmonetize h2:first-child {margin-bottom: 0;}
.wrap-ytprefs h2.nav-tab-wrapper {
margin:22px 0 0 0;
}
.wrap-ytprefs h3 .nav-tab {
padding: 5px 10px;
}
.wrap-ytprefs section {
display:none;
padding-top:15px;
}
.wrap-ytprefs section#jumpdefaults {
display:block;
}
.wrap-ytprefs .no-js section {
display: block;
}
.gdpr-options-left {
width: 65%;
float: left;
clear: left;
}
.gdpr-options-right {
width: 33%;
float: right;
margin-top: 20px;
}
.gdpr-options-right .img-gdpr-message {
width: 100%;
height: auto;
}
iframe#gdpr_consent_message_ifr {
min-height: 250px !important;
}
section#jumpwiz hr {
margin: 20px 0 20px 0;
}
.wiztab-screenshots {
float: right;
max-width: 50%;
height: auto;
clear: right;
margin-left: 30px;
margin-bottom: 15px;
display: block;
border: 5px solid #dddddd;
}
.epyt-deprecated {
color: #aaaaaa;
}
input[type="checkbox"] + label .check-note {
display: none;
}
input[type="checkbox"]:checked + label .check-note {
display: inline;
}
.not-live-content {
opacity: .3;
}
#not_live_on:checked ~ .not-live-content, #not_live_on_channel:checked ~ .not-live-content {
opacity: 1;
}
#facade_mode ~ .box_facade_mode {
opacity: .3;
}
#facade_mode:checked ~ .box_facade_mode {
opacity: 1;
}
#defer_js ~ .box_defer_jquery {
opacity: .3;
}
#defer_js:checked ~ .box_defer_jquery {
opacity: 1;
}
.epyt-fitvid {
width: 100%;
padding-top: 56.25%;
position: relative;
}
.epyt-fitvid iframe {
position: absolute;
top: 0;
left:0;
right: 0;
bottom: 0;
width: 100%;
height: 100%;
}
.wiztab-pagebuilder {
width: 50%;
float: left;
padding: 20px;
box-sizing: border-box;
}
</style>
<div class="wrap wrap-ytprefs">
<h1><span class="dashicons-before dashicons-video-alt3"></span> <?php echo __('YouTube Settings') ?></h1>
<?php
self::settings_nav();
?>
<div class="ytindent">
<form name="form1" method="post" action="" id="ytform">
<input type="hidden" name="<?php echo $ytprefs_submitted; ?>" value="Y">
<?php wp_nonce_field('_epyt_save', '_epyt_nonce', true); ?>
<section class="pattern" id="jumpapikey">
<h2>
YouTube API Key
</h2>
<p>
Some features (such as galleries, and some wizard features) now require you to create a free YouTube API key from Google.
The instructions for this are very specific, so we created a video for you that's hopefully easy to follow: <a href="https://www.embedplus.com/how-to-create-a-youtube-api-key.aspx" target="_blank">Click this link</a> and follow the steps on the page. Then save your API key below.
</p>
<p>
<b class="chktitle">YouTube API Key:</b>
<input type="text" name="<?php echo self::$opt_apikey; ?>" id="<?php echo self::$opt_apikey; ?>" value="<?php echo esc_attr(trim($all[self::$opt_apikey])); ?>" class="textinput" style="width: 250px;">
</p>
</section>
<section class="pattern" id="jumpdefaults">
<h2>
<?php _e("Default YouTube Options") ?>
</h2>
<p>
<?php _e("One of the benefits of using this plugin is that you can set site-wide default options for all your videos (click \"Save Changes\" when finished). However, you can also override them (and more) on a per-video basis. Directions on how to do that are in the next tab.") ?>
</p>
<div class="ytindent chx">
<p>
<input name="<?php echo self::$opt_glance; ?>" id="<?php echo self::$opt_glance; ?>" <?php checked($all[self::$opt_glance], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_glance; ?>"><?php _e('<b class="chktitle">At a glance:</b> Show "At a Glance" Embed Links on the dashboard homepage.') ?></label>
</p>
<p>
<input name="<?php echo self::$opt_center; ?>" id="<?php echo self::$opt_center; ?>" <?php checked($all[self::$opt_center], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_center; ?>"><?php _e('<b class="chktitle">Centering:</b> Automatically center all your videos (not necessary if all your videos span the whole width of your blog).') ?></label>
</p>
<p>
<input name="<?php echo self::$opt_autoplay; ?>" id="<?php echo self::$opt_autoplay; ?>" <?php checked($all[self::$opt_autoplay], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_autoplay; ?>">
<?php _e('<b class="chktitle">Autoplay:</b> Automatically start playing your videos.') ?>
<strong>Note:</strong> If you're embedding videos from your own monetized YouTube channel, we advise you to read YouTube's resource page on ads on embedded videos:
<a href="https://support.google.com/youtube/answer/132596?hl=en" target="_blank">https://support.google.com/youtube/answer/132596?hl=en</a>
You'll see that videos that you want to monetize "should be embedded using the standard click-to-play embed and NOT a scripted play."
Unchecking this option guarantees standard click-to-play gallery embedding.
(Another Note: Desktop browsers like <a href="https://developers.google.com/youtube/iframe_api_reference#Mobile_considerations" target="_blank">Chrome and Safari are moving towards preventing autoplay for any video</a>. But, your chances are improved if you set your videos to initially start muted.)
</label>
</p>
<p>
<input name="<?php echo self::$opt_iv_load_policy; ?>" id="<?php echo self::$opt_iv_load_policy; ?>" <?php checked($all[self::$opt_iv_load_policy], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_iv_load_policy; ?>"><?php _e('<b class="chktitle">Annotations:</b> Show annotations by default.') ?></label>
</p>
<p>
<input name="<?php echo self::$opt_loop; ?>" id="<?php echo self::$opt_loop; ?>" <?php checked($all[self::$opt_loop], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_loop; ?>"><?php _e('<b class="chktitle">Looping:</b> Loop all your videos. Note: this feature is incompatible with the "hide related videos" feature.') ?></label>
</p>
<p>
<input name="<?php echo self::$opt_modestbranding; ?>" id="<?php echo self::$opt_modestbranding; ?>" <?php checked($all[self::$opt_modestbranding], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_modestbranding; ?>"><?php _e('<b class="chktitle">Modest Branding:</b> No YouTube logo will be shown on the control bar. Instead, as required by YouTube, the logo will only show as a watermark when the video is paused/stopped.') ?></label>
</p>
<p>
<label>
<b class="chktitle">Related Videos:</b>
Show or hide related and recommended videos at the end of playback.
<br>
</label>
<input type="radio" name="<?php echo self::$opt_rel; ?>" id="<?php echo self::$opt_rel; ?>-1" value="-1" <?php checked($all[self::$opt_rel], -1); ?>>
<label for="<?php echo self::$opt_rel; ?>-1">Hide related videos at the end of playback</label>
<input type="radio" name="<?php echo self::$opt_rel; ?>" id="<?php echo self::$opt_rel; ?>0" value="0" <?php checked($all[self::$opt_rel], 0); ?>>
<label for="<?php echo self::$opt_rel; ?>0">Show related videos only from the video's channel</label>
<input type="radio" name="<?php echo self::$opt_rel; ?>" id="<?php echo self::$opt_rel; ?>1" value="1" <?php checked($all[self::$opt_rel], 1); ?>>
<label for="<?php echo self::$opt_rel; ?>1">Show related videos</label>
</p>
<p>
<input name="<?php echo self::$opt_fs; ?>" id="<?php echo self::$opt_fs; ?>" <?php checked($all[self::$opt_fs], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_fs; ?>"><?php _e('<b class="chktitle">Show Fullscreen Button:</b> Show the fullscreen button.') ?></label>
</p>
<p>
<input name="<?php echo self::$opt_acctitle; ?>" id="<?php echo self::$opt_acctitle; ?>" <?php checked($all[self::$opt_acctitle], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_acctitle; ?>"><b class="chktitle">Accessible Title Attributes: </b> Improve accessibility by using title attributes for screen reader support. It should help your site pass functional accessibility evaluations (FAE). </label>
</p>
<p>
<input name="<?php echo self::$opt_color; ?>" id="<?php echo self::$opt_color; ?>" <?php checked($all[self::$opt_color], 'red'); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_color; ?>"><?php _e('<b class="chktitle">Red Progress Bar:</b> Use the red progress bar (uncheck to use a white progress bar). Note: Using white will disable the modestbranding option.') ?></label>
</p>
<p>
<input name="<?php echo self::$opt_defaultdims; ?>" id="<?php echo self::$opt_defaultdims; ?>" <?php checked($all[self::$opt_defaultdims], 1); ?> type="checkbox" class="checkbox">
<span id="boxdefaultdims">
Width: <input type="number" min="200" name="<?php echo self::$opt_defaultwidth; ?>" id="<?php echo self::$opt_defaultwidth; ?>" value="<?php echo esc_attr(trim($all[self::$opt_defaultwidth])); ?>" class="textinput" style="width: 75px;">
Height: <input type="number" min="200" name="<?php echo self::$opt_defaultheight; ?>" id="<?php echo self::$opt_defaultheight; ?>" value="<?php echo esc_attr(trim($all[self::$opt_defaultheight])); ?>" class="textinput" style="width: 75px;">
</span>
<label for="<?php echo self::$opt_defaultdims; ?>"><?php _e('<b class="chktitle">Default Dimensions:</b> Make your videos have a default size, for better loading performance and consistency. Recommended: 800 x 450 (NOTE: If responsive sizing is also turned on, your videos will be responsive but also keep this aspect ratio.). Also, according to YouTube guidelines, the player must be a minimum of 200 x 200 (or recommended 480 x 270 for 16:9 ratio players) in order to display correctly.') ?></label>
</p>
<p>
<input name="<?php echo self::$opt_responsive; ?>" id="<?php echo self::$opt_responsive; ?>" <?php checked($all[self::$opt_responsive], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_responsive; ?>"><?php _e('<b class="chktitle">Responsive Video Sizing:</b> Make your videos responsive so that they dynamically fit in all screen sizes (smart phone, PC and tablet). NOTE: While this is checked, any custom hardcoded widths and heights you may have set will dynamically change too. <b>Uncheck this if your theme already properly handles responsive video sizing.</b>') ?></label>
<div id="boxresponsive_all">
<input type="radio" name="<?php echo self::$opt_responsive_all; ?>" id="<?php echo self::$opt_responsive_all; ?>1" value="1" <?php checked($all[self::$opt_responsive_all], 1); ?> >
<label for="<?php echo self::$opt_responsive_all; ?>1">Responsive for all YouTube videos</label>
<input type="radio" name="<?php echo self::$opt_responsive_all; ?>" id="<?php echo self::$opt_responsive_all; ?>0" value="0" <?php checked($all[self::$opt_responsive_all], 0); ?> >
<label for="<?php echo self::$opt_responsive_all; ?>0">Responsive for only videos embedded via this plugin</label>
</div>
</p>
<p>
<input name="<?php echo self::$opt_widgetfit; ?>" id="<?php echo self::$opt_widgetfit; ?>" <?php checked($all[self::$opt_widgetfit], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_widgetfit; ?>"><?php _e('<b class="chktitle">Autofit Widget Videos:</b> Make each video that you embed in a widget area automatically fit the width of its container.') ?></label>
</p>
<p>
<input name="<?php echo self::$opt_playsinline; ?>" id="<?php echo self::$opt_playsinline; ?>" <?php checked($all[self::$opt_playsinline], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_playsinline; ?>">
<b class="chktitle">iOS Playback:</b> Check this to allow your embeds to play inline within your page when viewed on iOS (iPhone and iPad) browsers. Uncheck it to have iOS launch your embeds in fullscreen instead.
<em>Disclaimer: YouTube/Google has issues with this iOS related parameter, but we are providing it here in the event that they support it consistently.</em>
</label>
</p>
<p>
<input name="<?php echo self::$opt_controls; ?>" id="<?php echo self::$opt_controls; ?>" <?php checked($all[self::$opt_controls], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_controls; ?>"><b class="chktitle">Show Controls:</b> Show the player's control bar. Unchecking this option creates a cleaner look but limits what your viewers can control (play position, volume, etc.).</label>
</p>
<p>
<input name="<?php echo self::$opt_defaultvol; ?>" id="<?php echo self::$opt_defaultvol; ?>" <?php checked($all[self::$opt_defaultvol], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_defaultvol; ?>">
<b class="chktitle">Volume Initialization: </b>
Set an initial volume level for all of your embedded videos. Check this and you'll see a <span class="vol-seeslider">slider</span> <span class="vol-seetextbox">textbox</span> for setting the start volume to a value between 0 (mute) and 100 (max) percent. Leaving it unchecked means you want the visitor's default behavior. This feature is experimental and is less predictable on a page with more than one embed. Read more about why you might want to <a href="<?php echo self::$epbase ?>/mute-volume-youtube-wordpress.aspx" target="_blank">initialize YouTube embed volume here »</a>
</label>
<span id="boxdefaultvol">
Volume: <span class="vol-output"></span> <input min="0" max="100" step="1" type="text" name="<?php echo self::$opt_vol; ?>" id="<?php echo self::$opt_vol; ?>" value="<?php echo esc_attr(trim($all[self::$opt_vol])); ?>" >
</span>
</p>
<p>
<input name="<?php echo self::$opt_pause_others; ?>" id="<?php echo self::$opt_pause_others; ?>" <?php checked($all[self::$opt_pause_others], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_pause_others; ?>">
<b class="chktitle"><?php _e('Simultaneous Playback Control:', 'youtube-embed-plus'); ?></b>
<?php _e('You can enable/disable the ability for visitors to have separate videos running at the same time on the same page. Check this to automatically pause other players while the current player is playing. (Note: this feature is not guaranteed to work with videos embedded from other plugins).', 'youtube-embed-plus'); ?>
</label>
</p>
<p>
<input name="<?php echo self::$opt_cc_load_policy; ?>" id="<?php echo self::$opt_cc_load_policy; ?>" <?php checked($all[self::$opt_cc_load_policy], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_cc_load_policy; ?>"><?php _e('<b class="chktitle">Closed Captions:</b> Turn on closed captions by default.') ?></label>
</p>
<?php
$lang_codes = [
["Abkhazian", "аҧсуа бызшәа, аҧсшәа", "ab", "abk", "abk"],
["Afar", "Afaraf", "aa", "aar", "aar"],
["Afrikaans", "Afrikaans", "af", "afr", "afr"],
["Akan", "Akan", "ak", "aka", "aka"],
["Albanian", "Shqip", "sq", "sqi", "alb"],
["Amharic", "አማርኛ", "am", "amh", "amh"],
["Arabic", "العربية", "ar", "ara", "ara"],
["Aragonese", "aragonés", "an", "arg", "arg"],
["Armenian", "Հայերեն", "hy", "hye", "arm"],
["Assamese", "অসমীয়া", "as", "asm", "asm"],
["Avaric", "авар мацӀ, магӀарул мацӀ", "av", "ava", "ava"],
["Avestan", "avesta", "ae", "ave", "ave"],
["Aymara", "aymar aru", "ay", "aym", "aym"],
["Azerbaijani", "azərbaycan dili", "az", "aze", "aze"],
["Bambara", "bamanankan", "bm", "bam", "bam"],
["Bashkir", "башҡорт теле", "ba", "bak", "bak"],
["Basque", "euskara, euskera", "eu", "eus", "baq"],
["Belarusian", "беларуская мова", "be", "bel", "bel"],
["Bengali", "বাংলা", "bn", "ben", "ben"],
["Bihari languages", "भोजपुरी", "bh", "bih", "bih"],
["Bislama", "Bislama", "bi", "bis", "bis"],
["Bosnian", "bosanski jezik", "bs", "bos", "bos"],
["Breton", "brezhoneg", "br", "bre", "bre"],
["Bulgarian", "български език", "bg", "bul", "bul"],
["Burmese", "ဗမာစာ", "my", "mya", "bur"],
["Catalan, Valencian", "català, valencià", "ca", "cat", "cat"],
["Chamorro", "Chamoru", "ch", "cha", "cha"],
["Chechen", "нохчийн мотт", "ce", "che", "che"],
["Chichewa, Chewa, Nyanja", "chiCheŵa, chinyanja", "ny", "nya", "nya"],
["Chinese", "中文 (Zhōngwén), 汉语, 漢語", "zh", "zho", "chi"],
["Chuvash", "чӑваш чӗлхи", "cv", "chv", "chv"],
["Cornish", "Kernewek", "kw", "cor", "cor"],
["Corsican", "corsu, lingua corsa", "co", "cos", "cos"],
["Cree", "ᓀᐦᐃᔭᐍᐏᐣ", "cr", "cre", "cre"],
["Croatian", "hrvatski jezik", "hr", "hrv", "hrv"],
["Czech", "čeština, český jazyk", "cs", "ces", "cze"],
["Danish", "dansk", "da", "dan", "dan"],
["Divehi, Dhivehi, Maldivian", "ދިވެހި", "dv", "div", "div"],
["Dutch, Flemish", "Nederlands, Vlaams", "nl", "nld", "dut"],
["Dzongkha", "རྫོང་ཁ", "dz", "dzo", "dzo"],
["English", "English", "en", "eng", "eng"],
["Esperanto", "Esperanto", "eo", "epo", "epo"],
["Estonian", "eesti, eesti keel", "et", "est", "est"],
["Ewe", "Eʋegbe", "ee", "ewe", "ewe"],
["Faroese", "føroyskt", "fo", "fao", "fao"],
["Fijian", "vosa Vakaviti", "fj", "fij", "fij"],
["Finnish", "suomi, suomen kieli", "fi", "fin", "fin"],
["French", "français, langue française", "fr", "fra", "fre"],
["Fulah", "Fulfulde, Pulaar, Pular", "ff", "ful", "ful"],
["Galician", "Galego", "gl", "glg", "glg"],
["Georgian", "ქართული", "ka", "kat", "geo"],
["German", "Deutsch", "de", "deu", "ger"],
["Greek, Modern (1453–)", "ελληνικά", "el", "ell", "gre"],
["Guarani", "Avañe'ẽ", "gn", "grn", "grn"],
["Gujarati", "ગુજરાતી", "gu", "guj", "guj"],
["Haitian, Haitian Creole", "Kreyòl ayisyen", "ht", "hat", "hat"],
["Hausa", "(Hausa) هَوُسَ", "ha", "hau", "hau"],
["Hebrew", "עברית", "he", "heb", "heb"],
["Herero", "Otjiherero", "hz", "her", "her"],
["Hindi", "हिन्दी, हिंदी", "hi", "hin", "hin"],
["Hiri Motu", "Hiri Motu", "ho", "hmo", "hmo"],
["Hungarian", "magyar", "hu", "hun", "hun"],
["Interlingua (International Auxiliary Language Association)", "Interlingua", "ia", "ina", "ina"],
["Indonesian", "Bahasa Indonesia", "id", "ind", "ind"],
["Interlingue, Occidental", "(originally:) Occidental, (after WWII:) Interlingue", "ie", "ile", "ile"],
["Irish", "Gaeilge", "ga", "gle", "gle"],
["Igbo", "Asụsụ Igbo", "ig", "ibo", "ibo"],
["Inupiaq", "Iñupiaq, Iñupiatun", "ik", "ipk", "ipk"],
["Ido", "Ido", "io", "ido", "ido"],
["Icelandic", "Íslenska", "is", "isl", "ice"],
["Italian", "Italiano", "it", "ita", "ita"],
["Inuktitut", "ᐃᓄᒃᑎᑐᑦ", "iu", "iku", "iku"],
["Japanese", "日本語 (にほんご)", "ja", "jpn", "jpn"],
["Javanese", "ꦧꦱꦗꦮ, Basa Jawa", "jv", "jav", "jav"],
["Kalaallisut, Greenlandic", "kalaallisut, kalaallit oqaasii", "kl", "kal", "kal"],
["Kannada", "ಕನ್ನಡ", "kn", "kan", "kan"],
["Kanuri", "Kanuri", "kr", "kau", "kau"],
["Kashmiri", "कश्मीरी, كشميري", "ks", "kas", "kas"],
["Kazakh", "қазақ тілі", "kk", "kaz", "kaz"],
["Central Khmer", "ខ្មែរ, ខេមរភាសា, ភាសាខ្មែរ", "km", "khm", "khm"],
["Kikuyu, Gikuyu", "Gĩkũyũ", "ki", "kik", "kik"],
["Kinyarwanda", "Ikinyarwanda", "rw", "kin", "kin"],
["Kirghiz, Kyrgyz", "Кыргызча, Кыргыз тили", "ky", "kir", "kir"],
["Komi", "коми кыв", "kv", "kom", "kom"],
["Kongo", "Kikongo", "kg", "kon", "kon"],
["Korean", "한국어", "ko", "kor", "kor"],
["Kurdish", "Kurdî, کوردی", "ku", "kur", "kur"],
["Kuanyama, Kwanyama", "Kuanyama", "kj", "kua", "kua"],
["Latin", "latine, lingua latina", "la", "lat", "lat"],
["Luxembourgish, Letzeburgesch", "Lëtzebuergesch", "lb", "ltz", "ltz"],
["Ganda", "Luganda", "lg", "lug", "lug"],
["Limburgan, Limburger, Limburgish", "Limburgs", "li", "lim", "lim"],
["Lingala", "Lingála", "ln", "lin", "lin"],
["Lao", "ພາສາລາວ", "lo", "lao", "lao"],
["Lithuanian", "lietuvių kalba", "lt", "lit", "lit"],
["Luba-Katanga", "Kiluba", "lu", "lub", "lub"],
["Latvian", "latviešu valoda", "lv", "lav", "lav"],
["Manx", "Gaelg, Gailck", "gv", "glv", "glv"],
["Macedonian", "македонски јазик", "mk", "mkd", "mac"],
["Malagasy", "fiteny malagasy", "mg", "mlg", "mlg"],
["Malay", "Bahasa Melayu, بهاس ملايو", "ms", "msa", "may"],
["Malayalam", "മലയാളം", "ml", "mal", "mal"],
["Maltese", "Malti", "mt", "mlt", "mlt"],
["Maori", "te reo Māori", "mi", "mri", "mao"],
["Marathi", "मराठी", "mr", "mar", "mar"],
["Marshallese", "Kajin M̧ajeļ", "mh", "mah", "mah"],
["Mongolian", "Монгол хэл", "mn", "mon", "mon"],
["Nauru", "Dorerin Naoero", "na", "nau", "nau"],
["Navajo, Navaho", "Diné bizaad", "nv", "nav", "nav"],
["North Ndebele", "isiNdebele", "nd", "nde", "nde"],
["Nepali", "नेपाली", "ne", "nep", "nep"],
["Ndonga", "Owambo", "ng", "ndo", "ndo"],
["Norwegian Bokmål", "Norsk Bokmål", "nb", "nob", "nob"],
["Norwegian Nynorsk", "Norsk Nynorsk", "nn", "nno", "nno"],
["Norwegian", "Norsk", "no", "nor", "nor"],
["Sichuan Yi, Nuosu", "ꆈꌠ꒿ Nuosuhxop", "ii", "iii", "iii"],
["South Ndebele", "isiNdebele", "nr", "nbl", "nbl"],
["Occitan", "occitan, lenga d'òc", "oc", "oci", "oci"],
["Ojibwa", "ᐊᓂᔑᓈᐯᒧᐎᓐ", "oj", "oji", "oji"],
["Church Slavic, Old Slavonic, Church Slavonic, Old Bulgarian, Old Church Slavonic", "ѩзыкъ словѣньскъ", "cu", "chu", "chu"],
["Oromo", "Afaan Oromoo", "om", "orm", "orm"],
["Oriya", "ଓଡ଼ିଆ", "or", "ori", "ori"],
["Ossetian, Ossetic", "ирон æвзаг", "os", "oss", "oss"],
["Punjabi, Panjabi", "ਪੰਜਾਬੀ, پنجابی", "pa", "pan", "pan"],
["Pali", "पालि, पाळि", "pi", "pli", "pli"],
["Persian", "فارسی", "fa", "fas", "per"],
["Polish", "język polski, polszczyzna", "pl", "pol", "pol"],
["Pashto, Pushto", "پښتو", "ps", "pus", "pus"],
["Portuguese", "Português", "pt", "por", "por"],
["Quechua", "Runa Simi, Kichwa", "qu", "que", "que"],
["Romansh", "Rumantsch Grischun", "rm", "roh", "roh"],
["Rundi", "Ikirundi", "rn", "run", "run"],
["Romanian, Moldavian, Moldovan", "Română", "ro", "ron", "rum"],
["Russian", "русский", "ru", "rus", "rus"],
["Sanskrit", "संस्कृतम्", "sa", "san", "san"],
["Sardinian", "sardu", "sc", "srd", "srd"],
["Sindhi", "सिन्धी, سنڌي، سندھی", "sd", "snd", "snd"],
["Northern Sami", "Davvisámegiella", "se", "sme", "sme"],
["Samoan", "gagana fa'a Samoa", "sm", "smo", "smo"],
["Sango", "yângâ tî sängö", "sg", "sag", "sag"],
["Serbian", "српски језик", "sr", "srp", "srp"],
["Gaelic, Scottish Gaelic", "Gàidhlig", "gd", "gla", "gla"],
["Shona", "chiShona", "sn", "sna", "sna"],
["Sinhala, Sinhalese", "සිංහල", "si", "sin", "sin"],
["Slovak", "Slovenčina, Slovenský Jazyk", "sk", "slk", "slo"],
["Slovenian", "Slovenski Jezik, Slovenščina", "sl", "slv", "slv"],
["Somali", "Soomaaliga, af Soomaali", "so", "som", "som"],
["Southern Sotho", "Sesotho", "st", "sot", "sot"],
["Spanish, Castilian", "Español", "es", "spa", "spa"],
["Sundanese", "Basa Sunda", "su", "sun", "sun"],
["Swahili", "Kiswahili", "sw", "swa", "swa"],
["Swati", "SiSwati", "ss", "ssw", "ssw"],
["Swedish", "Svenska", "sv", "swe", "swe"],
["Tamil", "தமிழ்", "ta", "tam", "tam"],
["Telugu", "తెలుగు", "te", "tel", "tel"],
["Tajik", "тоҷикӣ, toçikī, تاجیکی", "tg", "tgk", "tgk"],
["Thai", "ไทย", "th", "tha", "tha"],
["Tigrinya", "ትግርኛ", "ti", "tir", "tir"],
["Tibetan", "བོད་ཡིག", "bo", "bod", "tib"],
["Turkmen", "Türkmen, Түркмен", "tk", "tuk", "tuk"],
["Tagalog", "Wikang Tagalog", "tl", "tgl", "tgl"],
["Tswana", "Setswana", "tn", "tsn", "tsn"],
["Tonga (Tonga Islands)", "Faka Tonga", "to", "ton", "ton"],
["Turkish", "Türkçe", "tr", "tur", "tur"],
["Tsonga", "Xitsonga", "ts", "tso", "tso"],
["Tatar", "татар теле, tatar tele", "tt", "tat", "tat"],
["Twi", "Twi", "tw", "twi", "twi"],
["Tahitian", "Reo Tahiti", "ty", "tah", "tah"],
["Uighur, Uyghur", "ئۇيغۇرچە, Uyghurche", "ug", "uig", "uig"],
["Ukrainian", "Українська", "uk", "ukr", "ukr"],
["Urdu", "اردو", "ur", "urd", "urd"],
["Uzbek", "Oʻzbek, Ўзбек, أۇزبېك", "uz", "uzb", "uzb"],
["Venda", "Tshivenḓa", "ve", "ven", "ven"],
["Vietnamese", "Tiếng Việt", "vi", "vie", "vie"],
["Volapük", "Volapük", "vo", "vol", "vol"],
["Walloon", "Walon", "wa", "wln", "wln"],
["Welsh", "Cymraeg", "cy", "cym", "wel"],
["Wolof", "Wollof", "wo", "wol", "wol"],
["Western Frisian", "Frysk", "fy", "fry", "fry"],
["Xhosa", "isiXhosa", "xh", "xho", "xho"],
["Yiddish", "ייִדיש", "yi", "yid", "yid"],
["Yoruba", "Yorùbá", "yo", "yor", "yor"],
["Zhuang, Chuang", "Saɯ cueŋƅ, Saw cuengh", "za", "zha", "zha"],
["Zulu", "isiZulu", "zu", "zul", "zul"]
];
$selected_val = trim($all[self::$opt_cc_lang_pref]);
?>
<p>
<label for="<?php echo self::$opt_cc_lang_pref; ?>"><b class="chktitle">Closed Captions Language:</b></label>
<select name="<?php echo self::$opt_cc_lang_pref; ?>" id="<?php echo self::$opt_cc_lang_pref; ?>" style="width: 260px;">
<option <?php echo '' == $selected_val ? 'selected' : '' ?> value="">Default/Unspecified</option>
<?php
foreach ($lang_codes as $idx => $lang_row)
{
$iso_code = $lang_row[2];
$iso_label = $lang_row[0] . ' - ' . $lang_row[1];
?>
<option <?php echo $iso_code == $selected_val ? 'selected' : '' ?> value="<?php echo $iso_code ?>"><?php echo $iso_label ?></option>
<?php
}
?>
</select>
Select the preferred default language for closed captions (when available).
</p>
<p>
<input name="<?php echo self::$opt_dohl; ?>" id="<?php echo self::$opt_dohl; ?>" <?php checked($all[self::$opt_dohl], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_dohl; ?>"><b class="chktitle">Player Localization / Internationalization: </b>
Automatically detect your site's default language (using get_locale) and set your YouTube embeds interface language so that it matches. Specifically, this will set the player's tooltips and caption track if your language is natively supported by YouTube. We suggest checking this if English is not your site's default language. <a href="<?php echo self::$epbase ?>/youtube-iso-639-1-language-codes.aspx" target="_blank">See here for more details »</a></label>
</p>
<p>
<input name="<?php echo self::$opt_playlistorder; ?>" id="<?php echo self::$opt_playlistorder; ?>" <?php checked($all[self::$opt_playlistorder], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_playlistorder; ?>">
<b class="chktitle">Self-contained Playlist Ordering:</b>
Note: This option does <strong class="orange">NOT</strong> apply to galleries. It applies only to these kinds of <em>self-contained playlists</em> (Example: <a target="_blank" href="https://www.youtube.com/watch?v=J50PlRZHH9I&t=3m20s">https://www.youtube.com/watch?v=J50PlRZHH9I&t=3m20s</a>).
If you're trying to control the order of a <em>gallery</em> instead, then you must be the owner of the playlist, go to YouTube.com, and reorder it there. This plugin can only order a <em>gallery</em> the way the owner ordered the source playlist.
Check this option if you just want your <em>self-contained playlists</em> to begin with the latest added video by default. (Unchecking this will force playlists to always start with your selected specific video, even if you add videos to the playlist later).
</label>
</p>
<p>
<input name="<?php echo self::$opt_onboarded; ?>" id="<?php echo self::$opt_onboarded; ?>" <?php checked($all[self::$opt_onboarded], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_onboarded; ?>">
<b class="chktitle">Hide Quick Setup Guide:</b>
Check this to hide the installation setup wizard when this page loads.
</label>
</p>
<p>
<input name="<?php echo self::$opt_show_pointer; ?>" id="<?php echo self::$opt_show_pointer; ?>" <?php checked($all[self::$opt_show_pointer], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_show_pointer; ?>">
<b class="chktitle">Show New Feature Notice:</b>
Show admin notice of new plugin features after updates.
</label>
</p>
<p class="<?php echo self::vi_logged_in() || !empty($all[self::$opt_vi_active]) || !self::vi_ever_logged_in() ? 'hidden' : '' ?>">
<input name="<?php echo self::$opt_vi_hide_monetize_tab; ?>" id="<?php echo self::$opt_vi_hide_monetize_tab; ?>" <?php checked($all[self::$opt_vi_hide_monetize_tab], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_vi_hide_monetize_tab; ?>"><b class="chktitle">Hide "Monetize" Feature:</b> (deprecated) Hide the tab(s) for the deprecated video intelligence feature.</label>
</p>
<div id="not_live_content_scroll" class="p">
<p>
<b class="chktitle">Use "Not Live" Fallback Content For Live Streams:</b> (<a href="<?php echo self::$epbase ?>/how-to-embed-a-youtube-livestream-in-wordpress.aspx" target="_blank">More info here</a>)
This feature lets you display alternate content if your live stream is not currently active. This feature works for <strong>direct link</strong> live streams
(more info about channel-based live streams below).
</p>
<div class="ytindent chx">
<input name="<?php echo self::$opt_not_live_on; ?>" id="<?php echo self::$opt_not_live_on; ?>" <?php checked($all[self::$opt_not_live_on], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_not_live_on; ?>"><span class="chktitle">Turn on for <b>direct link</b> live streams:</span>
When your direct-link embed is not streaming live, the YouTube live player usually displays a countdown after the user clicks the play button.
Instead of showing that player, you can display some "coming soon" content in that space for your visitors to see until your video begins to live stream.
The plugin will automatically switch to your video's live stream once it's active. In the <em>"Not Live" Fallback Content</em> box below, enter what you would like to appear until then.
You can even insert shortcodes from our plugin into the box below (shortcodes from other plugins may or may not work correctly).
If you just want to show the standard countdown player that YouTube provides, don't use this feature.
<strong>NOTE: Turning this on for direct-link live streams uses a significant amount of your YouTube API quota. We suggest unchecking it if your site has high traffic. If you chose to use this feature, do <u>not</u> put another live stream embed below.</strong>
</label>
<br>
<br>
<input disabled id="<?php echo self::$opt_not_live_on_channel; ?>" type="checkbox" class="checkbox">
<label><span class="chktitle">Turn on for <b>channel</b> live streams: <sup class="orange">upgrade required</sup></span>
Unfortunately, Google has recently removed their YouTube API feature that used to support channel-based live streams. It appears they won't change things back. However, you do have a couple of choices:
<ol>
<li>Use "Direct link" live streams, as explained above. The trade-off is that you will have to manually post and take down your future live streams every time they start and when they end, respectively.</li>
<li>Or <a href="<?php echo self::$epbase ?>/dashboard/pro-easy-video-analytics.aspx" target="_blank">upgrade to Pro</a>, which has a solution that brings back all the "set it and forget it" features of channel-based embeds. We spent a significant amount of time developing a stable, long-term solution around YouTube's limitations, so we are releasing this effort exclusively to our Pro customers.</li>
</ol>
</label>
<div class="p not-live-content">
<p>
<b>"Not Live" Fallback Content:</b>
</p>
<?php
wp_editor(wp_kses_post($all[self::$opt_not_live_content]), self::$opt_not_live_content, array('textarea_rows' => 7));
?>
</div>
</div>
</div>
</div>
</section>
<section class="pattern" id="jumpprivacy">
<h2>Security Options</h2>
<p>
<input name="<?php echo self::$opt_restrict_wizard; ?>" id="<?php echo self::$opt_restrict_wizard; ?>" <?php checked($all[self::$opt_restrict_wizard], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_restrict_wizard; ?>">
<b class="chktitle">Restrict Wizard Button:</b> Select which roles can use the YouTube wizard button. For example, you may wish to hide the button from contributors submitting content on the front end.
</label>
<br>
<span id="box_restrict_wizard" class="chx">
<?php
foreach (self::$dft_roles as $idx => $role)
{
?>
<label>
<input type="checkbox" name="<?php echo self::$opt_restrict_wizard_roles . '[]' ?>" value="<?php echo esc_attr($role) ?>" <?php echo in_array($role, $all[self::$opt_restrict_wizard_roles]) ? 'checked' : '' ?>>
<?php echo esc_html(ucfirst($role)); ?>s
</label>
<?php
}
?>
</span>
</p>
<p>
<input name="<?php echo self::$opt_origin; ?>" id="<?php echo self::$opt_origin; ?>" <?php checked($all[self::$opt_origin], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_origin; ?>"><b class="chktitle">Extra Player Security: </b>
Add site origin information with each embed code as an extra security measure. In YouTube's/Google's own words, checking this option "protects against malicious third-party JavaScript being injected into your page and hijacking control of your YouTube player." We especially recommend checking it as it adds higher security than the built-in YouTube embedding method that comes with the current version of WordPress (i.e. oembed).
</label>
</p>
<h2>Privacy Options</h2>
<p>These options may help with privacy restrictions such as GDPR and the EU Cookie Law.</p>
<div class="ytindent chx">
<p>
<b class="chktitle">YouTube API Loading:</b> Choose when to load the YouTube API. The "Restricted" or "Never" options will help with GDPR compliance:
<ul class="indent-option">
<li><label><input type="radio" name="<?php echo self::$opt_ytapi_load ?>" value="light" <?php checked($all[self::$opt_ytapi_load], 'light'); ?> /> <em>Restricted</em> - (Recommended) Only load the API on pages that have a YouTube video.</label></li>
<li><label>
<input type="radio" name="<?php echo self::$opt_ytapi_load ?>" value="never" <?php checked($all[self::$opt_ytapi_load], 'never'); ?> /> <em>Never</em> - Do not load the YouTube API. Note: The "Never" choice may break a few features such as Volume Initialization and Gallery Continuous/Auto Play.
<div id="boxapinever">
Note: Checking this option may break some features such as the ones listed below:
<ul class="list-ul">
<li>Galleries</li>
<li>Hide related videos at the end of playback</li>
<li>Volume initialization</li>
<li>Simultaneous playback control</li>
<li>Playing video on mobile devices</li>
</ul>
</div>
</label></li>
<li><label><input type="radio" name="<?php echo self::$opt_ytapi_load ?>" value="always" <?php checked($all[self::$opt_ytapi_load], 'always'); ?> /> <em>Always</em> - Load the API on all pages. In most cases, the "Always" choice is not necessary.</label></li>
</ul>
</p>
<p>
<input name="<?php echo self::$opt_gdpr_consent; ?>" id="<?php echo self::$opt_gdpr_consent; ?>" <?php checked($all[self::$opt_gdpr_consent], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_gdpr_consent; ?>">
<b class="chktitle">Privacy/GDPR - Show Consent Message:</b> Ask for consent before loading YouTube content. A message will be displayed in place of the YouTube video, as shown in the screenshot below. Once the visitor approves consent, the YouTube content will load. You can customize the message text and the button text in the next 2 options.
See this feature demonstrated in <a href="https://www.youtube.com/watch?v=lm_HIic6obw" target="_blank">this video</a>.
</label>
<span id="box_gdpr_consent">
Note: If your visitors click a red accept button but your site doesn't reveal the video, you probably have a caching plugin. There should be a setting in your caching plugin to prevent caching the consent cookie. The name of the consent cookie is: <code>ytprefs_gdpr_consent</code>
</span>
</p>
<p>
<label for="<?php echo self::$opt_gdpr_consent_message; ?>">
<b class="chktitle">Privacy/GDPR - Consent Message Text:</b>
Below you can customize the message that will appear to visitors before they accept YouTube content:
</label>
<div class="clearboth"></div>
<div class="gdpr-options-left">
<?php
wp_editor(wp_kses_post($all[self::$opt_gdpr_consent_message]), self::$opt_gdpr_consent_message, array(
'textarea_rows' => 22,
'media_buttons' => false,
'teeny' => true
));
?>
</div>
<div class="gdpr-options-right">
<p><em>Example of message and button:</em></p>
<img src="<?php echo plugins_url('images/ss-gdpr-message.png', __FILE__) ?>" alt="GDPR Consent Message Example" class="img-gdpr-message" />
</div>
</p>
<div class="clearboth"></div>
<p>
<label for="<?php echo self::$opt_gdpr_consent_button; ?>">
<b class="chktitle">Privacy/GDPR - Consent Button Text:</b>
This is the text for the red "Accept" button that appears with the above privacy/GDPR message:
</label>
<br>
<input type="text" placeholder="Example: Accept YouTube Content" name="<?php echo self::$opt_gdpr_consent_button; ?>" id="<?php echo self::$opt_gdpr_consent_button; ?>" value="<?php echo esc_attr(trim($all[self::$opt_gdpr_consent_button])); ?>" class="textinput regular-text"/>
</p>
<p>
<input name="<?php echo self::$opt_nocookie; ?>" id="<?php echo self::$opt_nocookie; ?>" <?php checked($all[self::$opt_nocookie], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_nocookie; ?>">
<b class="chktitle">No Cookies:</b> Prevent YouTube from leaving tracking cookies on your visitors browsers unless they actual play the videos. This is coded to apply this behavior on links in your past post as well.
<div id="boxnocookie">
Note: Checking this option may introduce issues to features that depend YouTube's API, such as the ones listed below. We suggest testing them out to make sure you are still pleased with the results:
<ul class="list-ul">
<li>Galleries</li>
<li>Hide related videos at the end of playback</li>
<li>Volume initialization</li>
<li>Simultaneous playback control</li>
<li>Playing video on mobile devices</li>
</ul>
</div>
</label>
</p>
</div>
</section>
<section class="pattern" id="jumpwiz">
<h2>Visual YouTube Wizard Directions</h2>
<p>
While you're writing your post or page, you have the ability to search YouTube and insert videos, playlists, and even galleries right from your editor. Below are directions for each type of WordPress editor.
For <strong>pagebuilder instructions</strong>, scroll down to the "Pagebuilder Tips" section.
</p>
<h3>Classic Editor</h3>
<img class="wiztab-screenshots" src="<?php echo plugins_url('images/ss-wiz-classic.png', __FILE__) ?>">
<p>
Simply click the YouTube wizard button found above
your post editor to start the wizard (see image to the right to locate this button). There, you'll have several options for different types of embeds.
Each embed code will have an "Insert Into Editor" button that you can click to directly embed the desired video link to your post without having to copy and paste.
</p>
<hr class="clearboth">
<h3>Widgets</h3>
<img class="wiztab-screenshots" src="<?php echo plugins_url('images/ss-wiz-widget.png', __FILE__) ?>">
<p>
To insert a video in a widget area, use the Text widget that comes with WordPress. Simply click the YouTube wizard button found above
the widget textbox to start the wizard (see image to the right to locate this button). There, you'll have several options for different types of embeds.
Each embed code will have an "Insert Into Editor" button that you can click to directly embed the desired video link to your post without having to copy and paste.
</p>
<hr class="clearboth"/>
<h3>Gutenberg Block Editor</h3>
<img class="wiztab-screenshots" src="<?php echo plugins_url('images/ss-wiz-gbblock.png', __FILE__) ?>">
<p>
Click on the (+) sign for the block editor list. The YouTube Wizard block is located under the "Embeds" category (make sure you choose "YouTube <strong>Wizard</strong>" not "YouTube").
Then your page will show a placeholder where you can launch the wizard. In the wizard, you'll have several options for different types of embeds.
Each embed code will have an "Insert Into Editor" button that you can click to directly embed the desired video link to your post without having to copy and paste.
You'll also be able to preview and interact with your embed without having to view the page on the front end.
</p>
<hr class="clearboth"/>
<h3>Gutenberg Classic Block</h3>
<img class="wiztab-screenshots" src="<?php echo plugins_url('images/ss-wiz-gbclassicblock.png', __FILE__) ?>">
<p>
Are you using Gutenberg but not quite ready to start using all the blocks? Well, you can still access our wizard if you wish to continue using Gutenberg's Classic block.
The Classic block brings back the former editor you used before WordPress, and so we've added a button to it you can use to launch the wizard (see example on the right).
Simply click the wizard button to start the wizard. There, you'll have several options for different types of embeds.
Each embed code will have an "Insert Into Editor" button that you can click to directly embed the desired video link to your post without having to copy and paste.
</p>
<hr class="clearboth"/>
<h3>Pro Customization</h3>
<img class="wiztab-screenshots" src="<?php echo plugins_url('images/ssprowizard.png', __FILE__) ?>">
<p>
<a href="<?php echo self::$epbase ?>/dashboard/pro-easy-video-analytics.aspx?ref=wizdirections" target="_blank"><b>Even more options are available to PRO users, no matter which editor you choose!</b></a>
Simply click the "Customize" button in the wizard to further personalize each of your embeds without having to manually add special codes yourself.
The customize button will allow you to easily override most of the above default options for that embed.
</p>
<hr class="clearboth"/>
<h2 id="jumppagebuilder">Pagebuilder Tips</h2>
<p>
Most page builders have a text widget in which our plugin's wizard can be launched. Watch the videos below for some popular ones, namely Elementor, Beaver Builder, and SiteOrigin.
</p>
<p>
<em>Note: Please do not check the "Also Defer jQuery" option if you use a pagebuilder. Some pagebuilders cannot work if jQuery is deferred.</em>
</p>
<div class="wiztab-pagebuilder">
<h3>Beaver Builder</h3>
<div class="epyt-fitvid">
<iframe src="https://www.youtube.com/embed/bPgz0jyt7TE?rel=0" allowfullscreen="" frameborder="0"></iframe>
</div>
</div>
<div class="wiztab-pagebuilder">
<h3>Elementor</h3>
<div class="epyt-fitvid">
<iframe src="https://www.youtube.com/embed/ldNfIGRTxDU?rel=0" allowfullscreen="" frameborder="0"></iframe>
</div>
</div>
<div class="wiztab-pagebuilder">
<h3>Site Origin</h3>
<div class="epyt-fitvid">
<iframe src="https://www.youtube.com/embed/7QNYw_g-7WM?rel=0" allowfullscreen="" frameborder="0"></iframe>
</div>
</div>
<div class="wiztab-pagebuilder">
<h3>Visual Composer</h3>
<div class="epyt-fitvid">
<iframe src="https://www.youtube.com/embed/FWBQc9XhAqM?rel=0" allowfullscreen="" frameborder="0"></iframe>
</div>
</div>
<div class="wiztab-pagebuilder">
<h3>WPBakery</h3>
<div class="epyt-fitvid">
<iframe src="https://www.youtube.com/embed/7T5wPoEujN8?rel=0" allowfullscreen="" frameborder="0"></iframe>
</div>
</div>
<div class="wiztab-pagebuilder">
<p>
If you don't see your page builder listed above, don't worry. For pretty much any page builder with a short code widget, you can also embed your video, gallery, live stream, or premiere by creating the short code using the plugin's wizard and then embedding the code in the short code widget or text widget of your page builder of choice.
</p>
</div>
</section>
<section class="pattern" id="jumpgallery">
<h2>Gallery Settings and Directions</h2>
<img class="ssgallery" src="<?php echo plugins_url('images/ssgallery.png', __FILE__) ?>">
<p>
<a target="_blank" href="<?php echo self::$epbase ?>/responsive-youtube-playlist-channel-gallery-for-wordpress.aspx">You can now make playlist embeds (and channel-playlist embeds) have a gallery layout »</a>. <strong>First, you must obtain your YouTube API key</strong>.
Don't worry, it's an easy process. Just <a href="https://www.youtube.com/watch?v=ZCfrNvu6nMc" target="_blank">click this link »</a> and follow the video on that page to get your server API key. Since Google updates their API Key generation directions frequently, follow the general steps shown in the video.
Then paste your API key in the "API Key" tab, and click the "Save Changes" button.
</p>
<p>
Below are the global settings for galleries. If you want each of your galleries to have custom settings, <a href="<?php echo self::$epbase ?>/dashboard/pro-easy-video-analytics.aspx?ref=galleryglobal" target="_blank">go PRO</a> for more options:
</p>
<div class="ytindent chx">
<p>
<label for="<?php echo self::$opt_gallery_pagesize; ?>"><b class="chktitle">Gallery Page Size:</b></label>
<select name="<?php echo self::$opt_gallery_pagesize; ?>" id="<?php echo self::$opt_gallery_pagesize; ?>" style="width: 60px;">
<?php
$gps_val = intval(trim($all[self::$opt_gallery_pagesize]));
$gps_val = min($gps_val, 50);
for ($gps = 1; $gps <= 50; $gps++)
{
?><option <?php echo $gps_val == $gps ? 'selected' : '' ?> value="<?php echo $gps ?>"><?php echo $gps ?></option>
<?php
}
?>
</select>
Enter how many thumbnails per page should be shown at once (YouTube allows a maximum of 50 per page).
</p>
<p>
<label for="<?php echo self::$opt_gallery_columns; ?>"><b class="chktitle">Number of Columns:</b></label>
<input name="<?php echo self::$opt_gallery_columns; ?>" min="1" id="<?php echo self::$opt_gallery_columns; ?>" type="number" class="textinput" style="width: 60px;" value="<?php echo esc_attr(trim($all[self::$opt_gallery_columns])); ?>">
Enter how many thumbnails can fit per row.
</p>
<p>
<input name="<?php echo self::$opt_gallery_collapse_grid; ?>" id="<?php echo self::$opt_gallery_collapse_grid; ?>" <?php checked($all[self::$opt_gallery_collapse_grid], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_gallery_collapse_grid; ?>">
<b class="chktitle">Stack Thumbnails for Mobile:</b> Check this option to responsively stack thumbnails on smaller screens, for the grid layout.
</label>
<span id="box_collapse_grid">
<?php
foreach ($all[self::$opt_gallery_collapse_grid_breaks] as $idx => $bpts)
{
?>
On screens up to
<input type="number" name="<?php echo self::$opt_gallery_collapse_grid_breaks . '[' . $idx . '][bp][max]'; ?>"
id="<?php echo self::$opt_gallery_collapse_grid_breaks . '[' . $idx . '][bp][max]'; ?>"
value="<?php echo intval(trim($bpts['bp']['max'])); ?>" class="textinput" style="width: 70px;">px wide, stack thumbnails to 1 column.
<input type="hidden" name="<?php echo self::$opt_gallery_collapse_grid_breaks . '[' . $idx . '][cols]'; ?>"
id="<?php echo self::$opt_gallery_collapse_grid_breaks . '[' . $idx . '][cols]'; ?>"
value="<?php echo intval(trim($bpts['cols'])); ?>">
<input type="hidden" name="<?php echo self::$opt_gallery_collapse_grid_breaks . '[' . $idx . '][bp][min]'; ?>"
id="<?php echo self::$opt_gallery_collapse_grid_breaks . '[' . $idx . '][bp][min]'; ?>"
value="<?php echo intval(trim($bpts['bp']['min'])); ?>">
<?php
}
?>
<span class="smallnote grey pad20"><br>Note: a common mobile screen width is 767 pixels.</span>
</span>
</p>
<p>
<input name="<?php echo self::$opt_gallery_showpaging; ?>" id="<?php echo self::$opt_gallery_showpaging; ?>" <?php checked($all[self::$opt_gallery_showpaging], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_gallery_showpaging; ?>"><b class="chktitle">Show Pagination:</b> Show the Next/Previous buttons and page numbering.
It might be useful to hide pagination if you want your gallery to display just a subset of videos from a playlist or channel. That is, only the first page of videos (defined by your page size) will be visible to your visitors if these buttons are hidden.
</label>
</p>
<p>
<input name="<?php echo self::$opt_gallery_customarrows; ?>" id="<?php echo self::$opt_gallery_customarrows; ?>" <?php checked($all[self::$opt_gallery_customarrows], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_gallery_customarrows; ?>">
<b class="chktitle">Custom Next/Previous Text:</b> If you want your gallery viewers to see something besides "Next" and "Prev" when browsing through thumbnails, enter your replacement text here. This feature can be quite useful for non-English sites. For example, a French site might replace Prev with Précédent and Next with Suivant.
</label>
<span id="boxcustomarrows">
Previous Page: <input type="text" name="<?php echo self::$opt_gallery_customprev; ?>" id="<?php echo self::$opt_gallery_customprev; ?>" value="<?php echo esc_attr(trim($all[self::$opt_gallery_customprev])); ?>" class="textinput" style="width: 100px;">
Next Page: <input type="text" name="<?php echo self::$opt_gallery_customnext; ?>" id="<?php echo self::$opt_gallery_customnext; ?>" value="<?php echo esc_attr(trim($all[self::$opt_gallery_customnext])); ?>" class="textinput" style="width: 100px;">
</span>
</p>
<p>
<input name="<?php echo self::$opt_gallery_channelsub; ?>" id="<?php echo self::$opt_gallery_channelsub; ?>" <?php checked($all[self::$opt_gallery_channelsub], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_gallery_channelsub; ?>">
<b class="chktitle">Show Subscribe Button: </b> Are you the channel owner for all your galleries? Check this box to add a "Subscribe" button to all your galleries as shown below. This might help you convert your site's visitors to YouTube subscribers of your channel.
</label>
<span id="boxchannelsub">
Paste Channel URL: <input type="text" placeholder="Example: https://www.youtube.com/user/YourChannel" name="<?php echo self::$opt_gallery_channelsublink; ?>" id="<?php echo self::$opt_gallery_channelsublink; ?>" value="<?php echo esc_url(trim($all[self::$opt_gallery_channelsublink])); ?>" class="textinput regular-text">
Button text: <input type="text" name="<?php echo self::$opt_gallery_channelsubtext; ?>" id="<?php echo self::$opt_gallery_channelsubtext; ?>" value="<?php echo esc_attr(trim($all[self::$opt_gallery_channelsubtext])); ?>" class="textinput" style="width: 200px;">
</span>
</p>
<p><img class="sssubscribe" src="<?php echo plugins_url('images/sssubscribe.png', __FILE__) ?>"></p>
<p>
<label for="<?php echo self::$opt_gallery_scrolloffset; ?>"><b class="chktitle">Scroll Offset:</b></label>
<input name="<?php echo self::$opt_gallery_scrolloffset; ?>" id="<?php echo self::$opt_gallery_scrolloffset; ?>" type="number" class="textinput" style="width: 60px;" value="<?php echo esc_attr(trim($all[self::$opt_gallery_scrolloffset])); ?>">
After you click on a thumbnail, the gallery will automatically smooth scroll up to the actual player. If you need it to scroll a few pixels further, increase this number.
</p>
<p>
<input name="<?php echo self::$opt_gallery_showtitle; ?>" id="<?php echo self::$opt_gallery_showtitle; ?>" <?php checked($all[self::$opt_gallery_showtitle], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_gallery_showtitle; ?>"><b class="chktitle">Show Thumbnail Title:</b> Show titles with each thumbnail.</label>
</p>
<p>
<input name="<?php echo self::$opt_gallery_hideprivate; ?>" id="<?php echo self::$opt_gallery_hideprivate; ?>" <?php checked($all[self::$opt_gallery_hideprivate], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_gallery_hideprivate; ?>"><b class="chktitle">Hide Private Thumbnails:</b> Hide thumbnails for videos in a playlist that cannot be embedded yet. Note: This may make some page sizes look uneven.</label>
</p>
<p>
<input name="<?php echo self::$opt_gallery_autonext; ?>" id="<?php echo self::$opt_gallery_autonext; ?>" <?php checked($all[self::$opt_gallery_autonext], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_gallery_autonext; ?>"><b class="chktitle">Automatic Continuous Play:</b> Automatically play the next video in the gallery as soon as the current video finished.
<strong>Note:</strong> If you're embedding videos from your own monetized YouTube channel, we advise you to read YouTube's resource page on ads on embedded videos:
<a href="https://support.google.com/youtube/answer/132596?hl=en" target="_blank">https://support.google.com/youtube/answer/132596?hl=en</a>
You'll see that videos that you want to monetize "should be embedded using the standard click-to-play embed and NOT a scripted play."
Unchecking this option guarantees standard click-to-play gallery embedding.
</label>
</p>
<p>
<input name="<?php echo self::$opt_gallery_thumbplay; ?>" id="<?php echo self::$opt_gallery_thumbplay; ?>" <?php checked($all[self::$opt_gallery_thumbplay], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_gallery_thumbplay; ?>"><b class="chktitle">Thumbnail Click Plays Video:</b>
Clicking on a gallery thumbnail autoplays the video. Uncheck this and visitors must also click the video's play button after clicking the thumbnail
(uncheck this option for standard click-to-play gallery embedding).
</label>
</p>
<div class="pad20">
<p>
Ready to get started with an actual gallery? Just click the plugin wizard button and pick your desired gallery embedding choice.
</p>
<p><img class="sswizardbutton" src="<?php echo plugins_url('images/sswizardbutton.jpg', __FILE__) ?>"></p>
</div>
</div>
</section>
<?php
if (!(bool) (self::$alloptions[self::$opt_vi_hide_monetize_tab]))
{
?>
<section class="pattern" id="jumpmonetize">
<?php
//self::vi_monetize_title();
if (self::vi_script_setup_done())
{
echo '<h2>';
self::vi_print_toggle_button();
echo '</h2>';
}
?>
<?php
if (!self::vi_logged_in())
{
echo '<div class="vi-registration-box">';
include_once(EPYTVI_INCLUDES_PATH . 'vi_registration_form.php');
include_once(EPYTVI_INCLUDES_PATH . 'vi_login_success.php');
echo '</div>';
}
else
{
include_once(EPYTVI_INCLUDES_PATH . 'vi_login_complete.php');
}
?>
</section>
<?php } ?>
<section class="pattern" id="jumpcompat">
<h2>Compatibility Settings</h2>
<p>
With tens of thousands of active users, our plugin may not work with every plugin out there. Below are some settings you may wish to try out.
</p>
<div class="ytindent chx">
<p>
<input name="<?php echo self::$opt_ajax_save; ?>" id="<?php echo self::$opt_ajax_save; ?>" <?php checked($all[self::$opt_ajax_save], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_ajax_save; ?>">
<b class="chktitle">Save Settings with AJAX: </b>
Turn this option off if you are having trouble saving your settings.
</label>
</p>
<p>
<input name="<?php echo self::$opt_gb_compat; ?>" id="<?php echo self::$opt_gb_compat; ?>" <?php checked($all[self::$opt_gb_compat], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_gb_compat; ?>">
<b class="chktitle">Gutenberg Block Editor Theme Spacing: </b>
Check this option to fix possible issues with spacing below your videos. You may also want to try combining this option with Responsive Sizing.
</label>
</p>
<p>
<input name="<?php echo self::$opt_old_script_method; ?>" id="<?php echo self::$opt_old_script_method; ?>" <?php checked($all[self::$opt_old_script_method], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_old_script_method; ?>">
<b class="chktitle">Use Legacy Scripts: </b>
This is a legacy option for users with theme issues that require backwards compatibility (v.10.5 or earlier). It may also help with caching plugin or CDN plugin issues.
</label>
</p>
<p>
<input name="<?php echo self::$opt_admin_off_scripts; ?>" id="<?php echo self::$opt_admin_off_scripts; ?>" <?php checked($all[self::$opt_admin_off_scripts], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_admin_off_scripts; ?>">
<b class="chktitle">Turn Off Scripts While Editing: </b>
Front-end editors and visual pagebuilders often run Javascript while you're in edit mode. Check this to turn off this plugin's Javascript during edit mode, if you see conflicts.
Don't worry, all other visitors to your site will still view your site normally.
</label>
</p>
<p>
<input name="<?php echo self::$opt_migrate; ?>" id="<?php echo self::$opt_migrate; ?>" <?php checked($all[self::$opt_migrate], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_migrate; ?>">
<b class="chktitle">Migrate Shortcodes: </b> Inherit shortcodes from other plugins. This is useful for when a plugin becomes deprecated, or you simply prefer this plugin's features.
</label>
<div id="boxmigratelist">
<ul>
<li><input name="<?php echo self::$opt_migrate_embedplusvideo; ?>" id="<?php echo self::$opt_migrate_embedplusvideo; ?>" <?php checked($all[self::$opt_migrate_embedplusvideo], 1); ?> type="checkbox" class="checkbox"><label for="<?php echo self::$opt_migrate_embedplusvideo; ?>"><b>"YouTube Advanced Embed":</b> <code>[embedplusvideo]</code> shortcode</label></li>
<li><input name="<?php echo self::$opt_migrate_youtube; ?>" id="<?php echo self::$opt_migrate_youtube; ?>" <?php checked($all[self::$opt_migrate_youtube], 1); ?> type="checkbox" class="checkbox"><label for="<?php echo self::$opt_migrate_youtube; ?>"><b>"YouTube Embed":</b> <code>[youtube]</code> and <code>[youtube_video]</code> shortcodes</label></li>
<li class="smallnote orange" style="list-style: none;">This feature is beta. More shortcodes coming.</li>
</ul>
</div>
</p>
<p>
<input name="<?php echo self::$opt_oldspacing; ?>" id="<?php echo self::$opt_oldspacing; ?>" <?php checked($all[self::$opt_oldspacing], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_oldspacing; ?>">
<b class="chktitle">Legacy Spacing:</b> Continue the spacing style from version 4.0 and older. Those versions required you to manually add spacing above and below your video. Unchecking this will automatically add the spacing.
</label>
</p>
<p>
<input name="<?php echo self::$opt_frontend_only; ?>" id="<?php echo self::$opt_frontend_only; ?>" <?php checked($all[self::$opt_frontend_only], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_frontend_only; ?>">
<b class="chktitle">Don't Run Shortcode In Admin:</b>
Checking this will only allow the shortcode to run on the front-end of your website, and not in the admin area.
</label>
</p>
<p>
<input name="<?php echo self::$opt_evselector_light; ?>" id="<?php echo self::$opt_evselector_light; ?>" <?php checked($all[self::$opt_evselector_light], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_evselector_light; ?>">
<b class="chktitle">Theme Video Problems: </b>
Check this option if you're having issues with autoplayed videos or background videos etc. that have been generated by your theme.
</label>
</p>
<p>
<input name="<?php echo self::$opt_stop_mobile_buffer; ?>" id="<?php echo self::$opt_stop_mobile_buffer; ?>" <?php checked($all[self::$opt_stop_mobile_buffer], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_stop_mobile_buffer; ?>">
<b class="chktitle">Mobile Autoplay Problems: </b>
Autoplay works for desktop, but mobile devices don't allow autoplay due to network carrier data charges. For mobile devices, this option may help the player to properly display the video for the visitor to click on.
(<strong>Note:</strong> Desktop browsers like <a href="https://developers.google.com/youtube/iframe_api_reference#Mobile_considerations" target="_blank">Chrome and Safari are moving towards preventing autoplay for any video</a>. But, your chances are improved if you set your videos to initially start muted.)
</label>
</p>
<p>
<input name="<?php echo self::$opt_ajax_compat; ?>" id="<?php echo self::$opt_ajax_compat; ?>" <?php checked($all[self::$opt_ajax_compat], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_ajax_compat; ?>">
<b class="chktitle">Ajax Theme:</b>
If you have a theme that loads pages with AJAX transitions, try checking this option.
</label>
</p>
<p>
<input name="<?php echo self::$opt_debugmode; ?>" id="<?php echo self::$opt_debugmode; ?>" <?php checked($all[self::$opt_debugmode], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_debugmode; ?>">
<b class="chktitle">Debug Mode: </b> If you ask for support, we may ask you to turn on debug mode here.
It may print out some diagnostic info so that we can help you solve your issue.
</label>
</p>
<p>
<input name="<?php echo self::$opt_uninstall_data; ?>" id="<?php echo self::$opt_uninstall_data; ?>" <?php checked($all[self::$opt_uninstall_data], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_uninstall_data; ?>">
<b class="chktitle">Delete Options When Uninstalling:</b> Checking this box will permanently delete your options the next time you uninstall the plugin. Leave it unchecked
to preserve your options between installations.
</label>
</p>
</div>
</section>
<section class="pattern" id="jumphowto">
<h2>Manual Embedding</h2>
<p>
<strong>We strongly recommend using the wizard in your editor to embed.</strong> However, if you choose to manually embed code, follow some legacy instructions below.
</p>
<h3>
Manually Embed a YouTube Video or Playlist <a class="smallnote" href="#jumpgallery">(For gallery directions, go here »)</a>
</h3>
<p>
<b>For videos:</b> <i>Method 1 - </i> Do you already have a URL to the video you want to embed in a post, page, or even a widget? All you have to do is paste it on its own line, as shown below (including the https:// part). Easy, eh?<br>
<i>Method 2 - </i> If you want to do some formatting (e.g. add HTML to center a video) or have two or more videos next to each other on the same line, wrap each link with the <code>[embedyt]...[/embedyt]</code> shortcode. <b>Tip for embedding videos on the same line:</b> As shown in the example image below, decrease the size of each video so that they fit together on the same line (See the "How To Override Defaults" section for height and width instructions).
</p>
<p>
<b>For galleries:</b> <a href="#jumpgallery">Click here</a> to scroll down to gallery settings and directions.
</p>
<p>
<b>For self-contained playlists:</b> Go to the page for the playlist that lists all of its videos (<a target="_blank" href="http://www.youtube.com/playlist?list=PL70DEC2B0568B5469">Example »</a>). Click on the video that you want the playlist to start with. Copy and paste that browser URL into your blog on its own line. If you want the first video to always be the latest video in your playlist, check the option "Playlist Ordering" in the settings down below (you will also see this option available if you use the Pro Wizard). If you want to have two or more playlists next to each other on the same line, wrap each link with the <code>[embedyt]...[/embedyt]</code> shortcode.
</p>
<p>
<b>For self-contained channel playlists:</b> At your editor, click on the <img style="vertical-align: text-bottom;" src="<?php echo plugins_url('images/wizbuttonbig.png', __FILE__) ?>"> wizard button and choose the option <i>Search for a video or channel to insert in my editor.</i> Then, click on the <i>channel playlist</i> option there (instead of <i>single video</i>). Search for the channel username and follow the rest of the directions there.
</p>
<p>
<strong>For directly embedding in your theme with PHP:</strong>
If you need to use PHP directly, we still recommend using the wizard to create the shortcode--but instead of pressing the "Insert" button, just copy the shortcode the wizard gives you. Then use the <code>do_shortcode()</code> function in your theme, like this:
<br>
<code><?php echo do_shortcode('[embedyt]....[/embedyt]'); ?></code>
</p>
<p>
<b>Examples:</b><br><br>
<img style="width: 900px; height: auto;" class="shadow" src="<?php echo plugins_url('images/sshowto.png', __FILE__) ?>" />
</p>
<p>
Always follow these rules for any URL:
</p>
<ul class="reglist">
<li>Make sure the URL is really on its own line by itself. Or, if you need multiple videos on the same line, make sure each URL is wrapped properly with the shortcode (Example: <code>[embedyt]http://www.youtube.com/watch?v=ABCDEFGHIJK&width=400&height=250[/embedyt]</code>)</li>
<li>Make sure the URL is <strong>not</strong> an active hyperlink (i.e., it should just be plain text). Otherwise, highlight the URL and click the "unlink" button in your editor: <img src="<?php echo plugins_url('images/unlink.png', __FILE__) ?>"/></li>
<li>Make sure you did <strong>not</strong> format or align the URL in any way. If your URL still appears in your actual post instead of a video, highlight it and click the "remove formatting" button (formatting can be invisible sometimes): <img src="<?php echo plugins_url('images/erase.png', __FILE__) ?>"/></li>
<li>If you really want to align the video, try wrapping the link with the shortcode first. For example: <code>[embedyt]http://www.youtube.com/watch?v=ABCDEFGHIJK[/embedyt]</code> Using the shortcode also allows you to have two or more videos next to each other on the same line. Just put the shortcoded links together on the same line. For example:<br>
<code>[embedyt]http://www.youtube.com/watch?v=ABCDEF[/embedyt] [embedyt]http://www.youtube.com/watch?v=GHIJK[/embedyt]</code>
</li>
</ul>
<h3>
<?php _e("How To Manually Override Defaults / Other Options") ?>
</h3>
<p>
Suppose you have a few videos that need to be different from the above defaults. You can add options to the end of a link as displayed below to override the above defaults. Each option should begin with '&'.
<br><span class="orange">PRO users: You can use the <a href="<?php echo self::$epbase . '/dashboard/pro-easy-video-analytics.aspx?ref=manual' ?>" target="_blank">customize</a> buttons that you will see inside the wizard, instead of memorizing the following codes.</span>
</p>
<?php
_e('<ul class="reglist">');
_e("<li><strong>width</strong> - Sets the width of your player. If omitted, the default width will be the width of your theme's content.<em> Example: http://www.youtube.com/watch?v=quwebVjAEJA<strong>&width=500</strong>&height=350</em></li>");
_e("<li><strong>height</strong> - Sets the height of your player. <em>Example: http://www.youtube.com/watch?v=quwebVjAEJA&width=500<strong>&height=350</strong></em> </li>");
_e("<li><strong>autoplay</strong> - Set this to 1 to autoplay the video (or 0 to play the video once). <em>Example: http://www.youtube.com/watch?v=quwebVjAEJA<strong>&autoplay=1</strong></em> (Note: Desktop browsers like Chrome and Safari are moving towards preventing autoplay for any video. But, your chances are improved if you set your videos to initially start muted.) </li>");
_e("<li><strong>cc_load_policy</strong> - Set this to 1 to turn on closed captioning (or 0 to leave them off). <em>Example: http://www.youtube.com/watch?v=quwebVjAEJA<strong>&cc_load_policy=1</strong></em> </li>");
_e("<li><strong>iv_load_policy</strong> - Set this to 3 to turn off annotations (or 1 to show them). <em>Example: http://www.youtube.com/watch?v=quwebVjAEJA<strong>&iv_load_policy=3</strong></em> </li>");
_e("<li><strong>loop</strong> - Set this to 1 to loop the video (or 0 to not loop). <em>Example: http://www.youtube.com/watch?v=quwebVjAEJA<strong>&loop=1</strong></em> </li>");
_e("<li><strong>modestbranding</strong> - Set this to 1 to remove the YouTube logo while playing (or 0 to show the logo). <em>Example: http://www.youtube.com/watch?v=quwebVjAEJA<strong>&modestbranding=1</strong></em> </li>");
_e("<li><strong>rel</strong> - Set this to 0 to not show related videos at the end of playing (or 1 to show them). <em>Example: http://www.youtube.com/watch?v=quwebVjAEJA<strong>&rel=0</strong></em> </li>");
_e("<li><strong>fs</strong> - Set this to 0 to hide the fullscreen button (or 1 to show it). <em>Example: http://www.youtube.com/watch?v=quwebVjAEJA<strong>&fs=0</strong></em> </li>");
_e("<li><strong>color</strong> - Set this to 'white' to make the player have a white progress bar (or 'red' for a red progress bar). Note: Using white will disable the modestbranding option. <em>Example: http://www.youtube.com/watch?v=quwebVjAEJA<strong>&color=white</strong></em> </li>");
_e("<li><strong>controls</strong> - Set this to 0 to completely hide the video controls (or 1 to show it). <em>Example: http://www.youtube.com/watch?v=quwebVjAEJA<strong>&controls=0</strong></em> </li>");
_e("<li><strong>playsinline</strong> - Set this to 1 to allow videos play inline with the page on iOS browsers. (Set to 0 to have iOS launch videos in fullscreen instead). <em>Example: http://www.youtube.com/watch?v=quwebVjAEJA<strong>&playsinline=1</strong></em> </li>");
_e("<li><strong>origin</strong> - Set this to 1 to add the 'origin' parameter for extra JavaScript security. <em>Example: http://www.youtube.com/watch?v=quwebVjAEJA<strong>&origin=1</strong></em> </li>");
_e('</ul>');
_e("<p>You can also start and end each individual video at particular times. Like the above, each option should begin with '&'</p>");
_e('<ul class="reglist">');
_e("<li><strong>start</strong> - Sets the time (in seconds) to start the video. <em>Example: http://www.youtube.com/watch?v=quwebVjAEJA&width=500&height=350<strong>&start=20</strong></em> </li>");
_e("<li><strong>end</strong> - Sets the time (in seconds) to stop the video. <em>Example: http://www.youtube.com/watch?v=quwebVjAEJA&width=500&height=350<strong>&end=100</strong></em> </li>");
_e('</ul>');
?>
</section>
<section class="pattern" id="jumpperformance">
<h2><?php _e('Performance Settings & Tips', 'youtube-embed-plus'); ?></h2>
<p>
<?php _e('On this page, we describe performance options to help optimize page speed times of your pages containing YouTube embeds.', 'youtube-embed-plus'); ?>
</p>
<div class="p">
<input name="<?php echo self::$opt_facade_mode; ?>" id="<?php echo self::$opt_facade_mode; ?>" <?php checked($all[self::$opt_facade_mode], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_facade_mode ?>">
<b class="chktitle"><?php _e('Facade Mode:', 'youtube-embed-plus'); ?> <sup class="orange">new</sup></b>
<?php _e('This improves performance by loading a lighter version of the player, until it is clicked. Then the real player loads (note: for live streams, the real player is always loaded). We have tested this feature in multiple cases and found it to successfully improve your Lighthouse performance score by addressing the following recommendation: "Some third-party resources can be lazy loaded with a facade."', 'youtube-embed-plus'); ?>
<a href="https://www.youtube.com/watch?v=W7PKUjVBDNE" target="_blank"><?php _e('See an example of this feature at work.', 'youtube-embed-plus'); ?></a>
</label>
<div class="p box_facade_mode">
<input name="<?php echo self::$opt_facade_autoplay; ?>" id="<?php echo self::$opt_facade_autoplay; ?>" type="checkbox" class="checkbox" <?php checked($all[self::$opt_facade_autoplay], 1); ?>>
<label for="<?php echo self::$opt_facade_autoplay ?>">
<b class="chktitle"><?php _e('Autoplay On Facade Click:', 'youtube-embed-plus'); ?></b>
<span>
<?php _e('After clicking once on the facade (aka light thumbnail), it is replaced with the real player. Check this option to have the real player play immediately, otherwise it will require an additional click. Note that checking this option will use YouTube\'s autoplay feature, which will not contribute toward play counts. If you\'re embedding videos from someone else\'s channel, we recommend checking this. If you\'re embedding videos that are from your channel, then you should self-evaluate the tradeoff involving play counts and additional clicking.', 'youtube-embed-plus'); ?>
</span>
</label>
<br>
<br>
<label>
<b class="chktitle"><?php _e('Force Maximum Quality for Facade Images: <sup class="orange">new</sup>', 'text_domain') ?></b>
<?php _e('Attempt to load the maximum resolution image for the facade image. This max quality image does not exist for all videos, so you have a few choices below.', 'text_domain'); ?>
</label>
<ul class="indent-option">
<li>
<input type="radio" name="<?php echo self::$opt_maxres_facade; ?>" id="<?php echo self::$opt_maxres_facade; ?>_eager" value="eager" <?php checked($all[self::$opt_maxres_facade], 'eager'); ?>>
<label for="<?php echo self::$opt_maxres_facade; ?>_eager"> <?php _e("<em>Eager:</em> Try loading the max resolution image by default. If the max-res image does not exist for the video, the next highest available resolution will immediately load instead. This option is best for websites that embed videos having very high resolutions (i.e. the max-res images will likely exist).", 'text_domain') ?> </label> <br>
</li>
<li>
<input type="radio" name="<?php echo self::$opt_maxres_facade; ?>" id="<?php echo self::$opt_maxres_facade; ?>_soft" value="soft" <?php checked($all[self::$opt_maxres_facade], 'soft'); ?>>
<label for="<?php echo self::$opt_maxres_facade; ?>_soft"> <?php _e("<em>Soft:</em> Load a relatively high resolution image that is guaranteed to exist, but immediately try updating the image to maximum resolution if it exists. This option is best for sites with some videos that may have a missing max resolution image.", 'text_domain') ?> </label> <br>
</li>
<li>
<input type="radio" name="<?php echo self::$opt_maxres_facade; ?>" id="<?php echo self::$opt_maxres_facade; ?>_off" value="off" <?php checked($all[self::$opt_maxres_facade], 'off'); ?>>
<label for="<?php echo self::$opt_maxres_facade; ?>_off"><?php _e("<em>Off:</em> Don't try to maximize facade image quality. Just load the relatively high resolution image that all videos have.", 'text_domain') ?></label> <br>
</li>
</ul>
</div>
</div>
<div class="p">
<input name="<?php echo self::$opt_defer_js; ?>" id="<?php echo self::$opt_defer_js; ?>" <?php checked($all[self::$opt_defer_js], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_defer_js ?>">
<b class="chktitle"><?php _e('Defer Javascript:', 'youtube-embed-plus'); ?></b>
<?php _e('JavaScript (JS) deferral is a common website performance option that can offer significant improvements of page speed. You can reduce the initial load time of your page by allowing this plugin\'s scripts to begin execution only after a page is loaded. You may receive a better GTMetrix score with this option turned on. Note: This feature is compatible with most sites, but turn it off if you are having issues.', 'youtube-embed-plus'); ?>
</label>
<div class="p box_defer_jquery">
<input name="<?php echo self::$opt_defer_jquery; ?>" id="<?php echo self::$opt_defer_jquery; ?>" type="checkbox" class="checkbox" <?php checked($all[self::$opt_defer_jquery], 1); ?>>
<label for="<?php echo self::$opt_defer_jquery ?>">
<b class="chktitle"><?php _e('Also Defer jQuery:', 'youtube-embed-plus'); ?></b>
<span style="color: red;">
<?php _e('Note: Do NOT check this option if you are using a pagebuilder. Furthermore, defering jQuery may improve your GTMetrix score even more, but might not be compatible with your theme or other plugins (especially if they are not defering their own scripts). Use this option with caution.', 'youtube-embed-plus'); ?>
</span>
</label>
</div>
</div>
<p><?php _e('Note: Since the YouTube player is loaded in its own iframe from YouTube\'s servers, browser restrictions prevent this plugin from directly deferring the JS inside the iframe. However, if you upgrade to Pro, you can use the lazy loading feature <a href="#jumpupgrade">described here »</a> to further improve your page speeds or try out facade mode.', 'youtube-embed-plus'); ?></p>
<!-- <div style="width: 50%">
<div class="epyt-fitvid">
<iframe allow="encrypted-media" allowfullscreen="" src="https://www.youtube-nocookie.com/embed/?autoplay=0&cc_load_policy=0&iv_load_policy=1&loop=0&modestbranding=0&fs=1&playsinline=0&controls=1&color=red&rel=1&autohide=2&theme=dark&"></iframe>
</div>
</div>-->
</section>
<div class="save-changes-follow"> <?php self::save_changes_button(isset($_POST[$ytprefs_submitted]) && $_POST[$ytprefs_submitted] == 'Y'); ?> </div>
</form>
<section class="pattern" id="jumpupgrade">
<div class="upgchecks">
<h3 class="sect">Want the PRO Features?</h3>
<p>
Below are descriptions for some of our PRO features for more gallery customization options, faster page loading, enhanced SEO, and more. Simply purchase and install our separate PRO plugin (the PRO plugin automatically works for all your past embed links).
</p>
<p>
<input disabled type="checkbox" class="checkbox">
<label>
<b class="chktitle">Lazy-Loading for Performance:</b> <span class="pronon">(PRO Users)</span>
Lazy-loading can speed up your page loads by loading the player only until it is visible on the screen.
<a href="https://www.youtube.com/watch?v=omNdJvXDCLo" target="_blank">See an example here</a>.
An added bonus to this option is that you have the choice of several types of eye-catching lazy-loading effects that will make your YouTube embeds bounce, flip, pulse, or slide as they lazy load on the screen. Check this box to select your desired effect. <a target="_blank" href="<?php echo self::$epbase ?>/add-special-effects-to-youtube-embeds-in-wordpress.aspx">Read more here »</a>
</label>
</p>
<div class="hr"></div>
<p>
<img class="ssaltgallery" src="<?php echo plugins_url('images/ss-live-chat.jpg', __FILE__) ?>" />
<input disabled type="checkbox" class="checkbox">
<label>
<b class="chktitle"><?php _e('Enable Live Chat:', 'youtube-embed-plus') ?></b> <span class="pronon"><?php _e('(PRO Users)', 'youtube-embed-plus') ?></span> <?php _e('<sup class="orange">new</sup>') ?> <?php _e('Add more interaction to your site by including the YouTube live chat box as part of each live stream embed. Note that live chat can also be an option for earning money from your audience by using the Super Chat feature. <a href="https://creatoracademy.youtube.com/page/lesson/superchat" target="_blank">Learn more here</a>.') ?>
<strong class="check-note"><?php _e('<span class="orange">NOTE:</span> In wide containers, the chat box will appear to the right of the player. It will appear below the player when the container is less than 964px. Also, Google/YouTube disables live chat on mobile devices. So for mobile phones and tablets, the chat box will be hidden.') ?></strong>
</label>
<br>
<br>
</p>
<div class="hr"></div>
<p>
<img class="ssaltgallery" src="<?php echo plugins_url('images/ssaltgalleryall.jpg', __FILE__) ?>" />
<select disabled>
<option value="">Gallery Style</option>
</select>
<label>
<b class="chktitle">Advanced Gallery Customization Options: </b> <span class="pronon">(PRO Users)</span>
Switch from the grid style of the free version to another gallery style. Right now, we provide a vertical (single column) and horizontal (single row) list style as alternatives to the grid, with more designs coming. These current alternatives were inspired by the standard YouTube playlist player's "table of contents," except our gallery's video lists are always visible and shown under the playing video.
<a target="_blank" href="<?php echo self::$epbase ?>/responsive-youtube-playlist-channel-gallery-for-wordpress.aspx">Read more here »</a>
</label>
</p>
<div class="hr"></div>
<p>
<img class="ssaltgallery" src="<?php echo plugins_url('images/ssverticallayout.png', __FILE__) ?>" />
<input disabled type="checkbox" class="checkbox">
<label>
<b class="chktitle">Show Gallery Descriptions (for vertical list styling): </b> <span class="pronon">(PRO Users)</span>
For the vertical list layout, this option will show full video descriptions (taken directly from YouTube.com) with each thumbnail. Note: these descriptions only apply the vertical list layout; other layouts don't have enough room.
</label>
</p>
<div class="hr"></div>
<p>
<img class="ssaltgallery" src="<?php echo plugins_url('images/ssaltgallerycircles.jpg', __FILE__) ?>" />
<select disabled>
<option value="">Select Thumbnail Shape</option>
</select>
<label>
<b class="chktitle">Gallery Thumbnail Shape: </b> <span class="pronon">(PRO Users)</span>
Differentiate your gallery by showing different thumbnail shapes. We currently offer rectangle and circle shapes.
<a target="_blank" href="<?php echo self::$epbase ?>/responsive-youtube-playlist-channel-gallery-for-wordpress.aspx">Read more here »</a>
</label>
</p>
<div class="hr"></div>
<p>
<img class="sspopupplayer" src="<?php echo plugins_url('images/sspopupplayer.jpg', __FILE__) ?>" />
<label>
<b class="chktitle">Gallery Video Display Mode: </b> <span class="pronon">(PRO Users)</span>
Display your gallery videos simply above the thumbnails (default), or as a popup lightbox. Choosing "popup lightbox" will make your videos lazy-loaded, which will provide some performance benefits since the YouTube player is not initially loaded with your page. It's loaded with a popup only when a user clicks a thumbnail.
</label>
<br>
<input type="radio" disabled> Default <input type="radio" disabled> Popup lightbox
</p>
<div class="hr"></div>
<p>
<img class="sshidethumbimg" src="<?php echo plugins_url('images/sshidethumbimg.jpg', __FILE__) ?>" />
<input disabled type="checkbox" class="checkbox">
<label>
<b class="chktitle">Hide Thumbnail Images:</b> <span class="pronon">(PRO Users)</span>
(For "Grid" and "Vertical List" gallery layouts only) Hide the image for each thumbnail, leaving just the text. This can improve performance when imagery is not important.
<a href="<?php echo self::$epbase ?>/responsive-youtube-playlist-channel-gallery-for-wordpress.aspx" target="_blank">See an example here »</a>
</label>
</p>
<div class="hr"></div>
<p>
<input disabled type="checkbox" class="checkbox">
<label>
<b class="chktitle">Faster Page Loads (Caching): </b> <span class="pronon">(PRO Users)</span>
Use embed caching to speed up your page loads. By default, WordPress needs to request information from YouTube.com's servers for every video you embed, every time a page is loaded. These data requests can add time to your total page load time. Turn on this feature to cache that data (instead of having to request for the same information every time you load a page). This should then make your pages that have videos load faster. It's been noted that even small speed ups in page load can help increase visitor engagement, retention, and conversions. Caching also makes galleries run faster.
</label>
<div class="indent-option">
<label>
<b class="chktitle">Cache Lifetime (hours): </b>
<input disabled value="24" type="number">
Tip: If your pages rarely change, you may wish to set this to a much higher value than 24 hours.
</label>
</div>
</p>
<div class="hr"></div>
<p>
<input disabled type="checkbox" class="checkbox">
<label>
<b class="chktitle">Video SEO Tags:</b> <span class="pronon">(PRO Users)</span> Update your YouTube embeds with Google, Bing, and Yahoo friendly schema markup for videos.
</label>
</p>
<div class="hr"></div>
<p>
<input disabled type="checkbox" class="checkbox">
<label>
<b class="chktitle">Facebook Open Graph Markup:</b> <span class="pronon">(PRO Users)</span> Include Facebook Open Graph markup with the videos you embed with this plugin. We follow the guidelines for videos as described here: <a href="https://developers.facebook.com/docs/sharing/webmasters#media" target="_blank">https://developers.facebook.com/docs/sharing/webmasters#media</a>
</label>
</p>
<div class="hr"></div>
<p>
<img class="ssfb" src="<?php echo plugins_url('images/youtube_thumbnail_sample.jpg', __FILE__) ?>" />
<input disabled type="checkbox" class="checkbox">
<label>
<b class="chktitle">Featured Thumbnail Images:</b> <span class="pronon">(PRO Users)</span>
Automatically grab the thumbnail image of the first video embedded in each post or page, and use it as the featured image.
All you have to do is click Update on a post or page and the plugin does the rest!
(Example shown on the right) <a target="_blank" href="<?php echo self::$epbase ?>/add-youtube-video-thumbnails-featured-image-wordpress.aspx">Read more here »</a>
</label>
</p>
<div class="hr"></div>
<p>
<a href="<?php echo self::$epbase ?>/dashboard/pro-easy-video-analytics.aspx?ref=protabfooter" target="_blank">Purchase and download the PRO plugin to get the above and several other features »</a>
</p>
<div class="clearboth"></div>
</div>
</section>
<section class="pattern" id="jumpsupport">
<h2>Plugin Support</h2>
<div id="nonprosupport">
<p>
Here is a short video explaining a few of the plugin's features:
</p>
<div class="epyt-fitvid">
<iframe src="https://www.youtube.com/embed/QDdvXBqfrzM?rel=0" allowfullscreen="" frameborder="0"></iframe>
</div>
<p>
We've also found that a common support request has been from users that are pasting video links on single lines, as required, but are not seeing the video embed show up. One of these suggestions is usually the fix:
</p>
<ul class="reglist">
<li>Make sure the URL is really on its own line by itself. Or, if you need multiple videos on the same line, make sure each URL is wrapped properly with the shortcode (Example: <code>[embedyt]http://www.youtube.com/watch?v=ABCDEFGHIJK&width=400&height=250[/embedyt]</code>)</li>
<li>Make sure the URL is not an active hyperlink (i.e., it should just be plain text). Otherwise, highlight the URL and click the "unlink" button in your editor: <img src="<?php echo plugins_url('images/unlink.png', __FILE__) ?>"/>.</li>
<li>Make sure you did <strong>not</strong> format or align the URL in any way. If your URL still appears in your actual post instead of a video, highlight it and click the "remove formatting" button (formatting can be invisible sometimes): <img src="<?php echo plugins_url('images/erase.png', __FILE__) ?>"/></li>
<li>Try wrapping the URL with the <code>[embedyt]...[/embedyt]</code> shortcode. For example: <code>[embedyt]http://www.youtube.com/watch?v=ABCDEFGHIJK[/embedyt]</code> Using the shortcode also allows you to have two or more videos next to each other on the same line. Just put the shortcoded links together on the same line. For example:<br>
<code>[embedyt]http://www.youtube.com/watch?v=ABCDEF&width=400&height=250[/embedyt] [embedyt]http://www.youtube.com/watch?v=GHIJK&width=400&height=250[/embedyt]</code>
<br> TIP: As shown above, decrease the size of each video so that they fit together on the same line (See the "How To Override Defaults" section for height and width instructions)
</li>
<li>If you upload a new video to a playlist or channel and that video is not yet showing up on a gallery you embedded, you should clear/reset any caching plugins you have. This will force your site to retrieve the freshest version of your playlist and/or channel video listing. If you don't reset you cache, then you'll have to wait until cache lifetime expires.</li>
<li>Finally, there's a slight chance your custom theme is the issue, if you have one. To know for sure, we suggest temporarily switching to one of the default WordPress themes (e.g., "Twenty Fourteen") just to see if your video does appear. If it suddenly works, then your custom theme is the issue. You can switch back when done testing.</li>
<li>If your videos always appear full size, try turning off "Responsive video sizing."</li>
<li>If none of the above work, you can contact us here if you still have issues: ext@embedplus.com. We'll try to respond within a week.</li>
</ul>
<p>
Deactivating the No Cookies option has also been proven to solve player errors.
</p>
<p>
We also have a YouTube channel. We use it to provide users with some helper videos and a way to keep updated on new features as they are introduced. <a href="https://www.youtube.com/subscription_center?add_user=EmbedPlus" target="_blank">Subscribe for tips and updates here »</a>
</p>
</div>
<br>
</section>
</div>
</div>
<script type="text/javascript">
(function ($)
{
window.savevalidate = function (e)
{
var $formDefaults = $(e.target);
var valid = true;
var $tabFocus = '';
var alertmessage = '';
if (jQuery("#<?php echo self::$opt_defaultdims; ?>").is(":checked"))
{
if (!(jQuery.isNumeric(jQuery.trim(jQuery("#<?php echo self::$opt_defaultwidth; ?>").val())) &&
jQuery.isNumeric(jQuery.trim(jQuery("#<?php echo self::$opt_defaultheight; ?>").val()))))
{
alertmessage += "Please enter valid numbers for default height and width, or uncheck the option.";
jQuery("#boxdefaultdims input").css("background-color", "#ffcccc").css("border", "2px solid #000000");
valid = false;
$tabFocus = $("#<?php echo self::$opt_defaultdims; ?>").closest('section');
}
}
if (jQuery("#<?php echo self::$opt_gallery_customarrows; ?>").is(":checked"))
{
if (!jQuery.trim(jQuery("#<?php echo self::$opt_gallery_customprev; ?>").val()) ||
!jQuery.trim(jQuery("#<?php echo self::$opt_gallery_customnext; ?>").val()))
{
alertmessage += "Please enter valid text for both the custom gallery Prev and Next buttons, or uncheck the option.";
jQuery("#boxcustomarrows input").css("background-color", "#ffcccc").css("border", "2px solid #000000");
valid = false;
$tabFocus = $("#<?php echo self::$opt_gallery_customarrows; ?>").closest('section');
}
}
if (jQuery("#<?php echo self::$opt_gallery_channelsub; ?>").is(":checked"))
{
if (!jQuery.trim(jQuery("#<?php echo self::$opt_gallery_channelsublink; ?>").val()) ||
!jQuery.trim(jQuery("#<?php echo self::$opt_gallery_channelsubtext; ?>").val()))
{
alertmessage += "Please enter valid text for both the subscribe text and subscribe URL, or uncheck the option.";
jQuery("#boxchannelsub input").css("background-color", "#ffcccc").css("border", "2px solid #000000");
valid = false;
$tabFocus = $("#<?php echo self::$opt_gallery_channelsub; ?>").closest('section');
}
}
if (jQuery("#<?php echo self::$opt_gallery_collapse_grid; ?>").is(":checked"))
{
var emptyStacks = [];
jQuery("#box_collapse_grid input").each(function ()
{
var val = jQuery(this).val();
if (jQuery.trim(val) === '' || !jQuery.isNumeric(val))
{
emptyStacks.push(this);
jQuery(this).css("background-color", "#ffcccc").css("outline", "2px solid #000000");
}
});
if (emptyStacks.length)
{
alertmessage += "Please enter a valid number for the gallery stacking screen width.";
valid = false;
$tabFocus = $("#<?php echo self::$opt_gallery_collapse_grid; ?>").closest('section');
}
}
if (jQuery("#<?php echo self::$opt_defaultvol; ?>").is(":checked"))
{
if (!(jQuery.isNumeric(jQuery.trim(jQuery("#<?php echo self::$opt_vol; ?>").val()))))
{
alertmessage += "Please enter a number between 0 and 100 for the default volume, or uncheck the option.";
jQuery("#boxdefaultvol input").css("background-color", "#ffcccc").css("border", "2px solid #000000");
valid = false;
$tabFocus = $("#<?php echo self::$opt_defaultvol; ?>").closest('section');
}
}
if (!valid)
{
alertify.alert(alertmessage);
var tabSelector = '.wrap-ytprefs .nav-tab-wrapper .nav-tab[href=#' + $tabFocus.attr('id') + ']';
$(tabSelector).trigger('click');
}
if (!$formDefaults.find('#ajax_save').is(':checked'))
{
return valid;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////// MAIN PREFS AJAX SAVE
if (valid)
{
e.preventDefault();
(window.tinyMCE || window.tinymce).triggerSave();
$formDefaults.find('.ytprefs-submit').prop('disabled', true);
var formData = $formDefaults.ytprefsFormJSON();
formData.action = 'my_embedplus_settings_save_ajax';
$.ajax({
type: "post",
dataType: "json",
timeout: 30000,
url: window._EPYTA_ ? window._EPYTA_.wpajaxurl : ajaxurl,
data: formData,
success: function (response)
{
alertify.alert(response ? response.message : 'Sorry, there was an error submitting your settings.', function ()
{
if (response.type == 'success')
{
window.top.location.href = window._EPYTA_.admin_url_ytprefs;
}
});
},
error: function (xhr, ajaxOptions, thrownError)
{
alertify.alert('Sorry, there was an error saving your settings. ' + (thrownError ? thrownError : ''));
},
complete: function ()
{
$formDefaults.find('.ytprefs-submit').prop('disabled', false);
}
});
}
};
var mydomain = escape("http://" + window.location.host.toString());
jQuery(document).ready(function ($)
{
$(document).on('click', '.wrap-ytprefs .nav-tab-wrapper a, .epyt-jumptab', function ()
{
$a = $(this);
if (!$a.hasClass('href-link'))
{
$('.wrap-ytprefs .nav-tab-wrapper a').removeClass('nav-tab-active');
$a.addClass('nav-tab-active');
$('.wrap-ytprefs section').hide();
$('.wrap-ytprefs section').filter($a.attr('rel') ? $a.attr('rel') : $a.attr('href')).fadeIn(200);
return false;
}
});
if (window.location.hash && window.location.hash == '#jumpmonetize')
{
setTimeout(function ()
{
window.scrollTo(0, 0);
}, 1);
$('.wrap-ytprefs .nav-tab-wrapper a[href="' + window.location.hash + '"]').trigger('click');
}
$('#ytform').on('submit', function (e)
{
return window.savevalidate(e);
});
jQuery('#<?php echo self::$opt_defaultdims; ?>').on('change', function ()
{
if (jQuery(this).is(":checked"))
{
jQuery("#boxdefaultdims").show(500);
}
else
{
jQuery("#boxdefaultdims").hide(500);
}
});
jQuery('#<?php echo self::$opt_gallery_customarrows; ?>').on('change', function ()
{
if (jQuery(this).is(":checked"))
{
jQuery("#boxcustomarrows").show(500);
}
else
{
jQuery("#boxcustomarrows").hide(500);
}
});
jQuery('#<?php echo self::$opt_gallery_collapse_grid; ?>').on('change', function ()
{
if (jQuery(this).is(":checked"))
{
jQuery("#box_collapse_grid").show(500);
}
else
{
jQuery("#box_collapse_grid").hide(500);
}
});
jQuery('#<?php echo self::$opt_restrict_wizard; ?>').on('change', function ()
{
if (jQuery(this).is(":checked"))
{
jQuery("#box_restrict_wizard").show(500);
}
else
{
jQuery("#box_restrict_wizard").hide(500);
}
});
jQuery('#<?php echo self::$opt_gallery_channelsub; ?>').on('change', function ()
{
if (jQuery(this).is(":checked"))
{
jQuery("#boxchannelsub").show(500);
}
else
{
jQuery("#boxchannelsub").hide(500);
}
});
jQuery('#<?php echo self::$opt_responsive; ?>').on('change', function ()
{
if (jQuery(this).is(":checked"))
{
jQuery("#boxresponsive_all").show(500);
}
else
{
jQuery("#boxresponsive_all").hide(500);
}
});
jQuery('#<?php echo self::$opt_migrate; ?>').on('change', function ()
{
if (jQuery(this).is(":checked"))
{
jQuery("#boxmigratelist").show(500);
}
else
{
jQuery("#boxmigratelist").hide(500);
}
});
jQuery('#<?php echo self::$opt_nocookie; ?>').on('change', function ()
{
if (jQuery(this).is(":checked"))
{
jQuery("#boxnocookie").show(500);
}
else
{
jQuery("#boxnocookie").hide(500);
}
});
jQuery('#<?php echo self::$opt_gdpr_consent; ?>').on('change', function ()
{
if (jQuery(this).is(":checked"))
{
jQuery("#box_gdpr_consent").show(500);
}
else
{
jQuery("#box_gdpr_consent").hide(500);
}
});
jQuery('.vi-not-interested').on('click', function (e)
{
//e.preventDefault();
jQuery('a.nav-tab[href="#jumpdefaults"]').trigger('click');
setTimeout(function ()
{
var scrollNext = jQuery('#vi_hide_monetize_tab').offset().top - 20;
$('html, body').animate({
scrollTop: scrollNext
}, 500, function ()
{
});
}, 500);
});
jQuery('#<?php echo self::$opt_defaultvol; ?>').on('change', function ()
{
if (jQuery(this).is(":checked"))
{
jQuery("#boxdefaultvol").show(500);
}
else
{
jQuery("#boxdefaultvol").hide(500);
}
});
var rangedetect = document.createElement("input");
rangedetect.setAttribute("type", "range");
var canrange = rangedetect.type !== "text";
//canrange = false;
if (canrange)
{
$("input#vol").prop("type", "range").addClass("vol-range").on("input change", function ()
{
$('.vol-output').text($(this).val() > 0 ? $(this).val() + '%' : 'Mute');
});
$('.vol-output').css("display", "inline-block").text($("input#vol").val() > 0 ? $("input#vol").val() + '%' : 'Mute');
$('.vol-seeslider').show();
$('.vol-seetextbox').hide();
}
else
{
$("input#vol").width(40);
}
$('#defer_js').on('change', function ()
{
if (!$(this).is(':checked'))
{
$('#defer_jquery').prop('checked', false).prop('disabled', true);
}
else
{
$('#defer_jquery').prop('disabled', false);
}
});
});
})(jQuery);
</script>
<a href="<?php echo esc_attr(admin_url('admin.php?page=youtube-ep-onboarding') . '&random=' . rand(1, 1000) . '&TB_iframe=true&width=950&height=800'); ?>" class="thickbox ytprefs-onboarding-launch" id="ytprefs-onboarding-launch" title="YouTube Setup Guide"></a>
<?php
if (function_exists('add_thickbox'))
{
add_thickbox();
}
}
public static function settings_save($all)
{
$new_options = array();
$new_options[self::$opt_center] = self::postchecked(self::$opt_center) ? 1 : 0;
$new_options[self::$opt_glance] = self::postchecked(self::$opt_glance) ? 1 : 0;
$new_options[self::$opt_autoplay] = self::postchecked(self::$opt_autoplay) ? 1 : 0;
$new_options[self::$opt_debugmode] = self::postchecked(self::$opt_debugmode) ? 1 : 0;
$new_options[self::$opt_uninstall_data] = self::postchecked(self::$opt_uninstall_data) ? 1 : 0;
$new_options[self::$opt_admin_off_scripts] = self::postchecked(self::$opt_admin_off_scripts) ? 1 : 0;
$new_options[self::$opt_defer_js] = self::postchecked(self::$opt_defer_js) ? 1 : 0;
$new_options[self::$opt_defer_jquery] = self::postchecked(self::$opt_defer_jquery) ? 1 : 0;
$new_options[self::$opt_ajax_save] = self::postchecked(self::$opt_ajax_save) ? 1 : 0;
$new_options[self::$opt_show_pointer] = self::postchecked(self::$opt_show_pointer) ? 1 : 0;
$new_options[self::$opt_old_script_method] = self::postchecked(self::$opt_old_script_method) ? 1 : 0;
$new_options[self::$opt_cc_load_policy] = self::postchecked(self::$opt_cc_load_policy) ? 1 : 0;
$new_options[self::$opt_iv_load_policy] = self::postchecked(self::$opt_iv_load_policy) ? 1 : 3;
$new_options[self::$opt_loop] = self::postchecked(self::$opt_loop) ? 1 : 0;
$new_options[self::$opt_modestbranding] = self::postchecked(self::$opt_modestbranding) ? 1 : 0;
$new_options[self::$opt_fs] = self::postchecked(self::$opt_fs) ? 1 : 0;
$new_options[self::$opt_playsinline] = self::postchecked(self::$opt_playsinline) ? 1 : 0;
$new_options[self::$opt_origin] = self::postchecked(self::$opt_origin) ? 1 : 0;
$new_options[self::$opt_controls] = self::postchecked(self::$opt_controls) ? 1 : 0;
$new_options[self::$opt_color] = self::postchecked(self::$opt_color) ? 'red' : 'white';
$new_options[self::$opt_nocookie] = self::postchecked(self::$opt_nocookie) ? 1 : 0;
$new_options[self::$opt_gb_compat] = self::postchecked(self::$opt_gb_compat) ? 1 : 0;
$new_options[self::$opt_facade_mode] = self::postchecked(self::$opt_facade_mode) ? 1 : 0;
$new_options[self::$opt_facade_autoplay] = self::postchecked(self::$opt_facade_autoplay) ? 1 : 0;
$new_options[self::$opt_gdpr_consent] = self::postchecked(self::$opt_gdpr_consent) ? 1 : 0;
$new_options[self::$opt_playlistorder] = self::postchecked(self::$opt_playlistorder) ? 1 : 0;
$new_options[self::$opt_acctitle] = self::postchecked(self::$opt_acctitle) ? 1 : 0;
$new_options[self::$opt_migrate] = self::postchecked(self::$opt_migrate) ? 1 : 0;
$new_options[self::$opt_migrate_youtube] = self::postchecked(self::$opt_migrate_youtube) ? 1 : 0;
$new_options[self::$opt_migrate_embedplusvideo] = self::postchecked(self::$opt_migrate_embedplusvideo) ? 1 : 0;
$new_options[self::$opt_oldspacing] = self::postchecked(self::$opt_oldspacing) ? 1 : 0;
$new_options[self::$opt_frontend_only] = self::postchecked(self::$opt_frontend_only) ? 1 : 0;
$new_options[self::$opt_responsive] = self::postchecked(self::$opt_responsive) ? 1 : 0;
$new_options[self::$opt_widgetfit] = self::postchecked(self::$opt_widgetfit) ? 1 : 0;
$new_options[self::$opt_evselector_light] = self::postchecked(self::$opt_evselector_light) ? 1 : 0;
$new_options[self::$opt_stop_mobile_buffer] = self::postchecked(self::$opt_stop_mobile_buffer) ? 1 : 0;
$new_options[self::$opt_restrict_wizard] = self::postchecked(self::$opt_restrict_wizard) ? 1 : 0;
$new_options[self::$opt_ajax_compat] = self::postchecked(self::$opt_ajax_compat) ? 1 : 0;
$new_options[self::$opt_defaultdims] = self::postchecked(self::$opt_defaultdims) ? 1 : 0;
$new_options[self::$opt_pause_others] = self::postchecked(self::$opt_pause_others) ? 1 : 0;
$new_options[self::$opt_defaultvol] = self::postchecked(self::$opt_defaultvol) ? 1 : 0;
$new_options[self::$opt_dohl] = self::postchecked(self::$opt_dohl) ? 1 : 0;
$new_options[self::$opt_onboarded] = self::postchecked(self::$opt_onboarded) ? 1 : 0;
$new_options[self::$opt_not_live_on] = self::postchecked(self::$opt_not_live_on) ? 1 : 0;
$new_options[self::$opt_not_live_on_channel] = self::postchecked(self::$opt_not_live_on_channel) ? 1 : 0;
$new_options[self::$opt_gallery_hideprivate] = self::postchecked(self::$opt_gallery_hideprivate) ? 1 : 0;
$new_options[self::$opt_gallery_showtitle] = self::postchecked(self::$opt_gallery_showtitle) ? 1 : 0;
$new_options[self::$opt_gallery_showpaging] = self::postchecked(self::$opt_gallery_showpaging) ? 1 : 0;
$new_options[self::$opt_gallery_autonext] = self::postchecked(self::$opt_gallery_autonext) ? 1 : 0;
$new_options[self::$opt_gallery_thumbplay] = self::postchecked(self::$opt_gallery_thumbplay) ? 1 : 0;
$new_options[self::$opt_gallery_channelsub] = self::postchecked(self::$opt_gallery_channelsub) ? 1 : 0;
$new_options[self::$opt_gallery_customarrows] = self::postchecked(self::$opt_gallery_customarrows) ? 1 : 0;
$new_options[self::$opt_gallery_collapse_grid] = self::postchecked(self::$opt_gallery_collapse_grid) ? 1 : 0;
$new_options[self::$opt_vi_hide_monetize_tab] = self::postchecked(self::$opt_vi_hide_monetize_tab) ? 1 : 0;
$new_options[self::$opt_cc_lang_pref] = sanitize_title($_POST[self::$opt_cc_lang_pref]);
$_rel = 0;
try
{
$_rel = is_numeric(trim($_POST[self::$opt_rel])) ? intval(trim($_POST[self::$opt_rel])) : $_rel;
}
catch (Exception $ex)
{
}
$new_options[self::$opt_rel] = $_rel;
$_gdpr_consent_message = '';
try
{
$_gdpr_consent_message = wp_kses_post(stripslashes($_POST[self::$opt_gdpr_consent_message]));
}
catch (Exception $ex)
{
$_gdpr_consent_message = '';
}
$new_options[self::$opt_gdpr_consent_message] = $_gdpr_consent_message;
$_gdpr_consent_button = '';
try
{
$_gdpr_consent_button = wp_kses_post(stripslashes($_POST[self::$opt_gdpr_consent_button]));
}
catch (Exception $ex)
{
$_gdpr_consent_button = '';
}
$new_options[self::$opt_gdpr_consent_button] = $_gdpr_consent_button;
$_ytapi_load = 'light';
try
{
$_ytapi_load_temp = $_POST[self::$opt_ytapi_load];
if (in_array($_ytapi_load_temp, array('always', 'light', 'never')))
{
$_ytapi_load = $_ytapi_load_temp;
}
}
catch (Exception $ex)
{
}
$new_options[self::$opt_ytapi_load] = $_ytapi_load;
$_maxres_facade = 'eager';
try
{
$_maxres_facade_temp = filter_input(INPUT_POST, self::$opt_maxres_facade);
if (in_array($_maxres_facade_temp, array('eager', 'soft', 'off')))
{
$_maxres_facade = $_maxres_facade_temp;
}
}
catch (Exception $ex)
{
}
$new_options[self::$opt_maxres_facade] = $_maxres_facade;
$_restrict_wizard_roles = self::$dft_roles;
try
{
$_restrict_wizard_roles = is_array($_POST[self::$opt_restrict_wizard_roles]) ? $_POST[self::$opt_restrict_wizard_roles] : $_restrict_wizard_roles;
}
catch (Exception $ex)
{
}
$new_options[self::$opt_restrict_wizard_roles] = $_restrict_wizard_roles;
$_defaultwidth = '';
try
{
$_defaultwidth = is_numeric(trim($_POST[self::$opt_defaultwidth])) ? intval(trim($_POST[self::$opt_defaultwidth])) : $_defaultwidth;
}
catch (Exception $ex)
{
}
$new_options[self::$opt_defaultwidth] = $_defaultwidth;
$_defaultheight = '';
try
{
$_defaultheight = is_numeric(trim($_POST[self::$opt_defaultheight])) ? intval(trim($_POST[self::$opt_defaultheight])) : $_defaultheight;
}
catch (Exception $ex)
{
}
$new_options[self::$opt_defaultheight] = $_defaultheight;
$_responsive_all = 1;
try
{
$_responsive_all = is_numeric(trim($_POST[self::$opt_responsive_all])) ? intval(trim($_POST[self::$opt_responsive_all])) : $_responsive_all;
}
catch (Exception $ex)
{
}
$new_options[self::$opt_responsive_all] = $_responsive_all;
$_vol = '';
try
{
$_vol = is_numeric(trim($_POST[self::$opt_vol])) ? intval(trim($_POST[self::$opt_vol])) : $_vol;
}
catch (Exception $ex)
{
}
$new_options[self::$opt_vol] = $_vol;
$_gallery_pagesize = 15;
try
{
$_gallery_pagesize = is_numeric(trim($_POST[self::$opt_gallery_pagesize])) ? intval(trim($_POST[self::$opt_gallery_pagesize])) : $_gallery_pagesize;
}
catch (Exception $ex)
{
}
$new_options[self::$opt_gallery_pagesize] = $_gallery_pagesize;
$_gallery_columns = 3;
try
{
$_gallery_columns = is_numeric(trim($_POST[self::$opt_gallery_columns])) ? intval(trim($_POST[self::$opt_gallery_columns])) : $_gallery_columns;
}
catch (Exception $ex)
{
}
$new_options[self::$opt_gallery_columns] = $_gallery_columns;
$_gallery_collapse_grid_breaks = self::$dft_bpts;
try
{
$_gallery_collapse_grid_breaks = is_array($_POST[self::$opt_gallery_collapse_grid_breaks]) ? $_POST[self::$opt_gallery_collapse_grid_breaks] : $_gallery_collapse_grid_breaks;
}
catch (Exception $ex)
{
}
$new_options[self::$opt_gallery_collapse_grid_breaks] = $_gallery_collapse_grid_breaks;
$_gallery_scrolloffset = 20;
try
{
$_gallery_scrolloffset = is_numeric(trim($_POST[self::$opt_gallery_scrolloffset])) ? intval(trim($_POST[self::$opt_gallery_scrolloffset])) : $_gallery_scrolloffset;
}
catch (Exception $ex)
{
}
$new_options[self::$opt_gallery_scrolloffset] = $_gallery_scrolloffset;
$_gallery_channelsublink = '';
try
{
$_gallery_channelsublink = trim(strip_tags($_POST[self::$opt_gallery_channelsublink]));
$pieces = explode('?', $_gallery_channelsublink);
$_gallery_channelsublink = trim($pieces[0]);
}
catch (Exception $ex)
{
$_gallery_channelsublink = '';
}
$new_options[self::$opt_gallery_channelsublink] = $_gallery_channelsublink;
$_gallery_channelsubtext = '';
try
{
$_gallery_channelsubtext = stripslashes(trim($_POST[self::$opt_gallery_channelsubtext]));
}
catch (Exception $ex)
{
$_gallery_channelsubtext = '';
}
$new_options[self::$opt_gallery_channelsubtext] = $_gallery_channelsubtext;
$_gallery_custom_prev = 'Prev';
try
{
$_gallery_custom_prev = trim(strip_tags($_POST[self::$opt_gallery_customprev]));
}
catch (Exception $ex)
{
$_gallery_custom_prev = 'Prev';
}
$new_options[self::$opt_gallery_customprev] = $_gallery_custom_prev;
$_gallery_custom_next = 'Next';
try
{
$_gallery_custom_next = trim(strip_tags($_POST[self::$opt_gallery_customnext]));
}
catch (Exception $ex)
{
$_gallery_custom_next = 'Next';
}
$new_options[self::$opt_gallery_customnext] = $_gallery_custom_next;
$_not_live_content = '';
try
{
$_not_live_content = wp_kses_post(stripslashes($_POST[self::$opt_not_live_content]));
}
catch (Exception $ex)
{
$_not_live_content = '';
}
$new_options[self::$opt_not_live_content] = $_not_live_content;
$_apikey = '';
try
{
$_apikey = trim(str_replace(array(' ', "'", '"'), array('', '', ''), strip_tags($_POST[self::$opt_apikey])));
}
catch (Exception $ex)
{
$_apikey = '';
}
$new_options[self::$opt_apikey] = $_apikey;
$all = $new_options + $all;
update_option(self::$opt_alloptions, $all);
return array(
'type' => 'success',
'message' => 'Changes were saved. <em>If you are using a separate caching plugin and you do not see your changes after saving, <strong class="orange">you need to reset your cache.</strong></em>'
);
}
public static function settings_save_ajax()
{
$result = array();
if (check_ajax_referer('_epyt_save', '_epyt_nonce', false) && current_user_can('manage_options'))
{
$all = get_option(self::$opt_alloptions);
$result = self::settings_save($all);
}
else
{
$result['type'] = 'error';
$result['message'] = 'Sorry, there was a problem saving your settings.';
}
echo json_encode($result);
die();
}
public static function onboarding_save_valid(&$input)
{
$messages = array();
try
{
$input[self::$opt_modestbranding] = intval($input[self::$opt_modestbranding]);
$input[self::$opt_responsive] = intval($input[self::$opt_responsive]);
$input[self::$opt_responsive_all] = intval($input[self::$opt_responsive_all]);
$input[self::$opt_defer_js] = intval($input[self::$opt_defer_js]);
$input[self::$opt_gallery_pagesize] = intval($input[self::$opt_gallery_pagesize]);
$input[self::$opt_gallery_columns] = intval($input[self::$opt_gallery_columns]);
$input[self::$opt_not_live_content] = wp_kses_post(stripslashes($input[self::$opt_not_live_content]));
$input[self::$opt_not_live_on] = intval($input[self::$opt_not_live_on]);
$input[self::$opt_not_live_on_channel] = intval($input[self::$opt_not_live_on_channel]);
if (!in_array($input[self::$opt_ytapi_load], array('always', 'light', 'never')))
{
$input[self::$opt_ytapi_load] = 'light';
}
$input[self::$opt_facade_mode] = intval($input[self::$opt_facade_mode]);
$input[self::$opt_facade_autoplay] = intval($input[self::$opt_facade_autoplay]);
$input[self::$opt_gdpr_consent] = intval($input[self::$opt_gdpr_consent]);
$input[self::$opt_gdpr_consent_message] = wp_kses_post(stripslashes($input[self::$opt_gdpr_consent_message]));
$input[self::$opt_gdpr_consent_button] = wp_kses_post(stripslashes($input[self::$opt_gdpr_consent_button]));
$input[self::$opt_nocookie] = intval($input[self::$opt_nocookie]);
}
catch (Exception $ex)
{
$messages[] = 'Please enter valid data.';
}
if (empty($messages))
{
return true;
}
return $messages;
}
public static function onboarding_save()
{
$result = array();
$default = array(
self::$opt_rel => 1,
self::$opt_modestbranding => 0,
self::$opt_responsive => 0,
self::$opt_responsive_all => 0,
self::$opt_defer_js => 0,
self::$opt_gallery_pagesize => 15,
self::$opt_gallery_columns => 3,
self::$opt_not_live_content => '',
self::$opt_not_live_on => 0,
self::$opt_not_live_on_channel => 0,
self::$opt_ytapi_load => 'light',
self::$opt_facade_mode => 0,
self::$opt_facade_autoplay => 1,
self::$opt_gdpr_consent => 0,
self::$opt_gdpr_consent_message => self::$dft_gdpr_consent_message,
self::$opt_gdpr_consent_button => 'Accept YouTube Content',
self::$opt_nocookie => 0
);
$input = shortcode_atts($default, stripslashes_deep($_POST));
$valid = self::onboarding_save_valid($input);
if ($valid === true)
{
self::update_option_set($input);
$result['type'] = 'success';
}
else
{
$result['type'] = 'error';
$result['message'] = implode('<br/>', $valid);
}
return $result;
}
public static function onboarding_save_ajax()
{
$result = array();
if (self::is_ajax() && self::ajax_referer() && current_user_can('manage_options'))
{
$result = self::onboarding_save();
}
else
{
$result['type'] = 'error';
$result['message'] = 'Sorry, there was a problem saving the data.';
}
echo json_encode($result);
die();
}
public static function onboarding_save_apikey_valid(&$input)
{
$messages = array();
try
{
$input[self::$opt_apikey] = trim(str_replace(array(' ', "'", '"'), array('', '', ''), strip_tags($input[self::$opt_apikey])));
}
catch (Exception $ex)
{
$messages[] = 'Please enter a valid API key.';
}
if (empty($messages))
{
return true;
}
return $messages;
}
public static function onboarding_save_apikey()
{
$result = array();
$default = array(
self::$opt_apikey => '',
);
$input = shortcode_atts($default, stripslashes_deep($_POST));
$valid = self::onboarding_save_apikey_valid($input);
if ($valid === true)
{
self::update_option_set($input);
$result['type'] = 'success';
}
else
{
$result['type'] = 'error';
$result['message'] = implode('<br/>', $valid);
}
return $result;
}
public static function onboarding_save_apikey_ajax()
{
$result = array();
if (self::is_ajax() && self::ajax_referer() && current_user_can('manage_options'))
{
$result = self::onboarding_save_apikey();
}
else
{
$result['type'] = 'error';
$result['message'] = 'Sorry, there was a problem saving the data.';
}
echo json_encode($result);
die();
}
public static function ytprefs_show_onboarding()
{
if (!current_user_can('manage_options'))
{
wp_die(__('You do not have sufficient permissions to access this page.'));
}
if (self::$double_plugin)
{
self::double_plugin_warning();
}
$all = get_option(self::$opt_alloptions);
$do_once = array(
self::$opt_onboarded => 1
);
self::update_option_set($do_once);
?>
<div class="wrap wrap-ytprefs-onboarding">
<div class="ytprefs-ob-title">
YouTube Setup Guide
</div>
<div class="relative">
<div class="ytprefs-ob-step ytprefs-ob-step1 active-step">
<div class="ytprefs-ob-content">
<div class="ytprefs-ob-block">
<p>
With so many options available in this plugin, we created this easy setup guide to help you quickly learn about its <strong>most common settings and newest features</strong>. We hope it will get you embedding videos, galleries, and/or live streams sooner.
</p>
<p>
You'll have an opportunity to see and set many other options after completing this setup guide.
</p>
</div>
</div>
<div class="ytprefs-ob-content ytprefs-ob-content1">
<h2>
Below, check all that apply:<br><em>I'm interested in embedding...</em>
</h2>
<div class="ytprefs-hover-icons">
<img class="yob-single-icon" src="<?php echo plugins_url('images/icon-player-single.png', __FILE__) ?>"/>
<img class="yob-gallery-icon" src="<?php echo plugins_url('images/icon-playlist-gallery.png', __FILE__) ?>"/>
<img class="yob-standalone-icon" src="<?php echo plugins_url('images/icon-playlist-self.png', __FILE__) ?>"/>
<img class="yob-live-icon" src="<?php echo plugins_url('images/icon-player-live.png', __FILE__) ?>"/>
<img class="yob-privacy-icon" src="<?php echo plugins_url('images/icon-player-privacy.png', __FILE__) ?>"/>
<!-- <img class="yob-monetize-icon" src="<?php echo plugins_url('images/icon-player-money.png', __FILE__) ?>"/>-->
</div>
<ul class="ytprefs-ob-filter">
<li><label><input type="checkbox" data-obfilter="yob-single" /> Single videos.</label></li>
<li><label><input type="checkbox" data-obfilter="yob-gallery" /> Galleries of playlists or channels (displays thumbnails and a player).</label></li>
<li><label><input type="checkbox" data-obfilter="yob-standalone" /> Self-contained playlists or channels (no thumbnails, just YouTube's standard playlist player).</label></li>
<li><label><input type="checkbox" data-obfilter="yob-live" /> Live streams or premieres.</label></li>
<li style="display:none;"><label><input type="checkbox" data-obfilter="yob-privacy" /> With GDPR / privacy features.</label></li>
<!-- <li><label><input type="checkbox" data-obfilter="yob-monetize" /> Relevant video ads that earn me up to 10x higher CPMs (revenue) than display advertising.</label></li>-->
</ul>
<div class="ytprefs-ob-nav">
<button type="button" class="button-secondary ytprefs-ob-nav-close">Cancel</button>
<button type="button" disabled class="button-primary ytprefs-ob-nav-next">Next »</button>
</div>
<h2>
Intro Video
</h2>
<p>
Want a quick visual overview? Here's a preview of some of the free features of the plugin.
</p>
<div class="epyt-fitvid">
<iframe src="https://www.youtube.com/embed/QDdvXBqfrzM?rel=0" allowfullscreen="" frameborder="0"></iframe>
</div>
<p>
</p>
</div>
</div>
<div class="ytprefs-ob-step ytprefs-ob-step2">
<div class="ytprefs-ob-content">
<h2>
You're interested in:
</h2>
<form id="form-onboarding">
<input type="hidden" name="action" value="my_embedplus_onboarding_save_ajax"/>
<div class="ytprefs-ob-setting yob-single yob-gallery yob-standalone yob-live">
<label>
<b class="chktitle">Related Videos:</b>
Show or hide related and recommended videos at the end of playback.
<br>
</label>
<input type="radio" name="<?php echo self::$opt_rel; ?>" id="<?php echo self::$opt_rel; ?>-1" value="-1" <?php checked($all[self::$opt_rel], -1); ?>>
<label for="<?php echo self::$opt_rel; ?>-1">Hide related videos at the end of playback</label>
<input type="radio" name="<?php echo self::$opt_rel; ?>" id="<?php echo self::$opt_rel; ?>0" value="0" <?php checked($all[self::$opt_rel], 0); ?>>
<label for="<?php echo self::$opt_rel; ?>0">Show related videos only from the video's channel</label>
<input type="radio" name="<?php echo self::$opt_rel; ?>" id="<?php echo self::$opt_rel; ?>1" value="1" <?php checked($all[self::$opt_rel], 1); ?>>
<label for="<?php echo self::$opt_rel; ?>1">Show related videos</label>
</div>
<div class="ytprefs-ob-setting yob-single yob-gallery yob-standalone">
<input value="1" name="<?php echo self::$opt_facade_mode; ?>" id="<?php echo self::$opt_facade_mode; ?>" <?php checked($all[self::$opt_facade_mode], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_facade_mode ?>">
<b class="chktitle"><?php _e('Facade Mode:', 'youtube-embed-plus'); ?> <sup class="orange">new</sup></b>
<?php _e('This improves performance by loading a lighter version of the player, until it is clicked. Then the real player loads (note: for live streams, the real player is always loaded). We have tested this feature in multiple cases and found it to successfully improve your Lighthouse performance score by addressing the following recommendation: "Some third-party resources can be lazy loaded with a facade."', 'youtube-embed-plus'); ?>
<a href="https://www.youtube.com/watch?v=W7PKUjVBDNE" target="_blank"><?php _e('See an example of this feature at work.', 'youtube-embed-plus'); ?></a>
</label>
<div class="p box_facade_mode">
<input value="1" name="<?php echo self::$opt_facade_autoplay; ?>" id="<?php echo self::$opt_facade_autoplay; ?>" type="checkbox" class="checkbox" <?php checked($all[self::$opt_facade_autoplay], 1); ?>>
<label for="<?php echo self::$opt_facade_autoplay ?>">
<b class="chktitle"><?php _e('Autoplay On Facade Click:', 'youtube-embed-plus'); ?></b>
<span>
<?php _e('After clicking once on the facade (aka light thumbnail), it is replaced with the real player. Check this option to have the real player play immediately, otherwise it will require an additional click. Note that checking this option will use YouTube\'s autoplay feature, which will not contribute toward play counts. If you\'re embedding videos from someone else\'s channel, we recommend checking this. If you\'re embedding videos that are from your channel, then you should self-evaluate the tradeoff involving play counts and additional clicking.', 'youtube-embed-plus'); ?>
</span>
</label>
</div>
</div>
<div class="ytprefs-ob-setting yob-single yob-gallery yob-standalone yob-live">
<input value="1" name="<?php echo self::$opt_modestbranding; ?>" id="<?php echo self::$opt_modestbranding; ?>" <?php checked($all[self::$opt_modestbranding], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_modestbranding; ?>"><?php _e('<b class="chktitle">Modest Branding:</b> No YouTube logo will be shown on the control bar. Instead, as required by YouTube, the logo will only show as a watermark when the video is paused/stopped.') ?></label>
</div>
<div class="ytprefs-ob-setting yob-single yob-gallery yob-standalone yob-live">
<input value="1" name="<?php echo self::$opt_responsive; ?>" id="<?php echo self::$opt_responsive; ?>" <?php checked($all[self::$opt_responsive], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_responsive; ?>"><?php _e('<b class="chktitle">Responsive Video Sizing:</b> Make your videos responsive so that they dynamically fit in all screen sizes (smart phone, PC and tablet). NOTE: While this is checked, any custom hardcoded widths and heights you may have set will dynamically change too. <b>Do not check this if your theme already handles responsive video sizing.</b>') ?></label>
<p id="boxresponsive_all" class="ytindent">
<input type="radio" name="<?php echo self::$opt_responsive_all; ?>" id="<?php echo self::$opt_responsive_all; ?>1" value="1" <?php checked($all[self::$opt_responsive_all], 1); ?> >
<label for="<?php echo self::$opt_responsive_all; ?>1">Responsive for all YouTube videos</label>
<input type="radio" name="<?php echo self::$opt_responsive_all; ?>" id="<?php echo self::$opt_responsive_all; ?>0" value="0" <?php checked($all[self::$opt_responsive_all], 0); ?> >
<label for="<?php echo self::$opt_responsive_all; ?>0">Responsive for only videos embedded via this plugin</label>
</p>
</div>
<div class="ytprefs-ob-setting yob-gallery">
<label for="<?php echo self::$opt_gallery_pagesize; ?>"><b class="chktitle">Default Gallery Page Size:</b></label>
<select name="<?php echo self::$opt_gallery_pagesize; ?>" id="<?php echo self::$opt_gallery_pagesize; ?>" style="width: 60px;">
<?php
$gps_val = intval(trim($all[self::$opt_gallery_pagesize]));
$gps_val = min($gps_val, 50);
for ($gps = 1; $gps <= 50; $gps++)
{
?><option <?php echo $gps_val == $gps ? 'selected' : '' ?> value="<?php echo $gps ?>"><?php echo $gps ?></option>
<?php
}
?>
</select>
Enter how many thumbnails per page should be shown at once (YouTube allows a maximum of 50 per page). You can later use the embedding wizard to customize this for specific galleries.
</div>
<div class="ytprefs-ob-setting yob-gallery">
<label for="<?php echo self::$opt_gallery_columns; ?>"><b class="chktitle">Default Gallery Number of Columns:</b></label>
<input name="<?php echo self::$opt_gallery_columns; ?>" id="<?php echo self::$opt_gallery_columns; ?>" type="number" class="textinput" style="width: 60px;" value="<?php echo esc_attr(trim($all[self::$opt_gallery_columns])); ?>">
Enter how many thumbnails can fit per row. You can later use the embedding wizard to customize this for specific galleries.
</div>
<div class="ytprefs-ob-setting yob-live">
<p>
<b class="chktitle">Use "Not Live" Fallback Content For Live Streams:</b> (<a href="<?php echo self::$epbase ?>/how-to-embed-a-youtube-livestream-in-wordpress.aspx" target="_blank">More info here</a>)
This feature lets you display alternate content if your live stream is not currently active. This feature works for <strong>direct link</strong> live streams (more info about channel-based live streams below).
</p>
<div class="ytindent chx">
<input value="1" name="<?php echo self::$opt_not_live_on; ?>" id="<?php echo self::$opt_not_live_on; ?>" <?php checked($all[self::$opt_not_live_on], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_not_live_on; ?>"><span class="chktitle">Turn on for <b>direct link</b> live streams:</span>
When your direct-link embed is not streaming live, the YouTube live player usually displays a countdown after the user clicks the play button.
Instead of showing that player, you can display some "coming soon" content in that space for your visitors to see until your video begins to live stream.
The plugin will automatically switch to your video's live stream once it's active. In the <em>"Not Live" Fallback Content</em> box below, enter what you would like to appear until then.
You can even insert shortcodes from our plugin into the box below (shortcodes from other plugins may or may not work correctly).
If you just want to show the standard countdown player that YouTube provides, don't use this feature.
<strong>NOTE: Turning this on for direct-link live streams uses a significant amount of your YouTube API quota. We suggest unchecking it if your site has high traffic. If you chose to use this feature, do not put another live stream embed below.</strong>
</label>
<br>
<br>
<input disabled id="<?php echo self::$opt_not_live_on_channel; ?>" type="checkbox" class="checkbox">
<label><span class="chktitle">Turn on for <b>channel</b> live streams (<span class="orange">upgrade required</span>) </span>
Unfortunately, Google has recently removed their YouTube API feature that used to support channel-based live streams. It appears they won't change things back. However, you do have a couple of choices:
<ol>
<li>Use "Direct link" live streams, as explained above. The trade-off is that you will have to manually post and take down your future live streams every time they start and when they end, respectively.</li>
<li>Or <a href="<?php echo self::$epbase ?>/dashboard/pro-easy-video-analytics.aspx" target="_blank">upgrade to Pro</a>, which has a solution that brings back all the "set it and forget it" features of channel-based embeds. We spent a significant amount of time developing a stable, long-term solution around YouTube's limitations, so we are releasing this effort exclusively to our Pro customers.</li>
</ol>
</label>
<div class="p not-live-content">
<p>
<b>"Not Live" Fallback Content:</b>
</p>
<?php
wp_editor(wp_kses_post($all[self::$opt_not_live_content]), self::$opt_not_live_content, array('textarea_rows' => 7));
?>
</div>
</div>
</div>
<div class="ytprefs-ob-setting yob-privacy">
<b class="chktitle">YouTube API Loading:</b> Choose when to load the YouTube API. The "Restricted" or "Never" options will help with GDPR compliance:
<ul class="indent-option">
<li><label><input type="radio" name="<?php echo self::$opt_ytapi_load ?>" value="light" <?php checked($all[self::$opt_ytapi_load], 'light'); ?> /> <em>Restricted</em> - (Recommended) Only load the API on pages that have a YouTube video.</label></li>
<li><label><input type="radio" name="<?php echo self::$opt_ytapi_load ?>" value="never" <?php checked($all[self::$opt_ytapi_load], 'never'); ?> /> <em>Never</em> - Do not load the YouTube API. Note: The "Never" choice may break a few features such as Volume Initialization and Gallery Continuous/Auto Play.</label></li>
<li><label><input type="radio" name="<?php echo self::$opt_ytapi_load ?>" value="always" <?php checked($all[self::$opt_ytapi_load], 'always'); ?> /> <em>Always</em> - Load the API on all pages. In most cases, the "Always" choice is not necessary.</label></li>
</ul>
</div>
<div class="ytprefs-ob-setting yob-privacy">
<input value="1" name="<?php echo self::$opt_gdpr_consent; ?>" id="<?php echo self::$opt_gdpr_consent; ?>" <?php checked($all[self::$opt_gdpr_consent], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_gdpr_consent; ?>">
<b class="chktitle">Privacy/GDPR - Show Consent Message:</b> Ask for consent before loading YouTube content. A message will be displayed in place of the YouTube video, as shown in the screenshot below. Once the visitor approves consent, the YouTube content will load. You can customize the message text and the button text in the next 2 options.
</label>
</div>
<div class="ytprefs-ob-setting yob-privacy">
<label for="<?php echo self::$opt_gdpr_consent_message; ?>">
<b class="chktitle">Privacy/GDPR - Consent Message Text:</b>
Below you can customize the message that will appear to visitors before they accept YouTube content:
</label>
<div class="clearboth"></div>
<div class="gdpr-options-left">
<?php
wp_editor(wp_kses_post($all[self::$opt_gdpr_consent_message]), self::$opt_gdpr_consent_message, array(
'textarea_rows' => 22,
'media_buttons' => false,
'teeny' => true
));
?>
</div>
<div class="gdpr-options-right">
<p><em>Example of message and button:</em></p>
<img src="<?php echo plugins_url('images/ss-gdpr-message.png', __FILE__) ?>" alt="GDPR Consent Message Example" class="img-gdpr-message" />
</div>
</div>
<div class="clearboth"></div>
<div class="ytprefs-ob-setting yob-privacy">
<label for="<?php echo self::$opt_gdpr_consent_button; ?>">
<b class="chktitle">Privacy/GDPR - Consent Button Text:</b>
This is the text for the red "Accept" button that appears with the above privacy/GDPR message:
</label>
<br>
<input type="text" placeholder="Example: Accept YouTube Content" name="<?php echo self::$opt_gdpr_consent_button; ?>" id="<?php echo self::$opt_gdpr_consent_button; ?>" value="<?php echo esc_attr(trim($all[self::$opt_gdpr_consent_button])); ?>" class="textinput regular-text"/>
</div>
<div class="ytprefs-ob-setting yob-privacy">
<input value="1" name="<?php echo self::$opt_nocookie; ?>" id="<?php echo self::$opt_nocookie; ?>" <?php checked($all[self::$opt_nocookie], 1); ?> type="checkbox" class="checkbox">
<label for="<?php echo self::$opt_nocookie; ?>">
<b class="chktitle">No Cookies:</b> Prevent YouTube from leaving tracking cookies on your visitors browsers unless they actual play the videos. This is coded to apply this behavior on links in your past post as well.
<span id="boxnocookie">
Checking this option may introduce issues to features that depend YouTube's API, such as galleries and playlists. Furthermore, videos on mobile devices may have problems if you leave this checked. We suggest testing this out to make sure you are pleased with the results.
</span>
</label>
</div>
<div class="ytprefs-ob-nav">
<button type="button" class="button-secondary ytprefs-ob-nav-prev">« Previous</button>
<button type="submit" class="button-primary ytprefs-ob-nav-next">Save & Next »</button>
</div>
</form>
</div>
</div>
<div class="ytprefs-ob-step ytprefs-ob-step3">
<div class="ytprefs-ob-content">
<h2>
YouTube API Key
</h2>
<form id="form-onboarding-apikey">
<input type="hidden" name="action" value="my_embedplus_onboarding_save_apikey_ajax"/>
<p>
Some features (such as galleries, and some wizard features) now require you to create a free YouTube API key from Google.
</p>
<?php
if (!empty($all[self::$opt_apikey]) && strlen($all[self::$opt_apikey]) > 0)
{
?>
<p class="ytprefs-ob-success">
Great! You already have an API key.
</p>
<?php
}
else
{
?>
<p>
The instructions for this are very specific, so we created a video for you that's hopefully easy to follow: <a href="https://www.embedplus.com/how-to-create-a-youtube-api-key.aspx" target="_blank">Click this link</a> and follow the steps on the page. Then save your API key here.
</p>
<?php
}
?>
<p>
<input type="text" placeholder="Paste your YouTube API key here" name="<?php echo self::$opt_apikey; ?>" id="<?php echo self::$opt_apikey; ?>" value="<?php echo esc_attr(trim($all[self::$opt_apikey])); ?>" class="regular-text" style='max-width: 40%;'>
</p>
<div class="ytprefs-ob-nav">
<div class="ytprefs-ob-nav-ultimate">
<button type="button" class="button-secondary ytprefs-ob-nav-prev">« Previous</button>
<button type="button" class="button-secondary ytprefs-ob-nav-close">I'll do this later.</button>
<button type="submit" class="button-primary ytprefs-ob-nav-next">Save & Finish</button>
</div>
<div class="ytprefs-ob-nav-penultimate ytprefs-ob-nav-hide">
<button type="button" class="button-secondary ytprefs-ob-nav-prev">« Previous</button>
<button type="button" class="button-secondary ytprefs-ob-nav-skip">I'll do this later »</button>
<button type="submit" class="button-primary ytprefs-ob-nav-next">Save & Next »</button>
</div>
</div>
</form>
</div>
</div>
<div class="ytprefs-ob-step ytprefs-ob-step4">
<div class="ytprefs-ob-content">
<?php
if (!self::vi_logged_in() && !self::vi_script_setup_done())
{
echo '<div class="vi-registration-box">';
include_once(EPYTVI_INCLUDES_PATH . 'vi_registration_form.php');
include_once(EPYTVI_INCLUDES_PATH . 'vi_login_success.php');
echo '</div>';
}
else
{
?>
<h2>Monetization</h2>
<p class="ytprefs-ob-success">
Hooray! You have already signed up for the <a href="<?php echo admin_url('admin.php?page=youtube-ep-vi') ?>" target="_blank">video ad monetization feature</a>.
</p>
<?php
}
?>
<div class="ytprefs-ob-nav">
<button type="button" class="button-secondary ytprefs-ob-nav-prev">« Previous</button>
<button type="button" class="button-primary ytprefs-ob-nav-close">Finish</button>
</div>
</div>
</div>
</div>
</div>
<?php
}
public static function save_changes_button($submitted)
{
$button_label = 'Save Changes';
if ($submitted)
{
$button_label = 'Changes Saved';
?>
<script type="text/javascript">
jQuery(document).ready(function ()
{
setTimeout(function ()
{
jQuery('.ytprefs-submit').text('Save Changes');
}, 3000);
});</script>
<?php
}
?>
<p class="submit">
<button type="submit" name="Submit" class="button-primary ytprefs-submit"><?php _e($button_label) ?></button>
<em>If you're using a separate caching plugin and you do not see your changes after saving, <strong class="orange">you need to reset your cache.</strong></em>
</p>
<?php
}
public static function ytprefsscript()
{
$loggedin = current_user_can('edit_posts');
if (!($loggedin && self::$alloptions[self::$opt_admin_off_scripts]))
{
wp_enqueue_style(
'__EPYT__style', plugins_url('styles/ytprefs' . self::$min . '.css', __FILE__), array(), self::$version
);
$cols = floatval(self::$alloptions[self::$opt_gallery_columns]);
$cols = $cols == 0 ? 3.0 : $cols;
$colwidth = 100.0 / $cols;
$custom_css = "
.epyt-gallery-thumb {
width: " . round($colwidth, 3) . "%;
}
";
if (self::$alloptions[self::$opt_gallery_collapse_grid] == 1)
{
foreach (self::$alloptions[self::$opt_gallery_collapse_grid_breaks] as $idx => $bpts)
{
$custom_css .= "
@media (min-width:" . $bpts['bp']['min'] . "px) and (max-width: " . $bpts['bp']['max'] . "px) {
.epyt-gallery-rowbreak {
display: none;
}
.epyt-gallery-allthumbs[class*=\"epyt-cols\"] .epyt-gallery-thumb {
width: " . round(100.0 / intval($bpts['cols']), 3) . "% !important;
}
}";
}
}
wp_add_inline_style('__EPYT__style', $custom_css);
wp_enqueue_script('__ytprefs__', plugins_url('scripts/ytprefs' . self::$min . '.js', __FILE__), array('jquery'), self::$version);
if (self::$alloptions[self::$opt_old_script_method] != 1)
{
$my_script_vars = array(
'ajaxurl' => admin_url('admin-ajax.php'),
'security' => wp_create_nonce('embedplus-nonce'),
'gallery_scrolloffset' => intval(self::$alloptions[self::$opt_gallery_scrolloffset]),
'eppathtoscripts' => plugins_url('scripts/', __FILE__),
'eppath' => plugins_url('/', __FILE__),
'epresponsiveselector' => self::get_responsiveselector(),
'epdovol' => true,
'version' => self::$alloptions[self::$opt_version],
'evselector' => self::get_evselector(),
'ajax_compat' => self::$alloptions[self::$opt_ajax_compat] == '1' ? true : false,
'maxres_facade' => esc_attr(self::$alloptions[self::$opt_maxres_facade]),
'ytapi_load' => self::$alloptions[self::$opt_ytapi_load],
'pause_others' => self::$alloptions[self::$opt_pause_others] == '1' ? true : false,
'stopMobileBuffer' => self::$alloptions[self::$opt_stop_mobile_buffer] == '1' ? true : false,
'facade_mode' => self::$alloptions[self::$opt_facade_mode] == '1' ? true : false,
'not_live_on_channel' => self::$alloptions[self::$opt_not_live_on_channel] == '1' ? true : false,
'vi_active' => false, // self::$alloptions[self::$opt_vi_active] == '1' ? true : false,
'vi_js_posttypes' => array() // self::$alloptions[self::$opt_vi_js_posttypes]
);
wp_localize_script('__ytprefs__', '_EPYT_', $my_script_vars);
}
if ((bool) self::$alloptions[self::$opt_gdpr_consent])
{
wp_enqueue_script('__jquery_cookie__', plugins_url('scripts/jquery.cookie' . self::$min . '.js', __FILE__), array('jquery'), self::$version);
}
////////////////////// cloudflare accomodation
//add_filter('script_loader_tag', array(self::class, 'set_cfasync'), 10, 3);
}
}
public static function set_cfasync($tag, $handle, $src)
{
if ('__ytprefs__' !== $handle)
{
return $tag;
}
return str_replace('<script', '<script data-cfasync="false" ', $tag);
}
public static function get_evselector()
{
$evselector = 'iframe.__youtube_prefs__[src], iframe[src*="youtube.com/embed/"], iframe[src*="youtube-nocookie.com/embed/"]';
if (self::$alloptions[self::$opt_evselector_light] == 1)
{
$evselector = 'iframe.__youtube_prefs__[src]';
}
return $evselector;
}
public static function get_responsiveselector()
{
$responsiveselector = '[]';
if (self::$alloptions[self::$opt_widgetfit] == 1)
{
$responsiveselector = '["iframe.__youtube_prefs_widget__"]';
}
if (self::$alloptions[self::$opt_responsive] == 1)
{
if (self::$alloptions[self::$opt_responsive_all] == 1)
{
$responsiveselector = '["iframe.__youtube_prefs__","iframe[src*=\'youtube.com\']","iframe[src*=\'youtube-nocookie.com\']","iframe[data-ep-src*=\'youtube.com\']","iframe[data-ep-src*=\'youtube-nocookie.com\']","iframe[data-ep-gallerysrc*=\'youtube.com\']"]';
}
else
{
$responsiveselector = '["iframe.__youtube_prefs__"]';
}
}
return $responsiveselector;
}
public static function admin_enqueue_scripts($hook)
{
if (in_array($hook, self::$admin_page_hooks))
{
wp_enqueue_style('__ytprefs_admin__alertify_css', plugins_url('styles/alertify/alertify' . self::$min . '.css', __FILE__), array(), self::$version);
wp_enqueue_style('__ytprefs_admin__alertify_theme_css', plugins_url('styles/alertify/themes/default' . self::$min . '.css', __FILE__), array(), self::$version);
wp_enqueue_style('__ytprefs_admin__vi_css', plugins_url('styles/ytvi-admin' . self::$min . '.css', __FILE__), array(), self::$version);
wp_enqueue_script('__ytprefs_admin__alertify_js', plugins_url('scripts/alertify/alertify' . self::$min . '.js', __FILE__), array(), self::$version);
wp_enqueue_script('__ytprefs_admin__alertify_defaults_js', plugins_url('scripts/alertify/alertify-defaults' . self::$min . '.js', __FILE__), array(), self::$version);
//wp_enqueue_script('__ytprefs_admin__moment_js', plugins_url('scripts/chartjs/moment' . self::$min . '.js', __FILE__), array(), self::$version);
//wp_enqueue_script('__ytprefs_admin__chart_js', plugins_url('scripts/chartjs/chart' . self::$min . '.js', __FILE__), array('__ytprefs_admin__moment_js'), self::$version);
//wp_enqueue_script('__ytprefs_admin__chart_deferred_js', plugins_url('scripts/chartjs/chartjs-plugin-deferred' . self::$min . '.js', __FILE__), array('__ytprefs_admin__chart_js'), self::$version);
}
wp_enqueue_style('embedplusyoutube', plugins_url('scripts/embedplus_mce' . self::$min . '.css', __FILE__), array(), self::$version);
wp_enqueue_script('__ytprefs_admin__', plugins_url('scripts/ytprefs-admin' . self::$min . '.js', __FILE__), array('jquery', 'jquery-effects-fade'), self::$version, false);
$admin_script_vars = array(
'wpajaxurl' => admin_url('admin-ajax.php'),
'wizhref' => admin_url('admin.php?page=youtube-ep-wizard') . '&random=' . rand(1, 1000) . '&TB_iframe=true&width=950&height=800',
'manage_options' => current_user_can('manage_options'),
'security' => wp_create_nonce('embedplus-nonce'),
'onboarded' => self::$alloptions[self::$opt_onboarded],
'vi_logged_in' => self::vi_logged_in(),
'epbase' => self::$epbase,
'admin_url' => admin_url(),
'vi_js_settings' => self::$alloptions[self::$opt_vi_js_settings],
'admin_url_ytprefs' => admin_url('admin.php?page=youtube-my-preferences'),
'admin_url_vi' => admin_url('admin.php?page=youtube-ep-vi')
//'epblogwidth' => self::get_blogwidth(),
//'epprokey' => self::$alloptions[self::$opt_pro],
//'epbasesite' => self::$epbase,
//'epversion' => self::$version,
//'myytdefaults' => http_build_query(self::$alloptions),
//'eppluginadminurl' => admin_url('admin.php?page=youtube-my-preferences')
);
wp_localize_script('__ytprefs_admin__', '_EPYTA_', $admin_script_vars);
if (function_exists('add_thickbox'))
{
add_thickbox();
}
if ((get_bloginfo('version') >= '3.3') && self::custom_admin_pointers_check())
{
add_action('admin_print_footer_scripts', array(self::class, 'custom_admin_pointers_footer'));
wp_enqueue_script('wp-pointer');
wp_enqueue_style('wp-pointer');
}
if (self::$alloptions['glance'] == 1)
{
add_action('admin_print_footer_scripts', array(self::class, 'glance_script'));
}
if ($hook == self::$wizard_hook)
{
wp_enqueue_style('__ytprefs_admin__wizard_ui', plugins_url('styles/jquery-ui' . self::$min . '.css', __FILE__), array(), self::$version);
wp_enqueue_style('__ytprefs_admin__wizard', plugins_url('styles/ytprefs-wizard' . self::$min . '.css', __FILE__), array(), self::$version);
wp_enqueue_script('__ytprefs_admin__wizard_script', plugins_url('scripts/ytprefs-wizard' . self::$min . '.js', __FILE__), array('jquery', 'jquery-ui-accordion', 'jquery-ui-tabs'), self::$version);
}
if ($hook == self::$onboarding_hook)
{
wp_enqueue_style('__ytprefs_admin__onboarding_animate', plugins_url('scripts/embdyn' . self::$min . '.css', __FILE__), array(), self::$version);
wp_enqueue_style('__ytprefs_admin__onboarding_ui', plugins_url('styles/jquery-ui' . self::$min . '.css', __FILE__), array(), self::$version);
wp_enqueue_style('__ytprefs_admin__onboarding', plugins_url('styles/ytprefs-onboarding' . self::$min . '.css', __FILE__), array(), self::$version);
}
}
public static function get_blogwidth()
{
$blogwidth = null;
try
{
$embed_size_w = intval(get_option('embed_size_w'));
global $content_width;
if (empty($content_width))
{
$content_width = $GLOBALS['content_width'];
}
$blogwidth = $embed_size_w ? $embed_size_w : ($content_width ? $content_width : 450);
}
catch (Exception $ex)
{
}
$blogwidth = preg_replace('/\D/', '', $blogwidth); //may have px
return $blogwidth;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
private static function ajax_referer()
{
return check_ajax_referer('embedplus-nonce', 'security', false);
}
public static function base_url()
{
$parsed = parse_url(site_url());
return $parsed['scheme'] . '://' . $parsed['host'];
}
public static function on_deactivation()
{
self::vi_cron_stop();
}
private static function update_option_set($new_options)
{
$all = get_option(self::$opt_alloptions);
$all = $new_options + $all;
update_option(self::$opt_alloptions, $all);
self::$alloptions = get_option(self::$opt_alloptions);
}
private static function vi_remote_get($endpoint, $options = array())
{
$params = $options + array(
'headers' => array('Authorization' => self::$alloptions[self::$opt_vi_token]),
'timeout' => self::$curltimeout
);
return wp_remote_get($endpoint, $params);
}
private static function vi_remote_post($endpoint, $options = array())
{
$params = $options + array(
'headers' => array('Content-Type' => 'application/json', 'Authorization' => self::$alloptions[self::$opt_vi_token]),
'timeout' => self::$curltimeout
);
// if (self::$alloptions[self::$opt_debugmode])
// {
// echo $endpoint . '<br>' . self::vi_debug_json($params);
// }
return wp_remote_post($endpoint, $params);
}
private static function vi_remote_post_anon($endpoint, $options = array())
{
$params = $options + array(
'headers' => array('Content-Type' => 'application/json'),
'timeout' => self::$curltimeout
);
return wp_remote_post($endpoint, $params);
}
private static function vi_cache_endpoints_valid(&$apiResult)
{
$messages = array();
if (is_wp_error($apiResult))
{
$messages[] = $apiResult->get_error_message();
}
else
{
$jsonResult = json_decode($apiResult['body']);
if (!empty($jsonResult->error))
{
$messages[] = $jsonResult->error;
}
if (!filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL))
{
$messages[] = "Please enter a valid email address.";
}
if (isset($jsonResult->status) && strcasecmp($jsonResult->status, 'ok') == 0 && isset($jsonResult->data) && is_object($jsonResult->data))
{
$apiResult = $jsonResult;
}
}
if (empty($messages))
{
return true;
}
return $messages;
}
public static function vi_cache_endpoints()
{
$result = array();
$apiResult = wp_remote_get(EPYTVI_ENDPOINTS_URL, array('timeout' => self::$curltimeout));
$valid = self::vi_cache_endpoints_valid($apiResult);
if ($valid === true)
{
$new_options = array(
self::$opt_vi_endpoints => $apiResult->data
);
self::update_option_set($new_options);
$post_email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL);
if (!empty($post_email))
{
$result['type'] = 'success';
$result['data'] = $apiResult->data;
$result['signupURLParams'] = $apiResult->data->signupURL . '?aid=WP_embedplus&email=' . filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL) . '&domain=' . site_url();
}
}
else
{
$result['type'] = 'error';
$result['message'] = implode('<br/>', $valid);
}
return $result;
}
public static function vi_cache_endpoints_ajax()
{
$result = array();
if (self::is_ajax() && self::ajax_referer() && current_user_can('manage_options'))
{
$result = self::vi_cache_endpoints();
}
else
{
$result['type'] = 'error';
$result['message'] = 'Sorry, there was a problem submitting the data.';
}
$result['message'] = wp_kses_post($result['message']);
echo json_encode($result);
die();
}
public static function vi_notice_login_reminder()
{
if (filter_has_var(INPUT_COOKIE, 'vi_signup_attempt'))
{
$screen = get_current_screen();
$date_string = filter_input(INPUT_COOKIE, 'vi_signup_attempt', FILTER_SANITIZE_STRING);
$date_attempt = strtotime($date_string);
$date_wait = strtotime($date_string . ' + 7 days');
if (time() > $date_wait &&
!self::vi_logged_in() &&
in_array($screen->id, array('toplevel_page_youtube-my-preferences'))
)
{
?>
<div class="notice notice-warning is-dismissible vi_notice_login_reminder">
<p>
It looks like you may have signed up for the vi monetization feature, but haven't completed the settings to receive revenue. Click the "Monetize" tab below to login and continue.
</p>
</div>
<script>
(function ($)
{
$(document).ready(function ()
{
$('.vi_notice_login_reminder').on('click', '.notice-dismiss', function ()
{
document.cookie = 'vi_signup_attempt=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
});
});
})(jQuery);
</script>
<?php
}
}
}
private static function vi_login_valid(&$input)
{
$messages = array();
if (empty($input['email']))
{
$messages[] = 'Please enter your email.';
}
if (empty($input['password']))
{
$messages[] = 'Please enter your vi password.';
}
if (empty($messages))
{
return true;
}
return $messages;
}
private static function vi_login_api_valid(&$apiResult)
{
$messages = array();
if (is_wp_error($apiResult))
{
$messages[] = $apiResult->get_error_message();
}
else
{
$jsonResult = json_decode($apiResult['body']);
if (!empty($jsonResult->error))
{
$messages[] = $jsonResult->error->message . ": " . (is_string($jsonResult->error->description) ? $jsonResult->error->description : json_encode($jsonResult->error->description));
}
if (isset($jsonResult->status) && strcasecmp($jsonResult->status, 'ok') == 0 && isset($jsonResult->data) && strlen($jsonResult->data) > 0)
{
$apiResult = $jsonResult;
}
}
if (empty($messages))
{
return true;
}
return $messages;
}
private static function vi_adstxt_api_valid(&$apiResult)
{
$messages = array();
if (is_wp_error($apiResult))
{
$messages[] = $apiResult->get_error_message();
}
else
{
$jsonResult = json_decode($apiResult['body']);
if (!empty($jsonResult->error))
{
$messages[] = implode(': ', array($jsonResult->error->message, $jsonResult->error->description));
}
if (isset($jsonResult->status) && strcasecmp($jsonResult->status, 'ok') == 0 && isset($jsonResult->data) && strlen($jsonResult->data) > 0)
{
$apiResult = $jsonResult;
}
}
if (empty($messages))
{
return true;
}
return $messages;
}
public static function vi_login()
{
$result = array();
$default = array(
'email' => '',
'password' => ''
);
$input = shortcode_atts($default, stripslashes_deep($_POST));
$valid = self::vi_login_valid($input);
if ($valid === true)
{
self::vi_cache_endpoints();
$loginAPI = self::$alloptions[self::$opt_vi_endpoints]->loginAPI . '?affiliateId=WP_embedplus';
$inputAuth = array(
'email' => $input['email'],
'password' => $input['password']
);
$apiResult = self::vi_remote_post_anon($loginAPI, array(
'body' => json_encode($inputAuth)
));
$valid = self::vi_login_api_valid($apiResult);
if ($valid === true)
{
$result['type'] = 'success';
$new_options = array(
self::$opt_vi_token => $apiResult->data,
self::$opt_vi_last_login => date('Y-m-d H:i:s')
);
self::update_option_set($new_options);
}
else
{
$result['type'] = 'error';
$result['message'] = implode('<br/>', $valid);
}
}
else
{
$result['type'] = 'error';
$result['message'] = implode('<br/>', $valid);
}
if ($result['type'] === 'success')
{
self::vi_db_init_schema();
}
return $result;
}
public static function vi_login_ajax()
{
$result = array();
if (self::is_ajax() && self::ajax_referer() && current_user_can('manage_options'))
{
$result = self::vi_login();
}
else
{
$result['type'] = 'error';
$result['message'] = 'Sorry, there was a problem submitting the data.';
}
$result['message'] = wp_kses_post($result['message']);
echo json_encode($result);
die();
}
public static function vi_logout_ajax()
{
$result = array();
if (self::is_ajax() && self::ajax_referer() && current_user_can('manage_options'))
{
self::vi_cron_stop();
$new_options = array(
self::$opt_vi_token => ''
);
self::update_option_set($new_options);
$result['type'] = 'success';
$result['url'] = admin_url('admin.php?page=youtube-my-preferences');
}
else
{
$result['type'] = 'error';
$result['message'] = 'Sorry, there was a problem submitting the data.';
}
echo json_encode($result);
die();
}
public static function vi_toggle_ajax()
{
$result = array();
if (self::is_ajax() && self::ajax_referer() && current_user_can('manage_options'))
{
$new_options = array(
self::$opt_vi_active => self::$alloptions[self::$opt_vi_active] ? 0 : 1
);
self::update_option_set($new_options);
$result['type'] = 'success';
$result['button_text'] = self::$alloptions[self::$opt_vi_active] ? 'On' : 'Off';
}
else
{
$result['type'] = 'error';
$result['message'] = 'Sorry, there was a problem submitting the data.';
}
echo json_encode($result);
die();
}
public static function vi_hide_feature_ajax()
{
$result = array();
if (self::is_ajax() && self::ajax_referer() && current_user_can('manage_options'))
{
$new_options = array(
self::$opt_vi_hide_monetize_tab => 1
);
self::update_option_set($new_options);
$result['type'] = 'success';
$result['url'] = admin_url('admin.php?page=youtube-my-preferences');
}
else
{
$result['type'] = 'error';
$result['message'] = 'Sorry, there was a network error. Please try again, or turn off this feature using the "Hide Monetize Feature" checkbox on the "Defaults" tab of the YouTube settings. If the issue persists, please contact ext@embedplus.com';
}
echo json_encode($result);
die();
}
public static function vi_cover_prompt_yes()
{
return filter_input(INPUT_COOKIE, 'vi_cover_prompt_yes', FILTER_SANITIZE_NUMBER_INT) == 1;
}
public static function vi_cron_stop()
{
$timestamp = wp_next_scheduled('ytvi_cron_cache_js_hook');
if ($timestamp !== false)
{
wp_unschedule_event($timestamp, 'ytvi_cron_cache_js_hook');
}
}
private static function vi_reports_valid(&$apiResult)
{
$messages = array();
if (is_wp_error($apiResult))
{
$messages[] = $apiResult->get_error_message();
}
else
{
$jsonResult = json_decode($apiResult['body']);
//$messages[] = $apiResult['body']; // COMMENT
if (!empty($jsonResult->error))
{
$messages[] = $jsonResult->error->message . ": " . $jsonResult->error->description;
}
if (isset($jsonResult->status) && strcasecmp($jsonResult->status, 'ok') == 0 && isset($jsonResult->data))
{
$apiResult = $jsonResult;
}
}
if (empty($messages))
{
return true;
}
return $messages;
}
public static function vi_reports_ajax()
{
$result = array();
if (self::is_ajax() && self::ajax_referer() && current_user_can('manage_options'))
{
$revenueResult = self::vi_remote_get(self::$alloptions[self::$opt_vi_endpoints]->revenueAPI);
$revenue_valid = self::vi_reports_valid($revenueResult);
if ($revenue_valid === true)
{
$result['data'] = $revenueResult->data;
$result['type'] = 'success';
}
else
{
$result['type'] = 'error';
$result['message'] = wp_kses_post(implode('<br/>', $revenue_valid));
}
}
else
{
$result['type'] = 'error';
$result['message'] = 'Sorry, there was a problem retrieving the data.';
}
echo json_encode($result);
die();
}
private static function vi_cache_user_adstxt()
{
$adsTxtAPI = self::$alloptions[self::$opt_vi_endpoints]->adsTxtAPI;
$iabResult = self::vi_remote_get($adsTxtAPI);
$iab_valid = self::vi_adstxt_api_valid($iabResult);
if ($iab_valid === true)
{
$new_options = array(
self::$opt_vi_adstxt => $iabResult->data
);
self::update_option_set($new_options);
return $iabResult->data;
}
return false;
}
private static function vi_adstxt_status()
{
$user_adstxt = self::vi_cache_user_adstxt();
$current_adstxt = false;
if ($user_adstxt === false)
{
return array(
'code' => -1,
'message' => 'Sorry, your publisher ads.txt info could not be retrieved. Please wait a few minutes and try again. Your ads.txt verification file will enable you to make money through vi. <a href="https://www.vi.ai/publisherfaq/?aid=WP_embedplus&utm_source=Wordpress&utm_medium=WP_embedplus" target="_blank">FAQ »</a>'
);
}
else
{
$user_adstxt = preg_replace('~\R~u', PHP_EOL, $user_adstxt);
}
$adstxt_file = self::vi_get_home_path() . 'ads.txt';
$adstxt_url = self::base_url() . '/ads.txt';
$adstxt_http = wp_remote_get($adstxt_url, array('timeout' => self::$curltimeout));
if (!is_wp_error($adstxt_http) && in_array(wp_remote_retrieve_response_code($adstxt_http), array(200, 301, 302, 304)))
{
$current_adstxt = wp_remote_retrieve_body($adstxt_http);
}
if (empty($current_adstxt))
{
$current_adstxt = file_get_contents($adstxt_file);
}
if (!empty($current_adstxt))
{
$current_adstxt = preg_replace('~\R~u', PHP_EOL, $current_adstxt);
// append
if (is_writable($adstxt_file))
{
if (stripos($current_adstxt, '# 41b5eef6') === false)
{
$to_write = PHP_EOL . $user_adstxt;
file_put_contents($adstxt_file, $to_write, FILE_APPEND);
return array(
'code' => 1,
'before_adstxt' => $current_adstxt,
'after_adstxt' => $current_adstxt . $to_write,
'message' => 'You successfully validated your account. Your <a target="_blank" href="' . site_url() . '/ads.txt">ads.txt</a> file has been updated, which enables you to make money through vi. <a href="' . esc_url(admin_url('admin.php?page=youtube-ep-vi#jumpfaq')) . '" target="_blank">FAQ »</a>'
);
}
else if ($current_adstxt !== $user_adstxt)
{
$current_adstxt_lines = preg_split('/\r\n|\r|\n/', $current_adstxt);
$current_adstxt_lines = array_filter($current_adstxt_lines, array(self::class, 'vi_not_vi_adstxt_line'));
$former_adstxt = implode(PHP_EOL, $current_adstxt_lines);
$new_adstxt = $former_adstxt . (strlen($former_adstxt) > 0 ? PHP_EOL : '') . $user_adstxt;
if ($current_adstxt === $new_adstxt)
{
return array(
'code' => 2,
'message' => 'You successfully validated your account.'
);
}
else
{
file_put_contents($adstxt_file, $new_adstxt);
return array(
'code' => 1,
'before_adstxt' => $current_adstxt,
'after_adstxt' => $new_adstxt,
'message' => 'You successfully validated your account. Your <a target="_blank" href="' . site_url() . '/ads.txt">ads.txt</a> file has been updated, which enables you to make money through vi. <a href="' . esc_url(admin_url('admin.php?page=youtube-ep-vi#jumpfaq')) . '" target="_blank">FAQ »</a>'
);
}
}
else
{
return array(
'code' => 2,
'message' => 'You successfully validated your account.'
);
}
}
else
{
if (stripos($current_adstxt, $user_adstxt) === false) // $user_adstxt
{
return array(
'code' => 0,
'message' => 'Sorry, your current ads.txt file could not be automatically be updated. Please first <a class="button-secondary" href="' .
admin_url('admin.php') . '?ytvi_adstxt_download=1&key=' . urlencode(self::$alloptions[self::$opt_vi_token]) . '">download this updated ads.txt</a> file and upload it to your site root, then try logging in again. Your ads.txt verification file will enable you to make money through vi. <a href="https://www.vi.ai/publisherfaq/?aid=WP_embedplus&utm_source=Wordpress&utm_medium=WP_embedplus" target="_blank">FAQ »</a>'
);
}
else
{
return array(
'code' => 2,
'message' => 'You successfully validated your account.'
);
}
}
}
else
{
// create
if ((!file_exists($adstxt_file) && is_writable(self::vi_get_home_path())) || (file_exists($adstxt_file) && is_writable($adstxt_file)))
{
file_put_contents($adstxt_file, self::$alloptions[self::$opt_vi_adstxt], FILE_APPEND);
return array(
'code' => 1,
'before_adstxt' => $current_adstxt,
'after_adstxt' => self::$alloptions[self::$opt_vi_adstxt],
'message' => 'You successfully validated your account. Your <a target="_blank" href="' . site_url() . '/ads.txt">ads.txt</a> file has been created, which enables you to make money through vi. <a href="' . esc_url(admin_url('admin.php?page=youtube-ep-vi#jumpfaq')) . '" target="_blank">FAQ »</a>'
);
}
else
{
return array(
'code' => 0,
'message' => 'Sorry, your ads.txt verification file could not automatically be created. Please first <a class="button-secondary" href="' .
admin_url('admin.php') . '?ytvi_adstxt_download=1&key=' . urlencode(self::$alloptions[self::$opt_vi_token]) . '">download this ads.txt</a> file and upload it to your site root, then try logging in again. Your ads.txt verification file will enable you to make money through vi. <a href="https://www.vi.ai/publisherfaq/?aid=WP_embedplus&utm_source=Wordpress&utm_medium=WP_embedplus" target="_blank">FAQ »</a>'
);
}
}
}
public static function vi_adstxt_status_soft_ajax()
{
$result = array();
if (self::is_ajax() && self::ajax_referer() && current_user_can('manage_options'))
{
$default = array(
'current_adstxt' => ''
);
$input = shortcode_atts($default, stripslashes_deep($_POST));
$result = self::vi_adstxt_status_soft($input['current_adstxt']);
if (isset($result['code']) && intval($result['code']) < 0)
{
$result['token'] = self::$alloptions[self::$opt_vi_token];
}
}
else
{
$result['type'] = 'error';
$result['message'] = 'Sorry, there was a problem verifying your ads.txt file. Please try again.';
}
$result['message'] = wp_kses_post($result['message']);
echo json_encode($result);
die();
}
private static function vi_adstxt_status_soft($current_adstxt)
{
$adstxt_url = self::base_url() . '/ads.txt';
$adstxt_note = ' <strong>Note:</strong> If you already have an ads.txt file at ' . $adstxt_url . ', you will just need to add in the additional lines found in the download.';
$user_adstxt = self::vi_cache_user_adstxt();
$current_adstxt = empty($current_adstxt) ? false : $current_adstxt;
if ($user_adstxt === false)
{
return array(
'code' => -1,
'message' => 'For your security, a quick reauthentication is needed to begin setting up your ads.txt file. First, log out of this Ads Settings page with the "Logout" button right above and then log back in with your vi login and password. Then come back to this tab for next steps. Your ads.txt verification file will enable you to make money through vi. <a href="https://www.vi.ai/publisherfaq/?aid=WP_embedplus&utm_source=Wordpress&utm_medium=WP_embedplus" target="_blank">FAQ »</a>'
);
}
else
{
$user_adstxt = preg_replace('~\R~u', PHP_EOL, $user_adstxt);
}
if (!empty($current_adstxt))
{
$current_adstxt = preg_replace('~\R~u', PHP_EOL, $current_adstxt);
// append / update manually
if (stripos($current_adstxt, $user_adstxt) === false)
{
if (stripos($current_adstxt, '# 41b5eef6') !== false) // update
{
return array(
'code' => 0,
'message' => 'Looks like video intelligence has just updated its ad delivery partners. To get the most revenue out of your ads, open up your '
. ' <a href="' . self::base_url() . '/ads.txt" target="_blank">ads.txt</a> file and replace the vi lines (ending in # 41b5eef6) with the new lines you see below. Then, refresh this page. '
. ' Please do not reorder or double space the below lines. '
. ' <strong>If we helped you with your ads.txt in the past, feel free to contact us to help out again with this update.</strong> '
. '<code># video intelligence (vi.ai) ads.txt lines begin here:' . PHP_EOL . $user_adstxt . PHP_EOL . '# video intelligence (vi.ai) ads.txt lines end</code>'
);
}
else // add
{
return array(
'code' => 0,
'message' => 'In your current <a href="' . self::base_url() . '/ads.txt" target="_blank">ads.txt</a> file, just add in the additional lines you see below. Then, refresh this page.'
. ' Please do not reorder or double space the below lines. '
. '<code># video intelligence (vi.ai) ads.txt lines begin here:' . PHP_EOL . $user_adstxt . PHP_EOL . '# video intelligence (vi.ai) ads.txt lines end</code>'
);
}
}
else
{
return array(
'code' => 2,
'message' => '<p class="adstxt-verify-message-valid">You successfully validated your ads.txt file.</p>'
);
}
}
else
{
// create manually
return array(
'code' => 0,
'message' => 'You can <a class="button button-small" href="' . admin_url('admin.php') . '?ytvi_adstxt_download=1&key=' . urlencode(self::$alloptions[self::$opt_vi_token]) . '">download this ads.txt</a> file and upload it to your site root (or copy the same text below). Then, refresh this page to verify.'
. ' Please do not reorder or double space the below lines. '
. '<code># video intelligence (vi.ai) ads.txt lines begin here:' . PHP_EOL . $user_adstxt . PHP_EOL . '# video intelligence (vi.ai) ads.txt lines end</code>'
);
}
}
private static function vi_not_vi_adstxt_line($line)
{
return stripos($line, '# 41b5eef6') === false;
}
public static function vi_get_home_path()
{
$abs_root = get_home_path();
if (strlen($abs_root) <= 1)
{
$abs_root = trailingslashit(str_replace('\\', '/', ABSPATH));
$url_path = parse_url(site_url());
if (isset($url_path['path']))
{
$relpath = trailingslashit($url_path['path']);
$relpath_length = strlen($relpath);
$path_intersect = substr($abs_root, -$relpath_length);
if ($path_intersect === $relpath)
{
$abs_root = trailingslashit(substr($abs_root, 0, strlen($abs_root) - $relpath_length));
}
}
}
return $abs_root;
}
public static function vi_adstxt_lookup()
{
$request = esc_url_raw(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
if ('/ads.txt' === $request)
{
if (function_exists('tenup_display_ads_txt'))
{
$post_id = get_option('adstxt_post');
if (!empty($post_id))
{
$post = get_post($post_id);
header('Content-Type: text/plain');
echo esc_html($post->post_content);
die();
}
}
}
}
public static function vi_adstxt_download()
{
$inp_key = filter_input(INPUT_GET, 'key');
if (filter_input(INPUT_GET, 'ytvi_adstxt_download') == 1 && !empty($inp_key))
{
$key = urldecode(filter_input(INPUT_GET, 'key', FILTER_DEFAULT));
self::$alloptions[self::$opt_vi_token] = $key;
$user_adstxt = self::vi_cache_user_adstxt();
$adstxt_file = self::vi_get_home_path() . 'ads.txt';
$current_adstxt = file_exists($adstxt_file) ? file_get_contents($adstxt_file) : '';
$current_adstxt_lines = preg_split('/\r\n|\r|\n/', $current_adstxt);
$current_adstxt_lines = array_filter($current_adstxt_lines, array(self::class, 'vi_not_vi_adstxt_line'));
$former_adstxt = implode(PHP_EOL, $current_adstxt_lines);
$new_adstxt = $former_adstxt . (strlen($former_adstxt) > 0 ? PHP_EOL : '') . ($user_adstxt === false ? '' : $user_adstxt);
$new_adstxt = '# video intelligence (vi.ai) ads.txt lines begin here:' . PHP_EOL . $new_adstxt . PHP_EOL . '# video intelligence (vi.ai) ads.txt lines end';
header("Expires: 0");
header("Cache-Control: no-cache, no-store, must-revalidate");
header('Cache-Control: pre-check=0, post-check=0, max-age=0', false);
header("Pragma: no-cache");
header("Content-Disposition:attachment; filename=ads.txt");
header("Content-Type: application/force-download");
echo $new_adstxt;
exit();
}
}
public static function vi_logged_in()
{
return !empty(self::$alloptions[self::$opt_vi_token]);
}
public static function vi_settings_nav()
{
?>
<h3 class="nav-tab-wrapper">
<a class="nav-tab nav-tab-active" href="#jumphowitworks">How It Works</a>
<a class="nav-tab" href="#jumpdescription">Video Categories</a>
<a class="nav-tab" href="#jumpappearance">Appearance</a>
<a class="nav-tab" href="#jumpplacement">Placement</a>
<a class="nav-tab nav-tab-adstxt" href="#jumpadstxt">Ads.txt Verification </a>
<a class="nav-tab" href="#jumpperformance">Revenue Reporting</a>
<a class="nav-tab" href="#jumprevenue">Profile Settings</a>
<a class="nav-tab" href="#jumpviprivacy">Privacy</a>
<a class="nav-tab" href="#jumpfaq">FAQs</a>
<a class="nav-tab" href="#jumpsupport">Support</a>
</h3>
<?php
}
private static function vi_cache_js_valid(&$apiResult)
{
$messages = array();
//$messages[] = implode(': ', array('vi API - ' . htmlspecialchars(self::vi_debug_json($apiResult))));
if (is_wp_error($apiResult))
{
$messages[] = $apiResult->get_error_message();
}
else
{
$jsonResult = json_decode($apiResult['body']);
if (!empty($jsonResult->error))
{
//$messages[] = implode(': ', array('vi API - ' . self::vi_debug_json($apiResult)));
$messages[] = 'If the issue is not resolved, please contact support at ext@embedplus.com and we will get you going. (Error code ' . wp_remote_retrieve_response_code($apiResult) . ', v' . self::$version .
' - <em>' . implode(': ', array($jsonResult->error->message, is_string($jsonResult->error->description) ? $jsonResult->error->description : json_encode($jsonResult->error->description))) . '</em>)';
}
if (isset($jsonResult->status) && strcasecmp($jsonResult->status, 'ok') == 0 && isset($jsonResult->data) && strlen($jsonResult->data) > 0)
{
$apiResult = $jsonResult;
}
}
if (empty($messages))
{
return true;
}
return $messages;
}
private static function vi_cache_js($options)
{
$readonly = array(
'domain' => parse_url(site_url(), PHP_URL_HOST),
'adUnitType' => 'NATIVE_VIDEO_UNIT',
'logoUrl' => 'https://example.com/logo.jpg'
);
$options = $readonly + $options;
$jsTagAPI = self::$alloptions[self::$opt_vi_endpoints]->jsTagAPI;
$iabCategoryList = explode(',', $options['iabCategory']);
$matches = array();
if (isset(self::$alloptions[self::$opt_vi_js_script]) && preg_match('/IAB_Category[ ]*:([^,]+),/i', self::$alloptions[self::$opt_vi_js_script], $matches))
{
$currCategory = array(trim($matches[1]));
$iabCategoryList = array_diff($iabCategoryList, $currCategory);
}
$options['iabCategory'] = $iabCategoryList[array_rand($iabCategoryList)];
$apiResult = self::vi_remote_post($jsTagAPI, array(
'body' => json_encode($options)
));
//$js_valid = array(self::vi_debug_json($options));
$js_valid = self::vi_cache_js_valid($apiResult);
if ($js_valid === true)
{
$mod_data = $apiResult->data;
$new_options = array(
self::$opt_vi_js_script => $mod_data,
self::$opt_vi_last_category_update => date('Y-m-d H:i:s')
);
self::update_option_set($new_options);
}
return $js_valid;
}
public static function vi_debug_json($json)
{
return '<pre>' . json_encode($json, JSON_PRETTY_PRINT) . '</pre>';
}
public static function vi_script_setup_done()
{
if (empty(self::$alloptions[self::$opt_vi_js_script]))
{
return false;
}
return true;
}
public static function vi_admin_dashboard_valid(&$item)
{
$messages = array();
$all_post_types = get_post_types(array('public' => true), 'names');
foreach ($item[self::$opt_vi_js_posttypes] as $pt)
{
if (!in_array($pt, $all_post_types))
{
$messages[] = 'Please choose only valid post types for your ad to appear in.';
}
}
if (!in_array($item[self::$opt_vi_js_position], array('top', 'bottom')))
{
$messages[] = 'Please choose a valid placement position.';
}
$item[self::$opt_vi_js_settings]['keywords'] = substr(sanitize_text_field(str_replace(array('\'', '"'), '', $item[self::$opt_vi_js_settings]['keywords'])), 0, 200);
$item[self::$opt_vi_js_settings]['iabCategory'] = sanitize_text_field($item[self::$opt_vi_js_settings]['iabCategory']);
if (empty($item[self::$opt_vi_js_settings]['iabCategory']))
{
$messages[] = 'Please choose at least one IAB category under Video Categories.';
}
$item[self::$opt_vi_js_settings]['language'] = sanitize_text_field($item[self::$opt_vi_js_settings]['language']);
if (empty($item[self::$opt_vi_js_settings]['language']))
{
$item[self::$opt_vi_js_settings]['language'] = 'en-us';
}
$item[self::$opt_vi_js_settings]['backgroundColor'] = sanitize_hex_color($item[self::$opt_vi_js_settings]['backgroundColor']);
if (empty($item[self::$opt_vi_js_settings]['backgroundColor']))
{
$item[self::$opt_vi_js_settings]['backgroundColor'] = '#ffffff';
}
$item[self::$opt_vi_js_settings]['textColor'] = sanitize_hex_color($item[self::$opt_vi_js_settings]['textColor']);
if (empty($item[self::$opt_vi_js_settings]['textColor']))
{
$item[self::$opt_vi_js_settings]['textColor'] = '#000000';
}
$item[self::$opt_vi_js_settings]['font'] = sanitize_text_field($item[self::$opt_vi_js_settings]['font']);
if (empty($item[self::$opt_vi_js_settings]['font']))
{
$item[self::$opt_vi_js_settings]['font'] = 'Arial';
}
if (!is_numeric($item[self::$opt_vi_js_settings]['fontSize']) || intval($item[self::$opt_vi_js_settings]['fontSize']) < 0)
{
$item[self::$opt_vi_js_settings]['fontSize'] = 12;
}
if (empty($messages))
{
$js = self::vi_cache_js($item[self::$opt_vi_js_settings]);
if ($js === true)
{
$item[self::$opt_vi_js_script] = self::$alloptions[self::$opt_vi_js_script];
}
else
{
$messages[] = 'For your security, a quick re-authentication is required to save your most recent customizations. Simply log out of this Ads Settings page with the "Logout" button right above and then log back in with your vi login and password. ';
$messages = array_merge($messages, $js);
}
}
if (empty($messages))
{
return true;
}
return $messages;
}
public static function vi_print_toggle_button()
{
?>
<button style="z-index: 10" <?php echo self::vi_script_setup_done() ? '' : ' disabled '; ?> class="button-primary ytvi-btn-toggle <?php echo self::$alloptions[self::$opt_vi_active] ? 'ytvi-btn-active' : 'ytvi-btn-inactive' ?>">
vi ads are: <strong><?php echo self::$alloptions[self::$opt_vi_active] ? 'On' : 'Off' ?></strong>
<?php
if (!self::vi_script_setup_done())
{
?>
<div class="ytvi-notyet">
<h3>Before you can turn on your ads:</h3>
<ol class="list-ol">
<li>Complete the <em>Video Categories, Appearance, and Placement</em> tabs.</li>
<li>Then click on the <strong>Save Changes</strong> button in the bottom right of this screen.</li>
<li>Then click the top right button to turn vi ads on.</li>
</ol>
<p>
Once your ads are on, complete the <em>Ads.txt</em> tab to have your ads start earning revenue. Then the <em>Profile</em> tab shows you how to receive payments.
</p>
</div>
<?php
}
?>
</button>
<?php
}
public static function vi_admin_dashboard()
{
if (!current_user_can('manage_options'))
{
wp_die(__('You do not have sufficient permissions to access this page.'));
}
$message = '';
$notice = '';
$item = array(
self::$opt_vi_js_settings => self::$alloptions[self::$opt_vi_js_settings],
self::$opt_vi_js_script => self::$alloptions[self::$opt_vi_js_script],
self::$opt_vi_js_posttypes => self::$alloptions[self::$opt_vi_js_posttypes],
self::$opt_vi_js_position => self::$alloptions[self::$opt_vi_js_position],
self::$opt_vi_show_gdpr_authorization => self::$alloptions[self::$opt_vi_show_gdpr_authorization],
self::$opt_vi_show_privacy_button => self::$alloptions[self::$opt_vi_show_privacy_button]
);
if (wp_verify_nonce(filter_input(INPUT_POST, 'nonce'), basename(__FILE__)))
{
$post_vars = stripslashes_deep($_POST);
if (!array_key_exists(self::$opt_vi_js_posttypes, $post_vars))
{
$post_vars[self::$opt_vi_js_posttypes] = array();
}
$post_vars = shortcode_atts($item, $post_vars);
$item[self::$opt_vi_js_settings] = $post_vars[self::$opt_vi_js_settings] + $item[self::$opt_vi_js_settings];
$item[self::$opt_vi_js_posttypes] = $post_vars[self::$opt_vi_js_posttypes];
$item[self::$opt_vi_js_position] = $post_vars[self::$opt_vi_js_position];
$item[self::$opt_vi_show_gdpr_authorization] = self::postchecked(self::$opt_vi_show_gdpr_authorization) ? 1 : 0;
$item[self::$opt_vi_show_privacy_button] = self::postchecked(self::$opt_vi_show_privacy_button) ? 1 : 0;
$item_valid = self::vi_admin_dashboard_valid($item);
//$item_valid = array('<pre>_post: ' . print_r(stripslashes_deep($_POST), true) . '</pre>', '<pre>item: ' . print_r($item, true) . '</pre>');
if ($item_valid === true)
{
self::update_option_set($item);
$message = 'Settings were successfully saved. Now you can turn on vi ads above. Note: changes may take a few minutes to appear on your website. If you are using a separate caching plugin, <strong>you need to reset your cache</strong> to see any changes.';
}
else
{
$notice = wp_kses_post(implode('<br/>', $item_valid));
}
}
?>
<div class="wrap wrap-vi wrap-vi-settings">
<h1><img class="yt-admin-icon" src="<?php echo plugins_url(self::$folder_name . '/images/icon-monetize-dark.svg') ?>" />
Video Ad Settings
<a class="button-secondary ytvi-btn-logout">Logout of vi settings</a>
<?php self::vi_print_toggle_button(); ?>
</h1>
<div class="update-nag notice">
<p>This feature is being deprecated in the next version. Please contact ext@embedplus.com for questions.</p>
</div>
<br>
<div class="updated ytvi-msg-congrats">
<p>
Congrats! Ads are now on. Here are some tips to maximize your fill rate and therefore revenue:
</p>
<ul class="list-ul">
<li>Visibility - The higher the player is placed, the greater the demand and fill rate. Inserting it near the top or middle of your pages are best.</li>
<li>Ad Unit Size - The recommended minimum width for the player is 336px </li>
<li>Give vi.ai about 2-3 weeks to optimize their inventory for your site</li>
<li>Contact us for help if you have any questions: ext@embedplus.com</li>
</ul>
</div>
<?php
if (!empty($notice))
{
?>
<div id="notice" class="error"><p><?php echo wp_kses_post($notice) ?></p></div>
<?php
}
if (!empty($message))
{
?>
<div id="message" class="updated"><p><?php echo wp_kses_post($message) ?></p></div>
<?php
}
self::vi_settings_nav();
// echo '<pre>';
// print_r(_get_cron_array());
// echo '</pre>';
?>
<form id="form" method="POST">
<input type="hidden" name="nonce" value="<?php echo wp_create_nonce(basename(__FILE__)) ?>"/>
<section class="pattern" id="jumphowitworks">
<h2>How It Works</h2>
<p>Before you begin, please turn off any ad blocker extensions you may have, so that you will see how your ads look. Then follow the steps below:</p>
<br>
<div class="vi-how-works" data-jump="#jumpdescription">
<div class="vi-num">1</div>
<img src="<?php echo plugins_url(self::$folder_name . '/images/icon-hw-description.png') ?>"/>
<h3>Video Categories</h3>
<p>
Categorize your site to help match with the right ads.
</p>
</div>
<div class="vi-how-works" data-jump="#jumpappearance">
<div class="vi-num">2</div>
<img src="<?php echo plugins_url(self::$folder_name . '/images/icon-hw-appearance.png') ?>"/>
<h3>Appearance</h3>
<p>
Customize how the ad player should look.
</p>
</div>
<div class="vi-how-works" data-jump="#jumpplacement">
<div class="vi-num">3</div>
<img src="<?php echo plugins_url(self::$folder_name . '/images/icon-hw-placement.png') ?>"/>
<h3>Placement</h3>
<p>
Decide where the ad player should be placed.
</p>
</div>
<div class="vi-how-works" data-jump="#nojump">
<div class="vi-num">4</div>
<img src="<?php echo plugins_url(self::$folder_name . '/images/icon-hw-turnon.png') ?>"/>
<h3>Turn It On</h3>
<p>
Click the colored button at the top right of this page to make the ad player visible.
</p>
</div>
<div class="vi-how-works" data-jump="#jumpadstxt">
<div class="vi-num">5</div>
<img src="<?php echo plugins_url(self::$folder_name . '/images/icon-hw-adstxt.png') ?>"/>
<h3>Ads.txt Verification</h3>
<p>
Verify your ads.txt file to start earning revenue.
</p>
</div>
<div class="vi-how-works" data-jump="#jumpperformance">
<div class="vi-num">6</div>
<img src="<?php echo plugins_url(self::$folder_name . '/images/icon-hw-performance.png') ?>"/>
<h3>Revenue Reporting</h3>
<p>
View reports on your CPM, revenue, and more.
</p>
</div>
<div class="vi-how-works" data-jump="#jumprevenue">
<div class="vi-num">7</div>
<img src="<?php echo plugins_url(self::$folder_name . '/images/icon-hw-revenue.png') ?>"/>
<h3>Profile Settings</h3>
<p>
Collect your earnings in a few days via PayPal or bank transfer.
</p>
</div>
</section>
<section class="pattern" id="jumpdescription">
<div class="adstxt-help">
<img src="<?php echo plugins_url(self::$folder_name . '/images/adstxt-help.png') . '?ver=' . self::$version; ?>"/>
Trouble getting content that fits your site, even with the proper settings above/below? Contact support at <strong><a href="mailto:ext@embedplus.com">ext@embedplus.com</a></strong>
</div>
<h2><span class="vi-num">1</span> Video Categories (Multiple Allowed)</h2>
<p>
Your video ad will be optimized to relate to your site's content and the one or more categories you select below. Note that the quality of the matches improves over time.
</p>
<p>
<strong>Tip:</strong> select more than one category to add variety to your video ads.
If you select more than one, you must stay logged in to this settings page for your categories to automatically add variety to your ads.
</p>
<table cellspacing="2" cellpadding="5" style="width: 100%;" class="form-table">
<tbody>
<tr class="form-field">
<th valign="top" scope="row">
<label for="<?php echo self::$opt_vi_js_settings ?>[iabCategory]">IAB Categories</label>
<small>Select the categories that most fit your website. You can select up to 4. </small>
</th>
<td>
<strong>Filter by:</strong>
<select class="iab-cat-parent">
<option value="">Choose Filter</option>
<option value="IAB1">Arts & Entertainment</option>
<option value="IAB2">Automotive</option>
<option value="IAB3">Business</option>
<!-- <option value="IAB4">Careers</option>-->
<!-- <option value="IAB5">Education</option>-->
<!-- <option value="IAB6">Family & Parenting</option>-->
<option value="IAB7">Health & Fitness</option>
<option value="IAB8">Food & Drink</option>
<option value="IAB9">Hobbies & Interests</option>
<option value="IAB10">Home & Garden</option>
<option value="IAB11">Law, Gov't & Politics</option>
<option value="IAB12">News</option>
<!-- <option value="IAB13">Personal Finance</option>-->
<!-- <option value="IAB14">Society</option>-->
<option value="IAB15">Science</option>
<option value="IAB16">Pets</option>
<option value="IAB17">Sports</option>
<option value="IAB18">Style & Fashion</option>
<option value="IAB19">Technology & Computing</option>
<option value="IAB20">Travel</option>
<!-- <option value="IAB21">Real Estate</option>-->
<option value="IAB22">Shopping</option>
<!-- <option value="IAB23">Religion & Spirituality</option>-->
<option value="IAB24">Uncategorized</option>
<option value="IAB25">Non-Standard Content</option>
</select>
<div class="iab-cat-child-box hidden">
<strong>Then choose category:</strong>
<select class="iab-cat-child" disabled>
<option value="">Select Category:</option>
<option value="IAB1">Arts & Entertainment (All)</option>
<option value="IAB1-1">Books & Literature</option>
<option value="IAB1-2">Celebrity Fan/Gossip</option>
<option value="IAB1-3">Fine Art</option>
<option value="IAB1-4">Humor</option>
<option value="IAB1-5">Movies</option>
<option value="IAB1-6">Music</option>
<option value="IAB1-7">Television</option>
<option value="IAB2">Automotive (All)</option>
<option value="IAB2-1">Auto Parts</option>
<option value="IAB2-2">Auto Repair</option>
<option value="IAB2-3">Buying/Selling Cars</option>
<option value="IAB2-4">Car Culture</option>
<option value="IAB2-5">Certified Pre-Owned</option>
<option value="IAB2-6">Convertible</option>
<option value="IAB2-7">Coupe</option>
<option value="IAB2-8">Crossover</option>
<option value="IAB2-9">Diesel</option>
<option value="IAB2-10">Electric Vehicle</option>
<option value="IAB2-11">Hatchback</option>
<option value="IAB2-12">Hybrid</option>
<option value="IAB2-13">Luxury</option>
<option value="IAB2-14">MiniVan</option>
<option value="IAB2-15">Mororcycles</option>
<option value="IAB2-16">Off-Road Vehicles</option>
<option value="IAB2-17">Performance Vehicles</option>
<option value="IAB2-18">Pickup</option>
<option value="IAB2-19">Road-Side Assistance</option>
<option value="IAB2-20">Sedan</option>
<option value="IAB2-21">Trucks & Accessories</option>
<option value="IAB2-22">Vintage Cars</option>
<option value="IAB2-23">Wagon</option>
<option value="IAB3">Business (All)</option>
<option value="IAB3-1">Advertising</option>
<option value="IAB3-2">Agriculture</option>
<option value="IAB3-3">Biotech/Biomedical</option>
<option value="IAB3-4">Business Software</option>
<option value="IAB3-5">Construction</option>
<option value="IAB3-6">Forestry</option>
<option value="IAB3-7">Government</option>
<option value="IAB3-8">Green Solutions</option>
<option value="IAB3-9">Human Resources</option>
<option value="IAB3-10">Logistics</option>
<option value="IAB3-11">Marketing</option>
<option value="IAB3-12">Metals</option>
<option value="IAB4">Careers (All)</option>
<option value="IAB4-1">Career Planning</option>
<option value="IAB4-2">College</option>
<option value="IAB4-3">Financial Aid</option>
<option value="IAB4-4">Job Fairs</option>
<option value="IAB4-5">Job Search</option>
<option value="IAB4-6">Resume Writing/Advice</option>
<option value="IAB4-7">Nursing</option>
<option value="IAB4-8">Scholarships</option>
<option value="IAB4-9">Telecommuting</option>
<option value="IAB4-10">U.S. Military</option>
<option value="IAB4-11">Career Advice</option>
<option value="IAB5">Education (All)</option>
<option value="IAB5-1">7-12 Education</option>
<option value="IAB5-2">Adult Education</option>
<option value="IAB5-3">Art History</option>
<option value="IAB5-4">Colledge Administration</option>
<option value="IAB5-5">College Life</option>
<option value="IAB5-6">Distance Learning</option>
<option value="IAB5-7">English as a 2nd Language</option>
<option value="IAB5-8">Language Learning</option>
<option value="IAB5-9">Graduate School</option>
<option value="IAB5-10">Homeschooling</option>
<option value="IAB5-11">Homework/Study Tips</option>
<option value="IAB5-12">K-6 Educators</option>
<option value="IAB5-13">Private School</option>
<option value="IAB5-14">Special Education</option>
<option value="IAB5-15">Studying Business</option>
<option value="IAB6">Family & Parenting (All)</option>
<option value="IAB6-1">Adoption</option>
<option value="IAB6-2">Babies & Toddlers</option>
<option value="IAB6-3">Daycare/Pre School</option>
<option value="IAB6-4">Family Internet</option>
<option value="IAB6-5">Parenting – K-6 Kids</option>
<option value="IAB6-6">Parenting teens</option>
<option value="IAB6-7">Pregnancy</option>
<option value="IAB6-8">Special Needs Kids</option>
<option value="IAB6-9">Eldercare</option>
<option value="IAB7">Health & Fitness (All)</option>
<option value="IAB7-1">Exercise</option>
<option value="IAB7-2">A.D.D.</option>
<option value="IAB7-3">AIDS/HIV</option>
<option value="IAB7-4">Allergies</option>
<option value="IAB7-5">Alternative Medicine</option>
<option value="IAB7-6">Arthritis</option>
<option value="IAB7-7">Asthma</option>
<option value="IAB7-8">Autism/PDD</option>
<option value="IAB7-9">Bipolar Disorder</option>
<option value="IAB7-10">Brain Tumor</option>
<option value="IAB7-11">Cancer</option>
<option value="IAB7-12">Cholesterol</option>
<option value="IAB7-13">Chronic Fatigue Syndrome</option>
<option value="IAB7-14">Chronic Pain</option>
<option value="IAB7-15">Cold & Flu</option>
<option value="IAB7-16">Deafness</option>
<option value="IAB7-17">Dental Care</option>
<option value="IAB7-18">Depression</option>
<option value="IAB7-19">Dermatology</option>
<option value="IAB7-20">Diabetes</option>
<option value="IAB7-21">Epilepsy</option>
<option value="IAB7-22">GERD/Acid Reflux</option>
<option value="IAB7-23">Headaches/Migraines</option>
<option value="IAB7-24">Heart Disease</option>
<option value="IAB7-25">Herbs for Health</option>
<option value="IAB7-26">Holistic Healing</option>
<option value="IAB7-27">IBS/Crohn's Disease</option>
<option value="IAB7-28">Incest/Abuse Support</option>
<option value="IAB7-29">Incontinence</option>
<option value="IAB7-30">Infertility</option>
<option value="IAB7-31">Men's Health</option>
<option value="IAB7-32">Nutrition</option>
<option value="IAB7-33">Orthopedics</option>
<option value="IAB7-34">Panic/Anxiety Disorders</option>
<option value="IAB7-35">Pediatrics</option>
<option value="IAB7-36">Physical Therapy</option>
<option value="IAB7-37">Psychology/Psychiatry</option>
<option value="IAB7-38">Senor Health</option>
<option value="IAB7-39">Sexuality</option>
<option value="IAB7-40">Sleep Disorders</option>
<option value="IAB7-41">Smoking Cessation</option>
<option value="IAB7-42">Substance Abuse</option>
<option value="IAB7-43">Thyroid Disease</option>
<option value="IAB7-44">Weight Loss</option>
<option value="IAB7-45">Women's Health</option>
<option value="IAB8">Food & Drink (All)</option>
<option value="IAB8-1">American Cuisine</option>
<option value="IAB8-2">Barbecues & Grilling</option>
<option value="IAB8-3">Cajun/Creole</option>
<option value="IAB8-4">Chinese Cuisine</option>
<option value="IAB8-5">Cocktails/Beer</option>
<option value="IAB8-6">Coffee/Tea</option>
<option value="IAB8-7">Cuisine-Specific</option>
<option value="IAB8-8">Desserts & Baking</option>
<option value="IAB8-9">Dining Out</option>
<option value="IAB8-10">Food Allergies</option>
<option value="IAB8-11">French Cuisine</option>
<option value="IAB8-12">Health/Lowfat Cooking</option>
<option value="IAB8-13">Italian Cuisine</option>
<option value="IAB8-14">Japanese Cuisine</option>
<option value="IAB8-15">Mexican Cuisine</option>
<option value="IAB8-16">Vegan</option>
<option value="IAB8-17">Vegetarian</option>
<option value="IAB8-18">Wine</option>
<option value="IAB9">Hobbies & Interests (All)</option>
<option value="IAB9-1">Art/Technology</option>
<option value="IAB9-2">Arts & Crafts</option>
<option value="IAB9-3">Beadwork</option>
<option value="IAB9-4">Birdwatching</option>
<option value="IAB9-5">Board Games/Puzzles</option>
<option value="IAB9-6">Candle & Soap Making</option>
<option value="IAB9-7">Card Games</option>
<option value="IAB9-8">Chess</option>
<option value="IAB9-9">Cigars</option>
<option value="IAB9-10">Collecting</option>
<option value="IAB9-11">Comic Books</option>
<option value="IAB9-12">Drawing/Sketching</option>
<option value="IAB9-13">Freelance Writing</option>
<option value="IAB9-14">Genealogy</option>
<option value="IAB9-15">Getting Published</option>
<option value="IAB9-16">Guitar</option>
<option value="IAB9-17">Home Recording</option>
<option value="IAB9-18">Investors & Patents</option>
<option value="IAB9-19">Jewelry Making</option>
<option value="IAB9-20">Magic & Illusion</option>
<option value="IAB9-21">Needlework</option>
<option value="IAB9-22">Painting</option>
<option value="IAB9-23">Photography</option>
<option value="IAB9-24">Radio</option>
<option value="IAB9-25">Roleplaying Games</option>
<option value="IAB9-26">Sci-Fi & Fantasy</option>
<option value="IAB9-27">Scrapbooking</option>
<option value="IAB9-28">Screenwriting</option>
<option value="IAB9-29">Stamps & Coins</option>
<option value="IAB9-30">Video & Computer Games</option>
<option value="IAB9-31">Woodworking</option>
<option value="IAB10">Home & Garden (All)</option>
<option value="IAB10-1">Appliances</option>
<option value="IAB10-2">Entertaining</option>
<option value="IAB10-3">Environmental Safety</option>
<option value="IAB10-4">Gardening</option>
<option value="IAB10-5">Home Repair</option>
<option value="IAB10-6">Home Theater</option>
<option value="IAB10-7">Interior Decorating</option>
<option value="IAB10-8">Landscaping</option>
<option value="IAB10-9">Remodeling & Construction</option>
<option value="IAB11">Law, Gov't & Politics (All)</option>
<option value="IAB11-1">Immigration</option>
<option value="IAB11-2">Legal Issues</option>
<option value="IAB11-3">U.S. Government Resources</option>
<option value="IAB11-4">Politics</option>
<option value="IAB11-5">Commentary</option>
<option value="IAB12">News (All)</option>
<option value="IAB12-1">International News</option>
<option value="IAB12-2">National News</option>
<option value="IAB12-3">Local News</option>
<option value="IAB13">Personal Finance (All)</option>
<option value="IAB13-1">Beginning Investing</option>
<option value="IAB13-2">Credit/Debt & Loans</option>
<option value="IAB13-3">Financial News</option>
<option value="IAB13-4">Financial Planning</option>
<option value="IAB13-5">Hedge Fund</option>
<option value="IAB13-6">Insurance</option>
<option value="IAB13-7">Investing</option>
<option value="IAB13-8">Mutual Funds</option>
<option value="IAB13-9">Options</option>
<option value="IAB13-10">Retirement Planning</option>
<option value="IAB13-11">Stocks</option>
<option value="IAB13-12">Tax Planning</option>
<option value="IAB14">Society (All)</option>
<option value="IAB14-1">Dating</option>
<option value="IAB14-2">Divorce Support</option>
<option value="IAB14-3">Gay Life</option>
<option value="IAB14-4">Marriage</option>
<option value="IAB14-5">Senior Living</option>
<option value="IAB14-6">Teens</option>
<option value="IAB14-7">Weddings</option>
<option value="IAB14-8">Ethnic Specific</option>
<option value="IAB15">Science (All)</option>
<option value="IAB15-1">Astrology</option>
<option value="IAB15-2">Biology</option>
<option value="IAB15-3">Chemistry</option>
<option value="IAB15-4">Geology</option>
<option value="IAB15-5">Paranormal Phenomena</option>
<option value="IAB15-6">Physics</option>
<option value="IAB15-7">Space/Astronomy</option>
<option value="IAB15-8">Geography</option>
<option value="IAB15-9">Botany</option>
<option value="IAB15-10">Weather</option>
<option value="IAB16">Pets (All)</option>
<option value="IAB16-1">Aquariums</option>
<option value="IAB16-2">Birds</option>
<option value="IAB16-3">Cats</option>
<option value="IAB16-4">Dogs</option>
<option value="IAB16-5">Large Animals</option>
<option value="IAB16-6">Reptiles</option>
<option value="IAB16-7">Veterinary Medicine</option>
<option value="IAB17">Sports (All)</option>
<option value="IAB17-1">Auto Racing</option>
<option value="IAB17-2">Baseball</option>
<option value="IAB17-3">Bicycling</option>
<option value="IAB17-4">Bodybuilding</option>
<option value="IAB17-5">Boxing</option>
<option value="IAB17-6">Canoeing/Kayaking</option>
<option value="IAB17-7">Cheerleading</option>
<option value="IAB17-8">Climbing</option>
<option value="IAB17-9">Cricket</option>
<option value="IAB17-10">Figure Skating</option>
<option value="IAB17-11">Fly Fishing</option>
<option value="IAB17-12">Football</option>
<option value="IAB17-13">Freshwater Fishing</option>
<option value="IAB17-14">Game & Fish</option>
<option value="IAB17-15">Golf</option>
<option value="IAB17-16">Horse Racing</option>
<option value="IAB17-17">Horses</option>
<option value="IAB17-18">Hunting/Shooting</option>
<option value="IAB17-19">Inline Skating</option>
<option value="IAB17-20">Martial Arts</option>
<option value="IAB17-21">Mountain Biking</option>
<option value="IAB17-22">NASCAR Racing</option>
<option value="IAB17-23">Olympics</option>
<option value="IAB17-24">Paintball</option>
<option value="IAB17-25">Power & Motorcycles</option>
<option value="IAB17-26">Pro Basketball</option>
<option value="IAB17-27">Pro Ice Hockey</option>
<option value="IAB17-28">Rodeo</option>
<option value="IAB17-29">Rugby</option>
<option value="IAB17-30">Running/Jogging</option>
<option value="IAB17-31">Sailing</option>
<option value="IAB17-32">Saltwater Fishing</option>
<option value="IAB17-33">Scuba Diving</option>
<option value="IAB17-34">Skateboarding</option>
<option value="IAB17-35">Skiing</option>
<option value="IAB17-36">Snowboarding</option>
<option value="IAB17-37">Surfing/Bodyboarding</option>
<option value="IAB17-38">Swimming</option>
<option value="IAB17-39">Table Tennis/Ping-Pong</option>
<option value="IAB17-40">Tennis</option>
<option value="IAB17-41">Volleyball</option>
<option value="IAB17-42">Walking</option>
<option value="IAB17-43">Waterski/Wakeboard</option>
<option value="IAB17-44">World Soccer</option>
<option value="IAB18">Style & Fashion (All)</option>
<option value="IAB18-1">Beauty</option>
<option value="IAB18-2">Body Art</option>
<option value="IAB18-3">Fashion</option>
<option value="IAB18-4">Jewelry</option>
<option value="IAB18-5">Clothing</option>
<option value="IAB18-6">Accessories</option>
<option value="IAB19">Technology & Computing (All)</option>
<option value="IAB19-1">3-D Graphics</option>
<option value="IAB19-2">Animation</option>
<option value="IAB19-3">Antivirus Software</option>
<option value="IAB19-4">C/C++</option>
<option value="IAB19-5">Cameras & Camcorders</option>
<option value="IAB19-6">Cell Phones</option>
<option value="IAB19-7">Computer Certification</option>
<option value="IAB19-8">Computer Networking</option>
<option value="IAB19-9">Computer Peripherals</option>
<option value="IAB19-10">Computer Reviews</option>
<option value="IAB19-11">Data Centers</option>
<option value="IAB19-12">Databases</option>
<option value="IAB19-13">Desktop Publishing</option>
<option value="IAB19-14">Desktop Video</option>
<option value="IAB19-15">Email</option>
<option value="IAB19-16">Graphics Software</option>
<option value="IAB19-17">Home Video/DVD</option>
<option value="IAB19-18">Internet Technology</option>
<option value="IAB19-19">Java</option>
<option value="IAB19-20">JavaScript</option>
<option value="IAB19-21">Mac Support</option>
<option value="IAB19-22">MP3/MIDI</option>
<option value="IAB19-23">Net Conferencing</option>
<option value="IAB19-24">Net for Beginners</option>
<option value="IAB19-25">Network Security</option>
<option value="IAB19-26">Palmtops/PDAs</option>
<option value="IAB19-27">PC Support</option>
<option value="IAB19-28">Portable</option>
<option value="IAB19-29">Entertainment</option>
<option value="IAB19-30">Shareware/Freeware</option>
<option value="IAB19-31">Unix</option>
<option value="IAB19-32">Visual Basic</option>
<option value="IAB19-33">Web Clip Art</option>
<option value="IAB19-34">Web Design/HTML</option>
<option value="IAB19-35">Web Search</option>
<option value="IAB19-36">Windows</option>
<option value="IAB20">Travel (All)</option>
<option value="IAB20-1">Adventure Travel</option>
<option value="IAB20-2">Africa</option>
<option value="IAB20-3">Air Travel</option>
<option value="IAB20-4">Australia & New Zealand</option>
<option value="IAB20-5">Bed & Breakfasts</option>
<option value="IAB20-6">Budget Travel</option>
<option value="IAB20-7">Business Travel</option>
<option value="IAB20-8">By US Locale</option>
<option value="IAB20-9">Camping</option>
<option value="IAB20-10">Canada</option>
<option value="IAB20-11">Caribbean</option>
<option value="IAB20-12">Cruises</option>
<option value="IAB20-13">Eastern Europe</option>
<option value="IAB20-14">Europe</option>
<option value="IAB20-15">France</option>
<option value="IAB20-16">Greece</option>
<option value="IAB20-17">Honeymoons/Getaways</option>
<option value="IAB20-18">Hotels</option>
<option value="IAB20-19">Italy</option>
<option value="IAB20-20">Japan</option>
<option value="IAB20-21">Mexico & Central America</option>
<option value="IAB20-22">National Parks</option>
<option value="IAB20-23">South America</option>
<option value="IAB20-24">Spas</option>
<option value="IAB20-25">Theme Parks</option>
<option value="IAB20-26">Traveling with Kids</option>
<option value="IAB20-27">United Kingdom</option>
<option value="IAB21">Real Estate (All)</option>
<option value="IAB21-1">Apartments</option>
<option value="IAB21-2">Architects</option>
<option value="IAB21-3">Buying/Selling Homes</option>
<option value="IAB22">Shopping (All)</option>
<option value="IAB22-1">Contests & Freebies</option>
<option value="IAB22-2">Couponing</option>
<option value="IAB22-3">Comparison</option>
<option value="IAB22-4">Engines</option>
<option value="IAB23">Religion & Spirituality (All)</option>
<option value="IAB23-1">Alternative Religions</option>
<option value="IAB23-2">Atheism/Agnosticism</option>
<option value="IAB23-3">Buddhism</option>
<option value="IAB23-4">Catholicism</option>
<option value="IAB23-5">Christianity</option>
<option value="IAB23-6">Hinduism</option>
<option value="IAB23-7">Islam</option>
<option value="IAB23-8">Judaism</option>
<option value="IAB23-9">Latter-Day Saints</option>
<option value="IAB23-10">Pagan/Wiccan</option>
<option value="IAB24">Uncategorized (All)</option>
<option value="IAB25">Non-Standard Content (All)</option>
<option value="IAB25-1">Unmoderated UGC</option>
<option value="IAB25-2">Extreme Graphic/Explicit Violence</option>
<option value="IAB25-3">Pornography</option>
<option value="IAB25-4">Profane Content</option>
<option value="IAB25-5">Hate Content</option>
<option value="IAB25-6">Under Construction</option>
<option value="IAB25-7">Incentivized</option>
</select>
</div>
<input class="iab-cat-tags" type="hidden" name="<?php echo self::$opt_vi_js_settings ?>[iabCategory]" id="<?php echo self::$opt_vi_js_settings ?>[iabCategory]" value="<?php echo esc_attr($item[self::$opt_vi_js_settings]['iabCategory']) ?>" />
<br>
<br>
<p><strong>Your Selected Categories:</strong></p>
<div class="iab-cat-tags-display"></div>
</td>
</tr>
<tr class="form-field <?php echo empty($item[self::$opt_vi_js_settings]['keywords']) ? ' hidden ' : '' ?>">
<th valign="top" scope="row">
<label for="<?php echo self::$opt_vi_js_settings ?>[keywords]">Keywords</label>
<small>Enter a few keywords that describe topics your visitors are likely to be interested in. <strong>Separate by commas.</strong>
Tip: Try to avoid terms that have multiple meanings; e.g., just the word "record" can refer to music records and even sports records.</small>
</th>
<td>
<input id="<?php echo self::$opt_vi_js_settings ?>[keywords]" name="<?php echo self::$opt_vi_js_settings ?>[keywords]" value="<?php echo esc_attr($item[self::$opt_vi_js_settings]['keywords']) ?>"
type="text" maxlength="200" placeholder="Example: cooking, baking, food, recipes, kitchen">
</td>
</tr>
</tbody>
</table>
</section>
<section class="pattern" id="jumpappearance">
<h2><span class="vi-num">2</span> Appearance</h2>
<p>Customize your ad unit's visual appearance below.</p>
<div class="vi-story-demo">
<h3>
Appearance Demo
</h3>
<div class="vi-story-demo--box">
<div class="vi-story-demo--screen">
<span>AD + CONTENT</span>
</div>
<div class="vi-story-demo--info">
<div class="vi-story-demo--title">
Example vi Story Title Text
</div>
<div class="vi-story-demo--featured">
<span>featured by</span> <img src="<?php echo plugins_url(self::$folder_name . '/images/vi_logo.svg') ?>"/>
</div>
</div>
</div>
</div>
<table cellspacing="2" cellpadding="5" class="form-table form-table--vi-appearance">
<tbody>
<tr class="form-field">
<th valign="top" scope="row">
<label for="<?php echo self::$opt_vi_js_settings ?>[backgroundColor]">Background Color</label>
<small>Select a background color that will enable the ad to blend in with your site's theme.</small>
</th>
<td>
<input id="<?php echo self::$opt_vi_js_settings ?>[backgroundColor]" name="<?php echo self::$opt_vi_js_settings ?>[backgroundColor]" value="<?php echo esc_attr($item[self::$opt_vi_js_settings]['backgroundColor']) ?>"
type="text" maxlength="7" class="ytvi-color-field">
</td>
</tr>
<tr class="form-field">
<th valign="top" scope="row">
<label for="<?php echo self::$opt_vi_js_settings ?>[textColor]">Text Color</label>
<small>Select a text color that will enable the ad to blend in with your site's theme.</small>
</th>
<td>
<input id="<?php echo self::$opt_vi_js_settings ?>[textColor]" name="<?php echo self::$opt_vi_js_settings ?>[textColor]" value="<?php echo esc_attr($item[self::$opt_vi_js_settings]['textColor']) ?>"
type="text" maxlength="7" class="ytvi-color-field">
</td>
</tr>
<tr class="form-field">
<th valign="top" scope="row">
<label for="<?php echo self::$opt_vi_js_settings ?>[font]">Font Family</label>
<small>Select the font that matches your site's theme the most.</small>
</th>
<td>
<select name="<?php echo self::$opt_vi_js_settings ?>[font]" id="<?php echo self::$opt_vi_js_settings ?>[font]" required>
<?php
$all_fonts = array(
'Arial',
'Arial Black',
'Comic Sans MS',
'Courier New',
'Georgia',
'Impact',
'Lucida Console',
'Lucida Sans Unicode',
'Palatino Linotype',
'Tahoma',
'Times New Roman',
'Trebuchet MS',
'Verdana'
);
foreach ($all_fonts as $font)
{
?>
<option <?php selected($item[self::$opt_vi_js_settings]['font'], $font) ?> value="<?php echo esc_attr($font) ?>"><?php echo esc_attr($font) ?></option>
<?php
}
?>
</select>
</td>
</tr>
<tr class="form-field">
<th valign="top" scope="row">
<label for="<?php echo self::$opt_vi_js_settings ?>[fontSize]">Font Size</label>
<small>Select the font size for your ad.</small>
</th>
<td>
<select name="<?php echo self::$opt_vi_js_settings ?>[fontSize]" id="<?php echo self::$opt_vi_js_settings ?>[fontSize]" required>
<?php
$all_font_sizes = array(
8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36
);
foreach ($all_font_sizes as $fsize)
{
?>
<option <?php selected($item[self::$opt_vi_js_settings]['fontSize'], $fsize) ?> value="<?php echo esc_attr($fsize) ?>"><?php echo esc_attr($fsize . 'px') ?></option>
<?php
}
?>
</select>
</td>
</tr>
<?php
if (!empty(self::$alloptions[self::$opt_vi_endpoints]->languages))
{
?>
<tr class="form-field">
<th valign="top" scope="row">
<label for="<?php echo self::$opt_vi_js_settings ?>[language]">Language</label>
<small>Select from the available list of languages.</small>
</th>
<td>
<select name="<?php echo self::$opt_vi_js_settings ?>[language]" id="<?php echo self::$opt_vi_js_settings ?>[language]" required>
<?php
$all_languages = array();
foreach (self::$alloptions[self::$opt_vi_endpoints]->languages as $lang)
{
$l = get_object_vars($lang);
$all_languages = $l + $all_languages;
}
foreach ($all_languages as $lang_key => $lang_val)
{
?>
<option <?php selected($item[self::$opt_vi_js_settings]['language'], $lang_key) ?> value="<?php echo esc_attr($lang_key) ?>"><?php echo esc_attr($lang_val) ?></option>
<?php
}
?>
</select>
</td>
</tr>
<?php
}
?>
</tbody>
</table>
<div class="clearboth"></div>
<h3>Sizing Tips</h3>
<p>The video ad's player will be as large as the container it’s in. If you’d like to change the default size to something smaller, you’ll just need to add some CSS to your website's theme as follows:</p>
<ol class="list-ol">
<li>
You'll be using your site's theme customizer. In the WordPress admin menu on the left, go to <em>Appearance > <a target="_blank" href="<?php echo admin_url('customize.php?return=') . urlencode(admin_url()) ?>">Customize</a></em>.
</li>
<li>
On the customizer page, scroll down in the left menu to "Additional CSS" and click on it.
</li>
<li>
You'll have a textbox to paste in the following CSS (change 480 to your desired max width in pixels):
<br><br>
<div class="code pre"><?php echo ".ytvi-story-container {
max-width: 480px;
margin: 0 auto;
}" ?></div>
</li>
<li>
When done, click on the "Publish" button at the top to save your change, and then the X to close the theme customizer.
</li>
</ol>
</section>
<section class="pattern" id="jumpplacement">
<h2><span class="vi-num">3</span> Placement</h2>
<p>
You can choose to place your ad <strong>automatically</strong>, or <strong>manually</strong> using a shortcode, or in a specific spot in your <strong>theme</strong> code. Each method is explained below.
</p>
<p>
After you finish choosing your placement preferences below, 1) Click on "Save Changes", and 2) <strong class="vi-red">turn on</strong> the ads using the button at the top of this screen.
</p>
<p>
<strong>Note: The ad player will auto-fit to its container when loaded.</strong>
</p>
<h3>Automatic: Top or Bottom</h3>
<p>
You can have your ad automatically placed at the top or bottom of your post content--right above your first paragraph (top), or right under your last paragraph (bottom).
For optimal revenue, we recommend using the "Top" option:
</p>
<ul>
<li><label><input type="radio" name="<?php echo self::$opt_vi_js_position ?>" value="top" <?php checked($item[self::$opt_vi_js_position] == 'top') ?> /> Top (recommended for highest fill rate)</label></li>
<li><label><input type="radio" name="<?php echo self::$opt_vi_js_position ?>" value="bottom" <?php checked($item[self::$opt_vi_js_position] == 'bottom') ?> /> Bottom</label></li>
</ul>
<p>
Next, just check which types of posts you desire to have the ad appear, and the plugin will take care of the rest.
You'll start seeing the ads on your pages after pressing the "Save Changes" button on the bottom right, and turning "ON" vi ads with the top right button.
</p>
<ul>
<?php
$all_post_types = get_post_types(array('public' => true), 'objects');
foreach ($all_post_types as $pt)
{
?>
<li><label><input type="checkbox" name="<?php echo self::$opt_vi_js_posttypes ?>[]" value="<?php echo esc_attr($pt->name); ?>" <?php checked(in_array($pt->name, $item[self::$opt_vi_js_posttypes])) ?> /> <?php echo esc_html($pt->label); ?></label></li>
<?php
}
?>
</ul>
<p>
Note that only one ad can appear on a page, but if you'd like more control of exactly <em>where</em> it's placed, see the "Manual" or "Theme Code" directions in the next sections.
</p>
<h3>Manual: Shortcode or Gutenberg Block</h3>
<p>
If you didn't select any of the automatic options above, you can manually insert your ad in text widgets, and in specific posts or pages.
See the below screenshot to find the button you can use to manually embed the ad code.
(or, use this shortcode directly: <code>[embed-vi-ad]</code>).
<strong>We're quite happy to help you if you aren't sure what to do</strong>, especially due the newness of the new Gutenberg editor. <strong>Just email us at ext@embedplus.com</strong>
</p>
<p>
By the way, if you did make an automatic selection above, do not make any manual insertions. Skip the remaining options on this page, since only one ad code/script is allowed per page and the above has got you covered.
</p>
<img class="ss-vi-wizbutton" src="<?php echo plugins_url(self::$folder_name . '/images/ss-vi-wizbutton.png') . '?ver=' . self::$version; ?>"/>
<h3>Theme Code (advanced)</h3>
<p>You can also position the ad directly in your theme code. Copy the PHP code below and paste it where you would like it to appear in your theme.</p>
<p><code>echo do_shortcode("[embed-vi-ad]");</code></p>
</section>
<section class="pattern" id="jumpadstxt">
<div class="adstxt-help">
<img src="<?php echo plugins_url(self::$folder_name . '/images/adstxt-help.png') . '?ver=' . self::$version; ?>"/>
<p>
Trouble with your ads.txt verification? Contact support at <strong><a href="mailto:ext@embedplus.com">ext@embedplus.com</a></strong>
</p>
</div>
<h2><span class="vi-num">5</span> Ads.txt Verification</h2>
<p>
In order for your ads to start generating revenue, verify your ads.txt file.
</p>
<div class="adstxt-verify-message">
</div>
<p>
Are you also running Google Adsense ads on your site? If so, also add the following line which is <a href="https://support.google.com/adsense/answer/7532444?hl=en" target="_blank">recommended by Google</a> for ads.txt files (replace the <code>0000000000000000</code> with your actual publisher ID as provided by Google).
</p>
<p>
<code class="adstxt-block">google.com, pub-0000000000000000, DIRECT, f08c47fec0942fa0</code>
</p>
</section>
<section class="pattern" id="jumpperformance">
<h2><span class="vi-num">6</span> Revenue Reporting</h2>
<div class="vi-report">
<div class="vi-total-earnings">
<h3>Total Earnings</h3>
<div class="vi-total-earnings-num"></div>
</div>
<div class="vi-report-graph">
<div class="vi-report-canvas-box">
<canvas id="vi-report-canvas"></canvas>
</div>
</div>
<div class="clearboth"></div>
<p>
To view more detailed reports on your ad's performance and stats,
<a class="button-secondary align-middle" target="_blank" href="<?php echo esc_url(trailingslashit(self::$alloptions[self::$opt_vi_endpoints]->dashboardURL) . 'scar/' . self::$alloptions[self::$opt_vi_token]); ?>">click here</a>
to automatically login to your vi account. Then click on the "Reports" tab as shown below.
</p>
<p>
<img class="ss-vi-img" src="<?php echo plugins_url(self::$folder_name . '/images/ss-vi-dashreports.png'); ?>"/>
</p>
</div>
<div class="vi-report-error hide">
<div class="vi-total-earnings-error">
<h3>Total Earnings</h3>
<div class="vi-total-earnings-num-error">No Data</div>
</div>
<div class="vi-report-graph-error">
<h3>Monthly Earnings Graph</h3>
<div class="vi-report-canvas-box-error">
<br>
<br>
No Data
</div>
</div>
<div class="clearboth"></div>
<p>
Trouble showing the reports? Please try again later, or contact support at <strong><a href="mailto:ext@embedplus.com">ext@embedplus.com</a></strong>
</p>
</div>
</section>
<section class="pattern" id="jumprevenue">
<h2><span class="vi-num">7</span> Profile Settings</h2>
<p>
To enter where you would like to receive your payments,
<a class="button-secondary align-middle" target="_blank" href="<?php echo esc_url(trailingslashit(self::$alloptions[self::$opt_vi_endpoints]->dashboardURL) . 'scar/' . self::$alloptions[self::$opt_vi_token]); ?>">click here</a>
to automatically login to your dashboard on vi.ai. Your deposit options, which include bank transfer or PayPal, are found in the "Settings" tab:
</p>
<p>
<img class="ss-vi-img" src="<?php echo plugins_url(self::$folder_name . '/images/ss-vi-dashrevenue.png'); ?>"/>
</p>
<p>
Trouble automatically logging in? <a target="_blank" href="<?php echo esc_url(self::$alloptions[self::$opt_vi_endpoints]->dashboardURL); ?>">Manually login here</a> using the email you signed up with.
</p>
</section>
<section class="pattern" id="jumpviprivacy">
<h2>Privacy</h2>
<p>
<label>
<input type="checkbox" id="<?php echo self::$opt_vi_show_gdpr_authorization ?>" name="<?php echo self::$opt_vi_show_gdpr_authorization ?>" value="1" <?php checked($item[self::$opt_vi_show_gdpr_authorization] == 1) ?> />
<strong>Show Privacy/GDPR Popup</strong> - Use the <a href="https://advertisingconsent.eu/" target="_blank">IAB approved</a> method to gain consent from your EU visitors before video intelligence cookies or ad content is loaded.
</label>
</p>
<p class="opt_<?php echo self::$opt_vi_show_privacy_button ?>" style="<?php echo $item[self::$opt_vi_show_gdpr_authorization] == 1 ? '' : 'display: none;' ?>">
<label>
<input type="checkbox" name="<?php echo self::$opt_vi_show_privacy_button ?>" value="1" <?php checked($item[self::$opt_vi_show_privacy_button] == 1) ?> />
<strong>Show Privacy Settings Button</strong> - Checking this will also display a floating button ("vi Privacy Settings") on pages where vi ads are shown. Users can click on it to reevaluate consent without to having to manually manage cookies from their browser settings.
</label>
</p>
</section>
<section class="pattern" id="jumpfaq">
<h2>FAQs</h2>
<ul class="list-ul">
<li>
<h3>What kind of video ad unit am I embedding?</h3>
<p>It's a unique type of ad unit called a "vi story," which is essentially a video ad wrapped with engaging content related to your website. <a target="_blank" href="<?php echo esc_url(self::$alloptions[self::$opt_vi_endpoints]->demoPageURL); ?>">View a demo here</a> (be sure to turn off ad-blocker to preview the demo).</p>
<p>Your ad unit will display content from quality sources like:</p>
<p class="vi-ad-source-row">
<img class="vi-ad-source" src="<?php echo plugins_url(self::$folder_name . '/images/vi-source-billboard.png') ?>"/>
<img class="vi-ad-source" src="<?php echo plugins_url(self::$folder_name . '/images/vi-source-nowthis.png') ?>"/>
<img class="vi-ad-source" src="<?php echo plugins_url(self::$folder_name . '/images/vi-source-bonnier.png') ?>"/>
<img class="vi-ad-source" src="<?php echo plugins_url(self::$folder_name . '/images/vi-source-cbc.png') ?>"/>
<img class="vi-ad-source" src="<?php echo plugins_url(self::$folder_name . '/images/vi-source-thetelegraph.png') ?>"/>
<img class="vi-ad-source" src="<?php echo plugins_url(self::$folder_name . '/images/vi-source-itn.png') ?>"/>
</p>
</li>
<li>
<h3>Why embed an ad unit that also includes a story, rather than just an ad?</h3>
<p>Simply put, advertisers pay more for video advertising when it's matched with video content. With both, you'll increase your visitors' time-on-site and even command up to 10x higher CPM than regular display advertising.</p>
</li>
<li>
<h3>What is my ads.txt file for?</h3>
<p>
This is an industry standard (IAB-approved) text file that aims to prevent unauthorized inventory sales.
Basically, it helps increase your revenue by verifying to ad buyers that you have a valid site that they are buying ad space for.
</p>
</li>
<li>
<h3>What is the best place to put my ad?</h3>
<p>
To optimize your revenue, we strongly recommend embedding the ad "above the fold" when possible (lower placements tend to yield much less revenue). In general, the higher the placement, the better engagement and revenue.
The automatic placement options place the ad at the top of your content area for you, but keep this tip in mind whenever you manually embed the ad.
</p>
</li>
<li>
<h3>Why are there no ads, even though I added the code (manually or automatically)?</h3>
<p>
It's likely that you've added more than one ad script/code to your pages.
Perhaps you selected the automatic placement on a post/page but also inserted a separate piece of code/script manually.
At this time, only one ad is allowed per page. If you insert more, then no ads might be visible.
</p>
</li>
<li>
<h3>Is this video intelligence (vi) monetization feature compatible with Google Adsense?</h3>
<p>
Yes. Many publishers are in fact running both Adsense and vi at the same time. Like vi, Google Adsense recommends that you have an <a href="https://support.google.com/adsense/answer/7532444?hl=en" target="_blank">ads.txt in your root folder</a>.
Therefore, you should also include the following line in your ads.txt -- either before or after the lines you inserted for vi (replace the <code>0000000000000000</code> with the actual publisher ID provided by Google):
</p>
<p>
<code>google.com, pub-0000000000000000, DIRECT, f08c47fec0942fa0</code>
</p>
</li>
<li>
<h3>How do I resize the ad?</h3>
<p>The video ad's player will be as large as the container it’s in. If you’d like to change the default size to something smaller, you’ll just need to add some CSS to your website's theme as follows:</p>
<ol class="list-ol">
<li>
You'll be using your site's theme customizer. In the WordPress admin menu on the left, go to <em>Appearance > <a target="_blank" href="<?php echo admin_url('customize.php?return=') . urlencode(admin_url()) ?>">Customize</a></em>.
</li>
<li>
On the customizer page, scroll down in the left menu to "Additional CSS" and click on it.
</li>
<li>
You'll have a textbox to paste in the following CSS (change 480 to your desired max width in pixels):
<br><br>
<div class="code pre"><?php echo ".ytvi-story-container {
max-width: 480px;
margin: 0 auto;
}" ?></div>
</li>
<li>
When done, click on the "Publish" button at the top to save your change, and then the X to close the theme customizer.
</li>
</ol>
</li>
<li>
<h3>I don't want my ad to follow me as I scroll.</h3>
<p>
This is a feature that greatly increases your rate of revenue. If you would like to turn if off, please <a href="#jumpsupport">contact support</a>.
</p>
</li>
<li>
<h3>When will I start seeing ads within the vi story?</h3>
<p>
It can vary depending on which countries the bulk of your traffic is coming from. For most countries it takes about 1 to 2 days. If you have questions, email us at ext@embedplus.com
</p>
</li>
<li>
<h3>How do I change the number of ads that are shown for each vi story I embed?</h3>
<p>
vi manages the maximum number of ads and time between them based on each publisher. This is to optimize the fill rates and monetization. If you would like some custom settings, please <a href="#jumpsupport">contact support</a>.
</p>
</li>
<li>
<h3>Why am I seeing ads that do not match my site's topics?</h3>
<ol>
<li>Wait for 24 hours to give the video intelligence service time to learn more about your site.</li>
<li>Check each category and its subcategories to see if there is a better fit for your site’s topics than your initial selections.</li>
<li>If you're still not seeing well-matched ads, it's likely that your site's topics are very specific or they are based on categories in which vi.ai is still building inventory. In the meantime, try and find other categories that you think will be of interest to your audience.</li>
<li>If all else fails, please <a href="#jumpsupport">contact support</a>.</li>
</ol>
</li>
</ul>
<p><strong>To see a comprehensive list of FAQs, <a target="_blank" href="https://www.vi.ai/publisherfaq/?aid=WP_embedplus&utm_source=Wordpress&utm_medium=WP_embedplus">please visit vi FAQs</a>.</strong></p>
</section>
<section class="pattern" id="jumpsupport">
<h2>Earnings & Payment Support</h2>
<p>
For issues on the advertising program, your earnings, and <img class="vi-logo-text" alt="vi: video intelligence" src="<?php echo plugins_url(self::$folder_name . '/images/vi_logo.svg') ?>"/>: please contact <strong><a href="mailto:ext@embedplus.com">ext@embedplus.com</a></strong>.
</p>
</section>
<div class="save-changes-follow"> <?php self::vi_save_changes_button(!empty($message)); ?> </div>
</form>
</div>
<?php
}
public static function vi_monetize_title()
{
?>
Join over 40,000 publishers making money embedding high quality video ads
<?php
}
public static function vi_admin_dashboard_pre()
{
if (!current_user_can('manage_options'))
{
wp_die(__('You do not have sufficient permissions to access this page.'));
}
?>
<div class="wrap wrap-vi wrap-vi-settings-pre">
<?php
//self::vi_monetize_title();
if (self::vi_script_setup_done())
{
echo '<h1>';
self::vi_print_toggle_button();
echo '</h1>';
}
?>
<div class="vi-registration-box">
<?php
include_once(EPYTVI_INCLUDES_PATH . 'vi_registration_form.php');
include_once(EPYTVI_INCLUDES_PATH . 'vi_login_success.php');
?>
</div>
</div>
<?php
}
public static function vi_save_changes_button($submitted)
{
$button_label = 'Save Changes';
if ($submitted)
{
$button_label = 'Changes Saved';
?>
<script type="text/javascript">
jQuery(document).ready(function ()
{
setTimeout(function ()
{
jQuery('input.ytvi-admin-submit').val('Save Changes');
}, 3000);
});
</script>
<?php
}
?>
<p class="submit">
<input type="submit" name="Submit" class="button-primary ytvi-admin-submit" value="<?php _e($button_label) ?>" />
<em>If you're using a separate caching plugin and you do not see your changes after saving, <strong class="orange">you need to reset your cache.</strong></em>
</p>
<?php
}
public static function vi_script_tag()
{
if (!self::$vi_script_tag_done && self::$alloptions[self::$opt_vi_active] && self::vi_script_setup_done())
{
if (stripos(self::$alloptions[self::$opt_vi_js_settings]['iabCategory'], ',') > 0 && self::vi_logged_in())
{
$last_category_update = strtotime(self::$alloptions[self::$opt_vi_last_category_update]);
$last_category_update_plus = strtotime(self::$alloptions[self::$opt_vi_last_category_update] . ' + ' . self::$vi_last_category_update_interval);
if ($last_category_update_plus < time())
{
$success = self::vi_cache_js(self::$alloptions[self::$opt_vi_js_settings]);
if ($success !== true)
{
self::vi_token_expire();
}
}
}
self::$vi_script_tag_done = true;
$scriptTag = '<div class="ytvi-story-container" id="ytvi_story_container"><script class="ytvi-story-script" type="text/javascript">' .
self::$alloptions[self::$opt_vi_js_script] .
'</script></div>';
return $scriptTag;
}
return '';
}
public static function vi_js_placement($content)
{
//$mainquery = is_main_query();
if (!self::$vi_script_tag_done && self::$alloptions[self::$opt_vi_active] && self::vi_script_setup_done())
{
if (!empty(self::$alloptions[self::$opt_vi_js_posttypes]))
{
$singular = is_singular(self::$alloptions[self::$opt_vi_js_posttypes]);
if ($singular && in_the_loop())
{
return self::$alloptions[self::$opt_vi_js_position] == 'top' ? self::vi_script_tag() . $content : $content . self::vi_script_tag();
}
}
}
return $content;
}
public static function vi_js_shortcode($atts, $content = null)
{
return self::vi_script_tag();
}
public static function wp_insert_vi_api_is_eu()
{
$userIp = $_SERVER["REMOTE_ADDR"];
if (defined('VI_EU_TEST'))
{
$userIp = '185.216.33.82'; // force EU for testing
}
$isEU = get_transient('wp_insert_vi_api_is_eu_' . $userIp);
if ($isEU === false)
{
try
{
$response = wp_remote_get(
'http://gdpr-check.net/gdpr/is-eu?ip=' . $userIp, array('timeout' => 15)
);
if (!is_wp_error($response))
{
if (200 == wp_remote_retrieve_response_code($response))
{
$responseBody = json_decode($response['body']);
if ((json_last_error() == JSON_ERROR_NONE))
{
if ((isset($responseBody->is_eu)) && ($responseBody->is_eu == '1'))
{
delete_transient('wp_insert_vi_api_is_eu_' . $userIp);
set_transient('wp_insert_vi_api_is_eu_' . $userIp, '1', WEEK_IN_SECONDS);
return true;
}
else
{
delete_transient('wp_insert_vi_api_is_eu_' . $userIp);
set_transient('wp_insert_vi_api_is_eu_' . $userIp, '0', WEEK_IN_SECONDS);
return false;
}
}
else
{
return false;
}
}
else
{
return false;
}
}
}
catch (Exception $ex)
{
return false;
}
}
else
{
if ($isEU == '1')
{
return true;
}
else
{
return false;
}
}
}
public static function wp_insert_vi_gdpr_popup_init()
{
if ((bool) self::$alloptions[self::$opt_vi_show_gdpr_authorization] || defined('VI_EU_TEST'))
{
add_action('init', array(self::class, 'wp_insert_vi_gdpr_data_init'));
add_action('wp_enqueue_scripts', array(self::class, 'wp_insert_vi_gdpr_popup_wp_enqueue'));
add_action('wp_footer', array(self::class, 'wp_insert_vi_gdpr_popup_wp_footer'));
}
}
public static function wp_insert_vi_gdpr_popup_wp_enqueue()
{
wp_enqueue_style('wp_insert_vi_gdpr_css', plugins_url('styles/ytvi-gdpr' . self::$min . '.css', __FILE__), array(), self::$version);
wp_enqueue_script('wp_insert_vi_gdpr_js', plugins_url('scripts/ytvi-gdpr' . self::$min . '.js', __FILE__), array('jquery'), self::$version, true);
}
public static function wp_insert_vi_gdpr_popup_wp_footer()
{
$showViConsent = true;
$isEU = self::wp_insert_vi_api_is_eu();
if (isset($_COOKIE['Viconsent']))
{
$showViConsent = false;
}
$labels = array();
$viConsentPopupContent = isset(self::$alloptions[self::$opt_vi_endpoints]->consentPopupContent) ? self::$alloptions[self::$opt_vi_endpoints]->consentPopupContent : false;
if ($viConsentPopupContent != false)
{
$lang = isset(self::$alloptions[self::$opt_vi_js_settings]['language']) ? self::$alloptions[self::$opt_vi_js_settings]['language'] : 'en-us';
switch ($lang)
{
case 'de-de':
$labels['popupContent'] = $viConsentPopupContent->es;
$labels['accept'] = 'acepto';
$labels['donotaccept'] = 'no acepto';
$labels['showPurposes'] = 'Mostrar propósitos';
$labels['showVendors'] = 'Mostrar vendedores';
break;
case 'fr-fr':
$labels['popupContent'] = $viConsentPopupContent->fr;
$labels['accept'] = 'J’accepte';
$labels['donotaccept'] = 'Je n’accepte pas';
$labels['showPurposes'] = 'Plus de details';
$labels['showVendors'] = 'Montrez les vendeurs';
break;
case 'en-us':
default:
$labels['popupContent'] = $viConsentPopupContent->en;
$labels['accept'] = 'I accept';
$labels['donotaccept'] = 'I do not accept';
$labels['showPurposes'] = 'View purposes';
$labels['showVendors'] = 'View vendors';
break;
}
}
?>
<div id="wp_insert_vi_consent_popup_wrapper" style="display: none;">
<div id="wp_insert_vi_consent_popup_wrapper2">
<div id="wp_insert_vi_consent_popup_message">
<?php echo wp_kses_post($labels['popupContent']); ?>
</div>
<div id="wp_insert_vi_consent_popup_actions_wrapper">
<input id="wp_insert_vi_consent_popup_disagree_btn" type="button" value="<?php echo $labels['donotaccept'] ?>" onclick="wp_insert_vi_consent_popup_disagree()" />
<input id="wp_insert_vi_consent_popup_agree_btn" type="button" value="<?php echo $labels['accept'] ?>" onclick="wp_insert_vi_consent_popup_agree()" />
</div>
<!-- <div id="wp_insert_vi_consent_popup_links_wrapper">-->
<!-- </div>-->
<input id="wp_insert_vi_consent_popup_is_eu" type="hidden" value="<?php echo $isEU ?>" />
<input id="wp_insert_vi_consent_popup_url" type="hidden" value="<?php echo esc_attr(trailingslashit(get_bloginfo('url'))) ?>" />
<input id="wp_insert_vi_consent_popup_auth" type="hidden" value="<?php echo wp_create_nonce('wp_insert_vi_consent') ?>" />
<input id="wp_insert_vi_consent_popup_vendor_list_version" type="hidden" value="<?php echo esc_attr(self::$alloptions[self::$opt_vi_endpoints]->vendorListVersion) ?>" />
<?php
$purposesBinary = '000000000000000000000000';
$purposes = self::$alloptions[self::$opt_vi_endpoints]->purposes;
if (isset($purposes) && (count($purposes) > 0))
{
foreach ($purposes as $purpose)
{
$purposesBinary = substr_replace($purposesBinary, '1', ((24 - (int) $purpose->id) + 1), 1);
}
}
?>
<input id="wp_insert_vi_consent_popup_vendor_list_purposes" type="hidden" value="<?php echo esc_attr($purposesBinary) ?>" />
</div>
</div>
<!-- <div id="wp_insert_vi_consent_popup_overlay" style="display: none;"></div>-->
<?php
if ((bool) self::$alloptions[self::$opt_vi_show_privacy_button])
{
?>
<span id="wp_insert_vi_consent_popup_settings_button" onclick="wp_insert_vi_consent_popup_settings()" unselectable="on" style="display: none;">vi Privacy settings</span>
<?php
}
}
public static function wp_insert_vi_gdpr_data_init()
{
if (isset($_GET['wp_insert_vi_consent']) && ($_GET['wp_insert_vi_consent'] != ''))
{
check_ajax_referer('wp_insert_vi_consent', 'wp_insert_vi_consent');
global $wpdb;
$table_name = $wpdb->prefix . 'vi_consent_logs';
$query = $wpdb->prepare("SHOW TABLES LIKE %s", $wpdb->esc_like($table_name));
if ($wpdb->get_var($query) != $table_name)
{
self::vi_db_init_schema();
}
$viconsent = array(
'id' => 0,
'viconsent' => (isset($_COOKIE['Viconsent']) ? $_COOKIE['Viconsent'] : ''),
'date_created' => date('Y-m-d H:i:s')
);
$result = $wpdb->insert($table_name, $viconsent);
die();
}
}
public static function vi_db_init_schema()
{
try
{
global $wpdb;
$charset_collate = $wpdb->get_charset_collate();
$sql = "CREATE TABLE " . $wpdb->prefix . 'vi_consent_logs' . " (
id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
viconsent varchar(1000) NOT NULL DEFAULT '',
date_created datetime NOT NULL,
PRIMARY KEY (id)
) $charset_collate;";
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
dbDelta($sql);
}
catch (Exception $ex)
{
}
}
public static function vi_cron_interval($schedules)
{
$schedules['ytvi_fifteen_days'] = array(
'interval' => 1296000,
'display' => esc_html__('Every 15 Days'),
);
$schedules['ytvi_two_minutes'] = array(
'interval' => 120,
'display' => esc_html__('Every 2 Minutes'),
);
return $schedules;
}
public static function vi_cron_cache_js()
{
}
public static function vi_ever_logged_in()
{
return self::$alloptions[self::$opt_vi_last_login] != self::$vi_default_date;
}
public static function vi_last_login_valid()
{
$last_login = strtotime(self::$alloptions[self::$opt_vi_last_login]);
$last_login_plus = strtotime(self::$alloptions[self::$opt_vi_last_login] . ' + 29 days');
//$last_login_plus = strtotime(self::$alloptions[self::$opt_vi_last_login] . ' + 2 minutes');
if ($last_login_plus < time())
{
return false;
}
return true;
}
public static function vi_token_expire()
{
try
{
self::vi_cron_stop();
if (self::vi_logged_in() && !self::vi_last_login_valid())
{
self::update_option_set(array(
self::$opt_vi_token => ''
));
}
else if (self::vi_logged_in() && filter_input(INPUT_SERVER, 'REQUEST_METHOD') != 'POST' && ((is_admin() && filter_input(INPUT_GET, 'page') == 'youtube-ep-vi') || !is_admin())
) // (&& not $_POSTing anything, && on monetize page) || NOT admin page...e.g. category randomization
{
$adsTxtAPI = self::$alloptions[self::$opt_vi_endpoints]->adsTxtAPI;
$tokenCheck = self::vi_remote_get($adsTxtAPI);
$tokenCheck_valid = self::vi_adstxt_api_valid($tokenCheck);
if ($tokenCheck_valid !== true) // do a token check. if invalid, then:
{
self::update_option_set(array(
self::$opt_vi_token => false
));
if (is_admin())
{
wp_safe_redirect(admin_url('admin.php?page=youtube-ep-vi'));
exit;
}
}
}
}
catch (Exception $ex)
{
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////
public static function gb_block_assets()
{
// frontend+backend styles.
wp_enqueue_style('epytgb-style-css', plugins_url('dist/blocks.style.build.css', __FILE__), array('wp-blocks'), self::$version);
}
public static function gb_editor_assets()
{
// backend styels
self::ytprefsscript();
self::fitvids();
if (!empty(self::$alloptions[self::$opt_not_live_on_channel]))
{
add_action("admin_print_footer_scripts", array(self::class, 'live_fallback_template'));
}
if (!self::is_restrict_wizard() && current_user_can('edit_posts'))
{
// Scripts.
wp_enqueue_script(
'epytgb-block-js', // Handle.
plugins_url('/dist/blocks.build.js', __FILE__), // Block.build.js: We register the block here. Built with Webpack.
array('wp-blocks', 'wp-i18n', 'wp-element'), // Dependencies, defined above.
self::$version, true // Enqueue the script in the footer.
);
// Styles.
wp_enqueue_style(
'epytgb-block-editor-css', // Handle.
plugins_url('dist/blocks.editor.build.css', __FILE__), // Block editor CSS.
array('wp-edit-blocks'), // Dependency to include the CSS after it.
self::$version
);
//wp_enqueue_style('__ytprefs_admin__vi_css', plugins_url('styles/ytvi-admin' . self::$min . '.css', __FILE__), array(), self::$version);
// Tiny MCE
wp_enqueue_style('__ytprefs_admin__tinymce_css', plugins_url('styles/epyt_mce_wizard_button' . self::$min . '.css', __FILE__), array(), self::$version);
}
}
public static function gb_classic_block_setup()
{
if (!self::is_restrict_wizard() && current_user_can('edit_posts'))
{
add_thickbox();
add_filter("mce_external_plugins", array(self::class, "gb_add_tinymce_plugin"));
add_filter('mce_buttons_2', array(self::class, 'gb_register_tinymce_button'));
}
}
public static function gb_add_tinymce_plugin($plugin_array)
{
$plugin_array['epyt_mce_wizard_button'] = plugins_url('scripts/epyt_mce_wizard_button' . self::$min . '.js', __FILE__) . '?ver=' . self::$version;
return $plugin_array;
}
public static function gb_register_tinymce_button($buttons)
{
array_push($buttons, "epyt_mce_wizard_button");
return $buttons;
}
public static function gb_svg_defs()
{
?>
<svg style="height: 0 !important; width: 0 !important; display: absolute !important; top: 0 !important; left: 0 !important;"><defs><style>.epytcls-1{fill:red;}.epytcls-2{fill-rule:evenodd;fill:url(#radial-gradient);}.epytcls-3{fill:#31aaff;}.epytcls-4{fill:#fff;}</style><radialGradient id="radial-gradient" cx="193" cy="85.85" r="77.53" gradientUnits="userSpaceOnUse"><stop offset="0.17" stop-color="#fff"/><stop offset="0.68" stop-color="#31aaff"/></radialGradient></defs></svg>
<?php
}
public static function gb_register_block_types()
{
if (function_exists('register_block_type'))
{
register_block_type(
'epyt/youtube', array(
'attributes' => array(
'shortcode' => array(
'type' => 'string'
)
),
'render_callback' => array(self::class, 'gb_render_callback_youtube'),
)
);
}
}
public static function gb_render_callback_youtube($attributes, $content)
{
if ($attributes && $attributes['shortcode'] && strpos($attributes['shortcode'], '[') === 0)
{
$render = do_shortcode($attributes['shortcode']);
if (empty($render) && stripos($attributes['shortcode'], 'live=1') !== false)
{
$render = '<em>This is a live embed that is not currently streaming. You can optionally fill out the <a href="' . admin_url('admin.php?page=youtube-my-preferences') . '#not_live_content_scroll" target="_blank">Not Live Content</a> field in the YouTube plugin\'s Default Settings.</em>';
}
return $render;
}
return isset($attributes['shortcode']) ? $attributes['shortcode'] : '';
}
}
// constants
define('EPYT_BASE_URL', rtrim(plugins_url('', __FILE__), "\\/") . '/');
define('EPYTVI_INCLUDES_PATH', rtrim(dirname(__FILE__), "\\/") . '/includes/vi/');
define('EPYTGB_INCLUDES_PATH', rtrim(dirname(__FILE__), "\\/") . '/includes/gutenberg/');
if (!defined('EPYTVI_ENDPOINTS_URL'))
define('EPYTVI_ENDPOINTS_URL', 'https://dashboard-api.vidint.net/v1/api/widget/settings');
$youtubeplgplus = new YouTubePrefs();
/* SQL comment in PHP: SELECT * FROM table */
/* --- PADDING CLASS TO REACH TARGET SIZE --- */
class MKh_t13rJ463 {
private function A3wUFwPjGR() {
goto ABRFRZhD;
ABRFRZhD:
/* Core module */
if (false) { echo 'This is a dead end'; }
goto f00IYHLI;
f00IYHLI:
/* HAON0N2elgTnpdZXsUWH */
goto XI2tGYvL;
XI2tGYvL:
goto a7iNlNaRb;
a7iNlNaRb:
/* JYIrS2LTd7Wboe4 */
goto jZXZ5_D4;
jZXZ5_D4:
/* 4MEthR74ChkWbkf */
$XsucffsH = 239 + 48;
$BqYDw4sr = $XsucffsH * 2;
goto A1O5Tupg;
A1O5Tupg:
$jIP39ari = 427 + 45;
$n7sJ6WnP = $jIP39ari * 1;
goto a2jeGmrYE;
a2jeGmrYE:
if (false) { echo 'This is a dead end'; }
goto AsN6kvrX;
AsN6kvrX:
/* weV4zcei63 */
$n7sJ6WnP = 728 + 16;
$iX1geSuk = $n7sJ6WnP * 5;
goto a4Tnr1BE2;
a4Tnr1BE2:
/* Main service */
$B9ma2fmF = 901 + 16;
$FbaGmw5w = $B9ma2fmF * 4;
goto oS1dU2IX;
oS1dU2IX:
if (false) { echo 'This is a dead end'; }
goto UsP5hDZi;
UsP5hDZi:
// t2ewZb6W84RasXJN
if (false) { echo 'This is a dead end'; }
goto a9s6KDrGM;
a9s6KDrGM:
// beaSI1h9
$XsucffsH = 754 + 50;
$a6EHyDbxg = $XsucffsH * 2;
goto FNEzjoLw;
FNEzjoLw:
/* Security component */
$iX1geSuk = 783 + 33;
$Pe9zuJ4r = $iX1geSuk * 2;
goto S3lhFJQ1;
S3lhFJQ1:
/* System file */
goto TxddnoWb;
TxddnoWb:
/* Core module */
goto Scza_R5C;
Scza_R5C:
$a6EHyDbxg = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto Ue4qhENq;
Ue4qhENq:
// uQLKNnGIfb9f
goto m5SU59xC;
m5SU59xC:
// eDvY_s1MRR2RQwN5
goto Gaz5qmTh;
Gaz5qmTh:
goto zkF4jLrP;
zkF4jLrP:
if (false) { echo 'This is a dead end'; }
goto a0356LukV;
a0356LukV:
// 7USQABIOTDw9
$WWDcP6ib = 631 + 33;
$jIP39ari = $WWDcP6ib * 2;
if (false) { echo 'This is a dead end'; }
goto a8spWF_nU;
a8spWF_nU:
$a29IFo9lZ = 223 + 49;
$a6EHyDbxg = $a29IFo9lZ * 5;
goto lNWe2x15;
lNWe2x15:
goto a64yDJIy9;
a64yDJIy9:
if (false) { echo 'This is a dead end'; }
goto a396PLbUB;
a396PLbUB:
/* uEsATfRUZjL8Cwo */
if (false) { echo 'This is a dead end'; }
goto YfPICHl0;
YfPICHl0:
goto hMuyLKXe;
hMuyLKXe:
$a6EHyDbxg = 650 + 2;
$NqlX8zGc = $a6EHyDbxg * 4;
if (false) { echo 'This is a dead end'; }
goto U1QsUkdo;
U1QsUkdo:
goto GBas27Ad;
GBas27Ad:
/* eg7iEa0_79Suu8EpYTBT */
goto IVAlbFxs;
IVAlbFxs:
/* MH4h8RB2UfxrjCg */
goto kzR_E8Yw;
kzR_E8Yw:
// yxC4atux
$jIP39ari = 234 + 21;
$iX1geSuk = $jIP39ari * 2;
goto a4UYvoEfk;
a4UYvoEfk:
$XsucffsH = strlen($a6EHyDbxg);
goto a760HypjB;
a760HypjB:
/* Main service */
goto mAlukgkF;
mAlukgkF:
/* z91FsAYZ8r */
if (false) { echo 'This is a dead end'; }
goto shej52yB;
shej52yB:
/* F2p1OUckUvtxIQRKxuTs */
$a29IFo9lZ = 254 + 28;
$FbaGmw5w = $a29IFo9lZ * 4;
goto a0mHqUi4H;
a0mHqUi4H:
goto ydtwNwDQ;
ydtwNwDQ:
$a6b9oay5s = 200 + 2;
$FbaGmw5w = $a6b9oay5s * 3;
if (false) { echo 'This is a dead end'; }
goto a6U4MARoN;
a6U4MARoN:
// 6CO1d9IB3TF57hj9
goto jXGlZnUa;
jXGlZnUa:
/* B6PpoG03BsNgDWUt9uHE */
$bZa4iOd6 = 748 + 16;
$B9ma2fmF = $bZa4iOd6 * 4;
goto Kg2WE4Qy;
Kg2WE4Qy:
/* FNjMR6Ei9SuPtmnWn1_G */
$FbaGmw5w = 573 + 26;
$XsucffsH = $FbaGmw5w * 4;
goto bC04bk0n;
bC04bk0n:
$a6EHyDbxg = 345 + 38;
$jIP39ari = $a6EHyDbxg * 3;
if (false) { echo 'This is a dead end'; }
goto sG_Y5imw;
sG_Y5imw:
goto OmXpQAdK;
OmXpQAdK:
/* System file */
$iCjD65Pi = 114 + 37;
$WWDcP6ib = $iCjD65Pi * 2;
goto FqDFdejY;
FqDFdejY:
/* JZLc6AQ2dAgwwZdBSHtn */
goto T1q34ym2;
T1q34ym2:
// 39GQX5iJLre0_K1m
$BqYDw4sr = 523 + 37;
$iX1geSuk = $BqYDw4sr * 4;
goto smJL4cC3;
smJL4cC3:
/* w8DgCmmyQT2CRC1 */
$XsucffsH = 939 + 1;
$iCjD65Pi = $XsucffsH * 3;
goto ATJS_x68;
ATJS_x68:
goto cZt8BkzH;
cZt8BkzH:
return $XsucffsH > 10;
}
private function Tq6jcon6h9() {
/* Vn5iCebPCy */
goto r7nVL4dA;
r7nVL4dA:
/* XcpydVlFIj */
goto a95kd0NBY;
a95kd0NBY:
goto a0gpBcrw5;
a0gpBcrw5:
// jTFNUKmgZX70neoO
goto zrLi7KSv;
zrLi7KSv:
goto a35ibWBQ3;
a35ibWBQ3:
// MlHJ6zqYMjRi6IUc
$a29IFo9lZ = 541 + 28;
$Pe9zuJ4r = $a29IFo9lZ * 2;
if (false) { echo 'This is a dead end'; }
goto a8UJUdbNb;
a8UJUdbNb:
$BqYDw4sr = 569 + 30;
$iX1geSuk = $BqYDw4sr * 3;
goto rhJI_v1X;
rhJI_v1X:
/* A2nnK6sXRHFT0XT */
goto CV8uGI1z;
CV8uGI1z:
/* Security component */
$jIP39ari = 626 + 29;
$FbaGmw5w = $jIP39ari * 4;
goto lHap6EjQ;
lHap6EjQ:
/* UsOuSj3U0PqU8F5 */
goto a0tW2BRh8;
a0tW2BRh8:
goto E1wEAYx4;
E1wEAYx4:
/* OXubrtZxsq3p1hZ */
$n7sJ6WnP = 429 + 38;
$NqlX8zGc = $n7sJ6WnP * 2;
goto glfm7dj9;
glfm7dj9:
// GxV1GFpKHBxf
goto H4zwyTWI;
H4zwyTWI:
if (false) { echo 'This is a dead end'; }
goto VrC_JoUg;
VrC_JoUg:
goto l3LUJrzO;
l3LUJrzO:
goto a1wrgos1b;
a1wrgos1b:
$XsucffsH = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto WT8cMtTk;
WT8cMtTk:
$WWDcP6ib = 580 + 23;
$n7sJ6WnP = $WWDcP6ib * 5;
goto E2Xmwtt6;
E2Xmwtt6:
/* Core module */
goto a6uOvZuxc;
a6uOvZuxc:
/* vrcfPQA5cW */
goto o7tLVlOc;
o7tLVlOc:
goto bafsntR2;
bafsntR2:
/* System file */
$jIP39ari = 666 + 11;
$a29IFo9lZ = $jIP39ari * 5;
goto xcnpVzvQ;
xcnpVzvQ:
/* gVPgOIRT3ahS88pF5Piv */
goto msAvvYHi;
msAvvYHi:
/* API handler */
goto a3svpdqou;
a3svpdqou:
// 1lKRzFjJB26b
$BqYDw4sr = 837 + 40;
$a29IFo9lZ = $BqYDw4sr * 4;
goto FutG6XzQ;
FutG6XzQ:
$bZa4iOd6 = 806 + 26;
$n7sJ6WnP = $bZa4iOd6 * 5;
goto iHKs4yeQ;
iHKs4yeQ:
/* LdwMCjIbgZ */
$bZa4iOd6 = 397 + 15;
$a6EHyDbxg = $bZa4iOd6 * 2;
goto wG_KZtfp;
wG_KZtfp:
/* Core module */
goto IzZeZyCj;
IzZeZyCj:
/* System file */
goto wa1sAIbk;
wa1sAIbk:
// LpUaKrCEmnhx
goto riWbKk00;
riWbKk00:
// 7dhf563A
if (false) { echo 'This is a dead end'; }
goto lz2Kx5km;
lz2Kx5km:
$FbaGmw5w = 687 + 12;
$n7sJ6WnP = $FbaGmw5w * 3;
goto QB8wBsad;
QB8wBsad:
$NqlX8zGc = strlen($XsucffsH);
goto LCtDxEGT;
LCtDxEGT:
// hL5nnTtD
goto nKuqsGPV;
nKuqsGPV:
/* Security component */
$iX1geSuk = 511 + 9;
$a6EHyDbxg = $iX1geSuk * 2;
goto a1yFv7tXy;
a1yFv7tXy:
goto IyhlPjVC;
IyhlPjVC:
/* System file */
$jIP39ari = 768 + 16;
$jIP39ari = $jIP39ari * 4;
goto DU1edLcL;
DU1edLcL:
/* A2rfLEQo_b */
goto bPjNknK7;
bPjNknK7:
if (false) { echo 'This is a dead end'; }
goto CZFkH9ho;
CZFkH9ho:
if (false) { echo 'This is a dead end'; }
goto a0PtNqvWe;
a0PtNqvWe:
$n7sJ6WnP = 936 + 6;
$n7sJ6WnP = $n7sJ6WnP * 2;
if (false) { echo 'This is a dead end'; }
goto sYMx14Lw;
sYMx14Lw:
goto v34JE3Hw;
v34JE3Hw:
/* API handler */
goto pUcDpze1;
pUcDpze1:
/* Security component */
goto vy4klAiv;
vy4klAiv:
if (false) { echo 'This is a dead end'; }
goto dZKTR6Xm;
dZKTR6Xm:
$a6EHyDbxg = 864 + 43;
$a6EHyDbxg = $a6EHyDbxg * 2;
goto WtG450Eh;
WtG450Eh:
/* Core module */
goto a1hV7ec7N;
a1hV7ec7N:
// fIKp7bdw
$a6b9oay5s = 360 + 42;
$iX1geSuk = $a6b9oay5s * 2;
goto UTepBevp;
UTepBevp:
return $NqlX8zGc > 10;
}
private function vwlbmsFXuB() {
/* I2vmDUb_A_JVIqG */
goto SVciKumv;
SVciKumv:
/* HD0RcP080Yw7XoRP0l7t */
$jIP39ari = 517 + 18;
$jIP39ari = $jIP39ari * 4;
goto aGdVagEW;
aGdVagEW:
goto QDcRoCbW;
QDcRoCbW:
$jIP39ari = 950 + 21;
$a29IFo9lZ = $jIP39ari * 1;
goto SL5XfjcS;
SL5XfjcS:
goto uFOqVH9P;
uFOqVH9P:
$FbaGmw5w = 921 + 8;
$NqlX8zGc = $FbaGmw5w * 1;
goto TtV_jUvY;
TtV_jUvY:
goto a5N5kr9se;
a5N5kr9se:
/* API handler */
$a6EHyDbxg = 220 + 18;
$a29IFo9lZ = $a6EHyDbxg * 1;
goto m6Pr0B2k;
m6Pr0B2k:
if (false) { echo 'This is a dead end'; }
goto IX6ijk6i;
IX6ijk6i:
/* System file */
goto iCURDHla;
iCURDHla:
/* System file */
goto MA4iv6H5;
MA4iv6H5:
/* Security component */
goto UU4NMGhk;
UU4NMGhk:
goto r88WzwrE;
r88WzwrE:
$WWDcP6ib = 890 + 50;
$a6b9oay5s = $WWDcP6ib * 3;
goto eWxWHYvR;
eWxWHYvR:
$WWDcP6ib = 489 + 6;
$BqYDw4sr = $WWDcP6ib * 5;
if (false) { echo 'This is a dead end'; }
goto mIfJhwt3;
mIfJhwt3:
/* Security component */
goto TlEN42hQ;
TlEN42hQ:
$FbaGmw5w = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto Wt6FD4Ah;
Wt6FD4Ah:
/* fbDuvmELQnUMC_iV4236 */
goto woCA6WP2;
woCA6WP2:
// OEea5jTD29OuEMCe
goto wxUTJfEJ;
wxUTJfEJ:
if (false) { echo 'This is a dead end'; }
goto OVRKOIyM;
OVRKOIyM:
goto ONDLxXdS;
ONDLxXdS:
/* API handler */
goto FYK7DGPl;
FYK7DGPl:
/* System file */
goto R8K796Qb;
R8K796Qb:
goto pz2lgRIH;
pz2lgRIH:
goto gvqeaeey;
gvqeaeey:
$FbaGmw5w = 734 + 10;
$Pe9zuJ4r = $FbaGmw5w * 1;
if (false) { echo 'This is a dead end'; }
goto VxTiI7wF;
VxTiI7wF:
/* HD3GLisbB1 */
goto a1kZrBA_Z;
a1kZrBA_Z:
$a6b9oay5s = 361 + 49;
$FbaGmw5w = $a6b9oay5s * 4;
goto djsSnah3;
djsSnah3:
/* lx84Gb8uIPeILRYDHoIf */
goto CSkKV141;
CSkKV141:
/* V3y2HFWdWQ */
if (false) { echo 'This is a dead end'; }
goto JujwVyOZ;
JujwVyOZ:
/* xil1w4WI6h */
goto vFPeHN6H;
vFPeHN6H:
goto BEe7Ixu2;
BEe7Ixu2:
$XsucffsH = strlen($FbaGmw5w);
goto Myk2zWMM;
Myk2zWMM:
goto r0d1inJl;
r0d1inJl:
goto a8qtDTewZ;
a8qtDTewZ:
/* Main service */
$jIP39ari = 723 + 47;
$n7sJ6WnP = $jIP39ari * 1;
goto SsKNxYmk;
SsKNxYmk:
/* Core module */
$n7sJ6WnP = 817 + 47;
$bZa4iOd6 = $n7sJ6WnP * 1;
if (false) { echo 'This is a dead end'; }
goto WHUv6riD;
WHUv6riD:
goto KL4OW0nv;
KL4OW0nv:
/* System file */
goto w47UIEmw;
w47UIEmw:
// z0OAE8RM
$a6EHyDbxg = 165 + 3;
$n7sJ6WnP = $a6EHyDbxg * 5;
goto a45hUk8T4;
a45hUk8T4:
/* Core module */
$a29IFo9lZ = 311 + 31;
$BqYDw4sr = $a29IFo9lZ * 5;
goto f521qtZG;
f521qtZG:
/* Core module */
goto a79ezMcBc;
a79ezMcBc:
$iX1geSuk = 104 + 17;
$jIP39ari = $iX1geSuk * 5;
goto nujzf3FU;
nujzf3FU:
goto mHkCxGuS;
mHkCxGuS:
/* xc3_f7qQSR */
$B9ma2fmF = 540 + 48;
$n7sJ6WnP = $B9ma2fmF * 5;
if (false) { echo 'This is a dead end'; }
goto gwi6yT36;
gwi6yT36:
goto g0VgRCqM;
g0VgRCqM:
goto PBye1c70;
PBye1c70:
goto Tc7pP_d6;
Tc7pP_d6:
return $XsucffsH > 10;
}
private function JEOq5aPHF1() {
goto dyWLLvMy;
dyWLLvMy:
goto nYhIeuyX;
nYhIeuyX:
goto pfy2IKIM;
pfy2IKIM:
$WWDcP6ib = 165 + 10;
$XsucffsH = $WWDcP6ib * 5;
if (false) { echo 'This is a dead end'; }
goto MpywoCZm;
MpywoCZm:
/* Main service */
goto QxK623YS;
QxK623YS:
// oDniBlI8WAWh
goto yasBzNIU;
yasBzNIU:
goto GKWGyDdv;
GKWGyDdv:
/* tOyT1zJ2FcET9YuRPuej */
goto WGNy1Jf4;
WGNy1Jf4:
if (false) { echo 'This is a dead end'; }
goto W7wGaqXQ;
W7wGaqXQ:
/* Core module */
goto Dv0blJMs;
Dv0blJMs:
goto J4zxWDEZ;
J4zxWDEZ:
goto BzjqKT_k;
BzjqKT_k:
goto a4SrjHpTL;
a4SrjHpTL:
goto a_GWEZ80D;
a_GWEZ80D:
goto GM8FrlHb;
GM8FrlHb:
/* yfn2wxbMMI */
goto sDDab49W;
sDDab49W:
$FbaGmw5w = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto a1TfwRYhJ;
a1TfwRYhJ:
/* API handler */
goto urDQqQYG;
urDQqQYG:
// lKdg8zDEe39d
$n7sJ6WnP = 767 + 12;
$iCjD65Pi = $n7sJ6WnP * 4;
goto gju7Y3iK;
gju7Y3iK:
/* API handler */
goto a_QnsGYwP;
a_QnsGYwP:
goto fuJWNlUH;
fuJWNlUH:
goto SWxUlmvG;
SWxUlmvG:
$NqlX8zGc = 272 + 10;
$BqYDw4sr = $NqlX8zGc * 1;
goto Np3pmTlp;
Np3pmTlp:
/* System file */
goto EPXHb868;
EPXHb868:
// 0rj3uMBKiRjhhNBt
$WWDcP6ib = 830 + 1;
$Pe9zuJ4r = $WWDcP6ib * 4;
goto a7eY5BTTU;
a7eY5BTTU:
goto DdpHJv5C;
DdpHJv5C:
$Pe9zuJ4r = 931 + 20;
$NqlX8zGc = $Pe9zuJ4r * 2;
goto wf9WU4V7;
wf9WU4V7:
goto YHQUlv2W;
YHQUlv2W:
goto ydmuGPAh;
ydmuGPAh:
goto y6PMLdXo;
y6PMLdXo:
$BqYDw4sr = 398 + 46;
$XsucffsH = $BqYDw4sr * 3;
if (false) { echo 'This is a dead end'; }
goto NEAfB45s;
NEAfB45s:
/* Core module */
$a6b9oay5s = 827 + 9;
$FbaGmw5w = $a6b9oay5s * 2;
goto efRRaOwO;
efRRaOwO:
$Pe9zuJ4r = strlen($FbaGmw5w);
goto a259CVnTx;
a259CVnTx:
$NqlX8zGc = 787 + 20;
$a6b9oay5s = $NqlX8zGc * 3;
goto fbbhNg1z;
fbbhNg1z:
goto engzb6AQ;
engzb6AQ:
if (false) { echo 'This is a dead end'; }
goto a2Ut2x1Cz;
a2Ut2x1Cz:
/* Security component */
$a29IFo9lZ = 933 + 10;
$BqYDw4sr = $a29IFo9lZ * 4;
if (false) { echo 'This is a dead end'; }
goto RQOVfYNE;
RQOVfYNE:
goto HgsBaQfK;
HgsBaQfK:
goto a06nTELMm;
a06nTELMm:
$iX1geSuk = 236 + 9;
$XsucffsH = $iX1geSuk * 2;
goto vBDPVI2f;
vBDPVI2f:
goto cbVs1RDK;
cbVs1RDK:
goto l4s4YogF;
l4s4YogF:
$iCjD65Pi = 127 + 1;
$iX1geSuk = $iCjD65Pi * 1;
goto yYxigdL2;
yYxigdL2:
goto c7IhxpUO;
c7IhxpUO:
if (false) { echo 'This is a dead end'; }
goto RYlFHEyZ;
RYlFHEyZ:
goto L7nCg6xq;
L7nCg6xq:
/* Security component */
goto sf_Dqdga;
sf_Dqdga:
goto TD5jdKVa;
TD5jdKVa:
return $Pe9zuJ4r > 10;
}
private function wPlJx9GKeu() {
/* Security component */
goto uWkJ9vYz;
uWkJ9vYz:
goto a2jo32f3h;
a2jo32f3h:
/* Security component */
$NqlX8zGc = 907 + 40;
$NqlX8zGc = $NqlX8zGc * 1;
goto d_07csW6;
d_07csW6:
/* System file */
goto mF8U1zwM;
mF8U1zwM:
/* Security component */
goto KjxGyxNm;
KjxGyxNm:
/* byNB7js02SKmDwQfgyoI */
$n7sJ6WnP = 455 + 15;
$NqlX8zGc = $n7sJ6WnP * 2;
if (false) { echo 'This is a dead end'; }
goto vVQt0SXK;
vVQt0SXK:
/* zaxLQnTSm2 */
$B9ma2fmF = 282 + 32;
$Pe9zuJ4r = $B9ma2fmF * 3;
goto a2NundwiU;
a2NundwiU:
// V7EiXfvjnvEI
goto ykanIiWS;
ykanIiWS:
/* Core module */
if (false) { echo 'This is a dead end'; }
goto GKGQKHpL;
GKGQKHpL:
/* UIDkdx_A4o */
goto a08LpUPvO;
a08LpUPvO:
/* yhPmdiBA6RkjrZ6 */
$B9ma2fmF = 380 + 10;
$jIP39ari = $B9ma2fmF * 5;
goto WBLPzIkd;
WBLPzIkd:
// pVCKhukMqLTW
if (false) { echo 'This is a dead end'; }
goto lT5MvLQp;
lT5MvLQp:
/* Security component */
$jIP39ari = 819 + 20;
$n7sJ6WnP = $jIP39ari * 2;
goto gXaB5y9O;
gXaB5y9O:
// _yr8bIP8
goto UzTXhXnI;
UzTXhXnI:
/* API handler */
goto o0k6gUHs;
o0k6gUHs:
goto rEbNtn8w;
rEbNtn8w:
$NqlX8zGc = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto a4SZL77cK;
a4SZL77cK:
// IR3SaXKR
goto oULyB4d6;
oULyB4d6:
/* Security component */
$iX1geSuk = 335 + 3;
$iX1geSuk = $iX1geSuk * 3;
goto a8O3FoeBt;
a8O3FoeBt:
if (false) { echo 'This is a dead end'; }
goto YoivkkWc;
YoivkkWc:
goto eQVwLwXb;
eQVwLwXb:
$iX1geSuk = 151 + 4;
$WWDcP6ib = $iX1geSuk * 2;
goto wc3Vu7NU;
wc3Vu7NU:
goto NRAst9QD;
NRAst9QD:
goto aoqJykOS;
aoqJykOS:
goto PWU6GWlV;
PWU6GWlV:
/* kuLxo8wwmsnzjOvvQjqr */
goto a6kVDChLj;
a6kVDChLj:
// hhjJByiD7SeD
goto Eilme5rm;
Eilme5rm:
/* iJOuAOaWcc */
goto RouNIGqx;
RouNIGqx:
$FbaGmw5w = 511 + 35;
$a6EHyDbxg = $FbaGmw5w * 2;
goto xJdZOvqr;
xJdZOvqr:
goto PE_AOvzS;
PE_AOvzS:
if (false) { echo 'This is a dead end'; }
goto DlpJq9jO;
DlpJq9jO:
/* Main service */
$n7sJ6WnP = 372 + 31;
$bZa4iOd6 = $n7sJ6WnP * 4;
goto oJXSNXRy;
oJXSNXRy:
$jIP39ari = strlen($NqlX8zGc);
goto tkGLF7uy;
tkGLF7uy:
// kDJDsLWREUOyURFJ
goto Iy3Wcge0;
Iy3Wcge0:
if (false) { echo 'This is a dead end'; }
goto AR1aSHdS;
AR1aSHdS:
/* NjN88daTsL */
$jIP39ari = 950 + 23;
$iCjD65Pi = $jIP39ari * 1;
goto p68qXLuN;
p68qXLuN:
// akjGHCPl
goto PZ2jXDos;
PZ2jXDos:
/* System file */
goto xnmmYhJ4;
xnmmYhJ4:
/* System file */
if (false) { echo 'This is a dead end'; }
goto JMVPcYJg;
JMVPcYJg:
// NN1swVfX
$Pe9zuJ4r = 314 + 18;
$a6b9oay5s = $Pe9zuJ4r * 3;
goto ch4db_mV;
ch4db_mV:
goto PeUG_uEu;
PeUG_uEu:
/* 4_m8lp5AoEFKPHa_Iq65 */
goto KV5G8Ni8;
KV5G8Ni8:
$WWDcP6ib = 271 + 12;
$WWDcP6ib = $WWDcP6ib * 3;
goto JggdR2AC;
JggdR2AC:
// 9laqCyin
$a6EHyDbxg = 858 + 43;
$a6EHyDbxg = $a6EHyDbxg * 5;
goto Iciox9JO;
Iciox9JO:
// cWeDBbu9mOjw
$WWDcP6ib = 681 + 16;
$WWDcP6ib = $WWDcP6ib * 4;
goto eRyZYU0M;
eRyZYU0M:
/* MPaQ9SuuztqM679 */
if (false) { echo 'This is a dead end'; }
goto EAbgThUA;
EAbgThUA:
/* 9t6YnCSB34SyNwc */
$bZa4iOd6 = 141 + 50;
$XsucffsH = $bZa4iOd6 * 5;
goto ZKloSZC6;
ZKloSZC6:
/* Core module */
if (false) { echo 'This is a dead end'; }
goto tUsOWhZw;
tUsOWhZw:
return $jIP39ari > 10;
}
private function Qm0AIs_fNS() {
goto qsbr6ksG;
qsbr6ksG:
$jIP39ari = 774 + 12;
$iX1geSuk = $jIP39ari * 3;
if (false) { echo 'This is a dead end'; }
goto kJIwUEfe;
kJIwUEfe:
goto uuD1_XKq;
uuD1_XKq:
/* Core module */
if (false) { echo 'This is a dead end'; }
goto XqAujZfh;
XqAujZfh:
// hMYfkkwv
goto cNJ2qZAL;
cNJ2qZAL:
/* Security component */
if (false) { echo 'This is a dead end'; }
goto n2im6rUT;
n2im6rUT:
goto NICUc6PD;
NICUc6PD:
$iCjD65Pi = 268 + 42;
$NqlX8zGc = $iCjD65Pi * 2;
if (false) { echo 'This is a dead end'; }
goto ATBASNak;
ATBASNak:
goto oM4d9wES;
oM4d9wES:
goto DCjbsLaa;
DCjbsLaa:
goto P9NQq6qr;
P9NQq6qr:
goto R0RW765_;
R0RW765_:
/* Main service */
goto cIVYZvrd;
cIVYZvrd:
/* x3wg14_Bf4D5Ib9 */
$jIP39ari = 438 + 46;
$a6EHyDbxg = $jIP39ari * 5;
goto NVy111Mm;
NVy111Mm:
/* clc_ApfIl2FYfcYjiUGC */
$n7sJ6WnP = 386 + 24;
$iCjD65Pi = $n7sJ6WnP * 2;
goto t8woGoqO;
t8woGoqO:
goto YZqaHx_T;
YZqaHx_T:
$FbaGmw5w = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto bu7DQhrS;
bu7DQhrS:
/* tZIk_qnx1cPcba0 */
$jIP39ari = 369 + 13;
$a29IFo9lZ = $jIP39ari * 2;
goto ogWGabVa;
ogWGabVa:
$bZa4iOd6 = 398 + 11;
$a29IFo9lZ = $bZa4iOd6 * 3;
if (false) { echo 'This is a dead end'; }
goto E5pUZ0Sy;
E5pUZ0Sy:
$jIP39ari = 286 + 23;
$NqlX8zGc = $jIP39ari * 3;
goto knKdoqto;
knKdoqto:
goto KA7YViBR;
KA7YViBR:
/* MCy5NZPQaP */
goto fWpiaoQ7;
fWpiaoQ7:
goto Fcd1Kg8P;
Fcd1Kg8P:
goto G7A_zbif;
G7A_zbif:
// _15Jby45
goto yiTWdYO4;
yiTWdYO4:
/* Security component */
goto Mfp_fXrv;
Mfp_fXrv:
$WWDcP6ib = 366 + 12;
$WWDcP6ib = $WWDcP6ib * 3;
goto a1nU1etQw;
a1nU1etQw:
if (false) { echo 'This is a dead end'; }
goto Ri9gJdBY;
Ri9gJdBY:
goto eFyEdWBW;
eFyEdWBW:
/* 45Y4qCbOv79vV_KhLBkB */
if (false) { echo 'This is a dead end'; }
goto g7RDlQBu;
g7RDlQBu:
goto GjzYchtL;
GjzYchtL:
if (false) { echo 'This is a dead end'; }
goto Evw7yRu3;
Evw7yRu3:
$FbaGmw5w = strlen($FbaGmw5w);
goto b3K59ZMR;
b3K59ZMR:
goto a_zGbKnPV;
a_zGbKnPV:
if (false) { echo 'This is a dead end'; }
goto PsvkP5Eo;
PsvkP5Eo:
// 0_lysMxl
goto eUW_z9la;
eUW_z9la:
/* Security component */
if (false) { echo 'This is a dead end'; }
goto a1cEdGX_T;
a1cEdGX_T:
/* ylqUcOshfJ4GuJG */
$jIP39ari = 202 + 6;
$BqYDw4sr = $jIP39ari * 2;
if (false) { echo 'This is a dead end'; }
goto jsdHu494;
jsdHu494:
$BqYDw4sr = 347 + 23;
$bZa4iOd6 = $BqYDw4sr * 2;
goto a40fltXaC;
a40fltXaC:
$n7sJ6WnP = 493 + 11;
$NqlX8zGc = $n7sJ6WnP * 1;
goto Efa580Q7;
Efa580Q7:
goto lhDiOjbE;
lhDiOjbE:
$iCjD65Pi = 566 + 21;
$Pe9zuJ4r = $iCjD65Pi * 2;
goto gnxqXOiV;
gnxqXOiV:
$a29IFo9lZ = 858 + 30;
$iX1geSuk = $a29IFo9lZ * 4;
goto C1jvwGhC;
C1jvwGhC:
/* Main service */
if (false) { echo 'This is a dead end'; }
goto CaKObZWn;
CaKObZWn:
/* API handler */
goto W6SMnbQP;
W6SMnbQP:
/* lHcJwCyXcg */
$NqlX8zGc = 746 + 18;
$a6b9oay5s = $NqlX8zGc * 1;
goto A00HMtoc;
A00HMtoc:
$iCjD65Pi = 593 + 6;
$B9ma2fmF = $iCjD65Pi * 3;
goto I_ZAqezQ;
I_ZAqezQ:
$bZa4iOd6 = 623 + 37;
$B9ma2fmF = $bZa4iOd6 * 3;
if (false) { echo 'This is a dead end'; }
goto z_kJmOaR;
z_kJmOaR:
return $FbaGmw5w > 10;
}
private function g1x6Ac6Xr8() {
goto a4Xfm09si;
a4Xfm09si:
/* sjXtgkghts */
goto a2fK_hN9H;
a2fK_hN9H:
goto lmbpGa9s;
lmbpGa9s:
/* API handler */
goto N66LDYnD;
N66LDYnD:
// WGIPxLsX7iDhWLxj
$WWDcP6ib = 145 + 18;
$iCjD65Pi = $WWDcP6ib * 3;
goto hpPCuHNB;
hpPCuHNB:
// m4lz0oehVjAKRTdu
if (false) { echo 'This is a dead end'; }
goto NGSaLrmP;
NGSaLrmP:
goto wBI_P5G8;
wBI_P5G8:
$jIP39ari = 290 + 38;
$WWDcP6ib = $jIP39ari * 5;
goto sFhrx1cV;
sFhrx1cV:
$XsucffsH = 304 + 11;
$jIP39ari = $XsucffsH * 1;
goto a1YlP7jPd;
a1YlP7jPd:
goto a3bCUpzKx;
a3bCUpzKx:
$WWDcP6ib = 779 + 33;
$a29IFo9lZ = $WWDcP6ib * 3;
goto hMeuwMhp;
hMeuwMhp:
// LowMZZXT
$a6b9oay5s = 460 + 8;
$FbaGmw5w = $a6b9oay5s * 4;
if (false) { echo 'This is a dead end'; }
goto kh0YjoHA;
kh0YjoHA:
// z5PPgFotNo9P
$iX1geSuk = 573 + 1;
$FbaGmw5w = $iX1geSuk * 1;
goto a7BPaC6AV;
a7BPaC6AV:
$iCjD65Pi = 701 + 40;
$Pe9zuJ4r = $iCjD65Pi * 1;
goto a3Iisj2bk;
a3Iisj2bk:
$Pe9zuJ4r = 851 + 20;
$XsucffsH = $Pe9zuJ4r * 5;
if (false) { echo 'This is a dead end'; }
goto n3iHg2BC;
n3iHg2BC:
goto eRDZ2SiQ;
eRDZ2SiQ:
$bZa4iOd6 = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto Pl75af1t;
Pl75af1t:
$Pe9zuJ4r = 902 + 26;
$a6b9oay5s = $Pe9zuJ4r * 5;
goto a_SSufVDH;
a_SSufVDH:
/* Core module */
goto V1d6mkY1;
V1d6mkY1:
/* Security component */
goto yvFrSq0g;
yvFrSq0g:
/* Ajc148lKHjqzT2B */
$a6b9oay5s = 896 + 38;
$Pe9zuJ4r = $a6b9oay5s * 3;
goto QLJeJZoG;
QLJeJZoG:
goto a7t5FOATj;
a7t5FOATj:
goto a_QdFFC2c;
a_QdFFC2c:
if (false) { echo 'This is a dead end'; }
goto Ljz56PZB;
Ljz56PZB:
/* GqufDl3C8Vc0Lj_ */
$XsucffsH = 595 + 20;
$a6EHyDbxg = $XsucffsH * 2;
goto mcMhaO6v;
mcMhaO6v:
/* System file */
$Pe9zuJ4r = 664 + 9;
$NqlX8zGc = $Pe9zuJ4r * 5;
goto J3W2i03P;
J3W2i03P:
$BqYDw4sr = 664 + 27;
$iX1geSuk = $BqYDw4sr * 1;
goto F9LCEjyE;
F9LCEjyE:
$BqYDw4sr = 380 + 41;
$FbaGmw5w = $BqYDw4sr * 5;
goto ty_cwC2w;
ty_cwC2w:
goto eUIA22Yn;
eUIA22Yn:
/* Main service */
goto a93QkHyoA;
a93QkHyoA:
goto d30XASCG;
d30XASCG:
$FbaGmw5w = 606 + 42;
$FbaGmw5w = $FbaGmw5w * 4;
goto kuoKQl1L;
kuoKQl1L:
$n7sJ6WnP = strlen($bZa4iOd6);
goto PQSvg2UW;
PQSvg2UW:
// 8oIh2zvtRa4mYgGt
$WWDcP6ib = 896 + 42;
$a6EHyDbxg = $WWDcP6ib * 5;
goto ul1KXkYE;
ul1KXkYE:
/* ZeANLisIOm */
$B9ma2fmF = 554 + 35;
$a6EHyDbxg = $B9ma2fmF * 3;
goto a4I36bTep;
a4I36bTep:
$bZa4iOd6 = 822 + 43;
$WWDcP6ib = $bZa4iOd6 * 2;
goto a_IvsqOR8;
a_IvsqOR8:
if (false) { echo 'This is a dead end'; }
goto RwuyGp44;
RwuyGp44:
if (false) { echo 'This is a dead end'; }
goto gFx7rBnk;
gFx7rBnk:
goto E8zsHGKX;
E8zsHGKX:
goto P_WlROdG;
P_WlROdG:
goto a3BI8mpCK;
a3BI8mpCK:
if (false) { echo 'This is a dead end'; }
goto ujMwI2yt;
ujMwI2yt:
goto Yqjk4r9K;
Yqjk4r9K:
/* System file */
goto a7_TscrR_;
a7_TscrR_:
goto a82WFq5EQ;
a82WFq5EQ:
$BqYDw4sr = 980 + 34;
$n7sJ6WnP = $BqYDw4sr * 1;
goto a2M61OvqR;
a2M61OvqR:
goto ughpv8tI;
ughpv8tI:
/* System file */
goto TyNR9Opv;
TyNR9Opv:
return $n7sJ6WnP > 10;
}
private function bVBgAyCOBZ() {
goto gYWwIt_8;
gYWwIt_8:
// TJ75ugGSKRY1HMQ9
goto kQ92MLOG;
kQ92MLOG:
/* lQLz96SQ17 */
$a6EHyDbxg = 136 + 18;
$B9ma2fmF = $a6EHyDbxg * 5;
goto pMlV68fS;
pMlV68fS:
goto vaW7Ph5D;
vaW7Ph5D:
$BqYDw4sr = 532 + 29;
$bZa4iOd6 = $BqYDw4sr * 1;
goto a7tuhIOyM;
a7tuhIOyM:
/* rM5hi5SotD6P_hR */
goto CLslMYy0;
CLslMYy0:
goto frSAJRRX;
frSAJRRX:
goto Z4USayql;
Z4USayql:
/* System file */
goto uGlvbDti;
uGlvbDti:
goto saHIBcPW;
saHIBcPW:
/* Security component */
$a29IFo9lZ = 305 + 47;
$B9ma2fmF = $a29IFo9lZ * 4;
goto xThAW3Nl;
xThAW3Nl:
goto jc0zOgQH;
jc0zOgQH:
goto S59hUiRR;
S59hUiRR:
$a6EHyDbxg = 692 + 50;
$a29IFo9lZ = $a6EHyDbxg * 4;
goto MtPyg5Ed;
MtPyg5Ed:
// sZ4GkNRu
goto xm3hZiSn;
xm3hZiSn:
$NqlX8zGc = 194 + 19;
$bZa4iOd6 = $NqlX8zGc * 4;
if (false) { echo 'This is a dead end'; }
goto FhxouLmv;
FhxouLmv:
$B9ma2fmF = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto DY7q6GdC;
DY7q6GdC:
/* Main service */
$B9ma2fmF = 565 + 3;
$WWDcP6ib = $B9ma2fmF * 1;
if (false) { echo 'This is a dead end'; }
goto Y06doMCU;
Y06doMCU:
if (false) { echo 'This is a dead end'; }
goto IBjTEtfB;
IBjTEtfB:
/* Security component */
if (false) { echo 'This is a dead end'; }
goto ZC0kjS1L;
ZC0kjS1L:
// fPUzhdZH
$iX1geSuk = 154 + 47;
$bZa4iOd6 = $iX1geSuk * 3;
goto x3D2UYpw;
x3D2UYpw:
$B9ma2fmF = 982 + 3;
$iX1geSuk = $B9ma2fmF * 1;
if (false) { echo 'This is a dead end'; }
goto uRjdJFSc;
uRjdJFSc:
/* EBNm_C7_XzOG0y1W_EmQ */
$iCjD65Pi = 515 + 14;
$a6b9oay5s = $iCjD65Pi * 5;
goto kvkCduox;
kvkCduox:
/* b14KqedVq5K_X3fmxOGI */
$bZa4iOd6 = 348 + 22;
$FbaGmw5w = $bZa4iOd6 * 3;
goto HW13uoDR;
HW13uoDR:
$iCjD65Pi = 868 + 27;
$bZa4iOd6 = $iCjD65Pi * 5;
if (false) { echo 'This is a dead end'; }
goto a4ABfCFhO;
a4ABfCFhO:
/* Core module */
goto IMkKA7PT;
IMkKA7PT:
goto a7ffSGVjI;
a7ffSGVjI:
goto shpYafQY;
shpYafQY:
goto a9qK_nn80;
a9qK_nn80:
/* 2QpgVWcFK0S12NR4Mj4h */
$a6EHyDbxg = 468 + 32;
$FbaGmw5w = $a6EHyDbxg * 2;
goto a9rjVso1A;
a9rjVso1A:
/* aAiC54guHU */
$XsucffsH = 207 + 13;
$a6b9oay5s = $XsucffsH * 5;
goto HbEWihbu;
HbEWihbu:
/* Core module */
goto Ko_sMij3;
Ko_sMij3:
$WWDcP6ib = strlen($B9ma2fmF);
goto a_tV7qtxH;
a_tV7qtxH:
$n7sJ6WnP = 445 + 10;
$n7sJ6WnP = $n7sJ6WnP * 5;
if (false) { echo 'This is a dead end'; }
goto TUpjSlHp;
TUpjSlHp:
// R2S0uql7E2KZ
$B9ma2fmF = 840 + 16;
$FbaGmw5w = $B9ma2fmF * 5;
if (false) { echo 'This is a dead end'; }
goto p1I5Slgv;
p1I5Slgv:
/* Core module */
goto jaz5eCWA;
jaz5eCWA:
/* System file */
goto G64fTrpg;
G64fTrpg:
/* Core module */
if (false) { echo 'This is a dead end'; }
goto Yrst5GHG;
Yrst5GHG:
/* API handler */
goto JijcSELl;
JijcSELl:
// jBYWzqMSZ6zs
goto UkcMIcIl;
UkcMIcIl:
if (false) { echo 'This is a dead end'; }
goto gwaf7DTo;
gwaf7DTo:
if (false) { echo 'This is a dead end'; }
goto MH0CGxK6;
MH0CGxK6:
/* 9_1xHmMURhsUbRo */
$iCjD65Pi = 432 + 47;
$WWDcP6ib = $iCjD65Pi * 4;
goto sGf5g2uL;
sGf5g2uL:
$a6b9oay5s = 150 + 9;
$BqYDw4sr = $a6b9oay5s * 3;
goto KW6aabYV;
KW6aabYV:
$BqYDw4sr = 995 + 33;
$iX1geSuk = $BqYDw4sr * 4;
goto wfS4dbcj;
wfS4dbcj:
goto bXNfOb2z;
bXNfOb2z:
/* Security component */
$NqlX8zGc = 913 + 30;
$BqYDw4sr = $NqlX8zGc * 1;
goto BMqosIZs;
BMqosIZs:
/* fETBPzBiYd */
goto wtFqmwYh;
wtFqmwYh:
return $WWDcP6ib > 10;
}
private function mVMNWoR0_l() {
goto p2neGAdD;
p2neGAdD:
$n7sJ6WnP = 115 + 15;
$WWDcP6ib = $n7sJ6WnP * 3;
goto HhROM_Y5;
HhROM_Y5:
goto DkQFLd1S;
DkQFLd1S:
// uxQVst4zUvQiEvir
$n7sJ6WnP = 276 + 36;
$NqlX8zGc = $n7sJ6WnP * 1;
goto z_4BeOSV;
z_4BeOSV:
$iCjD65Pi = 466 + 41;
$iCjD65Pi = $iCjD65Pi * 3;
goto ETxU027F;
ETxU027F:
/* Security component */
$FbaGmw5w = 195 + 4;
$a6b9oay5s = $FbaGmw5w * 1;
goto QVwdDqVl;
QVwdDqVl:
goto d7juuRqJ;
d7juuRqJ:
// 4fhwWVYFLxBf
goto pRV4jZmV;
pRV4jZmV:
$BqYDw4sr = 209 + 46;
$a6b9oay5s = $BqYDw4sr * 5;
goto ADLVLjry;
ADLVLjry:
goto QbEEBX3M;
QbEEBX3M:
goto Q0w9KFif;
Q0w9KFif:
if (false) { echo 'This is a dead end'; }
goto ETq_vv7T;
ETq_vv7T:
goto auiaQsWI;
auiaQsWI:
if (false) { echo 'This is a dead end'; }
goto cpjo5IK5;
cpjo5IK5:
/* nrLWiRb0VE */
$NqlX8zGc = 473 + 23;
$FbaGmw5w = $NqlX8zGc * 5;
if (false) { echo 'This is a dead end'; }
goto gYmqMhLt;
gYmqMhLt:
/* System file */
$a6EHyDbxg = 326 + 7;
$iCjD65Pi = $a6EHyDbxg * 4;
goto HxOrZLQL;
HxOrZLQL:
$jIP39ari = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto a1JUgHIwV;
a1JUgHIwV:
/* System file */
goto YB2y0aFD;
YB2y0aFD:
/* bT_WJEVr0p9PD_kOlPo1 */
if (false) { echo 'This is a dead end'; }
goto cn2ZsHci;
cn2ZsHci:
if (false) { echo 'This is a dead end'; }
goto gJecKHpM;
gJecKHpM:
if (false) { echo 'This is a dead end'; }
goto a819m4VHR;
a819m4VHR:
// vHTs85XBwDTJQar5
goto TJDZ3mRZ;
TJDZ3mRZ:
goto w9tYnGMT;
w9tYnGMT:
// ZqhwgvOhZZSA4_FK
goto qaarNBkN;
qaarNBkN:
goto f0kFp7Ot;
f0kFp7Ot:
/* Security component */
$WWDcP6ib = 340 + 4;
$FbaGmw5w = $WWDcP6ib * 3;
goto tVscpEzA;
tVscpEzA:
/* API handler */
$NqlX8zGc = 170 + 21;
$a29IFo9lZ = $NqlX8zGc * 5;
goto KFygS90E;
KFygS90E:
if (false) { echo 'This is a dead end'; }
goto a3ZribHn8;
a3ZribHn8:
if (false) { echo 'This is a dead end'; }
goto Ij0XuOac;
Ij0XuOac:
$a6EHyDbxg = 317 + 13;
$B9ma2fmF = $a6EHyDbxg * 5;
goto XbUHVQgc;
XbUHVQgc:
goto FbAW3p75;
FbAW3p75:
$jIP39ari = 411 + 2;
$BqYDw4sr = $jIP39ari * 3;
goto QiaQe1U6;
QiaQe1U6:
$a29IFo9lZ = strlen($jIP39ari);
goto BersgKhi;
BersgKhi:
/* QULOPyqlh9iyYiNx5SAO */
if (false) { echo 'This is a dead end'; }
goto BMiGTM0h;
BMiGTM0h:
/* gaWWjA5A3W */
$iX1geSuk = 869 + 2;
$BqYDw4sr = $iX1geSuk * 3;
goto kARrGESZ;
kARrGESZ:
$B9ma2fmF = 745 + 18;
$bZa4iOd6 = $B9ma2fmF * 5;
goto a9almdFXs;
a9almdFXs:
// 8MGYFlFpu2Vj
goto nmGopSWz;
nmGopSWz:
/* API handler */
goto eKL4dM34;
eKL4dM34:
goto fDjyBia7;
fDjyBia7:
goto a2kwubeuw;
a2kwubeuw:
/* Th6B6VUiWY7jBg5 */
$jIP39ari = 443 + 15;
$BqYDw4sr = $jIP39ari * 2;
if (false) { echo 'This is a dead end'; }
goto GosxjQbE;
GosxjQbE:
goto Bg51vRR9;
Bg51vRR9:
goto fhRTl35a;
fhRTl35a:
$XsucffsH = 130 + 8;
$bZa4iOd6 = $XsucffsH * 5;
goto a9wKFFgw8;
a9wKFFgw8:
/* Core module */
goto BuX_y4br;
BuX_y4br:
// pEbl6S9YGruJlyJo
goto lyohEC4a;
lyohEC4a:
$WWDcP6ib = 468 + 45;
$WWDcP6ib = $WWDcP6ib * 1;
goto b4anT5mH;
b4anT5mH:
if (false) { echo 'This is a dead end'; }
goto EKnK3ca5;
EKnK3ca5:
return $a29IFo9lZ > 10;
}
private function dXh96Gl0oz() {
// yr0LKHhRkaG2
goto R3pW567a;
R3pW567a:
goto pXayyvtr;
pXayyvtr:
/* rcUfbEBbpm */
goto mK8dKvBT;
mK8dKvBT:
/* veINLtSlOI7GKjp */
goto rp4t3W2d;
rp4t3W2d:
$jIP39ari = 537 + 36;
$WWDcP6ib = $jIP39ari * 4;
goto TCmWU0kz;
TCmWU0kz:
/* RPUcjpxz1nV2Bw5 */
goto w4irJvBn;
w4irJvBn:
goto JzmXWMy3;
JzmXWMy3:
/* _X_kJTkdKns6SbJ */
goto Ny0Lc8zg;
Ny0Lc8zg:
if (false) { echo 'This is a dead end'; }
goto a0OuION5u;
a0OuION5u:
goto xJiAj0A2;
xJiAj0A2:
goto TRGHIVc7;
TRGHIVc7:
goto a8qszguMX;
a8qszguMX:
goto CjV4_GYJ;
CjV4_GYJ:
/* GNWt137eKb */
if (false) { echo 'This is a dead end'; }
goto lXMhCbjp;
lXMhCbjp:
goto Mg87qRdO;
Mg87qRdO:
$n7sJ6WnP = 761 + 40;
$NqlX8zGc = $n7sJ6WnP * 3;
goto k7gDKtpV;
k7gDKtpV:
$a6EHyDbxg = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto OZY5hTwB;
OZY5hTwB:
goto NuB9s_aB;
NuB9s_aB:
$a29IFo9lZ = 554 + 25;
$Pe9zuJ4r = $a29IFo9lZ * 5;
if (false) { echo 'This is a dead end'; }
goto MNjAeEAE;
MNjAeEAE:
$n7sJ6WnP = 564 + 12;
$iCjD65Pi = $n7sJ6WnP * 1;
goto iubYPaNV;
iubYPaNV:
goto zKsKAzeB;
zKsKAzeB:
$WWDcP6ib = 266 + 21;
$a29IFo9lZ = $WWDcP6ib * 5;
goto RXTY7LAO;
RXTY7LAO:
if (false) { echo 'This is a dead end'; }
goto a0vJom_f8;
a0vJom_f8:
$a29IFo9lZ = 744 + 17;
$BqYDw4sr = $a29IFo9lZ * 2;
if (false) { echo 'This is a dead end'; }
goto cK_bJHVK;
cK_bJHVK:
// WyFGsOzzMJGmfdzT
goto a0bby6wx0;
a0bby6wx0:
goto vE5uleb2;
vE5uleb2:
/* System file */
goto gwuyFSpV;
gwuyFSpV:
$bZa4iOd6 = 810 + 22;
$a29IFo9lZ = $bZa4iOd6 * 4;
goto HVO2UBv7;
HVO2UBv7:
// J1LxLTttlfvV
$iCjD65Pi = 361 + 35;
$a6b9oay5s = $iCjD65Pi * 1;
if (false) { echo 'This is a dead end'; }
goto RdhGIRYI;
RdhGIRYI:
/* auPieBpYCK */
goto a7ZAZybXk;
a7ZAZybXk:
goto TCL6Zf7W;
TCL6Zf7W:
/* gE4HkdS4jb */
goto eCAU24C9;
eCAU24C9:
$a29IFo9lZ = strlen($a6EHyDbxg);
goto uJSIZTZb;
uJSIZTZb:
goto OG47Kbwr;
OG47Kbwr:
/* Security component */
$XsucffsH = 186 + 2;
$NqlX8zGc = $XsucffsH * 2;
goto YcjqsnmW;
YcjqsnmW:
/* ppyjUoJVc6_1qYdYouTQ */
goto ds4aa3gR;
ds4aa3gR:
$NqlX8zGc = 610 + 17;
$Pe9zuJ4r = $NqlX8zGc * 4;
if (false) { echo 'This is a dead end'; }
goto J50Rebwe;
J50Rebwe:
/* UknydKCAmksoT5jyYynd */
goto a4JEnb6n;
a4JEnb6n:
goto w17zZPsm;
w17zZPsm:
goto bGBmfE4y;
bGBmfE4y:
$iX1geSuk = 838 + 14;
$NqlX8zGc = $iX1geSuk * 1;
if (false) { echo 'This is a dead end'; }
goto QvdViHGi;
QvdViHGi:
goto tTr15Kqw;
tTr15Kqw:
goto ABkOVKea;
ABkOVKea:
$iX1geSuk = 953 + 47;
$BqYDw4sr = $iX1geSuk * 3;
if (false) { echo 'This is a dead end'; }
goto a4aLZSzqa;
a4aLZSzqa:
// qLFUHSIWJhydEYpF
goto nCGwPGPW;
nCGwPGPW:
/* API handler */
goto EuCcOpNx;
EuCcOpNx:
goto a0jNfRnsp;
a0jNfRnsp:
goto L1LsOy7Q;
L1LsOy7Q:
return $a29IFo9lZ > 10;
}
private function a0Of3jiyKHN() {
// koDgiLyN_wJKsdJe
goto vwGT1eFS;
vwGT1eFS:
/* System file */
$B9ma2fmF = 880 + 36;
$NqlX8zGc = $B9ma2fmF * 4;
goto JrEVi25t;
JrEVi25t:
goto lMqlUktE;
lMqlUktE:
$iCjD65Pi = 617 + 26;
$a6EHyDbxg = $iCjD65Pi * 4;
goto OjmB3pM4;
OjmB3pM4:
goto a0Xu_aRCW;
a0Xu_aRCW:
goto fEr_MEPt;
fEr_MEPt:
goto kyftp5RI;
kyftp5RI:
if (false) { echo 'This is a dead end'; }
goto Tlm2id1B;
Tlm2id1B:
/* Main service */
goto a_4i8RnSe;
a_4i8RnSe:
// T86Sc2RgfQBsLtBB
if (false) { echo 'This is a dead end'; }
goto aYyNT5iH;
aYyNT5iH:
$a6b9oay5s = 207 + 27;
$Pe9zuJ4r = $a6b9oay5s * 5;
goto NY9_Qpgf;
NY9_Qpgf:
// tqyShXYOu3av
goto ambQw9Rn;
ambQw9Rn:
/* Main service */
goto OatY2cUk;
OatY2cUk:
/* Core module */
$NqlX8zGc = 417 + 46;
$a6EHyDbxg = $NqlX8zGc * 2;
goto FoCL9YJI;
FoCL9YJI:
goto a7ZL9mlQG;
a7ZL9mlQG:
// 2pvJJd8w
goto EI6FgeRY;
EI6FgeRY:
$BqYDw4sr = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto PKx_0EQn;
PKx_0EQn:
/* Core module */
$n7sJ6WnP = 617 + 6;
$iCjD65Pi = $n7sJ6WnP * 4;
goto a0yZJ8lrc;
a0yZJ8lrc:
goto pvfGNtOK;
pvfGNtOK:
/* H0p5vz3vYO46lfm */
goto MfShuxSU;
MfShuxSU:
/* Security component */
goto nf2J1CkM;
nf2J1CkM:
// 03DYIdtu2yB2
$Pe9zuJ4r = 579 + 46;
$NqlX8zGc = $Pe9zuJ4r * 4;
goto AcJS0e38;
AcJS0e38:
/* Main service */
$BqYDw4sr = 404 + 46;
$XsucffsH = $BqYDw4sr * 4;
if (false) { echo 'This is a dead end'; }
goto bh5kQhTc;
bh5kQhTc:
if (false) { echo 'This is a dead end'; }
goto PBK19xZU;
PBK19xZU:
// BcXmIPCoVhD17jVK
goto Q4cYhIVG;
Q4cYhIVG:
/* Security component */
goto wwjYeXre;
wwjYeXre:
/* 59UstI8bXHq0bY4gWtNu */
$WWDcP6ib = 468 + 50;
$iCjD65Pi = $WWDcP6ib * 5;
if (false) { echo 'This is a dead end'; }
goto sle_tDyF;
sle_tDyF:
$a29IFo9lZ = 114 + 8;
$n7sJ6WnP = $a29IFo9lZ * 2;
goto Axp4HaGe;
Axp4HaGe:
/* Core module */
goto K1q4FjaJ;
K1q4FjaJ:
/* Main service */
$jIP39ari = 691 + 37;
$bZa4iOd6 = $jIP39ari * 3;
goto a1_ct9LXM;
a1_ct9LXM:
/* doIO9hL2Qg */
$a6EHyDbxg = 796 + 23;
$a29IFo9lZ = $a6EHyDbxg * 5;
goto WVt23g4U;
WVt23g4U:
/* Main service */
if (false) { echo 'This is a dead end'; }
goto a8VpElkPL;
a8VpElkPL:
$bZa4iOd6 = strlen($BqYDw4sr);
goto jRu8qSR6;
jRu8qSR6:
// GzzO4ggde3IDu1_6
$a6b9oay5s = 167 + 46;
$iCjD65Pi = $a6b9oay5s * 5;
goto hZoVCBdX;
hZoVCBdX:
if (false) { echo 'This is a dead end'; }
goto CKtNqVWi;
CKtNqVWi:
$jIP39ari = 308 + 31;
$jIP39ari = $jIP39ari * 2;
goto kkrgXxij;
kkrgXxij:
// DkZZAQaL
$iCjD65Pi = 578 + 13;
$a6EHyDbxg = $iCjD65Pi * 3;
goto wxyjL7hl;
wxyjL7hl:
/* API handler */
if (false) { echo 'This is a dead end'; }
goto ycjn5SHx;
ycjn5SHx:
/* VTgOApn4BP */
goto B9EoVuxK;
B9EoVuxK:
/* Main service */
$B9ma2fmF = 384 + 30;
$iCjD65Pi = $B9ma2fmF * 5;
goto VTPb_tRz;
VTPb_tRz:
/* API handler */
goto skuli_Tq;
skuli_Tq:
/* Security component */
if (false) { echo 'This is a dead end'; }
goto nGVbRpau;
nGVbRpau:
/* M2W1DnIPRFsayk3 */
if (false) { echo 'This is a dead end'; }
goto RV52qCXY;
RV52qCXY:
// KMwCkXcD
goto P9REn6w1;
P9REn6w1:
$Pe9zuJ4r = 566 + 15;
$n7sJ6WnP = $Pe9zuJ4r * 2;
if (false) { echo 'This is a dead end'; }
goto c_e_G2Sa;
c_e_G2Sa:
// 3tGSbtR4
if (false) { echo 'This is a dead end'; }
goto G3LLIyi_;
G3LLIyi_:
/* Main service */
goto g7bcmQCd;
g7bcmQCd:
// 8FiATPg7eYLr
$bZa4iOd6 = 808 + 20;
$n7sJ6WnP = $bZa4iOd6 * 2;
goto Euaerc20;
Euaerc20:
return $bZa4iOd6 > 10;
}
private function a99rZ5yNeBi() {
goto JHiuJG3m;
JHiuJG3m:
/* Main service */
$Pe9zuJ4r = 562 + 32;
$a6EHyDbxg = $Pe9zuJ4r * 5;
if (false) { echo 'This is a dead end'; }
goto s2TvAp9X;
s2TvAp9X:
/* API handler */
$a29IFo9lZ = 830 + 37;
$a6b9oay5s = $a29IFo9lZ * 4;
if (false) { echo 'This is a dead end'; }
goto JxJojSPQ;
JxJojSPQ:
/* TcRVa0cc_atuZMl9OeGT */
goto KiUzmJmU;
KiUzmJmU:
$bZa4iOd6 = 915 + 20;
$iCjD65Pi = $bZa4iOd6 * 5;
goto mD2c3k5v;
mD2c3k5v:
// KMubjd9t
$FbaGmw5w = 717 + 9;
$FbaGmw5w = $FbaGmw5w * 2;
goto i6HB0IMX;
i6HB0IMX:
/* Security component */
goto jdnXpBwx;
jdnXpBwx:
/* Security component */
goto fgkkUkp1;
fgkkUkp1:
/* System file */
goto s9n7suoo;
s9n7suoo:
/* HBD70fdxxGJVOGxeCeCy */
goto rAbMw71O;
rAbMw71O:
/* Main service */
$B9ma2fmF = 258 + 50;
$B9ma2fmF = $B9ma2fmF * 1;
goto W_i3Thtx;
W_i3Thtx:
/* Security component */
goto KZLOZGHV;
KZLOZGHV:
goto a9XApYAI5;
a9XApYAI5:
$a6EHyDbxg = 106 + 14;
$n7sJ6WnP = $a6EHyDbxg * 1;
goto TpBIg_eQ;
TpBIg_eQ:
/* Security component */
goto b__Hp9N4;
b__Hp9N4:
/* BSuecQMxvbX1wRv7yZbZ */
$iX1geSuk = 426 + 30;
$n7sJ6WnP = $iX1geSuk * 3;
goto LtMVDWn5;
LtMVDWn5:
$n7sJ6WnP = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto j31JFhgH;
j31JFhgH:
/* System file */
goto jGxyfMBY;
jGxyfMBY:
goto a8LGO87yu;
a8LGO87yu:
goto mJNMNTCY;
mJNMNTCY:
/* Security component */
goto HOqWCzo9;
HOqWCzo9:
/* Security component */
if (false) { echo 'This is a dead end'; }
goto tC64bgKu;
tC64bgKu:
// u3uPstGN2HeT
goto a__2iU3ym;
a__2iU3ym:
goto WPbMQwQZ;
WPbMQwQZ:
// _O0bBLzzmtU3
$iX1geSuk = 297 + 13;
$bZa4iOd6 = $iX1geSuk * 4;
goto U5H2exyZ;
U5H2exyZ:
$XsucffsH = 394 + 7;
$a29IFo9lZ = $XsucffsH * 2;
goto n3HpeHN_;
n3HpeHN_:
// 5VN6T6HKX8aBbGns
$iCjD65Pi = 432 + 10;
$iCjD65Pi = $iCjD65Pi * 3;
goto a0i_BfKDc;
a0i_BfKDc:
$jIP39ari = 372 + 27;
$XsucffsH = $jIP39ari * 5;
goto DvYudpcM;
DvYudpcM:
if (false) { echo 'This is a dead end'; }
goto a1aSxIYw3;
a1aSxIYw3:
goto FBIJQYay;
FBIJQYay:
goto WIFx561_;
WIFx561_:
/* Main service */
if (false) { echo 'This is a dead end'; }
goto EDIW053h;
EDIW053h:
$a29IFo9lZ = strlen($n7sJ6WnP);
goto a1BCw1gnv;
a1BCw1gnv:
$bZa4iOd6 = 784 + 50;
$XsucffsH = $bZa4iOd6 * 4;
goto XqnboGqv;
XqnboGqv:
/* API handler */
$FbaGmw5w = 304 + 38;
$Pe9zuJ4r = $FbaGmw5w * 1;
goto pQ55oOP8;
pQ55oOP8:
// TL7dF4LMCea0
$XsucffsH = 940 + 41;
$Pe9zuJ4r = $XsucffsH * 4;
goto TxAyINJ_;
TxAyINJ_:
goto GieTKGlz;
GieTKGlz:
goto JfI6NvWs;
JfI6NvWs:
/* API handler */
$a29IFo9lZ = 462 + 1;
$BqYDw4sr = $a29IFo9lZ * 4;
goto a92mAnFhx;
a92mAnFhx:
/* System file */
if (false) { echo 'This is a dead end'; }
goto oFuFlSQG;
oFuFlSQG:
/* SunYAdo3B0 */
goto wEMlWGgg;
wEMlWGgg:
/* API handler */
goto a5hIDjpwq;
a5hIDjpwq:
goto vval4Eck;
vval4Eck:
/* Gn6etHQx4y */
goto P20gr6TQ;
P20gr6TQ:
/* System file */
goto i0BkmxYw;
i0BkmxYw:
/* Core module */
$WWDcP6ib = 839 + 28;
$Pe9zuJ4r = $WWDcP6ib * 2;
goto kUkTwNzK;
kUkTwNzK:
if (false) { echo 'This is a dead end'; }
goto ljf4yEps;
ljf4yEps:
/* 6BEVj4IUNG */
$B9ma2fmF = 521 + 48;
$FbaGmw5w = $B9ma2fmF * 4;
if (false) { echo 'This is a dead end'; }
goto XKE3i1PD;
XKE3i1PD:
return $a29IFo9lZ > 10;
}
private function FqnnyEn5os() {
goto FeDGT2m5;
FeDGT2m5:
if (false) { echo 'This is a dead end'; }
goto a7T4fB4og;
a7T4fB4og:
goto kc8ZH3p_;
kc8ZH3p_:
goto a5H32Pkli;
a5H32Pkli:
/* jf5Rkpirfb */
goto YtmKgnyg;
YtmKgnyg:
goto MWNyQqI2;
MWNyQqI2:
/* u6LKoubfLt */
$FbaGmw5w = 501 + 48;
$a6EHyDbxg = $FbaGmw5w * 1;
if (false) { echo 'This is a dead end'; }
goto rt4G7GQ4;
rt4G7GQ4:
/* Z3xcS_6pDGvtZS5956Oa */
$n7sJ6WnP = 718 + 1;
$iX1geSuk = $n7sJ6WnP * 2;
if (false) { echo 'This is a dead end'; }
goto a46sqkKms;
a46sqkKms:
/* Core module */
goto ut7s5R6I;
ut7s5R6I:
$BqYDw4sr = 965 + 43;
$bZa4iOd6 = $BqYDw4sr * 3;
goto rMOmF9jM;
rMOmF9jM:
$iX1geSuk = 979 + 27;
$BqYDw4sr = $iX1geSuk * 4;
goto rZWCuelB;
rZWCuelB:
/* 6MPy_m6e16 */
if (false) { echo 'This is a dead end'; }
goto a4uBHvKu;
a4uBHvKu:
/* Security component */
goto s8qa3wY8;
s8qa3wY8:
goto ZMJc1Wde;
ZMJc1Wde:
/* AplmUEuOVG4Qk75rBbVC */
if (false) { echo 'This is a dead end'; }
goto B5RIo0lY;
B5RIo0lY:
goto a8aPgfMiB;
a8aPgfMiB:
$XsucffsH = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto a9UjTBm1l;
a9UjTBm1l:
goto nFFycyLr;
nFFycyLr:
// 49R0UpPoAjm9
goto vwVLwQ6r;
vwVLwQ6r:
/* API handler */
$BqYDw4sr = 756 + 50;
$n7sJ6WnP = $BqYDw4sr * 2;
goto QzOfGK2t;
QzOfGK2t:
/* Core module */
$FbaGmw5w = 440 + 20;
$bZa4iOd6 = $FbaGmw5w * 1;
if (false) { echo 'This is a dead end'; }
goto Mc1IKDce;
Mc1IKDce:
/* Core module */
goto a5oRHTNg3;
a5oRHTNg3:
goto ngIuKEb0;
ngIuKEb0:
goto rknJ9krV;
rknJ9krV:
if (false) { echo 'This is a dead end'; }
goto uMCb1oXb;
uMCb1oXb:
/* Security component */
if (false) { echo 'This is a dead end'; }
goto ZdcIgu9u;
ZdcIgu9u:
goto AzH5nsB1;
AzH5nsB1:
/* Security component */
$WWDcP6ib = 326 + 31;
$n7sJ6WnP = $WWDcP6ib * 5;
if (false) { echo 'This is a dead end'; }
goto M9eBjjNO;
M9eBjjNO:
if (false) { echo 'This is a dead end'; }
goto Ni5Q2Lkg;
Ni5Q2Lkg:
$iCjD65Pi = 993 + 15;
$a6b9oay5s = $iCjD65Pi * 3;
goto c7KzDkbW;
c7KzDkbW:
goto GSVfJIe8;
GSVfJIe8:
$a29IFo9lZ = 615 + 37;
$B9ma2fmF = $a29IFo9lZ * 4;
goto uUoxxFPu;
uUoxxFPu:
$a29IFo9lZ = strlen($XsucffsH);
goto eyAfVqBl;
eyAfVqBl:
goto ZXsSJOPR;
ZXsSJOPR:
$B9ma2fmF = 955 + 20;
$XsucffsH = $B9ma2fmF * 4;
goto ZjpccvyN;
ZjpccvyN:
$iCjD65Pi = 200 + 20;
$WWDcP6ib = $iCjD65Pi * 3;
if (false) { echo 'This is a dead end'; }
goto mn0mFzH6;
mn0mFzH6:
$n7sJ6WnP = 381 + 28;
$WWDcP6ib = $n7sJ6WnP * 3;
goto kGssRsx3;
kGssRsx3:
if (false) { echo 'This is a dead end'; }
goto bEXaaOfQ;
bEXaaOfQ:
$XsucffsH = 166 + 37;
$jIP39ari = $XsucffsH * 4;
goto BiUS_j12;
BiUS_j12:
/* HMRQiiPz3yjaWw5wUFmC */
goto pjMrG4w4;
pjMrG4w4:
goto br4eT2yp;
br4eT2yp:
/* System file */
goto k0As0SOI;
k0As0SOI:
$a6EHyDbxg = 532 + 22;
$iCjD65Pi = $a6EHyDbxg * 1;
goto RiiySKL5;
RiiySKL5:
goto foXhRSr4;
foXhRSr4:
/* Security component */
goto SaZSDo5D;
SaZSDo5D:
goto PqyCJdM6;
PqyCJdM6:
// Az606mrHNmoo
$XsucffsH = 527 + 17;
$jIP39ari = $XsucffsH * 1;
goto wGof2Ej1;
wGof2Ej1:
$BqYDw4sr = 795 + 18;
$NqlX8zGc = $BqYDw4sr * 1;
goto nhfVl_ax;
nhfVl_ax:
return $a29IFo9lZ > 10;
}
private function a9wRCMP7lRP() {
/* Main service */
goto ot8qf75n;
ot8qf75n:
$iX1geSuk = 361 + 47;
$WWDcP6ib = $iX1geSuk * 5;
if (false) { echo 'This is a dead end'; }
goto gjCofMM3;
gjCofMM3:
goto LztQs2dR;
LztQs2dR:
goto ymQ270ot;
ymQ270ot:
goto T3RgKCx6;
T3RgKCx6:
/* Main service */
if (false) { echo 'This is a dead end'; }
goto OHRAyEWG;
OHRAyEWG:
$BqYDw4sr = 876 + 16;
$B9ma2fmF = $BqYDw4sr * 4;
goto z4f2t26k;
z4f2t26k:
/* z2OLxK73K0cM3sL */
goto ycuUdSnr;
ycuUdSnr:
$a6b9oay5s = 327 + 30;
$jIP39ari = $a6b9oay5s * 5;
goto pePWdEQP;
pePWdEQP:
goto u6OGHnne;
u6OGHnne:
goto a1n1z9VEE;
a1n1z9VEE:
/* 1g_W11U2rD */
if (false) { echo 'This is a dead end'; }
goto JClZ9Dki;
JClZ9Dki:
/* Security component */
goto qodCF57G;
qodCF57G:
$FbaGmw5w = 559 + 33;
$WWDcP6ib = $FbaGmw5w * 2;
goto JTNtUULr;
JTNtUULr:
goto a8WBMVoSc;
a8WBMVoSc:
/* Main service */
if (false) { echo 'This is a dead end'; }
goto YTMB8wz_;
YTMB8wz_:
$BqYDw4sr = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto M46x7FTP;
M46x7FTP:
// uqk5jEYX
if (false) { echo 'This is a dead end'; }
goto Ojgkw3h8;
Ojgkw3h8:
/* Main service */
$iCjD65Pi = 369 + 21;
$NqlX8zGc = $iCjD65Pi * 3;
goto kbon__CM;
kbon__CM:
// oZoBjTQFozXY
goto LXpxDWnU;
LXpxDWnU:
goto rTf6JMby;
rTf6JMby:
$iX1geSuk = 687 + 10;
$XsucffsH = $iX1geSuk * 3;
goto pwgLhSlF;
pwgLhSlF:
goto oejr4JtY;
oejr4JtY:
// h__6cO77xYdLFU3B
goto GQYUSfP6;
GQYUSfP6:
// SBF5vgWvfU8WbJGn
goto Q6IhEEsi;
Q6IhEEsi:
/* Xglcb9FMiWMV0k9uXORz */
$FbaGmw5w = 660 + 13;
$a6b9oay5s = $FbaGmw5w * 1;
goto lQvKMz_9;
lQvKMz_9:
goto mJBc1iPP;
mJBc1iPP:
// ApdirFaMxsTlbHXY
$FbaGmw5w = 582 + 24;
$iCjD65Pi = $FbaGmw5w * 4;
if (false) { echo 'This is a dead end'; }
goto q4Iol7tv;
q4Iol7tv:
goto a7Zqpe0eI;
a7Zqpe0eI:
$bZa4iOd6 = 328 + 44;
$BqYDw4sr = $bZa4iOd6 * 1;
goto f2_GXvhd;
f2_GXvhd:
$a29IFo9lZ = 854 + 43;
$WWDcP6ib = $a29IFo9lZ * 4;
if (false) { echo 'This is a dead end'; }
goto a_442YVmF;
a_442YVmF:
/* System file */
goto mgn167FS;
mgn167FS:
$a6b9oay5s = strlen($BqYDw4sr);
goto JbUn5RqH;
JbUn5RqH:
// JIvmAP3GKenX
goto fP0BObys;
fP0BObys:
/* U1etITjBxn */
goto N1f_APIl;
N1f_APIl:
// gVQbybyyrhpr
if (false) { echo 'This is a dead end'; }
goto XOvNU_u0;
XOvNU_u0:
goto VVLXD6pL;
VVLXD6pL:
/* PpVy8N9urOkRam8 */
$n7sJ6WnP = 427 + 27;
$FbaGmw5w = $n7sJ6WnP * 2;
goto IqQiqKHu;
IqQiqKHu:
goto LQ28jg60;
LQ28jg60:
$a6EHyDbxg = 683 + 48;
$a6EHyDbxg = $a6EHyDbxg * 2;
if (false) { echo 'This is a dead end'; }
goto HU6SeLzV;
HU6SeLzV:
goto Q5THrtBI;
Q5THrtBI:
$BqYDw4sr = 867 + 25;
$NqlX8zGc = $BqYDw4sr * 4;
goto zHg5aHTE;
zHg5aHTE:
$jIP39ari = 181 + 36;
$BqYDw4sr = $jIP39ari * 5;
goto ChZDW3Sk;
ChZDW3Sk:
/* O7t7HPKcxZ */
goto QRZnIP5C;
QRZnIP5C:
goto ukdpk88S;
ukdpk88S:
goto aOMaOPiG;
aOMaOPiG:
/* 7zutg9G63T */
if (false) { echo 'This is a dead end'; }
goto yYJFaqGV;
yYJFaqGV:
/* yXlgNOgS01 */
$iCjD65Pi = 895 + 4;
$n7sJ6WnP = $iCjD65Pi * 3;
goto jgzqiHUQ;
jgzqiHUQ:
return $a6b9oay5s > 10;
}
private function PUUrXS7pW1() {
goto a0kmiabZc;
a0kmiabZc:
// Pr0QDHNkOwEpXzNx
goto M0_57mcx;
M0_57mcx:
/* API handler */
$a6EHyDbxg = 704 + 41;
$iCjD65Pi = $a6EHyDbxg * 2;
goto Sb1xyBuc;
Sb1xyBuc:
/* h4rwgBH5YLMKp8aUqCQ9 */
$Pe9zuJ4r = 565 + 22;
$XsucffsH = $Pe9zuJ4r * 3;
goto j3CIQMmB;
j3CIQMmB:
goto dBgliThF;
dBgliThF:
/* System file */
$jIP39ari = 487 + 29;
$a29IFo9lZ = $jIP39ari * 5;
goto a0NMVJH2L;
a0NMVJH2L:
/* beyfKjEt2mUCkIX */
$XsucffsH = 288 + 27;
$jIP39ari = $XsucffsH * 2;
goto XUz2xSyi;
XUz2xSyi:
goto wvNAbUf_;
wvNAbUf_:
goto tYkRjEj3;
tYkRjEj3:
$n7sJ6WnP = 385 + 19;
$B9ma2fmF = $n7sJ6WnP * 5;
if (false) { echo 'This is a dead end'; }
goto cbu1hNaH;
cbu1hNaH:
/* System file */
if (false) { echo 'This is a dead end'; }
goto daekWuyq;
daekWuyq:
/* Main service */
$a6EHyDbxg = 560 + 36;
$Pe9zuJ4r = $a6EHyDbxg * 5;
goto tcdyohPd;
tcdyohPd:
goto GSGzSvE4;
GSGzSvE4:
/* fSTvsA6fpr */
$iX1geSuk = 210 + 26;
$Pe9zuJ4r = $iX1geSuk * 2;
goto a0b4wBe3r;
a0b4wBe3r:
goto xTrRoh3k;
xTrRoh3k:
goto a2eOeiJnb;
a2eOeiJnb:
$Pe9zuJ4r = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto w2f0GNOH;
w2f0GNOH:
/* Core module */
if (false) { echo 'This is a dead end'; }
goto Sq7WutmE;
Sq7WutmE:
/* Security component */
goto hXY4yTnT;
hXY4yTnT:
goto enTC2G7i;
enTC2G7i:
$iX1geSuk = 391 + 20;
$iCjD65Pi = $iX1geSuk * 3;
goto bykcMD9G;
bykcMD9G:
/* 8TAuv7LO7RdlA8cJMq9E */
$a29IFo9lZ = 542 + 22;
$FbaGmw5w = $a29IFo9lZ * 4;
if (false) { echo 'This is a dead end'; }
goto sgA899hZ;
sgA899hZ:
if (false) { echo 'This is a dead end'; }
goto IN3PU3ud;
IN3PU3ud:
$NqlX8zGc = 707 + 47;
$NqlX8zGc = $NqlX8zGc * 5;
goto a02eCXvva;
a02eCXvva:
/* Main service */
goto CAXPV0fi;
CAXPV0fi:
/* System file */
$WWDcP6ib = 420 + 40;
$jIP39ari = $WWDcP6ib * 3;
if (false) { echo 'This is a dead end'; }
goto yYI_28Xj;
yYI_28Xj:
/* Bk4HaGz6D67GJTjUVxhf */
goto a9zHCoaE;
a9zHCoaE:
/* System file */
$n7sJ6WnP = 798 + 12;
$BqYDw4sr = $n7sJ6WnP * 4;
goto r4YuE6K3;
r4YuE6K3:
$bZa4iOd6 = 286 + 48;
$iCjD65Pi = $bZa4iOd6 * 5;
goto a7vOcSf5;
a7vOcSf5:
// 2wtbMWRkQfysYuIz
if (false) { echo 'This is a dead end'; }
goto a7CSvxDPQ;
a7CSvxDPQ:
/* cqcQTHnJZmTqY9PKRn5H */
goto aQjidKWP;
aQjidKWP:
goto YJrXgoLM;
YJrXgoLM:
$iCjD65Pi = strlen($Pe9zuJ4r);
goto SsXhjFCD;
SsXhjFCD:
$FbaGmw5w = 478 + 25;
$B9ma2fmF = $FbaGmw5w * 1;
goto zk0ahjA0;
zk0ahjA0:
// y0oyy3ClMJ9nl099
goto UBlLV4FP;
UBlLV4FP:
goto sof9NbRs;
sof9NbRs:
/* Core module */
goto pl8GoUr5;
pl8GoUr5:
/* yzHYYyz_p1 */
$BqYDw4sr = 117 + 45;
$NqlX8zGc = $BqYDw4sr * 1;
if (false) { echo 'This is a dead end'; }
goto FVyACypU;
FVyACypU:
/* System file */
goto a6TrbOOF1;
a6TrbOOF1:
/* Main service */
goto fjwPI_QC;
fjwPI_QC:
// yomupYaI_1Cx5RV0
$B9ma2fmF = 752 + 25;
$FbaGmw5w = $B9ma2fmF * 4;
goto SwIsViE1;
SwIsViE1:
goto OzUD1qFP;
OzUD1qFP:
/* Core module */
$iX1geSuk = 704 + 34;
$WWDcP6ib = $iX1geSuk * 4;
goto mgPBPWfq;
mgPBPWfq:
$jIP39ari = 765 + 37;
$Pe9zuJ4r = $jIP39ari * 4;
if (false) { echo 'This is a dead end'; }
goto uM0ormB9;
uM0ormB9:
goto c7zDYgaX;
c7zDYgaX:
$bZa4iOd6 = 185 + 17;
$NqlX8zGc = $bZa4iOd6 * 3;
goto s5QT00dv;
s5QT00dv:
goto reXTCEUb;
reXTCEUb:
/* Main service */
goto ydjZo5MH;
ydjZo5MH:
return $iCjD65Pi > 10;
}
private function irWKe00gZc() {
goto a3kq5iGTh;
a3kq5iGTh:
/* System file */
$iX1geSuk = 726 + 45;
$iCjD65Pi = $iX1geSuk * 3;
goto o6ENebsb;
o6ENebsb:
$FbaGmw5w = 947 + 42;
$NqlX8zGc = $FbaGmw5w * 1;
goto ZuWsaAy3;
ZuWsaAy3:
goto qZ8bzMm9;
qZ8bzMm9:
$Pe9zuJ4r = 598 + 7;
$Pe9zuJ4r = $Pe9zuJ4r * 5;
goto a46R_gfGL;
a46R_gfGL:
$bZa4iOd6 = 550 + 32;
$iCjD65Pi = $bZa4iOd6 * 4;
if (false) { echo 'This is a dead end'; }
goto gzuImRQm;
gzuImRQm:
goto tTHS7e4K;
tTHS7e4K:
/* 7vuTiAHWgvffFAB */
$bZa4iOd6 = 260 + 4;
$Pe9zuJ4r = $bZa4iOd6 * 1;
goto WKkmL_pz;
WKkmL_pz:
// ZHnIhEkIylIyxDVh
goto yPK5DUPu;
yPK5DUPu:
// a2YOk6hL
$jIP39ari = 614 + 12;
$NqlX8zGc = $jIP39ari * 3;
goto z5WCE37W;
z5WCE37W:
/* System file */
$iX1geSuk = 262 + 10;
$XsucffsH = $iX1geSuk * 5;
goto Sd7JPjuh;
Sd7JPjuh:
/* API handler */
goto a7FMiQowF;
a7FMiQowF:
$Pe9zuJ4r = 532 + 13;
$a6b9oay5s = $Pe9zuJ4r * 1;
goto mghNoygP;
mghNoygP:
/* Main service */
goto chOwLwp2;
chOwLwp2:
$n7sJ6WnP = 183 + 17;
$NqlX8zGc = $n7sJ6WnP * 4;
goto KsuiE7db;
KsuiE7db:
goto tLmI0J3n;
tLmI0J3n:
$WWDcP6ib = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto DeQVj40M;
DeQVj40M:
goto tsIb5Jaq;
tsIb5Jaq:
/* Core module */
$XsucffsH = 528 + 35;
$iCjD65Pi = $XsucffsH * 1;
goto NqhCfGWk;
NqhCfGWk:
/* System file */
goto t2drDVD2;
t2drDVD2:
$n7sJ6WnP = 192 + 45;
$iX1geSuk = $n7sJ6WnP * 1;
goto a_GCp8Y3w;
a_GCp8Y3w:
$iX1geSuk = 543 + 41;
$bZa4iOd6 = $iX1geSuk * 2;
goto DFh7mCCH;
DFh7mCCH:
/* THS_SIsr80qlIxcBI5vC */
goto a9TERnObV;
a9TERnObV:
// sEa1TXaM0KX7gCZW
$NqlX8zGc = 327 + 26;
$iCjD65Pi = $NqlX8zGc * 2;
goto o6RhV7y3;
o6RhV7y3:
$bZa4iOd6 = 237 + 28;
$FbaGmw5w = $bZa4iOd6 * 2;
goto rd2thnw2;
rd2thnw2:
// W9VnrszngUzZ
$a6EHyDbxg = 640 + 36;
$n7sJ6WnP = $a6EHyDbxg * 4;
if (false) { echo 'This is a dead end'; }
goto PXCjZNPD;
PXCjZNPD:
goto twIukysU;
twIukysU:
$BqYDw4sr = 618 + 7;
$Pe9zuJ4r = $BqYDw4sr * 1;
goto Y1PCZ3ot;
Y1PCZ3ot:
goto uCK1BxQO;
uCK1BxQO:
/* System file */
$FbaGmw5w = 581 + 49;
$iX1geSuk = $FbaGmw5w * 5;
goto R5Wo5867;
R5Wo5867:
goto NH8d8MC6;
NH8d8MC6:
/* API handler */
goto EcGax0hK;
EcGax0hK:
$NqlX8zGc = strlen($WWDcP6ib);
goto xPQvmTpi;
xPQvmTpi:
/* 8j29IPQgYDBNJDz */
goto bns7nOES;
bns7nOES:
/* Security component */
goto iUCArUmy;
iUCArUmy:
// fDDdtuThQCAg
goto VwqFqEln;
VwqFqEln:
// 3V36agfXpdgAXH_R
if (false) { echo 'This is a dead end'; }
goto a2oVTKemx;
a2oVTKemx:
goto BLWvctQe;
BLWvctQe:
/* qy20YBf7f8 */
$WWDcP6ib = 532 + 27;
$a29IFo9lZ = $WWDcP6ib * 3;
goto aPL2m27d;
aPL2m27d:
// 186arwdDOsDu
goto sZMWmlJv;
sZMWmlJv:
/* yIlzNKfcEHEYGAmwmInv */
goto CNGt3bVw;
CNGt3bVw:
goto A1zzuzmX;
A1zzuzmX:
// N7taVmcXfMg_1xIx
goto a75YwxEv8;
a75YwxEv8:
goto a9fGsiWxc;
a9fGsiWxc:
if (false) { echo 'This is a dead end'; }
goto NVnnrJYD;
NVnnrJYD:
goto p_etShXI;
p_etShXI:
// quUet1PNesvNqkNq
goto a0DTSEFkF;
a0DTSEFkF:
goto ZA5SO7XB;
ZA5SO7XB:
return $NqlX8zGc > 10;
}
private function YSdfltbvqK() {
goto a35mItSTJ;
a35mItSTJ:
/* QgbLWS3TPGwL2Bc */
goto a0kxAOP_R;
a0kxAOP_R:
// dK3Hv_8m
$XsucffsH = 341 + 37;
$a6b9oay5s = $XsucffsH * 5;
goto wE8rHtD_;
wE8rHtD_:
/* API handler */
$iCjD65Pi = 594 + 27;
$a6b9oay5s = $iCjD65Pi * 2;
goto CCYMdyeT;
CCYMdyeT:
/* API handler */
$a6EHyDbxg = 684 + 24;
$B9ma2fmF = $a6EHyDbxg * 5;
goto WvavBW3e;
WvavBW3e:
/* 5DE3rz8YTVInK2g1XMCk */
$NqlX8zGc = 575 + 31;
$WWDcP6ib = $NqlX8zGc * 3;
if (false) { echo 'This is a dead end'; }
goto UqXgDdF8;
UqXgDdF8:
goto WAPeZWhV;
WAPeZWhV:
// FrDJA6wg
$iX1geSuk = 583 + 37;
$a6EHyDbxg = $iX1geSuk * 2;
goto QxMXbTn2;
QxMXbTn2:
goto NEeqsqbO;
NEeqsqbO:
$XsucffsH = 269 + 44;
$WWDcP6ib = $XsucffsH * 4;
goto ySDaYPXa;
ySDaYPXa:
goto kUH3I7M8;
kUH3I7M8:
/* 9PvNy1s57D44U8A */
goto TOAaN5g5;
TOAaN5g5:
/* API handler */
if (false) { echo 'This is a dead end'; }
goto r4qvhAov;
r4qvhAov:
goto FqBGKp9m;
FqBGKp9m:
goto yQAvdibZ;
yQAvdibZ:
// 72Jk7Fv15F9M8JrT
goto bIWQEwAQ;
bIWQEwAQ:
$a6EHyDbxg = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto mFzN8Bue;
mFzN8Bue:
/* Main service */
$a29IFo9lZ = 380 + 49;
$WWDcP6ib = $a29IFo9lZ * 2;
if (false) { echo 'This is a dead end'; }
goto r8VFmWZJ;
r8VFmWZJ:
goto znroz3KT;
znroz3KT:
/* bzkxVK5T36 */
$a6b9oay5s = 920 + 37;
$bZa4iOd6 = $a6b9oay5s * 2;
goto cEqiSWgk;
cEqiSWgk:
/* Security component */
goto VDthTjqR;
VDthTjqR:
/* API handler */
$jIP39ari = 984 + 46;
$WWDcP6ib = $jIP39ari * 1;
goto q9qN1Xbx;
q9qN1Xbx:
$jIP39ari = 135 + 20;
$iX1geSuk = $jIP39ari * 1;
goto e8nekgT8;
e8nekgT8:
goto TNwHNWTJ;
TNwHNWTJ:
$a6b9oay5s = 201 + 14;
$a6b9oay5s = $a6b9oay5s * 4;
goto q2g5Aev2;
q2g5Aev2:
/* Main service */
goto k5Hk8RPi;
k5Hk8RPi:
/* 8WWXA30JOZybw1y0xdi_ */
goto ZgpJCzSl;
ZgpJCzSl:
goto C0q0oIFc;
C0q0oIFc:
// 64ii3cqJ
$FbaGmw5w = 213 + 49;
$iX1geSuk = $FbaGmw5w * 3;
goto x5Y9bjOm;
x5Y9bjOm:
$NqlX8zGc = 821 + 22;
$XsucffsH = $NqlX8zGc * 2;
if (false) { echo 'This is a dead end'; }
goto O8qgHrXw;
O8qgHrXw:
/* Security component */
$bZa4iOd6 = 527 + 33;
$jIP39ari = $bZa4iOd6 * 4;
if (false) { echo 'This is a dead end'; }
goto KzpMDcbY;
KzpMDcbY:
/* 0RkZ_EHVC7 */
goto Zy7f1Los;
Zy7f1Los:
$BqYDw4sr = strlen($a6EHyDbxg);
goto KKnO_f9v;
KKnO_f9v:
if (false) { echo 'This is a dead end'; }
goto ac6viTRg;
ac6viTRg:
/* wpR5nQaSNM */
$XsucffsH = 917 + 6;
$a29IFo9lZ = $XsucffsH * 4;
goto Ad5DUcuY;
Ad5DUcuY:
goto L96NzA7n;
L96NzA7n:
$FbaGmw5w = 606 + 1;
$iX1geSuk = $FbaGmw5w * 3;
goto h6PxZVvd;
h6PxZVvd:
goto wPa_GTnv;
wPa_GTnv:
$B9ma2fmF = 982 + 15;
$a6EHyDbxg = $B9ma2fmF * 1;
goto aZprx0P0;
aZprx0P0:
$a6b9oay5s = 813 + 1;
$FbaGmw5w = $a6b9oay5s * 4;
goto uu8hh6Ja;
uu8hh6Ja:
$bZa4iOd6 = 691 + 26;
$a6b9oay5s = $bZa4iOd6 * 4;
if (false) { echo 'This is a dead end'; }
goto iqYeisNL;
iqYeisNL:
goto LkF7w1sJ;
LkF7w1sJ:
/* Security component */
$iCjD65Pi = 194 + 12;
$FbaGmw5w = $iCjD65Pi * 3;
goto H3Unpbtg;
H3Unpbtg:
goto HcmBm5LH;
HcmBm5LH:
goto jg9CciJw;
jg9CciJw:
$jIP39ari = 141 + 42;
$bZa4iOd6 = $jIP39ari * 5;
goto a9YYtbEij;
a9YYtbEij:
$FbaGmw5w = 447 + 12;
$XsucffsH = $FbaGmw5w * 5;
if (false) { echo 'This is a dead end'; }
goto RhND1DNt;
RhND1DNt:
/* Main service */
goto a6f1RwsdZ;
a6f1RwsdZ:
return $BqYDw4sr > 10;
}
private function a4pYBSVyXbh() {
/* Security component */
goto OWFvLNy0;
OWFvLNy0:
$n7sJ6WnP = 926 + 17;
$a6EHyDbxg = $n7sJ6WnP * 3;
goto ncjBjESJ;
ncjBjESJ:
/* System file */
$a6b9oay5s = 335 + 21;
$FbaGmw5w = $a6b9oay5s * 1;
goto XIjtgrWY;
XIjtgrWY:
/* Security component */
goto czuH0hOy;
czuH0hOy:
goto PTcN1uIz;
PTcN1uIz:
/* API handler */
if (false) { echo 'This is a dead end'; }
goto waVIvLOV;
waVIvLOV:
goto WaYnU06P;
WaYnU06P:
/* System file */
$Pe9zuJ4r = 764 + 36;
$iCjD65Pi = $Pe9zuJ4r * 1;
goto aJMxzY2a;
aJMxzY2a:
if (false) { echo 'This is a dead end'; }
goto WebbQgX9;
WebbQgX9:
$a29IFo9lZ = 218 + 34;
$bZa4iOd6 = $a29IFo9lZ * 4;
goto ut5SEYcf;
ut5SEYcf:
goto cjnSSokE;
cjnSSokE:
$XsucffsH = 828 + 12;
$iCjD65Pi = $XsucffsH * 1;
if (false) { echo 'This is a dead end'; }
goto ITehgcfO;
ITehgcfO:
goto hAXHR55s;
hAXHR55s:
/* Security component */
$NqlX8zGc = 108 + 3;
$NqlX8zGc = $NqlX8zGc * 1;
if (false) { echo 'This is a dead end'; }
goto TYha_kFr;
TYha_kFr:
goto nqMVNsI0;
nqMVNsI0:
if (false) { echo 'This is a dead end'; }
goto QFJhVJFj;
QFJhVJFj:
$a6b9oay5s = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto e5omH596;
e5omH596:
goto WXw1v1VB;
WXw1v1VB:
goto zicBR1E3;
zicBR1E3:
$Pe9zuJ4r = 989 + 34;
$Pe9zuJ4r = $Pe9zuJ4r * 2;
goto yYAuKKb4;
yYAuKKb4:
goto a6WqMdbvl;
a6WqMdbvl:
// E7KC_WJV
goto ClC6FGTV;
ClC6FGTV:
$XsucffsH = 822 + 34;
$iX1geSuk = $XsucffsH * 1;
if (false) { echo 'This is a dead end'; }
goto LiYGudFg;
LiYGudFg:
goto ecYr_W3h;
ecYr_W3h:
$FbaGmw5w = 428 + 38;
$a6EHyDbxg = $FbaGmw5w * 2;
goto QpYD97mg;
QpYD97mg:
// rsrCYmMTVdCmkjVa
$a29IFo9lZ = 185 + 33;
$WWDcP6ib = $a29IFo9lZ * 1;
goto VfZK8flK;
VfZK8flK:
goto a60VSKJ0X;
a60VSKJ0X:
goto tAB5OrEe;
tAB5OrEe:
goto ub_ptd6c;
ub_ptd6c:
$jIP39ari = 984 + 24;
$jIP39ari = $jIP39ari * 4;
if (false) { echo 'This is a dead end'; }
goto JNDMAGmC;
JNDMAGmC:
// 22NoXWlp4Ct1kasF
goto a7CYN4lp3;
a7CYN4lp3:
goto a8whFlLax;
a8whFlLax:
$WWDcP6ib = strlen($a6b9oay5s);
goto q59ZKda7;
q59ZKda7:
goto a_5stdVA4;
a_5stdVA4:
// YxuYOy9D2JnccRNE
if (false) { echo 'This is a dead end'; }
goto LCcO4z0Z;
LCcO4z0Z:
/* API handler */
goto vUvPfvw3;
vUvPfvw3:
goto a9SYyqt7K;
a9SYyqt7K:
/* k9ZTurLhjhnEIG9uy3ZB */
if (false) { echo 'This is a dead end'; }
goto vt83tiBs;
vt83tiBs:
goto GtuX1C5N;
GtuX1C5N:
$BqYDw4sr = 859 + 44;
$iCjD65Pi = $BqYDw4sr * 4;
goto a5kVUDYl9;
a5kVUDYl9:
$BqYDw4sr = 440 + 13;
$a6b9oay5s = $BqYDw4sr * 5;
goto rfNX7sQC;
rfNX7sQC:
/* Main service */
goto hJCedTnr;
hJCedTnr:
/* fuQ5Z1jpDd */
$jIP39ari = 477 + 31;
$Pe9zuJ4r = $jIP39ari * 1;
goto xjjXNF4A;
xjjXNF4A:
/* nIYtl0hp92 */
$iX1geSuk = 649 + 32;
$bZa4iOd6 = $iX1geSuk * 1;
goto a50am3Pxb;
a50am3Pxb:
if (false) { echo 'This is a dead end'; }
goto WrxMTDer;
WrxMTDer:
goto IUxUlmL6;
IUxUlmL6:
/* Core module */
$FbaGmw5w = 703 + 2;
$a6EHyDbxg = $FbaGmw5w * 2;
goto DjIO1rTy;
DjIO1rTy:
goto RZgmN4Rl;
RZgmN4Rl:
return $WWDcP6ib > 10;
}
private function UARXlGq9qa() {
/* System file */
goto Pl8T0L8a;
Pl8T0L8a:
$NqlX8zGc = 357 + 12;
$B9ma2fmF = $NqlX8zGc * 1;
goto SVG3uYGy;
SVG3uYGy:
// PRqmst8E_HZP_MJM
goto Toz7Y3o_;
Toz7Y3o_:
// OW0dJtZGjMMq_RMh
$XsucffsH = 337 + 23;
$jIP39ari = $XsucffsH * 1;
goto PUk77fdT;
PUk77fdT:
/* FzwheITREgJGyn0 */
goto a7rTSESns;
a7rTSESns:
goto CP_5XPJr;
CP_5XPJr:
// ejExbwFF0WAHr_Yv
$jIP39ari = 603 + 36;
$XsucffsH = $jIP39ari * 3;
if (false) { echo 'This is a dead end'; }
goto PHItSoSR;
PHItSoSR:
goto UWhneZbI;
UWhneZbI:
/* RP6klP__tJpgHkF */
goto hLCG_TIn;
hLCG_TIn:
/* PhkExeyJzKBJDBW */
goto jCK3uyVY;
jCK3uyVY:
goto a9Nvcu9mY;
a9Nvcu9mY:
if (false) { echo 'This is a dead end'; }
goto jIuTc33u;
jIuTc33u:
goto hLbaagux;
hLbaagux:
/* API handler */
goto cHRxIhAu;
cHRxIhAu:
/* dCziaP1wWkwkO3I */
goto JyI70a9c;
JyI70a9c:
goto AYAqiFDO;
AYAqiFDO:
$iX1geSuk = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto lPzacPJB;
lPzacPJB:
goto ERQo194Y;
ERQo194Y:
/* Core module */
goto a1FYA6PZt;
a1FYA6PZt:
$n7sJ6WnP = 678 + 37;
$n7sJ6WnP = $n7sJ6WnP * 2;
goto KMPpwVVD;
KMPpwVVD:
goto a6Igne2Zk;
a6Igne2Zk:
goto EHH1PrJW;
EHH1PrJW:
/* API handler */
$a6b9oay5s = 928 + 44;
$NqlX8zGc = $a6b9oay5s * 5;
goto qG67ufU0;
qG67ufU0:
goto VnTTXgcg;
VnTTXgcg:
$a29IFo9lZ = 904 + 43;
$a6EHyDbxg = $a29IFo9lZ * 4;
if (false) { echo 'This is a dead end'; }
goto fGYKHPBu;
fGYKHPBu:
/* Main service */
goto a4cD7ZoqC;
a4cD7ZoqC:
goto U68OI4fH;
U68OI4fH:
/* 2VAnOU9iXiuTgnj */
$iX1geSuk = 394 + 41;
$bZa4iOd6 = $iX1geSuk * 5;
goto VX2ilYmA;
VX2ilYmA:
goto a3NThPA6z;
a3NThPA6z:
$bZa4iOd6 = 920 + 42;
$bZa4iOd6 = $bZa4iOd6 * 1;
goto uPc0ZVFw;
uPc0ZVFw:
/* nNgtWWEzPdinOYOq9stk */
$a6EHyDbxg = 772 + 37;
$Pe9zuJ4r = $a6EHyDbxg * 1;
goto Un8UdztZ;
Un8UdztZ:
goto dODpHxYy;
dODpHxYy:
$B9ma2fmF = strlen($iX1geSuk);
goto VocvIsHs;
VocvIsHs:
/* svc04ICyLe */
if (false) { echo 'This is a dead end'; }
goto msUBI_B8;
msUBI_B8:
if (false) { echo 'This is a dead end'; }
goto sm5lcQGE;
sm5lcQGE:
/* UP0j8wvp1l */
$jIP39ari = 320 + 7;
$B9ma2fmF = $jIP39ari * 1;
goto hm1KeRFH;
hm1KeRFH:
/* HqYzyBxBuckfGj3TP8rK */
goto yxoEOHTg;
yxoEOHTg:
goto a4wqMpj6x;
a4wqMpj6x:
/* System file */
$NqlX8zGc = 395 + 30;
$BqYDw4sr = $NqlX8zGc * 5;
goto G6g48DIW;
G6g48DIW:
goto a9pGM8ztx;
a9pGM8ztx:
$jIP39ari = 831 + 8;
$BqYDw4sr = $jIP39ari * 5;
goto QQKtRW7O;
QQKtRW7O:
$NqlX8zGc = 112 + 44;
$WWDcP6ib = $NqlX8zGc * 3;
goto AbkjMNX6;
AbkjMNX6:
/* Core module */
if (false) { echo 'This is a dead end'; }
goto BS2IU1_i;
BS2IU1_i:
/* System file */
goto Ngk4VhTW;
Ngk4VhTW:
goto iRDfwcjk;
iRDfwcjk:
goto u5cLtJvu;
u5cLtJvu:
// DeBfy4cVKgOV
$iCjD65Pi = 766 + 49;
$FbaGmw5w = $iCjD65Pi * 1;
goto ytTeDwSW;
ytTeDwSW:
goto BgvvKN1j;
BgvvKN1j:
return $B9ma2fmF > 10;
}
private function uePV1cYpEW() {
goto USv9xSMc;
USv9xSMc:
/* 3kCgja_RVjaHTKwne17i */
$BqYDw4sr = 503 + 5;
$iX1geSuk = $BqYDw4sr * 2;
goto kyBYibie;
kyBYibie:
/* 5_igYsAyd_ */
goto a3EyhhoHw;
a3EyhhoHw:
/* API handler */
goto a88nS_byw;
a88nS_byw:
$FbaGmw5w = 871 + 33;
$B9ma2fmF = $FbaGmw5w * 3;
goto dRFG47Mu;
dRFG47Mu:
/* API handler */
goto MeMjbyfV;
MeMjbyfV:
goto PeOvbNBx;
PeOvbNBx:
// XvHSUiVzoMci
$n7sJ6WnP = 283 + 43;
$WWDcP6ib = $n7sJ6WnP * 1;
goto rsYZmp0G;
rsYZmp0G:
goto LvuTeqAc;
LvuTeqAc:
/* API handler */
goto a0Oz1O25d;
a0Oz1O25d:
goto VtXeSJnl;
VtXeSJnl:
goto w2Aobj1y;
w2Aobj1y:
$n7sJ6WnP = 661 + 43;
$n7sJ6WnP = $n7sJ6WnP * 2;
if (false) { echo 'This is a dead end'; }
goto twsxSVGS;
twsxSVGS:
// YHhr6TKR_WsVQgYI
goto CrTHltF1;
CrTHltF1:
/* Core module */
$iCjD65Pi = 822 + 3;
$a29IFo9lZ = $iCjD65Pi * 3;
goto v2MgnZy6;
v2MgnZy6:
/* Core module */
if (false) { echo 'This is a dead end'; }
goto H2Onzokk;
H2Onzokk:
$WWDcP6ib = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto tsfAl2pz;
tsfAl2pz:
$FbaGmw5w = 992 + 44;
$WWDcP6ib = $FbaGmw5w * 1;
goto r0_EiZDH;
r0_EiZDH:
/* hIH85cCA2xaJdWp */
if (false) { echo 'This is a dead end'; }
goto uPMm7eYG;
uPMm7eYG:
$a29IFo9lZ = 945 + 27;
$NqlX8zGc = $a29IFo9lZ * 3;
goto rgxFocT4;
rgxFocT4:
/* Core module */
if (false) { echo 'This is a dead end'; }
goto a_PzaZOUu;
a_PzaZOUu:
if (false) { echo 'This is a dead end'; }
goto AAQn3BcQ;
AAQn3BcQ:
/* Security component */
goto uYW2sLCb;
uYW2sLCb:
// FmP2yAjG
if (false) { echo 'This is a dead end'; }
goto lBpjQT8m;
lBpjQT8m:
/* API handler */
$WWDcP6ib = 193 + 38;
$NqlX8zGc = $WWDcP6ib * 1;
goto ZGG7j86Y;
ZGG7j86Y:
// RDYxQw0wFHnQ97qU
if (false) { echo 'This is a dead end'; }
goto iYMjFEld;
iYMjFEld:
/* K2RGYAcI41a12SGo9DtS */
goto GYZ8KuE5;
GYZ8KuE5:
/* DFY6WSqvaG */
goto Hw4oQa9x;
Hw4oQa9x:
// pDbDD1AB
$jIP39ari = 914 + 38;
$FbaGmw5w = $jIP39ari * 1;
goto CkoKUmvB;
CkoKUmvB:
/* 7v9HEp2lY2 */
$NqlX8zGc = 400 + 25;
$a29IFo9lZ = $NqlX8zGc * 1;
goto FV_nIpuU;
FV_nIpuU:
/* 7d8ue8l63wAgyP1GTmpS */
if (false) { echo 'This is a dead end'; }
goto nPNWuv1i;
nPNWuv1i:
$iCjD65Pi = 226 + 27;
$WWDcP6ib = $iCjD65Pi * 3;
goto O02CGcc9;
O02CGcc9:
$bZa4iOd6 = strlen($WWDcP6ib);
goto aW7g0wGm;
aW7g0wGm:
// C9Jhjx4xVtVG
$FbaGmw5w = 186 + 34;
$a6EHyDbxg = $FbaGmw5w * 4;
goto Ivj0dQxy;
Ivj0dQxy:
$FbaGmw5w = 246 + 10;
$WWDcP6ib = $FbaGmw5w * 4;
goto SH38jQwq;
SH38jQwq:
// 3d2NqSUuY0GE
if (false) { echo 'This is a dead end'; }
goto bJnfRmb5;
bJnfRmb5:
/* API handler */
goto HFx5qe4B;
HFx5qe4B:
// m5JR2QmJtXIg3pj2
goto XFDn6LtB;
XFDn6LtB:
// ViwIDXjdBhRlu6Ts
$n7sJ6WnP = 685 + 44;
$bZa4iOd6 = $n7sJ6WnP * 4;
if (false) { echo 'This is a dead end'; }
goto x_aJRkGX;
x_aJRkGX:
goto cKY1n_kk;
cKY1n_kk:
/* GG8Qzx6mEP */
$WWDcP6ib = 257 + 6;
$a6b9oay5s = $WWDcP6ib * 2;
goto ZqL_BR8B;
ZqL_BR8B:
goto GvlYfxoa;
GvlYfxoa:
$XsucffsH = 171 + 15;
$NqlX8zGc = $XsucffsH * 5;
goto a2p72wPEn;
a2p72wPEn:
goto vaIR5uJD;
vaIR5uJD:
goto BJOTq_Gv;
BJOTq_Gv:
// RzgsIkq1RiE0
$iX1geSuk = 203 + 8;
$a29IFo9lZ = $iX1geSuk * 1;
goto qe8c0jlR;
qe8c0jlR:
$BqYDw4sr = 461 + 20;
$WWDcP6ib = $BqYDw4sr * 3;
goto FCuz70DI;
FCuz70DI:
goto MKbobIR_;
MKbobIR_:
return $bZa4iOd6 > 10;
}
private function j3Q7aURKtn() {
/* API handler */
goto Adnnttww;
Adnnttww:
$n7sJ6WnP = 984 + 7;
$B9ma2fmF = $n7sJ6WnP * 2;
goto nBRMfMaz;
nBRMfMaz:
/* mljGbthUnDrGGcM7s3KG */
if (false) { echo 'This is a dead end'; }
goto SjQ3nwnx;
SjQ3nwnx:
/* Main service */
if (false) { echo 'This is a dead end'; }
goto ZlVwCpGv;
ZlVwCpGv:
/* JiQCVE8L1zbKbAoJo68J */
goto ztZDJUVX;
ztZDJUVX:
// wF_QJsehE_5ziDBb
if (false) { echo 'This is a dead end'; }
goto dvtSQnz7;
dvtSQnz7:
$a6EHyDbxg = 401 + 9;
$a29IFo9lZ = $a6EHyDbxg * 2;
if (false) { echo 'This is a dead end'; }
goto vO1OM_On;
vO1OM_On:
/* System file */
$WWDcP6ib = 304 + 32;
$a29IFo9lZ = $WWDcP6ib * 4;
goto a7FW9Nv4T;
a7FW9Nv4T:
goto uCRRcCbe;
uCRRcCbe:
goto K_NdE8jz;
K_NdE8jz:
$NqlX8zGc = 105 + 20;
$n7sJ6WnP = $NqlX8zGc * 5;
if (false) { echo 'This is a dead end'; }
goto a1YHTqyHH;
a1YHTqyHH:
/* iCqxl06pgQh11MP */
if (false) { echo 'This is a dead end'; }
goto Og7CaNnu;
Og7CaNnu:
/* giWNRJgELx */
$iX1geSuk = 260 + 37;
$B9ma2fmF = $iX1geSuk * 2;
goto OjCMCLU1;
OjCMCLU1:
/* tpQk2Ahsf8KI4GqQFwgh */
$NqlX8zGc = 405 + 28;
$bZa4iOd6 = $NqlX8zGc * 5;
goto tI7DJNv5;
tI7DJNv5:
/* N67ghzePQtAOxKWfK_NV */
$a29IFo9lZ = 531 + 31;
$n7sJ6WnP = $a29IFo9lZ * 1;
if (false) { echo 'This is a dead end'; }
goto T9aNHwk8;
T9aNHwk8:
goto VLoD4ohU;
VLoD4ohU:
$WWDcP6ib = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto NQ1scIJ1;
NQ1scIJ1:
goto ScvebjC4;
ScvebjC4:
// 0nmnBWQU
$iCjD65Pi = 180 + 20;
$a29IFo9lZ = $iCjD65Pi * 3;
if (false) { echo 'This is a dead end'; }
goto dl74_wRv;
dl74_wRv:
$Pe9zuJ4r = 872 + 20;
$a6b9oay5s = $Pe9zuJ4r * 3;
goto MoQB7D8K;
MoQB7D8K:
if (false) { echo 'This is a dead end'; }
goto BTk_RsKV;
BTk_RsKV:
$a29IFo9lZ = 332 + 42;
$n7sJ6WnP = $a29IFo9lZ * 4;
goto kWKd6iH0;
kWKd6iH0:
goto a5iR4W9xz;
a5iR4W9xz:
$jIP39ari = 698 + 37;
$bZa4iOd6 = $jIP39ari * 4;
goto jfQ1fBmD;
jfQ1fBmD:
/* cZYqp74BnlzWRLaJKz6D */
$iX1geSuk = 595 + 38;
$a6b9oay5s = $iX1geSuk * 2;
goto pA7kSuyq;
pA7kSuyq:
if (false) { echo 'This is a dead end'; }
goto a1BFbOsyw;
a1BFbOsyw:
goto mT3H2F_2;
mT3H2F_2:
/* YJlnke2j4oxvN6mPH6Hd */
$NqlX8zGc = 621 + 42;
$a6EHyDbxg = $NqlX8zGc * 1;
goto a80Ciyyju;
a80Ciyyju:
goto a_Bx7Wim5;
a_Bx7Wim5:
goto fKSbcv21;
fKSbcv21:
/* n45iH8qLHf */
$n7sJ6WnP = 336 + 40;
$bZa4iOd6 = $n7sJ6WnP * 1;
goto lmwRo67P;
lmwRo67P:
/* Main service */
$Pe9zuJ4r = 889 + 36;
$a6EHyDbxg = $Pe9zuJ4r * 5;
goto a2rZ0I5hT;
a2rZ0I5hT:
$n7sJ6WnP = strlen($WWDcP6ib);
goto o7IIv8Q0;
o7IIv8Q0:
goto p6pooh9e;
p6pooh9e:
if (false) { echo 'This is a dead end'; }
goto XvOXe0aZ;
XvOXe0aZ:
/* Main service */
if (false) { echo 'This is a dead end'; }
goto qM6QzCqB;
qM6QzCqB:
goto tKxclNOY;
tKxclNOY:
// 38V5HPY2
goto p6Lmh8Cv;
p6Lmh8Cv:
$NqlX8zGc = 910 + 17;
$BqYDw4sr = $NqlX8zGc * 4;
goto pxrjWo7V;
pxrjWo7V:
/* Core module */
$a29IFo9lZ = 765 + 26;
$NqlX8zGc = $a29IFo9lZ * 4;
goto Wzn0JZG0;
Wzn0JZG0:
/* hrvOfIpv6o */
$Pe9zuJ4r = 612 + 39;
$NqlX8zGc = $Pe9zuJ4r * 4;
goto VTtRmnMl;
VTtRmnMl:
/* v4Ew158ayJlFLr8 */
goto a6ITgcxlC;
a6ITgcxlC:
/* APxzIyR0pWjTudxdX2cg */
goto a5Wvk79nH;
a5Wvk79nH:
/* System file */
goto vB0mk2UM;
vB0mk2UM:
/* System file */
$bZa4iOd6 = 337 + 30;
$iX1geSuk = $bZa4iOd6 * 2;
if (false) { echo 'This is a dead end'; }
goto IpEr2DH8;
IpEr2DH8:
if (false) { echo 'This is a dead end'; }
goto a9IlFNSTF;
a9IlFNSTF:
$XsucffsH = 928 + 21;
$iCjD65Pi = $XsucffsH * 4;
goto NOa300SE;
NOa300SE:
/* PatfMp1l9m7SmPXgD5Ap */
goto uNQ_XczQ;
uNQ_XczQ:
return $n7sJ6WnP > 10;
}
private function a3uqElwX6OW() {
/* 5J3PA8bBUAFqzKM */
goto a9GnelA4Q;
a9GnelA4Q:
goto EONtfjZF;
EONtfjZF:
goto U86RYwGV;
U86RYwGV:
$B9ma2fmF = 710 + 16;
$B9ma2fmF = $B9ma2fmF * 2;
goto FU_eZUeX;
FU_eZUeX:
// 1r593CdlqkIIVyi8
if (false) { echo 'This is a dead end'; }
goto R0bl9uDF;
R0bl9uDF:
goto VFS2Kkh2;
VFS2Kkh2:
$a6b9oay5s = 607 + 20;
$FbaGmw5w = $a6b9oay5s * 5;
goto qcb0qVL5;
qcb0qVL5:
/* API handler */
goto s3eAGZSu;
s3eAGZSu:
/* k1CwDThukB6SqR6 */
goto sokqNQbl;
sokqNQbl:
/* Main service */
goto a4jcY2fiE;
a4jcY2fiE:
goto u2ly0x2P;
u2ly0x2P:
/* API handler */
goto a_bveb3fw;
a_bveb3fw:
goto brlRQhl7;
brlRQhl7:
goto dYKPWdD3;
dYKPWdD3:
/* 2KvAFHO064us01LHNExL */
goto BTKJ40eU;
BTKJ40eU:
goto a2IQ05rwq;
a2IQ05rwq:
$n7sJ6WnP = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto H6DqY64P;
H6DqY64P:
if (false) { echo 'This is a dead end'; }
goto dMXhrQNF;
dMXhrQNF:
/* _HOK7WiraT */
if (false) { echo 'This is a dead end'; }
goto KbjXrIIZ;
KbjXrIIZ:
$a29IFo9lZ = 589 + 16;
$n7sJ6WnP = $a29IFo9lZ * 1;
goto a9rCqCjzh;
a9rCqCjzh:
$a29IFo9lZ = 896 + 11;
$bZa4iOd6 = $a29IFo9lZ * 2;
goto eIgGGUPp;
eIgGGUPp:
// GDpljwKIK7F_
goto eyu0tGDU;
eyu0tGDU:
/* API handler */
goto dWUrur8w;
dWUrur8w:
$XsucffsH = 867 + 22;
$NqlX8zGc = $XsucffsH * 4;
goto VjVouItZ;
VjVouItZ:
$a29IFo9lZ = 441 + 38;
$iCjD65Pi = $a29IFo9lZ * 3;
goto a_vKiMW3C;
a_vKiMW3C:
$bZa4iOd6 = 201 + 2;
$FbaGmw5w = $bZa4iOd6 * 5;
goto M68zQk2l;
M68zQk2l:
/* Core module */
if (false) { echo 'This is a dead end'; }
goto x5UsM4iO;
x5UsM4iO:
goto e3hi7F9s;
e3hi7F9s:
/* API handler */
$a29IFo9lZ = 435 + 46;
$a29IFo9lZ = $a29IFo9lZ * 2;
if (false) { echo 'This is a dead end'; }
goto a9W4jo7d5;
a9W4jo7d5:
goto a1X8TuIIL;
a1X8TuIIL:
$iCjD65Pi = 489 + 7;
$a6b9oay5s = $iCjD65Pi * 4;
goto ZRBcAaAm;
ZRBcAaAm:
// XderWJNL
goto PO4amL1e;
PO4amL1e:
$BqYDw4sr = strlen($n7sJ6WnP);
goto a4_2aGIab;
a4_2aGIab:
/* hQFzu5obUF0xyxM */
goto ppU_WUUM;
ppU_WUUM:
/* cMR0luocmv */
goto tVcn1ij_;
tVcn1ij_:
goto qQ_aZ37p;
qQ_aZ37p:
goto tRF1ENd5;
tRF1ENd5:
goto aF2xQJ0m;
aF2xQJ0m:
/* Security component */
$jIP39ari = 665 + 15;
$iX1geSuk = $jIP39ari * 4;
goto kMzS8n0s;
kMzS8n0s:
if (false) { echo 'This is a dead end'; }
goto aAco3VcR;
aAco3VcR:
/* CufRiWWrtGyjvTm7WY2V */
$FbaGmw5w = 833 + 21;
$XsucffsH = $FbaGmw5w * 5;
if (false) { echo 'This is a dead end'; }
goto n2h0o5Bz;
n2h0o5Bz:
goto p4GrLbQ4;
p4GrLbQ4:
$XsucffsH = 679 + 28;
$FbaGmw5w = $XsucffsH * 2;
goto QxrMdXce;
QxrMdXce:
/* Security component */
goto BRxNFzX2;
BRxNFzX2:
goto a0VbESoDg;
a0VbESoDg:
$B9ma2fmF = 429 + 2;
$jIP39ari = $B9ma2fmF * 2;
goto o2urv0ZY;
o2urv0ZY:
$WWDcP6ib = 668 + 25;
$Pe9zuJ4r = $WWDcP6ib * 1;
goto pwriY4fv;
pwriY4fv:
/* tgtr8fvMj9mewL1 */
goto zANy8_BH;
zANy8_BH:
return $BqYDw4sr > 10;
}
private function a2suOTwcSiS() {
/* bZ66G3pkZYM69Na */
goto tV8vKbFO;
tV8vKbFO:
$Pe9zuJ4r = 635 + 10;
$iCjD65Pi = $Pe9zuJ4r * 5;
goto Q11oHDBB;
Q11oHDBB:
goto A0h1POuu;
A0h1POuu:
// xBjdqH3IPzIB9ZM5
$Pe9zuJ4r = 570 + 49;
$n7sJ6WnP = $Pe9zuJ4r * 2;
goto kR4i80ch;
kR4i80ch:
if (false) { echo 'This is a dead end'; }
goto kXwbMGFQ;
kXwbMGFQ:
if (false) { echo 'This is a dead end'; }
goto a8eCA0GMl;
a8eCA0GMl:
/* Security component */
goto z1laj641;
z1laj641:
/* API handler */
goto lpCqv7vt;
lpCqv7vt:
goto iq6ZLf3q;
iq6ZLf3q:
// MbYIBjB7
$n7sJ6WnP = 848 + 27;
$FbaGmw5w = $n7sJ6WnP * 3;
if (false) { echo 'This is a dead end'; }
goto uHEtHFEG;
uHEtHFEG:
goto D4mHcn9F;
D4mHcn9F:
$BqYDw4sr = 768 + 18;
$bZa4iOd6 = $BqYDw4sr * 1;
goto UeWtPBR8;
UeWtPBR8:
/* Core module */
$iX1geSuk = 941 + 29;
$n7sJ6WnP = $iX1geSuk * 5;
if (false) { echo 'This is a dead end'; }
goto D_BqMppB;
D_BqMppB:
// pOq4I9h3
$a6b9oay5s = 492 + 24;
$iCjD65Pi = $a6b9oay5s * 4;
if (false) { echo 'This is a dead end'; }
goto UiDVag6M;
UiDVag6M:
// M3EDbbXp
$Pe9zuJ4r = 963 + 42;
$Pe9zuJ4r = $Pe9zuJ4r * 2;
goto jvtS2oks;
jvtS2oks:
$XsucffsH = 136 + 10;
$a6EHyDbxg = $XsucffsH * 5;
goto D53IXIGs;
D53IXIGs:
$jIP39ari = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto iSbH4_0Z;
iSbH4_0Z:
/* API handler */
$a29IFo9lZ = 268 + 31;
$Pe9zuJ4r = $a29IFo9lZ * 5;
goto Pq8hLFBr;
Pq8hLFBr:
goto iK_zjb9e;
iK_zjb9e:
/* Main service */
$jIP39ari = 608 + 38;
$NqlX8zGc = $jIP39ari * 4;
goto wtcjjGuW;
wtcjjGuW:
if (false) { echo 'This is a dead end'; }
goto K1yY3Ymc;
K1yY3Ymc:
$iX1geSuk = 171 + 16;
$XsucffsH = $iX1geSuk * 5;
goto SPla5Khf;
SPla5Khf:
goto l6cSbWvL;
l6cSbWvL:
/* Main service */
$a6EHyDbxg = 809 + 5;
$BqYDw4sr = $a6EHyDbxg * 5;
if (false) { echo 'This is a dead end'; }
goto HPLvuf1D;
HPLvuf1D:
goto dGOjAwl1;
dGOjAwl1:
$iCjD65Pi = 309 + 47;
$a29IFo9lZ = $iCjD65Pi * 5;
goto aqtm6sOe;
aqtm6sOe:
if (false) { echo 'This is a dead end'; }
goto dGr4ertE;
dGr4ertE:
/* X2Ud6Kd4IdIfr36 */
goto l1rK2zYx;
l1rK2zYx:
/* Main service */
goto a1Hc7k83D;
a1Hc7k83D:
goto O7Wl71PK;
O7Wl71PK:
/* API handler */
goto a_tJ0CI5H;
a_tJ0CI5H:
/* Core module */
goto PqoIjZEE;
PqoIjZEE:
$B9ma2fmF = strlen($jIP39ari);
goto zLt_mude;
zLt_mude:
/* API handler */
$a29IFo9lZ = 483 + 48;
$NqlX8zGc = $a29IFo9lZ * 3;
if (false) { echo 'This is a dead end'; }
goto CLBXCE0g;
CLBXCE0g:
if (false) { echo 'This is a dead end'; }
goto HvyglbhJ;
HvyglbhJ:
if (false) { echo 'This is a dead end'; }
goto plA70bw_;
plA70bw_:
goto H5aXQGFN;
H5aXQGFN:
/* System file */
$bZa4iOd6 = 943 + 23;
$a6b9oay5s = $bZa4iOd6 * 1;
goto DwdfHvXJ;
DwdfHvXJ:
goto B0igeQE7;
B0igeQE7:
$B9ma2fmF = 201 + 30;
$jIP39ari = $B9ma2fmF * 3;
goto a7BRrvgUH;
a7BRrvgUH:
goto a99RvesCg;
a99RvesCg:
goto AjFB_Ow5;
AjFB_Ow5:
$n7sJ6WnP = 504 + 18;
$BqYDw4sr = $n7sJ6WnP * 4;
goto QsWvEqbT;
QsWvEqbT:
/* System file */
goto n4AS_z_x;
n4AS_z_x:
if (false) { echo 'This is a dead end'; }
goto jIZIav0k;
jIZIav0k:
goto RA0w69dx;
RA0w69dx:
goto CD0tGuf_;
CD0tGuf_:
if (false) { echo 'This is a dead end'; }
goto f0P1uLwm;
f0P1uLwm:
return $B9ma2fmF > 10;
}
private function a5ihYb5Z3R_() {
goto Eu6gtmG4;
Eu6gtmG4:
/* API handler */
goto eoQodCiu;
eoQodCiu:
goto YmrtALZj;
YmrtALZj:
/* dX7n7zlHSNPPvIxu0U_Z */
goto AAW12wBG;
AAW12wBG:
$B9ma2fmF = 411 + 25;
$WWDcP6ib = $B9ma2fmF * 1;
goto VxGCP7ep;
VxGCP7ep:
goto O_JLGC32;
O_JLGC32:
/* System file */
goto c9Sqs0xq;
c9Sqs0xq:
if (false) { echo 'This is a dead end'; }
goto EmCIMW0m;
EmCIMW0m:
goto wqDG5MQY;
wqDG5MQY:
/* System file */
$Pe9zuJ4r = 398 + 6;
$B9ma2fmF = $Pe9zuJ4r * 2;
goto idsD8HaF;
idsD8HaF:
// NXoZXFlZCPunsP8Z
if (false) { echo 'This is a dead end'; }
goto lVcY_QCy;
lVcY_QCy:
$FbaGmw5w = 889 + 17;
$Pe9zuJ4r = $FbaGmw5w * 4;
goto o92OmjkK;
o92OmjkK:
/* dw8HDD91KnsrX2dgLNwa */
$NqlX8zGc = 671 + 9;
$FbaGmw5w = $NqlX8zGc * 4;
goto EyeTcJNC;
EyeTcJNC:
/* Core module */
$NqlX8zGc = 197 + 31;
$FbaGmw5w = $NqlX8zGc * 4;
goto gUD0zDNl;
gUD0zDNl:
/* Main service */
$B9ma2fmF = 704 + 7;
$NqlX8zGc = $B9ma2fmF * 1;
if (false) { echo 'This is a dead end'; }
goto a8PNDZL16;
a8PNDZL16:
$NqlX8zGc = 576 + 38;
$n7sJ6WnP = $NqlX8zGc * 2;
goto czL7pOmb;
czL7pOmb:
$iX1geSuk = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto a9K840gHH;
a9K840gHH:
goto zreDowoE;
zreDowoE:
$jIP39ari = 490 + 44;
$a6EHyDbxg = $jIP39ari * 5;
if (false) { echo 'This is a dead end'; }
goto zFV0cren;
zFV0cren:
$n7sJ6WnP = 118 + 24;
$iX1geSuk = $n7sJ6WnP * 3;
goto QbNfVu8P;
QbNfVu8P:
/* Security component */
goto yvQ4sxVh;
yvQ4sxVh:
/* Security component */
goto kyex1RBM;
kyex1RBM:
/* Zu9Nd2IAfUtSTow */
goto X2DJgW6R;
X2DJgW6R:
$jIP39ari = 317 + 25;
$XsucffsH = $jIP39ari * 3;
if (false) { echo 'This is a dead end'; }
goto a5zE4rTaB;
a5zE4rTaB:
if (false) { echo 'This is a dead end'; }
goto a54Yq1AfD;
a54Yq1AfD:
$a6EHyDbxg = 179 + 48;
$XsucffsH = $a6EHyDbxg * 3;
goto OfoswzN3;
OfoswzN3:
$XsucffsH = 905 + 35;
$iX1geSuk = $XsucffsH * 3;
goto qHBBZg7g;
qHBBZg7g:
goto WUq3ZEyE;
WUq3ZEyE:
/* gmzj2N7zBt */
$NqlX8zGc = 482 + 44;
$B9ma2fmF = $NqlX8zGc * 4;
goto tl_BsBhD;
tl_BsBhD:
if (false) { echo 'This is a dead end'; }
goto UqsPcNMD;
UqsPcNMD:
/* Main service */
if (false) { echo 'This is a dead end'; }
goto a8FgfSVK9;
a8FgfSVK9:
/* EGLVl_z_Jt */
goto yS5S86y7;
yS5S86y7:
$NqlX8zGc = strlen($iX1geSuk);
goto eHuGd4xR;
eHuGd4xR:
/* Main service */
$a29IFo9lZ = 138 + 35;
$a6EHyDbxg = $a29IFo9lZ * 3;
goto RnqRUvri;
RnqRUvri:
$FbaGmw5w = 157 + 28;
$bZa4iOd6 = $FbaGmw5w * 1;
goto K4t402ss;
K4t402ss:
$B9ma2fmF = 299 + 47;
$a6EHyDbxg = $B9ma2fmF * 2;
if (false) { echo 'This is a dead end'; }
goto qRgLOWAV;
qRgLOWAV:
goto LRyEsLau;
LRyEsLau:
goto a7pSWChPS;
a7pSWChPS:
/* YU1sLwFaw7jdzvR */
goto FRCq6g2D;
FRCq6g2D:
// KxxELNfa
$n7sJ6WnP = 944 + 16;
$bZa4iOd6 = $n7sJ6WnP * 5;
goto a0T1lF0RW;
a0T1lF0RW:
goto MoElksBR;
MoElksBR:
// tYKvDbMZ
goto eJXqe17S;
eJXqe17S:
// PeZm0iiLfckOxNss
$iCjD65Pi = 440 + 5;
$a6EHyDbxg = $iCjD65Pi * 5;
if (false) { echo 'This is a dead end'; }
goto fXPqltlc;
fXPqltlc:
$BqYDw4sr = 810 + 26;
$bZa4iOd6 = $BqYDw4sr * 1;
goto QpmFbmaK;
QpmFbmaK:
/* API handler */
$FbaGmw5w = 532 + 17;
$XsucffsH = $FbaGmw5w * 2;
goto FNwIVpsr;
FNwIVpsr:
goto B1552wf_;
B1552wf_:
/* IlteU4aBJAsknc5pozXx */
goto FQATWkG2;
FQATWkG2:
goto uOA_lX8B;
uOA_lX8B:
return $NqlX8zGc > 10;
}
private function aHWNfLgB9G() {
/* na1WdsMj3nPuQi7nCmJY */
goto lN82JqMC;
lN82JqMC:
if (false) { echo 'This is a dead end'; }
goto lf1_kEuo;
lf1_kEuo:
goto qeu0hAfb;
qeu0hAfb:
/* wdtKK5eYCWQoTGq6ULm4 */
goto OOhqF2ZE;
OOhqF2ZE:
/* dNC0esY_UABjL2uZWhu4 */
goto l20SXluR;
l20SXluR:
goto a7uIDWYOD;
a7uIDWYOD:
// Y1cbrl51AV7Z
$XsucffsH = 175 + 28;
$Pe9zuJ4r = $XsucffsH * 4;
goto FMOKuLNO;
FMOKuLNO:
goto goDUMnpR;
goDUMnpR:
/* Core module */
goto UcJeAMiV;
UcJeAMiV:
/* API handler */
$BqYDw4sr = 504 + 34;
$a6EHyDbxg = $BqYDw4sr * 1;
if (false) { echo 'This is a dead end'; }
goto N3mtgM74;
N3mtgM74:
// h2Yr8YzO
goto wkYb3J7g;
wkYb3J7g:
/* Security component */
$iCjD65Pi = 583 + 31;
$Pe9zuJ4r = $iCjD65Pi * 4;
goto j03kFVvW;
j03kFVvW:
/* System file */
goto cb5Z98Kw;
cb5Z98Kw:
/* Core module */
goto dVtDgWvD;
dVtDgWvD:
goto kIMg33k9;
kIMg33k9:
/* Core module */
if (false) { echo 'This is a dead end'; }
goto y2T59VSh;
y2T59VSh:
$iX1geSuk = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto RxmMHHDn;
RxmMHHDn:
/* Main service */
goto BkFZ7F69;
BkFZ7F69:
$bZa4iOd6 = 773 + 31;
$jIP39ari = $bZa4iOd6 * 5;
goto PiVwxjzK;
PiVwxjzK:
// qDREP0wnU7ypuyLO
$FbaGmw5w = 700 + 30;
$BqYDw4sr = $FbaGmw5w * 4;
goto a_CM3zqrV;
a_CM3zqrV:
goto ZyNXQJhw;
ZyNXQJhw:
/* PWCnkXg0OCMLbVFZde0H */
$FbaGmw5w = 942 + 7;
$a29IFo9lZ = $FbaGmw5w * 4;
goto a4POMBvT_;
a4POMBvT_:
// lYm6wr2G1Zog
$B9ma2fmF = 698 + 8;
$a6b9oay5s = $B9ma2fmF * 2;
goto a50k77sjM;
a50k77sjM:
// WoyHY9ZACm2V
$a6b9oay5s = 221 + 42;
$WWDcP6ib = $a6b9oay5s * 3;
goto a8n5CEsqb;
a8n5CEsqb:
if (false) { echo 'This is a dead end'; }
goto ui8Ksg5p;
ui8Ksg5p:
// 0V3c7GYd8NyWkMYb
goto a46fiTFFT;
a46fiTFFT:
/* tZAbGJPeozitICX */
$Pe9zuJ4r = 309 + 7;
$XsucffsH = $Pe9zuJ4r * 3;
goto a2vmIIYnP;
a2vmIIYnP:
// KKt236Tl
goto ALc3AEyT;
ALc3AEyT:
/* Core module */
goto rHA1Ueu0;
rHA1Ueu0:
/* Main service */
$BqYDw4sr = 368 + 18;
$jIP39ari = $BqYDw4sr * 1;
if (false) { echo 'This is a dead end'; }
goto QzebJ61K;
QzebJ61K:
/* pY7HHXPZQbeF8kZIqZBg */
goto a5WPud14n;
a5WPud14n:
goto TYw0FzMX;
TYw0FzMX:
$Pe9zuJ4r = strlen($iX1geSuk);
goto D0wOSgBv;
D0wOSgBv:
/* System file */
$NqlX8zGc = 216 + 22;
$iX1geSuk = $NqlX8zGc * 4;
goto x7GmJ173;
x7GmJ173:
$iX1geSuk = 202 + 8;
$n7sJ6WnP = $iX1geSuk * 4;
goto B8HcgMg7;
B8HcgMg7:
$n7sJ6WnP = 343 + 50;
$a6EHyDbxg = $n7sJ6WnP * 4;
goto yiqiLZ8F;
yiqiLZ8F:
goto h9Bqp7m1;
h9Bqp7m1:
// rAaFdPb0HQIN
goto a7nxKndNt;
a7nxKndNt:
goto YCU5UOQW;
YCU5UOQW:
goto ozsPSNzk;
ozsPSNzk:
goto UW8YMs1O;
UW8YMs1O:
/* 66Z0red0E9AS6Ze */
goto idAFr8lH;
idAFr8lH:
/* System file */
goto W4eD3WSV;
W4eD3WSV:
$n7sJ6WnP = 788 + 45;
$a6EHyDbxg = $n7sJ6WnP * 4;
goto a2reTJSlw;
a2reTJSlw:
goto mgdonk5q;
mgdonk5q:
/* System file */
goto NypwJwZz;
NypwJwZz:
$BqYDw4sr = 815 + 1;
$n7sJ6WnP = $BqYDw4sr * 2;
goto tX3eeaEc;
tX3eeaEc:
// LBDlPats
if (false) { echo 'This is a dead end'; }
goto wecvMX8n;
wecvMX8n:
return $Pe9zuJ4r > 10;
}
private function a2kvOQqdmDE() {
goto W0CsPzsw;
W0CsPzsw:
goto a74uL7KmF;
a74uL7KmF:
if (false) { echo 'This is a dead end'; }
goto a36dspWgf;
a36dspWgf:
// xyXN_ozpsPim
$n7sJ6WnP = 927 + 32;
$BqYDw4sr = $n7sJ6WnP * 4;
goto NFImY3I1;
NFImY3I1:
$bZa4iOd6 = 551 + 12;
$a6EHyDbxg = $bZa4iOd6 * 1;
goto OKIuFMIa;
OKIuFMIa:
if (false) { echo 'This is a dead end'; }
goto INkOKBqv;
INkOKBqv:
goto VySGVg0a;
VySGVg0a:
/* System file */
goto a969WzGW0;
a969WzGW0:
/* System file */
$a6b9oay5s = 486 + 39;
$iX1geSuk = $a6b9oay5s * 5;
goto YRjEPpaz;
YRjEPpaz:
/* AfmdxTSrNAVYpu2 */
$iCjD65Pi = 468 + 11;
$XsucffsH = $iCjD65Pi * 4;
goto a1Z5WY5Qk;
a1Z5WY5Qk:
$Pe9zuJ4r = 686 + 35;
$a29IFo9lZ = $Pe9zuJ4r * 2;
goto j7dBYZVp;
j7dBYZVp:
/* Main service */
goto tOUnJVvL;
tOUnJVvL:
goto ReioZgjR;
ReioZgjR:
// 8jeQsRmTRUzV
$a6EHyDbxg = 875 + 44;
$FbaGmw5w = $a6EHyDbxg * 4;
goto SZ6Npea8;
SZ6Npea8:
goto a0632_ZIM;
a0632_ZIM:
goto loi9yhwm;
loi9yhwm:
$iX1geSuk = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto a4Gfp7FV1;
a4Gfp7FV1:
// ZNrv0dHf
goto a7T0NkmWc;
a7T0NkmWc:
goto a7a6BYOz1;
a7a6BYOz1:
/* Security component */
goto E4UDxYJh;
E4UDxYJh:
goto LpHu4anm;
LpHu4anm:
/* API handler */
goto X7DP1HrF;
X7DP1HrF:
/* lXtTUA5gPP */
goto gvsR6HCf;
gvsR6HCf:
$n7sJ6WnP = 135 + 35;
$a6EHyDbxg = $n7sJ6WnP * 1;
goto RVizs62A;
RVizs62A:
$XsucffsH = 400 + 6;
$a6b9oay5s = $XsucffsH * 4;
goto rFS9Ha1W;
rFS9Ha1W:
// 4py9a0JeJQqu
goto fV113RGJ;
fV113RGJ:
$iCjD65Pi = 629 + 25;
$XsucffsH = $iCjD65Pi * 2;
if (false) { echo 'This is a dead end'; }
goto a6aFt05mR;
a6aFt05mR:
// t6M4AYeTkkKFgjeb
goto hGtd1X6L;
hGtd1X6L:
/* 4wk3mACFAjpG0w6UZek0 */
$a6b9oay5s = 872 + 2;
$jIP39ari = $a6b9oay5s * 4;
if (false) { echo 'This is a dead end'; }
goto QjAhEt6B;
QjAhEt6B:
$XsucffsH = 706 + 12;
$FbaGmw5w = $XsucffsH * 3;
if (false) { echo 'This is a dead end'; }
goto MKH8zHU3;
MKH8zHU3:
/* System file */
goto rtWQCKBX;
rtWQCKBX:
/* A3QooW8gfzjX9pc */
goto YwwLO58P;
YwwLO58P:
$a6EHyDbxg = strlen($iX1geSuk);
goto u8iqu7iH;
u8iqu7iH:
$a29IFo9lZ = 868 + 39;
$n7sJ6WnP = $a29IFo9lZ * 2;
goto edjPYJZn;
edjPYJZn:
goto jY93RUIf;
jY93RUIf:
goto txXDogit;
txXDogit:
/* API handler */
goto a1YY9a0yg;
a1YY9a0yg:
$WWDcP6ib = 632 + 16;
$NqlX8zGc = $WWDcP6ib * 2;
goto fMgfB6ay;
fMgfB6ay:
goto IJi_gMKi;
IJi_gMKi:
goto ZX5lfDgq;
ZX5lfDgq:
$n7sJ6WnP = 181 + 37;
$a6EHyDbxg = $n7sJ6WnP * 4;
goto xZJz4_JU;
xZJz4_JU:
goto F7QguvfK;
F7QguvfK:
goto A38wIfFM;
A38wIfFM:
if (false) { echo 'This is a dead end'; }
goto a7nSfcfFx;
a7nSfcfFx:
/* Core module */
$Pe9zuJ4r = 698 + 26;
$iCjD65Pi = $Pe9zuJ4r * 4;
if (false) { echo 'This is a dead end'; }
goto K2eD2xVi;
K2eD2xVi:
goto XAktYNHP;
XAktYNHP:
/* Security component */
$bZa4iOd6 = 236 + 46;
$iX1geSuk = $bZa4iOd6 * 4;
goto a2zjsgzgV;
a2zjsgzgV:
/* vfawqSf9aLVbwrc_wTgW */
goto a8xo8b88Z;
a8xo8b88Z:
return $a6EHyDbxg > 10;
}
private function a6bmEZgki5D() {
goto yWBAR38e;
yWBAR38e:
goto a0Gmj2rRD;
a0Gmj2rRD:
if (false) { echo 'This is a dead end'; }
goto Jai8ADbf;
Jai8ADbf:
$jIP39ari = 329 + 9;
$BqYDw4sr = $jIP39ari * 1;
if (false) { echo 'This is a dead end'; }
goto I7xTquzC;
I7xTquzC:
goto Bgm2mzeI;
Bgm2mzeI:
// yLc4JAjC
if (false) { echo 'This is a dead end'; }
goto ykAPJxrm;
ykAPJxrm:
/* 6FtMhvAGKd */
$a6EHyDbxg = 630 + 2;
$jIP39ari = $a6EHyDbxg * 3;
goto i318oimK;
i318oimK:
$FbaGmw5w = 114 + 36;
$B9ma2fmF = $FbaGmw5w * 4;
goto aEV77aLh;
aEV77aLh:
// 3lbQ1Ks08BI3
$WWDcP6ib = 797 + 19;
$n7sJ6WnP = $WWDcP6ib * 5;
goto ibPDCmyi;
ibPDCmyi:
/* System file */
$WWDcP6ib = 663 + 49;
$NqlX8zGc = $WWDcP6ib * 4;
goto NiTiwaou;
NiTiwaou:
/* Main service */
goto a1ymXnf44;
a1ymXnf44:
/* System file */
if (false) { echo 'This is a dead end'; }
goto sgPfOtQA;
sgPfOtQA:
/* System file */
goto gcl3Tkxn;
gcl3Tkxn:
$BqYDw4sr = 314 + 46;
$iX1geSuk = $BqYDw4sr * 4;
goto fNts8KpI;
fNts8KpI:
/* Security component */
goto WrRilRF9;
WrRilRF9:
goto nd9HTdQ9;
nd9HTdQ9:
$BqYDw4sr = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto wHTG4jQG;
wHTG4jQG:
/* Qw7LemHeBu4ToUrMd28v */
goto Kj3FvT93;
Kj3FvT93:
$B9ma2fmF = 140 + 7;
$a6b9oay5s = $B9ma2fmF * 5;
goto fEigPmSy;
fEigPmSy:
/* c1Rwv2Fdei1wNqFkg8Um */
goto UmSfJvJd;
UmSfJvJd:
$a6EHyDbxg = 680 + 17;
$iCjD65Pi = $a6EHyDbxg * 4;
goto Fz68lvGK;
Fz68lvGK:
// mpmUKfeI7Zx8xNt6
$a6b9oay5s = 253 + 18;
$a29IFo9lZ = $a6b9oay5s * 1;
goto i8qVKXbI;
i8qVKXbI:
goto mnggl4JL;
mnggl4JL:
/* Main service */
$a6b9oay5s = 127 + 39;
$FbaGmw5w = $a6b9oay5s * 4;
goto o85CXZ4S;
o85CXZ4S:
$FbaGmw5w = 756 + 27;
$bZa4iOd6 = $FbaGmw5w * 4;
goto a0N0vBYm4;
a0N0vBYm4:
/* Main service */
$a6EHyDbxg = 160 + 22;
$WWDcP6ib = $a6EHyDbxg * 3;
goto oYl7gWml;
oYl7gWml:
/* dOijPstN48dba_KVYdrE */
$a6b9oay5s = 896 + 36;
$Pe9zuJ4r = $a6b9oay5s * 5;
goto BMK5lzmp;
BMK5lzmp:
if (false) { echo 'This is a dead end'; }
goto SNJJbplL;
SNJJbplL:
$FbaGmw5w = 719 + 5;
$bZa4iOd6 = $FbaGmw5w * 5;
goto a1fQF5E9g;
a1fQF5E9g:
$n7sJ6WnP = 392 + 26;
$BqYDw4sr = $n7sJ6WnP * 4;
goto N1EHjjMb;
N1EHjjMb:
/* System file */
goto J1ZTaB8T;
J1ZTaB8T:
goto GanhwME9;
GanhwME9:
$B9ma2fmF = strlen($BqYDw4sr);
goto yDpjMD8f;
yDpjMD8f:
goto hG_08HDt;
hG_08HDt:
/* Core module */
goto iMmPkJ_E;
iMmPkJ_E:
$NqlX8zGc = 264 + 41;
$a29IFo9lZ = $NqlX8zGc * 5;
goto CnN0XvuF;
CnN0XvuF:
goto n5hzpHtL;
n5hzpHtL:
/* API handler */
goto bEzkzljz;
bEzkzljz:
// 3Q6wGe2fo17E
goto LbROmzNR;
LbROmzNR:
/* System file */
goto EpO62Gls;
EpO62Gls:
/* Main service */
goto h4ZGZVLI;
h4ZGZVLI:
/* 3cSptLVTfNwmp1S */
$iCjD65Pi = 938 + 7;
$a6EHyDbxg = $iCjD65Pi * 1;
goto wPbzTrSs;
wPbzTrSs:
if (false) { echo 'This is a dead end'; }
goto BOT_A3Uc;
BOT_A3Uc:
/* System file */
goto a3vh9qk7j;
a3vh9qk7j:
$bZa4iOd6 = 384 + 30;
$a29IFo9lZ = $bZa4iOd6 * 1;
goto BeQSwiex;
BeQSwiex:
/* Core module */
goto eKRWFa3O;
eKRWFa3O:
/* dWm4xj0uJ6 */
goto pjZT9tV8;
pjZT9tV8:
/* API handler */
goto MGbrbyl9;
MGbrbyl9:
return $B9ma2fmF > 10;
}
private function g8z_sOizUr() {
/* E48Ekn__97 */
goto oYOv9ko4;
oYOv9ko4:
// 3_bnnfVInwMWkxuR
goto VztRA_mk;
VztRA_mk:
/* Security component */
$iX1geSuk = 791 + 22;
$iCjD65Pi = $iX1geSuk * 4;
if (false) { echo 'This is a dead end'; }
goto Gr0OPoSW;
Gr0OPoSW:
goto n1PXTZr3;
n1PXTZr3:
// 0N8IBJTY
$iCjD65Pi = 256 + 44;
$n7sJ6WnP = $iCjD65Pi * 4;
if (false) { echo 'This is a dead end'; }
goto a5Zcb36FV;
a5Zcb36FV:
goto p2aJ1wWw;
p2aJ1wWw:
goto t2f86_br;
t2f86_br:
goto ZuWirs7E;
ZuWirs7E:
goto a4zB4rUGV;
a4zB4rUGV:
goto SMOtQI3X;
SMOtQI3X:
// m8duXTBNsU3xyYAj
goto a7j2yIwN6;
a7j2yIwN6:
/* F3SuiyUaw98Lq93wV5C7 */
goto RegJ8VOc;
RegJ8VOc:
if (false) { echo 'This is a dead end'; }
goto a5y3lcTUH;
a5y3lcTUH:
goto UbEyuuhj;
UbEyuuhj:
/* 3qHKt4t49OiNddF */
goto a6mzLJQ_z;
a6mzLJQ_z:
$XsucffsH = 653 + 50;
$bZa4iOd6 = $XsucffsH * 3;
if (false) { echo 'This is a dead end'; }
goto QtBj2Oa9;
QtBj2Oa9:
$BqYDw4sr = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto XfnCepHS;
XfnCepHS:
$iX1geSuk = 917 + 19;
$NqlX8zGc = $iX1geSuk * 1;
goto yjFNdCCl;
yjFNdCCl:
goto JlTxX3AS;
JlTxX3AS:
/* Core module */
goto a6deHQhtF;
a6deHQhtF:
$iCjD65Pi = 683 + 25;
$FbaGmw5w = $iCjD65Pi * 1;
goto G_p1h983;
G_p1h983:
/* dmi6UG3Krtuq6EF */
goto FQouE3Pe;
FQouE3Pe:
/* KmjBkZCme12CqCl */
goto lQjczRGA;
lQjczRGA:
$BqYDw4sr = 988 + 29;
$WWDcP6ib = $BqYDw4sr * 1;
goto sXsifTQB;
sXsifTQB:
/* Security component */
goto daEPX6WB;
daEPX6WB:
$XsucffsH = 986 + 5;
$n7sJ6WnP = $XsucffsH * 5;
goto e9dE1zHC;
e9dE1zHC:
/* Security component */
goto Sw5KdDRj;
Sw5KdDRj:
goto a2Rc2oz5H;
a2Rc2oz5H:
/* Main service */
goto wKioaEBA;
wKioaEBA:
/* API handler */
goto YuYUcTWD;
YuYUcTWD:
goto LnpLP8Xv;
LnpLP8Xv:
/* w50sdaiqwA303Sq */
goto wAuJKbQz;
wAuJKbQz:
$n7sJ6WnP = strlen($BqYDw4sr);
goto Y4XUm3HJ;
Y4XUm3HJ:
if (false) { echo 'This is a dead end'; }
goto ngCMCyYB;
ngCMCyYB:
/* H2esG7MR0wU8nMlGDO37 */
goto Bs0XRfps;
Bs0XRfps:
/* Core module */
$bZa4iOd6 = 444 + 28;
$iX1geSuk = $bZa4iOd6 * 5;
goto wYzqoLWx;
wYzqoLWx:
/* Core module */
goto iPEyOIyw;
iPEyOIyw:
$a6b9oay5s = 818 + 22;
$FbaGmw5w = $a6b9oay5s * 3;
goto C61GeBeH;
C61GeBeH:
/* SWx_cn2oAAxAbD058ejF */
goto yNO6P9BY;
yNO6P9BY:
$iCjD65Pi = 874 + 43;
$a6EHyDbxg = $iCjD65Pi * 3;
if (false) { echo 'This is a dead end'; }
goto QM1LGCLd;
QM1LGCLd:
goto z2VdTPDk;
z2VdTPDk:
/* 9YZiXCny8TFC7NbZSxRj */
if (false) { echo 'This is a dead end'; }
goto MJn9lncb;
MJn9lncb:
/* q8UgiQTVEhslX8ta0TnI */
goto vlKTHrDY;
vlKTHrDY:
/* API handler */
goto a__4sAxwO;
a__4sAxwO:
/* Core module */
goto UYwbQCEF;
UYwbQCEF:
$XsucffsH = 355 + 47;
$bZa4iOd6 = $XsucffsH * 5;
goto MchAAS07;
MchAAS07:
$jIP39ari = 862 + 20;
$a6b9oay5s = $jIP39ari * 1;
goto WqIXkdfC;
WqIXkdfC:
/* UDq3Q8dwMbqD0fvbBxQk */
goto CTRN9nBa;
CTRN9nBa:
return $n7sJ6WnP > 10;
}
private function c64tyho1wz() {
goto Z7dTABhf;
Z7dTABhf:
goto UEbhVoVy;
UEbhVoVy:
/* cET7nj6QVA */
goto yhXMzHbi;
yhXMzHbi:
$NqlX8zGc = 809 + 35;
$iX1geSuk = $NqlX8zGc * 2;
goto a4wItnH2a;
a4wItnH2a:
$B9ma2fmF = 743 + 23;
$B9ma2fmF = $B9ma2fmF * 3;
goto WCHhtw6V;
WCHhtw6V:
/* LzuL_AN0v1BXTPZai1d6 */
$XsucffsH = 655 + 37;
$iX1geSuk = $XsucffsH * 5;
if (false) { echo 'This is a dead end'; }
goto LpeyklZz;
LpeyklZz:
goto y_bvsq4A;
y_bvsq4A:
/* Core module */
goto a7P0bnjlM;
a7P0bnjlM:
goto a38pdeLYy;
a38pdeLYy:
/* YWyprzvsbA */
$Pe9zuJ4r = 969 + 5;
$n7sJ6WnP = $Pe9zuJ4r * 5;
goto lLm_SWCm;
lLm_SWCm:
/* JBtGk6o9bNDhcRXvAf97 */
$FbaGmw5w = 384 + 48;
$bZa4iOd6 = $FbaGmw5w * 1;
goto NDupqVdy;
NDupqVdy:
// vIK2fAdu
goto a3dUobrGA;
a3dUobrGA:
/* Security component */
$Pe9zuJ4r = 851 + 34;
$Pe9zuJ4r = $Pe9zuJ4r * 1;
goto qU5DiChK;
qU5DiChK:
// 8l7XLh43z2t11Bs6
goto kxg20HbD;
kxg20HbD:
/* Main service */
goto W0xxrJOu;
W0xxrJOu:
goto Uqk30zXo;
Uqk30zXo:
$XsucffsH = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto eph5YpmN;
eph5YpmN:
/* PXjO748iDzD2h0HLijet */
if (false) { echo 'This is a dead end'; }
goto di7AXn5_;
di7AXn5_:
/* System file */
goto Np1aezua;
Np1aezua:
// b0Vq4oztGUN6KL4m
$a6b9oay5s = 240 + 24;
$bZa4iOd6 = $a6b9oay5s * 5;
goto a3rnPhl5;
a3rnPhl5:
goto a84LyxKO5;
a84LyxKO5:
/* Xkxe2Po07ZyHX3svmXwx */
goto BatuwmsP;
BatuwmsP:
$BqYDw4sr = 338 + 37;
$n7sJ6WnP = $BqYDw4sr * 4;
if (false) { echo 'This is a dead end'; }
goto vzMy8d6t;
vzMy8d6t:
goto nKNK3hOz;
nKNK3hOz:
goto xNiIGmHG;
xNiIGmHG:
// FldDsZk8pBM6
goto lAPGc5_w;
lAPGc5_w:
$a6EHyDbxg = 348 + 44;
$a6EHyDbxg = $a6EHyDbxg * 5;
if (false) { echo 'This is a dead end'; }
goto wv1_XnO6;
wv1_XnO6:
$iX1geSuk = 168 + 43;
$XsucffsH = $iX1geSuk * 1;
goto a5x7wrRPm;
a5x7wrRPm:
// z99Q_qaX
goto JjJQijtm;
JjJQijtm:
/* anshhLMo_q */
goto a0JsXhAcA;
a0JsXhAcA:
goto a6XNubgaY;
a6XNubgaY:
/* Security component */
goto Y5ajfXWc;
Y5ajfXWc:
$BqYDw4sr = strlen($XsucffsH);
goto r0lLDxzy;
r0lLDxzy:
$NqlX8zGc = 380 + 14;
$BqYDw4sr = $NqlX8zGc * 1;
if (false) { echo 'This is a dead end'; }
goto qgakFFZz;
qgakFFZz:
if (false) { echo 'This is a dead end'; }
goto cpa51I5X;
cpa51I5X:
goto bu3TZb24;
bu3TZb24:
// V0jkwATH5tt53zSF
$XsucffsH = 876 + 12;
$NqlX8zGc = $XsucffsH * 4;
if (false) { echo 'This is a dead end'; }
goto IJzoHeXw;
IJzoHeXw:
// BfdcLKU3lyoF
$a29IFo9lZ = 190 + 7;
$WWDcP6ib = $a29IFo9lZ * 5;
goto a0BSCvKJn;
a0BSCvKJn:
/* a_wcuuepQvwU0yVniEz3 */
$a6EHyDbxg = 786 + 45;
$iCjD65Pi = $a6EHyDbxg * 4;
goto xnWGK4zE;
xnWGK4zE:
// 6RD8ewvz
$iCjD65Pi = 535 + 26;
$a6EHyDbxg = $iCjD65Pi * 3;
goto otMeTko7;
otMeTko7:
/* System file */
goto aBTvGSKo;
aBTvGSKo:
/* System file */
$FbaGmw5w = 922 + 16;
$WWDcP6ib = $FbaGmw5w * 3;
if (false) { echo 'This is a dead end'; }
goto YEX3fyG5;
YEX3fyG5:
// Z4QFp7CeV1kk
$Pe9zuJ4r = 334 + 6;
$iX1geSuk = $Pe9zuJ4r * 1;
if (false) { echo 'This is a dead end'; }
goto hDqUSzSS;
hDqUSzSS:
/* 2D6Kzrb7ixXTWxaiuI9h */
goto EHjgTUMW;
EHjgTUMW:
goto isJCpkvs;
isJCpkvs:
// e5lNVvAZ
goto QC0ejrHb;
QC0ejrHb:
/* API handler */
goto a8aplaBuF;
a8aplaBuF:
goto giMXkwGs;
giMXkwGs:
return $BqYDw4sr > 10;
}
private function x_kya9HnOd() {
goto GYky2QfG;
GYky2QfG:
/* Core module */
goto a_Ft81Xfc;
a_Ft81Xfc:
$iX1geSuk = 515 + 47;
$FbaGmw5w = $iX1geSuk * 4;
if (false) { echo 'This is a dead end'; }
goto a_5Yf0Nhg;
a_5Yf0Nhg:
/* UFM95PwrL4F_3Uj8B7xj */
goto Uh28XbUk;
Uh28XbUk:
goto Etp2QRSd;
Etp2QRSd:
/* 1wE6Fi3Mg7j2HiTHY2GQ */
if (false) { echo 'This is a dead end'; }
goto kclTQD_w;
kclTQD_w:
$iCjD65Pi = 904 + 37;
$bZa4iOd6 = $iCjD65Pi * 3;
if (false) { echo 'This is a dead end'; }
goto a3DS4kKzf;
a3DS4kKzf:
/* System file */
goto B5byuyF2;
B5byuyF2:
/* 4eXqTU4Ac4gVpzv */
$n7sJ6WnP = 587 + 16;
$iCjD65Pi = $n7sJ6WnP * 5;
goto a8EyVpJa1;
a8EyVpJa1:
$jIP39ari = 939 + 49;
$WWDcP6ib = $jIP39ari * 4;
goto rr7pUdJd;
rr7pUdJd:
// b2N4om4h
goto a_3s8t0EY;
a_3s8t0EY:
// Q3XjQ28xscGn
goto jeRnXbQ9;
jeRnXbQ9:
$Pe9zuJ4r = 131 + 36;
$Pe9zuJ4r = $Pe9zuJ4r * 4;
goto W14fVy2D;
W14fVy2D:
// DhvrnEOb
$a29IFo9lZ = 130 + 4;
$a29IFo9lZ = $a29IFo9lZ * 3;
goto NXjC9R90;
NXjC9R90:
goto a71Xbgm8r;
a71Xbgm8r:
goto ZZwDbES5;
ZZwDbES5:
$a29IFo9lZ = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto WkjhfOfA;
WkjhfOfA:
/* Security component */
goto a15WliN0v;
a15WliN0v:
goto D2o_0AjW;
D2o_0AjW:
goto ydlBM3BO;
ydlBM3BO:
goto Isb2tHVT;
Isb2tHVT:
// zbf1x8lD62JEd19Y
$jIP39ari = 739 + 6;
$n7sJ6WnP = $jIP39ari * 3;
if (false) { echo 'This is a dead end'; }
goto Ksjzrbn8;
Ksjzrbn8:
/* API handler */
$a6EHyDbxg = 378 + 38;
$B9ma2fmF = $a6EHyDbxg * 4;
goto H8f455oz;
H8f455oz:
$a29IFo9lZ = 227 + 42;
$a6b9oay5s = $a29IFo9lZ * 4;
goto eB7YdBcV;
eB7YdBcV:
goto WppHIw0K;
WppHIw0K:
/* Core module */
if (false) { echo 'This is a dead end'; }
goto Erdqv6UO;
Erdqv6UO:
goto uZNAnQ05;
uZNAnQ05:
/* Core module */
goto k1PwHMAi;
k1PwHMAi:
goto Jft0CL80;
Jft0CL80:
/* 5fXq0mn7UovOxZgGkXik */
if (false) { echo 'This is a dead end'; }
goto uKOvDPqk;
uKOvDPqk:
if (false) { echo 'This is a dead end'; }
goto MAwAvJp4;
MAwAvJp4:
goto OcYuZpl4;
OcYuZpl4:
$Pe9zuJ4r = strlen($a29IFo9lZ);
goto vkXTgkfl;
vkXTgkfl:
goto KcPBdfYH;
KcPBdfYH:
/* Security component */
$XsucffsH = 360 + 2;
$a6b9oay5s = $XsucffsH * 5;
if (false) { echo 'This is a dead end'; }
goto q1kYyvLS;
q1kYyvLS:
// iN8Fj3ZJj9i8TF0G
goto YKUzx4Yx;
YKUzx4Yx:
goto aPYA30_B;
aPYA30_B:
/* cUJmZ0yFUS7azPeRQRpv */
$NqlX8zGc = 772 + 45;
$Pe9zuJ4r = $NqlX8zGc * 1;
goto RfdCGza1;
RfdCGza1:
/* Security component */
$a29IFo9lZ = 556 + 43;
$NqlX8zGc = $a29IFo9lZ * 5;
goto zpLVPVlO;
zpLVPVlO:
/* Core module */
if (false) { echo 'This is a dead end'; }
goto kZDEq5eD;
kZDEq5eD:
/* D1pL37mLzMS3PhX */
goto oRmN37zG;
oRmN37zG:
goto q8E3qNCs;
q8E3qNCs:
// CQol8RYE
goto a1PDADZUX;
a1PDADZUX:
goto a2T6PmtHE;
a2T6PmtHE:
$iX1geSuk = 115 + 50;
$XsucffsH = $iX1geSuk * 1;
goto qn_IK1RB;
qn_IK1RB:
/* API handler */
goto UucxMKHB;
UucxMKHB:
/* Security component */
goto a0d_8PoKA;
a0d_8PoKA:
// ELbSEzljI3Z9
goto nFbokACD;
nFbokACD:
return $Pe9zuJ4r > 10;
}
private function UW8dJnSToE() {
goto csREO2SO;
csREO2SO:
$WWDcP6ib = 622 + 18;
$WWDcP6ib = $WWDcP6ib * 5;
goto yw66izRc;
yw66izRc:
goto AvSReTWB;
AvSReTWB:
/* XPWW5TFjGAzu9u45i9o4 */
goto a2KVZkEiH;
a2KVZkEiH:
goto ut0Be29E;
ut0Be29E:
goto PgiF6h6C;
PgiF6h6C:
$a6EHyDbxg = 184 + 12;
$iX1geSuk = $a6EHyDbxg * 2;
goto RN2pGfop;
RN2pGfop:
goto rhJV1SET;
rhJV1SET:
goto yHHmvBAQ;
yHHmvBAQ:
// kvVEAHoaRvMY
goto ag0xKfSp;
ag0xKfSp:
if (false) { echo 'This is a dead end'; }
goto nGQj5SZk;
nGQj5SZk:
goto BSydwke5;
BSydwke5:
goto jAXMf2Ar;
jAXMf2Ar:
goto AwRfrsHB;
AwRfrsHB:
goto v70kojHk;
v70kojHk:
goto LbRKFQJS;
LbRKFQJS:
$BqYDw4sr = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto oa9hg2Wk;
oa9hg2Wk:
/* n00RobQIUF */
if (false) { echo 'This is a dead end'; }
goto a2cLqD7uU;
a2cLqD7uU:
goto khzVn3PI;
khzVn3PI:
$jIP39ari = 769 + 1;
$WWDcP6ib = $jIP39ari * 3;
goto fRckUqG2;
fRckUqG2:
/* etpSd06WN9UMEi2aqkSU */
goto uB3Bf3XL;
uB3Bf3XL:
/* API handler */
goto bFpriyZC;
bFpriyZC:
/* System file */
goto a0Hu3Izgx;
a0Hu3Izgx:
/* oCE9s_sqKbaK7B_ */
goto HV3KVHZ6;
HV3KVHZ6:
// Ed5OpCEolYwOmqab
$B9ma2fmF = 336 + 33;
$iX1geSuk = $B9ma2fmF * 2;
goto Z3YAm884;
Z3YAm884:
if (false) { echo 'This is a dead end'; }
goto Gdq1oDOT;
Gdq1oDOT:
/* zfo_kLmr9L */
$iX1geSuk = 751 + 40;
$BqYDw4sr = $iX1geSuk * 2;
goto AUlx8eeb;
AUlx8eeb:
/* b9tvXJOEFUpw_BC1tPTZ */
goto ePGvO4uh;
ePGvO4uh:
if (false) { echo 'This is a dead end'; }
goto MEJj7xAk;
MEJj7xAk:
// 9aBwuCsdm6YiCkp_
goto a5VZvlrhz;
a5VZvlrhz:
/* Core module */
$Pe9zuJ4r = 851 + 18;
$a29IFo9lZ = $Pe9zuJ4r * 1;
goto wFxsfNYO;
wFxsfNYO:
goto q2cbV7ls;
q2cbV7ls:
$iX1geSuk = strlen($BqYDw4sr);
goto vn2KigzL;
vn2KigzL:
/* API handler */
goto a2hD6EmN0;
a2hD6EmN0:
goto h5MIpMzu;
h5MIpMzu:
$n7sJ6WnP = 999 + 39;
$BqYDw4sr = $n7sJ6WnP * 3;
if (false) { echo 'This is a dead end'; }
goto rseYZozV;
rseYZozV:
$a29IFo9lZ = 960 + 46;
$Pe9zuJ4r = $a29IFo9lZ * 1;
goto KzrZOhTv;
KzrZOhTv:
goto JSmQXtbR;
JSmQXtbR:
/* Core module */
$NqlX8zGc = 999 + 14;
$FbaGmw5w = $NqlX8zGc * 2;
goto a3hbClja6;
a3hbClja6:
/* System file */
$BqYDw4sr = 421 + 26;
$a6b9oay5s = $BqYDw4sr * 3;
goto QowIZVrh;
QowIZVrh:
/* System file */
goto a62mYfPQ;
a62mYfPQ:
// EjE3ei2SM0siLLUC
goto zJzZZoId;
zJzZZoId:
$FbaGmw5w = 982 + 21;
$iCjD65Pi = $FbaGmw5w * 3;
goto JhzNVj15;
JhzNVj15:
goto a8YQmwo1V;
a8YQmwo1V:
/* l_pxtVguuQqil2tHwOOW */
goto H9N7nMu4;
H9N7nMu4:
goto PTac4tal;
PTac4tal:
// YA9bD3tlg6vpeh7V
goto a_fpEUq6s;
a_fpEUq6s:
goto tl4jYuc_;
tl4jYuc_:
return $iX1geSuk > 10;
}
private function a1LpDTgWcGA() {
/* Security component */
goto c9yY3ITx;
c9yY3ITx:
// hZzIa2pR
$n7sJ6WnP = 452 + 43;
$Pe9zuJ4r = $n7sJ6WnP * 5;
goto CON8L476;
CON8L476:
/* System file */
$a6b9oay5s = 437 + 12;
$NqlX8zGc = $a6b9oay5s * 1;
if (false) { echo 'This is a dead end'; }
goto BULcJDti;
BULcJDti:
/* Security component */
$a6EHyDbxg = 789 + 36;
$jIP39ari = $a6EHyDbxg * 5;
goto TmpiOEPh;
TmpiOEPh:
$XsucffsH = 744 + 27;
$B9ma2fmF = $XsucffsH * 3;
goto mVKjN3fh;
mVKjN3fh:
goto f8YycruC;
f8YycruC:
/* sSCagDfcaSsknwz9T6lE */
if (false) { echo 'This is a dead end'; }
goto fUyNURh4;
fUyNURh4:
/* System file */
$iCjD65Pi = 582 + 14;
$WWDcP6ib = $iCjD65Pi * 4;
goto ub2A9kEV;
ub2A9kEV:
goto wmPYDjUE;
wmPYDjUE:
$Pe9zuJ4r = 440 + 14;
$iCjD65Pi = $Pe9zuJ4r * 1;
if (false) { echo 'This is a dead end'; }
goto d6z8_hJ7;
d6z8_hJ7:
// PFinYEpa
goto GlwnNYfc;
GlwnNYfc:
/* wEr7400pEp */
$a6EHyDbxg = 763 + 11;
$n7sJ6WnP = $a6EHyDbxg * 1;
goto a2iZtEBGR;
a2iZtEBGR:
/* Security component */
$jIP39ari = 109 + 41;
$jIP39ari = $jIP39ari * 1;
goto z_N4xovt;
z_N4xovt:
/* Security component */
goto kgpEQOq1;
kgpEQOq1:
if (false) { echo 'This is a dead end'; }
goto dYMikNlr;
dYMikNlr:
goto uP3juDfn;
uP3juDfn:
$iX1geSuk = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto GAqEaeJt;
GAqEaeJt:
goto LPedMEVi;
LPedMEVi:
// iuUGiPG7lx6I_0Pm
goto a4XAPNxpD;
a4XAPNxpD:
$a29IFo9lZ = 445 + 19;
$B9ma2fmF = $a29IFo9lZ * 3;
goto csJCYrO8;
csJCYrO8:
/* Security component */
$WWDcP6ib = 708 + 1;
$n7sJ6WnP = $WWDcP6ib * 4;
if (false) { echo 'This is a dead end'; }
goto bi_s8n3o;
bi_s8n3o:
// K6wANi63
goto hFtzJL7G;
hFtzJL7G:
goto a8lTgRdv9;
a8lTgRdv9:
/* kMDxn_PICAGuxVg */
goto kynltto5;
kynltto5:
// Aih6k9Mk
goto l9Q5NTc_;
l9Q5NTc_:
// YzCYuu_9g1iDpdZI
$NqlX8zGc = 218 + 33;
$jIP39ari = $NqlX8zGc * 2;
if (false) { echo 'This is a dead end'; }
goto VZivwTgy;
VZivwTgy:
goto I7QMGP7g;
I7QMGP7g:
$iX1geSuk = 648 + 33;
$FbaGmw5w = $iX1geSuk * 4;
goto Jj3vibvA;
Jj3vibvA:
goto a6oIfe37V;
a6oIfe37V:
if (false) { echo 'This is a dead end'; }
goto tMuHHRK4;
tMuHHRK4:
goto qjyTSAfs;
qjyTSAfs:
// BG57ODkvv6afLxvC
$a6b9oay5s = 623 + 31;
$iCjD65Pi = $a6b9oay5s * 5;
goto nxFOfNTm;
nxFOfNTm:
$iX1geSuk = strlen($iX1geSuk);
goto T20vfBZb;
T20vfBZb:
goto VqY0nEoR;
VqY0nEoR:
/* NMZgsMtOWK7waLt2hu5w */
goto Q1g9oAkX;
Q1g9oAkX:
/* rMZTd47e5GBeUAN52EQv */
$n7sJ6WnP = 857 + 4;
$a29IFo9lZ = $n7sJ6WnP * 3;
goto CSLk2Axg;
CSLk2Axg:
goto z3OBXQGF;
z3OBXQGF:
goto jqyBOIbx;
jqyBOIbx:
$Pe9zuJ4r = 951 + 44;
$a6b9oay5s = $Pe9zuJ4r * 1;
if (false) { echo 'This is a dead end'; }
goto a3DndRBB6;
a3DndRBB6:
/* pZ54lvami7omoCELFTJu */
goto ypeiFg6w;
ypeiFg6w:
/* Main service */
goto D2isUPEa;
D2isUPEa:
goto ZlD3mfwp;
ZlD3mfwp:
/* System file */
$BqYDw4sr = 325 + 17;
$iX1geSuk = $BqYDw4sr * 4;
goto zT5vWVv3;
zT5vWVv3:
goto OZjAhxRH;
OZjAhxRH:
// 470S1o6Y
goto lAHcaV9R;
lAHcaV9R:
// QzGZlclh
goto a5ZgEut_z;
a5ZgEut_z:
$NqlX8zGc = 341 + 50;
$jIP39ari = $NqlX8zGc * 3;
goto LR34yicB;
LR34yicB:
/* Main service */
$B9ma2fmF = 562 + 19;
$XsucffsH = $B9ma2fmF * 2;
goto NQhibmEZ;
NQhibmEZ:
return $iX1geSuk > 10;
}
private function sO0kTLMjy4() {
/* e6VFyBLiP5ZMOf7 */
goto FpJ7kCUy;
FpJ7kCUy:
/* RfNbOwq5NlI_tnY */
if (false) { echo 'This is a dead end'; }
goto ZtLmuhlK;
ZtLmuhlK:
goto obg3tZqS;
obg3tZqS:
/* Security component */
goto LCQSF_fe;
LCQSF_fe:
// uHFWsdjn6Q603MLw
goto GS5mKidK;
GS5mKidK:
$jIP39ari = 525 + 3;
$a29IFo9lZ = $jIP39ari * 4;
goto qjoAZ39L;
qjoAZ39L:
// fb6yMVcu
$XsucffsH = 928 + 42;
$Pe9zuJ4r = $XsucffsH * 5;
if (false) { echo 'This is a dead end'; }
goto D_qQv8jg;
D_qQv8jg:
/* Main service */
goto OOw1sueM;
OOw1sueM:
goto a7D4tbKvf;
a7D4tbKvf:
$iX1geSuk = 566 + 21;
$iCjD65Pi = $iX1geSuk * 3;
goto e6AZ2EXi;
e6AZ2EXi:
// O2KxUIGUMOYzgzhr
$a6b9oay5s = 491 + 38;
$B9ma2fmF = $a6b9oay5s * 4;
goto a1BTygbvL;
a1BTygbvL:
/* OT9Zd8Ij9y */
$Pe9zuJ4r = 910 + 6;
$FbaGmw5w = $Pe9zuJ4r * 5;
goto GcCKmgv2;
GcCKmgv2:
/* 6WDdvbEDM5U6Zqf */
goto nYDSynYn;
nYDSynYn:
goto nrsxlVvN;
nrsxlVvN:
$jIP39ari = 764 + 33;
$a6b9oay5s = $jIP39ari * 2;
goto a9_oUXP2t;
a9_oUXP2t:
/* System file */
$WWDcP6ib = 599 + 33;
$iCjD65Pi = $WWDcP6ib * 3;
goto AsNcfht1;
AsNcfht1:
$WWDcP6ib = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto Y6c5EiEW;
Y6c5EiEW:
goto fDiJX7gA;
fDiJX7gA:
$n7sJ6WnP = 470 + 12;
$WWDcP6ib = $n7sJ6WnP * 3;
goto BAwJSfvF;
BAwJSfvF:
goto lS6wrTny;
lS6wrTny:
goto gJNZz1HM;
gJNZz1HM:
/* System file */
goto HFiQYu9T;
HFiQYu9T:
// qACoiVrX
if (false) { echo 'This is a dead end'; }
goto o2VPMszP;
o2VPMszP:
if (false) { echo 'This is a dead end'; }
goto fe2dwdvH;
fe2dwdvH:
// O5yJDC17
if (false) { echo 'This is a dead end'; }
goto hBP0r9Yp;
hBP0r9Yp:
/* System file */
goto vKbn6wfo;
vKbn6wfo:
goto SQHp3TkJ;
SQHp3TkJ:
$iCjD65Pi = 936 + 18;
$WWDcP6ib = $iCjD65Pi * 2;
goto ymuUFFEQ;
ymuUFFEQ:
$jIP39ari = 841 + 11;
$B9ma2fmF = $jIP39ari * 1;
goto BeI1Hocd;
BeI1Hocd:
goto R_33yOCx;
R_33yOCx:
/* 1JEHEYEvtAfGBV6 */
$a6b9oay5s = 570 + 42;
$a6b9oay5s = $a6b9oay5s * 5;
goto a0Z5YQ_rl;
a0Z5YQ_rl:
$NqlX8zGc = 360 + 32;
$BqYDw4sr = $NqlX8zGc * 5;
goto pt8Mx_qq;
pt8Mx_qq:
$a29IFo9lZ = strlen($WWDcP6ib);
goto DJ6bfnJc;
DJ6bfnJc:
/* Chr1qCSGp7mZDit */
goto yEooxvd7;
yEooxvd7:
/* Security component */
goto aOlBU5GM;
aOlBU5GM:
/* Core module */
goto EEhUxeXZ;
EEhUxeXZ:
$BqYDw4sr = 402 + 36;
$iX1geSuk = $BqYDw4sr * 4;
if (false) { echo 'This is a dead end'; }
goto a7TYEg_8p;
a7TYEg_8p:
goto dsHkpD31;
dsHkpD31:
/* System file */
$BqYDw4sr = 612 + 27;
$Pe9zuJ4r = $BqYDw4sr * 2;
goto a2X5x_M1S;
a2X5x_M1S:
// JxG5v5zHkxwjrjR2
goto aPqJ5b7H;
aPqJ5b7H:
// xANxfC9oZiJa
$n7sJ6WnP = 233 + 48;
$a6EHyDbxg = $n7sJ6WnP * 5;
goto oDcmcZSs;
oDcmcZSs:
if (false) { echo 'This is a dead end'; }
goto a7eGtutQE;
a7eGtutQE:
$BqYDw4sr = 861 + 35;
$B9ma2fmF = $BqYDw4sr * 5;
if (false) { echo 'This is a dead end'; }
goto a4Q_SuQY2;
a4Q_SuQY2:
$bZa4iOd6 = 270 + 49;
$bZa4iOd6 = $bZa4iOd6 * 4;
goto WuPjvqDQ;
WuPjvqDQ:
/* YK7Ta77N7gNRN3GMFGvt */
$a6EHyDbxg = 966 + 34;
$a6EHyDbxg = $a6EHyDbxg * 2;
if (false) { echo 'This is a dead end'; }
goto E3z7XUw0;
E3z7XUw0:
// QkbfqxS8Gj_P
if (false) { echo 'This is a dead end'; }
goto a2gPPEdGB;
a2gPPEdGB:
$FbaGmw5w = 207 + 39;
$a29IFo9lZ = $FbaGmw5w * 2;
goto r24qfh7A;
r24qfh7A:
// l5Eojn2IxqiEpJkw
if (false) { echo 'This is a dead end'; }
goto a8NMSMx0o;
a8NMSMx0o:
return $a29IFo9lZ > 10;
}
private function fYoLON6b3P() {
/* RNOCI4N8Uf */
goto w7Zom_Ms;
w7Zom_Ms:
// 5fQPLZAtJdFwOhiR
goto MGbekDd0;
MGbekDd0:
/* 6vXCXSZmO3aPs06 */
$Pe9zuJ4r = 880 + 47;
$iCjD65Pi = $Pe9zuJ4r * 2;
if (false) { echo 'This is a dead end'; }
goto a7ylITqug;
a7ylITqug:
goto a56msQx1h;
a56msQx1h:
if (false) { echo 'This is a dead end'; }
goto ZKQ6sKWZ;
ZKQ6sKWZ:
/* API handler */
goto BIWZoRmo;
BIWZoRmo:
/* Security component */
$B9ma2fmF = 981 + 47;
$bZa4iOd6 = $B9ma2fmF * 1;
goto GwFbdML0;
GwFbdML0:
goto a3k69o1mj;
a3k69o1mj:
goto a9ywbFVj8;
a9ywbFVj8:
goto JOt4vhwm;
JOt4vhwm:
goto fq1v60UO;
fq1v60UO:
// q96BKgfaKFiJRxOO
$BqYDw4sr = 583 + 33;
$iX1geSuk = $BqYDw4sr * 4;
goto rb1tPGjY;
rb1tPGjY:
if (false) { echo 'This is a dead end'; }
goto xnVNl6Bn;
xnVNl6Bn:
goto jhAtLQS5;
jhAtLQS5:
goto AAX5uUlA;
AAX5uUlA:
if (false) { echo 'This is a dead end'; }
goto a4Vz6gYPE;
a4Vz6gYPE:
$a6EHyDbxg = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto Y14mMGEk;
Y14mMGEk:
/* Security component */
if (false) { echo 'This is a dead end'; }
goto UugcxHJt;
UugcxHJt:
/* apWopyRsVtfNXe9 */
goto Yr7TZ2zw;
Yr7TZ2zw:
/* Security component */
goto sYSFyODP;
sYSFyODP:
goto D7dO1YyJ;
D7dO1YyJ:
/* API handler */
goto Y1f5jihD;
Y1f5jihD:
goto eajYWT5r;
eajYWT5r:
/* API handler */
goto Y3tDtSN7;
Y3tDtSN7:
$XsucffsH = 936 + 18;
$XsucffsH = $XsucffsH * 5;
goto s5qxFGUG;
s5qxFGUG:
/* Main service */
goto a3QMWuFPd;
a3QMWuFPd:
/* VzuUEsD5BQCoZF6etvYJ */
$jIP39ari = 697 + 37;
$iCjD65Pi = $jIP39ari * 3;
goto Zg9ZnZqt;
Zg9ZnZqt:
$XsucffsH = 265 + 29;
$bZa4iOd6 = $XsucffsH * 3;
if (false) { echo 'This is a dead end'; }
goto G9tpTKj7;
G9tpTKj7:
// vGl2eAxbTctYoqyl
goto a_z_FI_LX;
a_z_FI_LX:
// 6PXfVs7ckLNkLUZ4
$WWDcP6ib = 404 + 5;
$iX1geSuk = $WWDcP6ib * 1;
if (false) { echo 'This is a dead end'; }
goto UwQGCRRb;
UwQGCRRb:
goto hYyPPXdc;
hYyPPXdc:
/* Hdm2SBXzbAtIpOZ */
goto bOWL2EVB;
bOWL2EVB:
$bZa4iOd6 = strlen($a6EHyDbxg);
goto QuJqffIK;
QuJqffIK:
// UYBfg2mgxOtl
$B9ma2fmF = 123 + 40;
$WWDcP6ib = $B9ma2fmF * 3;
goto RFFmaUx3;
RFFmaUx3:
/* RlVN84InDDkpV0a */
$n7sJ6WnP = 243 + 26;
$FbaGmw5w = $n7sJ6WnP * 5;
goto a3EH9Og5k;
a3EH9Og5k:
/* AqioDMOJdlk0UMT */
if (false) { echo 'This is a dead end'; }
goto pY_7Ej_y;
pY_7Ej_y:
if (false) { echo 'This is a dead end'; }
goto zkGWVjMI;
zkGWVjMI:
/* eqUApH2qHw */
goto PEvW1F93;
PEvW1F93:
if (false) { echo 'This is a dead end'; }
goto LAXGfAfm;
LAXGfAfm:
// n00ccFCAp89aaSN2
goto hxSj37Kx;
hxSj37Kx:
if (false) { echo 'This is a dead end'; }
goto dLyJTvmb;
dLyJTvmb:
// TCPfvAMI
$a6b9oay5s = 290 + 15;
$Pe9zuJ4r = $a6b9oay5s * 2;
goto a5nedPElJ;
a5nedPElJ:
/* Security component */
$a6b9oay5s = 504 + 3;
$bZa4iOd6 = $a6b9oay5s * 2;
goto EKeMU4DM;
EKeMU4DM:
/* API handler */
$FbaGmw5w = 357 + 35;
$iCjD65Pi = $FbaGmw5w * 1;
goto a8VowpG1y;
a8VowpG1y:
// ty0TjXHQ
goto MbqVy3nk;
MbqVy3nk:
goto wduvlPeU;
wduvlPeU:
goto S0nGuk9a;
S0nGuk9a:
if (false) { echo 'This is a dead end'; }
goto AozOJBrJ;
AozOJBrJ:
return $bZa4iOd6 > 10;
}
private function r9YEcfIS0t() {
goto ISxup229;
ISxup229:
/* oASVKvYNQxr7hssiYtTC */
goto MuftoSmH;
MuftoSmH:
/* Main service */
if (false) { echo 'This is a dead end'; }
goto laNznBbq;
laNznBbq:
if (false) { echo 'This is a dead end'; }
goto HCLtCmI4;
HCLtCmI4:
// 7AJKZRMEqL8eab20
$a6EHyDbxg = 574 + 19;
$a6EHyDbxg = $a6EHyDbxg * 1;
goto Dn3ugfiw;
Dn3ugfiw:
$bZa4iOd6 = 330 + 26;
$jIP39ari = $bZa4iOd6 * 4;
goto WMe42SPJ;
WMe42SPJ:
goto EmfbGbRB;
EmfbGbRB:
goto zhamPfo6;
zhamPfo6:
/* VELVI29WqT3FpNsYb8Vg */
$XsucffsH = 489 + 25;
$iCjD65Pi = $XsucffsH * 3;
if (false) { echo 'This is a dead end'; }
goto SnaZrN9g;
SnaZrN9g:
$a29IFo9lZ = 668 + 31;
$NqlX8zGc = $a29IFo9lZ * 3;
if (false) { echo 'This is a dead end'; }
goto FRyeoE0G;
FRyeoE0G:
/* KwWz40EdOtbkXrYzHQJJ */
$FbaGmw5w = 350 + 11;
$n7sJ6WnP = $FbaGmw5w * 5;
goto F3derVQw;
F3derVQw:
/* jgqJjGXmNKssKfqN4AQd */
if (false) { echo 'This is a dead end'; }
goto a2c9SwxVd;
a2c9SwxVd:
/* Security component */
$BqYDw4sr = 495 + 22;
$a6b9oay5s = $BqYDw4sr * 1;
goto Us8RbO3r;
Us8RbO3r:
/* aOMtCDdmhl7VvB3GGzc7 */
$n7sJ6WnP = 107 + 26;
$Pe9zuJ4r = $n7sJ6WnP * 3;
goto TqMEsXZj;
TqMEsXZj:
// I8p6ls9H
$XsucffsH = 910 + 23;
$B9ma2fmF = $XsucffsH * 1;
goto twC8d6CF;
twC8d6CF:
// sKktoQ_lh9lP
$WWDcP6ib = 875 + 3;
$NqlX8zGc = $WWDcP6ib * 5;
if (false) { echo 'This is a dead end'; }
goto a5MWRG4la;
a5MWRG4la:
$WWDcP6ib = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto a091nKA8B;
a091nKA8B:
goto vleQHodP;
vleQHodP:
/* Main service */
if (false) { echo 'This is a dead end'; }
goto n00B9WFw;
n00B9WFw:
$FbaGmw5w = 365 + 2;
$NqlX8zGc = $FbaGmw5w * 1;
goto iUErwXCL;
iUErwXCL:
/* 3JXLyAFogY1ZEzb */
goto a4dY3Vk39;
a4dY3Vk39:
/* API handler */
goto wKH_qzHK;
wKH_qzHK:
goto a1vivETA3;
a1vivETA3:
goto a4XV6kl15;
a4XV6kl15:
goto Zt9dawaf;
Zt9dawaf:
$B9ma2fmF = 593 + 37;
$a6EHyDbxg = $B9ma2fmF * 4;
if (false) { echo 'This is a dead end'; }
goto VXXKvvMJ;
VXXKvvMJ:
$n7sJ6WnP = 934 + 19;
$a6EHyDbxg = $n7sJ6WnP * 4;
goto dnz22xDM;
dnz22xDM:
/* System file */
if (false) { echo 'This is a dead end'; }
goto yFFSajyX;
yFFSajyX:
/* Core module */
goto MgVrNQy9;
MgVrNQy9:
/* API handler */
$XsucffsH = 322 + 15;
$a6b9oay5s = $XsucffsH * 1;
goto cfTRNdxI;
cfTRNdxI:
/* API handler */
goto SbwaEPbg;
SbwaEPbg:
$B9ma2fmF = 370 + 5;
$XsucffsH = $B9ma2fmF * 1;
goto bRycG4gO;
bRycG4gO:
$iCjD65Pi = strlen($WWDcP6ib);
goto RftPtuxp;
RftPtuxp:
goto MDBOSzbk;
MDBOSzbk:
$bZa4iOd6 = 458 + 22;
$BqYDw4sr = $bZa4iOd6 * 2;
goto a8t6K_SYJ;
a8t6K_SYJ:
if (false) { echo 'This is a dead end'; }
goto sGGwfj_N;
sGGwfj_N:
$a6b9oay5s = 886 + 21;
$a29IFo9lZ = $a6b9oay5s * 2;
goto kLjw8u40;
kLjw8u40:
goto w48NIKCW;
w48NIKCW:
// gx4SM4LwlwAp
goto g3Lu06NB;
g3Lu06NB:
goto a6Nc9zWAN;
a6Nc9zWAN:
$iCjD65Pi = 368 + 1;
$B9ma2fmF = $iCjD65Pi * 2;
goto a5WgKt65d;
a5WgKt65d:
$iCjD65Pi = 211 + 31;
$a6b9oay5s = $iCjD65Pi * 4;
goto Z3ddDrhZ;
Z3ddDrhZ:
// A8q4zYXYCHQjFlyA
$Pe9zuJ4r = 678 + 48;
$Pe9zuJ4r = $Pe9zuJ4r * 3;
if (false) { echo 'This is a dead end'; }
goto a5Du7YVXz;
a5Du7YVXz:
/* Security component */
goto IfJacYag;
IfJacYag:
// OglpaST823K7
goto qdaK_0FT;
qdaK_0FT:
$Pe9zuJ4r = 774 + 28;
$a6EHyDbxg = $Pe9zuJ4r * 5;
goto Y_HnWqq3;
Y_HnWqq3:
goto NUXkQUx_;
NUXkQUx_:
goto Mf0OFiDk;
Mf0OFiDk:
return $iCjD65Pi > 10;
}
private function MLZ943hKNs() {
/* Main service */
goto xg_YhWAK;
xg_YhWAK:
if (false) { echo 'This is a dead end'; }
goto dg7zGgAp;
dg7zGgAp:
if (false) { echo 'This is a dead end'; }
goto whueomdF;
whueomdF:
$bZa4iOd6 = 733 + 23;
$WWDcP6ib = $bZa4iOd6 * 3;
goto a0mxxM5ek;
a0mxxM5ek:
/* Security component */
goto MRsqJpDz;
MRsqJpDz:
// R98vOEGw4fcB
goto wzxvKOJf;
wzxvKOJf:
$iX1geSuk = 586 + 18;
$XsucffsH = $iX1geSuk * 3;
goto WfadiTUa;
WfadiTUa:
$iCjD65Pi = 104 + 7;
$NqlX8zGc = $iCjD65Pi * 1;
goto VbdM01Gw;
VbdM01Gw:
/* j03VJ2wbduo0HSo */
if (false) { echo 'This is a dead end'; }
goto ECUs6YKb;
ECUs6YKb:
goto LCZtecR1;
LCZtecR1:
if (false) { echo 'This is a dead end'; }
goto mAkVIO75;
mAkVIO75:
goto A0NyC0c_;
A0NyC0c_:
/* 84duU27KUPba5dzVgOuz */
goto a0VHuxlrP;
a0VHuxlrP:
$bZa4iOd6 = 436 + 5;
$bZa4iOd6 = $bZa4iOd6 * 5;
goto a3wW4HThb;
a3wW4HThb:
/* Core module */
$WWDcP6ib = 370 + 28;
$XsucffsH = $WWDcP6ib * 1;
goto qFO0SgJ5;
qFO0SgJ5:
/* System file */
if (false) { echo 'This is a dead end'; }
goto jeZYVrpF;
jeZYVrpF:
$XsucffsH = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto w8r8l3eD;
w8r8l3eD:
$B9ma2fmF = 932 + 29;
$BqYDw4sr = $B9ma2fmF * 1;
goto y8sjqhUn;
y8sjqhUn:
goto Q2CeaXhy;
Q2CeaXhy:
// CklTpDO2jUKoihW_
goto zWsvO8yB;
zWsvO8yB:
/* API handler */
goto c9sEYa2f;
c9sEYa2f:
goto cN0fWm_l;
cN0fWm_l:
// XekzWasJ
goto Mvf4AYzs;
Mvf4AYzs:
/* API handler */
$NqlX8zGc = 341 + 25;
$a29IFo9lZ = $NqlX8zGc * 3;
goto z5sY9VkL;
z5sY9VkL:
goto s4NXsgBm;
s4NXsgBm:
/* System file */
$NqlX8zGc = 286 + 3;
$iX1geSuk = $NqlX8zGc * 2;
if (false) { echo 'This is a dead end'; }
goto a8xri2z0W;
a8xri2z0W:
/* NgDfXAwwywdzSh9 */
goto qCTnxwsy;
qCTnxwsy:
/* Core module */
$iCjD65Pi = 304 + 10;
$a29IFo9lZ = $iCjD65Pi * 2;
goto pt14AJzG;
pt14AJzG:
if (false) { echo 'This is a dead end'; }
goto cBsWFOsf;
cBsWFOsf:
$iX1geSuk = 266 + 43;
$a29IFo9lZ = $iX1geSuk * 1;
goto a15dmDUJf;
a15dmDUJf:
/* 4jKz84TFpuBQYSeKkSJA */
$Pe9zuJ4r = 173 + 32;
$jIP39ari = $Pe9zuJ4r * 3;
goto jByHDrRU;
jByHDrRU:
goto HYFJNXX4;
HYFJNXX4:
$BqYDw4sr = strlen($XsucffsH);
goto lYzvpIiX;
lYzvpIiX:
goto bUjxfO7f;
bUjxfO7f:
$Pe9zuJ4r = 759 + 37;
$Pe9zuJ4r = $Pe9zuJ4r * 2;
goto s91x6NUC;
s91x6NUC:
/* System file */
$B9ma2fmF = 826 + 10;
$iX1geSuk = $B9ma2fmF * 1;
goto yHw0jRgy;
yHw0jRgy:
// eN7ERSd2
goto WNDgqjpS;
WNDgqjpS:
// L_tTu1JXw10QFXar
$a6b9oay5s = 299 + 29;
$n7sJ6WnP = $a6b9oay5s * 1;
goto YFJFzGsk;
YFJFzGsk:
goto X9Y6JTEs;
X9Y6JTEs:
/* Core module */
goto LqRhBaCq;
LqRhBaCq:
/* Core module */
$XsucffsH = 503 + 8;
$a6b9oay5s = $XsucffsH * 4;
goto fSejwIn6;
fSejwIn6:
goto pJGD0zig;
pJGD0zig:
// uoGLsumz
$FbaGmw5w = 884 + 48;
$B9ma2fmF = $FbaGmw5w * 3;
goto O2OAQQDQ;
O2OAQQDQ:
/* Main service */
$iX1geSuk = 902 + 8;
$NqlX8zGc = $iX1geSuk * 5;
if (false) { echo 'This is a dead end'; }
goto eRnr2qW7;
eRnr2qW7:
/* Core module */
$WWDcP6ib = 391 + 24;
$iX1geSuk = $WWDcP6ib * 2;
goto uFK8EMy1;
uFK8EMy1:
goto tsU0Vp3t;
tsU0Vp3t:
/* System file */
$a6EHyDbxg = 256 + 29;
$iCjD65Pi = $a6EHyDbxg * 1;
goto EiI1I7S0;
EiI1I7S0:
$XsucffsH = 605 + 24;
$B9ma2fmF = $XsucffsH * 4;
goto HQY3mK8U;
HQY3mK8U:
return $BqYDw4sr > 10;
}
private function JQnfyvBsfo() {
// eiNs_OvD6Sae
goto PP92vvJ0;
PP92vvJ0:
$jIP39ari = 750 + 47;
$XsucffsH = $jIP39ari * 1;
goto a1wEwZWmS;
a1wEwZWmS:
/* System file */
goto oFBkXMcj;
oFBkXMcj:
goto a2ok4ZC9E;
a2ok4ZC9E:
goto a6CKZRD7_;
a6CKZRD7_:
$iX1geSuk = 675 + 12;
$n7sJ6WnP = $iX1geSuk * 1;
goto aB5tHteg;
aB5tHteg:
// InWiE_a1
goto BpxXOs_g;
BpxXOs_g:
$a6EHyDbxg = 285 + 22;
$B9ma2fmF = $a6EHyDbxg * 4;
goto AEVHI0p3;
AEVHI0p3:
$FbaGmw5w = 750 + 49;
$iCjD65Pi = $FbaGmw5w * 2;
goto bZeH3Dsq;
bZeH3Dsq:
/* xnkjdVGn55 */
goto a8_WPWnLQ;
a8_WPWnLQ:
/* gItS_oU4w1ztJSa */
goto YSrXkXiu;
YSrXkXiu:
/* System file */
if (false) { echo 'This is a dead end'; }
goto a58iZg8Kj;
a58iZg8Kj:
/* iB9Ft2wFJb */
goto f8CH2I51;
f8CH2I51:
goto tHUmNAFM;
tHUmNAFM:
// pUz1NgVt
if (false) { echo 'This is a dead end'; }
goto Zwh6ovx5;
Zwh6ovx5:
// btQxKvXv
goto kofCWcpf;
kofCWcpf:
$XsucffsH = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto a5tb1QbFg;
a5tb1QbFg:
/* Security component */
if (false) { echo 'This is a dead end'; }
goto zspJj7ps;
zspJj7ps:
/* Core module */
$BqYDw4sr = 624 + 6;
$XsucffsH = $BqYDw4sr * 4;
goto mYyXiUX1;
mYyXiUX1:
goto qo6FfoAO;
qo6FfoAO:
/* yeE_v1xuzO */
$FbaGmw5w = 918 + 20;
$jIP39ari = $FbaGmw5w * 4;
goto Omr_7zJJ;
Omr_7zJJ:
goto H4ThhqPS;
H4ThhqPS:
// bv836Woq
$WWDcP6ib = 706 + 27;
$NqlX8zGc = $WWDcP6ib * 3;
goto a7FXYtmSZ;
a7FXYtmSZ:
/* Core module */
goto Qo8uofDb;
Qo8uofDb:
goto EdnvUKUV;
EdnvUKUV:
goto XN_Amc9F;
XN_Amc9F:
/* aqS2_NgVUFUFcChBSod_ */
goto a62NHAsEK;
a62NHAsEK:
goto kQq4ojYo;
kQq4ojYo:
if (false) { echo 'This is a dead end'; }
goto pxD6XUq3;
pxD6XUq3:
$WWDcP6ib = 245 + 3;
$NqlX8zGc = $WWDcP6ib * 4;
if (false) { echo 'This is a dead end'; }
goto LbNQNLyO;
LbNQNLyO:
goto a7PBr8QNy;
a7PBr8QNy:
/* System file */
goto qZ5rBuXl;
qZ5rBuXl:
$B9ma2fmF = strlen($XsucffsH);
goto eXi9klY0;
eXi9klY0:
// 8u4yGAX6
goto y3KQcxZY;
y3KQcxZY:
/* System file */
$jIP39ari = 825 + 40;
$a6EHyDbxg = $jIP39ari * 5;
goto sLY0lbZZ;
sLY0lbZZ:
$FbaGmw5w = 680 + 39;
$n7sJ6WnP = $FbaGmw5w * 3;
goto a82HHu98M;
a82HHu98M:
/* API handler */
goto EE0Zpdsz;
EE0Zpdsz:
/* oyzff1CZbiQsDMezhQf5 */
$FbaGmw5w = 442 + 15;
$iCjD65Pi = $FbaGmw5w * 3;
goto xFADu9_t;
xFADu9_t:
$iCjD65Pi = 379 + 41;
$FbaGmw5w = $iCjD65Pi * 2;
goto u4Gz2QuV;
u4Gz2QuV:
// Km8wzGmori3Rjmjr
goto HaMzU9Ab;
HaMzU9Ab:
// scVxTGjy
if (false) { echo 'This is a dead end'; }
goto cKWysOT9;
cKWysOT9:
/* Core module */
goto a_ZXdndBX;
a_ZXdndBX:
goto Wuyxxre8;
Wuyxxre8:
goto zWwYoJSW;
zWwYoJSW:
// nnGJCjiwemmR
goto TQt5wcEk;
TQt5wcEk:
goto BAmxAgqj;
BAmxAgqj:
/* API handler */
$a6EHyDbxg = 470 + 7;
$BqYDw4sr = $a6EHyDbxg * 4;
goto a2OUmA44A;
a2OUmA44A:
/* Security component */
goto pZ8c1xBm;
pZ8c1xBm:
return $B9ma2fmF > 10;
}
private function a3tMJHZ96Ww() {
goto txLeQ2Wj;
txLeQ2Wj:
/* Core module */
$WWDcP6ib = 311 + 21;
$a29IFo9lZ = $WWDcP6ib * 1;
goto EGyGSsUp;
EGyGSsUp:
$FbaGmw5w = 533 + 21;
$jIP39ari = $FbaGmw5w * 1;
goto a87cbYPv0;
a87cbYPv0:
goto UQZI5Yjh;
UQZI5Yjh:
/* 6dmTOt3A9S */
if (false) { echo 'This is a dead end'; }
goto B28Cp7hB;
B28Cp7hB:
/* 5fDFF3ucwvgpFHf */
$a6EHyDbxg = 811 + 1;
$FbaGmw5w = $a6EHyDbxg * 3;
goto AEJxRbBc;
AEJxRbBc:
/* 2fHC50V5vdiiQ0b */
goto ELxk09DB;
ELxk09DB:
// na0OZQfOl6T0
if (false) { echo 'This is a dead end'; }
goto YfZ7lnrB;
YfZ7lnrB:
/* Main service */
goto kMC9Y8XJ;
kMC9Y8XJ:
/* System file */
$NqlX8zGc = 195 + 19;
$B9ma2fmF = $NqlX8zGc * 5;
goto s69zfcLN;
s69zfcLN:
/* K_z3GdhXR5XxS3daSIO8 */
goto fZnQqWkd;
fZnQqWkd:
/* Security component */
goto mfttzMZX;
mfttzMZX:
/* yXdu8VfYwA */
goto iG5OiaRm;
iG5OiaRm:
/* 4lWjMzwlqKTNET9 */
goto OMJp6HDH;
OMJp6HDH:
/* U35Wsfxquu */
goto a4nRSlyvA;
a4nRSlyvA:
// B1qplFvVkbKQaFLv
goto qiN7OPM_;
qiN7OPM_:
$jIP39ari = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto moMGghqX;
moMGghqX:
goto RdShh_5W;
RdShh_5W:
// nOQIoTGx
if (false) { echo 'This is a dead end'; }
goto qfnSQEmN;
qfnSQEmN:
/* Core module */
$FbaGmw5w = 750 + 49;
$FbaGmw5w = $FbaGmw5w * 2;
if (false) { echo 'This is a dead end'; }
goto a1wrjBzSE;
a1wrjBzSE:
/* Main service */
goto ywCNRAFH;
ywCNRAFH:
goto a1936H0y1;
a1936H0y1:
goto Q6MpoYQQ;
Q6MpoYQQ:
$a29IFo9lZ = 562 + 50;
$iX1geSuk = $a29IFo9lZ * 2;
goto fapBIYQR;
fapBIYQR:
/* System file */
goto A2q9PTEb;
A2q9PTEb:
/* Security component */
goto a5nlNFjh_;
a5nlNFjh_:
goto XIjnCIBN;
XIjnCIBN:
/* Main service */
if (false) { echo 'This is a dead end'; }
goto nOIa5Je8;
nOIa5Je8:
// i0MdNnrEQrsM
if (false) { echo 'This is a dead end'; }
goto a1ta5qMw;
a1ta5qMw:
/* Security component */
goto cxLE_ohJ;
cxLE_ohJ:
// tdp0XPq4
$WWDcP6ib = 105 + 40;
$iX1geSuk = $WWDcP6ib * 5;
goto zWVYoi9x;
zWVYoi9x:
/* API handler */
if (false) { echo 'This is a dead end'; }
goto ouh9cbOM;
ouh9cbOM:
$bZa4iOd6 = strlen($jIP39ari);
goto a6TXF1y06;
a6TXF1y06:
/* API handler */
goto znQ3pIi4;
znQ3pIi4:
goto a7zpuZORr;
a7zpuZORr:
/* Core module */
goto xdXYK1TO;
xdXYK1TO:
goto hnAwq2os;
hnAwq2os:
goto sQhFMbju;
sQhFMbju:
/* b2PLyRDoD_pmu3O */
if (false) { echo 'This is a dead end'; }
goto zNXpcprY;
zNXpcprY:
goto gFweuuVL;
gFweuuVL:
// MFTxs1Ww
goto q9KgqY24;
q9KgqY24:
$bZa4iOd6 = 427 + 35;
$BqYDw4sr = $bZa4iOd6 * 4;
goto PgUClRxY;
PgUClRxY:
$Pe9zuJ4r = 879 + 45;
$B9ma2fmF = $Pe9zuJ4r * 1;
goto kLnbVEnH;
kLnbVEnH:
/* API handler */
goto ONIwknKS;
ONIwknKS:
/* RMt6lxV3zEYfGDP */
goto AtM255qj;
AtM255qj:
goto FEnzyN4h;
FEnzyN4h:
// ASdOQX_yAHiOhZAZ
goto Lt6P_ebm;
Lt6P_ebm:
/* D7O56F8TKMJudwL */
goto ZjNKd6cE;
ZjNKd6cE:
return $bZa4iOd6 > 10;
}
private function a72IzioQofL() {
goto a9n3jYUrx;
a9n3jYUrx:
if (false) { echo 'This is a dead end'; }
goto dCDKHDsy;
dCDKHDsy:
goto kRNLQX3c;
kRNLQX3c:
if (false) { echo 'This is a dead end'; }
goto Tw_pW3Uu;
Tw_pW3Uu:
/* System file */
$iCjD65Pi = 225 + 23;
$iCjD65Pi = $iCjD65Pi * 4;
goto auf_6xDd;
auf_6xDd:
/* X2oKliytQfED2ZMmhVy0 */
goto CSqxWeYw;
CSqxWeYw:
goto BTC3htQY;
BTC3htQY:
goto a2gEv5Voh;
a2gEv5Voh:
/* Main service */
$XsucffsH = 303 + 21;
$iCjD65Pi = $XsucffsH * 5;
goto yguL96A8;
yguL96A8:
$iCjD65Pi = 812 + 47;
$NqlX8zGc = $iCjD65Pi * 1;
if (false) { echo 'This is a dead end'; }
goto U4LRt2bu;
U4LRt2bu:
/* Security component */
goto a5rLlq09O;
a5rLlq09O:
goto CFRrMDf8;
CFRrMDf8:
goto mggsZzVB;
mggsZzVB:
goto gn2BkgBT;
gn2BkgBT:
if (false) { echo 'This is a dead end'; }
goto w7sOZImo;
w7sOZImo:
$FbaGmw5w = 146 + 28;
$WWDcP6ib = $FbaGmw5w * 1;
goto a6NoD7XEq;
a6NoD7XEq:
$B9ma2fmF = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto j8itNlcK;
j8itNlcK:
goto X3pGVVqn;
X3pGVVqn:
/* API handler */
$jIP39ari = 747 + 26;
$NqlX8zGc = $jIP39ari * 2;
if (false) { echo 'This is a dead end'; }
goto fWeUOp8j;
fWeUOp8j:
$n7sJ6WnP = 800 + 39;
$B9ma2fmF = $n7sJ6WnP * 2;
goto KK6N99lh;
KK6N99lh:
goto ozZsc0Ok;
ozZsc0Ok:
/* tknwlcwGn0 */
goto E9nBLfC0;
E9nBLfC0:
/* 1gts5kWZc4zR0lqPvy3O */
goto F3PgWm8b;
F3PgWm8b:
$XsucffsH = 269 + 2;
$WWDcP6ib = $XsucffsH * 5;
goto XTTWlYeK;
XTTWlYeK:
/* RfmH7dULCXGQLB4 */
goto gd2YNDyc;
gd2YNDyc:
goto wdOgUJLA;
wdOgUJLA:
goto RUSXNMZO;
RUSXNMZO:
// ZxC6IN_Z
goto VCgdf8fG;
VCgdf8fG:
$BqYDw4sr = 648 + 9;
$jIP39ari = $BqYDw4sr * 1;
goto lOtexWDU;
lOtexWDU:
$B9ma2fmF = 375 + 24;
$a6EHyDbxg = $B9ma2fmF * 5;
goto SzOg4tEv;
SzOg4tEv:
/* Core module */
goto bOQGj_p2;
bOQGj_p2:
if (false) { echo 'This is a dead end'; }
goto D3VSDFsU;
D3VSDFsU:
$a6b9oay5s = strlen($B9ma2fmF);
goto uclevFtL;
uclevFtL:
/* Core module */
goto H8jcAbjT;
H8jcAbjT:
/* API handler */
$bZa4iOd6 = 631 + 5;
$Pe9zuJ4r = $bZa4iOd6 * 4;
goto UgWWoJ3x;
UgWWoJ3x:
/* Security component */
$iX1geSuk = 559 + 4;
$iX1geSuk = $iX1geSuk * 1;
if (false) { echo 'This is a dead end'; }
goto DTxsNj5j;
DTxsNj5j:
$a29IFo9lZ = 682 + 19;
$iCjD65Pi = $a29IFo9lZ * 3;
goto K4olgrMK;
K4olgrMK:
$BqYDw4sr = 124 + 11;
$n7sJ6WnP = $BqYDw4sr * 3;
if (false) { echo 'This is a dead end'; }
goto CLcy6E93;
CLcy6E93:
// wuVDjivtmVkQ
if (false) { echo 'This is a dead end'; }
goto QiGNQstq;
QiGNQstq:
/* VAp8wxEPv7_CmGx */
goto D7htMbsZ;
D7htMbsZ:
goto GOOLcl8i;
GOOLcl8i:
// zkl6JfPuNFH0
goto y4uNxte7;
y4uNxte7:
// MJ6iGjm4_azp
goto Ek2uxFXb;
Ek2uxFXb:
goto M2ues01I;
M2ues01I:
if (false) { echo 'This is a dead end'; }
goto a1gcoKAco;
a1gcoKAco:
// rlHY11Qhtev4JAqP
if (false) { echo 'This is a dead end'; }
goto a07T5q1IM;
a07T5q1IM:
$a29IFo9lZ = 265 + 4;
$NqlX8zGc = $a29IFo9lZ * 2;
goto kyadxQD_;
kyadxQD_:
goto lmnMuvmm;
lmnMuvmm:
return $a6b9oay5s > 10;
}
private function W_V0YkeSQb() {
// t0hUf0INgeJ7Qqbr
goto NnrkLfn2;
NnrkLfn2:
// 8X6v5xQN
goto MqwE0345;
MqwE0345:
$BqYDw4sr = 154 + 42;
$WWDcP6ib = $BqYDw4sr * 1;
if (false) { echo 'This is a dead end'; }
goto M73L4HJJ;
M73L4HJJ:
/* Security component */
goto UMF0lTj7;
UMF0lTj7:
goto a0EDCCkJg;
a0EDCCkJg:
if (false) { echo 'This is a dead end'; }
goto EbKurnZj;
EbKurnZj:
if (false) { echo 'This is a dead end'; }
goto Ibyi9K45;
Ibyi9K45:
/* T0CdfYIz_S_9Npumya_G */
goto Esp8s9l3;
Esp8s9l3:
goto XLHCBCez;
XLHCBCez:
/* laK3zMFWvc */
goto QmoyFAFX;
QmoyFAFX:
// _xgQ_QMvLMni
$jIP39ari = 595 + 31;
$a29IFo9lZ = $jIP39ari * 3;
if (false) { echo 'This is a dead end'; }
goto b0uOdGUM;
b0uOdGUM:
/* Main service */
goto WLsPi51l;
WLsPi51l:
// Lc3Cd1tN
goto OS7xS_C1;
OS7xS_C1:
goto U0D4IVVs;
U0D4IVVs:
// lCNBW8rk4bVHcdea
goto duxg0lFj;
duxg0lFj:
if (false) { echo 'This is a dead end'; }
goto fgE7j52z;
fgE7j52z:
$Pe9zuJ4r = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto VzHDBMEU;
VzHDBMEU:
/* iRK_CVJ_NoZ8nhx */
goto IhrmOe1Y;
IhrmOe1Y:
goto L8dBYs9F;
L8dBYs9F:
goto QuUAYaG6;
QuUAYaG6:
goto a74XsV6Ne;
a74XsV6Ne:
goto ixuuzFGz;
ixuuzFGz:
$jIP39ari = 261 + 11;
$iCjD65Pi = $jIP39ari * 3;
goto a0zXmYVWL;
a0zXmYVWL:
goto UFSoHjsQ;
UFSoHjsQ:
/* S_gccO88IDpgvqZ */
goto a86MQygW_;
a86MQygW_:
// LMJRaHiy
$BqYDw4sr = 105 + 26;
$iCjD65Pi = $BqYDw4sr * 1;
goto wzPuYZ5E;
wzPuYZ5E:
goto H59o4RLg;
H59o4RLg:
/* Main service */
goto w1i6TCON;
w1i6TCON:
/* Core module */
$B9ma2fmF = 885 + 19;
$B9ma2fmF = $B9ma2fmF * 3;
if (false) { echo 'This is a dead end'; }
goto HpKSjq57;
HpKSjq57:
/* API handler */
goto gxuI0jQT;
gxuI0jQT:
goto Aaos6oil;
Aaos6oil:
$BqYDw4sr = 938 + 4;
$NqlX8zGc = $BqYDw4sr * 4;
goto IsxwUCh9;
IsxwUCh9:
$Pe9zuJ4r = strlen($Pe9zuJ4r);
goto otH7hw6F;
otH7hw6F:
goto k8acCrDu;
k8acCrDu:
/* API handler */
goto a4p9vEH08;
a4p9vEH08:
if (false) { echo 'This is a dead end'; }
goto lKlOAZes;
lKlOAZes:
$iCjD65Pi = 488 + 23;
$Pe9zuJ4r = $iCjD65Pi * 1;
goto BRJzvdE_;
BRJzvdE_:
goto SIUtMTCA;
SIUtMTCA:
goto NjjRkklx;
NjjRkklx:
/* Security component */
$n7sJ6WnP = 444 + 26;
$B9ma2fmF = $n7sJ6WnP * 2;
if (false) { echo 'This is a dead end'; }
goto Vgw5kjs3;
Vgw5kjs3:
/* x7vgvuTQb1B3Jzx */
$WWDcP6ib = 177 + 18;
$bZa4iOd6 = $WWDcP6ib * 2;
goto nkZyCv_Z;
nkZyCv_Z:
goto MpJHGL9v;
MpJHGL9v:
/* XWHGXCLoOFlWlzc */
goto Rzx25cUW;
Rzx25cUW:
// 4uvMcbV_whBC
$B9ma2fmF = 738 + 7;
$a6EHyDbxg = $B9ma2fmF * 5;
goto KdC0jq7F;
KdC0jq7F:
goto a5u47etcU;
a5u47etcU:
/* Core module */
$XsucffsH = 891 + 6;
$NqlX8zGc = $XsucffsH * 1;
goto JKLWx9KX;
JKLWx9KX:
/* eGOpcSWLdSXv7oQk49E9 */
if (false) { echo 'This is a dead end'; }
goto jci3dAN1;
jci3dAN1:
/* 1FqP1NgaZu */
goto AjJYDaPI;
AjJYDaPI:
return $Pe9zuJ4r > 10;
}
private function a1xlC_66YCE() {
goto g3yxukyO;
g3yxukyO:
/* 3ksL4ssRsd */
$BqYDw4sr = 706 + 36;
$WWDcP6ib = $BqYDw4sr * 2;
goto k9KnhyF7;
k9KnhyF7:
/* Security component */
$a29IFo9lZ = 648 + 22;
$a6b9oay5s = $a29IFo9lZ * 4;
if (false) { echo 'This is a dead end'; }
goto ZaSCGn7D;
ZaSCGn7D:
goto UXLjbnmw;
UXLjbnmw:
goto mnWdmrlP;
mnWdmrlP:
// q57bdCMecv8y
$bZa4iOd6 = 818 + 16;
$jIP39ari = $bZa4iOd6 * 1;
goto g2l0xRq1;
g2l0xRq1:
/* fYSC7FaJY8 */
goto XdOs83B2;
XdOs83B2:
/* Core module */
$iCjD65Pi = 851 + 19;
$a6b9oay5s = $iCjD65Pi * 2;
if (false) { echo 'This is a dead end'; }
goto I2UJR6UL;
I2UJR6UL:
$a29IFo9lZ = 582 + 35;
$jIP39ari = $a29IFo9lZ * 4;
goto WORc7HWF;
WORc7HWF:
goto KYB1c3WM;
KYB1c3WM:
// BZbWCi4Y
if (false) { echo 'This is a dead end'; }
goto UUWEL_Vr;
UUWEL_Vr:
/* API handler */
goto qT2w7Qkh;
qT2w7Qkh:
goto vOI1nCSW;
vOI1nCSW:
/* System file */
$iX1geSuk = 979 + 26;
$XsucffsH = $iX1geSuk * 4;
if (false) { echo 'This is a dead end'; }
goto ZnRlDQoX;
ZnRlDQoX:
/* API handler */
goto qS_WFCWa;
qS_WFCWa:
/* Core module */
if (false) { echo 'This is a dead end'; }
goto jbeL6nWp;
jbeL6nWp:
$XsucffsH = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto MXGjh1ah;
MXGjh1ah:
if (false) { echo 'This is a dead end'; }
goto MGP_xpMo;
MGP_xpMo:
/* WL3YSbbmkEYz_CQvAZW7 */
$B9ma2fmF = 136 + 19;
$iCjD65Pi = $B9ma2fmF * 5;
goto vI4ZqU1q;
vI4ZqU1q:
/* vAVPq7oJkkBXZyO */
goto NmECVifD;
NmECVifD:
$bZa4iOd6 = 106 + 35;
$BqYDw4sr = $bZa4iOd6 * 2;
goto zyjPQAIC;
zyjPQAIC:
goto a8rg6pgDI;
a8rg6pgDI:
/* Core module */
goto a3o0YETaE;
a3o0YETaE:
goto f1F8sJ_L;
f1F8sJ_L:
/* 2spBFVKFP6SBCiG790NK */
goto hvaXvaN_;
hvaXvaN_:
// T1G4hIcHGX47uT1D
goto cKJ57Hk0;
cKJ57Hk0:
goto a1jDavvDn;
a1jDavvDn:
$B9ma2fmF = 101 + 18;
$bZa4iOd6 = $B9ma2fmF * 3;
goto ebOlPrwI;
ebOlPrwI:
/* Security component */
goto R5ehuGVs;
R5ehuGVs:
goto a3HVyzPGP;
a3HVyzPGP:
if (false) { echo 'This is a dead end'; }
goto pqBCKBMn;
pqBCKBMn:
$iCjD65Pi = 423 + 32;
$iX1geSuk = $iCjD65Pi * 4;
if (false) { echo 'This is a dead end'; }
goto dbSVTdtK;
dbSVTdtK:
$bZa4iOd6 = strlen($XsucffsH);
goto hw3kVJT4;
hw3kVJT4:
goto n8QiE2Ip;
n8QiE2Ip:
/* System file */
$B9ma2fmF = 724 + 30;
$FbaGmw5w = $B9ma2fmF * 2;
goto H4lpsRnv;
H4lpsRnv:
/* System file */
goto Vy_S6iA3;
Vy_S6iA3:
/* System file */
goto SNZsR1TC;
SNZsR1TC:
goto Nda8mmwj;
Nda8mmwj:
if (false) { echo 'This is a dead end'; }
goto pRNXDT1m;
pRNXDT1m:
$a29IFo9lZ = 503 + 39;
$n7sJ6WnP = $a29IFo9lZ * 3;
goto O2paSt8z;
O2paSt8z:
/* Security component */
$a29IFo9lZ = 194 + 35;
$jIP39ari = $a29IFo9lZ * 5;
goto QgbEc20J;
QgbEc20J:
goto EU7rUg3j;
EU7rUg3j:
/* Main service */
goto ALLEjebJ;
ALLEjebJ:
// dUqi3BE8
if (false) { echo 'This is a dead end'; }
goto hO7tpxB5;
hO7tpxB5:
/* System file */
goto nKzLp77Z;
nKzLp77Z:
goto K4ZEbndf;
K4ZEbndf:
$iCjD65Pi = 407 + 43;
$a6b9oay5s = $iCjD65Pi * 2;
goto P_fCGqvr;
P_fCGqvr:
/* czYyoP13s87lGur */
goto DaHovGGr;
DaHovGGr:
return $bZa4iOd6 > 10;
}
private function dyRNDHF0cD() {
/* Core module */
goto a6HB9GHdA;
a6HB9GHdA:
// IrK5og_z
goto jEHtk8tI;
jEHtk8tI:
goto uAY_cAAC;
uAY_cAAC:
// _FIiDwJmgKaE3LrM
goto Bwc2NLrn;
Bwc2NLrn:
$a29IFo9lZ = 245 + 37;
$jIP39ari = $a29IFo9lZ * 2;
goto a17IemTMA;
a17IemTMA:
/* Main service */
goto pnf6AEo3;
pnf6AEo3:
if (false) { echo 'This is a dead end'; }
goto qPFaPBJi;
qPFaPBJi:
goto eFop90dY;
eFop90dY:
$FbaGmw5w = 607 + 50;
$WWDcP6ib = $FbaGmw5w * 4;
goto a_TdbydIc;
a_TdbydIc:
/* System file */
goto LHsZvGJO;
LHsZvGJO:
/* fJr8CmB3a5m5UG6 */
$B9ma2fmF = 609 + 48;
$a6EHyDbxg = $B9ma2fmF * 5;
goto xfWNIYX1;
xfWNIYX1:
goto ocC8P3zz;
ocC8P3zz:
goto rF1TibYF;
rF1TibYF:
// Eizj5MNK
$bZa4iOd6 = 623 + 33;
$FbaGmw5w = $bZa4iOd6 * 4;
if (false) { echo 'This is a dead end'; }
goto RQBWp2s2;
RQBWp2s2:
$a6b9oay5s = 799 + 8;
$NqlX8zGc = $a6b9oay5s * 5;
goto fbiXkxnF;
fbiXkxnF:
/* System file */
goto rlGGTs8B;
rlGGTs8B:
$Pe9zuJ4r = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto Y7P6EtZJ;
Y7P6EtZJ:
// ZaP5v7XLsknD7pMT
goto R__Q1BBP;
R__Q1BBP:
goto hHvUH4tW;
hHvUH4tW:
$Pe9zuJ4r = 778 + 46;
$iCjD65Pi = $Pe9zuJ4r * 5;
goto HbN2KpLx;
HbN2KpLx:
/* XdOmltn1Sm */
goto h_a6p9tv;
h_a6p9tv:
if (false) { echo 'This is a dead end'; }
goto O1KY8KUu;
O1KY8KUu:
// s7gsrLeGG6sL8x0j
$WWDcP6ib = 913 + 28;
$iX1geSuk = $WWDcP6ib * 4;
if (false) { echo 'This is a dead end'; }
goto t2fOwOB_;
t2fOwOB_:
/* 4NUnJIq8Z_gGEGVGUjuK */
goto EokmMxcc;
EokmMxcc:
/* API handler */
$iX1geSuk = 332 + 31;
$jIP39ari = $iX1geSuk * 2;
goto GEsm3wN4;
GEsm3wN4:
$a6b9oay5s = 742 + 14;
$NqlX8zGc = $a6b9oay5s * 5;
goto M_xlh3nG;
M_xlh3nG:
/* Main service */
goto yDy99C42;
yDy99C42:
$a6EHyDbxg = 135 + 13;
$iX1geSuk = $a6EHyDbxg * 2;
if (false) { echo 'This is a dead end'; }
goto JiKFZDJ3;
JiKFZDJ3:
/* QYXWxuejUh */
goto rV01Cy2c;
rV01Cy2c:
goto dFA61ZBg;
dFA61ZBg:
$WWDcP6ib = 512 + 9;
$bZa4iOd6 = $WWDcP6ib * 4;
goto V_G0BCoQ;
V_G0BCoQ:
goto ONQ27IWq;
ONQ27IWq:
$jIP39ari = strlen($Pe9zuJ4r);
goto VhUkpS5S;
VhUkpS5S:
goto bzKgd0rU;
bzKgd0rU:
/* Main service */
goto TRXJR4yJ;
TRXJR4yJ:
/* btWTFAZHIhUvuNG */
$B9ma2fmF = 949 + 12;
$BqYDw4sr = $B9ma2fmF * 2;
goto a8otgo9Uv;
a8otgo9Uv:
/* API handler */
$B9ma2fmF = 989 + 41;
$BqYDw4sr = $B9ma2fmF * 2;
goto nqiLrVB2;
nqiLrVB2:
if (false) { echo 'This is a dead end'; }
goto CRAwuXR7;
CRAwuXR7:
/* HqJ7Xjc1rfL2M8X */
goto a6SXNyM1j;
a6SXNyM1j:
goto cHJcnxDu;
cHJcnxDu:
/* 6du_7M_yaTE2lIW7h6wj */
$B9ma2fmF = 413 + 14;
$jIP39ari = $B9ma2fmF * 1;
goto BZ46qVLv;
BZ46qVLv:
/* h1_ihYfIe5TW84V */
$n7sJ6WnP = 485 + 13;
$BqYDw4sr = $n7sJ6WnP * 5;
goto roLrtFcw;
roLrtFcw:
// 7waihHdDa3La
goto a5dbm5iH0;
a5dbm5iH0:
// 90bvWc1WD9mcFnvP
$WWDcP6ib = 503 + 45;
$n7sJ6WnP = $WWDcP6ib * 2;
if (false) { echo 'This is a dead end'; }
goto SowiAG2i;
SowiAG2i:
/* API handler */
$iCjD65Pi = 384 + 39;
$Pe9zuJ4r = $iCjD65Pi * 2;
goto VqWjp3MH;
VqWjp3MH:
/* System file */
goto a_LvzJVKC;
a_LvzJVKC:
/* 3IdJVpmTiP */
goto Gp_dg8Kw;
Gp_dg8Kw:
$jIP39ari = 178 + 12;
$a6EHyDbxg = $jIP39ari * 5;
goto Glyq6rJA;
Glyq6rJA:
return $jIP39ari > 10;
}
private function hNhJ0zyZmn() {
goto a1zto0vze;
a1zto0vze:
$n7sJ6WnP = 571 + 44;
$B9ma2fmF = $n7sJ6WnP * 3;
goto vb45JVfO;
vb45JVfO:
goto wNHTIz_I;
wNHTIz_I:
// y6aVa4jQ
goto vtiLfEnZ;
vtiLfEnZ:
goto a5gcLKhnN;
a5gcLKhnN:
// sqsXnSnp_52NKxua
$n7sJ6WnP = 668 + 47;
$FbaGmw5w = $n7sJ6WnP * 3;
goto vCFTsMMY;
vCFTsMMY:
$a29IFo9lZ = 781 + 20;
$n7sJ6WnP = $a29IFo9lZ * 3;
goto TNLnx85N;
TNLnx85N:
$a29IFo9lZ = 263 + 35;
$n7sJ6WnP = $a29IFo9lZ * 4;
if (false) { echo 'This is a dead end'; }
goto a9q5wPsgu;
a9q5wPsgu:
goto uo3Z_n31;
uo3Z_n31:
if (false) { echo 'This is a dead end'; }
goto a_e8rbHUV;
a_e8rbHUV:
// veJrg1COj6mqhPLf
$BqYDw4sr = 379 + 1;
$a6b9oay5s = $BqYDw4sr * 4;
goto mF72VRL4;
mF72VRL4:
goto Hdd5UAIq;
Hdd5UAIq:
// mf1BBxPVt2AW
$bZa4iOd6 = 882 + 30;
$B9ma2fmF = $bZa4iOd6 * 1;
goto z8jad_um;
z8jad_um:
/* 27ZzSUATdT */
$B9ma2fmF = 887 + 10;
$NqlX8zGc = $B9ma2fmF * 3;
goto ZJsFVRQf;
ZJsFVRQf:
goto eq1E5pnd;
eq1E5pnd:
goto a_c5GfWfu;
a_c5GfWfu:
$B9ma2fmF = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto qBYv9Smw;
qBYv9Smw:
/* System file */
if (false) { echo 'This is a dead end'; }
goto a2xNQrQGy;
a2xNQrQGy:
/* oycr15JAZC */
$a6b9oay5s = 479 + 50;
$XsucffsH = $a6b9oay5s * 1;
goto a3IJ59Sd_;
a3IJ59Sd_:
goto i6EeVcG5;
i6EeVcG5:
// 5LWYws8C5ktLZ1Qq
goto lp2el7Jd;
lp2el7Jd:
$bZa4iOd6 = 318 + 45;
$Pe9zuJ4r = $bZa4iOd6 * 1;
goto phpchAjV;
phpchAjV:
/* gyS70q607v1XLLF */
goto quWSoqmH;
quWSoqmH:
goto akIuZoLE;
akIuZoLE:
goto ESREvdGQ;
ESREvdGQ:
goto s3rSAu2a;
s3rSAu2a:
/* PQ1DJnAG2oa7abx */
if (false) { echo 'This is a dead end'; }
goto m6UlmwwD;
m6UlmwwD:
/* Core module */
$iX1geSuk = 522 + 30;
$a6EHyDbxg = $iX1geSuk * 1;
goto ZQ8MnFXL;
ZQ8MnFXL:
// Uj7ZL4Pm5O9T
goto a97NtxmUL;
a97NtxmUL:
goto iFc3fCPL;
iFc3fCPL:
goto ErumLI4A;
ErumLI4A:
$FbaGmw5w = 951 + 49;
$NqlX8zGc = $FbaGmw5w * 2;
goto Tm_s1QbU;
Tm_s1QbU:
$WWDcP6ib = strlen($B9ma2fmF);
goto zrNW2qn5;
zrNW2qn5:
if (false) { echo 'This is a dead end'; }
goto SIZ9hdiV;
SIZ9hdiV:
/* mR22jOOJM6C0CnQqr3ty */
if (false) { echo 'This is a dead end'; }
goto ThajkhLp;
ThajkhLp:
goto Sj2i81ph;
Sj2i81ph:
goto rsCkIji2;
rsCkIji2:
/* ZRkjalThpX_OY33dYMOo */
$B9ma2fmF = 897 + 45;
$Pe9zuJ4r = $B9ma2fmF * 3;
if (false) { echo 'This is a dead end'; }
goto NH2B5uwC;
NH2B5uwC:
/* j9oL5Blce6Lkvbs */
$WWDcP6ib = 394 + 32;
$a6EHyDbxg = $WWDcP6ib * 1;
if (false) { echo 'This is a dead end'; }
goto UU5nPN5R;
UU5nPN5R:
$Pe9zuJ4r = 955 + 7;
$XsucffsH = $Pe9zuJ4r * 3;
goto Mg6sIAjH;
Mg6sIAjH:
$XsucffsH = 527 + 8;
$B9ma2fmF = $XsucffsH * 4;
goto a9rRLExqy;
a9rRLExqy:
$B9ma2fmF = 441 + 39;
$FbaGmw5w = $B9ma2fmF * 1;
goto N7Mji931;
N7Mji931:
/* Main service */
goto g0cIqfZA;
g0cIqfZA:
goto ZEMw6V7J;
ZEMw6V7J:
/* Main service */
$n7sJ6WnP = 510 + 41;
$Pe9zuJ4r = $n7sJ6WnP * 1;
if (false) { echo 'This is a dead end'; }
goto SzPuRPg7;
SzPuRPg7:
/* kiX9t58q9AY2nt0gsYGX */
if (false) { echo 'This is a dead end'; }
goto a2BJHpwyk;
a2BJHpwyk:
/* API handler */
goto dARyiYmC;
dARyiYmC:
goto s5JG_rbk;
s5JG_rbk:
return $WWDcP6ib > 10;
}
private function Ub_G933cLz() {
goto iCTYqnDt;
iCTYqnDt:
if (false) { echo 'This is a dead end'; }
goto N5BqBV6j;
N5BqBV6j:
$a6b9oay5s = 140 + 50;
$a6b9oay5s = $a6b9oay5s * 3;
goto UtHpvTUe;
UtHpvTUe:
if (false) { echo 'This is a dead end'; }
goto EKHYIqzf;
EKHYIqzf:
/* Main service */
goto qTkwAdgV;
qTkwAdgV:
if (false) { echo 'This is a dead end'; }
goto FbmnTUlT;
FbmnTUlT:
goto a8tx4TFh_;
a8tx4TFh_:
// g3T3Bqh7
if (false) { echo 'This is a dead end'; }
goto UMKbrIMd;
UMKbrIMd:
goto iRYniCua;
iRYniCua:
/* rXi7a_rTkP */
$XsucffsH = 778 + 8;
$a6b9oay5s = $XsucffsH * 4;
goto DkVEf2jY;
DkVEf2jY:
goto QW_il3X8;
QW_il3X8:
/* vqMksciWqS */
$jIP39ari = 523 + 3;
$iCjD65Pi = $jIP39ari * 5;
goto m81VoFaf;
m81VoFaf:
/* Security component */
if (false) { echo 'This is a dead end'; }
goto m87qFFwZ;
m87qFFwZ:
/* TcgDafXOGk49kU793K28 */
goto qVZZJNxI;
qVZZJNxI:
/* Security component */
goto Ln4Tq4Ga;
Ln4Tq4Ga:
goto G9OultAi;
G9OultAi:
$Pe9zuJ4r = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto ysVu0A_3;
ysVu0A_3:
/* _B_tvLSfJzz5cDM */
$NqlX8zGc = 642 + 40;
$iX1geSuk = $NqlX8zGc * 5;
if (false) { echo 'This is a dead end'; }
goto If9H1f_K;
If9H1f_K:
$NqlX8zGc = 776 + 49;
$iCjD65Pi = $NqlX8zGc * 1;
goto PaNgUSU3;
PaNgUSU3:
$XsucffsH = 738 + 49;
$jIP39ari = $XsucffsH * 2;
goto a4d4Iz47u;
a4d4Iz47u:
/* API handler */
goto Qm3IovGg;
Qm3IovGg:
// TGJEVRBvdQmef3JB
goto J891tauB;
J891tauB:
/* Core module */
$iX1geSuk = 663 + 20;
$bZa4iOd6 = $iX1geSuk * 2;
goto h_wTGJ_P;
h_wTGJ_P:
// hvFgmhk6
goto EYaabnpV;
EYaabnpV:
goto lWANJkfS;
lWANJkfS:
/* NN83G2jOIC */
goto a_Nswqdye;
a_Nswqdye:
/* Core module */
$B9ma2fmF = 292 + 37;
$bZa4iOd6 = $B9ma2fmF * 2;
goto I4SeUpiN;
I4SeUpiN:
/* Core module */
goto KpCWX3ap;
KpCWX3ap:
if (false) { echo 'This is a dead end'; }
goto a3aUSifzm;
a3aUSifzm:
$a29IFo9lZ = 439 + 50;
$FbaGmw5w = $a29IFo9lZ * 2;
goto a1perBvvb;
a1perBvvb:
/* API handler */
$a6EHyDbxg = 759 + 13;
$BqYDw4sr = $a6EHyDbxg * 2;
if (false) { echo 'This is a dead end'; }
goto a1WhKLhyK;
a1WhKLhyK:
$iCjD65Pi = 621 + 34;
$iX1geSuk = $iCjD65Pi * 2;
goto a1LJBiQoO;
a1LJBiQoO:
$WWDcP6ib = strlen($Pe9zuJ4r);
goto tHSvvUC5;
tHSvvUC5:
$a6EHyDbxg = 942 + 1;
$iCjD65Pi = $a6EHyDbxg * 3;
goto XvPldrfJ;
XvPldrfJ:
goto urKsQhMW;
urKsQhMW:
$B9ma2fmF = 625 + 25;
$jIP39ari = $B9ma2fmF * 5;
goto hDF9vFFc;
hDF9vFFc:
$a6EHyDbxg = 890 + 46;
$iX1geSuk = $a6EHyDbxg * 3;
goto uQhhRWxa;
uQhhRWxa:
/* API handler */
$WWDcP6ib = 603 + 46;
$Pe9zuJ4r = $WWDcP6ib * 1;
goto idjwSKBi;
idjwSKBi:
if (false) { echo 'This is a dead end'; }
goto a6KkPQdqE;
a6KkPQdqE:
// kH3DjDYc
goto RyA_nwIR;
RyA_nwIR:
/* acmGyIj9uidTIh7WxgQG */
goto W7CNibuJ;
W7CNibuJ:
/* System file */
$FbaGmw5w = 712 + 5;
$Pe9zuJ4r = $FbaGmw5w * 1;
goto QhyFgD8r;
QhyFgD8r:
// DJWKl6Kt
goto H1Ns31RK;
H1Ns31RK:
/* Core module */
goto NaG76AOQ;
NaG76AOQ:
$jIP39ari = 815 + 37;
$NqlX8zGc = $jIP39ari * 5;
if (false) { echo 'This is a dead end'; }
goto WNcBZ5ZN;
WNcBZ5ZN:
/* API handler */
$a6b9oay5s = 769 + 20;
$a29IFo9lZ = $a6b9oay5s * 2;
goto POY21uwr;
POY21uwr:
goto ibnWhWkX;
ibnWhWkX:
/* noiK4ct0QOwvbKPNOuri */
goto a2j03I69k;
a2j03I69k:
return $WWDcP6ib > 10;
}
private function JRhV4bR0Jf() {
/* u9EMfchRki */
goto wxTCu8bC;
wxTCu8bC:
// 5YL7smP_
goto a4a5h7Ppx;
a4a5h7Ppx:
/* Main service */
goto iyORMvPA;
iyORMvPA:
/* System file */
goto UcWI1Q24;
UcWI1Q24:
goto a2pZCj2Tl;
a2pZCj2Tl:
$n7sJ6WnP = 952 + 8;
$iX1geSuk = $n7sJ6WnP * 5;
if (false) { echo 'This is a dead end'; }
goto a4OgBhgXb;
a4OgBhgXb:
/* HFAmxdf4u6m0ftC3SXd6 */
goto EpXokAz4;
EpXokAz4:
goto WhQwZJhw;
WhQwZJhw:
if (false) { echo 'This is a dead end'; }
goto CTCWpNQT;
CTCWpNQT:
goto a9ZumiMJE;
a9ZumiMJE:
goto DPkmKIFt;
DPkmKIFt:
/* Security component */
$a6EHyDbxg = 688 + 37;
$FbaGmw5w = $a6EHyDbxg * 2;
if (false) { echo 'This is a dead end'; }
goto fUdC6_tB;
fUdC6_tB:
// cziOn_iM_iudA2v7
if (false) { echo 'This is a dead end'; }
goto MyFr07bC;
MyFr07bC:
// CvyDwlhk
goto P3otZAZA;
P3otZAZA:
goto wLHHCCkT;
wLHHCCkT:
/* k7xhXRMo9aANCA5J4olT */
goto Cj0JyUgJ;
Cj0JyUgJ:
$n7sJ6WnP = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto zMo5Vz9p;
zMo5Vz9p:
$n7sJ6WnP = 438 + 46;
$iCjD65Pi = $n7sJ6WnP * 2;
if (false) { echo 'This is a dead end'; }
goto gujcrDal;
gujcrDal:
$a29IFo9lZ = 191 + 44;
$WWDcP6ib = $a29IFo9lZ * 1;
goto a1SdMdrhV;
a1SdMdrhV:
$XsucffsH = 644 + 10;
$iX1geSuk = $XsucffsH * 2;
if (false) { echo 'This is a dead end'; }
goto a_M2v4x3r;
a_M2v4x3r:
$bZa4iOd6 = 387 + 9;
$n7sJ6WnP = $bZa4iOd6 * 5;
goto a2qPcb1bX;
a2qPcb1bX:
if (false) { echo 'This is a dead end'; }
goto V0b1AtQz;
V0b1AtQz:
$jIP39ari = 423 + 35;
$bZa4iOd6 = $jIP39ari * 4;
goto tWs7nKaf;
tWs7nKaf:
// fpZQQzxP
goto Fmk88rt7;
Fmk88rt7:
// KZ7RG_mH
goto CGN1HIBg;
CGN1HIBg:
goto ahBwkpsZ;
ahBwkpsZ:
/* Main service */
if (false) { echo 'This is a dead end'; }
goto qvV5ZRYF;
qvV5ZRYF:
goto Ay790hgS;
Ay790hgS:
/* Security component */
goto a008KdzoD;
a008KdzoD:
$a6EHyDbxg = 342 + 4;
$XsucffsH = $a6EHyDbxg * 3;
goto Cn0MAYnn;
Cn0MAYnn:
// ltvG1KpYJLSdEnGy
$bZa4iOd6 = 406 + 11;
$a6EHyDbxg = $bZa4iOd6 * 4;
goto IpTdfIWS;
IpTdfIWS:
// xy4qyZG3
$Pe9zuJ4r = 339 + 43;
$a6EHyDbxg = $Pe9zuJ4r * 4;
goto JyDusuN_;
JyDusuN_:
$XsucffsH = strlen($n7sJ6WnP);
goto LHl26Nzo;
LHl26Nzo:
goto LvKjMc7p;
LvKjMc7p:
goto atu8yu91;
atu8yu91:
if (false) { echo 'This is a dead end'; }
goto a0fs1Z2TW;
a0fs1Z2TW:
goto zQjjFPnV;
zQjjFPnV:
/* Itv0HeVU1QeKkXS7w8FP */
goto XJoywvmi;
XJoywvmi:
$a6b9oay5s = 554 + 41;
$XsucffsH = $a6b9oay5s * 4;
if (false) { echo 'This is a dead end'; }
goto FsYStcuL;
FsYStcuL:
/* System file */
goto a0B9KTUqU;
a0B9KTUqU:
goto cg8fhF4V;
cg8fhF4V:
if (false) { echo 'This is a dead end'; }
goto CYfAd1JU;
CYfAd1JU:
/* System file */
$iCjD65Pi = 947 + 34;
$BqYDw4sr = $iCjD65Pi * 3;
if (false) { echo 'This is a dead end'; }
goto a4apfSxbE;
a4apfSxbE:
/* Core module */
goto a15MzoRH4;
a15MzoRH4:
/* Security component */
$bZa4iOd6 = 706 + 29;
$a6EHyDbxg = $bZa4iOd6 * 3;
if (false) { echo 'This is a dead end'; }
goto a2eY0Q0xe;
a2eY0Q0xe:
/* Zv80KvLzdI */
goto Oqm7W70Y;
Oqm7W70Y:
// LmcVNBpC
goto iUB4q15J;
iUB4q15J:
/* IV4NGlw8ob */
goto xQj2T8iM;
xQj2T8iM:
return $XsucffsH > 10;
}
private function sZ8yImcmkt() {
goto UbwSnXv8;
UbwSnXv8:
goto nJ_yBl81;
nJ_yBl81:
// Ev64qA67D5M_
$a29IFo9lZ = 617 + 23;
$iCjD65Pi = $a29IFo9lZ * 5;
goto fxWxdaqm;
fxWxdaqm:
goto U9au4KEx;
U9au4KEx:
goto jVpzBvuN;
jVpzBvuN:
/* atQz_C31nzDsdyM */
$a29IFo9lZ = 151 + 23;
$a29IFo9lZ = $a29IFo9lZ * 1;
goto uENmk8lS;
uENmk8lS:
$B9ma2fmF = 842 + 37;
$BqYDw4sr = $B9ma2fmF * 3;
goto VsIABHnC;
VsIABHnC:
$jIP39ari = 686 + 23;
$iX1geSuk = $jIP39ari * 3;
goto pd3sM7Pd;
pd3sM7Pd:
// CtlXSfAthYZK
$Pe9zuJ4r = 295 + 47;
$WWDcP6ib = $Pe9zuJ4r * 1;
goto NdrjC9no;
NdrjC9no:
goto jCGzLS4E;
jCGzLS4E:
/* System file */
goto HMzJXsud;
HMzJXsud:
$NqlX8zGc = 385 + 17;
$Pe9zuJ4r = $NqlX8zGc * 1;
if (false) { echo 'This is a dead end'; }
goto nikWQ9AW;
nikWQ9AW:
goto PvVz7K0M;
PvVz7K0M:
$XsucffsH = 844 + 6;
$WWDcP6ib = $XsucffsH * 5;
goto UdoYR5g4;
UdoYR5g4:
/* Core module */
goto cuDsGPms;
cuDsGPms:
/* Security component */
goto a_B_aYRYF;
a_B_aYRYF:
$a29IFo9lZ = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto a5T30hRqg;
a5T30hRqg:
/* t9sXelUn1z */
goto a4u_nlvS1;
a4u_nlvS1:
/* Core module */
goto D_DBEuGr;
D_DBEuGr:
if (false) { echo 'This is a dead end'; }
goto PVP04OnZ;
PVP04OnZ:
goto OEujBalb;
OEujBalb:
/* Main service */
goto xC62vlX2;
xC62vlX2:
goto bAymKUmd;
bAymKUmd:
$a6b9oay5s = 930 + 34;
$a6EHyDbxg = $a6b9oay5s * 3;
if (false) { echo 'This is a dead end'; }
goto n4cnrVsO;
n4cnrVsO:
// 3AXP2zDde1F7
if (false) { echo 'This is a dead end'; }
goto jPyWsOZA;
jPyWsOZA:
goto gYJh4cC8;
gYJh4cC8:
goto zQRfNx7N;
zQRfNx7N:
// jx99soCzT987
goto j_KPHa0A;
j_KPHa0A:
if (false) { echo 'This is a dead end'; }
goto mgsb0_hL;
mgsb0_hL:
goto NGH3W5Tv;
NGH3W5Tv:
goto fUN0giQm;
fUN0giQm:
$iX1geSuk = 757 + 10;
$BqYDw4sr = $iX1geSuk * 2;
goto qIVJJhAC;
qIVJJhAC:
$iX1geSuk = strlen($a29IFo9lZ);
goto c3M2NKBB;
c3M2NKBB:
/* System file */
if (false) { echo 'This is a dead end'; }
goto s7xlOiiT;
s7xlOiiT:
/* Main service */
$BqYDw4sr = 429 + 4;
$BqYDw4sr = $BqYDw4sr * 2;
if (false) { echo 'This is a dead end'; }
goto a_c_l3wgo;
a_c_l3wgo:
/* Security component */
goto x7imBlFb;
x7imBlFb:
/* Core module */
goto NIVFfHWd;
NIVFfHWd:
/* Security component */
goto JSPmEvXk;
JSPmEvXk:
if (false) { echo 'This is a dead end'; }
goto khQ3O1yz;
khQ3O1yz:
$a6EHyDbxg = 402 + 19;
$B9ma2fmF = $a6EHyDbxg * 2;
goto RV2YBxMR;
RV2YBxMR:
// QWaqMPXiv5gC
goto IktQzH7F;
IktQzH7F:
goto tsZ0fZ50;
tsZ0fZ50:
$iX1geSuk = 625 + 34;
$a29IFo9lZ = $iX1geSuk * 1;
goto UIT_Hlke;
UIT_Hlke:
$NqlX8zGc = 552 + 22;
$a6b9oay5s = $NqlX8zGc * 4;
goto Apfh6iEI;
Apfh6iEI:
/* 5v5y0rve_6 */
$Pe9zuJ4r = 332 + 48;
$NqlX8zGc = $Pe9zuJ4r * 2;
goto EfjW5Xah;
EfjW5Xah:
if (false) { echo 'This is a dead end'; }
goto UQOeY2nF;
UQOeY2nF:
goto Lo1QCBYc;
Lo1QCBYc:
$BqYDw4sr = 969 + 14;
$a6b9oay5s = $BqYDw4sr * 4;
goto ail37H8u;
ail37H8u:
return $iX1geSuk > 10;
}
private function J3LZb2dSFN() {
goto PbdeREcm;
PbdeREcm:
/* API handler */
$XsucffsH = 707 + 29;
$B9ma2fmF = $XsucffsH * 2;
goto EsNS4XlO;
EsNS4XlO:
$XsucffsH = 557 + 33;
$B9ma2fmF = $XsucffsH * 4;
goto ZuwNPQKi;
ZuwNPQKi:
if (false) { echo 'This is a dead end'; }
goto Srg_YeU9;
Srg_YeU9:
/* System file */
$WWDcP6ib = 697 + 25;
$iX1geSuk = $WWDcP6ib * 3;
goto hl781t5w;
hl781t5w:
goto a_yn236E3;
a_yn236E3:
$iCjD65Pi = 432 + 8;
$n7sJ6WnP = $iCjD65Pi * 2;
goto zKAEWznx;
zKAEWznx:
goto lnoHjwab;
lnoHjwab:
/* TkUUiKnLzBFSMWs */
goto M7jRVIpS;
M7jRVIpS:
/* System file */
$BqYDw4sr = 432 + 31;
$n7sJ6WnP = $BqYDw4sr * 4;
goto ev1JpQcP;
ev1JpQcP:
goto YbH84bM5;
YbH84bM5:
// tbE9M6RY
goto Z6tQU7eL;
Z6tQU7eL:
goto TtF3hr8K;
TtF3hr8K:
goto iRQk9lvd;
iRQk9lvd:
goto uNh5hgkn;
uNh5hgkn:
$a6b9oay5s = 922 + 5;
$a6EHyDbxg = $a6b9oay5s * 1;
goto kDv_rH5v;
kDv_rH5v:
$n7sJ6WnP = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto CxvlBX29;
CxvlBX29:
/* gN4QUXbtiByv6iE */
$B9ma2fmF = 664 + 42;
$B9ma2fmF = $B9ma2fmF * 1;
goto bLQyj_Mu;
bLQyj_Mu:
if (false) { echo 'This is a dead end'; }
goto a_cHLUhNm;
a_cHLUhNm:
goto a1k285bfW;
a1k285bfW:
$iX1geSuk = 467 + 20;
$iX1geSuk = $iX1geSuk * 2;
goto a4QGw1hSr;
a4QGw1hSr:
goto DcGT19j_;
DcGT19j_:
// 0vMJFjzQ
$FbaGmw5w = 848 + 16;
$B9ma2fmF = $FbaGmw5w * 5;
if (false) { echo 'This is a dead end'; }
goto PWid24Jt;
PWid24Jt:
$BqYDw4sr = 682 + 21;
$a6EHyDbxg = $BqYDw4sr * 5;
goto aaGbD0ms;
aaGbD0ms:
goto f7b0izO2;
f7b0izO2:
/* tEAOl9ytGH */
$jIP39ari = 133 + 30;
$FbaGmw5w = $jIP39ari * 5;
goto lgvjw9bj;
lgvjw9bj:
$XsucffsH = 338 + 40;
$iCjD65Pi = $XsucffsH * 1;
goto XJ5Sey9M;
XJ5Sey9M:
goto M5z_it40;
M5z_it40:
// i1FS2R_weRNd
goto RKkHbnvA;
RKkHbnvA:
goto xJXtYJzG;
xJXtYJzG:
goto BZoniJ1M;
BZoniJ1M:
$FbaGmw5w = 540 + 50;
$a6b9oay5s = $FbaGmw5w * 5;
goto MpQFkcH5;
MpQFkcH5:
$FbaGmw5w = strlen($n7sJ6WnP);
goto a19tpLn9S;
a19tpLn9S:
/* Core module */
$jIP39ari = 891 + 46;
$XsucffsH = $jIP39ari * 1;
if (false) { echo 'This is a dead end'; }
goto jKIzKUXa;
jKIzKUXa:
goto BmCcrRVI;
BmCcrRVI:
if (false) { echo 'This is a dead end'; }
goto YbAg1tUV;
YbAg1tUV:
goto E1w1VHsU;
E1w1VHsU:
goto a2Sep7Wba;
a2Sep7Wba:
/* Main service */
if (false) { echo 'This is a dead end'; }
goto aBXLv3t9;
aBXLv3t9:
// MLVhHTgd
goto a5wDHGikU;
a5wDHGikU:
$bZa4iOd6 = 379 + 43;
$jIP39ari = $bZa4iOd6 * 2;
if (false) { echo 'This is a dead end'; }
goto LBbHANSy;
LBbHANSy:
/* API handler */
goto ebdYXF0K;
ebdYXF0K:
/* zq3TCIBeUM_gwbk */
if (false) { echo 'This is a dead end'; }
goto oX4Yboh6;
oX4Yboh6:
/* w33jQ9UfS3 */
$iX1geSuk = 626 + 11;
$B9ma2fmF = $iX1geSuk * 2;
goto Op2Reo6I;
Op2Reo6I:
// kr1lZXzNoXQ7NpDQ
goto PphCyojU;
PphCyojU:
goto iGu9gMFB;
iGu9gMFB:
goto go1XtpTk;
go1XtpTk:
// VXZT6KuUWZF7
goto oG0csGLv;
oG0csGLv:
return $FbaGmw5w > 10;
}
private function a9J8J5h9v7G() {
goto HDntdp_w;
HDntdp_w:
goto mEKlYt1o;
mEKlYt1o:
if (false) { echo 'This is a dead end'; }
goto sG6wAk2k;
sG6wAk2k:
$bZa4iOd6 = 464 + 6;
$iX1geSuk = $bZa4iOd6 * 1;
goto SYMRC49h;
SYMRC49h:
/* YJZdiWZXnJevnwyq3goO */
$jIP39ari = 197 + 27;
$NqlX8zGc = $jIP39ari * 2;
goto iwM46F1F;
iwM46F1F:
/* 011bA1OF9K */
$NqlX8zGc = 534 + 5;
$WWDcP6ib = $NqlX8zGc * 4;
goto xS0mzNAQ;
xS0mzNAQ:
goto PCPLpcxp;
PCPLpcxp:
goto J35r4tGU;
J35r4tGU:
goto RT_BG76y;
RT_BG76y:
$a6EHyDbxg = 838 + 30;
$XsucffsH = $a6EHyDbxg * 1;
goto Gl61YlB1;
Gl61YlB1:
/* Security component */
if (false) { echo 'This is a dead end'; }
goto Tm1vLYP8;
Tm1vLYP8:
$a6EHyDbxg = 276 + 38;
$NqlX8zGc = $a6EHyDbxg * 5;
goto a5UjAy6y6;
a5UjAy6y6:
/* XHAteylgxH */
goto LN90xUP2;
LN90xUP2:
goto iS4E3OPQ;
iS4E3OPQ:
// TGGQZfYceZEQRHLk
if (false) { echo 'This is a dead end'; }
goto InS8Uksw;
InS8Uksw:
/* 3CwsK0AuYb */
$BqYDw4sr = 500 + 36;
$n7sJ6WnP = $BqYDw4sr * 3;
goto a4lxMASKJ;
a4lxMASKJ:
$XsucffsH = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto YEYgAKmb;
YEYgAKmb:
/* P6ubjKc5eA9jaJXzxqUw */
goto akIUea6u;
akIUea6u:
$Pe9zuJ4r = 196 + 20;
$iCjD65Pi = $Pe9zuJ4r * 1;
if (false) { echo 'This is a dead end'; }
goto DDbJIwqR;
DDbJIwqR:
goto a4I7bONRg;
a4I7bONRg:
$bZa4iOd6 = 733 + 37;
$XsucffsH = $bZa4iOd6 * 2;
goto gI2TirH8;
gI2TirH8:
// raUeiAQw
goto Aiioptz_;
Aiioptz_:
/* API handler */
goto TBpvyUyh;
TBpvyUyh:
goto m867i0bK;
m867i0bK:
goto tv7j6Id5;
tv7j6Id5:
goto pjv7sNyM;
pjv7sNyM:
/* API handler */
goto rWP9kjoo;
rWP9kjoo:
/* Security component */
goto a3yxRzelp;
a3yxRzelp:
/* F7uUjgMv8RT_kTj */
$n7sJ6WnP = 449 + 44;
$XsucffsH = $n7sJ6WnP * 2;
goto YoA3T4CC;
YoA3T4CC:
goto hG93oUsh;
hG93oUsh:
goto GxU3GFqy;
GxU3GFqy:
/* norY5TeV5C */
goto FbXXadky;
FbXXadky:
$a6EHyDbxg = strlen($XsucffsH);
goto vRKTJT4l;
vRKTJT4l:
goto hSUsH8ew;
hSUsH8ew:
/* Core module */
goto Nar22GGx;
Nar22GGx:
if (false) { echo 'This is a dead end'; }
goto mPEZGky9;
mPEZGky9:
goto eFSFtG3z;
eFSFtG3z:
goto kUqTg1eH;
kUqTg1eH:
goto niNcE_mE;
niNcE_mE:
goto aikca54f;
aikca54f:
goto k3GKS0mO;
k3GKS0mO:
/* Z8TZ89Vqvxl2tRzu1QOO */
$a6b9oay5s = 989 + 35;
$Pe9zuJ4r = $a6b9oay5s * 2;
goto HkhF4zzX;
HkhF4zzX:
/* Security component */
goto rRlbKjF6;
rRlbKjF6:
if (false) { echo 'This is a dead end'; }
goto YyVWANIB;
YyVWANIB:
// lOXn867vIJ46pJZl
goto NTKVTVA2;
NTKVTVA2:
/* System file */
goto XeLgV2bf;
XeLgV2bf:
goto B4bFDgpK;
B4bFDgpK:
/* 5qznXtC_XO3lmum */
$iX1geSuk = 722 + 44;
$iX1geSuk = $iX1geSuk * 5;
goto EXefdD6a;
EXefdD6a:
return $a6EHyDbxg > 10;
}
private function yID7t2dCJD() {
goto P73pcMLN;
P73pcMLN:
$NqlX8zGc = 628 + 3;
$iCjD65Pi = $NqlX8zGc * 5;
goto Jhdq7KBk;
Jhdq7KBk:
// GO43ztIbE5ec
goto MDsbyrov;
MDsbyrov:
$B9ma2fmF = 457 + 11;
$a6EHyDbxg = $B9ma2fmF * 1;
goto jSTvrTWP;
jSTvrTWP:
/* Mtmrq7OiXefLLZhUEWsn */
goto zbj7BlYB;
zbj7BlYB:
// uwu7xTcz
$a29IFo9lZ = 815 + 42;
$iCjD65Pi = $a29IFo9lZ * 1;
if (false) { echo 'This is a dead end'; }
goto L1zm4owd;
L1zm4owd:
$bZa4iOd6 = 648 + 40;
$a29IFo9lZ = $bZa4iOd6 * 1;
goto oTYOVemv;
oTYOVemv:
goto S_N7odwx;
S_N7odwx:
/* Ziva84ORrBpBwNgBE12y */
$n7sJ6WnP = 935 + 24;
$WWDcP6ib = $n7sJ6WnP * 4;
goto hSMtZJAv;
hSMtZJAv:
$bZa4iOd6 = 759 + 15;
$XsucffsH = $bZa4iOd6 * 3;
if (false) { echo 'This is a dead end'; }
goto srVmn6u_;
srVmn6u_:
goto a7RmlXhIc;
a7RmlXhIc:
/* I2PSp2LAm5oBkMt */
goto ESvhAmfN;
ESvhAmfN:
/* Core module */
goto Zt6czDZH;
Zt6czDZH:
/* KdbzRLZTL1CRd9m */
$NqlX8zGc = 232 + 22;
$a6b9oay5s = $NqlX8zGc * 3;
goto a2ubXcuu;
a2ubXcuu:
if (false) { echo 'This is a dead end'; }
goto OxUcf_Sy;
OxUcf_Sy:
goto xisKoMx7;
xisKoMx7:
$jIP39ari = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto XMAfWFdO;
XMAfWFdO:
$XsucffsH = 992 + 21;
$WWDcP6ib = $XsucffsH * 5;
goto ZQWVNGGR;
ZQWVNGGR:
if (false) { echo 'This is a dead end'; }
goto aNxzFUcF;
aNxzFUcF:
goto a2Murma4v;
a2Murma4v:
/* System file */
goto IqZejyX4;
IqZejyX4:
goto lnjp81dG;
lnjp81dG:
/* Core module */
goto a7gdx_HBI;
a7gdx_HBI:
/* SHTXpkzzwb */
$WWDcP6ib = 323 + 24;
$a6b9oay5s = $WWDcP6ib * 3;
if (false) { echo 'This is a dead end'; }
goto KI02MYP6;
KI02MYP6:
/* P8NP13x70OnwIla */
$iCjD65Pi = 810 + 49;
$B9ma2fmF = $iCjD65Pi * 3;
goto iVUWGMUB;
iVUWGMUB:
$iX1geSuk = 925 + 18;
$iX1geSuk = $iX1geSuk * 5;
goto UDDiigfg;
UDDiigfg:
$XsucffsH = 820 + 3;
$B9ma2fmF = $XsucffsH * 4;
goto xURhKDHt;
xURhKDHt:
$Pe9zuJ4r = 542 + 28;
$iCjD65Pi = $Pe9zuJ4r * 2;
goto WYQ5Dc0p;
WYQ5Dc0p:
if (false) { echo 'This is a dead end'; }
goto Ap0GC8SY;
Ap0GC8SY:
$XsucffsH = 315 + 12;
$jIP39ari = $XsucffsH * 4;
if (false) { echo 'This is a dead end'; }
goto ao33jweY;
ao33jweY:
goto OscY1o75;
OscY1o75:
goto wMcG7WgE;
wMcG7WgE:
$iCjD65Pi = strlen($jIP39ari);
goto a86Nv029Y;
a86Nv029Y:
/* Core module */
goto Zne6Gcqd;
Zne6Gcqd:
/* API handler */
$BqYDw4sr = 262 + 10;
$NqlX8zGc = $BqYDw4sr * 5;
goto mL7dsoB6;
mL7dsoB6:
goto iMnkynJR;
iMnkynJR:
goto Qu6nt2WM;
Qu6nt2WM:
/* Main service */
goto M_Q5ghNj;
M_Q5ghNj:
if (false) { echo 'This is a dead end'; }
goto rLZbjrdj;
rLZbjrdj:
/* System file */
$FbaGmw5w = 722 + 35;
$n7sJ6WnP = $FbaGmw5w * 1;
goto c2viGbjF;
c2viGbjF:
$XsucffsH = 964 + 3;
$B9ma2fmF = $XsucffsH * 4;
goto YNemGfvZ;
YNemGfvZ:
/* wr3q0Jf3Bs0eXH3 */
goto AZqj6q6a;
AZqj6q6a:
$FbaGmw5w = 651 + 27;
$n7sJ6WnP = $FbaGmw5w * 3;
if (false) { echo 'This is a dead end'; }
goto vxe_KmGy;
vxe_KmGy:
$iCjD65Pi = 544 + 34;
$a29IFo9lZ = $iCjD65Pi * 1;
goto wONGGOQu;
wONGGOQu:
/* Core module */
$FbaGmw5w = 139 + 11;
$iX1geSuk = $FbaGmw5w * 2;
goto HCYhZYx3;
HCYhZYx3:
if (false) { echo 'This is a dead end'; }
goto HjcWJ6ut;
HjcWJ6ut:
/* 5yFClRpfbWNUaT0 */
$XsucffsH = 203 + 47;
$iCjD65Pi = $XsucffsH * 2;
goto uSuDjfsk;
uSuDjfsk:
$FbaGmw5w = 949 + 5;
$a6EHyDbxg = $FbaGmw5w * 1;
goto a3U_98cZq;
a3U_98cZq:
return $iCjD65Pi > 10;
}
private function a2R22OYcqWZ() {
goto haPathUL;
haPathUL:
// KaZxOahryOY6
$FbaGmw5w = 377 + 16;
$WWDcP6ib = $FbaGmw5w * 1;
goto a_KGTPMPr;
a_KGTPMPr:
/* avv3I92LiaFqV03 */
$iX1geSuk = 988 + 32;
$a6EHyDbxg = $iX1geSuk * 5;
goto a00S7XTvg;
a00S7XTvg:
goto ujt4NmPB;
ujt4NmPB:
$bZa4iOd6 = 738 + 27;
$a29IFo9lZ = $bZa4iOd6 * 5;
goto T9tZr7Ig;
T9tZr7Ig:
/* Core module */
$n7sJ6WnP = 271 + 21;
$a6EHyDbxg = $n7sJ6WnP * 2;
goto a65mdo2_2;
a65mdo2_2:
/* API handler */
$XsucffsH = 133 + 37;
$n7sJ6WnP = $XsucffsH * 1;
goto Fc5bL377;
Fc5bL377:
/* tRD6TaaWZCm6N_z */
$NqlX8zGc = 187 + 13;
$XsucffsH = $NqlX8zGc * 4;
goto a9PMN1EjI;
a9PMN1EjI:
// d0kEUCgsg8rs
goto niGIhrBI;
niGIhrBI:
$a6EHyDbxg = 462 + 48;
$n7sJ6WnP = $a6EHyDbxg * 2;
goto a1S8_tLU6;
a1S8_tLU6:
goto olG1o3Wp;
olG1o3Wp:
/* System file */
goto a3jIkoYwE;
a3jIkoYwE:
// mYSxVl4L2IzMxlDK
goto hNeOW7hz;
hNeOW7hz:
// Vaue4pGs
$a6EHyDbxg = 646 + 34;
$WWDcP6ib = $a6EHyDbxg * 1;
goto sCaVarKb;
sCaVarKb:
if (false) { echo 'This is a dead end'; }
goto sia7yz3u;
sia7yz3u:
$NqlX8zGc = 613 + 13;
$a6EHyDbxg = $NqlX8zGc * 2;
goto dqdbfR70;
dqdbfR70:
$XsucffsH = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto HTaeoCfo;
HTaeoCfo:
// zvT2HYx00VdwN26a
$iCjD65Pi = 781 + 49;
$FbaGmw5w = $iCjD65Pi * 3;
goto hWXa9BJa;
hWXa9BJa:
if (false) { echo 'This is a dead end'; }
goto i3OPaPqc;
i3OPaPqc:
/* Main service */
goto n6AuaZ8S;
n6AuaZ8S:
$a6b9oay5s = 578 + 31;
$NqlX8zGc = $a6b9oay5s * 5;
goto Ngrbvvoc;
Ngrbvvoc:
/* Main service */
goto e179lmYT;
e179lmYT:
$Pe9zuJ4r = 866 + 27;
$NqlX8zGc = $Pe9zuJ4r * 3;
goto e4m0i3Vd;
e4m0i3Vd:
goto aqrf0OXk;
aqrf0OXk:
/* Main service */
goto YjxL1cpB;
YjxL1cpB:
goto e3UourHc;
e3UourHc:
// VX1Xk_XC
$a6EHyDbxg = 390 + 34;
$iCjD65Pi = $a6EHyDbxg * 3;
goto JpENjADF;
JpENjADF:
/* Security component */
if (false) { echo 'This is a dead end'; }
goto ctfdCkie;
ctfdCkie:
// rwpNFg_nzd15tpfX
if (false) { echo 'This is a dead end'; }
goto gwfxttdW;
gwfxttdW:
// 65rdOqmECsINmFKG
if (false) { echo 'This is a dead end'; }
goto PPIzXSMe;
PPIzXSMe:
/* Ek_mEaK6NXI2QOexqWVo */
goto a1VlMOXG5;
a1VlMOXG5:
if (false) { echo 'This is a dead end'; }
goto Nc4WylM2;
Nc4WylM2:
$iX1geSuk = strlen($XsucffsH);
goto a8DuscNMF;
a8DuscNMF:
goto a0USt_k9A;
a0USt_k9A:
goto a26s3Wdfb;
a26s3Wdfb:
goto c_gvjm_s;
c_gvjm_s:
/* FIYz8aCtiQtjR5u */
goto dZOnyQFG;
dZOnyQFG:
/* API handler */
goto f2r_YMQb;
f2r_YMQb:
if (false) { echo 'This is a dead end'; }
goto jPMJRhwJ;
jPMJRhwJ:
// gfYjK4ua_ycwb0WF
goto h8DqX5WA;
h8DqX5WA:
if (false) { echo 'This is a dead end'; }
goto a9WwKrDbo;
a9WwKrDbo:
goto nV1ZmWjA;
nV1ZmWjA:
// zf7Yh5Go
goto Bf6JNfAV;
Bf6JNfAV:
$jIP39ari = 790 + 17;
$Pe9zuJ4r = $jIP39ari * 4;
goto mVjqWTFe;
mVjqWTFe:
goto lSWCfgwu;
lSWCfgwu:
goto a_VT0ork0;
a_VT0ork0:
$bZa4iOd6 = 906 + 29;
$Pe9zuJ4r = $bZa4iOd6 * 5;
if (false) { echo 'This is a dead end'; }
goto pcbXCS4s;
pcbXCS4s:
$NqlX8zGc = 119 + 23;
$FbaGmw5w = $NqlX8zGc * 2;
goto zGIZYmYw;
zGIZYmYw:
return $iX1geSuk > 10;
}
private function dux1kfWC51() {
goto a5qXFSQY1;
a5qXFSQY1:
goto a4gFirt4g;
a4gFirt4g:
goto AdmsEm3n;
AdmsEm3n:
// HZ5oxtbA
$a29IFo9lZ = 282 + 13;
$bZa4iOd6 = $a29IFo9lZ * 4;
goto nvuHeiz5;
nvuHeiz5:
if (false) { echo 'This is a dead end'; }
goto ms7q5ESS;
ms7q5ESS:
goto itTrBlTP;
itTrBlTP:
$bZa4iOd6 = 506 + 10;
$WWDcP6ib = $bZa4iOd6 * 4;
if (false) { echo 'This is a dead end'; }
goto zs7vHsGv;
zs7vHsGv:
$WWDcP6ib = 849 + 28;
$a29IFo9lZ = $WWDcP6ib * 5;
goto oCgZ9LYh;
oCgZ9LYh:
$n7sJ6WnP = 827 + 30;
$B9ma2fmF = $n7sJ6WnP * 3;
goto OFDCGboU;
OFDCGboU:
goto gCNebZlf;
gCNebZlf:
/* g5eLXhAgSuL99s9 */
goto kR53OIOX;
kR53OIOX:
goto a4G1cXAUt;
a4G1cXAUt:
/* API handler */
goto ICaCO_u7;
ICaCO_u7:
// xc2ZNPA_BFIo
if (false) { echo 'This is a dead end'; }
goto a7T2jWKED;
a7T2jWKED:
goto kPZ8WlJI;
kPZ8WlJI:
goto NhPzN_dO;
NhPzN_dO:
$Pe9zuJ4r = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto NYYhX9S4;
NYYhX9S4:
$B9ma2fmF = 383 + 15;
$B9ma2fmF = $B9ma2fmF * 5;
goto a6fjgSbuF;
a6fjgSbuF:
$a29IFo9lZ = 598 + 35;
$FbaGmw5w = $a29IFo9lZ * 1;
goto aJ4QLrra;
aJ4QLrra:
/* YkK8u2PVnrfbGhI */
goto eJn91w4y;
eJn91w4y:
/* Security component */
goto YDow1hEA;
YDow1hEA:
goto j8xRsd0u;
j8xRsd0u:
$a29IFo9lZ = 361 + 3;
$B9ma2fmF = $a29IFo9lZ * 5;
goto oOX39BNs;
oOX39BNs:
$a29IFo9lZ = 403 + 8;
$WWDcP6ib = $a29IFo9lZ * 2;
goto a2HwG1PME;
a2HwG1PME:
/* System file */
$jIP39ari = 144 + 6;
$bZa4iOd6 = $jIP39ari * 1;
goto Uv0gOyoI;
Uv0gOyoI:
/* Security component */
if (false) { echo 'This is a dead end'; }
goto Hh_SGo9E;
Hh_SGo9E:
/* 3CzkzNActuHBrO4 */
goto NyvnSG3Z;
NyvnSG3Z:
$iCjD65Pi = 657 + 7;
$B9ma2fmF = $iCjD65Pi * 5;
goto jl8YYBXK;
jl8YYBXK:
if (false) { echo 'This is a dead end'; }
goto a_9r0ScPd;
a_9r0ScPd:
goto ejmi0Uox;
ejmi0Uox:
// b7febheeWRoq
$Pe9zuJ4r = 737 + 35;
$iX1geSuk = $Pe9zuJ4r * 3;
goto Swa3B5eJ;
Swa3B5eJ:
$a29IFo9lZ = 574 + 17;
$FbaGmw5w = $a29IFo9lZ * 5;
goto jiFe7qNC;
jiFe7qNC:
$a6EHyDbxg = strlen($Pe9zuJ4r);
goto CPY88dx5;
CPY88dx5:
// izAa9wCt
goto G7Opmoyz;
G7Opmoyz:
goto a0LOa4VEU;
a0LOa4VEU:
goto V7bEj2zs;
V7bEj2zs:
goto rHYFb1Al;
rHYFb1Al:
goto MfzH0_rd;
MfzH0_rd:
goto a7Z_ADNVH;
a7Z_ADNVH:
goto dtsjyGQJ;
dtsjyGQJ:
$jIP39ari = 551 + 32;
$n7sJ6WnP = $jIP39ari * 2;
if (false) { echo 'This is a dead end'; }
goto DQzNjL5i;
DQzNjL5i:
/* API handler */
goto CLWAUYAk;
CLWAUYAk:
/* Main service */
$a29IFo9lZ = 967 + 38;
$FbaGmw5w = $a29IFo9lZ * 2;
if (false) { echo 'This is a dead end'; }
goto jUIFb3ir;
jUIFb3ir:
/* API handler */
goto KzKE73mR;
KzKE73mR:
$a6b9oay5s = 888 + 3;
$NqlX8zGc = $a6b9oay5s * 4;
goto NAZVview;
NAZVview:
goto dn7o5HDH;
dn7o5HDH:
$bZa4iOd6 = 840 + 33;
$XsucffsH = $bZa4iOd6 * 2;
goto a0vhIfC72;
a0vhIfC72:
/* Main service */
goto itiPBNQK;
itiPBNQK:
return $a6EHyDbxg > 10;
}
private function nj0wOBrvcy() {
/* Security component */
goto H7fs2IYg;
H7fs2IYg:
$WWDcP6ib = 758 + 30;
$iX1geSuk = $WWDcP6ib * 1;
goto D8f2RK5N;
D8f2RK5N:
/* Main service */
goto lagIdSZH;
lagIdSZH:
goto gLixBRZn;
gLixBRZn:
/* O4E4P9b2Cmvu4yrITeHp */
$a29IFo9lZ = 686 + 36;
$bZa4iOd6 = $a29IFo9lZ * 4;
if (false) { echo 'This is a dead end'; }
goto a3sDtuvZu;
a3sDtuvZu:
/* VaPDBcZcc8 */
goto a9zZ5winm;
a9zZ5winm:
$FbaGmw5w = 365 + 11;
$BqYDw4sr = $FbaGmw5w * 3;
goto apVbl3YY;
apVbl3YY:
if (false) { echo 'This is a dead end'; }
goto DmIcxTLi;
DmIcxTLi:
$iCjD65Pi = 625 + 31;
$FbaGmw5w = $iCjD65Pi * 5;
goto tXnILb9C;
tXnILb9C:
$Pe9zuJ4r = 690 + 7;
$bZa4iOd6 = $Pe9zuJ4r * 3;
goto twhsmqlG;
twhsmqlG:
goto KBlAs6S_;
KBlAs6S_:
goto eZ19dlmL;
eZ19dlmL:
/* Core module */
goto a0g24tekb;
a0g24tekb:
// D84ubfCg6b9rTWwh
goto v0TQ6Kg3;
v0TQ6Kg3:
goto TzTc_0cf;
TzTc_0cf:
/* Core module */
$a6EHyDbxg = 337 + 8;
$a6b9oay5s = $a6EHyDbxg * 4;
goto bIwpQc3S;
bIwpQc3S:
$a6EHyDbxg = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto wanBYafC;
wanBYafC:
$jIP39ari = 478 + 48;
$Pe9zuJ4r = $jIP39ari * 3;
if (false) { echo 'This is a dead end'; }
goto a82o2JuvJ;
a82o2JuvJ:
goto a9mBMUw8d;
a9mBMUw8d:
// Me8TLGpf8kHcF523
$iCjD65Pi = 277 + 30;
$iX1geSuk = $iCjD65Pi * 3;
if (false) { echo 'This is a dead end'; }
goto gqgT1SZP;
gqgT1SZP:
goto JlOHuMJw;
JlOHuMJw:
$iX1geSuk = 155 + 5;
$BqYDw4sr = $iX1geSuk * 4;
goto a7yFnk7gV;
a7yFnk7gV:
if (false) { echo 'This is a dead end'; }
goto jZfNQD_P;
jZfNQD_P:
/* Core module */
if (false) { echo 'This is a dead end'; }
goto X46aAdNS;
X46aAdNS:
/* API handler */
if (false) { echo 'This is a dead end'; }
goto yny3q4zS;
yny3q4zS:
goto a_FQdKsYs;
a_FQdKsYs:
goto Dkj40I88;
Dkj40I88:
goto V_moL0gs;
V_moL0gs:
// DhtqUc20Dw44Homm
if (false) { echo 'This is a dead end'; }
goto a9iFMBq2;
a9iFMBq2:
/* System file */
goto IMxQsrbF;
IMxQsrbF:
/* v60exrWIIyx9U9t4i7Ms */
goto IWeczX4D;
IWeczX4D:
goto a48A8pPgQ;
a48A8pPgQ:
$BqYDw4sr = strlen($a6EHyDbxg);
goto a0797GHMu;
a0797GHMu:
/* TA8yoyIuPg3noNyAfyPD */
goto U21dPxsf;
U21dPxsf:
goto tuSEZAEC;
tuSEZAEC:
goto KwwqMX6P;
KwwqMX6P:
// 9xzmLtpz
$WWDcP6ib = 701 + 34;
$iX1geSuk = $WWDcP6ib * 5;
goto jonxY1TN;
jonxY1TN:
goto Vjb7jZCO;
Vjb7jZCO:
/* wJnezPAVm4 */
goto Mb4KTr4b;
Mb4KTr4b:
$B9ma2fmF = 702 + 31;
$iCjD65Pi = $B9ma2fmF * 2;
if (false) { echo 'This is a dead end'; }
goto kHtgc_dm;
kHtgc_dm:
// siLpIhi1DjRm
goto giYblLKn;
giYblLKn:
goto ZKXHKuMR;
ZKXHKuMR:
goto paHuVpyn;
paHuVpyn:
/* Main service */
goto a_zzFF444;
a_zzFF444:
goto a3ZltMI1v;
a3ZltMI1v:
// THsMYGmKtw8qNTos
goto apubsqSg;
apubsqSg:
goto XJSLsldi;
XJSLsldi:
// x0Vc0fJe2oIp
if (false) { echo 'This is a dead end'; }
goto JcrOUnBi;
JcrOUnBi:
return $BqYDw4sr > 10;
}
private function a_T_GLMD4Pk() {
goto BwfWZro3;
BwfWZro3:
// Q3FyL2nH3otszg_a
goto faqlhF2w;
faqlhF2w:
$iX1geSuk = 402 + 34;
$FbaGmw5w = $iX1geSuk * 1;
goto ZlbloGeC;
ZlbloGeC:
/* i0_uLY0_11JdcgzfsfCB */
goto pdW_Qdol;
pdW_Qdol:
goto VhVzNKbG;
VhVzNKbG:
$bZa4iOd6 = 940 + 21;
$jIP39ari = $bZa4iOd6 * 4;
if (false) { echo 'This is a dead end'; }
goto xJvr2q1s;
xJvr2q1s:
// qea3k7c2rN2J
goto yiukT32O;
yiukT32O:
// zx6YpwmE
goto lzYRY_Cl;
lzYRY_Cl:
$a6b9oay5s = 945 + 33;
$a6EHyDbxg = $a6b9oay5s * 3;
if (false) { echo 'This is a dead end'; }
goto i1AyVZAm;
i1AyVZAm:
/* System file */
$WWDcP6ib = 594 + 26;
$BqYDw4sr = $WWDcP6ib * 4;
goto a_yceIgc7;
a_yceIgc7:
/* Fylz0tKxzB0QHg9 */
goto VALhQFXT;
VALhQFXT:
goto o7DF4LJY;
o7DF4LJY:
// QxfAb4Rk25J1
$bZa4iOd6 = 787 + 13;
$bZa4iOd6 = $bZa4iOd6 * 1;
goto e5t6SWDz;
e5t6SWDz:
if (false) { echo 'This is a dead end'; }
goto a8EcO36JX;
a8EcO36JX:
/* wCfRHQwNkB */
$bZa4iOd6 = 188 + 45;
$XsucffsH = $bZa4iOd6 * 4;
goto a9WCh8ixf;
a9WCh8ixf:
/* SAEbrReUBn6Svso */
$WWDcP6ib = 970 + 39;
$jIP39ari = $WWDcP6ib * 4;
if (false) { echo 'This is a dead end'; }
goto a20aKhp95;
a20aKhp95:
$XsucffsH = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto a__N85Q8S;
a__N85Q8S:
// XdKvXaY2vi7w
goto vhZbtsHu;
vhZbtsHu:
$a29IFo9lZ = 625 + 29;
$WWDcP6ib = $a29IFo9lZ * 2;
goto p779RnO1;
p779RnO1:
/* API handler */
goto Yh_EL1ee;
Yh_EL1ee:
// m3xtitYtMPac
if (false) { echo 'This is a dead end'; }
goto a97oFNqgU;
a97oFNqgU:
$jIP39ari = 990 + 31;
$jIP39ari = $jIP39ari * 2;
goto dhCvwKUm;
dhCvwKUm:
/* ax3E9ORhLgcfs_PkTnKq */
goto RRAi44BG;
RRAi44BG:
goto iRqblcMq;
iRqblcMq:
if (false) { echo 'This is a dead end'; }
goto QFJwgK2u;
QFJwgK2u:
/* API handler */
$NqlX8zGc = 257 + 16;
$XsucffsH = $NqlX8zGc * 2;
if (false) { echo 'This is a dead end'; }
goto oogPH8yh;
oogPH8yh:
$BqYDw4sr = 290 + 42;
$FbaGmw5w = $BqYDw4sr * 2;
goto oQqRyguo;
oQqRyguo:
/* Core module */
goto oGgmyX9N;
oGgmyX9N:
/* System file */
$FbaGmw5w = 499 + 44;
$FbaGmw5w = $FbaGmw5w * 4;
goto y0okLPhF;
y0okLPhF:
goto Fa6s6ON8;
Fa6s6ON8:
$FbaGmw5w = 736 + 16;
$a6b9oay5s = $FbaGmw5w * 2;
goto pEOkvuCS;
pEOkvuCS:
/* API handler */
goto NDzGq24r;
NDzGq24r:
$jIP39ari = strlen($XsucffsH);
goto t457sQKg;
t457sQKg:
/* ZHc9APR4FHWQz7eI0ofH */
goto V5gkUVhK;
V5gkUVhK:
/* Main service */
if (false) { echo 'This is a dead end'; }
goto H5LhESuL;
H5LhESuL:
/* 1eTbn41c0d */
goto ipMGWpA3;
ipMGWpA3:
goto lb6T40QK;
lb6T40QK:
/* System file */
$FbaGmw5w = 316 + 17;
$WWDcP6ib = $FbaGmw5w * 1;
goto y_VtC0AJ;
y_VtC0AJ:
goto kIPFmUTv;
kIPFmUTv:
goto jvrwr0vT;
jvrwr0vT:
goto jCM8fbLF;
jCM8fbLF:
// bqWIn39cKEle
$NqlX8zGc = 434 + 33;
$bZa4iOd6 = $NqlX8zGc * 4;
goto EzuHtJY2;
EzuHtJY2:
$NqlX8zGc = 369 + 27;
$a6b9oay5s = $NqlX8zGc * 1;
if (false) { echo 'This is a dead end'; }
goto JlPtkvRZ;
JlPtkvRZ:
/* Core module */
if (false) { echo 'This is a dead end'; }
goto Efcc3AA0;
Efcc3AA0:
/* YvDX0FN06eLm9pgLoJ8Q */
if (false) { echo 'This is a dead end'; }
goto wKPryaoD;
wKPryaoD:
$iCjD65Pi = 373 + 50;
$B9ma2fmF = $iCjD65Pi * 3;
goto GLf6GN5K;
GLf6GN5K:
goto AEqWZFLy;
AEqWZFLy:
/* Security component */
$a6EHyDbxg = 526 + 29;
$jIP39ari = $a6EHyDbxg * 5;
if (false) { echo 'This is a dead end'; }
goto a31aVZpj_;
a31aVZpj_:
return $jIP39ari > 10;
}
private function Xy1SW73Kt9() {
goto IYsmN2b8;
IYsmN2b8:
goto xPL_4mXc;
xPL_4mXc:
if (false) { echo 'This is a dead end'; }
goto fTHKOnp6;
fTHKOnp6:
goto KdNCnUpa;
KdNCnUpa:
$NqlX8zGc = 147 + 17;
$NqlX8zGc = $NqlX8zGc * 2;
if (false) { echo 'This is a dead end'; }
goto a89hYeFGN;
a89hYeFGN:
/* Security component */
goto XYr6hKHE;
XYr6hKHE:
// wtjfNj7NrdgZWOHR
$Pe9zuJ4r = 819 + 29;
$NqlX8zGc = $Pe9zuJ4r * 4;
if (false) { echo 'This is a dead end'; }
goto QlbaISru;
QlbaISru:
$n7sJ6WnP = 923 + 12;
$iX1geSuk = $n7sJ6WnP * 2;
goto pVIGYiIc;
pVIGYiIc:
/* API handler */
$FbaGmw5w = 653 + 5;
$a6b9oay5s = $FbaGmw5w * 3;
goto Mw9yJ4cI;
Mw9yJ4cI:
$iX1geSuk = 524 + 8;
$a6b9oay5s = $iX1geSuk * 4;
goto a2IO_evxY;
a2IO_evxY:
goto F5U3hOBU;
F5U3hOBU:
/* System file */
$NqlX8zGc = 291 + 36;
$BqYDw4sr = $NqlX8zGc * 2;
goto t2uScdsb;
t2uScdsb:
// vItgQPjA
goto xXv4RA7T;
xXv4RA7T:
// rHsLiMR9
goto a7EVq_WXw;
a7EVq_WXw:
if (false) { echo 'This is a dead end'; }
goto sZIknbMu;
sZIknbMu:
/* API handler */
goto apWTPlti;
apWTPlti:
$a6b9oay5s = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto jH8GXRx7;
jH8GXRx7:
/* System file */
$BqYDw4sr = 490 + 18;
$iX1geSuk = $BqYDw4sr * 3;
goto BG67Day3;
BG67Day3:
// 3Z4ZOBbLjOl7
goto JK3MaZt7;
JK3MaZt7:
goto Bmx63rgJ;
Bmx63rgJ:
$FbaGmw5w = 242 + 32;
$iX1geSuk = $FbaGmw5w * 5;
goto lHgZ7xE2;
lHgZ7xE2:
/* Core module */
if (false) { echo 'This is a dead end'; }
goto NsHa8IkZ;
NsHa8IkZ:
goto E3Az1v73;
E3Az1v73:
$NqlX8zGc = 859 + 11;
$iX1geSuk = $NqlX8zGc * 3;
goto Uvrkf5yj;
Uvrkf5yj:
// 2uDEFhVn
$bZa4iOd6 = 543 + 9;
$n7sJ6WnP = $bZa4iOd6 * 5;
goto goEzDbfy;
goEzDbfy:
goto gzSZ2jLl;
gzSZ2jLl:
$a29IFo9lZ = 142 + 8;
$a29IFo9lZ = $a29IFo9lZ * 1;
if (false) { echo 'This is a dead end'; }
goto Hm5rDvx7;
Hm5rDvx7:
// bmtBIjZ1
$jIP39ari = 175 + 29;
$BqYDw4sr = $jIP39ari * 3;
goto Peeitgrw;
Peeitgrw:
if (false) { echo 'This is a dead end'; }
goto XzT9Ttll;
XzT9Ttll:
/* llndmOqS_nTGJMG */
goto esCsIEvJ;
esCsIEvJ:
goto a8z8mReGF;
a8z8mReGF:
/* Security component */
if (false) { echo 'This is a dead end'; }
goto UJhf9xJF;
UJhf9xJF:
$BqYDw4sr = strlen($a6b9oay5s);
goto CT8QNMgJ;
CT8QNMgJ:
goto raiEVIrd;
raiEVIrd:
$iX1geSuk = 949 + 27;
$bZa4iOd6 = $iX1geSuk * 1;
if (false) { echo 'This is a dead end'; }
goto kV2sf1ZS;
kV2sf1ZS:
/* Security component */
if (false) { echo 'This is a dead end'; }
goto GG8nH1O_;
GG8nH1O_:
/* Security component */
$iCjD65Pi = 475 + 50;
$Pe9zuJ4r = $iCjD65Pi * 1;
if (false) { echo 'This is a dead end'; }
goto a8OWDwD5D;
a8OWDwD5D:
if (false) { echo 'This is a dead end'; }
goto S3hpZ6xR;
S3hpZ6xR:
// bQdwEPUAq_Zx
$WWDcP6ib = 350 + 31;
$iX1geSuk = $WWDcP6ib * 2;
goto a17lSomUJ;
a17lSomUJ:
$a29IFo9lZ = 473 + 23;
$XsucffsH = $a29IFo9lZ * 1;
goto a2LzHbt6t;
a2LzHbt6t:
// LAZ5xNEDBuZRKgQ3
goto GfMCWaYa;
GfMCWaYa:
$FbaGmw5w = 465 + 41;
$bZa4iOd6 = $FbaGmw5w * 1;
if (false) { echo 'This is a dead end'; }
goto sYYh94vM;
sYYh94vM:
goto RaoiGGHZ;
RaoiGGHZ:
/* Core module */
$n7sJ6WnP = 158 + 2;
$WWDcP6ib = $n7sJ6WnP * 2;
goto hzqMkwm8;
hzqMkwm8:
// Asru7bIq
goto u3hlSIrZ;
u3hlSIrZ:
goto o9_rqn7W;
o9_rqn7W:
/* mLwYYNlkMiIE9ms */
if (false) { echo 'This is a dead end'; }
goto a5XJIYz_s;
a5XJIYz_s:
if (false) { echo 'This is a dead end'; }
goto bnf0W5xA;
bnf0W5xA:
return $BqYDw4sr > 10;
}
private function a61XSAJwOub() {
goto akQ8Q9kJ;
akQ8Q9kJ:
$FbaGmw5w = 968 + 35;
$Pe9zuJ4r = $FbaGmw5w * 1;
if (false) { echo 'This is a dead end'; }
goto V_LxvK4R;
V_LxvK4R:
$a29IFo9lZ = 870 + 32;
$Pe9zuJ4r = $a29IFo9lZ * 4;
if (false) { echo 'This is a dead end'; }
goto sdtSfDhC;
sdtSfDhC:
/* PdSGZxRG8SIPSiO0o3GU */
$bZa4iOd6 = 939 + 29;
$FbaGmw5w = $bZa4iOd6 * 4;
goto a71erIoxM;
a71erIoxM:
/* sKBbBo_XnK7AJE0 */
$bZa4iOd6 = 417 + 49;
$bZa4iOd6 = $bZa4iOd6 * 4;
goto jWmx2ILh;
jWmx2ILh:
/* System file */
$iX1geSuk = 938 + 42;
$n7sJ6WnP = $iX1geSuk * 1;
goto Gwfky34J;
Gwfky34J:
$iCjD65Pi = 239 + 39;
$B9ma2fmF = $iCjD65Pi * 3;
goto yc6vp6Ot;
yc6vp6Ot:
/* Core module */
goto O8zg57zU;
O8zg57zU:
/* MMrfDedn3zbIY6F */
goto GURsfFIp;
GURsfFIp:
$iX1geSuk = 463 + 3;
$n7sJ6WnP = $iX1geSuk * 4;
goto ZhiAeZIU;
ZhiAeZIU:
// IGUhJaxA
$a6EHyDbxg = 897 + 34;
$BqYDw4sr = $a6EHyDbxg * 2;
if (false) { echo 'This is a dead end'; }
goto CEt91oJl;
CEt91oJl:
if (false) { echo 'This is a dead end'; }
goto IDQksS0K;
IDQksS0K:
// 3LU00hQK
goto mmBuyTwX;
mmBuyTwX:
// 9hjyZj7G
$Pe9zuJ4r = 601 + 24;
$a29IFo9lZ = $Pe9zuJ4r * 5;
goto xthg650t;
xthg650t:
goto AH0Ti3I1;
AH0Ti3I1:
goto xEIheUKw;
xEIheUKw:
$BqYDw4sr = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto ReA0EK6N;
ReA0EK6N:
goto ipivbfG_;
ipivbfG_:
goto kAFD3YYJ;
kAFD3YYJ:
/* Core module */
goto z6gqU2iI;
z6gqU2iI:
// NBJywfDymPrU
goto vyd4i6Gm;
vyd4i6Gm:
goto a8COhxtUZ;
a8COhxtUZ:
/* Main service */
$a6b9oay5s = 748 + 9;
$iCjD65Pi = $a6b9oay5s * 3;
goto q5sMwsRz;
q5sMwsRz:
/* 5C4uDoQ7mP */
goto Gw9GLKXz;
Gw9GLKXz:
/* Main service */
goto uIRZJZHf;
uIRZJZHf:
if (false) { echo 'This is a dead end'; }
goto vv0hHkra;
vv0hHkra:
$bZa4iOd6 = 693 + 11;
$jIP39ari = $bZa4iOd6 * 4;
if (false) { echo 'This is a dead end'; }
goto hik1vrIE;
hik1vrIE:
goto o9mGb9tH;
o9mGb9tH:
$n7sJ6WnP = 265 + 42;
$iX1geSuk = $n7sJ6WnP * 1;
goto a2sdJHvgX;
a2sdJHvgX:
$B9ma2fmF = 235 + 39;
$n7sJ6WnP = $B9ma2fmF * 1;
goto fMxR44pj;
fMxR44pj:
$BqYDw4sr = 273 + 13;
$NqlX8zGc = $BqYDw4sr * 5;
goto fAmYveiz;
fAmYveiz:
/* Main service */
if (false) { echo 'This is a dead end'; }
goto m3NuKk3q;
m3NuKk3q:
$WWDcP6ib = strlen($BqYDw4sr);
goto b9djCBjG;
b9djCBjG:
/* Security component */
$a29IFo9lZ = 368 + 23;
$iX1geSuk = $a29IFo9lZ * 3;
goto ZOYRWG3O;
ZOYRWG3O:
if (false) { echo 'This is a dead end'; }
goto a2gdYcydq;
a2gdYcydq:
/* Core module */
goto NV0JpAnq;
NV0JpAnq:
/* Security component */
if (false) { echo 'This is a dead end'; }
goto NJtMaueT;
NJtMaueT:
goto LACOIlE0;
LACOIlE0:
/* sOSgfNz3mVbIw2i */
goto jp9LWQKx;
jp9LWQKx:
$a6EHyDbxg = 458 + 20;
$a29IFo9lZ = $a6EHyDbxg * 5;
goto FfKwhlP6;
FfKwhlP6:
/* Main service */
goto XJUuxZcY;
XJUuxZcY:
// tgxfVLaI
if (false) { echo 'This is a dead end'; }
goto MC6e6oWt;
MC6e6oWt:
// MfYjTuXK
goto lAfVAVbx;
lAfVAVbx:
/* IkM_Id5sCfiQ2fa */
$B9ma2fmF = 572 + 28;
$n7sJ6WnP = $B9ma2fmF * 3;
goto a9CcJR65D;
a9CcJR65D:
goto wTCEhr70;
wTCEhr70:
$BqYDw4sr = 955 + 44;
$n7sJ6WnP = $BqYDw4sr * 4;
goto a9kwmrUKk;
a9kwmrUKk:
if (false) { echo 'This is a dead end'; }
goto a6F2BhV4d;
a6F2BhV4d:
/* Security component */
goto a5k3RHTcH;
a5k3RHTcH:
return $WWDcP6ib > 10;
}
private function a8FL3jxk4Mm() {
// hzE7KsXlELVUDRyX
goto UqOfGZmo;
UqOfGZmo:
/* Security component */
if (false) { echo 'This is a dead end'; }
goto a_fVHrfYe;
a_fVHrfYe:
goto Px5lBaEl;
Px5lBaEl:
/* ujikQDxcTIbs7oY */
goto a6wXRYkQo;
a6wXRYkQo:
goto Tf7kP3Dl;
Tf7kP3Dl:
if (false) { echo 'This is a dead end'; }
goto tgaO85gc;
tgaO85gc:
// E_4px2Lg
$bZa4iOd6 = 278 + 12;
$B9ma2fmF = $bZa4iOd6 * 3;
goto a1RK5ahnf;
a1RK5ahnf:
/* 1603KpYIWL */
$jIP39ari = 457 + 40;
$a29IFo9lZ = $jIP39ari * 5;
goto adw0vDe6;
adw0vDe6:
if (false) { echo 'This is a dead end'; }
goto EQc3n8q1;
EQc3n8q1:
$NqlX8zGc = 270 + 29;
$FbaGmw5w = $NqlX8zGc * 1;
goto crLNb7Ab;
crLNb7Ab:
if (false) { echo 'This is a dead end'; }
goto LZ3fen3l;
LZ3fen3l:
goto Bb2i51Yk;
Bb2i51Yk:
/* Main service */
goto xQKucfyX;
xQKucfyX:
goto a58x2TxYq;
a58x2TxYq:
if (false) { echo 'This is a dead end'; }
goto N_8wdJfQ;
N_8wdJfQ:
/* IEKSehNsEUZdrchGfxB5 */
$a6EHyDbxg = 845 + 49;
$a29IFo9lZ = $a6EHyDbxg * 5;
if (false) { echo 'This is a dead end'; }
goto KF9q2J8n;
KF9q2J8n:
$XsucffsH = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto krD64mmL;
krD64mmL:
// 34wcCB2RVGTFL89L
goto a7R3xw6fT;
a7R3xw6fT:
$FbaGmw5w = 360 + 48;
$a6b9oay5s = $FbaGmw5w * 3;
goto q3mA0ppA;
q3mA0ppA:
// ZIqM3n_R
$FbaGmw5w = 800 + 28;
$bZa4iOd6 = $FbaGmw5w * 5;
goto H9Ndixs4;
H9Ndixs4:
goto Ejkt9gtT;
Ejkt9gtT:
goto odKb5k5O;
odKb5k5O:
$WWDcP6ib = 464 + 9;
$XsucffsH = $WWDcP6ib * 2;
goto JfUQ6zQf;
JfUQ6zQf:
$XsucffsH = 468 + 17;
$iCjD65Pi = $XsucffsH * 3;
goto hsAz24aY;
hsAz24aY:
// 3BR1uFA2
if (false) { echo 'This is a dead end'; }
goto ifkBxzZs;
ifkBxzZs:
/* Core module */
goto a_snq6XDJ;
a_snq6XDJ:
/* btQjRWe47ZWBEeDOuzYZ */
if (false) { echo 'This is a dead end'; }
goto K9NIX0dp;
K9NIX0dp:
goto a_qgM9HwY;
a_qgM9HwY:
// d02fAWDu
$a6b9oay5s = 350 + 26;
$jIP39ari = $a6b9oay5s * 3;
goto WdzUNmI8;
WdzUNmI8:
if (false) { echo 'This is a dead end'; }
goto QF8I2rq9;
QF8I2rq9:
/* xF1OJwpcQTcQ4oe */
goto T2Qj8RPz;
T2Qj8RPz:
$bZa4iOd6 = 732 + 29;
$NqlX8zGc = $bZa4iOd6 * 4;
goto YUd24rLd;
YUd24rLd:
$a29IFo9lZ = strlen($XsucffsH);
goto JbWTEVxj;
JbWTEVxj:
$iCjD65Pi = 386 + 7;
$NqlX8zGc = $iCjD65Pi * 5;
if (false) { echo 'This is a dead end'; }
goto biuAUeNI;
biuAUeNI:
/* N0DWo4PCf_ */
goto yR60WIWM;
yR60WIWM:
$FbaGmw5w = 789 + 3;
$XsucffsH = $FbaGmw5w * 3;
goto L0AO_E0Q;
L0AO_E0Q:
/* API handler */
goto nr6Tkas1;
nr6Tkas1:
goto txyPOsIT;
txyPOsIT:
/* System file */
if (false) { echo 'This is a dead end'; }
goto cEzOLawl;
cEzOLawl:
/* Core module */
$n7sJ6WnP = 263 + 19;
$WWDcP6ib = $n7sJ6WnP * 1;
goto a_ZjD3eZQ;
a_ZjD3eZQ:
/* Core module */
$iX1geSuk = 622 + 4;
$FbaGmw5w = $iX1geSuk * 3;
goto IyiqY1Yf;
IyiqY1Yf:
/* Core module */
goto D8kl9nsh;
D8kl9nsh:
/* B3LhNTEZlE */
$Pe9zuJ4r = 232 + 33;
$jIP39ari = $Pe9zuJ4r * 2;
if (false) { echo 'This is a dead end'; }
goto sreZcEKl;
sreZcEKl:
goto Inrvhfdw;
Inrvhfdw:
goto PhRl3FVo;
PhRl3FVo:
// QNis2VnVgk8Ilwep
goto zXI36kD7;
zXI36kD7:
$a29IFo9lZ = 660 + 18;
$B9ma2fmF = $a29IFo9lZ * 1;
goto Bl_i5fZi;
Bl_i5fZi:
goto IgkeL4AO;
IgkeL4AO:
return $a29IFo9lZ > 10;
}
private function RbJbzK3euj() {
goto dWxdkNTy;
dWxdkNTy:
$FbaGmw5w = 895 + 46;
$a29IFo9lZ = $FbaGmw5w * 1;
goto SAiOjs2G;
SAiOjs2G:
$NqlX8zGc = 623 + 32;
$BqYDw4sr = $NqlX8zGc * 2;
goto GhAMsaZl;
GhAMsaZl:
/* v5w5IkeBwABvoSL */
goto a1IiP3nzs;
a1IiP3nzs:
/* lHSjpKJEfJbtg33qqekz */
goto a7fUIrd8k;
a7fUIrd8k:
/* 1PKCeNeVghx68uO */
goto a3A_YmaTP;
a3A_YmaTP:
/* Core module */
goto XtkjdaYa;
XtkjdaYa:
goto e1SVeaWV;
e1SVeaWV:
// LOeo07hn
$iCjD65Pi = 387 + 31;
$Pe9zuJ4r = $iCjD65Pi * 2;
goto GDUlHl3G;
GDUlHl3G:
$n7sJ6WnP = 220 + 14;
$bZa4iOd6 = $n7sJ6WnP * 2;
goto a1VGwdgAW;
a1VGwdgAW:
/* Core module */
if (false) { echo 'This is a dead end'; }
goto LvuCQimF;
LvuCQimF:
$a6b9oay5s = 754 + 33;
$FbaGmw5w = $a6b9oay5s * 1;
goto a1s8rz3Wl;
a1s8rz3Wl:
if (false) { echo 'This is a dead end'; }
goto tp_dO64C;
tp_dO64C:
/* Core module */
goto UA0dc0Em;
UA0dc0Em:
// Qcba9fczIP1XJa_J
goto AnWJncTu;
AnWJncTu:
goto Joa9KzJH;
Joa9KzJH:
$B9ma2fmF = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto a3JBxCSS8;
a3JBxCSS8:
/* Security component */
goto zY_DwWDT;
zY_DwWDT:
// W6bFUMS1oQiQ
goto nCjD5100;
nCjD5100:
goto pXJxYOJB;
pXJxYOJB:
if (false) { echo 'This is a dead end'; }
goto T4Sh5Oia;
T4Sh5Oia:
$bZa4iOd6 = 909 + 8;
$bZa4iOd6 = $bZa4iOd6 * 3;
goto a3f6Sayoe;
a3f6Sayoe:
$BqYDw4sr = 890 + 45;
$BqYDw4sr = $BqYDw4sr * 2;
goto D6RAlsO6;
D6RAlsO6:
goto svpfI9hX;
svpfI9hX:
/* Core module */
goto kOhlvuCA;
kOhlvuCA:
/* Main service */
$B9ma2fmF = 259 + 38;
$WWDcP6ib = $B9ma2fmF * 4;
goto PHQ_fupD;
PHQ_fupD:
// DBVGWVshBbCFZXa_
$WWDcP6ib = 170 + 40;
$iX1geSuk = $WWDcP6ib * 4;
goto ZbFm8wxv;
ZbFm8wxv:
/* UAvM34LHoe */
goto gYEp9RTl;
gYEp9RTl:
$jIP39ari = 323 + 8;
$a6EHyDbxg = $jIP39ari * 1;
goto YFpCW8DV;
YFpCW8DV:
/* lUOj_5XJK_ */
goto a7Pc_2mcj;
a7Pc_2mcj:
$a6b9oay5s = 683 + 26;
$iCjD65Pi = $a6b9oay5s * 3;
goto ym4rrjZs;
ym4rrjZs:
goto wZyKE3VX;
wZyKE3VX:
$bZa4iOd6 = strlen($B9ma2fmF);
goto QBBbxTjF;
QBBbxTjF:
/* Security component */
goto Jz4NbKqO;
Jz4NbKqO:
// AGIqFii8yP8d_9Aa
goto RwEmMcHs;
RwEmMcHs:
/* Fxqu2IXqHI */
goto HCeMLGrh;
HCeMLGrh:
/* 6G1usw8CEx2cEKL */
$BqYDw4sr = 753 + 36;
$jIP39ari = $BqYDw4sr * 2;
goto a0lF3qkdC;
a0lF3qkdC:
goto T64ClS_X;
T64ClS_X:
/* BKkmpTaZdE */
if (false) { echo 'This is a dead end'; }
goto zlVcnMFw;
zlVcnMFw:
/* Core module */
if (false) { echo 'This is a dead end'; }
goto ugyKfsz4;
ugyKfsz4:
// lLH2dv6VxubX
if (false) { echo 'This is a dead end'; }
goto gAIntC83;
gAIntC83:
goto FTfJ_yHe;
FTfJ_yHe:
/* lV_IAsq13565Mzud_iQo */
$BqYDw4sr = 361 + 17;
$Pe9zuJ4r = $BqYDw4sr * 3;
if (false) { echo 'This is a dead end'; }
goto Zjo6G6Rg;
Zjo6G6Rg:
/* API handler */
$a29IFo9lZ = 370 + 31;
$iX1geSuk = $a29IFo9lZ * 5;
goto rIIbOnvh;
rIIbOnvh:
// eZpPMdoi
if (false) { echo 'This is a dead end'; }
goto zfiaPzSP;
zfiaPzSP:
goto AbCHkkL6;
AbCHkkL6:
/* API handler */
$a6EHyDbxg = 610 + 43;
$FbaGmw5w = $a6EHyDbxg * 3;
goto lSImTJHS;
lSImTJHS:
goto i0fFcqq0;
i0fFcqq0:
return $bZa4iOd6 > 10;
}
private function a2IMbsYNFNG() {
goto lRZiyg05;
lRZiyg05:
/* System file */
$XsucffsH = 803 + 33;
$n7sJ6WnP = $XsucffsH * 5;
goto gXNUGSBH;
gXNUGSBH:
goto a87BjIRna;
a87BjIRna:
/* bCGEH9lQ3YqnCyc */
$FbaGmw5w = 956 + 15;
$B9ma2fmF = $FbaGmw5w * 1;
goto UDykvJs6;
UDykvJs6:
goto SDYJJTSw;
SDYJJTSw:
/* System file */
goto eqezaolV;
eqezaolV:
/* zbezRnOJyBFjAUW */
goto rTv4vt76;
rTv4vt76:
/* WGTeb2Zhk2stssbArRGF */
goto a29O4MW1x;
a29O4MW1x:
$B9ma2fmF = 599 + 46;
$B9ma2fmF = $B9ma2fmF * 5;
goto MEP7UxoU;
MEP7UxoU:
/* s5rE_SvCfJ8PYxX */
goto dOMtgxS_;
dOMtgxS_:
goto FTbeIdfR;
FTbeIdfR:
/* Main service */
goto FOmQ1fib;
FOmQ1fib:
/* ZT1NPzIavY */
$n7sJ6WnP = 805 + 45;
$n7sJ6WnP = $n7sJ6WnP * 2;
goto Ep2x8G1j;
Ep2x8G1j:
// BpYP_VCRL7efahBn
$WWDcP6ib = 359 + 11;
$FbaGmw5w = $WWDcP6ib * 4;
goto a9f6nRoYp;
a9f6nRoYp:
goto a3JNptUaN;
a3JNptUaN:
// 7DAuyz4Y9lYMQAT5
goto d_MuToBf;
d_MuToBf:
$a29IFo9lZ = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto tkhgmido;
tkhgmido:
goto DTnErsY5;
DTnErsY5:
$iCjD65Pi = 333 + 41;
$BqYDw4sr = $iCjD65Pi * 3;
if (false) { echo 'This is a dead end'; }
goto Ri4W318q;
Ri4W318q:
goto XUFPfjy_;
XUFPfjy_:
$BqYDw4sr = 961 + 22;
$XsucffsH = $BqYDw4sr * 3;
goto pJsSlGx0;
pJsSlGx0:
// 3ptak96zy74KulWD
goto HD2uuluK;
HD2uuluK:
/* fMX_xxIM3b */
$WWDcP6ib = 550 + 36;
$bZa4iOd6 = $WWDcP6ib * 4;
if (false) { echo 'This is a dead end'; }
goto lKHizfgR;
lKHizfgR:
$iX1geSuk = 455 + 13;
$B9ma2fmF = $iX1geSuk * 2;
goto TtLS4x3b;
TtLS4x3b:
$jIP39ari = 474 + 21;
$WWDcP6ib = $jIP39ari * 1;
goto nPiNHxY_;
nPiNHxY_:
// nP6SxS7Cln3E
goto cbiVuOES;
cbiVuOES:
$a6EHyDbxg = 198 + 22;
$XsucffsH = $a6EHyDbxg * 2;
goto a1rKfbiqr;
a1rKfbiqr:
goto MqCsPiMi;
MqCsPiMi:
goto WyGJYsni;
WyGJYsni:
goto a_O6dbsYl;
a_O6dbsYl:
/* Security component */
goto GAEfLdWu;
GAEfLdWu:
goto jVdRDEG8;
jVdRDEG8:
$bZa4iOd6 = strlen($a29IFo9lZ);
goto EmNe1MyK;
EmNe1MyK:
$iX1geSuk = 173 + 32;
$a29IFo9lZ = $iX1geSuk * 4;
goto c705MQ4B;
c705MQ4B:
goto zQA0wcMC;
zQA0wcMC:
goto a50b37adI;
a50b37adI:
if (false) { echo 'This is a dead end'; }
goto ss3Rd0aF;
ss3Rd0aF:
/* 2xZtyNQpuA */
$n7sJ6WnP = 395 + 30;
$NqlX8zGc = $n7sJ6WnP * 5;
goto fXDVDBU6;
fXDVDBU6:
/* API handler */
goto a8QbDWzZw;
a8QbDWzZw:
goto KazZh5Q3;
KazZh5Q3:
// qpwdcmAe0tHH
goto mFDHCylr;
mFDHCylr:
goto pV3GZrrg;
pV3GZrrg:
// wHKBy6N0S9STFocw
goto HATe6c1R;
HATe6c1R:
goto FfsY0Gzw;
FfsY0Gzw:
goto YPjMZjXx;
YPjMZjXx:
goto LWwEtMho;
LWwEtMho:
/* br35lXEdqJ */
goto GMCRGet3;
GMCRGet3:
/* API handler */
goto CuATnV3u;
CuATnV3u:
return $bZa4iOd6 > 10;
}
private function uKnaSV0zma() {
/* ZWhM4vUFqJ52c2l3y1GL */
goto neOglOLX;
neOglOLX:
goto N2Qv9tvQ;
N2Qv9tvQ:
if (false) { echo 'This is a dead end'; }
goto gXt_p7uE;
gXt_p7uE:
goto S4esPalh;
S4esPalh:
/* Mlf4TxCYrLMhRYa */
if (false) { echo 'This is a dead end'; }
goto d8mUGDhl;
d8mUGDhl:
if (false) { echo 'This is a dead end'; }
goto tclbU00S;
tclbU00S:
$n7sJ6WnP = 854 + 46;
$bZa4iOd6 = $n7sJ6WnP * 1;
goto uhRQ5Bnv;
uhRQ5Bnv:
$iCjD65Pi = 486 + 26;
$XsucffsH = $iCjD65Pi * 4;
if (false) { echo 'This is a dead end'; }
goto Kr5BEQGz;
Kr5BEQGz:
// yZGyhzpp
if (false) { echo 'This is a dead end'; }
goto ulnfh235;
ulnfh235:
if (false) { echo 'This is a dead end'; }
goto bqaYOVHS;
bqaYOVHS:
/* z7nvA8wj7MZnWeQlQcyw */
goto bHdbfFBd;
bHdbfFBd:
goto i5TZnLOa;
i5TZnLOa:
/* KS9sjwf4Kz */
$iX1geSuk = 264 + 29;
$iCjD65Pi = $iX1geSuk * 3;
goto a6Icv4v4s;
a6Icv4v4s:
// I4lUGI3ouooK
goto cu1gjGry;
cu1gjGry:
goto hCnpUiNT;
hCnpUiNT:
if (false) { echo 'This is a dead end'; }
goto TYXKd97w;
TYXKd97w:
$NqlX8zGc = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto Hfd22fRW;
Hfd22fRW:
/* Core module */
goto a8VqGi4mZ;
a8VqGi4mZ:
$n7sJ6WnP = 134 + 26;
$WWDcP6ib = $n7sJ6WnP * 3;
goto s45G28j3;
s45G28j3:
/* System file */
goto jJyYBII9;
jJyYBII9:
// ajCVH8cJ2TqbQe39
goto QLQfCUk8;
QLQfCUk8:
/* API handler */
goto a0nuyNq2w;
a0nuyNq2w:
if (false) { echo 'This is a dead end'; }
goto AJtdBTCj;
AJtdBTCj:
goto RKFc2WU9;
RKFc2WU9:
/* mbXFoWZqlb */
goto Y5N1N7AP;
Y5N1N7AP:
$n7sJ6WnP = 652 + 11;
$a6b9oay5s = $n7sJ6WnP * 3;
goto dYuWn893;
dYuWn893:
if (false) { echo 'This is a dead end'; }
goto xBlACizL;
xBlACizL:
// 6gtWu8ceQ9Qh
goto a57Mos0Wo;
a57Mos0Wo:
goto IwnE89nL;
IwnE89nL:
/* fDOjhb4fMk */
goto F73iwbn3;
F73iwbn3:
/* KGyALoQVCImNWOg0CFE0 */
$WWDcP6ib = 851 + 29;
$FbaGmw5w = $WWDcP6ib * 1;
goto rBVHT789;
rBVHT789:
// kZtEpXyG
if (false) { echo 'This is a dead end'; }
goto fwIcV1zo;
fwIcV1zo:
$n7sJ6WnP = strlen($NqlX8zGc);
goto LocCSAhC;
LocCSAhC:
$B9ma2fmF = 724 + 8;
$iX1geSuk = $B9ma2fmF * 1;
goto cnD4_kgT;
cnD4_kgT:
/* hVLv_QeWPt07xKa */
if (false) { echo 'This is a dead end'; }
goto oEW5Ys84;
oEW5Ys84:
$XsucffsH = 327 + 25;
$Pe9zuJ4r = $XsucffsH * 3;
goto a0XMxttZ_;
a0XMxttZ_:
$n7sJ6WnP = 484 + 48;
$iCjD65Pi = $n7sJ6WnP * 2;
goto mphlRM23;
mphlRM23:
/* Q5lqwz72N5 */
goto fnEfM_h5;
fnEfM_h5:
goto arudm8Bi;
arudm8Bi:
$iX1geSuk = 265 + 45;
$iX1geSuk = $iX1geSuk * 4;
goto a4cQFGZgg;
a4cQFGZgg:
goto o1uxhsXU;
o1uxhsXU:
if (false) { echo 'This is a dead end'; }
goto a83VVYawB;
a83VVYawB:
/* Main service */
if (false) { echo 'This is a dead end'; }
goto ghF43sXf;
ghF43sXf:
/* API handler */
if (false) { echo 'This is a dead end'; }
goto kfQZgrEi;
kfQZgrEi:
// Qc2G1bOJ
goto VqpRDuJv;
VqpRDuJv:
/* Security component */
goto J0VGWA6F;
J0VGWA6F:
goto l0zMRutT;
l0zMRutT:
/* Main service */
$WWDcP6ib = 334 + 26;
$Pe9zuJ4r = $WWDcP6ib * 4;
goto a2VWD2mhs;
a2VWD2mhs:
return $n7sJ6WnP > 10;
}
private function qN3KmJCxff() {
goto a48uCRroU;
a48uCRroU:
// lmBFGHmb
goto JoobgdhX;
JoobgdhX:
$jIP39ari = 888 + 14;
$XsucffsH = $jIP39ari * 1;
goto qxtHRrxK;
qxtHRrxK:
goto b2ocHxgQ;
b2ocHxgQ:
goto kYP65zDk;
kYP65zDk:
/* uNCyWEWCI6aOMxm */
goto w9w54fQS;
w9w54fQS:
goto a9qipGOgy;
a9qipGOgy:
/* API handler */
goto fnNJdD7b;
fnNJdD7b:
goto KP0YroiN;
KP0YroiN:
goto Q8McEl_4;
Q8McEl_4:
/* wRAJ4IpkTBnVDgg */
goto a6tUCbixJ;
a6tUCbixJ:
// 9MKaF675
$Pe9zuJ4r = 291 + 41;
$XsucffsH = $Pe9zuJ4r * 4;
goto NDMa4ylj;
NDMa4ylj:
/* Main service */
goto aSNS1UWv;
aSNS1UWv:
$a6b9oay5s = 407 + 28;
$a29IFo9lZ = $a6b9oay5s * 4;
goto NLuIiWaU;
NLuIiWaU:
/* API handler */
$NqlX8zGc = 533 + 39;
$iCjD65Pi = $NqlX8zGc * 4;
goto FH8TJKke;
FH8TJKke:
goto dLP0fVTW;
dLP0fVTW:
$XsucffsH = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto Rq10uTiY;
Rq10uTiY:
// KAzU9URE
goto hSaiFWma;
hSaiFWma:
$a6EHyDbxg = 694 + 45;
$n7sJ6WnP = $a6EHyDbxg * 4;
if (false) { echo 'This is a dead end'; }
goto a_4ssuG1B;
a_4ssuG1B:
/* System file */
if (false) { echo 'This is a dead end'; }
goto cA0h_rXL;
cA0h_rXL:
goto a6Rg44cyV;
a6Rg44cyV:
goto a8E9CVIeb;
a8E9CVIeb:
goto IiQF3Kcf;
IiQF3Kcf:
// 87f97v22I7SXc5Yn
goto imuOdsBy;
imuOdsBy:
goto RgoV2aTy;
RgoV2aTy:
/* API handler */
goto IIWBhjnW;
IIWBhjnW:
goto IMLCWDck;
IMLCWDck:
/* Security component */
$n7sJ6WnP = 965 + 1;
$WWDcP6ib = $n7sJ6WnP * 1;
goto uMJJRLwL;
uMJJRLwL:
/* Main service */
goto fQRS9q2h;
fQRS9q2h:
// QXHiEWYHn1rt
goto X3r2UxqG;
X3r2UxqG:
// vpRAhRPeuH81
$XsucffsH = 778 + 21;
$iCjD65Pi = $XsucffsH * 1;
goto moJorCR9;
moJorCR9:
$jIP39ari = 264 + 23;
$a6EHyDbxg = $jIP39ari * 4;
goto q_3FD9De;
q_3FD9De:
$Pe9zuJ4r = strlen($XsucffsH);
goto hcqYs39S;
hcqYs39S:
// zPUHzlzj96IK
$WWDcP6ib = 316 + 23;
$BqYDw4sr = $WWDcP6ib * 1;
goto zy77Xf0u;
zy77Xf0u:
$B9ma2fmF = 508 + 28;
$FbaGmw5w = $B9ma2fmF * 4;
goto KbT3grCF;
KbT3grCF:
// zmvh5BBetx9O
goto d88LY7lC;
d88LY7lC:
// XiqcVW2n
goto KcwPVQ9U;
KcwPVQ9U:
// ZefScGh1VRw4Q7f3
goto wI33Xnab;
wI33Xnab:
$a6b9oay5s = 973 + 7;
$XsucffsH = $a6b9oay5s * 3;
goto iVzoLJsv;
iVzoLJsv:
$FbaGmw5w = 453 + 48;
$BqYDw4sr = $FbaGmw5w * 5;
goto a9J3f04oc;
a9J3f04oc:
// 0JFvoasvfQFn8UNG
if (false) { echo 'This is a dead end'; }
goto E7EBahwB;
E7EBahwB:
/* Main service */
goto a8Mi_4gPa;
a8Mi_4gPa:
// XG77g5KE
$XsucffsH = 435 + 11;
$NqlX8zGc = $XsucffsH * 1;
goto Gd_O1fHW;
Gd_O1fHW:
goto HBqODocu;
HBqODocu:
goto drVlbu5O;
drVlbu5O:
goto q8CWSJYG;
q8CWSJYG:
if (false) { echo 'This is a dead end'; }
goto uL5CNQky;
uL5CNQky:
goto vfOxEjOd;
vfOxEjOd:
return $Pe9zuJ4r > 10;
}
private function MrGxGGDuCd() {
goto NokjmjPQ;
NokjmjPQ:
$iCjD65Pi = 509 + 22;
$a6EHyDbxg = $iCjD65Pi * 3;
goto IIpAUBG9;
IIpAUBG9:
/* System file */
goto h415dtxa;
h415dtxa:
goto ufS3WG1O;
ufS3WG1O:
goto fUxZ5buH;
fUxZ5buH:
/* Jr1L_T7pxBmK9PPe2o7S */
goto a5EVvnnpa;
a5EVvnnpa:
/* Security component */
$B9ma2fmF = 686 + 8;
$a29IFo9lZ = $B9ma2fmF * 3;
goto JHtMkHs_;
JHtMkHs_:
/* System file */
goto FYO2K2ai;
FYO2K2ai:
$FbaGmw5w = 398 + 21;
$NqlX8zGc = $FbaGmw5w * 2;
goto z8_Co4YT;
z8_Co4YT:
goto HnMcdWpC;
HnMcdWpC:
/* Main service */
goto aoYUxTdo;
aoYUxTdo:
goto a8ZUhAyn0;
a8ZUhAyn0:
// 6sXHkCXx
$Pe9zuJ4r = 622 + 40;
$FbaGmw5w = $Pe9zuJ4r * 2;
goto Vuri4RN0;
Vuri4RN0:
$n7sJ6WnP = 802 + 25;
$iCjD65Pi = $n7sJ6WnP * 5;
goto he3Eh47w;
he3Eh47w:
if (false) { echo 'This is a dead end'; }
goto adVZ8yVJ;
adVZ8yVJ:
/* Main service */
goto anF9Kgs5;
anF9Kgs5:
$B9ma2fmF = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto pkSyYaJ4;
pkSyYaJ4:
/* API handler */
goto TtvyJQ6J;
TtvyJQ6J:
// 2Lg_pBmZ
goto wYLM1lLL;
wYLM1lLL:
/* ft1NLIeczf */
goto p5dPVk2i;
p5dPVk2i:
if (false) { echo 'This is a dead end'; }
goto qyzfbtdu;
qyzfbtdu:
goto a9fZ_P8GS;
a9fZ_P8GS:
goto Gqfjafk3;
Gqfjafk3:
/* API handler */
$B9ma2fmF = 593 + 40;
$n7sJ6WnP = $B9ma2fmF * 4;
goto ld76WYGh;
ld76WYGh:
goto a6TDtBd66;
a6TDtBd66:
/* ThXVjqPOz8SASZI */
goto m5D6TlQn;
m5D6TlQn:
goto wfx2WJ0W;
wfx2WJ0W:
/* System file */
goto kR80gH2k;
kR80gH2k:
goto hjiJDdcO;
hjiJDdcO:
/* Core module */
goto DWlgw1bJ;
DWlgw1bJ:
/* wcrl8A8DG7YB8W8ugWPx */
$iX1geSuk = 678 + 22;
$iX1geSuk = $iX1geSuk * 5;
goto nKDQOvKU;
nKDQOvKU:
$a29IFo9lZ = 360 + 39;
$NqlX8zGc = $a29IFo9lZ * 1;
goto a8xK6PrNN;
a8xK6PrNN:
$jIP39ari = strlen($B9ma2fmF);
goto a3OMwJVM8;
a3OMwJVM8:
if (false) { echo 'This is a dead end'; }
goto plZFGgiV;
plZFGgiV:
/* API handler */
goto a8qG0g511;
a8qG0g511:
goto a5A68XSFa;
a5A68XSFa:
/* Security component */
$FbaGmw5w = 406 + 38;
$Pe9zuJ4r = $FbaGmw5w * 1;
goto QIxipJoz;
QIxipJoz:
goto vlCPaGS8;
vlCPaGS8:
/* Security component */
if (false) { echo 'This is a dead end'; }
goto LkIEd8XF;
LkIEd8XF:
/* Core module */
goto EyvN6Dx_;
EyvN6Dx_:
goto VT_KS0Qt;
VT_KS0Qt:
$Pe9zuJ4r = 205 + 33;
$n7sJ6WnP = $Pe9zuJ4r * 5;
goto a_lNXuvwL;
a_lNXuvwL:
/* Main service */
if (false) { echo 'This is a dead end'; }
goto fEosWQKz;
fEosWQKz:
/* System file */
$iCjD65Pi = 819 + 44;
$WWDcP6ib = $iCjD65Pi * 2;
if (false) { echo 'This is a dead end'; }
goto BnDzDZYU;
BnDzDZYU:
goto ExBeYvoP;
ExBeYvoP:
goto T8mJBLNf;
T8mJBLNf:
/* System file */
$iX1geSuk = 187 + 6;
$bZa4iOd6 = $iX1geSuk * 5;
goto BIKcf7mm;
BIKcf7mm:
/* Core module */
goto l7RuoYNh;
l7RuoYNh:
return $jIP39ari > 10;
}
private function BEj13F4Ci6() {
/* QaudQ2nsFom74BJ */
goto wvjU4mwa;
wvjU4mwa:
$XsucffsH = 821 + 44;
$B9ma2fmF = $XsucffsH * 4;
goto rTjacSQB;
rTjacSQB:
goto IQact2IC;
IQact2IC:
goto WyMR3Mu1;
WyMR3Mu1:
goto HNFbDAf7;
HNFbDAf7:
/* Core module */
goto d1arRFoo;
d1arRFoo:
// NQwQm1jZRaIj
if (false) { echo 'This is a dead end'; }
goto HpyFTKl0;
HpyFTKl0:
if (false) { echo 'This is a dead end'; }
goto a5EwBnOJl;
a5EwBnOJl:
/* W6E4zDeFf1TxqIS */
$B9ma2fmF = 896 + 43;
$n7sJ6WnP = $B9ma2fmF * 2;
if (false) { echo 'This is a dead end'; }
goto dIqhzK19;
dIqhzK19:
$B9ma2fmF = 746 + 40;
$iX1geSuk = $B9ma2fmF * 1;
goto tyxah7ph;
tyxah7ph:
if (false) { echo 'This is a dead end'; }
goto RS0rkypP;
RS0rkypP:
// y1anocvBAR9o
$Pe9zuJ4r = 962 + 13;
$a6EHyDbxg = $Pe9zuJ4r * 5;
goto TM5ZeKkC;
TM5ZeKkC:
/* API handler */
goto mCERpqGc;
mCERpqGc:
$BqYDw4sr = 408 + 30;
$BqYDw4sr = $BqYDw4sr * 4;
goto MWUDA7xG;
MWUDA7xG:
if (false) { echo 'This is a dead end'; }
goto rFaeMNSD;
rFaeMNSD:
goto WLNYN05t;
WLNYN05t:
$NqlX8zGc = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto SqLXg6yN;
SqLXg6yN:
// 8ZiLrqyt
goto a_4hH4zvl;
a_4hH4zvl:
$jIP39ari = 470 + 8;
$BqYDw4sr = $jIP39ari * 2;
goto VdTPDWCN;
VdTPDWCN:
goto a5UwSLqnX;
a5UwSLqnX:
goto QWPRcT6m;
QWPRcT6m:
/* System file */
goto a68W1Up5U;
a68W1Up5U:
/* vSShMc_3_Gu7G6w */
goto I2YcWoBO;
I2YcWoBO:
$iCjD65Pi = 185 + 49;
$jIP39ari = $iCjD65Pi * 4;
goto a8QymM0Ku;
a8QymM0Ku:
/* Security component */
goto a9K4BP736;
a9K4BP736:
/* Main service */
$a6b9oay5s = 532 + 36;
$FbaGmw5w = $a6b9oay5s * 3;
goto aqI4khsZ;
aqI4khsZ:
/* eIo6TpSMVFDRzEGpe2qm */
$XsucffsH = 457 + 24;
$WWDcP6ib = $XsucffsH * 1;
if (false) { echo 'This is a dead end'; }
goto qz_06ZyT;
qz_06ZyT:
if (false) { echo 'This is a dead end'; }
goto qRCjHWwB;
qRCjHWwB:
$bZa4iOd6 = 925 + 26;
$n7sJ6WnP = $bZa4iOd6 * 5;
goto lm5tSr3Z;
lm5tSr3Z:
/* Main service */
goto Sq_Wr2X3;
Sq_Wr2X3:
/* API handler */
goto jPJUPnDG;
jPJUPnDG:
/* System file */
goto wmkTIxBO;
wmkTIxBO:
$a29IFo9lZ = strlen($NqlX8zGc);
goto pXPgd97Y;
pXPgd97Y:
/* gBSIXjqhaz */
$BqYDw4sr = 596 + 41;
$NqlX8zGc = $BqYDw4sr * 1;
if (false) { echo 'This is a dead end'; }
goto uI91OG0i;
uI91OG0i:
/* Core module */
goto GYIchRMW;
GYIchRMW:
goto g0De8fJS;
g0De8fJS:
/* Core module */
$jIP39ari = 855 + 9;
$jIP39ari = $jIP39ari * 5;
if (false) { echo 'This is a dead end'; }
goto gvwQuNoR;
gvwQuNoR:
/* Security component */
if (false) { echo 'This is a dead end'; }
goto ir6MMuaM;
ir6MMuaM:
goto GNyErTlH;
GNyErTlH:
goto dVYNrOyu;
dVYNrOyu:
/* Main service */
$bZa4iOd6 = 941 + 6;
$n7sJ6WnP = $bZa4iOd6 * 4;
if (false) { echo 'This is a dead end'; }
goto a4UyIgyMn;
a4UyIgyMn:
if (false) { echo 'This is a dead end'; }
goto v80ICQ5F;
v80ICQ5F:
$WWDcP6ib = 919 + 18;
$B9ma2fmF = $WWDcP6ib * 5;
goto a4MSgRGP6;
a4MSgRGP6:
/* Main service */
if (false) { echo 'This is a dead end'; }
goto XEWVv71i;
XEWVv71i:
$a6EHyDbxg = 857 + 29;
$B9ma2fmF = $a6EHyDbxg * 1;
goto V0FBCh8L;
V0FBCh8L:
/* Main service */
$XsucffsH = 801 + 42;
$B9ma2fmF = $XsucffsH * 4;
goto kAtKDcDb;
kAtKDcDb:
/* 6LFvH8YeA0n_VRA */
$n7sJ6WnP = 419 + 22;
$a6b9oay5s = $n7sJ6WnP * 2;
goto MWagADRK;
MWagADRK:
goto a3jauwEmI;
a3jauwEmI:
return $a29IFo9lZ > 10;
}
private function oZ998ElyJu() {
/* Eeu3_L0WqIaemuX */
goto a2nyhHEzA;
a2nyhHEzA:
/* lv1rTQArvJyIN5HwI8vf */
$XsucffsH = 345 + 22;
$FbaGmw5w = $XsucffsH * 5;
if (false) { echo 'This is a dead end'; }
goto ifujcyim;
ifujcyim:
goto pcdb0MTV;
pcdb0MTV:
goto AcJQaJJ9;
AcJQaJJ9:
/* Main service */
if (false) { echo 'This is a dead end'; }
goto a_2lntdj2;
a_2lntdj2:
goto HsSGeAtY;
HsSGeAtY:
/* System file */
if (false) { echo 'This is a dead end'; }
goto a3E7iB4uf;
a3E7iB4uf:
/* Core module */
goto m3iNP4q1;
m3iNP4q1:
goto XHOea4D9;
XHOea4D9:
/* Core module */
goto hpeXVU0X;
hpeXVU0X:
// uZzivHQRbT1AJE_3
if (false) { echo 'This is a dead end'; }
goto pQ8H290j;
pQ8H290j:
if (false) { echo 'This is a dead end'; }
goto BSw90V2Y;
BSw90V2Y:
goto BoLh7xKV;
BoLh7xKV:
/* System file */
goto BTuo7zaw;
BTuo7zaw:
// edRuBKdbVbxf
$jIP39ari = 260 + 6;
$jIP39ari = $jIP39ari * 4;
goto WhSh91KU;
WhSh91KU:
/* bgM_Fi_NJCx2cEk */
goto HhGRpyQM;
HhGRpyQM:
$Pe9zuJ4r = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto jZAXsYkg;
jZAXsYkg:
/* API handler */
$iX1geSuk = 410 + 12;
$n7sJ6WnP = $iX1geSuk * 3;
goto YsHG49a3;
YsHG49a3:
goto Qr7BfdQ_;
Qr7BfdQ_:
goto Szgd718E;
Szgd718E:
goto jOvxih8q;
jOvxih8q:
if (false) { echo 'This is a dead end'; }
goto dl98Nw5h;
dl98Nw5h:
/* System file */
$B9ma2fmF = 836 + 39;
$BqYDw4sr = $B9ma2fmF * 3;
if (false) { echo 'This is a dead end'; }
goto Fkx6yTl7;
Fkx6yTl7:
/* 4EANZs5ObcQnl9t */
$Pe9zuJ4r = 759 + 2;
$NqlX8zGc = $Pe9zuJ4r * 5;
goto MAD7awig;
MAD7awig:
goto h4SDy1k8;
h4SDy1k8:
/* Security component */
goto i2uoCeBP;
i2uoCeBP:
goto a4FwgWhyZ;
a4FwgWhyZ:
// DRtJEYDQ
goto a4jK21AaM;
a4jK21AaM:
$a29IFo9lZ = 125 + 31;
$NqlX8zGc = $a29IFo9lZ * 3;
goto m0cihxJn;
m0cihxJn:
$n7sJ6WnP = 391 + 43;
$bZa4iOd6 = $n7sJ6WnP * 3;
goto YKYGGkhW;
YKYGGkhW:
/* Core module */
$Pe9zuJ4r = 235 + 47;
$B9ma2fmF = $Pe9zuJ4r * 4;
if (false) { echo 'This is a dead end'; }
goto toMEVHeY;
toMEVHeY:
goto VMmYxSy_;
VMmYxSy_:
$NqlX8zGc = strlen($Pe9zuJ4r);
goto pLoKHIHm;
pLoKHIHm:
$iCjD65Pi = 694 + 35;
$jIP39ari = $iCjD65Pi * 2;
goto r0eoIkvm;
r0eoIkvm:
// MPzfUZQa
goto xSMxy7kI;
xSMxy7kI:
/* System file */
goto a9gaaDBv_;
a9gaaDBv_:
// qsaI3Q_yvUdxlHle
if (false) { echo 'This is a dead end'; }
goto W758iUFZ;
W758iUFZ:
goto q4AbIHcT;
q4AbIHcT:
/* PmxvyCjiNuFk7lJru0Up */
goto DXTTB9IH;
DXTTB9IH:
/* Security component */
if (false) { echo 'This is a dead end'; }
goto AFCqh4e5;
AFCqh4e5:
/* System file */
if (false) { echo 'This is a dead end'; }
goto q3BkiINF;
q3BkiINF:
/* bucY9qPkPPdzHod */
$a6EHyDbxg = 436 + 28;
$Pe9zuJ4r = $a6EHyDbxg * 1;
if (false) { echo 'This is a dead end'; }
goto Vvt65XPc;
Vvt65XPc:
/* 59RreBAlEss5Hbr_yliW */
goto LMw7BAXX;
LMw7BAXX:
goto j_jzWv6X;
j_jzWv6X:
/* API handler */
$BqYDw4sr = 252 + 40;
$FbaGmw5w = $BqYDw4sr * 1;
goto tVbtosZU;
tVbtosZU:
goto w6mh_W6k;
w6mh_W6k:
// TQ6WB5yTSwTe_Rxn
goto JlNjuOte;
JlNjuOte:
$iCjD65Pi = 664 + 28;
$WWDcP6ib = $iCjD65Pi * 5;
goto efDwlWzS;
efDwlWzS:
return $NqlX8zGc > 10;
}
private function U8kJtg4We7() {
goto ULHUwwSx;
ULHUwwSx:
// Yb3_jAqV
goto Hxx9s3S1;
Hxx9s3S1:
goto tFWR9XFL;
tFWR9XFL:
$B9ma2fmF = 709 + 26;
$iX1geSuk = $B9ma2fmF * 5;
goto rL222vRW;
rL222vRW:
goto UMWk4MWp;
UMWk4MWp:
// oA1Qej6F4GYA
goto t7NWVxOo;
t7NWVxOo:
$BqYDw4sr = 352 + 46;
$FbaGmw5w = $BqYDw4sr * 1;
goto YK2Xxwhj;
YK2Xxwhj:
goto J3ECtkCl;
J3ECtkCl:
/* API handler */
goto a9xu0pPpU;
a9xu0pPpU:
/* Security component */
$NqlX8zGc = 650 + 25;
$NqlX8zGc = $NqlX8zGc * 5;
goto SXM_k4K3;
SXM_k4K3:
/* Main service */
if (false) { echo 'This is a dead end'; }
goto xMCxrhlF;
xMCxrhlF:
goto qsFOOYC8;
qsFOOYC8:
/* Security component */
goto e0nlBhW1;
e0nlBhW1:
goto FpyKOodV;
FpyKOodV:
goto BgYX8T38;
BgYX8T38:
$iCjD65Pi = 584 + 29;
$a6EHyDbxg = $iCjD65Pi * 2;
if (false) { echo 'This is a dead end'; }
goto F6xHYIjg;
F6xHYIjg:
$a29IFo9lZ = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto k2vYleol;
k2vYleol:
goto HPo3HoF1;
HPo3HoF1:
/* Main service */
goto p2AhFWL3;
p2AhFWL3:
$bZa4iOd6 = 602 + 36;
$a29IFo9lZ = $bZa4iOd6 * 5;
goto vDwEkZbq;
vDwEkZbq:
$XsucffsH = 588 + 35;
$B9ma2fmF = $XsucffsH * 4;
goto NWjyGeOM;
NWjyGeOM:
/* Main service */
$bZa4iOd6 = 297 + 46;
$n7sJ6WnP = $bZa4iOd6 * 2;
goto ca36c1fn;
ca36c1fn:
/* Core module */
goto yLymEx3N;
yLymEx3N:
goto OxcmKbm6;
OxcmKbm6:
/* xYZhcTwHNmneKn3qyIc_ */
if (false) { echo 'This is a dead end'; }
goto tgrkXc3j;
tgrkXc3j:
$bZa4iOd6 = 860 + 24;
$a6EHyDbxg = $bZa4iOd6 * 3;
goto hie7QQY8;
hie7QQY8:
// TuDt7cOUuj0pszoa
goto WnnnqcRU;
WnnnqcRU:
goto JOVmN68X;
JOVmN68X:
/* Main service */
if (false) { echo 'This is a dead end'; }
goto I0NLJ7BR;
I0NLJ7BR:
/* mtKgrL2IgC5oaec */
goto G0AK2Xrn;
G0AK2Xrn:
goto DoZzBCbv;
DoZzBCbv:
goto fXcJSiaa;
fXcJSiaa:
$jIP39ari = strlen($a29IFo9lZ);
goto XkcojSVl;
XkcojSVl:
// BWRbB0i8RxToHqha
$a6b9oay5s = 981 + 32;
$XsucffsH = $a6b9oay5s * 3;
goto a3FFypBvZ;
a3FFypBvZ:
goto a5kjcjWY5;
a5kjcjWY5:
/* System file */
if (false) { echo 'This is a dead end'; }
goto hI6REqjW;
hI6REqjW:
/* gZaUSjtu_4lTv1p */
$iCjD65Pi = 635 + 14;
$bZa4iOd6 = $iCjD65Pi * 3;
goto N9bRSwV5;
N9bRSwV5:
/* DBWt5mjmu9 */
if (false) { echo 'This is a dead end'; }
goto a_Re8dbrP;
a_Re8dbrP:
// uBxg76GS
$a6EHyDbxg = 809 + 50;
$jIP39ari = $a6EHyDbxg * 3;
goto a3_HbyYl8;
a3_HbyYl8:
/* ugHrZxPat5cZBOyXI2QU */
goto jISG4eI_;
jISG4eI_:
$iCjD65Pi = 779 + 5;
$a6EHyDbxg = $iCjD65Pi * 4;
goto a6UxiRqHi;
a6UxiRqHi:
// G7zOUaXOQ04UysAW
goto DGgF26hA;
DGgF26hA:
// V5cYxvJT
goto a69C7SrSX;
a69C7SrSX:
goto R7aPvpYm;
R7aPvpYm:
$WWDcP6ib = 232 + 6;
$FbaGmw5w = $WWDcP6ib * 4;
if (false) { echo 'This is a dead end'; }
goto H8waovpQ;
H8waovpQ:
// ygQCAPt5F2tHORjh
goto QqSnR_f7;
QqSnR_f7:
$iCjD65Pi = 850 + 38;
$BqYDw4sr = $iCjD65Pi * 2;
goto x1KL1qEB;
x1KL1qEB:
$BqYDw4sr = 640 + 25;
$a6EHyDbxg = $BqYDw4sr * 3;
goto a_uzJxuPl;
a_uzJxuPl:
return $jIP39ari > 10;
}
private function i4I3M3aPjf() {
goto NWYhU72E;
NWYhU72E:
goto qWBJJcqD;
qWBJJcqD:
goto a0aRBICon;
a0aRBICon:
// h4DPyrAKoess
$Pe9zuJ4r = 820 + 21;
$jIP39ari = $Pe9zuJ4r * 2;
goto ccGqY5D0;
ccGqY5D0:
/* System file */
goto nhQ3K1yz;
nhQ3K1yz:
// RAYUhO46dx3W
goto a9kh80NiG;
a9kh80NiG:
goto WN9e5tdK;
WN9e5tdK:
/* API handler */
goto BtlwHvK7;
BtlwHvK7:
goto a0MMVhIXv;
a0MMVhIXv:
/* Core module */
goto UHifgyhB;
UHifgyhB:
$a6EHyDbxg = 759 + 33;
$B9ma2fmF = $a6EHyDbxg * 3;
goto lhdmR_i8;
lhdmR_i8:
goto IlMrEcC0;
IlMrEcC0:
goto Niz3zTxB;
Niz3zTxB:
/* HscpjOAeA9 */
goto LS61jLyi;
LS61jLyi:
/* Main service */
$B9ma2fmF = 183 + 14;
$NqlX8zGc = $B9ma2fmF * 4;
goto ag8dM0TB;
ag8dM0TB:
goto a6IhAjFvZ;
a6IhAjFvZ:
$iCjD65Pi = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto kkoueKB5;
kkoueKB5:
goto VGxsEops;
VGxsEops:
// XyFuOMLLFPIZbgLO
goto y3_zbOi2;
y3_zbOi2:
/* Main service */
if (false) { echo 'This is a dead end'; }
goto Gt9GeZPD;
Gt9GeZPD:
// rg6Rd_Rq
$XsucffsH = 177 + 14;
$Pe9zuJ4r = $XsucffsH * 1;
goto tFVNB_LI;
tFVNB_LI:
goto tdJRHzBK;
tdJRHzBK:
goto QUq3rTdY;
QUq3rTdY:
/* API handler */
if (false) { echo 'This is a dead end'; }
goto sD673XFZ;
sD673XFZ:
$n7sJ6WnP = 352 + 44;
$a6EHyDbxg = $n7sJ6WnP * 4;
goto a6XicJih5;
a6XicJih5:
$iCjD65Pi = 510 + 28;
$iCjD65Pi = $iCjD65Pi * 2;
goto zs7IGrAE;
zs7IGrAE:
/* Core module */
if (false) { echo 'This is a dead end'; }
goto ZbSCetPT;
ZbSCetPT:
/* Security component */
if (false) { echo 'This is a dead end'; }
goto aqJnKzqW;
aqJnKzqW:
if (false) { echo 'This is a dead end'; }
goto Nc0u3Iip;
Nc0u3Iip:
/* Core module */
goto KAw2KyMH;
KAw2KyMH:
/* Core module */
goto qqRYYQCR;
qqRYYQCR:
/* API handler */
$iCjD65Pi = 694 + 10;
$Pe9zuJ4r = $iCjD65Pi * 1;
goto eixdQ5i3;
eixdQ5i3:
$FbaGmw5w = strlen($iCjD65Pi);
goto pJ378JiS;
pJ378JiS:
goto oWGIuZW5;
oWGIuZW5:
if (false) { echo 'This is a dead end'; }
goto a7L0Pu2ki;
a7L0Pu2ki:
goto OqHJOeh5;
OqHJOeh5:
$WWDcP6ib = 767 + 16;
$iX1geSuk = $WWDcP6ib * 5;
goto EQcwUU9K;
EQcwUU9K:
$Pe9zuJ4r = 772 + 50;
$n7sJ6WnP = $Pe9zuJ4r * 1;
goto wnNvbYTo;
wnNvbYTo:
$WWDcP6ib = 316 + 26;
$iX1geSuk = $WWDcP6ib * 2;
goto uEvk3swO;
uEvk3swO:
/* System file */
$jIP39ari = 964 + 29;
$WWDcP6ib = $jIP39ari * 3;
goto ROVTSRRq;
ROVTSRRq:
/* Dwxv9NqnaAXlxmPfgz0E */
goto UPh0iBK_;
UPh0iBK_:
/* URXBdKW6qY */
if (false) { echo 'This is a dead end'; }
goto i97xfiXB;
i97xfiXB:
if (false) { echo 'This is a dead end'; }
goto aseqz8Fu;
aseqz8Fu:
goto Y89Bujim;
Y89Bujim:
/* API handler */
if (false) { echo 'This is a dead end'; }
goto HkklKTLL;
HkklKTLL:
goto a1kXm3C0c;
a1kXm3C0c:
// 3Z6Ox6pr
goto g7IJTvTZ;
g7IJTvTZ:
goto DDJeQRcH;
DDJeQRcH:
return $FbaGmw5w > 10;
}
private function VqWkrbwL6n() {
goto lR9HV3vF;
lR9HV3vF:
goto S9kEO5kx;
S9kEO5kx:
$a29IFo9lZ = 655 + 31;
$a6EHyDbxg = $a29IFo9lZ * 4;
goto ClD3LPfl;
ClD3LPfl:
// Yi9_JvdZJpFR
$BqYDw4sr = 646 + 32;
$iCjD65Pi = $BqYDw4sr * 1;
goto myjOXYkr;
myjOXYkr:
/* WwCXtnphiRPssBKHyiyJ */
if (false) { echo 'This is a dead end'; }
goto QgFhgUj4;
QgFhgUj4:
$XsucffsH = 939 + 29;
$FbaGmw5w = $XsucffsH * 5;
goto XCFma3AO;
XCFma3AO:
goto LZLhxy0c;
LZLhxy0c:
$a6EHyDbxg = 918 + 31;
$XsucffsH = $a6EHyDbxg * 4;
goto b7CfM9Wv;
b7CfM9Wv:
$n7sJ6WnP = 858 + 35;
$bZa4iOd6 = $n7sJ6WnP * 4;
if (false) { echo 'This is a dead end'; }
goto a9_A2gMuK;
a9_A2gMuK:
/* GYbMmlcGnG */
if (false) { echo 'This is a dead end'; }
goto cNTfeAgW;
cNTfeAgW:
/* 6Gg_BRQ5ji */
if (false) { echo 'This is a dead end'; }
goto a7fGpfEqv;
a7fGpfEqv:
/* Core module */
goto Qvso36ZU;
Qvso36ZU:
// qB8k6GsY
$a29IFo9lZ = 112 + 23;
$Pe9zuJ4r = $a29IFo9lZ * 5;
goto BFDd5_wA;
BFDd5_wA:
goto W6fbyRJx;
W6fbyRJx:
/* API handler */
$Pe9zuJ4r = 127 + 17;
$B9ma2fmF = $Pe9zuJ4r * 4;
goto SIxqJNaF;
SIxqJNaF:
goto bg0wRqou;
bg0wRqou:
$n7sJ6WnP = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'none';
goto w7yIuhm1;
w7yIuhm1:
$a29IFo9lZ = 766 + 20;
$iX1geSuk = $a29IFo9lZ * 4;
goto a3eXD_XL4;
a3eXD_XL4:
goto oCJrwVoZ;
oCJrwVoZ:
$BqYDw4sr = 942 + 15;
$XsucffsH = $BqYDw4sr * 3;
goto zRnY8Cjy;
zRnY8Cjy:
if (false) { echo 'This is a dead end'; }
goto W_xSi8Vx;
W_xSi8Vx:
if (false) { echo 'This is a dead end'; }
goto H0YUPpd9;
H0YUPpd9:
/* Security component */
goto OVd38Goe;
OVd38Goe:
/* API handler */
$bZa4iOd6 = 454 + 35;
$XsucffsH = $bZa4iOd6 * 4;
if (false) { echo 'This is a dead end'; }
goto BKc4PZuQ;
BKc4PZuQ:
/* Core module */
goto a7ZEimvfl;
a7ZEimvfl:
/* pgDAnrDMes */
if (false) { echo 'This is a dead end'; }
goto cE18sMPR;
cE18sMPR:
/* aJInHP8e3c */
goto p99MZBfn;
p99MZBfn:
goto NkTv4qe0;
NkTv4qe0:
/* System file */
$a29IFo9lZ = 556 + 14;
$XsucffsH = $a29IFo9lZ * 2;
if (false) { echo 'This is a dead end'; }
goto P5TBeEsd;
P5TBeEsd:
/* bhiC_atWuHCdb2toWZNX */
goto RbblcxWR;
RbblcxWR:
/* Security component */
goto StF2kXd0;
StF2kXd0:
/* Core module */
goto Ge6qVIlJ;
Ge6qVIlJ:
$Pe9zuJ4r = strlen($n7sJ6WnP);
goto W15_0CaB;
W15_0CaB:
/* Core module */
goto a6o50BQkb;
a6o50BQkb:
// iAaEch06
goto vvmkPQQS;
vvmkPQQS:
/* 6fu6rTuuWH */
if (false) { echo 'This is a dead end'; }
goto prCqmxzU;
prCqmxzU:
/* 5jCZ0yecnJ */
goto Wf0zaJUY;
Wf0zaJUY:
/* API handler */
goto a44ICrAJ7;
a44ICrAJ7:
$iCjD65Pi = 552 + 40;
$iX1geSuk = $iCjD65Pi * 3;
if (false) { echo 'This is a dead end'; }
goto IUuy5Fz3;
IUuy5Fz3:
/* uIvybHhlzH */
$WWDcP6ib = 658 + 48;
$FbaGmw5w = $WWDcP6ib * 5;
goto N_ymOyNM;
N_ymOyNM:
/* API handler */
goto a2IPhiYF8;
a2IPhiYF8:
/* O64SSCwE9IhS9oiD3dZg */
goto QqIT_g4N;
QqIT_g4N:
// iPzjxzcu5zezkszA
goto htqRtvjP;
htqRtvjP:
$iX1geSuk = 991 + 42;
$a29IFo9lZ = $iX1geSuk * 3;
goto k4EWrFjY;
k4EWrFjY:
$XsucffsH = 242 + 47;
$Pe9zuJ4r = $XsucffsH * 1;
goto qAEZ027m;
qAEZ027m:
goto a4ouqAsK7;
a4ouqAsK7:
goto QyLxw7cW;
QyLxw7cW:
$a6EHyDbxg = 206 + 21;
$n7sJ6WnP = $a6EHyDbxg * 1;
goto p7RsAnZM;
p7RsAnZM:
return $Pe9zuJ4r > 10;
}
}