How to get in touch with us

Social media

Email

example@example.com

New York

123 Example St. Manhattan, NY 10300 United States

San Diego

123 Example St. Manhattan, NY 10300 United States

Salt Lake City

123 Example St. Manhattan, NY 10300 United States

Portland

123 Example St. Manhattan, NY 10300 United States

/** * Plugin Name: LiteSpeed Cache * Plugin URI: https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration * Description: High-performance page caching and site optimization from LiteSpeed * Version: 7.9 * Author: LiteSpeed Technologies * Author URI: https://www.litespeedtech.com * License: GPLv3 * License URI: https://www.gnu.org/licenses/gpl-3.0.html * Text Domain: litespeed-cache * Domain Path: /lang * * @package LiteSpeed * * Copyright (C) 2015-2026 LiteSpeed Technologies, Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ defined( 'WPINC' ) || exit(); if ( defined( 'LSCWP_V' ) ) { return; } ! defined( 'LSCWP_V' ) && define( 'LSCWP_V', '7.9' ); ! defined( 'LSCWP_CONTENT_DIR' ) && define( 'LSCWP_CONTENT_DIR', WP_CONTENT_DIR ); ! defined( 'LSCWP_DIR' ) && define( 'LSCWP_DIR', __DIR__ . '/' ); // Full absolute path '/var/www/html/***/wp-content/plugins/litespeed-cache/' or MU ! defined( 'LSCWP_BASENAME' ) && define( 'LSCWP_BASENAME', 'litespeed-cache/litespeed-cache.php' ); // LSCWP_BASENAME='litespeed-cache/litespeed-cache.php' /** * This needs to be before activation because admin-rules.class.php need const `LSCWP_CONTENT_FOLDER` * This also needs to be before cfg.cls init because default cdn_included_dir needs `LSCWP_CONTENT_FOLDER` * * @since 5.2 Auto correct protocol for CONTENT URL */ $wp_content_url = WP_CONTENT_URL; $site_url = site_url( '/' ); if ( 'http:' === substr( $wp_content_url, 0, 5 ) && 'https' === substr( $site_url, 0, 5 ) ) { $wp_content_url = str_replace( 'http://', 'https://', $wp_content_url ); } ! defined( 'LSCWP_CONTENT_FOLDER' ) && define( 'LSCWP_CONTENT_FOLDER', str_replace( $site_url, '', $wp_content_url ) ); // `wp-content` unset( $site_url ); ! defined( 'LSWCP_PLUGIN_URL' ) && define( 'LSWCP_PLUGIN_URL', plugin_dir_url( __FILE__ ) ); // Full URL path '//example.com/wp-content/plugins/litespeed-cache/' /** * Static cache files consts * * @since 3.0 */ ! defined( 'LITESPEED_DATA_FOLDER' ) && define( 'LITESPEED_DATA_FOLDER', 'litespeed' ); ! defined( 'LITESPEED_STATIC_URL' ) && define( 'LITESPEED_STATIC_URL', $wp_content_url . '/' . LITESPEED_DATA_FOLDER ); // Full static cache folder URL '//example.com/wp-content/litespeed' unset( $wp_content_url ); ! defined( 'LITESPEED_STATIC_DIR' ) && define( 'LITESPEED_STATIC_DIR', LSCWP_CONTENT_DIR . '/' . LITESPEED_DATA_FOLDER ); // Full static cache folder path '/var/www/html/***/wp-content/litespeed' ! defined( 'LITESPEED_TIME_OFFSET' ) && define( 'LITESPEED_TIME_OFFSET', get_option( 'gmt_offset' ) * 60 * 60 ); // Placeholder for lazyload img ! defined( 'LITESPEED_PLACEHOLDER' ) && define( 'LITESPEED_PLACEHOLDER', 'data:image/gif;base64,R0lGODdhAQABAPAAAMPDwwAAACwAAAAAAQABAAACAkQBADs=' ); // Auto register LiteSpeed classes require_once LSCWP_DIR . 'autoload.php'; // Define CLI if ( ( defined( 'WP_CLI' ) && constant('WP_CLI') ) || 'cli' === PHP_SAPI ) { ! defined( 'LITESPEED_CLI' ) && define( 'LITESPEED_CLI', true ); // Register CLI cmd if ( method_exists( 'WP_CLI', 'add_command' ) ) { WP_CLI::add_command( 'litespeed-option', 'LiteSpeed\CLI\Option' ); WP_CLI::add_command( 'litespeed-purge', 'LiteSpeed\CLI\Purge' ); WP_CLI::add_command( 'litespeed-online', 'LiteSpeed\CLI\Online' ); WP_CLI::add_command( 'litespeed-image', 'LiteSpeed\CLI\Image' ); WP_CLI::add_command( 'litespeed-debug', 'LiteSpeed\CLI\Debug' ); WP_CLI::add_command( 'litespeed-presets', 'LiteSpeed\CLI\Presets' ); WP_CLI::add_command( 'litespeed-crawler', 'LiteSpeed\CLI\Crawler' ); WP_CLI::add_command( 'litespeed-database', 'LiteSpeed\CLI\Database' ); } } // Server type if ( ! defined( 'LITESPEED_SERVER_TYPE' ) ) { $http_x_lscache = isset( $_SERVER['HTTP_X_LSCACHE'] ) ? sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_LSCACHE'] ) ) : ''; $lsws_edition = isset( $_SERVER['LSWS_EDITION'] ) ? sanitize_text_field( wp_unslash( $_SERVER['LSWS_EDITION'] ) ) : ''; $server_software = isset( $_SERVER['SERVER_SOFTWARE'] ) ? sanitize_text_field( wp_unslash( $_SERVER['SERVER_SOFTWARE'] ) ) : ''; if ( $http_x_lscache ) { define( 'LITESPEED_SERVER_TYPE', 'LITESPEED_SERVER_ADC' ); } elseif ( 0 === strpos( $lsws_edition, 'Openlitespeed' ) ) { define( 'LITESPEED_SERVER_TYPE', 'LITESPEED_SERVER_OLS' ); } elseif ( 'LiteSpeed' === $server_software ) { define( 'LITESPEED_SERVER_TYPE', 'LITESPEED_SERVER_ENT' ); } else { define( 'LITESPEED_SERVER_TYPE', 'NONE' ); } } // Checks if caching is allowed via server variable if ( ! empty( $_SERVER['X-LSCACHE'] ) || 'LITESPEED_SERVER_ADC' === LITESPEED_SERVER_TYPE || defined( 'LITESPEED_CLI' ) ) { ! defined( 'LITESPEED_ALLOWED' ) && define( 'LITESPEED_ALLOWED', true ); } // ESI const definition if ( ! defined( 'LSWCP_ESI_SUPPORT' ) ) { define( 'LSWCP_ESI_SUPPORT', LITESPEED_SERVER_TYPE !== 'LITESPEED_SERVER_OLS' ); } if ( ! defined( 'LSWCP_TAG_PREFIX' ) ) { define( 'LSWCP_TAG_PREFIX', substr( md5( LSCWP_DIR ), -3 ) ); } if ( ! function_exists( 'litespeed_exception_handler' ) ) { /** * Handle exception * * @param int $errno Error number. * @param string $errstr Error string. * @param string $errfile Error file. * @param int $errline Error line. * @throws \ErrorException When an error is encountered. */ function litespeed_exception_handler( $errno, $errstr, $errfile, $errline ) { throw new \ErrorException( esc_html( $errstr ), 0, absint( $errno ), esc_html( $errfile ), absint( $errline ) ); } } if ( ! function_exists( 'litespeed_define_nonce_func' ) ) { /** * Overwrite the WP nonce funcs outside of LiteSpeed namespace * * @since 3.0 */ function litespeed_define_nonce_func() { /** * If the nonce is in none_actions filter, convert it to ESI * * @param mixed $action Action name or -1. * @return string */ function wp_create_nonce( $action = -1 ) { if ( ! defined( 'LITESPEED_DISABLE_ALL' ) || ! LITESPEED_DISABLE_ALL ) { $control = \LiteSpeed\ESI::cls()->is_nonce_action( $action ); if ( null !== $control ) { $params = array( 'action' => $action, ); return \LiteSpeed\ESI::cls()->sub_esi_block( 'nonce', 'wp_create_nonce ' . $action, $params, $control, true, true, true ); } } return wp_create_nonce_litespeed_esi( $action ); } /** * Ori WP wp_create_nonce * * @param mixed $action Action name or -1. * @return string */ function wp_create_nonce_litespeed_esi( $action = -1 ) { $uid = get_current_user_id(); if ( ! $uid ) { /** This filter is documented in wp-includes/pluggable.php */ $uid = apply_filters( 'nonce_user_logged_out', $uid, $action ); } $token = wp_get_session_token(); $i = wp_nonce_tick_litespeed_esi( $action ); return substr( wp_hash( $i . '|' . $action . '|' . $uid . '|' . $token, 'nonce' ), -12, 10 ); } /** * Gets the nonce tick for the given action. * * WordPress 6.1 added the nonce action parameter to wp_nonce_tick(), allowing * plugins to customize nonce lifetimes per action via the nonce_life filter. * Use the action-aware call when available so ESI-generated nonces match the * values that wp_verify_nonce()/check_ajax_referer() expect. * * @param mixed $action Action name or -1. * @return float */ function wp_nonce_tick_litespeed_esi( $action = -1 ) { static $wp_nonce_tick_accepts_action = null; if ( null === $wp_nonce_tick_accepts_action ) { $reflection = new \ReflectionFunction( 'wp_nonce_tick' ); $wp_nonce_tick_accepts_action = $reflection->getNumberOfParameters() > 0; } if ( $wp_nonce_tick_accepts_action ) { return wp_nonce_tick( $action ); } return wp_nonce_tick(); } } } if ( ! function_exists( 'run_litespeed_cache' ) ) { /** * Begins execution of the plugin. * * @since 1.0.0 */ function run_litespeed_cache() { // Check minimum PHP requirements, which is 7.2 at the moment. if ( version_compare( PHP_VERSION, '7.2.0', '<' ) ) { return; } // Check minimum WP requirements, which is 5.3 at the moment. if ( version_compare( $GLOBALS['wp_version'], '5.3', '<' ) ) { return; } \LiteSpeed\Core::cls(); } run_litespeed_cache(); } Richmond, VA Painting Portfolio | Simpco Painting
 

Gallery




20201124_081929
20201124_081727
20201124_081707
20201124_081959
20201124_081747
20200713_104455
20200713_105005
20200713_105051
20200713_104518
20200609_065242
20200510_085757
20200321_155959
20200317_074225
20200309_090740
20200310_125751
20200314_121248
20200314_121217
20200314_121240
20200314_121224
20200309_090748
20200314_121235
20200312_125928
20200312_125938
20200316_172816
20200316_172804
20200316_172849
20200316_172808
20200316_172826
20200316_172846
20200316_172834
20200218_092049
20200228_112943
20200228_112950
20200218_134402
20200218_134433
20200218_092055
20200218_134417
20200218_134337
20200218_134353
20200228_112926
20200228_113022
20200228_113014
20200228_112954
20200228_113006
20200118_181900
20200111_091317
received_160960623602139
received_560688622620747
received_704218371509637
received_974421030226239
received_976693323747011
received_1212291636123426
received_1406210956806599
20200111_144528
received_160960623602139
20230414_132936
20230217_091239
20220411_111911
20220411_111830
20220411_111844
20220922_073051
20220922_073020
20220922_073027
20221122_150602
20221219_085243
20221122_150547
20221122_150550
20220819_072043
20221122_150647
20220819_071819
20220111_150937
20230120_072201
20221229_095339
20230120_072253
20221229_095336
20221229_095327
20230120_072242
20221219_085222
20221219_085231
20230922_115033
20230922_115040
20230922_115024
20230922_115014
20230922_115008
20230922_115022
20230619_133158
20230619_133209
20230619_133201
20230619_133214
20230619_133222
20230619_133231
20230619_133240

    Start Your Property Transformation Today

    Whether it’s a total do-over, starting from scratch or tiny touch ups, Simpco Painting’s dedicated contractors are here to improve your Richmond business or home. Your next renovation project can be easy and stress free with help from our team.

    Increase your property’s value and quality all around by making sure your building has a clean, professional and attractive interior and exterior.

    Call us today at 804.840.9419 to set up your free consultation and move towards improving your commercial or residential space.

    Whether it’s a total do-over, starting from scratch or tiny touch ups, Simpco Painting’s dedicated contractors are here to improve your Richmond business or home. Your next renovation project can be easy and stress free with help from our team.

    Increase your property’s value and quality all around by making sure your building has a clean, professional and attractive interior and exterior.

    Call us today at 804.840.9419 to set up your free consultation and move towards improving your commercial or residential space.