tags
#: src/admin-display.cls.php:1535
msgid "Server variable(s) %s available to override this setting."
msgstr ""
#: src/admin-display.cls.php:1551
msgid "The URLs will be compared to the REQUEST_URI server variable."
msgstr ""
#. translators: 1: example URL, 2: pattern example
#: src/admin-display.cls.php:1553
msgid "For example, for %1$s, %2$s can be used here."
msgstr ""
#. translators: %s: caret symbol
#: src/admin-display.cls.php:1556
msgid "To match the beginning, add %s to the beginning of the item."
msgstr ""
#. translators: %s: dollar symbol
#: src/admin-display.cls.php:1558
msgid "To do an exact match, add %s to the end of the URL."
msgstr ""
#: src/admin-display.cls.php:1559
#: src/doc.cls.php:128
msgid "One per line."
msgstr ""
#: src/admin-display.cls.php:1576
msgid "%s groups"
msgstr ""
#: src/admin-display.cls.php:1579
msgid "%s images"
msgstr ""
#: src/admin-display.cls.php:1588
msgid "%s group"
msgstr ""
#: src/admin-display.cls.php:1591
msgid "%s image"
msgstr ""
#: src/admin-settings.cls.php:40
#: src/admin-settings.cls.php:313
msgid "No fields"
msgstr ""
#: src/admin-settings.cls.php:104
msgid "The user with id %s has editor access, which is not allowed for the role simulator."
msgstr ""
#: src/admin-settings.cls.php:297
#: src/admin-settings.cls.php:333
msgid "Options saved."
msgstr ""
#: src/cdn/cloudflare.cls.php:121
msgid "Notified Cloudflare to set development mode to %s successfully."
msgstr ""
#: src/cdn/cloudflare.cls.php:151
msgid "Cloudflare API is set to off."
msgstr ""
#: src/cdn/cloudflare.cls.php:167
msgid "Notified Cloudflare to purge all successfully."
msgstr ""
#: src/cdn/cloudflare.cls.php:181
msgid "No available Cloudflare zone"
msgstr ""
#: src/cdn/cloudflare.cls.php:275
#: src/cdn/cloudflare.cls.php:297
msgid "Failed to communicate with Cloudflare"
msgstr ""
#: src/cdn/cloudflare.cls.php:288
msgid "Communicated with Cloudflare successfully."
msgstr ""
#: src/cloud.cls.php:246
#: src/cloud.cls.php:331
msgid "QUIC.cloud's access to your WP REST API seems to be blocked."
msgstr ""
#: src/cloud.cls.php:256
#: src/cloud.cls.php:341
msgid "Failed to get echo data from WPAPI"
msgstr ""
#: src/cloud.cls.php:319
#: src/cloud.cls.php:376
msgid "You need to set the %1$s first. Please use the command %2$s to set."
msgstr ""
#: src/cloud.cls.php:320
#: src/cloud.cls.php:377
#: src/lang.cls.php:106
msgid "Server IP"
msgstr ""
#: src/cloud.cls.php:368
#: src/cloud.cls.php:414
#: src/cloud.cls.php:441
#: src/cloud.cls.php:460
#: src/cloud.cls.php:481
#: src/cloud.cls.php:499
msgid "You need to activate QC first."
msgstr ""
#: src/cloud.cls.php:386
msgid "Cert or key file does not exist."
msgstr ""
#: src/cloud.cls.php:676
msgid "Failed to validate %s activation data."
msgstr ""
#: src/cloud.cls.php:683
msgid "Failed to parse %s activation status."
msgstr ""
#: src/cloud.cls.php:690
msgid "%s activation data expired."
msgstr ""
#: src/cloud.cls.php:718
msgid "Congratulations, %s successfully set this domain up for the anonymous online services."
msgstr ""
#: src/cloud.cls.php:720
msgid "Congratulations, %s successfully set this domain up for the online services."
msgstr ""
#: src/cloud.cls.php:725
#: src/cloud.cls.php:775
#: src/cloud.cls.php:818
msgid "Congratulations, %s successfully set this domain up for the online services with CDN service."
msgstr ""
#: src/cloud.cls.php:846
msgid "Reset %s activation successfully."
msgstr ""
#: src/cloud.cls.php:1131
#: src/cloud.cls.php:1144
#: src/cloud.cls.php:1182
#: src/cloud.cls.php:1250
#: src/cloud.cls.php:1408
msgid "Cloud Error"
msgstr ""
#: src/cloud.cls.php:1182
msgid "No available Cloud Node after checked server load."
msgstr ""
#: src/cloud.cls.php:1250
msgid "No available Cloud Node."
msgstr ""
#: src/cloud.cls.php:1362
msgid "In order to use QC services, need a real domain name, cannot use an IP."
msgstr ""
#: src/cloud.cls.php:1411
msgid "Please try after %1$s for service %2$s."
msgstr ""
#: src/cloud.cls.php:1633
#: src/cloud.cls.php:1656
msgid "Failed to request via WordPress"
msgstr ""
#: src/cloud.cls.php:1688
msgid "Cloud server refused the current request due to unpulled images. Please pull the images first."
msgstr ""
#: src/cloud.cls.php:1693
msgid "Your domain_key has been temporarily blocklisted to prevent abuse. You may contact support at QUIC.cloud to learn more."
msgstr ""
#: src/cloud.cls.php:1700
msgid "Cloud server refused the current request due to rate limiting. Please try again later."
msgstr ""
#: src/cloud.cls.php:1708
msgid "Redetected node"
msgstr ""
#: src/cloud.cls.php:1716
msgid "We are working hard to improve your online service experience. The service will be unavailable while we work. We apologize for any inconvenience."
msgstr ""
#: src/cloud.cls.php:1767
#: src/cloud.cls.php:1775
msgid "Message from QUIC.cloud server"
msgstr ""
#: src/cloud.cls.php:1783
msgid "Good news from QUIC.cloud server"
msgstr ""
#: src/cloud.cls.php:1792
msgid "%1$s plugin version %2$s required for this action."
msgstr ""
#: src/cloud.cls.php:1859
msgid "Failed to communicate with QUIC.cloud server"
msgstr ""
#: src/cloud.cls.php:1918
msgid "Site not recognized. QUIC.cloud deactivated automatically. Please reactivate your QUIC.cloud account."
msgstr ""
#: src/cloud.cls.php:1919
msgid "Click here to proceed."
msgstr ""
#: src/cloud.cls.php:2220
msgid "Linked to QUIC.cloud preview environment, for testing purpose only."
msgstr ""
#: src/cloud.cls.php:2276
msgid "Sync QUIC.cloud status successfully."
msgstr ""
#: src/cloud.cls.php:2283
msgid "Sync credit allowance with Cloud Server successfully."
msgstr ""
#: src/conf.cls.php:551
msgid "Saving option failed. IPv4 only for %s."
msgstr ""
#: src/conf.cls.php:742
msgid "Changed setting successfully."
msgstr ""
#: src/core.cls.php:333
msgid "Notified LiteSpeed Web Server to purge everything."
msgstr ""
#: src/core.cls.php:338
msgid "Notified LiteSpeed Web Server to purge the list."
msgstr ""
#: src/crawler-map.cls.php:347
msgid "Sitemap cleaned successfully"
msgstr ""
#: src/crawler-map.cls.php:451
msgid "No valid sitemap parsed for crawler."
msgstr ""
#: src/crawler-map.cls.php:456
msgid "Sitemap created successfully: %d items"
msgstr ""
#: src/crawler.cls.php:229
msgid "Crawler disabled list is cleared! All crawlers are set to active! "
msgstr ""
#: src/crawler.cls.php:324
msgid "Started async crawling"
msgstr ""
#: src/crawler.cls.php:1310
msgid "Guest"
msgstr ""
#: src/crawler.cls.php:1487
msgid "Manually added to blocklist"
msgstr ""
#: src/crawler.cls.php:1490
msgid "Previously existed in blocklist"
msgstr ""
#. translators: %s: time string
#: src/data.cls.php:239
msgid "The database has been upgrading in the background since %s. This message will disappear once upgrade is complete."
msgstr ""
#: src/db-optm.cls.php:190
msgid "Clean all successfully."
msgstr ""
#: src/db-optm.cls.php:252
msgid "Clean post revisions successfully."
msgstr ""
#: src/db-optm.cls.php:257
msgid "Clean orphaned post meta successfully."
msgstr ""
#: src/db-optm.cls.php:262
msgid "Clean auto drafts successfully."
msgstr ""
#: src/db-optm.cls.php:267
msgid "Clean trashed posts and pages successfully."
msgstr ""
#: src/db-optm.cls.php:272
msgid "Clean spam comments successfully."
msgstr ""
#: src/db-optm.cls.php:277
msgid "Clean trashed comments successfully."
msgstr ""
#: src/db-optm.cls.php:282
msgid "Clean trackbacks and pingbacks successfully."
msgstr ""
#: src/db-optm.cls.php:310
msgid "Clean expired transients successfully."
msgstr ""
#: src/db-optm.cls.php:320
msgid "Clean all transients successfully."
msgstr ""
#: src/db-optm.cls.php:336
msgid "Optimized all tables."
msgstr ""
#: src/db-optm.cls.php:399
msgid "Converted to InnoDB successfully."
msgstr ""
#: src/doc.cls.php:40
msgid "This setting is %1$s for certain qualifying requests due to %2$s!"
msgstr ""
#: src/doc.cls.php:57
msgid "This setting will regenerate crawler list and clear the disabled list!"
msgstr ""
#: src/doc.cls.php:69
msgid "This site utilizes caching in order to facilitate a faster response time and better user experience. Caching potentially stores a duplicate copy of every web page that is on display on this site. All cache files are temporary, and are never accessed by any third party, except as necessary to obtain technical support from the cache plugin vendor. Cache files expire on a schedule set by the site administrator, but may easily be purged by the admin before their natural expiration, if necessary. We may use QUIC.cloud services to process & cache your data temporarily."
msgstr ""
#. translators: %s: QUIC.cloud privacy policy URL
#: src/doc.cls.php:76
msgid "Please see %s for more details."
msgstr ""
#: src/doc.cls.php:101
#: tpl/dash/dashboard.tpl.php:187
#: tpl/dash/dashboard.tpl.php:846
#: tpl/general/online.tpl.php:81
#: tpl/general/online.tpl.php:93
#: tpl/general/online.tpl.php:109
#: tpl/general/online.tpl.php:114
#: tpl/img_optm/summary.tpl.php:59
#: tpl/inc/check_cache_disabled.php:46
#: tpl/page_optm/settings_media.tpl.php:301
msgid "Learn More"
msgstr ""
#: src/doc.cls.php:145
msgid "Both full and partial strings can be used."
msgstr ""
#: src/doc.cls.php:147
msgid "Both full URLs and partial strings can be used."
msgstr ""
#: src/doc.cls.php:159
msgid "This setting will edit the .htaccess file."
msgstr ""
#: src/doc.cls.php:177
msgid "The queue is processed asynchronously. It may take time."
msgstr ""
#: src/error.cls.php:68
msgid "You will need to finish %s setup to use the online services."
msgstr ""
#: src/error.cls.php:73
#: tpl/crawler/settings.tpl.php:123
#: tpl/crawler/settings.tpl.php:144
#: tpl/crawler/summary.tpl.php:218
msgid "Click here to set."
msgstr ""
#: src/error.cls.php:81
msgid "You have used all of your daily quota for today."
msgstr ""
#: src/error.cls.php:86
#: src/error.cls.php:99
msgid "Learn more or purchase additional quota."
msgstr ""
#: src/error.cls.php:94
msgid "You have used all of your quota left for current service this month."
msgstr ""
#: src/error.cls.php:107
msgid "You have too many requested images, please try again in a few minutes."
msgstr ""
#: src/error.cls.php:111
msgid "You have images waiting to be pulled. Please wait for the automatic pull to complete, or pull them down manually now."
msgstr ""
#: src/error.cls.php:115
msgid "The image list is empty."
msgstr ""
#: src/error.cls.php:119
msgid "Not enough parameters. Please check if the QUIC.cloud connection is set correctly"
msgstr ""
#: src/error.cls.php:123
msgid "There is proceeding queue not pulled yet."
msgstr ""
#: src/error.cls.php:128
msgid "There is proceeding queue not pulled yet. Queue info: %s."
msgstr ""
#: src/error.cls.php:134
msgid "The site is not a valid alias on QUIC.cloud."
msgstr ""
#: src/error.cls.php:138
msgid "The site is not registered on QUIC.cloud."
msgstr ""
#: src/error.cls.php:142
msgid "The QUIC.cloud connection is not correct. Please try to sync your QUIC.cloud connection again."
msgstr ""
#: src/error.cls.php:146
msgid "The current server is under heavy load."
msgstr ""
#: src/error.cls.php:150
msgid "Online node needs to be redetected."
msgstr ""
#: src/error.cls.php:154
msgid "Credits are not enough to proceed the current request."
msgstr ""
#: src/error.cls.php:158
#: src/error.cls.php:182
msgid "%s file not writable."
msgstr ""
#: src/error.cls.php:166
msgid "Could not find %1$s in %2$s."
msgstr ""
#: src/error.cls.php:170
msgid "Invalid login cookie. Please check the %s file."
msgstr ""
#: src/error.cls.php:174
msgid "Failed to back up %s file, aborted changes."
msgstr ""
#: src/error.cls.php:178
msgid "%s file not readable."
msgstr ""
#: src/error.cls.php:186
msgid "Failed to get %s file contents."
msgstr ""
#: src/error.cls.php:190
msgid "Failed to create table %1$s! SQL: %2$s."
msgstr ""
#: src/error.cls.php:194
msgid "Crawler disabled by the server admin."
msgstr ""
#: src/error.cls.php:198
msgid "Previous request too recent. Please try again later."
msgstr ""
#: src/error.cls.php:203
msgid "Previous request too recent. Please try again after %s."
msgstr ""
#: src/error.cls.php:209
msgid "Your application is waiting for approval."
msgstr ""
#: src/error.cls.php:213
msgid "The callback validation to your domain failed due to hash mismatch."
msgstr ""
#: src/error.cls.php:217
msgid "The callback validation to your domain failed. Please make sure there is no firewall blocking our servers."
msgstr ""
#: src/error.cls.php:222
msgid "The callback validation to your domain failed. Please make sure there is no firewall blocking our servers. Response code: "
msgstr ""
#: src/error.cls.php:227
msgid "Your domain has been forbidden from using our services due to a previous policy violation."
msgstr ""
#: src/error.cls.php:231
msgid "You cannot remove this DNS zone, because it is still in use. Please update the domain's nameservers, then try to delete this zone again, otherwise your site will become inaccessible."
msgstr ""
#: src/error.cls.php:238
msgid "Unknown error"
msgstr ""
#: src/file.cls.php:133
msgid "Filename is empty!"
msgstr ""
#: src/file.cls.php:142
msgid "Folder does not exist: %s"
msgstr ""
#: src/file.cls.php:154
msgid "Can not create folder: %1$s. Error: %2$s"
msgstr ""
#: src/file.cls.php:162
msgid "Folder is not writable: %s."
msgstr ""
#: src/file.cls.php:168
#: src/file.cls.php:172
msgid "File %s is not writable."
msgstr ""
#: src/file.cls.php:179
msgid "Failed to write to %s."
msgstr ""
#: src/guest.cls.php:65
msgid "Guest Mode lists synced successfully."
msgstr ""
#: src/guest.cls.php:66
msgid "Failed to sync Guest Mode lists."
msgstr ""
#. translators: 1: number, 2: text
#: src/gui.cls.php:129
msgid "%1$s %2$s files left in queue"
msgstr ""
#: src/gui.cls.php:133
#: tpl/inc/modal.deactivation.php:77
msgid "Cancel"
msgstr ""
#: src/gui.cls.php:584
#: src/gui.cls.php:601
msgid "Purge this page"
msgstr ""
#: src/gui.cls.php:612
msgid "Mark this page as "
msgstr ""
#: src/gui.cls.php:628
msgid "Forced cacheable"
msgstr ""
#: src/gui.cls.php:641
msgid "Non cacheable"
msgstr ""
#: src/gui.cls.php:654
msgid "Private cache"
msgstr ""
#: src/gui.cls.php:667
msgid "No optimization"
msgstr ""
#: src/gui.cls.php:677
msgid "More settings"
msgstr ""
#: src/gui.cls.php:686
#: src/gui.cls.php:696
#: src/gui.cls.php:706
#: src/gui.cls.php:717
#: src/gui.cls.php:729
#: src/gui.cls.php:741
#: src/gui.cls.php:753
#: src/gui.cls.php:765
#: src/gui.cls.php:776
#: src/gui.cls.php:788
#: src/gui.cls.php:800
#: src/gui.cls.php:812
#: src/gui.cls.php:906
#: src/gui.cls.php:916
#: src/gui.cls.php:926
#: src/gui.cls.php:937
#: src/gui.cls.php:949
#: src/gui.cls.php:961
#: src/gui.cls.php:973
#: src/gui.cls.php:985
#: src/gui.cls.php:996
#: src/gui.cls.php:1008
#: src/gui.cls.php:1020
#: src/gui.cls.php:1032
#: tpl/page_optm/settings_media.tpl.php:141
#: tpl/toolbox/purge.tpl.php:40
#: tpl/toolbox/purge.tpl.php:47
#: tpl/toolbox/purge.tpl.php:55
#: tpl/toolbox/purge.tpl.php:64
#: tpl/toolbox/purge.tpl.php:73
#: tpl/toolbox/purge.tpl.php:82
#: tpl/toolbox/purge.tpl.php:91
#: tpl/toolbox/purge.tpl.php:100
#: tpl/toolbox/purge.tpl.php:109
#: tpl/toolbox/purge.tpl.php:118
#: tpl/toolbox/purge.tpl.php:126
msgid "Purge All"
msgstr ""
#: src/gui.cls.php:696
#: src/gui.cls.php:861
#: src/gui.cls.php:916
msgid "LSCache"
msgstr ""
#: src/gui.cls.php:706
#: src/gui.cls.php:926
#: tpl/toolbox/purge.tpl.php:47
msgid "CSS/JS Cache"
msgstr ""
#: src/gui.cls.php:717
#: src/gui.cls.php:937
#: tpl/cdn/cf.tpl.php:96
#: tpl/cdn/entry.tpl.php:15
msgid "Cloudflare"
msgstr ""
#: src/gui.cls.php:729
#: src/gui.cls.php:949
#: src/lang.cls.php:131
#: tpl/dash/dashboard.tpl.php:60
#: tpl/dash/dashboard.tpl.php:604
#: tpl/toolbox/purge.tpl.php:55
msgid "Object Cache"
msgstr ""
#: src/gui.cls.php:741
#: src/gui.cls.php:961
#: tpl/toolbox/purge.tpl.php:64
msgid "Opcode Cache"
msgstr ""
#: src/gui.cls.php:776
#: src/gui.cls.php:996
#: tpl/toolbox/purge.tpl.php:91
msgid "Localized Resources"
msgstr ""
#: src/gui.cls.php:788
#: src/gui.cls.php:1008
#: tpl/page_optm/settings_media.tpl.php:141
#: tpl/toolbox/purge.tpl.php:100
msgid "LQIP Cache"
msgstr ""
#: src/gui.cls.php:812
#: src/gui.cls.php:1032
#: src/lang.cls.php:198
#: tpl/presets/standard.tpl.php:49
#: tpl/toolbox/purge.tpl.php:118
msgid "Gravatar Cache"
msgstr ""
#: src/gui.cls.php:850
msgid "Enable All Features"
msgstr ""
#: src/gui.cls.php:861
msgid "LiteSpeed Cache Purge All"
msgstr ""
#: src/gui.cls.php:874
#: tpl/db_optm/entry.tpl.php:13
msgid "Manage"
msgstr ""
#: src/gui.cls.php:1055
#: tpl/img_optm/summary.tpl.php:176
msgid "Remove all previous unfinished image optimization requests."
msgstr ""
#: src/gui.cls.php:1056
#: tpl/img_optm/summary.tpl.php:178
msgid "Clean Up Unfinished Data"
msgstr ""
#: src/gui.cls.php:1079
msgid "Install %s"
msgstr ""
#: src/gui.cls.php:1080
msgid "Install Now"
msgstr ""
#. translators: 1: details URL, 2: class/aria, 3: version, 4: update URL, 5: class/aria
#: src/gui.cls.php:1103
msgid "View version %3$s details or update now."
msgstr ""
#. translators: 1: plugin title, 2: version
#: src/gui.cls.php:1110
msgid "View %1$s version %2$s details"
msgstr ""
#. translators: %s: plugin title
#: src/gui.cls.php:1123
msgid "Update %s now"
msgstr ""
#: src/htaccess.cls.php:325
msgid "Mobile Agent Rules"
msgstr ""
#: src/htaccess.cls.php:784
msgid "Please add/replace the following codes into the beginning of %1$s:
%2$s"
msgstr ""
#: src/img-optm.cls.php:350
msgid "Pushed %1$s to Cloud server, accepted %2$s."
msgstr ""
#: src/img-optm.cls.php:618
msgid "Cleared %1$s invalid images."
msgstr ""
#: src/img-optm.cls.php:675
msgid "No valid image found in the current request."
msgstr ""
#: src/img-optm.cls.php:700
msgid "No valid image found by Cloud server in the current request."
msgstr ""
#: src/img-optm.cls.php:890
msgid "Started async image optimization request"
msgstr ""
#: src/img-optm.cls.php:976
msgid "Pull Cron is running"
msgstr ""
#: src/img-optm.cls.php:1087
msgid "Some optimized image file(s) has expired and was cleared."
msgstr ""
#: src/img-optm.cls.php:1102
msgid "Pulled WebP image md5 does not match the notified WebP image md5."
msgstr ""
#: src/img-optm.cls.php:1131
msgid "Pulled AVIF image md5 does not match the notified AVIF image md5."
msgstr ""
#: src/img-optm.cls.php:1166
msgid "One or more pulled images does not match with the notified image md5"
msgstr ""
#: src/img-optm.cls.php:1361
msgid "Cleaned up unfinished data successfully."
msgstr ""
#: src/img-optm.cls.php:1378
msgid "Reset image optimization counter successfully."
msgstr ""
#: src/img-optm.cls.php:1462
msgid "Destroy all optimization data successfully."
msgstr ""
#: src/img-optm.cls.php:1527
#: src/img-optm.cls.php:1591
msgid "Rescanned successfully."
msgstr ""
#: src/img-optm.cls.php:1591
msgid "Rescanned %d images successfully."
msgstr ""
#: src/img-optm.cls.php:1657
msgid "Calculated backups successfully."
msgstr ""
#: src/img-optm.cls.php:1749
msgid "Removed backups successfully."
msgstr ""
#: src/img-optm.cls.php:1896
msgid "Switched images successfully."
msgstr ""
#: src/img-optm.cls.php:1993
#: src/img-optm.cls.php:2053
msgid "Switched to optimized file successfully."
msgstr ""
#: src/img-optm.cls.php:2012
msgid "Disabled WebP file successfully."
msgstr ""
#: src/img-optm.cls.php:2017
msgid "Enabled WebP file successfully."
msgstr ""
#: src/img-optm.cls.php:2026
msgid "Disabled AVIF file successfully."
msgstr ""
#: src/img-optm.cls.php:2031
msgid "Enabled AVIF file successfully."
msgstr ""
#: src/img-optm.cls.php:2047
msgid "Restored original file successfully."
msgstr ""
#: src/img-optm.cls.php:2103
msgid "Reset the optimized data successfully."
msgstr ""
#: src/import.cls.php:81
msgid "Import failed due to file error."
msgstr ""
#: src/import.cls.php:134
msgid "Imported setting file %s successfully."
msgstr ""
#: src/import.cls.php:156
msgid "Reset successfully."
msgstr ""
#: src/lang.cls.php:30
msgid "Images not requested"
msgstr ""
#: src/lang.cls.php:31
msgid "Images ready to request"
msgstr ""
#: src/lang.cls.php:32
#: tpl/dash/dashboard.tpl.php:552
msgid "Images requested"
msgstr ""
#: src/lang.cls.php:33
#: tpl/dash/dashboard.tpl.php:561
msgid "Images notified to pull"
msgstr ""
#: src/lang.cls.php:34
msgid "Images optimized and pulled"
msgstr ""
#: src/lang.cls.php:58
msgid "Unable to automatically add %1$s as a Domain Alias for main %2$s domain, due to potential CDN conflict."
msgstr ""
#: src/lang.cls.php:66
msgid "Unable to automatically add %1$s as a Domain Alias for main %2$s domain."
msgstr ""
#: src/lang.cls.php:71
msgid "Alias is in use by another QUIC.cloud account."
msgstr ""
#: src/lang.cls.php:108
msgid "Enable Cache"
msgstr ""
#: src/lang.cls.php:109
#: tpl/dash/dashboard.tpl.php:61
#: tpl/dash/dashboard.tpl.php:605
#: tpl/presets/standard.tpl.php:21
msgid "Browser Cache"
msgstr ""
#: src/lang.cls.php:110
msgid "Default Public Cache TTL"
msgstr ""
#: src/lang.cls.php:111
msgid "Default Private Cache TTL"
msgstr ""
#: src/lang.cls.php:112
msgid "Default Front Page TTL"
msgstr ""
#: src/lang.cls.php:113
msgid "Default Feed TTL"
msgstr ""
#: src/lang.cls.php:114
msgid "Default REST TTL"
msgstr ""
#: src/lang.cls.php:115
msgid "Default HTTP Status Code Page TTL"
msgstr ""
#: src/lang.cls.php:116
msgid "Browser Cache TTL"
msgstr ""
#: src/lang.cls.php:117
msgid "AJAX Cache TTL"
msgstr ""
#: src/lang.cls.php:118
msgid "Automatically Upgrade"
msgstr ""
#: src/lang.cls.php:119
msgid "Guest Mode"
msgstr ""
#: src/lang.cls.php:120
msgid "Guest Optimization"
msgstr ""
#: src/lang.cls.php:121
msgid "Notifications"
msgstr ""
#: src/lang.cls.php:122
msgid "Cache Logged-in Users"
msgstr ""
#: src/lang.cls.php:123
msgid "Cache Commenters"
msgstr ""
#: src/lang.cls.php:124
msgid "Cache REST API"
msgstr ""
#: src/lang.cls.php:125
msgid "Cache Login Page"
msgstr ""
#: src/lang.cls.php:126
#: tpl/cache/settings_inc.cache_mobile.tpl.php:90
msgid "Cache Mobile"
msgstr ""
#: src/lang.cls.php:127
#: tpl/cache/settings_inc.cache_mobile.tpl.php:92
msgid "List of Mobile User Agents"
msgstr ""
#: src/lang.cls.php:128
msgid "Private Cached URIs"
msgstr ""
#: src/lang.cls.php:129
msgid "Drop Query String"
msgstr ""
#: src/lang.cls.php:132
msgid "Method"
msgstr ""
#: src/lang.cls.php:133
msgid "Host"
msgstr ""
#: src/lang.cls.php:134
msgid "Port"
msgstr ""
#: src/lang.cls.php:135
msgid "Default Object Lifetime"
msgstr ""
#: src/lang.cls.php:136
msgid "Username"
msgstr ""
#: src/lang.cls.php:137
msgid "Password"
msgstr ""
#: src/lang.cls.php:138
msgid "Redis Database ID"
msgstr ""
#: src/lang.cls.php:139
msgid "Global Groups"
msgstr ""
#: src/lang.cls.php:140
msgid "Do Not Cache Groups"
msgstr ""
#: src/lang.cls.php:141
msgid "Persistent Connection"
msgstr ""
#: src/lang.cls.php:142
msgid "Cache WP-Admin"
msgstr ""
#: src/lang.cls.php:143
msgid "Store Transients"
msgstr ""
#: src/lang.cls.php:145
msgid "Purge All On Upgrade"
msgstr ""
#: src/lang.cls.php:146
msgid "Serve Stale"
msgstr ""
#: src/lang.cls.php:147
#: tpl/cache/settings-purge.tpl.php:131
msgid "Scheduled Purge URLs"
msgstr ""
#: src/lang.cls.php:148
#: tpl/cache/settings-purge.tpl.php:106
msgid "Scheduled Purge Time"
msgstr ""
#: src/lang.cls.php:149
msgid "Force Cache URIs"
msgstr ""
#: src/lang.cls.php:150
msgid "Force Public Cache URIs"
msgstr ""
#: src/lang.cls.php:151
msgid "Do Not Cache URIs"
msgstr ""
#: src/lang.cls.php:152
msgid "Do Not Cache Query Strings"
msgstr ""
#: src/lang.cls.php:153
msgid "Do Not Cache Categories"
msgstr ""
#: src/lang.cls.php:154
msgid "Do Not Cache Tags"
msgstr ""
#: src/lang.cls.php:155
msgid "Do Not Cache Roles"
msgstr ""
#: src/lang.cls.php:156
msgid "CSS Minify"
msgstr ""
#: src/lang.cls.php:157
msgid "CSS Combine"
msgstr ""
#: src/lang.cls.php:158
msgid "CSS Combine External and Inline"
msgstr ""
#: src/lang.cls.php:159
msgid "Generate UCSS"
msgstr ""
#: src/lang.cls.php:160
msgid "UCSS Inline"
msgstr ""
#: src/lang.cls.php:161
msgid "UCSS Selector Allowlist"
msgstr ""
#: src/lang.cls.php:162
msgid "UCSS Inline Excluded Files"
msgstr ""
#: src/lang.cls.php:163
msgid "UCSS URI Excludes"
msgstr ""
#: src/lang.cls.php:164
msgid "JS Minify"
msgstr ""
#: src/lang.cls.php:165
msgid "JS Combine"
msgstr ""
#: src/lang.cls.php:166
msgid "JS Combine External and Inline"
msgstr ""
#: src/lang.cls.php:167
msgid "HTML Minify"
msgstr ""
#: src/lang.cls.php:168
msgid "HTML Lazy Load Selectors"
msgstr ""
#: src/lang.cls.php:169
msgid "HTML Keep Comments"
msgstr ""
#: src/lang.cls.php:170
#: tpl/page_optm/settings_tuning_css.tpl.php:167
msgid "Load CSS Asynchronously"
msgstr ""
#: src/lang.cls.php:171
msgid "CCSS Per URL"
msgstr ""
#: src/lang.cls.php:172
msgid "Inline CSS Async Lib"
msgstr ""
#: src/lang.cls.php:173
#: tpl/presets/standard.tpl.php:46
msgid "Font Display Optimization"
msgstr ""
#: src/lang.cls.php:174
msgid "Load JS Deferred"
msgstr ""
#: src/lang.cls.php:175
msgid "Localize Resources"
msgstr ""
#: src/lang.cls.php:176
msgid "Localization Files"
msgstr ""
#: src/lang.cls.php:177
msgid "DNS Prefetch"
msgstr ""
#: src/lang.cls.php:178
msgid "DNS Prefetch Control"
msgstr ""
#: src/lang.cls.php:179
msgid "DNS Preconnect"
msgstr ""
#: src/lang.cls.php:180
msgid "CSS Excludes"
msgstr ""
#: src/lang.cls.php:181
msgid "JS Delayed Includes"
msgstr ""
#: src/lang.cls.php:182
msgid "JS Excludes"
msgstr ""
#: src/lang.cls.php:183
msgid "Remove Query Strings"
msgstr ""
#: src/lang.cls.php:184
msgid "Load Google Fonts Asynchronously"
msgstr ""
#: src/lang.cls.php:185
msgid "Remove Google Fonts"
msgstr ""
#: src/lang.cls.php:186
msgid "Critical CSS Rules"
msgstr ""
#: src/lang.cls.php:187
msgid "Separate CCSS Cache Post Types"
msgstr ""
#: src/lang.cls.php:188
msgid "Separate CCSS Cache URIs"
msgstr ""
#: src/lang.cls.php:189
msgid "CCSS Selector Allowlist"
msgstr ""
#: src/lang.cls.php:190
msgid "JS Deferred / Delayed Excludes"
msgstr ""
#: src/lang.cls.php:191
msgid "Guest Mode JS Excludes"
msgstr ""
#: src/lang.cls.php:192
#: tpl/presets/standard.tpl.php:51
msgid "Remove WordPress Emoji"
msgstr ""
#: src/lang.cls.php:193
#: tpl/presets/standard.tpl.php:52
msgid "Remove Noscript Tags"
msgstr ""
#: src/lang.cls.php:194
msgid "URI Excludes"
msgstr ""
#: src/lang.cls.php:195
msgid "Optimize for Guests Only"
msgstr ""
#: src/lang.cls.php:196
msgid "Role Excludes"
msgstr ""
#: src/lang.cls.php:199
msgid "Gravatar Cache Cron"
msgstr ""
#: src/lang.cls.php:200
msgid "Gravatar Cache TTL"
msgstr ""
#: src/lang.cls.php:202
msgid "Lazy Load Images"
msgstr ""
#: src/lang.cls.php:203
msgid "Lazy Load Image Excludes"
msgstr ""
#: src/lang.cls.php:204
msgid "Lazy Load Image Class Name Excludes"
msgstr ""
#: src/lang.cls.php:205
msgid "Lazy Load Image Parent Class Name Excludes"
msgstr ""
#: src/lang.cls.php:206
msgid "Lazy Load Iframe Class Name Excludes"
msgstr ""
#: src/lang.cls.php:207
msgid "Lazy Load Iframe Parent Class Name Excludes"
msgstr ""
#: src/lang.cls.php:208
msgid "Lazy Load URI Excludes"
msgstr ""
#: src/lang.cls.php:209
msgid "LQIP Excludes"
msgstr ""
#: src/lang.cls.php:210
msgid "Basic Image Placeholder"
msgstr ""
#: src/lang.cls.php:211
msgid "Responsive Placeholder"
msgstr ""
#: src/lang.cls.php:212
msgid "Responsive Placeholder Color"
msgstr ""
#: src/lang.cls.php:213
msgid "Responsive Placeholder SVG"
msgstr ""
#: src/lang.cls.php:214
msgid "LQIP Cloud Generator"
msgstr ""
#: src/lang.cls.php:215
msgid "LQIP Quality"
msgstr ""
#: src/lang.cls.php:216
msgid "LQIP Minimum Dimensions"
msgstr ""
#: src/lang.cls.php:217
msgid "Generate LQIP In Background"
msgstr ""
#: src/lang.cls.php:218
msgid "Lazy Load Iframes"
msgstr ""
#: src/lang.cls.php:219
msgid "Add Missing Sizes"
msgstr ""
#: src/lang.cls.php:220
#: src/metabox.cls.php:42
#: src/metabox.cls.php:43
#: tpl/page_optm/settings_vpi.tpl.php:23
msgid "Viewport Images"
msgstr ""
#: src/lang.cls.php:221
msgid "Viewport Images Cron"
msgstr ""
#: src/lang.cls.php:222
msgid "Auto Rescale Original Images"
msgstr ""
#: src/lang.cls.php:224
msgid "Auto Request Cron"
msgstr ""
#: src/lang.cls.php:225
msgid "Optimize Original Images"
msgstr ""
#: src/lang.cls.php:226
msgid "Remove Original Backups"
msgstr ""
#: src/lang.cls.php:227
msgid "Next-Gen Image Format"
msgstr ""
#: src/lang.cls.php:228
msgid "Optimize Losslessly"
msgstr ""
#: src/lang.cls.php:229
msgid "Optimize Image Sizes"
msgstr ""
#: src/lang.cls.php:230
msgid "Preserve EXIF/XMP data"
msgstr ""
#: src/lang.cls.php:231
msgid "WebP/AVIF Attribute To Replace"
msgstr ""
#: src/lang.cls.php:232
msgid "WebP/AVIF For Extra srcset"
msgstr ""
#: src/lang.cls.php:233
msgid "WordPress Image Quality Control"
msgstr ""
#: src/lang.cls.php:234
#: tpl/esi_widget_edit.php:43
msgid "Enable ESI"
msgstr ""
#: src/lang.cls.php:235
msgid "Cache Admin Bar"
msgstr ""
#: src/lang.cls.php:236
msgid "Cache Comment Form"
msgstr ""
#: src/lang.cls.php:237
msgid "ESI Nonces"
msgstr ""
#: src/lang.cls.php:238
#: tpl/page_optm/settings_css.tpl.php:140
#: tpl/page_optm/settings_css.tpl.php:277
#: tpl/page_optm/settings_vpi.tpl.php:88
msgid "Vary Group"
msgstr ""
#: src/lang.cls.php:239
msgid "Purge All Hooks"
msgstr ""
#: src/lang.cls.php:240
msgid "Improve HTTP/HTTPS Compatibility"
msgstr ""
#: src/lang.cls.php:241
msgid "Instant Click"
msgstr ""
#: src/lang.cls.php:242
msgid "Do Not Cache Cookies"
msgstr ""
#: src/lang.cls.php:243
msgid "Do Not Cache User Agents"
msgstr ""
#: src/lang.cls.php:244
msgid "Login Cookie"
msgstr ""
#: src/lang.cls.php:245
msgid "Vary Cookies"
msgstr ""
#: src/lang.cls.php:247
msgid "Frontend Heartbeat Control"
msgstr ""
#: src/lang.cls.php:248
msgid "Frontend Heartbeat TTL"
msgstr ""
#: src/lang.cls.php:249
msgid "Backend Heartbeat Control"
msgstr ""
#: src/lang.cls.php:250
msgid "Backend Heartbeat TTL"
msgstr ""
#: src/lang.cls.php:251
msgid "Editor Heartbeat"
msgstr ""
#: src/lang.cls.php:252
msgid "Editor Heartbeat TTL"
msgstr ""
#: src/lang.cls.php:254
msgid "Use CDN Mapping"
msgstr ""
#: src/lang.cls.php:255
msgid "CDN URL"
msgstr ""
#: src/lang.cls.php:256
msgid "Include Images"
msgstr ""
#: src/lang.cls.php:257
msgid "Include CSS"
msgstr ""
#: src/lang.cls.php:258
msgid "Include JS"
msgstr ""
#: src/lang.cls.php:259
#: tpl/cdn/other.tpl.php:113
msgid "Include File Types"
msgstr ""
#: src/lang.cls.php:260
msgid "HTML Attribute To Replace"
msgstr ""
#: src/lang.cls.php:261
msgid "Original URLs"
msgstr ""
#: src/lang.cls.php:262
msgid "Included Directories"
msgstr ""
#: src/lang.cls.php:263
msgid "Exclude Path"
msgstr ""
#: src/lang.cls.php:264
msgid "Cloudflare API"
msgstr ""
#: src/lang.cls.php:265
msgid "Clear Cloudflare cache"
msgstr ""
#: src/lang.cls.php:268
msgid "Crawl Interval"
msgstr ""
#: src/lang.cls.php:269
msgid "Server Load Limit"
msgstr ""
#: src/lang.cls.php:270
msgid "Role Simulation"
msgstr ""
#: src/lang.cls.php:271
msgid "Cookie Simulation"
msgstr ""
#: src/lang.cls.php:272
msgid "Custom Sitemap"
msgstr ""
#: src/lang.cls.php:274
msgid "Disable All Features"
msgstr ""
#: src/lang.cls.php:275
#: tpl/toolbox/log_viewer.tpl.php:18
msgid "Debug Log"
msgstr ""
#: src/lang.cls.php:276
msgid "Admin IPs"
msgstr ""
#: src/lang.cls.php:277
msgid "Debug Level"
msgstr ""
#: src/lang.cls.php:278
msgid "Log File Size Limit"
msgstr ""
#: src/lang.cls.php:279
msgid "Collapse Query Strings"
msgstr ""
#: src/lang.cls.php:280
msgid "Debug URI Includes"
msgstr ""
#: src/lang.cls.php:281
msgid "Debug URI Excludes"
msgstr ""
#: src/lang.cls.php:282
msgid "Debug String Excludes"
msgstr ""
#: src/lang.cls.php:284
msgid "Revisions Max Number"
msgstr ""
#: src/lang.cls.php:285
msgid "Revisions Max Age"
msgstr ""
#: src/media.cls.php:361
msgid "LiteSpeed Optimization"
msgstr ""
#: src/media.cls.php:416
#: src/media.cls.php:454
#: src/media.cls.php:483
#: src/media.cls.php:527
msgid "(optm)"
msgstr ""
#: src/media.cls.php:417
msgid "Currently using optimized version of file."
msgstr ""
#: src/media.cls.php:417
#: src/media.cls.php:487
msgid "Click to switch to original (unoptimized) version."
msgstr ""
#: src/media.cls.php:420
#: src/media.cls.php:490
msgid "(non-optm)"
msgstr ""
#: src/media.cls.php:421
msgid "Currently using original (unoptimized) version of file."
msgstr ""
#: src/media.cls.php:421
#: src/media.cls.php:494
msgid "Click to switch to optimized version."
msgstr ""
#: src/media.cls.php:429
msgid "Original file reduced by %1$s (%2$s)"
msgstr ""
#: src/media.cls.php:438
msgid "Orig saved %s"
msgstr ""
#: src/media.cls.php:453
#: src/media.cls.php:525
msgid "Using optimized version of file. "
msgstr ""
#: src/media.cls.php:453
msgid "No backup of original file exists."
msgstr ""
#: src/media.cls.php:458
msgid "Congratulation! Your file was already optimized"
msgstr ""
#: src/media.cls.php:460
msgid "Orig %s"
msgstr ""
#: src/media.cls.php:461
msgid "(no savings)"
msgstr ""
#: src/media.cls.php:464
msgid "Orig"
msgstr ""
#: src/media.cls.php:485
msgid "Currently using optimized version of AVIF file."
msgstr ""
#: src/media.cls.php:486
msgid "Currently using optimized version of WebP file."
msgstr ""
#: src/media.cls.php:492
msgid "Currently using original (unoptimized) version of AVIF file."
msgstr ""
#: src/media.cls.php:493
msgid "Currently using original (unoptimized) version of WebP file."
msgstr ""
#: src/media.cls.php:502
msgid "AVIF file reduced by %1$s (%2$s)"
msgstr ""
#: src/media.cls.php:502
msgid "WebP file reduced by %1$s (%2$s)"
msgstr ""
#: src/media.cls.php:510
msgid "AVIF saved %s"
msgstr ""
#: src/media.cls.php:510
msgid "WebP saved %s"
msgstr ""
#: src/media.cls.php:526
msgid "No backup of unoptimized AVIF file exists."
msgstr ""
#: src/media.cls.php:526
msgid "No backup of unoptimized WebP file exists."
msgstr ""
#: src/media.cls.php:541
msgid "Restore from backup"
msgstr ""
#: src/metabox.cls.php:39
msgid "Disable Cache"
msgstr ""
#: src/metabox.cls.php:40
msgid "Disable Image Lazyload"
msgstr ""
#: src/metabox.cls.php:41
msgid "Disable VPI"
msgstr ""
#: src/metabox.cls.php:43
msgid "Mobile"
msgstr ""
#: src/object-cache.cls.php:714
msgid "Redis encountered a fatal error: %1$s (code: %2$d)"
msgstr ""
#: src/placeholder.cls.php:169
msgid "LQIP"
msgstr ""
#: src/placeholder.cls.php:233
msgid "LQIP image preview for size %s"
msgstr ""
#: src/purge.cls.php:234
msgid "Purged all caches successfully."
msgstr ""
#: src/purge.cls.php:270
msgid "Notified LiteSpeed Web Server to purge all LSCache entries."
msgstr ""
#: src/purge.cls.php:291
msgid "Cleaned all Critical CSS files."
msgstr ""
#: src/purge.cls.php:312
msgid "Cleaned all Unique CSS files."
msgstr ""
#: src/purge.cls.php:359
msgid "Cleaned all LQIP files."
msgstr ""
#: src/purge.cls.php:393
msgid "Cleaned all VPI data."
msgstr ""
#: src/purge.cls.php:414
msgid "Cleaned all Gravatar files."
msgstr ""
#: src/purge.cls.php:434
msgid "Cleaned all localized resource entries."
msgstr ""
#: src/purge.cls.php:471
msgid "Notified LiteSpeed Web Server to purge CSS/JS entries."
msgstr ""
#: src/purge.cls.php:491
msgid "OPcache is not enabled."
msgstr ""
#: src/purge.cls.php:504
msgid "OPcache is restricted by %s setting."
msgstr ""
#: src/purge.cls.php:517
msgid "Reset the OPcache failed."
msgstr ""
#: src/purge.cls.php:531
msgid "Reset the entire OPcache successfully."
msgstr ""
#: src/purge.cls.php:563
msgid "Object cache is not enabled."
msgstr ""
#: src/purge.cls.php:576
msgid "Purge all object caches successfully."
msgstr ""
#: src/purge.cls.php:793
msgid "Notified LiteSpeed Web Server to purge the front page."
msgstr ""
#: src/purge.cls.php:809
msgid "Notified LiteSpeed Web Server to purge all pages."
msgstr ""
#: src/purge.cls.php:832
msgid "Notified LiteSpeed Web Server to purge error pages."
msgstr ""
#: src/purge.cls.php:863
msgid "Purge category %s"
msgstr ""
#: src/purge.cls.php:894
msgid "Purge tag %s"
msgstr ""
#: src/purge.cls.php:931
msgid "Purge url %s"
msgstr ""
#: src/root.cls.php:198
msgid "All QUIC.cloud service queues have been cleared."
msgstr ""
#: src/task.cls.php:268
msgid "Every 15 Minutes"
msgstr ""
#: src/task.cls.php:289
msgid "LiteSpeed Crawler Cron"
msgstr ""
#: src/tool.cls.php:43
#: src/tool.cls.php:54
msgid "Failed to detect IP"
msgstr ""
#: src/utility.cls.php:214
msgid "right now"
msgstr ""
#: src/utility.cls.php:214
msgid "just now"
msgstr ""
#: src/utility.cls.php:217
msgid " %s ago"
msgstr ""
#: thirdparty/litespeed-check.cls.php:100
#: thirdparty/litespeed-check.cls.php:165
msgid "Please consider disabling the following detected plugins, as they may conflict with LiteSpeed Cache:"
msgstr ""
#: thirdparty/woocommerce.content.tpl.php:19
msgid "WooCommerce Settings"
msgstr ""
#: thirdparty/woocommerce.content.tpl.php:24
#: tpl/cache/settings-advanced.tpl.php:21
#: tpl/cache/settings_inc.browser.tpl.php:23
#: tpl/toolbox/beta_test.tpl.php:42
#: tpl/toolbox/heartbeat.tpl.php:24
#: tpl/toolbox/report.tpl.php:46
msgid "NOTICE:"
msgstr ""
#: thirdparty/woocommerce.content.tpl.php:25
msgid "After verifying that the cache works in general, please test the cart."
msgstr ""
#. translators: %s: link attributes
#: thirdparty/woocommerce.content.tpl.php:30
msgid "To test the cart, visit the %sFAQ%s."
msgstr ""
#: thirdparty/woocommerce.content.tpl.php:36
msgid "By default, the My Account, Checkout, and Cart pages are automatically excluded from caching. Misconfiguration of page associations in WooCommerce settings may cause some pages to be erroneously excluded."
msgstr ""
#: thirdparty/woocommerce.content.tpl.php:44
msgid "Product Update Interval"
msgstr ""
#: thirdparty/woocommerce.content.tpl.php:49
msgid "Purge product on changes to the quantity or stock status."
msgstr ""
#: thirdparty/woocommerce.content.tpl.php:49
msgid "Purge categories only when stock status changes."
msgstr ""
#: thirdparty/woocommerce.content.tpl.php:50
msgid "Purge product and categories only when the stock status changes."
msgstr ""
#: thirdparty/woocommerce.content.tpl.php:51
msgid "Purge product only when the stock status changes."
msgstr ""
#: thirdparty/woocommerce.content.tpl.php:51
msgid "Do not purge categories on changes to the quantity or stock status."
msgstr ""
#: thirdparty/woocommerce.content.tpl.php:52
msgid "Always purge both product and categories on changes to the quantity or stock status."
msgstr ""
#: thirdparty/woocommerce.content.tpl.php:72
msgid "Determines how changes in product quantity and product stock status affect product pages and their associated category pages."
msgstr ""
#: thirdparty/woocommerce.content.tpl.php:80
msgid "Vary for Mini Cart"
msgstr ""
#: thirdparty/woocommerce.content.tpl.php:88
msgid "Generate a separate vary cache copy for the mini cart when the cart is not empty."
msgstr ""
#: thirdparty/woocommerce.content.tpl.php:89
msgid "If your theme does not use JS to update the mini cart, you must enable this option to display the correct cart contents."
msgstr ""
#: tpl/banner/cloud_news.tpl.php:30
#: tpl/banner/cloud_news.tpl.php:41
msgid "Install"
msgstr ""
#: tpl/banner/cloud_news.tpl.php:51
#: tpl/banner/cloud_promo.tpl.php:73
msgid "Dismiss this notice"
msgstr ""
#: tpl/banner/cloud_promo.tpl.php:22
msgid "You just unlocked a promotion from QUIC.cloud!"
msgstr ""
#: tpl/banner/cloud_promo.tpl.php:26
msgid "Spread the love and earn %s credits to use in our QUIC.cloud online services."
msgstr ""
#: tpl/banner/cloud_promo.tpl.php:35
msgid "Send to twitter to get %s bonus"
msgstr ""
#: tpl/banner/cloud_promo.tpl.php:40
#: tpl/page_optm/settings_tuning_css.tpl.php:69
#: tpl/page_optm/settings_tuning_css.tpl.php:144
msgid "Learn more"
msgstr ""
#: tpl/banner/cloud_promo.tpl.php:45
msgid "Tweet preview"
msgstr ""
#: tpl/banner/cloud_promo.tpl.php:61
msgid "Tweet this"
msgstr ""
#: tpl/banner/new_version.php:58
msgid "New Version Available!"
msgstr ""
#: tpl/banner/new_version.php:66
msgid "New release %s is available now."
msgstr ""
#: tpl/banner/new_version.php:77
#: tpl/banner/new_version_dev.tpl.php:41
#: tpl/toolbox/beta_test.tpl.php:88
msgid "Upgrade"
msgstr ""
#: tpl/banner/new_version.php:87
msgid "Turn On Auto Upgrade"
msgstr ""
#: tpl/banner/new_version.php:93
msgid "Maybe Later"
msgstr ""
#: tpl/banner/new_version.php:113
#: tpl/banner/score.php:141
#: tpl/banner/slack.php:48
msgid "Dismiss this notice."
msgstr ""
#: tpl/banner/new_version_dev.tpl.php:22
msgid "New Developer Version Available!"
msgstr ""
#: tpl/banner/new_version_dev.tpl.php:30
msgid "New developer version %s is available now."
msgstr ""
#: tpl/banner/score.php:36
msgid "Thank You for Using the LiteSpeed Cache Plugin!"
msgstr ""
#: tpl/banner/score.php:40
#: tpl/dash/dashboard.tpl.php:375
msgid "Page Load Time"
msgstr ""
#: tpl/banner/score.php:45
#: tpl/banner/score.php:79
#: tpl/dash/dashboard.tpl.php:395
#: tpl/dash/dashboard.tpl.php:471
msgid "Before"
msgstr ""
#: tpl/banner/score.php:53
#: tpl/banner/score.php:87
#: tpl/dash/dashboard.tpl.php:403
#: tpl/dash/dashboard.tpl.php:479
msgid "After"
msgstr ""
#: tpl/banner/score.php:62
#: tpl/banner/score.php:96
#: tpl/dash/dashboard.tpl.php:411
#: tpl/dash/dashboard.tpl.php:487
msgid "Improved by"
msgstr ""
#: tpl/banner/score.php:74
#: tpl/dash/dashboard.tpl.php:456
msgid "PageSpeed Score"
msgstr ""
#: tpl/banner/score.php:112
msgid "Sure I'd love to review!"
msgstr ""
#: tpl/banner/score.php:116
msgid "I've already left a review"
msgstr ""
#: tpl/banner/score.php:117
msgid "Maybe later"
msgstr ""
#: tpl/banner/score.php:121
msgid "Created with ❤️ by LiteSpeed team."
msgstr ""
#: tpl/banner/score.php:122
msgid "Support forum"
msgstr ""
#: tpl/banner/score.php:122
msgid "Submit a ticket"
msgstr ""
#: tpl/banner/slack.php:20
msgid "Welcome to LiteSpeed"
msgstr ""
#: tpl/banner/slack.php:24
msgid "Want to connect with other LiteSpeed users?"
msgstr ""
#. translators: %s: Link to LiteSpeed Slack community
#: tpl/banner/slack.php:28
msgid "Join the %s community."
msgstr ""
#: tpl/banner/slack.php:40
msgid "Join Us on Slack"
msgstr ""
#: tpl/cache/entry.tpl.php:18
#: tpl/cache/entry.tpl.php:68
#: tpl/toolbox/entry.tpl.php:16
#: tpl/toolbox/purge.tpl.php:150
msgid "Purge"
msgstr ""
#: tpl/cache/entry.tpl.php:19
#: tpl/cache/entry.tpl.php:69
msgid "Excludes"
msgstr ""
#: tpl/cache/entry.tpl.php:20
#: tpl/cache/entry.tpl.php:74
msgid "Object"
msgstr ""
#: tpl/cache/entry.tpl.php:21
#: tpl/cache/entry.tpl.php:75
msgid "Browser"
msgstr ""
#: tpl/cache/entry.tpl.php:22
#: tpl/cache/entry.tpl.php:78
#: tpl/toolbox/settings-debug.tpl.php:117
msgid "Advanced"
msgstr ""
#: tpl/cache/entry.tpl.php:28
msgid "LiteSpeed Cache Network Cache Settings"
msgstr ""
#: tpl/cache/entry.tpl.php:67
#: tpl/cache/settings-ttl.tpl.php:15
msgid "TTL"
msgstr ""
#: tpl/cache/entry.tpl.php:70
msgid "ESI"
msgstr ""
#: tpl/cache/entry.tpl.php:100
msgid "LiteSpeed Cache Settings"
msgstr ""
#: tpl/cache/more_settings_tip.tpl.php:22
#: tpl/cache/settings-excludes.tpl.php:71
#: tpl/cache/settings-excludes.tpl.php:104
#: tpl/cdn/other.tpl.php:79
#: tpl/crawler/settings.tpl.php:76
#: tpl/crawler/settings.tpl.php:86
msgid "NOTE"
msgstr ""
#. translators: %s: LiteSpeed Cache menu label
#: tpl/cache/more_settings_tip.tpl.php:27
msgid "More settings available under %s menu"
msgstr ""
#: tpl/cache/network_settings-advanced.tpl.php:17
#: tpl/cache/settings-advanced.tpl.php:16
msgid "Advanced Settings"
msgstr ""
#: tpl/cache/network_settings-cache.tpl.php:17
#: tpl/cache/settings-cache.tpl.php:15
msgid "Cache Control Settings"
msgstr ""
#: tpl/cache/network_settings-cache.tpl.php:24
msgid "Network Enable Cache"
msgstr ""
#: tpl/cache/network_settings-cache.tpl.php:28
msgid "Enabling LiteSpeed Cache for WordPress here enables the cache for the network."
msgstr ""
#: tpl/cache/network_settings-cache.tpl.php:29
msgid "It is STRONGLY recommended that the compatibility with other plugins on a single/few sites is tested first."
msgstr ""
#: tpl/cache/network_settings-cache.tpl.php:30
msgid "This is to ensure compatibility prior to enabling the cache for all sites."
msgstr ""
#: tpl/cache/network_settings-excludes.tpl.php:17
#: tpl/cache/settings-excludes.tpl.php:15
msgid "Exclude Settings"
msgstr ""
#: tpl/cache/network_settings-purge.tpl.php:17
#: tpl/cache/settings-purge.tpl.php:15
msgid "Purge Settings"
msgstr ""
#: tpl/cache/settings-advanced.tpl.php:22
msgid "These settings are meant for ADVANCED USERS ONLY."
msgstr ""
#: tpl/cache/settings-advanced.tpl.php:39
msgid "Specify an AJAX action in POST/GET and the number of seconds to cache that request, separated by a space."
msgstr ""
#: tpl/cache/settings-advanced.tpl.php:57
msgid "Enable this option if you are using both HTTP and HTTPS in the same domain and are noticing cache irregularities."
msgstr ""
#: tpl/cache/settings-advanced.tpl.php:71
msgid "When a visitor hovers over a page link, preload that page. This will speed up the visit to that link."
msgstr ""
#: tpl/cache/settings-advanced.tpl.php:76
msgid "This will generate extra requests to the server, which will increase server load."
msgstr ""
#: tpl/cache/settings-cache.tpl.php:28
msgid "Use Network Admin Setting"
msgstr ""
#. translators: %s: Link tags
#: tpl/cache/settings-cache.tpl.php:36
msgid "Please visit the %sInformation%s page on how to test the cache."
msgstr ""
#: tpl/cache/settings-cache.tpl.php:42
#: tpl/crawler/settings.tpl.php:113
#: tpl/crawler/settings.tpl.php:133
#: tpl/crawler/summary.tpl.php:208
#: tpl/page_optm/entry.tpl.php:42
#: tpl/toolbox/settings-debug.tpl.php:47
msgid "NOTICE"
msgstr ""
#: tpl/cache/settings-cache.tpl.php:42
msgid "When disabling the cache, all cached entries for this site will be purged."
msgstr ""
#: tpl/cache/settings-cache.tpl.php:45
msgid "The network admin setting can be overridden here."
msgstr ""
#: tpl/cache/settings-cache.tpl.php:49
msgid "With QUIC.cloud CDN enabled, you may still be seeing cache headers from your local server."
msgstr ""
#: tpl/cache/settings-cache.tpl.php:63
msgid "Privately cache frontend pages for logged-in users. (LSWS %s required)"
msgstr ""
#: tpl/cache/settings-cache.tpl.php:76
msgid "Privately cache commenters that have pending comments. Disabling this option will serve non-cacheable pages to commenters. (LSWS %s required)"
msgstr ""
#: tpl/cache/settings-cache.tpl.php:89
msgid "Cache requests made by WordPress REST API calls."
msgstr ""
#: tpl/cache/settings-cache.tpl.php:102
msgid "Disabling this option may negatively affect performance."
msgstr ""
#: tpl/cache/settings-cache.tpl.php:119
msgid "URI Paths containing these strings will NOT be cached as public."
msgstr ""
#: tpl/cache/settings-cache.tpl.php:133
msgid "Paths containing these strings will be cached regardless of no-cacheable settings."
msgstr ""
#: tpl/cache/settings-cache.tpl.php:136
#: tpl/cache/settings-cache.tpl.php:161
msgid "To define a custom TTL for a URI, add a space followed by the TTL value to the end of the URI."
msgstr ""
#: tpl/cache/settings-cache.tpl.php:139
#: tpl/cache/settings-cache.tpl.php:164
msgid "For example, %1$s defines a TTL of %2$s seconds for %3$s."
msgstr ""
#: tpl/cache/settings-cache.tpl.php:158
msgid "Paths containing these strings will be forced to public cached regardless of no-cacheable settings."
msgstr ""
#: tpl/cache/settings-esi.tpl.php:15
msgid "ESI Settings"
msgstr ""
#: tpl/cache/settings-esi.tpl.php:20
msgid "With ESI (Edge Side Includes), pages may be served from cache for logged-in users."
msgstr ""
#: tpl/cache/settings-esi.tpl.php:21
msgid "ESI allows you to designate parts of your dynamic page as separate fragments that are then assembled together to make the whole page. In other words, ESI lets you “punch holes” in a page, and then fill those holes with content that may be cached privately, cached publicly with its own TTL, or not cached at all."
msgstr ""
#: tpl/cache/settings-esi.tpl.php:22
msgid "WpW: Private Cache vs. Public Cache"
msgstr ""
#: tpl/cache/settings-esi.tpl.php:26
msgid "You can turn shortcodes into ESI blocks."
msgstr ""
#: tpl/cache/settings-esi.tpl.php:29
msgid "Replace %1$s with %2$s."
msgstr ""
#: tpl/cache/settings-esi.tpl.php:37
msgid "ESI sample for developers"
msgstr ""
#: tpl/cache/settings-esi.tpl.php:45
#: tpl/cdn/cf.tpl.php:100
#: tpl/crawler/summary.tpl.php:60
#: tpl/inc/check_cache_disabled.php:38
#: tpl/inc/check_if_network_disable_all.php:28
#: tpl/page_optm/settings_css.tpl.php:77
#: tpl/page_optm/settings_css.tpl.php:211
#: tpl/page_optm/settings_localization.tpl.php:21
msgid "WARNING"
msgstr ""
#: tpl/cache/settings-esi.tpl.php:46
msgid "These options are only available with LiteSpeed Enterprise Web Server or QUIC.cloud CDN."
msgstr ""
#: tpl/cache/settings-esi.tpl.php:59
msgid "Turn ON to cache public pages for logged in users, and serve the Admin Bar and Comment Form via ESI blocks. These two blocks will be uncached unless enabled below."
msgstr ""
#: tpl/cache/settings-esi.tpl.php:72
msgid "Cache the built-in Admin Bar ESI block."
msgstr ""
#: tpl/cache/settings-esi.tpl.php:85
msgid "Cache the built-in Comment Form ESI block."
msgstr ""
#: tpl/cache/settings-esi.tpl.php:100
msgid "The list will be merged with the predefined nonces in your local data file."
msgstr ""
#: tpl/cache/settings-esi.tpl.php:101
msgid "The latest data file is"
msgstr ""
#: tpl/cache/settings-esi.tpl.php:104
#: tpl/page_optm/settings_media_exc.tpl.php:37
#: tpl/page_optm/settings_tuning.tpl.php:49
#: tpl/page_optm/settings_tuning.tpl.php:69
#: tpl/page_optm/settings_tuning.tpl.php:90
#: tpl/page_optm/settings_tuning.tpl.php:111
#: tpl/page_optm/settings_tuning.tpl.php:130
#: tpl/page_optm/settings_tuning_css.tpl.php:36
#: tpl/page_optm/settings_tuning_css.tpl.php:97
msgid "Filter %s is supported."
msgstr ""
#: tpl/cache/settings-esi.tpl.php:108
msgid "The above nonces will be converted to ESI automatically."
msgstr ""
#: tpl/cache/settings-esi.tpl.php:110
msgid "An optional second parameter may be used to specify cache control. Use a space to separate"
msgstr ""
#: tpl/cache/settings-esi.tpl.php:113
#: tpl/cache/settings-purge.tpl.php:111
#: tpl/cdn/other.tpl.php:169
msgid "Wildcard %1$s supported (match zero or more characters). For example, to match %2$s and %3$s, use %4$s."
msgstr ""
#: tpl/cache/settings-esi.tpl.php:141
msgid "If your site contains public content that certain user roles can see but other roles cannot, you can specify a Vary Group for those user roles. For example, specifying an administrator vary group allows there to be a separate publicly-cached page tailored to administrators (with “edit” links, etc), while all other user roles see the default public page."
msgstr ""
#: tpl/cache/settings-excludes.tpl.php:30
msgid "Paths containing these strings will not be cached."
msgstr ""
#: tpl/cache/settings-excludes.tpl.php:32
#: tpl/page_optm/settings_tuning_css.tpl.php:78
#: tpl/page_optm/settings_tuning_css.tpl.php:153
msgid "Predefined list will also be combined w/ the above settings"
msgstr ""
#: tpl/cache/settings-excludes.tpl.php:45
msgid "Query strings containing these parameters will not be cached."
msgstr ""
#: tpl/cache/settings-excludes.tpl.php:46
msgid "For example, for %1$s, %2$s and %3$s can be used here."
msgstr ""
#: tpl/cache/settings-excludes.tpl.php:66
msgid "All categories are cached by default."
msgstr ""
#. translators: %s: "cookies"
#. translators: %s: "user agents"
#: tpl/cache/settings-excludes.tpl.php:67
#: tpl/cache/settings-excludes.tpl.php:100
#: tpl/cache/settings_inc.exclude_cookies.tpl.php:27
#: tpl/cache/settings_inc.exclude_useragent.tpl.php:27
msgid "To prevent %s from being cached, enter them here."
msgstr ""
#: tpl/cache/settings-excludes.tpl.php:67
msgid "categories"
msgstr ""
#: tpl/cache/settings-excludes.tpl.php:73
msgid "If the category name is not found, the category will be removed from the list on save."
msgstr ""
#: tpl/cache/settings-excludes.tpl.php:99
msgid "All tags are cached by default."
msgstr ""
#: tpl/cache/settings-excludes.tpl.php:100
msgid "tags"
msgstr ""
#: tpl/cache/settings-excludes.tpl.php:106
msgid "If the tag slug is not found, the tag will be removed from the list on save."
msgstr ""
#: tpl/cache/settings-excludes.tpl.php:110
msgid "To exclude %1$s, insert %2$s."
msgstr ""
#: tpl/cache/settings-excludes.tpl.php:135
msgid "Selected roles will be excluded from cache."
msgstr ""
#: tpl/cache/settings-purge.tpl.php:21
msgid "All pages"
msgstr ""
#: tpl/cache/settings-purge.tpl.php:22
msgid "Front page"
msgstr ""
#: tpl/cache/settings-purge.tpl.php:23
msgid "Home page"
msgstr ""
#: tpl/cache/settings-purge.tpl.php:24
msgid "Pages"
msgstr ""
#: tpl/cache/settings-purge.tpl.php:25
msgid "All pages with Recent Posts Widget"
msgstr ""
#: tpl/cache/settings-purge.tpl.php:26
msgid "Author archive"
msgstr ""
#: tpl/cache/settings-purge.tpl.php:27
msgid "Post type archive"
msgstr ""
#: tpl/cache/settings-purge.tpl.php:28
msgid "Yearly archive"
msgstr ""
#: tpl/cache/settings-purge.tpl.php:29
msgid "Monthly archive"
msgstr ""
#: tpl/cache/settings-purge.tpl.php:30
msgid "Daily archive"
msgstr ""
#: tpl/cache/settings-purge.tpl.php:31
msgid "Term archive (include category, tag, and tax)"
msgstr ""
#: tpl/cache/settings-purge.tpl.php:50
msgid "Auto Purge Rules For Publish/Update"
msgstr ""
#: tpl/cache/settings-purge.tpl.php:53
#: tpl/cache/settings-purge.tpl.php:90
#: tpl/cache/settings-purge.tpl.php:114
#: tpl/page_optm/settings_tuning_css.tpl.php:72
#: tpl/page_optm/settings_tuning_css.tpl.php:147
msgid "Note"
msgstr ""
#: tpl/cache/settings-purge.tpl.php:55
msgid "Select \"All\" if there are dynamic widgets linked to posts on pages other than the front or home pages."
msgstr ""
#: tpl/cache/settings-purge.tpl.php:56
msgid "Other checkboxes will be ignored."
msgstr ""
#: tpl/cache/settings-purge.tpl.php:57
msgid "Select only the archive types that are currently used, the others can be left unchecked."
msgstr ""
#: tpl/cache/settings-purge.tpl.php:73
msgid "Select which pages will be automatically purged when posts are published/updated."
msgstr ""
#: tpl/cache/settings-purge.tpl.php:86
msgid "If ON, the stale copy of a cached page will be shown to visitors until a new cache copy is available. Reduces the server load for following visits. If OFF, the page will be dynamically generated while visitors wait."
msgstr ""
#: tpl/cache/settings-purge.tpl.php:92
msgid "By design, this option may serve stale content. Do not enable this option, if that is not OK with you."
msgstr ""
#: tpl/cache/settings-purge.tpl.php:106
msgid "The URLs here (one per line) will be purged automatically at the time set in the option \"%s\"."
msgstr ""
#: tpl/cache/settings-purge.tpl.php:107
msgid "Both %1$s and %2$s are acceptable."
msgstr ""
#: tpl/cache/settings-purge.tpl.php:116
msgid "For URLs with wildcards, there may be a delay in initiating scheduled purge."
msgstr ""
#: tpl/cache/settings-purge.tpl.php:131
msgid "Specify the time to purge the \"%s\" list."
msgstr ""
#: tpl/cache/settings-purge.tpl.php:132
msgid "Current server time is %s."
msgstr ""
#: tpl/cache/settings-purge.tpl.php:152
msgid "A Purge All will be executed when WordPress runs these hooks."
msgstr ""
#: tpl/cache/settings-ttl.tpl.php:29
msgid "Specify how long, in seconds, public pages are cached."
msgstr ""
#: tpl/cache/settings-ttl.tpl.php:44
msgid "Specify how long, in seconds, private pages are cached."
msgstr ""
#: tpl/cache/settings-ttl.tpl.php:59
msgid "Specify how long, in seconds, the front page is cached."
msgstr ""
#: tpl/cache/settings-ttl.tpl.php:74
msgid "Specify how long, in seconds, feeds are cached."
msgstr ""
#: tpl/cache/settings-ttl.tpl.php:75
#: tpl/cache/settings-ttl.tpl.php:90
msgid "If this is set to a number less than 30, feeds will not be cached."
msgstr ""
#: tpl/cache/settings-ttl.tpl.php:89
msgid "Specify how long, in seconds, REST calls are cached."
msgstr ""
#: tpl/cache/settings-ttl.tpl.php:111
msgid "Specify an HTTP status code and the number of seconds to cache that page, separated by a space."
msgstr ""
#: tpl/cache/settings_inc.browser.tpl.php:17
msgid "Browser Cache Settings"
msgstr ""
#: tpl/cache/settings_inc.browser.tpl.php:25
msgid "OpenLiteSpeed users please check this"
msgstr ""
#: tpl/cache/settings_inc.browser.tpl.php:26
msgid "Setting Up Custom Headers"
msgstr ""
#: tpl/cache/settings_inc.browser.tpl.php:41
msgid "Browser caching stores static files locally in the user's browser. Turn on this setting to reduce repeated requests for static files."
msgstr ""
#. translators: %s: Link tags
#: tpl/cache/settings_inc.browser.tpl.php:46
msgid "You can turn on browser caching in server admin too. %sLearn more about LiteSpeed browser cache settings%s."
msgstr ""
#: tpl/cache/settings_inc.browser.tpl.php:63
msgid "The amount of time, in seconds, that files will be stored in browser cache before expiring."
msgstr ""
#. translators: %s: LiteSpeed Web Server version
#: tpl/cache/settings_inc.cache_dropquery.tpl.php:27
msgid "Ignore certain query strings when caching. (LSWS %s required)"
msgstr ""
#. translators: %1$s: Example query string, %2$s: Example wildcard
#: tpl/cache/settings_inc.cache_dropquery.tpl.php:34
msgid "For example, to drop parameters beginning with %1$s, %2$s can be used here."
msgstr ""
#: tpl/cache/settings_inc.cache_mobile.tpl.php:24
msgid "Serve a separate cache copy for mobile visitors."
msgstr ""
#: tpl/cache/settings_inc.cache_mobile.tpl.php:25
msgid "Learn more about when this is needed"
msgstr ""
#: tpl/cache/settings_inc.cache_mobile.tpl.php:47
msgid "Htaccess did not match configuration option."
msgstr ""
#. translators: %s: Current mobile agents in htaccess
#: tpl/cache/settings_inc.cache_mobile.tpl.php:51
msgid "Htaccess rule is: %s"
msgstr ""
#. translators: %1$s: Cache Mobile label, %2$s: ON status, %3$s: List of Mobile User Agents label
#: tpl/cache/settings_inc.cache_mobile.tpl.php:89
msgid "If %1$s is %2$s, then %3$s must be populated!"
msgstr ""
#: tpl/cache/settings_inc.exclude_cookies.tpl.php:28
msgid "cookies"
msgstr ""
#: tpl/cache/settings_inc.exclude_useragent.tpl.php:28
msgid "user agents"
msgstr ""
#: tpl/cache/settings_inc.login_cookie.tpl.php:26
msgid "SYNTAX: alphanumeric and \"_\". No spaces and case sensitive. MUST BE UNIQUE FROM OTHER WEB APPLICATIONS."
msgstr ""
#. translators: %s: Default login cookie name
#: tpl/cache/settings_inc.login_cookie.tpl.php:32
msgid "The default login cookie is %s."
msgstr ""
#: tpl/cache/settings_inc.login_cookie.tpl.php:36
msgid "The server will determine if the user is logged in based on the existence of this cookie."
msgstr ""
#: tpl/cache/settings_inc.login_cookie.tpl.php:37
msgid "This setting is useful for those that have multiple web applications for the same domain."
msgstr ""
#: tpl/cache/settings_inc.login_cookie.tpl.php:38
msgid "If every web application uses the same cookie, the server may confuse whether a user is logged in or not."
msgstr ""
#: tpl/cache/settings_inc.login_cookie.tpl.php:39
msgid "The cookie set here will be used for this WordPress installation."
msgstr ""
#: tpl/cache/settings_inc.login_cookie.tpl.php:41
msgid "Example use case:"
msgstr ""
#. translators: %s: Example domain
#: tpl/cache/settings_inc.login_cookie.tpl.php:45
msgid "There is a WordPress installed for %s."
msgstr ""
#. translators: %s: Example subdomain
#: tpl/cache/settings_inc.login_cookie.tpl.php:53
msgid "Then another WordPress is installed (NOT MULTISITE) at %s"
msgstr ""
#: tpl/cache/settings_inc.login_cookie.tpl.php:57
msgid "The cache needs to distinguish who is logged into which WordPress site in order to cache correctly."
msgstr ""
#: tpl/cache/settings_inc.login_cookie.tpl.php:63
msgid "Invalid login cookie. Invalid characters found."
msgstr ""
#: tpl/cache/settings_inc.login_cookie.tpl.php:84
msgid "WARNING: The .htaccess login cookie and Database login cookie do not match."
msgstr ""
#: tpl/cache/settings_inc.login_cookie.tpl.php:102
msgid "SYNTAX: alphanumeric and \"_\". No spaces and case sensitive."
msgstr ""
#: tpl/cache/settings_inc.login_cookie.tpl.php:104
msgid "You can list the 3rd party vary cookies here."
msgstr ""
#: tpl/cache/settings_inc.object.tpl.php:15
msgid "Enabled"
msgstr ""
#: tpl/cache/settings_inc.object.tpl.php:16
msgid "Disabled"
msgstr ""
#: tpl/cache/settings_inc.object.tpl.php:23
msgid "Not Available"
msgstr ""
#: tpl/cache/settings_inc.object.tpl.php:25
msgid "Passed"
msgstr ""
#: tpl/cache/settings_inc.object.tpl.php:28
msgid "Failed"
msgstr ""
#: tpl/cache/settings_inc.object.tpl.php:33
msgid "Object Cache Settings"
msgstr ""
#: tpl/cache/settings_inc.object.tpl.php:47
msgid "Use external object cache functionality."
msgstr ""
#: tpl/cache/settings_inc.object.tpl.php:52
#: tpl/crawler/blacklist.tpl.php:42
#: tpl/crawler/summary.tpl.php:153
msgid "Status"
msgstr ""
#. translators: %s: Object cache name
#: tpl/cache/settings_inc.object.tpl.php:58
#: tpl/cache/settings_inc.object.tpl.php:66
msgid "%s Extension"
msgstr ""
#: tpl/cache/settings_inc.object.tpl.php:71
msgid "Connection Test"
msgstr ""
#. translators: %s: Object cache name
#: tpl/cache/settings_inc.object.tpl.php:99
msgid "Your %s Hostname or IP address."
msgstr ""
#. translators: %1$s: Socket name, %2$s: Host field title, %3$s: Example socket path
#. translators: %1$s: Socket name, %2$s: Port field title, %3$s: Port value
#: tpl/cache/settings_inc.object.tpl.php:107
#: tpl/cache/settings_inc.object.tpl.php:146
msgid "If you are using a %1$s socket, %2$s should be set to %3$s"
msgstr ""
#. translators: %1$s: Object cache name, %2$s: Port number
#: tpl/cache/settings_inc.object.tpl.php:128
#: tpl/cache/settings_inc.object.tpl.php:137
msgid "Default port for %1$s is %2$s."
msgstr ""
#: tpl/cache/settings_inc.object.tpl.php:164
msgid "Default TTL for cached objects."
msgstr ""
#. translators: %s: SASL
#: tpl/cache/settings_inc.object.tpl.php:180
msgid "Only available when %s is installed."
msgstr ""
#: tpl/cache/settings_inc.object.tpl.php:196
msgid "Specify the password used when connecting."
msgstr ""
#: tpl/cache/settings_inc.object.tpl.php:209
msgid "Database to be used"
msgstr ""
#: tpl/cache/settings_inc.object.tpl.php:222
msgid "Groups cached at the network level."
msgstr ""
#: tpl/cache/settings_inc.object.tpl.php:249
msgid "Use keep-alive connections to speed up cache operations."
msgstr ""
#: tpl/cache/settings_inc.object.tpl.php:262
msgid "Improve wp-admin speed through caching. (May encounter expired data)"
msgstr ""
#. translators: %1$s: Object Cache Admin title, %2$s: OFF status
#: tpl/cache/settings_inc.object.tpl.php:278
msgid "Save transients in database when %1$s is %2$s."
msgstr ""
#: tpl/cache/settings_inc.purge_on_upgrade.tpl.php:25
msgid "When enabled, the cache will automatically purge when any plugin, theme or the WordPress core is upgraded."
msgstr ""
#: tpl/cdn/cf.tpl.php:17
msgid "Cloudflare Settings"
msgstr ""
#: tpl/cdn/cf.tpl.php:31
msgid "Use %s API functionality."
msgstr ""
#: tpl/cdn/cf.tpl.php:35
msgid "Global API Key / API Token"
msgstr ""
#: tpl/cdn/cf.tpl.php:38
msgid "Your API key / token is used to access %s APIs."
msgstr ""
#: tpl/cdn/cf.tpl.php:39
msgid "Get it from %s."
msgstr ""
#: tpl/cdn/cf.tpl.php:40
msgid "Recommended to generate the token from Cloudflare API token template \"WordPress\"."
msgstr ""
#: tpl/cdn/cf.tpl.php:44
msgid "Email Address"
msgstr ""
#: tpl/cdn/cf.tpl.php:47
msgid "Your Email address on %s."
msgstr ""
#: tpl/cdn/cf.tpl.php:48
msgid "Optional when API token used."
msgstr ""
#: tpl/cdn/cf.tpl.php:52
msgid "Domain"
msgstr ""
#: tpl/cdn/cf.tpl.php:59
msgid "You can just type part of the domain."
msgstr ""
#: tpl/cdn/cf.tpl.php:60
msgid "Once saved, it will be matched with the current list and completed automatically."
msgstr ""
#: tpl/cdn/cf.tpl.php:74
msgid "Clear %s cache when \"Purge All\" is run."
msgstr ""
#: tpl/cdn/cf.tpl.php:102
msgid "To enable the following functionality, turn ON Cloudflare API in CDN Settings."
msgstr ""
#: tpl/cdn/cf.tpl.php:107
msgid "Cloudflare Domain"
msgstr ""
#: tpl/cdn/cf.tpl.php:108
msgid "Cloudflare Zone"
msgstr ""
#: tpl/cdn/cf.tpl.php:111
msgid "Development Mode"
msgstr ""
#: tpl/cdn/cf.tpl.php:113
msgid "Turn ON"
msgstr ""
#: tpl/cdn/cf.tpl.php:116
msgid "Turn OFF"
msgstr ""
#: tpl/cdn/cf.tpl.php:119
msgid "Check Status"
msgstr ""
#: tpl/cdn/cf.tpl.php:129
msgid "Current status is %1$s since %2$s."
msgstr ""
#: tpl/cdn/cf.tpl.php:137
msgid "Current status is %s."
msgstr ""
#: tpl/cdn/cf.tpl.php:141
msgid "Development mode will be automatically turned off in %s."
msgstr ""
#: tpl/cdn/cf.tpl.php:149
msgid "Temporarily bypass Cloudflare cache. This allows changes to the origin server to be seen in realtime."
msgstr ""
#: tpl/cdn/cf.tpl.php:151
msgid "Development Mode will be turned off automatically after three hours."
msgstr ""
#: tpl/cdn/cf.tpl.php:152
msgid "%1$sLearn More%2$s"
msgstr ""
#: tpl/cdn/cf.tpl.php:156
msgid "Cloudflare Cache"
msgstr ""
#: tpl/cdn/cf.tpl.php:162
msgid "Purge Everything"
msgstr ""
#: tpl/cdn/entry.tpl.php:14
msgid "QUIC.cloud"
msgstr ""
#: tpl/cdn/entry.tpl.php:16
msgid "Other Static CDN"
msgstr ""
#: tpl/cdn/entry.tpl.php:22
msgid "LiteSpeed Cache CDN"
msgstr ""
#: tpl/cdn/other.tpl.php:28
msgid "CDN Settings"
msgstr ""
#: tpl/cdn/other.tpl.php:44
msgid "Turn this setting %s if you are using a traditional Content Delivery Network (CDN) or a subdomain for static content with QUIC.cloud CDN."
msgstr ""
#: tpl/cdn/other.tpl.php:52
msgid "NOTE: QUIC.cloud CDN and Cloudflare do not use CDN Mapping. If you are only using QUIC.cloud or Cloudflare, leave this setting %s."
msgstr ""
#: tpl/cdn/other.tpl.php:80
msgid "To randomize CDN hostname, define multiple hostnames for the same resources."
msgstr ""
#: tpl/cdn/other.tpl.php:87
msgid "Serve all image files through the CDN. This will affect all attachments, HTML %1$s tags, and CSS %2$s attributes."
msgstr ""
#: tpl/cdn/other.tpl.php:94
msgid "Serve all CSS files through the CDN. This will affect all enqueued WP CSS files."
msgstr ""
#: tpl/cdn/other.tpl.php:97
msgid "Serve all JavaScript files through the CDN. This will affect all enqueued WP JavaScript files."
msgstr ""
#: tpl/cdn/other.tpl.php:100
msgid "Static file type links to be replaced by CDN links."
msgstr ""
#: tpl/cdn/other.tpl.php:104
msgid "This will affect all tags containing attributes: %s."
msgstr ""
#: tpl/cdn/other.tpl.php:112
msgid "If you turn any of the above settings OFF, please remove the related file types from the %s box."
msgstr ""
#: tpl/cdn/other.tpl.php:136
msgid "Specify which HTML element attributes will be replaced with CDN Mapping."
msgstr ""
#: tpl/cdn/other.tpl.php:137
#: tpl/img_optm/settings.tpl.php:150
msgid "Only attributes listed here will be replaced."
msgstr ""
#: tpl/cdn/other.tpl.php:141
#: tpl/img_optm/settings.tpl.php:151
msgid "Use the format %1$s or %2$s (element is optional)."
msgstr ""
#: tpl/cdn/other.tpl.php:161
msgid "Site URL to be served through the CDN. Beginning with %1$s. For example, %2$s."
msgstr ""
#: tpl/cdn/other.tpl.php:196
msgid "Only files within these directories will be pointed to the CDN."
msgstr ""
#: tpl/cdn/other.tpl.php:210
msgid "Paths containing these strings will not be served from the CDN."
msgstr ""
#: tpl/cdn/qc.tpl.php:24
#: tpl/dash/dashboard.tpl.php:886
msgid "Refresh Status"
msgstr ""
#: tpl/cdn/qc.tpl.php:27
msgid "QUIC.cloud CDN Status Overview"
msgstr ""
#: tpl/cdn/qc.tpl.php:29
msgid "Check the status of your most important settings and the health of your CDN setup here."
msgstr ""
#: tpl/cdn/qc.tpl.php:34
#: tpl/dash/dashboard.tpl.php:146
msgid "Accelerate, Optimize, Protect"
msgstr ""
#: tpl/cdn/qc.tpl.php:36
#: tpl/dash/dashboard.tpl.php:150
msgid "Speed up your WordPress site even further with QUIC.cloud Online Services and CDN."
msgstr ""
#: tpl/cdn/qc.tpl.php:38
#: tpl/general/online.tpl.php:61
#: tpl/general/online.tpl.php:145
msgid "Free monthly quota available."
msgstr ""
#: tpl/cdn/qc.tpl.php:41
#: tpl/dash/dashboard.tpl.php:158
#: tpl/general/online.tpl.php:64
#: tpl/general/online.tpl.php:119
msgid "Enable QUIC.cloud services"
msgstr ""
#: tpl/cdn/qc.tpl.php:45
#: tpl/dash/dashboard.tpl.php:167
#: tpl/general/online.tpl.php:26
msgid "QUIC.cloud provides CDN and online optimization services, and is not required. You may use many features of this plugin without QUIC.cloud."
msgstr ""
#: tpl/cdn/qc.tpl.php:46
#: tpl/dash/dashboard.tpl.php:169
msgid "Learn More about QUIC.cloud"
msgstr ""
#: tpl/cdn/qc.tpl.php:53
msgid "QUIC.cloud CDN is currently fully disabled."
msgstr ""
#: tpl/cdn/qc.tpl.php:55
msgid "QUIC.cloud CDN is not available for anonymous (unlinked) users."
msgstr ""
#: tpl/cdn/qc.tpl.php:59
msgid "Link & Enable QUIC.cloud CDN"
msgstr ""
#: tpl/cdn/qc.tpl.php:61
#: tpl/dash/dashboard.tpl.php:857
msgid "Enable QUIC.cloud CDN"
msgstr ""
#: tpl/cdn/qc.tpl.php:71
msgid "Content Delivery Network Service"
msgstr ""
#: tpl/cdn/qc.tpl.php:73
msgid "Serve your visitors fast"
msgstr ""
#: tpl/cdn/qc.tpl.php:73
msgid "no matter where they live."
msgstr ""
#. translators: %s: Link tags
#: tpl/cdn/qc.tpl.php:79
msgid "Best available WordPress performance, globally fast TTFB, easy setup, and %smore%s!"
msgstr ""
#: tpl/cdn/qc.tpl.php:96
msgid "QUIC.cloud CDN Options"
msgstr ""
#: tpl/cdn/qc.tpl.php:117
msgid "To manage your QUIC.cloud options, go to your hosting provider's portal."
msgstr ""
#: tpl/cdn/qc.tpl.php:119
msgid "To manage your QUIC.cloud options, please contact your hosting provider."
msgstr ""
#: tpl/cdn/qc.tpl.php:123
#: tpl/cdn/qc.tpl.php:143
msgid "To manage your QUIC.cloud options, go to QUIC.cloud Dashboard."
msgstr ""
#: tpl/cdn/qc.tpl.php:126
#: tpl/cdn/qc.tpl.php:133
#: tpl/dash/dashboard.tpl.php:360
#: tpl/general/online.tpl.php:153
msgid "Link to QUIC.cloud"
msgstr ""
#: tpl/cdn/qc.tpl.php:130
msgid "You are currently using services as an anonymous user. To manage your QUIC.cloud options, use the button below to create an account and link to the QUIC.cloud Dashboard."
msgstr ""
#: tpl/cdn/qc.tpl.php:139
#: tpl/cdn/qc.tpl.php:146
msgid "My QUIC.cloud Dashboard"
msgstr ""
#: tpl/crawler/blacklist.tpl.php:22
msgid "Are you sure to delete all existing blocklist items?"
msgstr ""
#: tpl/crawler/blacklist.tpl.php:23
msgid "Empty blocklist"
msgstr ""
#: tpl/crawler/blacklist.tpl.php:28
#: tpl/crawler/entry.tpl.php:16
msgid "Blocklist"
msgstr ""
#: tpl/crawler/blacklist.tpl.php:32
#: tpl/img_optm/summary.tpl.php:201
msgid "Total"
msgstr ""
#: tpl/crawler/blacklist.tpl.php:41
#: tpl/crawler/map.tpl.php:76
#: tpl/toolbox/purge.tpl.php:209
msgid "URL"
msgstr ""
#: tpl/crawler/blacklist.tpl.php:43
#: tpl/crawler/map.tpl.php:78
msgid "Operation"
msgstr ""
#: tpl/crawler/blacklist.tpl.php:54
msgid "Remove from Blocklist"
msgstr ""
#: tpl/crawler/blacklist.tpl.php:69
msgid "API: PHP Constant %s available to disable blocklist."
msgstr ""
#: tpl/crawler/blacklist.tpl.php:79
msgid "API: Filter %s available to disable blocklist."
msgstr ""
#: tpl/crawler/blacklist.tpl.php:87
msgid "Not blocklisted"
msgstr ""
#: tpl/crawler/blacklist.tpl.php:88
#: tpl/crawler/map.tpl.php:103
msgid "Blocklisted due to not cacheable"
msgstr ""
#: tpl/crawler/blacklist.tpl.php:89
#: tpl/crawler/map.tpl.php:64
#: tpl/crawler/map.tpl.php:104
#: tpl/crawler/summary.tpl.php:199
#: tpl/crawler/summary.tpl.php:247
msgid "Blocklisted"
msgstr ""
#: tpl/crawler/entry.tpl.php:14
msgid "Summary"
msgstr ""
#: tpl/crawler/entry.tpl.php:15
msgid "Map"
msgstr ""
#: tpl/crawler/entry.tpl.php:23
msgid "LiteSpeed Cache Crawler"
msgstr ""
#: tpl/crawler/map.tpl.php:29
msgid "Clean Crawler Map"
msgstr ""
#: tpl/crawler/map.tpl.php:32
msgid "Refresh Crawler Map"
msgstr ""
#: tpl/crawler/map.tpl.php:40
msgid "Generated at %s"
msgstr ""
#: tpl/crawler/map.tpl.php:48
msgid "Sitemap List"
msgstr ""
#: tpl/crawler/map.tpl.php:52
msgid "Sitemap Total"
msgstr ""
#: tpl/crawler/map.tpl.php:58
msgid "URL Search"
msgstr ""
#: tpl/crawler/map.tpl.php:62
#: tpl/crawler/map.tpl.php:101
msgid "Cache Hit"
msgstr ""
#: tpl/crawler/map.tpl.php:63
#: tpl/crawler/map.tpl.php:102
msgid "Cache Miss"
msgstr ""
#: tpl/crawler/map.tpl.php:77
#: tpl/dash/dashboard.tpl.php:80
#: tpl/dash/dashboard.tpl.php:800
msgid "Crawler Status"
msgstr ""
#: tpl/crawler/map.tpl.php:89
msgid "Add to Blocklist"
msgstr ""
#: tpl/crawler/settings.tpl.php:17
msgid "Crawler General Settings"
msgstr ""
#: tpl/crawler/settings.tpl.php:31
msgid "This will enable crawler cron."
msgstr ""
#: tpl/crawler/settings.tpl.php:45
msgid "Specify how long in seconds before the crawler should initiate crawling the entire sitemap again."
msgstr ""
#: tpl/crawler/settings.tpl.php:59
msgid "The crawler will use your XML sitemap or sitemap index. Enter the full URL to your sitemap here."
msgstr ""
#: tpl/crawler/settings.tpl.php:73
msgid "The maximum average server load allowed while crawling. The number of crawler threads in use will be actively reduced until average server load falls under this limit. If this cannot be achieved with a single thread, the current crawler run will be terminated."
msgstr ""
#: tpl/crawler/settings.tpl.php:79
msgid "Server enforced value: %s"
msgstr ""
#: tpl/crawler/settings.tpl.php:89
msgid "Server allowed max value: %s"
msgstr ""
#: tpl/crawler/settings.tpl.php:109
msgid "To crawl the site as a logged-in user, enter the user ids to be simulated."
msgstr ""
#: tpl/crawler/settings.tpl.php:116
#: tpl/crawler/summary.tpl.php:211
msgid "You must set %s before using this feature."
msgstr ""
#: tpl/crawler/settings.tpl.php:136
msgid "You must set %1$s to %2$s before using this feature."
msgstr ""
#: tpl/crawler/settings.tpl.php:172
msgid "To crawl for a particular cookie, enter the cookie name, and the values you wish to crawl for. Values should be one per line. There will be one crawler created per cookie value, per simulated role."
msgstr ""
#: tpl/crawler/settings.tpl.php:177
msgid "Use %1$s in %2$s to indicate this cookie has not been set."
msgstr ""
#: tpl/crawler/summary.tpl.php:28
msgid "You need to set the %s in Settings first before using the crawler"
msgstr ""
#: tpl/crawler/summary.tpl.php:54
msgid "Crawler Cron"
msgstr ""
#: tpl/crawler/summary.tpl.php:61
msgid "The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider."
msgstr ""
#. translators: %s: Link tags
#: tpl/crawler/summary.tpl.php:66
msgid "See %sIntroduction for Enabling the Crawler%s for detailed information."
msgstr ""
#: tpl/crawler/summary.tpl.php:77
msgid "Current sitemap crawl started at"
msgstr ""
#: tpl/crawler/summary.tpl.php:82
msgid "The next complete sitemap crawl will start at"
msgstr ""
#: tpl/crawler/summary.tpl.php:90
msgid "Last complete run time for all crawlers"
msgstr ""
#: tpl/crawler/summary.tpl.php:91
#: tpl/crawler/summary.tpl.php:98
msgid "%d seconds"
msgstr ""
#: tpl/crawler/summary.tpl.php:97
msgid "Run time for previous crawler"
msgstr ""
#: tpl/crawler/summary.tpl.php:104
#: tpl/dash/dashboard.tpl.php:91
#: tpl/dash/dashboard.tpl.php:811
msgid "Current crawler started at"
msgstr ""
#: tpl/crawler/summary.tpl.php:110
msgid "Current server load"
msgstr ""
#: tpl/crawler/summary.tpl.php:116
#: tpl/dash/dashboard.tpl.php:97
#: tpl/dash/dashboard.tpl.php:817
msgid "Last interval"
msgstr ""
#: tpl/crawler/summary.tpl.php:123
#: tpl/dash/dashboard.tpl.php:103
#: tpl/dash/dashboard.tpl.php:823
msgid "Ended reason"
msgstr ""
#: tpl/crawler/summary.tpl.php:130
msgid "Last crawled"
msgstr ""
#: tpl/crawler/summary.tpl.php:133
msgid "%d item(s)"
msgstr ""
#: tpl/crawler/summary.tpl.php:141
msgid "Reset position"
msgstr ""
#: tpl/crawler/summary.tpl.php:142
msgid "Manually run"
msgstr ""
#: tpl/crawler/summary.tpl.php:151
msgid "Cron Name"
msgstr ""
#: tpl/crawler/summary.tpl.php:152
msgid "Run Frequency"
msgstr ""
#: tpl/crawler/summary.tpl.php:154
msgid "Activate"
msgstr ""
#: tpl/crawler/summary.tpl.php:155
msgid "Running"
msgstr ""
#: tpl/crawler/summary.tpl.php:184
msgid "Waiting"
msgstr ""
#: tpl/crawler/summary.tpl.php:189
msgid "Hit"
msgstr ""
#: tpl/crawler/summary.tpl.php:194
msgid "Miss"
msgstr ""
#: tpl/crawler/summary.tpl.php:230
msgid "Position: "
msgstr ""
#: tpl/crawler/summary.tpl.php:232
msgid "running"
msgstr ""
#: tpl/crawler/summary.tpl.php:244
msgid "Waiting to be Crawled"
msgstr ""
#: tpl/crawler/summary.tpl.php:245
msgid "Already Cached"
msgstr ""
#: tpl/crawler/summary.tpl.php:246
msgid "Successfully Crawled"
msgstr ""
#: tpl/crawler/summary.tpl.php:251
msgid "Run frequency is set by the Interval Between Runs setting."
msgstr ""
#: tpl/crawler/summary.tpl.php:254
msgid "Crawlers cannot run concurrently. If both the cron and a manual run start at similar times, the first to be started will take precedence."
msgstr ""
#. translators: %s: Link tags
#: tpl/crawler/summary.tpl.php:261
msgid "Please see %sHooking WP-Cron Into the System Task Scheduler%s to learn how to create the system cron task."
msgstr ""
#: tpl/crawler/summary.tpl.php:272
msgid "Watch Crawler Status"
msgstr ""
#: tpl/crawler/summary.tpl.php:278
msgid "Show crawler status"
msgstr ""
#: tpl/crawler/summary.tpl.php:288
msgid "Start watching..."
msgstr ""
#: tpl/crawler/summary.tpl.php:293
msgid "No crawler meta file generated yet"
msgstr ""
#: tpl/dash/dashboard.tpl.php:53
#: tpl/dash/dashboard.tpl.php:597
msgid "Cache Status"
msgstr ""
#: tpl/dash/dashboard.tpl.php:54
#: tpl/dash/dashboard.tpl.php:81
#: tpl/dash/dashboard.tpl.php:521
#: tpl/dash/dashboard.tpl.php:598
#: tpl/dash/dashboard.tpl.php:625
#: tpl/dash/dashboard.tpl.php:669
#: tpl/dash/dashboard.tpl.php:713
#: tpl/dash/dashboard.tpl.php:757
#: tpl/dash/dashboard.tpl.php:801
#: tpl/dash/dashboard.tpl.php:848
msgid "More"
msgstr ""
#: tpl/dash/dashboard.tpl.php:58
#: tpl/dash/dashboard.tpl.php:602
msgid "Public Cache"
msgstr ""
#: tpl/dash/dashboard.tpl.php:59
#: tpl/dash/dashboard.tpl.php:603
msgid "Private Cache"
msgstr ""
#: tpl/dash/dashboard.tpl.php:84
#: tpl/dash/dashboard.tpl.php:804
msgid "Crawler(s)"
msgstr ""
#: tpl/dash/dashboard.tpl.php:87
#: tpl/dash/dashboard.tpl.php:807
msgid "Currently active crawler"
msgstr ""
#: tpl/dash/dashboard.tpl.php:111
#: tpl/dash/dashboard.tpl.php:831
msgid "%1$s %2$d item(s)"
msgstr ""
#: tpl/dash/dashboard.tpl.php:112
#: tpl/dash/dashboard.tpl.php:832
msgid "Last crawled:"
msgstr ""
#: tpl/dash/dashboard.tpl.php:128
#: tpl/dash/dashboard.tpl.php:908
msgid "News"
msgstr ""
#: tpl/dash/dashboard.tpl.php:153
msgid "Free monthly quota available. Can also be used anonymously (no email required)."
msgstr ""
#: tpl/dash/dashboard.tpl.php:163
msgid "Do not show this again"
msgstr ""
#: tpl/dash/dashboard.tpl.php:180
msgid "QUIC.cloud Service Usage Statistics"
msgstr ""
#: tpl/dash/dashboard.tpl.php:182
msgid "Refresh Usage"
msgstr ""
#: tpl/dash/dashboard.tpl.php:183
msgid "Sync data from Cloud"
msgstr ""
#: tpl/dash/dashboard.tpl.php:194
msgid "The features below are provided by %s"
msgstr ""
#: tpl/dash/dashboard.tpl.php:206
#: tpl/dash/network_dash.tpl.php:38
msgid "CDN Bandwidth"
msgstr ""
#: tpl/dash/dashboard.tpl.php:207
#: tpl/dash/dashboard.tpl.php:712
#: tpl/dash/network_dash.tpl.php:39
msgid "Low Quality Image Placeholder"
msgstr ""
#: tpl/dash/dashboard.tpl.php:259
#: tpl/dash/network_dash.tpl.php:95
msgid "Fast Queue Usage"
msgstr ""
#: tpl/dash/dashboard.tpl.php:259
#: tpl/dash/network_dash.tpl.php:95
msgid "Usage"
msgstr ""
#: tpl/dash/dashboard.tpl.php:271
#: tpl/dash/network_dash.tpl.php:108
msgid "PAYG Balance"
msgstr ""
#: tpl/dash/dashboard.tpl.php:272
msgid "PAYG used this month: %s. PAYG balance and usage not included in above quota calculation."
msgstr ""
#: tpl/dash/dashboard.tpl.php:274
#: tpl/dash/network_dash.tpl.php:111
msgid "Pay as You Go Usage Statistics"
msgstr ""
#: tpl/dash/dashboard.tpl.php:292
#: tpl/dash/network_dash.tpl.php:118
msgid "Total Usage"
msgstr ""
#: tpl/dash/dashboard.tpl.php:293
#: tpl/dash/network_dash.tpl.php:119
msgid "Total images optimized in this month"
msgstr ""
#: tpl/dash/dashboard.tpl.php:301
msgid "Remaining Daily Quota"
msgstr ""
#: tpl/dash/dashboard.tpl.php:311
msgid "Partner Benefits Provided by"
msgstr ""
#: tpl/dash/dashboard.tpl.php:347
msgid "Enable QUIC.cloud Services"
msgstr ""
#: tpl/dash/dashboard.tpl.php:354
#: tpl/general/online.tpl.php:128
msgid "Go to QUIC.cloud dashboard"
msgstr ""
#: tpl/dash/dashboard.tpl.php:382
#: tpl/img_optm/summary.tpl.php:54
#: tpl/page_optm/settings_css.tpl.php:111
#: tpl/page_optm/settings_css.tpl.php:248
#: tpl/page_optm/settings_media.tpl.php:194
#: tpl/page_optm/settings_vpi.tpl.php:59
msgid "Current closest Cloud server is %s. Click to redetect."
msgstr ""
#: tpl/dash/dashboard.tpl.php:383
#: tpl/img_optm/summary.tpl.php:54
#: tpl/page_optm/settings_css.tpl.php:111
#: tpl/page_optm/settings_css.tpl.php:248
#: tpl/page_optm/settings_media.tpl.php:194
#: tpl/page_optm/settings_vpi.tpl.php:59
msgid "Are you sure you want to redetect the closest cloud server for this service?"
msgstr ""
#: tpl/dash/dashboard.tpl.php:385
#: tpl/general/online.tpl.php:31
#: tpl/img_optm/summary.tpl.php:54
#: tpl/img_optm/summary.tpl.php:56
#: tpl/page_optm/settings_css.tpl.php:111
#: tpl/page_optm/settings_css.tpl.php:248
#: tpl/page_optm/settings_media.tpl.php:194
#: tpl/page_optm/settings_vpi.tpl.php:59
msgid "Redetect"
msgstr ""
#: tpl/dash/dashboard.tpl.php:419
msgid "You must be using one of the following products in order to measure Page Load Time:"
msgstr ""
#: tpl/dash/dashboard.tpl.php:420
msgid "LiteSpeed Web Server"
msgstr ""
#: tpl/dash/dashboard.tpl.php:422
msgid "OpenLiteSpeed Web Server"
msgstr ""
#: tpl/dash/dashboard.tpl.php:424
msgid "LiteSpeed Web ADC"
msgstr ""
#: tpl/dash/dashboard.tpl.php:426
#: tpl/dash/dashboard.tpl.php:844
msgid "QUIC.cloud CDN"
msgstr ""
#: tpl/dash/dashboard.tpl.php:438
#: tpl/dash/dashboard.tpl.php:503
msgid "Requested: %s ago"
msgstr ""
#: tpl/dash/dashboard.tpl.php:446
#: tpl/dash/dashboard.tpl.php:511
msgid "Refresh"
msgstr ""
#: tpl/dash/dashboard.tpl.php:447
msgid "Refresh page load time"
msgstr ""
#: tpl/dash/dashboard.tpl.php:512
msgid "Refresh page score"
msgstr ""
#: tpl/dash/dashboard.tpl.php:520
#: tpl/img_optm/entry.tpl.php:16
msgid "Image Optimization Summary"
msgstr ""
#: tpl/dash/dashboard.tpl.php:537
#: tpl/img_optm/summary.tpl.php:76
#: tpl/img_optm/summary.tpl.php:89
msgid "Send Optimization Request"
msgstr ""
#: tpl/dash/dashboard.tpl.php:543
#: tpl/img_optm/summary.tpl.php:316
msgid "Total Reduction"
msgstr ""
#: tpl/dash/dashboard.tpl.php:546
#: tpl/img_optm/summary.tpl.php:319
msgid "Images Pulled"
msgstr ""
#: tpl/dash/dashboard.tpl.php:569
#: tpl/img_optm/summary.tpl.php:322
msgid "Last Request"
msgstr ""
#: tpl/dash/dashboard.tpl.php:572
msgid "Last Pull"
msgstr ""
#: tpl/dash/dashboard.tpl.php:624
#: tpl/toolbox/purge.tpl.php:73
msgid "Critical CSS"
msgstr ""
#: tpl/dash/dashboard.tpl.php:631
#: tpl/dash/dashboard.tpl.php:675
#: tpl/dash/dashboard.tpl.php:719
#: tpl/dash/dashboard.tpl.php:763
msgid "Last generated: %s"
msgstr ""
#: tpl/dash/dashboard.tpl.php:639
#: tpl/dash/dashboard.tpl.php:683
#: tpl/dash/dashboard.tpl.php:727
#: tpl/dash/dashboard.tpl.php:771
msgid "Time to execute previous request: %s"
msgstr ""
#: tpl/dash/dashboard.tpl.php:646
#: tpl/dash/dashboard.tpl.php:690
#: tpl/dash/dashboard.tpl.php:734
#: tpl/dash/dashboard.tpl.php:778
msgid "Requests in queue"
msgstr ""
#: tpl/dash/dashboard.tpl.php:649
#: tpl/dash/dashboard.tpl.php:693
#: tpl/dash/dashboard.tpl.php:737
#: tpl/dash/dashboard.tpl.php:781
msgid "Force cron"
msgstr ""
#: tpl/dash/dashboard.tpl.php:657
#: tpl/dash/dashboard.tpl.php:701
#: tpl/dash/dashboard.tpl.php:745
#: tpl/dash/dashboard.tpl.php:789
msgid "Last requested: %s"
msgstr ""
#: tpl/dash/dashboard.tpl.php:668
#: tpl/toolbox/purge.tpl.php:82
msgid "Unique CSS"
msgstr ""
#: tpl/dash/dashboard.tpl.php:756
msgid "Viewport Image"
msgstr ""
#: tpl/dash/dashboard.tpl.php:864
msgid "Best available WordPress performance"
msgstr ""
#: tpl/dash/dashboard.tpl.php:869
msgid "Globally fast TTFB, easy setup, and %s!"
msgstr ""
#: tpl/dash/dashboard.tpl.php:870
msgid "more"
msgstr ""
#: tpl/dash/dashboard.tpl.php:887
msgid "Refresh QUIC.cloud status"
msgstr ""
#: tpl/dash/entry.tpl.php:21
msgid "Network Dashboard"
msgstr ""
#: tpl/dash/entry.tpl.php:29
msgid "LiteSpeed Cache Dashboard"
msgstr ""
#: tpl/dash/network_dash.tpl.php:28
msgid "Usage Statistics: %s"
msgstr ""
#: tpl/dash/network_dash.tpl.php:107
msgid "Pay as You Go"
msgstr ""
#: tpl/dash/network_dash.tpl.php:109
msgid "This Month Usage: %s"
msgstr ""
#: tpl/db_optm/entry.tpl.php:17
#: tpl/db_optm/settings.tpl.php:19
msgid "DB Optimization Settings"
msgstr ""
#: tpl/db_optm/entry.tpl.php:24
msgid "LiteSpeed Cache Database Optimization"
msgstr ""
#: tpl/db_optm/manage.tpl.php:17
msgid "Clean All"
msgstr ""
#: tpl/db_optm/manage.tpl.php:21
msgid "Post Revisions"
msgstr ""
#: tpl/db_optm/manage.tpl.php:22
msgid "Clean all post revisions"
msgstr ""
#: tpl/db_optm/manage.tpl.php:25
msgid "Orphaned Post Meta"
msgstr ""
#: tpl/db_optm/manage.tpl.php:26
msgid "Clean all orphaned post meta records"
msgstr ""
#: tpl/db_optm/manage.tpl.php:29
msgid "Auto Drafts"
msgstr ""
#: tpl/db_optm/manage.tpl.php:30
msgid "Clean all auto saved drafts"
msgstr ""
#: tpl/db_optm/manage.tpl.php:33
msgid "Trashed Posts"
msgstr ""
#: tpl/db_optm/manage.tpl.php:34
msgid "Clean all trashed posts and pages"
msgstr ""
#: tpl/db_optm/manage.tpl.php:37
msgid "Spam Comments"
msgstr ""
#: tpl/db_optm/manage.tpl.php:38
msgid "Clean all spam comments"
msgstr ""
#: tpl/db_optm/manage.tpl.php:41
msgid "Trashed Comments"
msgstr ""
#: tpl/db_optm/manage.tpl.php:42
msgid "Clean all trashed comments"
msgstr ""
#: tpl/db_optm/manage.tpl.php:45
msgid "Trackbacks/Pingbacks"
msgstr ""
#: tpl/db_optm/manage.tpl.php:46
msgid "Clean all trackbacks and pingbacks"
msgstr ""
#: tpl/db_optm/manage.tpl.php:49
msgid "Expired Transients"
msgstr ""
#: tpl/db_optm/manage.tpl.php:50
msgid "Clean expired transient options"
msgstr ""
#: tpl/db_optm/manage.tpl.php:53
msgid "All Transients"
msgstr ""
#: tpl/db_optm/manage.tpl.php:54
msgid "Clean all transient options"
msgstr ""
#: tpl/db_optm/manage.tpl.php:57
msgid "Optimize Tables"
msgstr ""
#: tpl/db_optm/manage.tpl.php:58
msgid "Optimize all tables in your database"
msgstr ""
#: tpl/db_optm/manage.tpl.php:66
msgid "Clean revisions older than %1$s day(s), excluding %2$s latest revisions"
msgstr ""
#: tpl/db_optm/manage.tpl.php:90
msgid "Database Optimizer"
msgstr ""
#: tpl/db_optm/manage.tpl.php:116
msgid "Database Table Engine Converter"
msgstr ""
#: tpl/db_optm/manage.tpl.php:124
msgid "Table"
msgstr ""
#: tpl/db_optm/manage.tpl.php:125
msgid "Engine"
msgstr ""
#: tpl/db_optm/manage.tpl.php:126
msgid "Tool"
msgstr ""
#: tpl/db_optm/manage.tpl.php:141
msgid "Convert to InnoDB"
msgstr ""
#: tpl/db_optm/manage.tpl.php:149
msgid "We are good. No table uses MyISAM engine."
msgstr ""
#: tpl/db_optm/manage.tpl.php:171
msgid "Database Summary"
msgstr ""
#: tpl/db_optm/manage.tpl.php:175
msgid "Autoload size"
msgstr ""
#: tpl/db_optm/manage.tpl.php:176
msgid "Autoload entries"
msgstr ""
#: tpl/db_optm/manage.tpl.php:180
msgid "Autoload top list"
msgstr ""
#: tpl/db_optm/manage.tpl.php:185
msgid "Option Name"
msgstr ""
#: tpl/db_optm/manage.tpl.php:186
msgid "Autoload"
msgstr ""
#: tpl/db_optm/manage.tpl.php:187
msgid "Size"
msgstr ""
#: tpl/db_optm/settings.tpl.php:32
msgid "Specify the number of most recent revisions to keep when cleaning revisions."
msgstr ""
#: tpl/db_optm/settings.tpl.php:44
msgid "Day(s)"
msgstr ""
#: tpl/db_optm/settings.tpl.php:46
msgid "Revisions newer than this many days will be kept when cleaning revisions."
msgstr ""
#: tpl/esi_widget_edit.php:52
msgid "Public"
msgstr ""
#: tpl/esi_widget_edit.php:53
msgid "Private"
msgstr ""
#: tpl/esi_widget_edit.php:54
msgid "Disable"
msgstr ""
#: tpl/esi_widget_edit.php:71
msgid "Widget Cache TTL"
msgstr ""
#: tpl/esi_widget_edit.php:81
msgid "Recommended value: 28800 seconds (8 hours)."
msgstr ""
#: tpl/esi_widget_edit.php:82
msgid "A TTL of 0 indicates do not cache."
msgstr ""
#: tpl/general/entry.tpl.php:16
#: tpl/general/online.tpl.php:68
msgid "Online Services"
msgstr ""
#: tpl/general/entry.tpl.php:17
#: tpl/general/entry.tpl.php:22
#: tpl/general/network_settings.tpl.php:19
#: tpl/general/settings.tpl.php:24
msgid "General Settings"
msgstr ""
#: tpl/general/entry.tpl.php:30
msgid "LiteSpeed Cache General Settings"
msgstr ""
#: tpl/general/network_settings.tpl.php:31
msgid "Use Primary Site Configuration"
msgstr ""
#: tpl/general/network_settings.tpl.php:35
msgid "Check this option to use the primary site's configuration for all subsites."
msgstr ""
#: tpl/general/network_settings.tpl.php:36
msgid "This will disable the settings page on all subsites."
msgstr ""
#: tpl/general/online.tpl.php:22
msgid "QUIC.cloud Online Services"
msgstr ""
#: tpl/general/online.tpl.php:30
msgid "Current Cloud Nodes in Service"
msgstr ""
#: tpl/general/online.tpl.php:31
msgid "Click to clear all nodes for further redetection."
msgstr ""
#: tpl/general/online.tpl.php:31
msgid "Are you sure you want to clear all cloud nodes?"
msgstr ""
#: tpl/general/online.tpl.php:41
msgid "Service:"
msgstr ""
#: tpl/general/online.tpl.php:43
msgid "Node:"
msgstr ""
#: tpl/general/online.tpl.php:45
msgid "Connected Date:"
msgstr ""
#: tpl/general/online.tpl.php:51
msgid "No cloud services currently in use"
msgstr ""
#: tpl/general/online.tpl.php:59
msgid "QUIC.cloud Integration Disabled"
msgstr ""
#: tpl/general/online.tpl.php:60
msgid "Speed up your WordPress site even further with QUIC.cloud Online Services and CDN."
msgstr ""
#: tpl/general/online.tpl.php:69
msgid "QUIC.cloud's Online Services improve your site in the following ways:"
msgstr ""
#: tpl/general/online.tpl.php:71
msgid "Image Optimization gives you smaller image file sizes that transmit faster."
msgstr ""
#: tpl/general/online.tpl.php:72
msgid "Page Optimization streamlines page styles and visual elements for faster loading."
msgstr ""
#: tpl/general/online.tpl.php:76
msgid "QUIC.cloud's Image Optimization service does the following:"
msgstr ""
#: tpl/general/online.tpl.php:78
msgid "Processes your uploaded PNG and JPG images to produce smaller versions that don't sacrifice quality."
msgstr ""
#: tpl/general/online.tpl.php:79
msgid "Optionally creates next-generation WebP or AVIF image files."
msgstr ""
#: tpl/general/online.tpl.php:81
msgid "Processing for PNG, JPG, and WebP image formats is free. AVIF is available for a fee."
msgstr ""
#: tpl/general/online.tpl.php:84
msgid "QUIC.cloud's Page Optimization services address CSS bloat, and improve the user experience during page load, which can lead to improved page speed scores."
msgstr ""
#: tpl/general/online.tpl.php:86
msgid "Critical CSS (CCSS) loads visible above-the-fold content faster and with full styling."
msgstr ""
#: tpl/general/online.tpl.php:87
msgid "Unique CSS (UCSS) removes unused style definitions for a speedier page load overall."
msgstr ""
#: tpl/general/online.tpl.php:88
msgid "Low Quality Image Placeholder (LQIP) gives your imagery a more pleasing look as it lazy loads."
msgstr ""
#: tpl/general/online.tpl.php:89
msgid "Viewport Images (VPI) provides a well-polished fully-loaded view above the fold."
msgstr ""
#: tpl/general/online.tpl.php:98
msgid "Content Delivery Network"
msgstr ""
#: tpl/general/online.tpl.php:100
msgid "QUIC.cloud CDN:"
msgstr ""
#: tpl/general/online.tpl.php:102
msgid "Caches your entire site, including dynamic content and ESI blocks."
msgstr ""
#: tpl/general/online.tpl.php:103
msgid "Delivers global coverage with a growing network of 80+ PoPs."
msgstr ""
#: tpl/general/online.tpl.php:104
msgid "Provides security at the CDN level, protecting your server from attack."
msgstr ""
#: tpl/general/online.tpl.php:105
msgid "Offers optional built-in DNS service to simplify CDN onboarding."
msgstr ""
#: tpl/general/online.tpl.php:114
msgid "In order to use most QUIC.cloud services, you need quota. QUIC.cloud gives you free quota every month, but if you need more, you can purchase it."
msgstr ""
#: tpl/general/online.tpl.php:125
msgid "QUIC.cloud Integration Enabled"
msgstr ""
#: tpl/general/online.tpl.php:126
msgid "Your site is connected and ready to use QUIC.cloud Online Services."
msgstr ""
#: tpl/general/online.tpl.php:136
msgid "CDN - Enabled"
msgstr ""
#: tpl/general/online.tpl.php:138
msgid "CDN - Disabled"
msgstr ""
#: tpl/general/online.tpl.php:143
msgid "QUIC.cloud Integration Enabled with limitations"
msgstr ""
#: tpl/general/online.tpl.php:144
msgid "Your site is connected and using QUIC.cloud Online Services as an anonymous user. The CDN function and certain features of optimization services are not available for anonymous users. Link to QUIC.cloud to use the CDN and all available Online Services features."
msgstr ""
#: tpl/general/online.tpl.php:150
msgid "CDN - not available for anonymous users"
msgstr ""
#: tpl/general/online.tpl.php:159
msgid "Are you sure you want to disconnect from QUIC.cloud? This will not remove any data from the QUIC.cloud dashboard."
msgstr ""
#: tpl/general/online.tpl.php:159
msgid "Disconnect from QUIC.cloud"
msgstr ""
#: tpl/general/online.tpl.php:160
msgid "Remove QUIC.cloud integration from this site. Note: QUIC.cloud data will be preserved so you can re-enable services at any time. If you want to fully remove your site from QUIC.cloud, delete the domain through the QUIC.cloud Dashboard first."
msgstr ""
#: tpl/general/settings.tpl.php:48
msgid "This option enables maximum optimization for Guest Mode visitors."
msgstr ""
#: tpl/general/settings.tpl.php:49
msgid "Please read all warnings before enabling this option."
msgstr ""
#: tpl/general/settings.tpl.php:64
msgid "Your %1$s quota on %2$s will still be in use."
msgstr ""
#: tpl/general/settings.tpl.php:72
#: tpl/general/settings.tpl.php:79
#: tpl/general/settings.tpl.php:86
#: tpl/general/settings.tpl.php:103
#: tpl/page_optm/settings_media.tpl.php:253
#: tpl/page_optm/settings_vpi.tpl.php:44
msgid "Notice"
msgstr ""
#: tpl/general/settings.tpl.php:72
#: tpl/page_optm/settings_media.tpl.php:253
#: tpl/page_optm/settings_vpi.tpl.php:44
msgid "%s must be turned ON for this setting to work."
msgstr ""
#: tpl/general/settings.tpl.php:79
msgid "You need to turn %s on to get maximum result."
msgstr ""
#: tpl/general/settings.tpl.php:86
msgid "You need to turn %s on and finish all WebP generation to get maximum result."
msgstr ""
#: tpl/general/settings.tpl.php:101
msgid "Enter this site's IP address to allow cloud services directly call IP instead of domain name. This eliminates the overhead of DNS and CDN lookups."
msgstr ""
#: tpl/general/settings.tpl.php:102
msgid "Your server IP"
msgstr ""
#: tpl/general/settings.tpl.php:102
msgid "Check my public IP from"
msgstr ""
#: tpl/general/settings.tpl.php:103
msgid "the auto-detected IP may not be accurate if you have an additional outgoing IP set, or you have multiple IPs configured on your server."
msgstr ""
#: tpl/general/settings.tpl.php:104
msgid "Please make sure this IP is the correct one for visiting your site."
msgstr ""
#: tpl/general/settings.tpl.php:119
msgid "Turn this option ON to show latest news automatically, including hotfixes, new releases, available beta versions, and promotions."
msgstr ""
#: tpl/general/settings_inc.auto_upgrade.tpl.php:25
msgid "Turn this option ON to have LiteSpeed Cache updated automatically, whenever a new version is released. If OFF, update manually as usual."
msgstr ""
#: tpl/general/settings_inc.guest.tpl.php:26
msgid "Guest Mode provides an always cacheable landing page for an automated guest's first time visit, and then attempts to update cache varies via AJAX."
msgstr ""
#: tpl/general/settings_inc.guest.tpl.php:27
msgid "This option can help to correct the cache vary for certain advanced mobile or tablet visitors."
msgstr ""
#: tpl/general/settings_inc.guest.tpl.php:34
msgid "Guest Mode testing result"
msgstr ""
#: tpl/general/settings_inc.guest.tpl.php:35
msgid "Testing"
msgstr ""
#: tpl/general/settings_inc.guest.tpl.php:38
msgid "Guest Mode IP/UA sync status"
msgstr ""
#: tpl/general/settings_inc.guest.tpl.php:39
msgid "Syncing"
msgstr ""
#: tpl/general/settings_inc.guest.tpl.php:46
msgid "Guest Mode passed testing."
msgstr ""
#: tpl/general/settings_inc.guest.tpl.php:49
#: tpl/general/settings_inc.guest.tpl.php:52
msgid "Guest Mode failed to test."
msgstr ""
#: tpl/general/settings_inc.guest.tpl.php:64
msgid "Synced successfully."
msgstr ""
#: tpl/general/settings_inc.guest.tpl.php:66
#: tpl/general/settings_inc.guest.tpl.php:70
msgid "Sync failed."
msgstr ""
#: tpl/img_optm/entry.tpl.php:17
#: tpl/img_optm/entry.tpl.php:22
#: tpl/img_optm/network_settings.tpl.php:19
#: tpl/img_optm/settings.tpl.php:19
msgid "Image Optimization Settings"
msgstr ""
#: tpl/img_optm/entry.tpl.php:30
msgid "LiteSpeed Cache Image Optimization"
msgstr ""
#: tpl/img_optm/settings.media_webp.tpl.php:25
msgid "Request WebP/AVIF versions of original images when doing optimization."
msgstr ""
#: tpl/img_optm/settings.media_webp.tpl.php:26
msgid "Significantly improve load time by replacing images with their optimized %s versions."
msgstr ""
#: tpl/img_optm/settings.media_webp.tpl.php:31
msgid "%1$s is a %2$s paid feature."
msgstr ""
#: tpl/img_optm/settings.media_webp.tpl.php:34
msgid "When switching formats, please %1$s or %2$s to apply this new choice to previously optimized images."
msgstr ""
#: tpl/img_optm/settings.media_webp.tpl.php:34
#: tpl/img_optm/summary.tpl.php:378
msgid "Destroy All Optimization Data"
msgstr ""
#: tpl/img_optm/settings.media_webp.tpl.php:34
#: tpl/img_optm/summary.tpl.php:368
msgid "Soft Reset Optimization Counter"
msgstr ""
#: tpl/img_optm/settings.tpl.php:34
msgid "Automatically request optimization via cron job."
msgstr ""
#: tpl/img_optm/settings.tpl.php:47
msgid "Optimize images and save backups of the originals in the same folder."
msgstr ""
#: tpl/img_optm/settings.tpl.php:60
msgid "Automatically remove the original image backups after fetching optimized images."
msgstr ""
#: tpl/img_optm/settings.tpl.php:65
#: tpl/img_optm/summary.tpl.php:244
#: tpl/page_optm/settings_media.tpl.php:308
msgid "This is irreversible."
msgstr ""
#: tpl/img_optm/settings.tpl.php:66
#: tpl/img_optm/summary.tpl.php:245
msgid "You will be unable to Revert Optimization once the backups are deleted!"
msgstr ""
#: tpl/img_optm/settings.tpl.php:80
msgid "Optimize images using lossless compression."
msgstr ""
#: tpl/img_optm/settings.tpl.php:81
msgid "This can improve quality but may result in larger images than lossy compression will."
msgstr ""
#: tpl/img_optm/settings.tpl.php:104
msgid "No sizes found."
msgstr ""
#: tpl/img_optm/settings.tpl.php:107
msgid "Choose which image sizes to optimize."
msgstr ""
#: tpl/img_optm/settings.tpl.php:120
msgid "Preserve EXIF data (copyright, GPS, comments, keywords, etc) when optimizing."
msgstr ""
#: tpl/img_optm/settings.tpl.php:121
msgid "This will increase the size of optimized files."
msgstr ""
#: tpl/img_optm/settings.tpl.php:149
msgid "Specify which element attributes will be replaced with WebP/AVIF."
msgstr ""
#: tpl/img_optm/settings.tpl.php:165
msgid "Enable replacement of WebP/AVIF in %s elements that were generated outside of WordPress logic."
msgstr ""
#: tpl/img_optm/summary.tpl.php:58
msgid "Optimize images with our QUIC.cloud server"
msgstr ""
#: tpl/img_optm/summary.tpl.php:63
msgid "You can request a maximum of %s images at once."
msgstr ""
#: tpl/img_optm/summary.tpl.php:68
msgid "To make sure our server can communicate with your server without any issues and everything works fine, for the few first requests the number of image groups allowed in a single request is limited."
msgstr ""
#: tpl/img_optm/summary.tpl.php:69
msgid "Current limit is"
msgstr ""
#: tpl/img_optm/summary.tpl.php:77
#: tpl/page_optm/settings_css.tpl.php:156
#: tpl/page_optm/settings_css.tpl.php:293
#: tpl/page_optm/settings_vpi.tpl.php:101
msgid "Available after %d second(s)"
msgstr ""
#: tpl/img_optm/summary.tpl.php:93
msgid "Only press the button if the pull cron job is disabled."
msgstr ""
#: tpl/img_optm/summary.tpl.php:93
msgid "Images will be pulled automatically if the cron job is running."
msgstr ""
#: tpl/img_optm/summary.tpl.php:102
msgid "Pull Images"
msgstr ""
#: tpl/img_optm/summary.tpl.php:108
msgid "Optimization Status"
msgstr ""
#: tpl/img_optm/summary.tpl.php:141
msgid "After the QUIC.cloud Image Optimization server finishes optimization, it will notify your site to pull the optimized images."
msgstr ""
#: tpl/img_optm/summary.tpl.php:142
msgid "This process is automatic."
msgstr ""
#: tpl/img_optm/summary.tpl.php:156
msgid "Last pull initiated by cron at %s."
msgstr ""
#: tpl/img_optm/summary.tpl.php:184
msgid "Storage Optimization"
msgstr ""
#: tpl/img_optm/summary.tpl.php:188
msgid "A backup of each image is saved before it is optimized."
msgstr ""
#: tpl/img_optm/summary.tpl.php:194
msgid "Last calculated"
msgstr ""
#: tpl/img_optm/summary.tpl.php:198
#: tpl/img_optm/summary.tpl.php:256
msgid "Files"
msgstr ""
#: tpl/img_optm/summary.tpl.php:208
msgid "Calculate Original Image Storage"
msgstr ""
#: tpl/img_optm/summary.tpl.php:217
msgid "Calculate Backups Disk Space"
msgstr ""
#: tpl/img_optm/summary.tpl.php:224
msgid "Image Thumbnail Group Sizes"
msgstr ""
#: tpl/img_optm/summary.tpl.php:241
msgid "Delete all backups of the original images"
msgstr ""
#: tpl/img_optm/summary.tpl.php:253
#: tpl/page_optm/settings_localization.tpl.php:70
msgid "Last ran"
msgstr ""
#: tpl/img_optm/summary.tpl.php:259
msgid "Saved"
msgstr ""
#: tpl/img_optm/summary.tpl.php:264
msgid "Are you sure you want to remove all image backups?"
msgstr ""
#: tpl/img_optm/summary.tpl.php:265
msgid "Remove Original Image Backups"
msgstr ""
#: tpl/img_optm/summary.tpl.php:276
msgid "Image Information"
msgstr ""
#: tpl/img_optm/summary.tpl.php:285
msgid "Image groups total"
msgstr ""
#: tpl/img_optm/summary.tpl.php:289
msgid "Congratulations, all gathered!"
msgstr ""
#: tpl/img_optm/summary.tpl.php:291
msgid "What is a group?"
msgstr ""
#: tpl/img_optm/summary.tpl.php:293
msgid "What is an image group?"
msgstr ""
#: tpl/img_optm/summary.tpl.php:297
#: tpl/img_optm/summary.tpl.php:372
msgid "Current image post id position"
msgstr ""
#: tpl/img_optm/summary.tpl.php:298
msgid "Maximum image post id"
msgstr ""
#: tpl/img_optm/summary.tpl.php:304
msgid "Scan for any new unoptimized image thumbnail sizes and resend necessary image optimization requests."
msgstr ""
#: tpl/img_optm/summary.tpl.php:305
msgid "Rescan New Thumbnails"
msgstr ""
#: tpl/img_optm/summary.tpl.php:313
msgid "Optimization Summary"
msgstr ""
#: tpl/img_optm/summary.tpl.php:325
msgid "Last Pulled"
msgstr ""
#. translators: %s: Link tags
#: tpl/img_optm/summary.tpl.php:337
msgid "Results can be checked in %sMedia Library%s."
msgstr ""
#: tpl/img_optm/summary.tpl.php:347
msgid "Optimization Tools"
msgstr ""
#: tpl/img_optm/summary.tpl.php:350
msgid "You can quickly switch between using original (unoptimized versions) and optimized image files. It will affect all images on your website, both regular and webp versions if available."
msgstr ""
#: tpl/img_optm/summary.tpl.php:355
msgid "Use original images (unoptimized) on your site"
msgstr ""
#: tpl/img_optm/summary.tpl.php:356
msgid "Use Original Files"
msgstr ""
#: tpl/img_optm/summary.tpl.php:359
msgid "Switch back to using optimized images on your site"
msgstr ""
#: tpl/img_optm/summary.tpl.php:360
msgid "Use Optimized Files"
msgstr ""
#: tpl/img_optm/summary.tpl.php:372
msgid "This will reset the %1$s. If you changed WebP/AVIF settings and want to generate %2$s for the previously optimized images, use this action."
msgstr ""
#: tpl/img_optm/summary.tpl.php:377
msgid "Are you sure to destroy all optimized images?"
msgstr ""
#: tpl/img_optm/summary.tpl.php:382
msgid "Remove all previous image optimization requests/results, revert completed optimizations, and delete all optimization files."
msgstr ""
#: tpl/inc/admin_footer.php:17
msgid "Rate %1$s on %2$s"
msgstr ""
#: tpl/inc/admin_footer.php:19
msgid "Read LiteSpeed Documentation"
msgstr ""
#: tpl/inc/admin_footer.php:21
msgid "Visit LSCWP support forum"
msgstr ""
#: tpl/inc/admin_footer.php:23
msgid "Join LiteSpeed Slack community"
msgstr ""
#: tpl/inc/check_cache_disabled.php:20
msgid "To use the caching functions you must have a LiteSpeed web server or be using QUIC.cloud CDN."
msgstr ""
#: tpl/inc/check_cache_disabled.php:25
msgid "Please enable the LSCache Module at the server level, or ask your hosting provider."
msgstr ""
#: tpl/inc/check_cache_disabled.php:31
msgid "Please enable LiteSpeed Cache in the plugin settings."
msgstr ""
#: tpl/inc/check_cache_disabled.php:40
msgid "LSCache caching functions on this page are currently unavailable!"
msgstr ""
#: tpl/inc/check_if_network_disable_all.php:30
msgid "The network admin selected use primary site configs for all subsites."
msgstr ""
#: tpl/inc/check_if_network_disable_all.php:31
msgid "The following options are selected, but are not editable in this settings page."
msgstr ""
#: tpl/inc/in_upgrading.php:15
msgid "LiteSpeed cache plugin upgraded. Please refresh the page to complete the configuration data upgrade."
msgstr ""
#: tpl/inc/modal.deactivation.php:22
msgid "The deactivation is temporary"
msgstr ""
#: tpl/inc/modal.deactivation.php:28
msgid "Site performance is worse"
msgstr ""
#: tpl/inc/modal.deactivation.php:33
msgid "Plugin is too complicated"
msgstr ""
#: tpl/inc/modal.deactivation.php:38
msgid "Other"
msgstr ""
#: tpl/inc/modal.deactivation.php:47
msgid "Why are you deactivating the plugin?"
msgstr ""
#: tpl/inc/modal.deactivation.php:60
msgid "On uninstall, all plugin settings will be deleted."
msgstr ""
#: tpl/inc/modal.deactivation.php:68
msgid "If you have used Image Optimization, please %sDestroy All Optimization Data%s first. NOTE: this does not remove your optimized images."
msgstr ""
#: tpl/inc/modal.deactivation.php:76
msgid "Deactivate"
msgstr ""
#: tpl/inc/modal.deactivation.php:76
msgid "Deactivate plugin"
msgstr ""
#: tpl/inc/modal.deactivation.php:77
msgid "Close popup"
msgstr ""
#: tpl/inc/show_display_installed.php:26
msgid "LiteSpeed Cache plugin is installed!"
msgstr ""
#: tpl/inc/show_display_installed.php:27
msgid "This message indicates that the plugin was installed by the server admin."
msgstr ""
#: tpl/inc/show_display_installed.php:28
msgid "The LiteSpeed Cache plugin is used to cache pages - a simple way to improve the performance of the site."
msgstr ""
#: tpl/inc/show_display_installed.php:29
msgid "However, there is no way of knowing all the possible customizations that were implemented."
msgstr ""
#: tpl/inc/show_display_installed.php:30
msgid "For that reason, please test the site to make sure everything still functions properly."
msgstr ""
#: tpl/inc/show_display_installed.php:31
msgid "Examples of test cases include:"
msgstr ""
#: tpl/inc/show_display_installed.php:32
msgid "Visit the site while logged out."
msgstr ""
#: tpl/inc/show_display_installed.php:33
msgid "Create a post, make sure the front page is accurate."
msgstr ""
#. translators: %s: Link tags
#: tpl/inc/show_display_installed.php:37
msgid "If there are any questions, the team is always happy to answer any questions on the %ssupport forum%s."
msgstr ""
#: tpl/inc/show_display_installed.php:41
msgid "If you would rather not move at litespeed, you can deactivate this plugin."
msgstr ""
#: tpl/inc/show_error_cookie.php:16
msgid "NOTICE: Database login cookie did not match your login cookie."
msgstr ""
#: tpl/inc/show_error_cookie.php:18
msgid "If the login cookie was recently changed in the settings, please log out and back in."
msgstr ""
#: tpl/inc/show_error_cookie.php:21
msgid "If not, please verify the setting in the %sAdvanced tab%s."
msgstr ""
#: tpl/inc/show_error_cookie.php:27
msgid "If using OpenLiteSpeed, the server must be restarted once for the changes to take effect."
msgstr ""
#: tpl/inc/show_rule_conflict.php:16
msgid "Unexpected cache rule %2$s found in %1$s file. This rule may cause visitors to see old versions of pages due to the browser caching HTML pages. If you are sure that HTML pages are not being browser cached, this message can be dismissed. (%3$sLearn More%4$s)"
msgstr ""
#: tpl/optimax/entry.tpl.php:16
msgid "OptimaX Summary"
msgstr ""
#: tpl/optimax/entry.tpl.php:17
#: tpl/optimax/entry.tpl.php:22
#: tpl/optimax/settings.tpl.php:19
msgid "OptimaX Settings"
msgstr ""
#: tpl/optimax/entry.tpl.php:30
msgid "LiteSpeed Cache OptimaX"
msgstr ""
#: tpl/optimax/settings.tpl.php:34
msgid "Turn on OptimaX. This will automatically request your pages OptimaX result via cron job."
msgstr ""
#: tpl/page_optm/entry.tpl.php:16
#: tpl/page_optm/settings_css.tpl.php:31
msgid "CSS Settings"
msgstr ""
#: tpl/page_optm/entry.tpl.php:17
#: tpl/page_optm/settings_js.tpl.php:17
msgid "JS Settings"
msgstr ""
#: tpl/page_optm/entry.tpl.php:18
#: tpl/page_optm/settings_html.tpl.php:17
msgid "HTML Settings"
msgstr ""
#: tpl/page_optm/entry.tpl.php:19
#: tpl/page_optm/settings_media.tpl.php:26
msgid "Media Settings"
msgstr ""
#: tpl/page_optm/entry.tpl.php:20
msgid "VPI"
msgstr ""
#: tpl/page_optm/entry.tpl.php:21
#: tpl/page_optm/settings_media_exc.tpl.php:17
msgid "Media Excludes"
msgstr ""
#: tpl/page_optm/entry.tpl.php:22
msgid "Localization"
msgstr ""
#: tpl/page_optm/entry.tpl.php:23
#: tpl/page_optm/entry.tpl.php:24
msgid "Tuning"
msgstr ""
#: tpl/page_optm/entry.tpl.php:31
msgid "LiteSpeed Cache Page Optimization"
msgstr ""
#: tpl/page_optm/entry.tpl.php:43
msgid "Please test thoroughly when enabling any option in this list. After changing Minify/Combine settings, please do a Purge All action."
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:46
msgid "Minify CSS files and inline CSS code."
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:60
msgid "Combine CSS files and inline CSS code."
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:61
#: tpl/page_optm/settings_js.tpl.php:48
msgid "How to Fix Problems Caused by CSS/JS Optimization."
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:82
msgid "Use QUIC.cloud online service to generate unique CSS."
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:83
msgid "This will drop the unused CSS on each page from the combined file."
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:85
msgid "Automatic generation of unique CSS is in the background via a cron-based queue."
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:87
msgid "Filter %s available for UCSS per page type generation."
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:93
msgid "This option is bypassed because %1$s option is %2$s."
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:102
#: tpl/page_optm/settings_css.tpl.php:239
#: tpl/page_optm/settings_media.tpl.php:188
#: tpl/page_optm/settings_vpi.tpl.php:53
msgid "Last generated"
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:105
#: tpl/page_optm/settings_css.tpl.php:242
msgid "Last requested cost"
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:117
#: tpl/page_optm/settings_css.tpl.php:254
#: tpl/page_optm/settings_vpi.tpl.php:65
msgid "URL list in %s queue waiting for cron"
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:118
#: tpl/page_optm/settings_css.tpl.php:255
#: tpl/page_optm/settings_media.tpl.php:201
#: tpl/page_optm/settings_vpi.tpl.php:66
msgid "Clear"
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:155
#: tpl/page_optm/settings_css.tpl.php:160
#: tpl/page_optm/settings_css.tpl.php:292
#: tpl/page_optm/settings_css.tpl.php:297
#: tpl/page_optm/settings_vpi.tpl.php:100
#: tpl/page_optm/settings_vpi.tpl.php:105
msgid "Run %s Queue Manually"
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:178
msgid "Inline UCSS to reduce the extra CSS file loading. This option will not be automatically turned on for %1$s pages. To use it on %1$s pages, please set it to ON."
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:181
msgid "This option will automatically bypass %s option."
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:195
msgid "Include external CSS and inline CSS in combined file when %1$s is also enabled. This option helps maintain the priorities of CSS, which should minimize potential errors caused by CSS Combine."
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:215
msgid "Optimize CSS delivery."
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:216
#: tpl/page_optm/settings_html.tpl.php:175
#: tpl/page_optm/settings_js.tpl.php:81
msgid "This can improve your speed score in services like Pingdom, GTmetrix and PageSpeed."
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:217
msgid "Use QUIC.cloud online service to generate critical CSS and load remaining CSS asynchronously."
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:219
msgid "Automatic generation of critical CSS is in the background via a cron-based queue."
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:220
msgid "When this option is turned %s, it will also load Google Fonts asynchronously."
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:224
msgid "Elements with attribute %s in HTML code will be excluded."
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:230
msgid "This option is bypassed due to %s option."
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:314
msgid "Disable this option to generate CCSS per Post Type instead of per page. This can save significant CCSS quota, however it may result in incorrect CSS styling if your site uses a page builder."
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:327
msgid "This will inline the asynchronous CSS library to avoid render blocking."
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:338
msgid "Default"
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:340
msgid "Set this to append %1$s to all %2$s rules before caching CSS to specify how fonts should be displayed while being downloaded."
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:341
msgid "%s is recommended."
msgstr ""
#: tpl/page_optm/settings_css.tpl.php:341
msgid "Swap"
msgstr ""
#: tpl/page_optm/settings_html.tpl.php:31
msgid "Minify HTML content."
msgstr ""
#: tpl/page_optm/settings_html.tpl.php:44
msgid "Prefetching DNS can reduce latency for visitors."
msgstr ""
#: tpl/page_optm/settings_html.tpl.php:45
#: tpl/page_optm/settings_html.tpl.php:76
msgid "For example"
msgstr ""
#: tpl/page_optm/settings_html.tpl.php:60
msgid "Automatically enable DNS prefetching for all URLs in the document, including images, CSS, JavaScript, and so forth."
msgstr ""
#: tpl/page_optm/settings_html.tpl.php:61
msgid "This can improve the page loading speed."
msgstr ""
#: tpl/page_optm/settings_html.tpl.php:75
msgid "Preconnecting speeds up future loads from a given origin."
msgstr ""
#: tpl/page_optm/settings_html.tpl.php:91
msgid "Delay rendering off-screen HTML elements by its selector."
msgstr ""
#: tpl/page_optm/settings_html.tpl.php:106
msgid "When minifying HTML do not discard comments that match a specified pattern."
msgstr ""
#: tpl/page_optm/settings_html.tpl.php:108
msgid "If comment to be kept is like: %1$s write: %2$s"
msgstr ""
#: tpl/page_optm/settings_html.tpl.php:123
msgid "Remove query strings from internal static resources."
msgstr ""
#: tpl/page_optm/settings_html.tpl.php:127
msgid "Google reCAPTCHA will be bypassed automatically."
msgstr ""
#: tpl/page_optm/settings_html.tpl.php:132
msgid "Append query string %s to the resources to bypass this action."
msgstr ""
#: tpl/page_optm/settings_html.tpl.php:146
msgid "Use Web Font Loader library to load Google Fonts asynchronously while leaving other CSS intact."
msgstr ""
#: tpl/page_optm/settings_html.tpl.php:147
msgid "This will also add a preconnect to Google Fonts to establish a connection earlier."
msgstr ""
#: tpl/page_optm/settings_html.tpl.php:161
msgid "Prevent Google Fonts from loading on all pages."
msgstr ""
#: tpl/page_optm/settings_html.tpl.php:174
msgid "Stop loading WordPress.org emoji. Browser default emoji will be displayed instead."
msgstr ""
#: tpl/page_optm/settings_html.tpl.php:188
msgid "This option will remove all %s tags from HTML."
msgstr ""
#: tpl/page_optm/settings_js.tpl.php:33
msgid "Minify JS files and inline JS codes."
msgstr ""
#: tpl/page_optm/settings_js.tpl.php:47
msgid "Combine all local JS files into a single file."
msgstr ""
#: tpl/page_optm/settings_js.tpl.php:51
#: tpl/page_optm/settings_js.tpl.php:85
msgid "This option may result in a JS error or layout issue on frontend pages with certain themes/plugins."
msgstr ""
#: tpl/page_optm/settings_js.tpl.php:52
msgid "JS error can be found from the developer console of browser by right clicking and choosing Inspect."
msgstr ""
#: tpl/page_optm/settings_js.tpl.php:66
msgid "Include external JS and inline JS in combined file when %1$s is also enabled. This option helps maintain the priorities of JS execution, which should minimize potential errors caused by JS Combine."
msgstr ""
#: tpl/page_optm/settings_js.tpl.php:77
msgid "Deferred"
msgstr ""
#: tpl/page_optm/settings_js.tpl.php:77
msgid "Delayed"
msgstr ""
#: tpl/page_optm/settings_js.tpl.php:79
msgid "Deferring until page is parsed or delaying till interaction can help reduce resource contention and improve performance causing a lower FID (Core Web Vitals metric)."
msgstr ""
#: tpl/page_optm/settings_localization.tpl.php:26
msgid "Failed to create Avatar table. Please follow Table Creation guidance from LiteSpeed Wiki to finish setup."
msgstr ""
#: tpl/page_optm/settings_localization.tpl.php:36
msgid "Localization Settings"
msgstr ""
#: tpl/page_optm/settings_localization.tpl.php:49
msgid "Store Gravatar locally."
msgstr ""
#: tpl/page_optm/settings_localization.tpl.php:50
msgid "Accelerates the speed by caching Gravatar (Globally Recognized Avatars)."
msgstr ""
#: tpl/page_optm/settings_localization.tpl.php:63
msgid "Refresh Gravatar cache by cron."
msgstr ""
#: tpl/page_optm/settings_localization.tpl.php:76
msgid "Avatar list in queue waiting for update"
msgstr ""
#: tpl/page_optm/settings_localization.tpl.php:81
#: tpl/page_optm/settings_media.tpl.php:218
msgid "Run Queue Manually"
msgstr ""
#: tpl/page_optm/settings_localization.tpl.php:98
msgid "Specify how long, in seconds, Gravatar files are cached."
msgstr ""
#: tpl/page_optm/settings_localization.tpl.php:113
msgid "Localize external resources."
msgstr ""
#: tpl/page_optm/settings_localization.tpl.php:117
msgid "Please thoroughly test all items in %s to ensure they function as expected."
msgstr ""
#: tpl/page_optm/settings_localization.tpl.php:139
msgid "Resources listed here will be copied and replaced with local URLs."
msgstr ""
#: tpl/page_optm/settings_localization.tpl.php:140
msgid "HTTPS sources only."
msgstr ""
#: tpl/page_optm/settings_localization.tpl.php:144
msgid "Comments are supported. Start a line with a %s to turn it into a comment line."
msgstr ""
#: tpl/page_optm/settings_localization.tpl.php:146
#: tpl/toolbox/beta_test.tpl.php:51
msgid "Example"
msgstr ""
#: tpl/page_optm/settings_localization.tpl.php:150
msgid "Please thoroughly test each JS file you add to ensure it functions as expected."
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:40
msgid "Load images only when they enter the viewport."
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:41
#: tpl/page_optm/settings_media.tpl.php:235
msgid "This can improve page loading time by reducing initial HTTP requests."
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:45
msgid "Adding Style to Your Lazy-Loaded Images"
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:59
msgid "Specify a base64 image to be used as a simple placeholder while images finish loading."
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:60
msgid "This can be predefined in %2$s as well using constant %1$s, with this setting taking priority."
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:61
msgid "By default a gray image placeholder %s will be used."
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:62
msgid "For example, %s can be used for a transparent placeholder."
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:76
msgid "Responsive image placeholders can help to reduce layout reshuffle when images are loaded."
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:77
msgid "This will generate the placeholder with same dimensions as the image if it has the width and height attributes."
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:90
msgid "Specify an SVG to be used as a placeholder when generating locally."
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:91
msgid "It will be converted to a base64 SVG placeholder on-the-fly."
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:92
msgid "Variables %s will be replaced with the corresponding image properties."
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:93
msgid "Variables %s will be replaced with the configured background color."
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:107
msgid "Specify the responsive placeholder SVG color."
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:122
msgid "Use QUIC.cloud LQIP (Low Quality Image Placeholder) generator service for responsive image previews while loading."
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:123
msgid "Keep this off to use plain color placeholders."
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:137
msgid "Specify the quality when generating LQIP."
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:138
msgid "Larger number will generate higher resolution quality placeholder, but will result in larger files which will increase page size and consume more points."
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:141
msgid "Changes to this setting do not apply to already-generated LQIPs. To regenerate existing LQIPs, please %s first from the admin bar menu."
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:154
msgid "pixels"
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:156
msgid "LQIP requests will not be sent for images where both width and height are smaller than these dimensions."
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:172
msgid "Automatically generate LQIP in the background via a cron-based queue."
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:175
msgid "If set to %1$s, before the placeholder is localized, the %2$s configuration will be used."
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:180
msgid "If set to %s this is done in the foreground, which may slow down page load."
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:200
msgid "Size list in queue waiting for cron"
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:234
msgid "Load iframes only when they enter the viewport."
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:248
msgid "Set an explicit width and height on image elements to reduce layout shifts and improve CLS (a Core Web Vitals metric)."
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:259
msgid "Use %1$s to bypass remote image dimension check when %2$s is ON."
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:274
msgid "The image compression quality setting of WordPress out of 100."
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:289
msgid "Automatically replace large images with scaled versions."
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:290
msgid "Scaled size threshold"
msgstr ""
#: tpl/page_optm/settings_media.tpl.php:296
msgid "Filter %s available to change threshold."
msgstr ""
#: tpl/page_optm/settings_media_exc.tpl.php:31
msgid "Listed images will not be lazy loaded."
msgstr ""
#: tpl/page_optm/settings_media_exc.tpl.php:34
msgid "Useful for above-the-fold images causing CLS (a Core Web Vitals metric)."
msgstr ""
#: tpl/page_optm/settings_media_exc.tpl.php:38
#: tpl/page_optm/settings_tuning.tpl.php:70
#: tpl/page_optm/settings_tuning.tpl.php:91
#: tpl/page_optm/settings_tuning.tpl.php:112
#: tpl/page_optm/settings_tuning_css.tpl.php:37
msgid "Elements with attribute %s in html code will be excluded."
msgstr ""
#: tpl/page_optm/settings_media_exc.tpl.php:60
msgid "Images containing these class names will not be lazy loaded."
msgstr ""
#: tpl/page_optm/settings_media_exc.tpl.php:75
msgid "Images having these parent class names will not be lazy loaded."
msgstr ""
#: tpl/page_optm/settings_media_exc.tpl.php:89
msgid "Iframes containing these class names will not be lazy loaded."
msgstr ""
#: tpl/page_optm/settings_media_exc.tpl.php:104
msgid "Iframes having these parent class names will not be lazy loaded."
msgstr ""
#: tpl/page_optm/settings_media_exc.tpl.php:118
msgid "Prevent any lazy load of listed pages."
msgstr ""
#: tpl/page_optm/settings_media_exc.tpl.php:132
msgid "These images will not generate LQIP."
msgstr ""
#: tpl/page_optm/settings_tuning.tpl.php:29
msgid "Tuning Settings"
msgstr ""
#: tpl/page_optm/settings_tuning.tpl.php:43
msgid "Listed JS files or inline JS code will be delayed."
msgstr ""
#: tpl/page_optm/settings_tuning.tpl.php:63
msgid "Listed JS files or inline JS code will not be minified or combined."
msgstr ""
#: tpl/page_optm/settings_tuning.tpl.php:71
#: tpl/page_optm/settings_tuning.tpl.php:92
msgid "Predefined list will also be combined with the above settings."
msgstr ""
#: tpl/page_optm/settings_tuning.tpl.php:85
msgid "Listed JS files or inline JS code will not be deferred or delayed."
msgstr ""
#: tpl/page_optm/settings_tuning.tpl.php:106
msgid "Listed JS files or inline JS code will not be optimized by %s."
msgstr ""
#: tpl/page_optm/settings_tuning.tpl.php:126
msgid "Prevent any optimization of listed pages."
msgstr ""
#: tpl/page_optm/settings_tuning.tpl.php:144
msgid "Only optimize pages for guest (not logged in) visitors. If turned this OFF, CSS/JS/CCSS files will be doubled by each user group."
msgstr ""
#: tpl/page_optm/settings_tuning.tpl.php:156
msgid "Selected roles will be excluded from all optimizations."
msgstr ""
#: tpl/page_optm/settings_tuning_css.tpl.php:17
msgid "Tuning CSS Settings"
msgstr ""
#: tpl/page_optm/settings_tuning_css.tpl.php:31
msgid "Listed CSS files or inline CSS code will not be minified or combined."
msgstr ""
#: tpl/page_optm/settings_tuning_css.tpl.php:38
msgid "Predefined list will also be combined with the above settings"
msgstr ""
#: tpl/page_optm/settings_tuning_css.tpl.php:52
msgid "Listed CSS files will be excluded from UCSS and saved to inline."
msgstr ""
#: tpl/page_optm/settings_tuning_css.tpl.php:67
msgid "List the CSS selectors whose styles should always be included in UCSS."
msgstr ""
#: tpl/page_optm/settings_tuning_css.tpl.php:70
#: tpl/page_optm/settings_tuning_css.tpl.php:145
msgid "Wildcard %s supported."
msgstr ""
#: tpl/page_optm/settings_tuning_css.tpl.php:74
msgid "The selector must exist in the CSS. Parent classes in the HTML will not work."
msgstr ""
#: tpl/page_optm/settings_tuning_css.tpl.php:92
msgid "Listed URI will not generate UCSS."
msgstr ""
#: tpl/page_optm/settings_tuning_css.tpl.php:99
msgid "Use %1$s to generate one single UCSS for the pages which page type is %2$s while other page types still per URL."
msgstr ""
#: tpl/page_optm/settings_tuning_css.tpl.php:100
msgid "Use %1$s to bypass UCSS for the pages which page type is %2$s."
msgstr ""
#: tpl/page_optm/settings_tuning_css.tpl.php:113
msgid "List post types where each item of that type should have its own CCSS generated."
msgstr ""
#: tpl/page_optm/settings_tuning_css.tpl.php:114
msgid "For example, if every Page on the site has different formatting, enter %s in the box. Separate critical CSS files will be stored for every Page on the site."
msgstr ""
#: tpl/page_optm/settings_tuning_css.tpl.php:128
msgid "Separate critical CSS files will be generated for paths containing these strings."
msgstr ""
#: tpl/page_optm/settings_tuning_css.tpl.php:142
msgid "List the CSS selectors whose styles should always be included in CCSS."
msgstr ""
#: tpl/page_optm/settings_tuning_css.tpl.php:149
msgid "Selectors must exist in the CSS. Parent classes in the HTML will not work."
msgstr ""
#: tpl/page_optm/settings_tuning_css.tpl.php:167
msgid "Specify critical CSS rules for above-the-fold content when enabling %s."
msgstr ""
#: tpl/page_optm/settings_vpi.tpl.php:37
msgid "When you use Lazy Load, it will delay the loading of all images on a page."
msgstr ""
#: tpl/page_optm/settings_vpi.tpl.php:38
msgid "The Viewport Images service detects which images appear above the fold, and excludes them from lazy load."
msgstr ""
#: tpl/page_optm/settings_vpi.tpl.php:39
msgid "This enables the page's initial screenful of imagery to be fully displayed without delay."
msgstr ""
#: tpl/page_optm/settings_vpi.tpl.php:122
msgid "Enable Viewport Images auto generation cron."
msgstr ""
#: tpl/presets/entry.tpl.php:16
msgid "Standard Presets"
msgstr ""
#: tpl/presets/entry.tpl.php:17
#: tpl/toolbox/entry.tpl.php:20
msgid "Import / Export"
msgstr ""
#: tpl/presets/entry.tpl.php:23
msgid "LiteSpeed Cache Configuration Presets"
msgstr ""
#: tpl/presets/standard.tpl.php:17
msgid "Essentials"
msgstr ""
#: tpl/presets/standard.tpl.php:19
msgid "Default Cache"
msgstr ""
#: tpl/presets/standard.tpl.php:20
msgid "Higher TTL"
msgstr ""
#: tpl/presets/standard.tpl.php:24
msgid "This no-risk preset is appropriate for all websites. Good for new users, simple websites, or cache-oriented development."
msgstr ""
#: tpl/presets/standard.tpl.php:25
msgid "A QUIC.cloud connection is not required to use this preset. Only basic caching features are enabled."
msgstr ""
#: tpl/presets/standard.tpl.php:29
#: tpl/toolbox/settings-debug.tpl.php:117
msgid "Basic"
msgstr ""
#: tpl/presets/standard.tpl.php:31
msgid "Everything in Essentials, Plus"
msgstr ""
#: tpl/presets/standard.tpl.php:33
msgid "Mobile Cache"
msgstr ""
#: tpl/presets/standard.tpl.php:36
msgid "This low-risk preset introduces basic optimizations for speed and user experience. Appropriate for enthusiastic beginners."
msgstr ""
#: tpl/presets/standard.tpl.php:37
msgid "A QUIC.cloud connection is required to use this preset. Includes optimizations known to improve site score in page speed measurement tools."
msgstr ""
#: tpl/presets/standard.tpl.php:41
msgid "Advanced (Recommended)"
msgstr ""
#: tpl/presets/standard.tpl.php:43
msgid "Everything in Basic, Plus"
msgstr ""
#: tpl/presets/standard.tpl.php:44
msgid "Guest Mode and Guest Optimization"
msgstr ""
#: tpl/presets/standard.tpl.php:45
msgid "CSS, JS and HTML Minification"
msgstr ""
#: tpl/presets/standard.tpl.php:47
msgid "JS Defer for both external and inline JS"
msgstr ""
#: tpl/presets/standard.tpl.php:48
msgid "DNS Prefetch for static files"
msgstr ""
#: tpl/presets/standard.tpl.php:50
msgid "Remove Query Strings from Static Files"
msgstr ""
#: tpl/presets/standard.tpl.php:55
msgid "This preset is good for most websites, and is unlikely to cause conflicts. Any CSS or JS conflicts may be resolved with Page Optimization > Tuning tools."
msgstr ""
#: tpl/presets/standard.tpl.php:56
#: tpl/presets/standard.tpl.php:70
msgid "A QUIC.cloud connection is required to use this preset. Includes many optimizations known to improve page speed scores."
msgstr ""
#: tpl/presets/standard.tpl.php:60
msgid "Aggressive"
msgstr ""
#: tpl/presets/standard.tpl.php:62
msgid "Everything in Advanced, Plus"
msgstr ""
#: tpl/presets/standard.tpl.php:63
msgid "CSS & JS Combine"
msgstr ""
#: tpl/presets/standard.tpl.php:64
msgid "Asynchronous CSS Loading with Critical CSS"
msgstr ""
#: tpl/presets/standard.tpl.php:65
msgid "Removed Unused CSS for Users"
msgstr ""
#: tpl/presets/standard.tpl.php:66
msgid "Lazy Load for Iframes"
msgstr ""
#: tpl/presets/standard.tpl.php:69
msgid "This preset might work out of the box for some websites, but be sure to test! Some CSS or JS exclusions may be necessary in Page Optimization > Tuning."
msgstr ""
#: tpl/presets/standard.tpl.php:74
msgid "Extreme"
msgstr ""
#: tpl/presets/standard.tpl.php:76
msgid "Everything in Aggressive, Plus"
msgstr ""
#: tpl/presets/standard.tpl.php:77
msgid "Lazy Load for Images"
msgstr ""
#: tpl/presets/standard.tpl.php:78
msgid "Viewport Image Generation"
msgstr ""
#: tpl/presets/standard.tpl.php:79
msgid "JS Delayed"
msgstr ""
#: tpl/presets/standard.tpl.php:80
msgid "Inline JS added to Combine"
msgstr ""
#: tpl/presets/standard.tpl.php:81
msgid "Inline CSS added to Combine"
msgstr ""
#: tpl/presets/standard.tpl.php:84
msgid "This preset almost certainly will require testing and exclusions for some CSS, JS and Lazy Loaded images. Pay special attention to logos, or HTML-based slider images."
msgstr ""
#: tpl/presets/standard.tpl.php:85
msgid "A QUIC.cloud connection is required to use this preset. Enables the maximum level of optimizations for improved page speed scores."
msgstr ""
#: tpl/presets/standard.tpl.php:92
msgid "LiteSpeed Cache Standard Presets"
msgstr ""
#: tpl/presets/standard.tpl.php:96
msgid "Use an official LiteSpeed-designed Preset to configure your site in one click. Try no-risk caching essentials, extreme optimization, or something in between."
msgstr ""
#: tpl/presets/standard.tpl.php:121
msgid "Who should use this preset?"
msgstr ""
#: tpl/presets/standard.tpl.php:131
msgid "This will back up your current settings and replace them with the %1$s preset settings. Do you want to continue?"
msgstr ""
#: tpl/presets/standard.tpl.php:133
msgid "Apply Preset"
msgstr ""
#: tpl/presets/standard.tpl.php:152
msgid "unknown"
msgstr ""
#: tpl/presets/standard.tpl.php:163
msgid "History"
msgstr ""
#: tpl/presets/standard.tpl.php:173
msgid "Error: Failed to apply the settings %1$s"
msgstr ""
#: tpl/presets/standard.tpl.php:175
msgid "Restored backup settings %1$s"
msgstr ""
#: tpl/presets/standard.tpl.php:178
msgid "Applied the %1$s preset %2$s"
msgstr ""
#: tpl/presets/standard.tpl.php:189
msgid "Backup created %1$s before applying the %2$s preset"
msgstr ""
#: tpl/presets/standard.tpl.php:193
msgid "This will restore the backup settings created %1$s before applying the %2$s preset. Any changes made since then will be lost. Do you want to continue?"
msgstr ""
#: tpl/presets/standard.tpl.php:195
msgid "Restore Settings"
msgstr ""
#: tpl/toolbox/beta_test.tpl.php:36
msgid "Try GitHub Version"
msgstr ""
#: tpl/toolbox/beta_test.tpl.php:43
msgid "LiteSpeed Cache is disabled. This functionality will not work."
msgstr ""
#: tpl/toolbox/beta_test.tpl.php:48
msgid "Use this section to switch plugin versions. To beta test a GitHub commit, enter the commit URL in the field below."
msgstr ""
#: tpl/toolbox/beta_test.tpl.php:57
msgid "Use latest GitHub Dev commit"
msgstr ""
#: tpl/toolbox/beta_test.tpl.php:61
msgid "Use latest GitHub Master commit"
msgstr ""
#: tpl/toolbox/beta_test.tpl.php:65
#: tpl/toolbox/beta_test.tpl.php:81
msgid "Use latest WordPress release version"
msgstr ""
#: tpl/toolbox/beta_test.tpl.php:65
msgid "OR"
msgstr ""
#: tpl/toolbox/beta_test.tpl.php:73
msgid "Downgrade not recommended. May cause fatal error due to refactored code."
msgstr ""
#: tpl/toolbox/beta_test.tpl.php:78
msgid "Press the %s button to use the most recent GitHub commit. Master is for release candidate & Dev is for experimental testing."
msgstr ""
#: tpl/toolbox/beta_test.tpl.php:78
msgid "Use latest GitHub Dev/Master commit"
msgstr ""
#: tpl/toolbox/beta_test.tpl.php:81
msgid "Press the %s button to stop beta testing and go back to the current release from the WordPress Plugin Directory."
msgstr ""
#: tpl/toolbox/beta_test.tpl.php:85
msgid "In order to avoid an upgrade error, you must be using %1$s or later before you can upgrade to %2$s versions."
msgstr ""
#: tpl/toolbox/edit_htaccess.tpl.php:41
msgid "LiteSpeed Cache View .htaccess"
msgstr ""
#: tpl/toolbox/edit_htaccess.tpl.php:46
msgid ".htaccess Path"
msgstr ""
#: tpl/toolbox/edit_htaccess.tpl.php:53
msgid "Frontend .htaccess Path"
msgstr ""
#: tpl/toolbox/edit_htaccess.tpl.php:58
#: tpl/toolbox/edit_htaccess.tpl.php:76
msgid "Default path is"
msgstr ""
#: tpl/toolbox/edit_htaccess.tpl.php:62
#: tpl/toolbox/edit_htaccess.tpl.php:80
msgid "PHP Constant %s is supported."
msgstr ""
#: tpl/toolbox/edit_htaccess.tpl.php:63
#: tpl/toolbox/edit_htaccess.tpl.php:81
msgid "You can use this code %1$s in %2$s to specify the htaccess file path."
msgstr ""
#: tpl/toolbox/edit_htaccess.tpl.php:71
msgid "Backend .htaccess Path"
msgstr ""
#: tpl/toolbox/edit_htaccess.tpl.php:91
msgid "Current %s Contents"
msgstr ""
#: tpl/toolbox/entry.tpl.php:24
msgid "View .htaccess"
msgstr ""
#: tpl/toolbox/entry.tpl.php:28
msgid "Heartbeat"
msgstr ""
#: tpl/toolbox/entry.tpl.php:29
msgid "Report"
msgstr ""
#: tpl/toolbox/entry.tpl.php:33
#: tpl/toolbox/settings-debug.tpl.php:55
msgid "Debug Settings"
msgstr ""
#: tpl/toolbox/entry.tpl.php:34
msgid "Log View"
msgstr ""
#: tpl/toolbox/entry.tpl.php:35
msgid "Beta Test"
msgstr ""
#: tpl/toolbox/entry.tpl.php:41
msgid "LiteSpeed Cache Toolbox"
msgstr ""
#: tpl/toolbox/heartbeat.tpl.php:19
msgid "Heartbeat Control"
msgstr ""
#: tpl/toolbox/heartbeat.tpl.php:26
msgid "Disable WordPress interval heartbeat to reduce server load."
msgstr ""
#: tpl/toolbox/heartbeat.tpl.php:28
msgid "Disabling this may cause WordPress tasks triggered by AJAX to stop working."
msgstr ""
#: tpl/toolbox/heartbeat.tpl.php:43
msgid "Turn ON to control heartbeat on frontend."
msgstr ""
#: tpl/toolbox/heartbeat.tpl.php:56
#: tpl/toolbox/heartbeat.tpl.php:86
#: tpl/toolbox/heartbeat.tpl.php:116
msgid "Specify the %s heartbeat interval in seconds."
msgstr ""
#: tpl/toolbox/heartbeat.tpl.php:57
#: tpl/toolbox/heartbeat.tpl.php:87
#: tpl/toolbox/heartbeat.tpl.php:117
msgid "WordPress valid interval is %s seconds."
msgstr ""
#: tpl/toolbox/heartbeat.tpl.php:58
#: tpl/toolbox/heartbeat.tpl.php:88
#: tpl/toolbox/heartbeat.tpl.php:118
msgid "Set to %1$s to forbid heartbeat on %2$s."
msgstr ""
#: tpl/toolbox/heartbeat.tpl.php:73
msgid "Turn ON to control heartbeat on backend."
msgstr ""
#: tpl/toolbox/heartbeat.tpl.php:103
msgid "Turn ON to control heartbeat in backend editor."
msgstr ""
#: tpl/toolbox/import_export.tpl.php:19
msgid "Export Settings"
msgstr ""
#: tpl/toolbox/import_export.tpl.php:25
msgid "Export"
msgstr ""
#: tpl/toolbox/import_export.tpl.php:31
msgid "Last exported"
msgstr ""
#: tpl/toolbox/import_export.tpl.php:36
msgid "This will export all current LiteSpeed Cache settings and save them as a file."
msgstr ""
#: tpl/toolbox/import_export.tpl.php:40
msgid "Import Settings"
msgstr ""
#: tpl/toolbox/import_export.tpl.php:48
msgid "Import"
msgstr ""
#: tpl/toolbox/import_export.tpl.php:54
msgid "Last imported"
msgstr ""
#: tpl/toolbox/import_export.tpl.php:59
msgid "This will import settings from a file and override all current LiteSpeed Cache settings."
msgstr ""
#: tpl/toolbox/import_export.tpl.php:63
msgid "Reset All Settings"
msgstr ""
#: tpl/toolbox/import_export.tpl.php:67
msgid "This will reset all settings to default settings."
msgstr ""
#: tpl/toolbox/import_export.tpl.php:70
msgid "Are you sure you want to reset all settings back to the default settings?"
msgstr ""
#: tpl/toolbox/import_export.tpl.php:71
msgid "Reset Settings"
msgstr ""
#: tpl/toolbox/log_viewer.tpl.php:23
msgid "Purge Log"
msgstr ""
#: tpl/toolbox/log_viewer.tpl.php:28
msgid "Crawler Log"
msgstr ""
#: tpl/toolbox/log_viewer.tpl.php:35
msgid "LiteSpeed Logs"
msgstr ""
#: tpl/toolbox/log_viewer.tpl.php:46
#: tpl/toolbox/log_viewer.tpl.php:75
msgid "Clear Logs"
msgstr ""
#: tpl/toolbox/log_viewer.tpl.php:64
#: tpl/toolbox/report.tpl.php:62
msgid "Click to copy"
msgstr ""
#: tpl/toolbox/log_viewer.tpl.php:65
msgid "Copy Log"
msgstr ""
#: tpl/toolbox/purge.tpl.php:17
msgid "Purge Front Page"
msgstr ""
#: tpl/toolbox/purge.tpl.php:18
msgid "This will Purge Front Page only"
msgstr ""
#: tpl/toolbox/purge.tpl.php:23
msgid "Purge Pages"
msgstr ""
#: tpl/toolbox/purge.tpl.php:24
msgid "This will Purge Pages only"
msgstr ""
#: tpl/toolbox/purge.tpl.php:32
msgid "Purge %s Error"
msgstr ""
#: tpl/toolbox/purge.tpl.php:33
msgid "Purge %s error pages"
msgstr ""
#: tpl/toolbox/purge.tpl.php:41
msgid "Purge the LiteSpeed cache entries created by this plugin"
msgstr ""
#: tpl/toolbox/purge.tpl.php:48
msgid "This will purge all minified/combined CSS/JS entries only"
msgstr ""
#: tpl/toolbox/purge.tpl.php:56
msgid "Purge all the object caches"
msgstr ""
#: tpl/toolbox/purge.tpl.php:65
msgid "Reset the entire opcode cache"
msgstr ""
#: tpl/toolbox/purge.tpl.php:74
msgid "This will delete all generated critical CSS files"
msgstr ""
#: tpl/toolbox/purge.tpl.php:83
msgid "This will delete all generated unique CSS files"
msgstr ""
#: tpl/toolbox/purge.tpl.php:92
msgid "This will delete all localized resources"
msgstr ""
#: tpl/toolbox/purge.tpl.php:101
msgid "This will delete all generated image LQIP placeholder files"
msgstr ""
#: tpl/toolbox/purge.tpl.php:110
msgid "This will delete all generated Viewport Images"
msgstr ""
#: tpl/toolbox/purge.tpl.php:119
msgid "This will delete all cached Gravatar files"
msgstr ""
#: tpl/toolbox/purge.tpl.php:127
msgid "Purge the cache entries created by this plugin except for Critical CSS & Unique CSS & LQIP caches"
msgstr ""
#: tpl/toolbox/purge.tpl.php:136
msgid "Empty Entire Cache"
msgstr ""
#: tpl/toolbox/purge.tpl.php:137
msgid "Clears all cache entries related to this site, including other web applications."
msgstr ""
#: tpl/toolbox/purge.tpl.php:137
msgid "This action should only be used if things are cached incorrectly."
msgstr ""
#: tpl/toolbox/purge.tpl.php:141
msgid "This will clear EVERYTHING inside the cache."
msgstr ""
#: tpl/toolbox/purge.tpl.php:141
msgid "This may cause heavy load on the server."
msgstr ""
#: tpl/toolbox/purge.tpl.php:141
msgid "If only the WordPress site should be purged, use Purge All."
msgstr ""
#: tpl/toolbox/purge.tpl.php:185
msgid "Purge By..."
msgstr ""
#: tpl/toolbox/purge.tpl.php:188
msgid "Select below for \"Purge by\" options."
msgstr ""
#: tpl/toolbox/purge.tpl.php:197
msgid "Category"
msgstr ""
#: tpl/toolbox/purge.tpl.php:201
msgid "Post ID"
msgstr ""
#: tpl/toolbox/purge.tpl.php:205
msgid "Tag"
msgstr ""
#: tpl/toolbox/purge.tpl.php:214
msgid "Purge pages by category name - e.g. %2$s should be used for the URL %1$s."
msgstr ""
#: tpl/toolbox/purge.tpl.php:217
msgid "Purge pages by post ID."
msgstr ""
#: tpl/toolbox/purge.tpl.php:220
msgid "Purge pages by tag name - e.g. %2$s should be used for the URL %1$s."
msgstr ""
#: tpl/toolbox/purge.tpl.php:223
msgid "Purge pages by relative or full URL."
msgstr ""
#: tpl/toolbox/purge.tpl.php:224
msgid "e.g. Use %1$s or %2$s."
msgstr ""
#: tpl/toolbox/purge.tpl.php:234
msgid "Purge List"
msgstr ""
#: tpl/toolbox/report.tpl.php:38
msgid "Send to LiteSpeed"
msgstr ""
#: tpl/toolbox/report.tpl.php:40
msgid "Regenerate and Send a New Report"
msgstr ""
#: tpl/toolbox/report.tpl.php:48
msgid "To generate a passwordless link for LiteSpeed Support Team access, you must install %s."
msgstr ""
#: tpl/toolbox/report.tpl.php:51
msgid "Install DoLogin Security"
msgstr ""
#: tpl/toolbox/report.tpl.php:52
msgid "Go to plugins list"
msgstr ""
#: tpl/toolbox/report.tpl.php:58
msgid "LiteSpeed Report"
msgstr ""
#: tpl/toolbox/report.tpl.php:62
msgid "Last Report Number"
msgstr ""
#: tpl/toolbox/report.tpl.php:63
msgid "Last Report Date"
msgstr ""
#: tpl/toolbox/report.tpl.php:66
msgid "The environment report contains detailed information about the WordPress configuration."
msgstr ""
#: tpl/toolbox/report.tpl.php:68
msgid "If you run into any issues, please refer to the report number in your support message."
msgstr ""
#: tpl/toolbox/report.tpl.php:75
msgid "System Information"
msgstr ""
#: tpl/toolbox/report.tpl.php:87
msgid "Attach PHP info to report. Check this box to insert relevant data from %s."
msgstr ""
#: tpl/toolbox/report.tpl.php:96
msgid "Passwordless Link"
msgstr ""
#: tpl/toolbox/report.tpl.php:100
#: tpl/toolbox/report.tpl.php:102
msgid "Generate Link for Current User"
msgstr ""
#: tpl/toolbox/report.tpl.php:105
msgid "To grant wp-admin access to the LiteSpeed Support Team, please generate a passwordless link for the current logged-in user to be sent with the report."
msgstr ""
#: tpl/toolbox/report.tpl.php:107
msgid "Please do NOT share the above passwordless link with anyone."
msgstr ""
#. translators: %s: Link tags
#: tpl/toolbox/report.tpl.php:112
msgid "Generated links may be managed under %sSettings%s."
msgstr ""
#: tpl/toolbox/report.tpl.php:122
msgid "Notes"
msgstr ""
#: tpl/toolbox/report.tpl.php:126
msgid "Optional"
msgstr ""
#: tpl/toolbox/report.tpl.php:127
msgid "provide more information here to assist the LiteSpeed team with debugging."
msgstr ""
#: tpl/toolbox/report.tpl.php:139
msgid "Send this report to LiteSpeed. Refer to this report number when posting in the WordPress support forum."
msgstr ""
#: tpl/toolbox/settings-debug.tpl.php:19
msgid "Debug Helpers"
msgstr ""
#: tpl/toolbox/settings-debug.tpl.php:23
msgid "View Site Before Optimization"
msgstr ""
#: tpl/toolbox/settings-debug.tpl.php:27
msgid "View Site Before Cache"
msgstr ""
#: tpl/toolbox/settings-debug.tpl.php:37
msgid "Disable All Features for 24 Hours"
msgstr ""
#: tpl/toolbox/settings-debug.tpl.php:44
msgid "Remove `Disable All Feature` Flag Now"
msgstr ""
#: tpl/toolbox/settings-debug.tpl.php:48
msgid "LiteSpeed Cache is temporarily disabled until: %s."
msgstr ""
#: tpl/toolbox/settings-debug.tpl.php:69
msgid "This will disable LSCache and all optimization features for debug purpose."
msgstr ""
#: tpl/toolbox/settings-debug.tpl.php:80
msgid "Admin IP Only"
msgstr ""
#: tpl/toolbox/settings-debug.tpl.php:82
msgid "Outputs to a series of files in the %s directory."
msgstr ""
#: tpl/toolbox/settings-debug.tpl.php:83
msgid "To prevent filling up the disk, this setting should be OFF when everything is working."
msgstr ""
#: tpl/toolbox/settings-debug.tpl.php:84
msgid "The Admin IP option will only output log messages on requests from admin IPs listed below."
msgstr ""
#: tpl/toolbox/settings-debug.tpl.php:97
msgid "Allows listed IPs (one per line) to perform certain actions from their browsers."
msgstr ""
#: tpl/toolbox/settings-debug.tpl.php:98
msgid "Your IP"
msgstr ""
#: tpl/toolbox/settings-debug.tpl.php:104
msgid "More information about the available commands can be found here."
msgstr ""
#: tpl/toolbox/settings-debug.tpl.php:119
msgid "Advanced level will log more details."
msgstr ""
#: tpl/toolbox/settings-debug.tpl.php:130
msgid "MB"
msgstr ""
#: tpl/toolbox/settings-debug.tpl.php:132
msgid "Specify the maximum size of the log file."
msgstr ""
#: tpl/toolbox/settings-debug.tpl.php:147
msgid "Shorten query strings in the debug log to improve readability."
msgstr ""
#: tpl/toolbox/settings-debug.tpl.php:160
msgid "Only log listed pages."
msgstr ""
#: tpl/toolbox/settings-debug.tpl.php:174
msgid "Prevent any debug log of listed pages."
msgstr ""
#: tpl/toolbox/settings-debug.tpl.php:188
msgid "Prevent writing log entries that include listed strings."
msgstr ""
LICENSE 0000644 00000104515 15207571326 0005567 0 ustar 00 GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc.
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
Copyright (C)
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 .
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
Copyright (C)
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
.
changelog.txt 0000644 00000405261 15207571326 0007254 0 ustar 00
= 5.6 - Aug 1 2023 =
* 🌱**Page Optimize** New JS Delay Includes option. (Mitchell Krog/Gerard Reches/Ignacy Hołoga)
* **Crawler** Sitemap can use search for URL now.
* **GUI** Restrict the scope of balloon CSS rules to avoid conflicts. (#567)
* **Object Cache** Detect Memcached in more situations. (#568)
* **API** Support `litespeed_purged_front` hook. (Umberto Fiorelli)
= 5.5.1 - Jul 19 2023 =
* 🐞**Image Optimization** Fixed a bug where WebP replacements couldn't be pulled without optimizing the original images.
* 🐞**Image Optimization** Invalid images will now be removed when sending requests to the server. (#138993)
* **Cloud** Added support for error codes `unpulled_images` and `blocklisted`. (Tynan)
= 5.5 - Jun 20 2023 =
* 🌱**Crawler** Can now use multiple sitemaps. (Tobolo/Tim Nolte)
* 🌱**Crawler** Now runs asynchronously when manually invoked.
* 🌱**Crawler** Now runs asynchronously when invoked from cron.
* 🐞**Crawler** Fixed the realtime status bug when crawling.
* **Crawler** Summary page now displays server load. (Ruikai)
* 🐞**Page Optimize** Fixed an issue where UCSS could not be generated for error pages. (james58899) #556
* 🌱**Image Optimize** Now pulls images asynchronously.
* **Image Optimize** Now prevents concurrent requests via a locking mechanism.
* **Image Optimize** The process can now bypass invalid image records and continue.
* 🐞**Image Optimize** Fixed an issue where images ready for optimization might have to wait for new images to be added before sending the request.
* **Cloud** Replaced dashboard links with login/link to my.quic.cloud actions.
* **GUI** Added indicators to show when certain options are passively enabled by Guest Mode.
* **Htaccess** Added a noabort rule to support asynchronous crawling.
* **Htaccess** The "Do Not Cache User Agents" option is now case-insensitive. (Ellen Dabo)
* **General** The "Server IP" option now allows IPv4 format only. (Ruikai)
* **Misc** Every page's closing HTML comments now displays UCSS/CCSS status.
* **Object** Fixed a warning for null get_post_type_object.
* **Object** Object_Cache::delete now always returns a boolean value.
* **Cache** Fixed advanced-cache.php file warnings for WordPress versions less than 5.3.
* **Debug** Added debug logging to record the plugin's total processing time.
* **API** HTML minification can now be bypassed via the litespeed_html_min filter.
= 5.4 - Apr 19 2023 =
* **Image Optimize** Refactored DB storage for this feature.
* **Image Optimize** Reduced DB table size.
* **Image Optimize** Existing `img_optm` DB tables will have their data gradually transitioned to the new storage format with this update. Once an `img_optm` table is empty, it won't be used anymore.
* **Page Optimize** Enabled WebP support for Googlebot User Agent.
= 5.3.3 - Feb 22 2023 =
* **Page Optimize** Excluded Jetpack stats JS.
* **DB Optimize** Fixed DB Optm SQL for revision postmeta.
* **Cache** Fixed an undefined array key warning.
* **Purge** Prevented undefined array key warning when widgets are disabled.
* **Object** Fixed dynamic property deprecation warnings.
* **Admin** Safely redirect to homepage if referer is unknown.
* **Activation** Check that item slug exists first.
* **Cache** Prevented cache header to send globally if header part already closed.
* **CSS** Improved string handling for CSS minifier.
* **Debug** Fixed undefined array key warnings.
* **Misc** Fixed implicit conversion in random string generation function `Str::rrand`.
= 5.3.2 - Jan 10 2023 =
* **Object** Fixed object cache lib incr, decr functions (thanks bdrbros/DANIEL) #516
* **Database Optimize** Database optimizer now handles postmeta when cleaning revisions #515
* **Cache** Made nocache the default for 4xx/5xx response codes.
* **Cache** Default cache TTL settings removed for 403 response code, changed to 10 mins for 500 response code.
* **GUI** Added a description for the redetect nodes function.
* **GUI** Added a description for the refresh button sync function.
= 5.3.1 - Dec 12 2022 =
* **CLI** Presets feature is now usable from the CLI. (xLukii)
* **CLI** Added 'import_remote' for litespeed-option to enable importing options from URLs. (xLukii)
* **Cache** Added LiteSpeed headers to site health check for full page cache.
* **Crawler* Fixed unauthorized crawler toggle operation. (#CVE-2022-46800)
* **UCSS** Fixed a bug where items weren't added back to the UCSS queue after purging.
* **Page Optimize** Fixed a bug where generated CSS would return 404 after upgrading via CLI.
* **3rd** Fixed a bug where a WooCommerce session doesn't exist when checking cart, notices (Jason Levy/Gilles)
* **GUI** Made LiteSpeed admin notice icon grayscale to avoid distraction. (martinsauter)
* **GUI** Fixed RTL style for notification icon.
* **API** Added a new hook `litespeed_optm_uri_exc` to exclude URI from page optimization.
* **API** Excluded `.well-known` path from page optimization.
= 5.3 - Oct 31 2022 =
* 🌱**Presets** New `Presets` feature and menu item.
* 🌱**UCSS** New option `UCSS File Excludes and Inline` to increase page score. (Ankit)
* **UCSS** When UCSS is purged, automatically append URL to UCSS generation queue. (Ankit)
* **Page Optimize** Removed a redundant `defer` attribute from Lazy Load image library usage. (#928019)
* **Image Optimize** Dropped `Create WebP Versions` setting. Will automatically enable when `Image WebP Replacement` is activated.
* **Cloud** Fixed a bug where internal updates were delayed for API keys.
* **Cloud** Improved auto alias feature by waiting for second request from alias domain validation before removing a pending alias.
* **Purge** Automatically Purge All when plugin auto update is done.
* **Purge** Fixed a potential PHP8 error that occurred when removing unused widgets. (acsnaterse)
* **Cache** Fixed an infinite 301 redirection caused by UTM-encoded link.
* **CLI** Added syntax examples for values that include line breaks (xLukii)
* **CLI** Purge requests will now be included with the original request to avoid potential CSS/JS 404 issues.
* **ESI** Check all user roles for cache vary and page optimization excludes.
* **GUI** Added a LiteSpeed icon to admin message banners to indicate the banners are from our plugin. (Michael D)
* **Crawler** Fixed a cache-miss issue that occurred when Guest Mode was ON and WebP Replacement was OFF.
* **3rd** Remove WooCommerce private cache.
* **3rd** Removed LiteSpeed metabox from ACF field group edit page. (keepmovingdk)
= 5.2.1 - Sep 7 2022 =
* 🐞**Core** Fixed a fatal error that occurred when uninstalling. (#894556 Hostinger)
* **Dash** Show partner info on the dashboard for partner-tier QC accounts.
* **UCSS** Auto-purge UCSS on post update. (Ankit)
* 🕸️**Crawler** Respect the `LITESPEED_CRAWLER_DISABLE_BLOCKLIST` constant for unexpected results too. (Abe)
= 5.2 - Aug 17 2022 =
* 🌱**UCSS** Added UCSS message queue to improve service quality and reliability
* 🐞**VPI** Fixed conflict w/ image lazyload; used HTML before image lazyload to avoid invalid `data:base64` results.
* **VPI** Changed VPI Cron default setting to OFF.
* **VPI** Automatically resend requests when VPI result contains invalid `data:` image value.
* **Conf** Fixed an issue with URI Excludes, where paths using both ^ and $ were not correctly excluded (Eric/Abe)
* **Conf** Auto corrected `WP_CONTENT_URL` protocol if it was explicitly set to `http://`.
* **Cloud** No longer sync the configuration to QUIC.cloud if configuration is unchanged.
* **Cloud** Appended home_url value into synced configuration data for wp-content folder path correction.
* 🕸️**Crawler** Improved compatibility with server `open_basedir` PHP setting limit when detecting load before crawling. (Tom Robak/mmieszalski)
= 5.1 - Aug 1 2022 =
* 🌱**Toolbox** Debug log can now show Purge/Crawler logs as well. (Tynan)
* **UCSS** Prepared for future message queue.
* **UCSS** Moved UCSS class to its own file.
* **3rd** Added 3rd-party support for WC PDF Product Vouchers. (Tynan)
* **Core** Fixed potential PHP warning when saving summary data. (Sarah Richardson)
* **Purge** Purge can now clear the summary correctly. (Kevin)
* **VPI** Added `queue_k` to API notification.
= 5.0.1 - Jul 27 2022 =
* 🐞**Cloud** Fixed a potential PHP error that could occur with the cloud service summary. (Bruno Cantuaria)
* **3rd** Added Autoptimize back to compatibility list.
= 5.0.0.1 - Jul 26 2022 =
* 🔥🐞**Cloud** Fixed an issue with the cloud request timestamp update which causes a usage sync failure. (great thanks to Kevin)
= 5.0 - Jul 25 2022 =
* 🌱**VPI** Added Viewport Images feature to LiteSpeed Options metabox on Post Edit page.
* 🌱**CDN** Added Auto CDN Setup feature for simple QUIC.cloud CDN setup. (Kevin)
* 🌱**Page Optimize** Automatically cache remote CSS/JS files when fetching for optimization (Lauren)
* 🌱**Cache** Added LiteSpeed Options for page-level cache control on Post Edit page. (denisgomesfranco)
* 🌱**Cloud** Auto Alias feature.
* 🌱**Debug** Added `Debug String Excludes` option. (Hanna)
* 🌱**UCSS** Added `Purge this page - UCSS` option to Admin Bar dropdown menu. (Ankit)
* 🌱**Guest** Added `litespeed_guest_off=1` URL query string parameter to bypass Guest Mode. (cbdfactum)
* 🐞**Page Optimize** Fixed an issue where CSS anchors could be wrongly converted to a full path when minifying. (Tynan)
* **Page Optimize** Bypass CCSS/UCSS generation when a self-crawled CSS resource returns a 404 code. (Abe)
* **Object** Allow `LSCWP_OBJECT_CACHE` predefined to turn off Object Cache. (knutsp)
* **Data** Fixed an issue where empty version tags in the database repeatedly toggled the upgrade banner and reset settings to default.
* **Purge** Fixed an issue where the site's index page could be purged upon deletion of an unviewable post. (Kevin)
* **Toolbox** Added `View site before optimization` button under `Debug` tab. (Ryan D)
* **Admin** Switch to using the `DONOTCACHEPAGE` constant to indicated WP-Admin pages are not cacheable.
* **Admin** Moved no-cache header to very beginning to avoid caching unexpected exits.
* **Cloud** Added message queue service for VPI. (Abe)
* **Cloud** Bypassed 503 error nodes from node redetection process. (Abe)
* **Cloud** Fixed a failure to detect `out_of_quota`. (Lauren)
* **Cloud** Added ability to display dismissable banners generated by QUIC.cloud.
* 🕸️**Crawler** Added realtime load detection before crawl.
* 🕸️**Crawler** Adjusted crawler behavior for Divi pages to allow for Divi's CCSS generation process. (miketemby)
* 🕸️**API** PHP constant `LITESPEED_CRAWLER_DISABLE_BLOCKLIST` and filter `litespeed_crawler_disable_blocklist` to disable blocklist. (Tobolo)
* **CDN** Automatically add a trailing slash to `CDN URL` and `Original URLs` if user didn't provide one. (Lucas)
* **Cache** When a URL redirects to a URL with a query string, consider these as different for caching purposes. (Shivam)
* **Media** Added ability to disable lazyload from the LiteSpeed Options metabox on Post Edit page.
* **Media** Added new default values to `WebP Attribute to Replace` setting for WPBakery and Slider Revolution. (JibsouX)
* **Image Optimize** Dropped redundant `Page Speed` user agent when serving WebP images. (serpentdriver)
* **GUI** Fixed an issue where manually dismissable admin messages were instead being treated as one-time messages. (Tynan Beatty)
* **GUI** Fixed an issue where subsequent admin alerts would overwrite existing alerts in the queue. (Kevin/Tynan)
* **GUI** Updated time offset in log. (Ruikai #PR444 #PR445)
* **GUI** Added `litespeed_media_ignore_remote_missing_sizes` API description.
* **CCSS** Fixed an issue where CCSS was unexpectedly bypassed if `CSS Combine` was OFF and `UCSS Inline` was ON. (Ruikai)
* **Debug** Added response headers to debug log. (Kevin)
= 4.6 - Mar 29 2022 =
* **Page Optimize** Improved compatibility for JS Delay.
* 🐞**Page Optimize** Fixed an issue for network subsites that occurred when only CSS/JS Minify are enabled.
* **Localization** Added query string compatibility for Resource URLs.
* **Vary** Fixed a potential PHP warning when server variable `REQUEST_METHOD` is not detected.
* **Cache** Guest Mode now respects Cache Excludes settings.
* **GUI** Added warning notice when enabling `Localize Resources` feature; each localized JS resource requires thorough testing!
* **GUI** Fixed a PHP Deprecated warning that occurred with the Mobile Cache User Agent setting on PHP v8.1+. (jrmora)
* **Conf** Removed Google related scripts from default `Localization Files` value.
* **Media** WordPress core Lazy Load feature is now automatically disabled when LiteSpeed Lazy Load Images option is enabled. (VR51 #Issue440)
* 🐞**API** Filter `litespeed_ucss_per_pagetype` for UCSS now also applies to CSS Combine to avoid UCSS failure. (Ankit)
* **API** Added a filter `litespeed_media_ignore_remote_missing_sizes` to disable auto detection for remote images that are missing dimensions. (Lucas)
= 4.5.0.1 - Feb 24 2022 =
* 🔥🐞**Media** Fixed an issue where lazy-loaded images would disappear when using custom CSS image loading effects.
= 4.5 - Feb 23 2022 =
* 🌱**Page Optimize** Localization is back.
* **Guest** Fixed organic traffic issue as different browsers may fail to set `document.referrer`.
* **Image Optimize** Improved wp_postmeta table compatibility when gathering images. (Thanks to Thomas Stroemme)
* 🐞**Page Optimize** Fixed a potential CSS/JS 404 issue for existing records that have been marked as expired.
* **ESI** `LITESPEED_ESI_OFF` now affects `litespeed_esi_url` API filter too.
* **Guest** Added a check to determine if Guest Mode is blocked by a third-party, and display warning if it is (Ruikai)
* **Guest** To support WP sites with multiple domains, Guest Mode detection URL no longer uses domain.
* **Report** Network now shows Toolbox page when having a large number of subsites.
* **DB Optimize** Reduced default subsites count from 10 to 3 under Network Admin -> DB Optimize page to avoid timeout.
* **Cloud** Fixed potential `lack_of_token` error when requesting domain key for cases where local summary value was not historically included in the array.
* **Cloud** Fixed a PHP fatal error that occurred when encountering a frequency issue under CLI. (Dean Taylor #Issue410)
* **Avatar** Force gravatar cache refresh in browsers and on CDN (rafaucau #PR430)
* **API** New filter `litespeed_purge_ucss` to purge a single page UCSS. (#376681)
* **API** New filter `litespeed_ucss_per_pagetype` for UCSS per page type generation. (Ankit)
* **GUI** Replaced some GUI text and settings with more inclusive language (kebbet #PR437 #PR435)
* **3rd** Excluded `WP Statistics` from inline JS optimize. (Ryan D)
* **3rd** Added API filter `litespeed_3rd_aelia_cookies` for Aelia CurrencySwitcher.
* **Media** Updated image lazyload library to 17.5.0.
= 4.4.7 - Jan 11 2022 =
* **Page Optimize** Dropped `Inline Lazy Load Images Library` option. Now will always inline lazyload library. (Ankit)
* **3rd** Prevented JavaScript files from being appended to Rank Math SEO sitemap.
* **Purge** Dropped default stale purge when purging a post.
* **Cloud** Dropped unused API calls.
* **Cloud** Dropped redundant IP validation in API calls.
= 4.4.6 - Dec 27 2022 =
* **Guest** Restored `document.referrer` for organic traffic purposes when Guest Mode is enabled. (michelefns)
* **Image Optimize** Fixed a potential PHP notice when uploading images in WP w/ PHP7.4+. (titsmaker)
* **ESI** Fixed an issue where ESI settings were not updated on customized widgets(#422 Abe)
* **3rd** Reverted ESI Adminbar change on Elementor front pages for backward compatibility (#423 Abe)
* **3rd** Fixed an issue where disabling ESI potential caused a PHP warning when using `Perfmatters`. (Jeffrey Zhang)
* **Misc** Check whether HTTP_REFERER is set or not before using it in Router class. (#425 Abe)
= 4.4.5 - Dec 1 2021 =
* **Data** Fixed potential PHP notice when generating CSS/JS optimized files w/ PHP v7.4+. (Sarah Richardson/silencedgd/slr1979)
* **API** Added `LITESPEED_ESI_OFF` constant to disable ESI, when defined before the WP `init` hook.
* **API** Added `LSCWP_DEBUG_PATH` constant to specify debug log path. (khanh-nt)
* 🐞**GUI** Fixed an issue where admin messages were not displayed. (Daniel McD)
* **CDN** Used WP remote function to communicate w/ Cloudflare per WP guidance.
* **3rd** Added compatibility for Perfmatters plugin's script manager (#417 Abe)
* **3rd** Added compatibility for Elementor's Editor button when ESI is on (#418 Abe)
= 4.4.4 - Nov 23 2021 =
* **Page Optimize** Delay deletion of outdated CSS/JS files for a default of 20 days to avoid 404 errors with cached search engine copies.
* **Cache** When caching, no longer send a purge request for CSS/JS removal to avoid cache engine conflicts.
* 🐞**Core** Optimized SQL queries while autoloading if expected options are missing; reduced by 7 and 3 queries on backend and frontend respectively. (#396425 Jackson)
* **Page Optimize** Fixed a 404 issue that occurred when upgrading the plugin manually, with a package upload or through the plugin manager. (Tobolo/Małgorzata/Abe)
* **API** Added `litespeed_ccss_url` and `litespeed_ucss_url` API to manipulate the request URL for CCSS and UCSS.
* **REST** Fixed a potential warning when detecting cacheable status on REST call. (rafaucau)
* **OLS** Fixed an issue where the `COOKIEHASH` constant was undefined when used with OpenLiteSpeed as an MU plugin or with network activation.
* **3rd** Sanitized POST data for nextgengallery.
* **Cloud** Sanitized GET data when linking to QUIC.cloud. (#591762 WPScan)
= 4.4.3 - Oct 13 2021 =
* 🐞**Media** Fixed an issue where WebP is served erroneously under Guest Mode on older versions of Safari. (hash73)
* 🐞**Media** Reverted regex change to fix `Lazy Load Image Parent Class Name Excludes` failure. (thpstock)
* **Purge** Disabled `Purge Delay` in the optimization process by default.
* **Conf** Dropped `.htaccess Path Settings` options for security concern. (WP)
* **Conf** Dropped `CSS HTTP/2 Push`/`JS HTTP/2 Push` options. (Kevin)
* **Conf** Set `Guest Optimization` default to OFF.
* **Conf** Set `CCSS Per URL` default to OFF to avoid consuming more quota than intended after upgrade to v4. (n111)
* **Object** Fixed an issue with Object Cache warnings during upgrade, when Guest Mode is enabled.
* ☁️**Cloud** Fixed an issue with PHP notices when inquiring about quota usage for a service not currently in use.
* **GUI** Added GO detail warning. (n111)
* **GUI** Moved "quota will be still in use" warning from Guest Mode to Guest Optimization section.
* **API** Added `LITESPEED_CFG_HTACCESS` PHP Constant to specify .htaccess path.
* **API** Added `litespeed_qs_forbidden` hook to bypass `?LSCWP_CTRL=` query string. (minhduc)
* **API** Added `litespeed_delay_purge` hook to delay the following Purge header until the next request.
* **API** Added `litespeed_wpconfig_readonly` hook to disable `WP_CACHE` constant update based on the wp-config.php file. (#633545)
= 4.4.2 - Sep 23 2021 =
* **Purge** In order to clear pages containing 404 CSS/JS, the purge header will always be sent even in cases where purge must be delayed.
* 🐞**Purge** Fixed a potential PHP warning caused when generating different optimized filenames.
* **Cron** Dropped unnecessary HTML response in cron which sometimes resulted in wp-cron report email. (Gilles)
* **Page Optimize** Purge caused by CSS/JS file deletion will now be silent.
* **Page Optimize** Fixed an issue where the homepage failed to purge when addressing the 404 CSS/JS issue.
* **Avatar** Fixed potential localized Avatar folder creation warning. (mattk0220/josebab)
* **API** Added filter `litespeed_optm_html_after_head` to move all optimized code(UCSS/CCSS/Combined CSS/Combined JS) to be right before the `` tag. (ducpl/Kris Regmi)
* **Debug** Under debug mode, cache/purge tags will be plaintext.
= 4.4.1 - Sep 16 2021 =
* 🐞**ESI** Fixed ESI failure on non-cached pages caused by `DONOTCACHEPAGE` constant.
* 🐞**Page Optimize** Fixed an issue where the minified CSS/JS file failed to update when the file was changed. (ceap80)
* 🐞**Page Optimize** Fixed an issue where the combined CSS/JS file randomly returned a 404 error when visiting the same URL with different query strings. (Abe)
* **API** Added `litespeed_const_DONOTCACHEPAGE` hook to control the cache-or-not result of the `DONOTCACHEPAGE` constant.
= 4.4 - Sep 8 2021 =
* 🌱**Crawler** Added the ability to enable or disable specific crawlers. (⭐ Contributed by Astrid Wang #PR390)
* 🌱**UCSS** Added `UCSS Inline` option. (Ankit).
* 🌱**UCSS** Added `UCSS URI Excludes` option. (RC Verma).
* 🐞**Page Optimize** Fixed an issue where combined CSS/JS files would potentially return 404 errors after a Purge All. (Special thanks to Abe & Ruikai)
* **Page Optimize** Minimized the potential for 404 errors by query string when Purging All.
* **Page Optimize** Dropped redundant query strings for minified CSS/JS files.
* **Conf** Ugrade configuration safely to avoid the issue of new functions not being found in old codebase.
* **Conf** Configuration upgrade process now adds a notification to admin pages and disables configuration save until upgrade is complete. (Lisa)
* **JS** Fixed an issue where JS Defer caused a `litespeed_var_1_ is not defined` error when enabled w/ ESI options. (Tobolo)
* 🐞**JS** Fixed an issue where `JS Delay` doesn't work for combined JS when `JS Combine` is enabled. (Special thanks to Joshua & Ankit)
* **JS** `JS Delay` now will continue loading JS, even if there is an error in the current JS loading process.
* 🐞**CCSS** If CCSS fails to generate, Load CSS Asynchronously will now be disabled. (Stars #54074166)
* 🐞**UCSS** If UCSS generation fails the generated error will no longer be served inside the file. (Ryan D)
* **Log** Updated the Debug log to use less code for prefix.
* **3rd** Always respect `DONOTCACHEPAGE` constant definition to fix DIVI dynamic css calculation process.
= 4.3 - Aug 16 2021 =
* **UCSS** Separated UCSS Purge from CCSS Purge. (⭐ Contributed by Alice Tang #PR388)
* 🐞**Cloud** Fixed an issue where CCSS/UCSS quota data failed to update locally.
* **Cloud** Added server load as a factor when detecting node availability.
* **Cloud** Improved the speed of checking daily quota and showing the related error message.
* **Cloud** Added ability to re-detect node availability if the current node is responding w/ a heavy load code.
* **Cloud** CCSS/UCSS/LQIP queue now exits immediately when quota is depleted.
* **Cloud** Replaced separate `d/regionnodes` with a single `d/nodes` in the node list API for image optimization.
* **LQIP** Fixed an issue with LQIP network compatibility. (⭐ Contributed by Alice Tang #PR387)
* **GUEST** JS no longer preloads for Guest Optimization. (Ankit)
* 🐞**Data** Fixed an issue where deleting the `cssjs` data folder causes a failure in the upgrade process. (Joshua #PR391)
* **GUI** Fixed a potential dashboard PHP warning when no queue existed. (jrmora)
* **GUI** Added daily quota on dashboard.
* **GUI** Added downgrade warning to Toolbox -> Beta Test.
* **GUI** Tuned `.litespeed-desc` class to full width in CSS.
* **Conf** `Preserve EXIF/XMP data` now defaults to ON due to copyright concerns. (Tobolo)
* 🐞**3rd** Fixed a PHP warning when using Google AMP w/ /amp as structure. (thanhstran98)
= 4.2 - Jul 29 2021 =
* **Cloud** Auto redirect to a new node if the current node is not available anymore.
* **Cloud** Combined CCSS/UCSS to sub services of Page Optimization.
* **Cloud** Added a daily quota rate limit to help mitigate the heavy service load at the beginning of the month.
* **Cloud** Cached the node IP list in order to speed up security check. (Lucas)
* 🐞**GUEST** Fixed an issue where Guest Mode remained enabled even when the UA setting is empty. (Stars)
* **GUEST** Guest Mode will no longer cache POST requests.
* **UCSS** Purging CSS/JS now purges the UCSS queue as well, to avoid failure when generating UCSS.
* **UCSS** Separated service entry `UCSS` from `CCSS`.
* **CCSS** Simplified `load_queue/save_queue/build_filepath_prefix` functions. (⭐ Contributed by Alice Tang #PR373)
* **CCSS** If CCSS request fails, details are now saved in the CSS file.
* **CCSS** Renamed CCSS ID in inline HTML from `litespeed-optm-css-rules` to `litespeed-ccss`. (Alice)
* **Page Optimize** CCSS/UCSS now supports Cloud queue/notify for asynchronous generation.
* **Page Optimize** Simplified CCSS/UCSS generation function.
* **Page Optimize** Added the ability to cancel CCSS/UCSS Cloud requests.
* **Page Optimize** Unnecessary quesry strings will now be dropped from CSS/JS combined files.
* **Crawler** Reset position now resets crawler running status too.
* **REST** Cloud request to REST will now detect whether an IP in in the Cloud IP list for security reasons.
* **Object** Enhanced Object Cache compatibility for `CONF_FILE` constant detection.
* **API** Added shorter alias `litespeed_tag` and other similar aliases for Cache Tag API.
* **API** Renamed `LITESPEED_BYPASS_OPTM` to `LITESPEED_NO_OPTM` for Page Optimization.
* **Toolbox** Dropped v3.6.4- versions in Beta Test as they will cause a fatal error in downgrade.
* **GUI** Added shortcut links to each section on the Dashboard.
* **GUI** Added UCSS whitelist usage description. (wyb)
* **GUI** Showed the default recommended values for Guest Mode UA/IPs.
* **3rd** Fixed AMP plugin compatibility. (⭐ Contributed by Alice Tang #PR368)
* **3rd** Bypassed all page optimization including CDN/WebP for AMP pages.
* **3rd** Improved compatibility with All in One SEO plugin sitemap. (arnaudbroes/flschaves #Issue372)
* **3rd** Added wsform nonce. (#365 cstrouse)
* **3rd** Added Easy Digital Download (EDD) & WP Menu Cart nonce. (#PR366 AkramiPro)
* **3rd** Improved compatibility w/ Restrict Content Pro. (Abe #PR370)
* **3rd** Improved compatibility w/ Gravity Forms. (Ruikai #371)
= 4.1 - Jun 25 2021 =
* 🌱**UCSS/CCSS/LQIP** Moved queue storage to file system from database wp-options table to lessen the IO load. (#633504)
* 🌱**3rd** Added an option to disable ESI for the WooCommerce Cart. (#358 Anna Feng/Astrid Wang)
* **ESI** Fixed an ESI nonce issue introduced in v4.0. (Andrew Choi)
* **Object** Used new `.litespeed_conf.dat` instead of `.object-cache.ini` for object cache configuration storage.
* **Conf** Now updating related files after plugin upgrade and not just after activation.
* 🌱**Guest** Added a Guest Mode JS Excludes option. (Ankit/Mamac/Rcverma)
* **Guest** Guest Mode now uses a lightweight script to update guest vary for reduced server load.
* **Guest** Guest Mode now adds missing image dimensions.
* **Guest** Guest vary will no longer update if there's already a vary in place to address the infinite loop caused by CloudFlare's incorrect cache control setting for PHP.
* **Guest** Guest vary update request will no longer be sent if `lscache_vary` is already set.
* **Guest** Added a Configurable Guest Mode UA/IP under the Tuning tab in the General menu.
* **Guest** Guest Mode now allows cron to be hooked, even when UCSS/CCSS options are off. (#338437 Stars)
* **Guest** Simplified the vary generation process under Guest Mode.
* **Guest** Added a Guest Mode HTML comment for easier debugging. (Ruikai)
* **Guest** Guest vary update ajax now bypasses potential POST cache.
* **CCSS** Added back the options `Separate CCSS Cache Post Types` and `Separate CCSS Cache URIs`. (Joshua/Ankit)
* **CCSS** CCSS/UCSS queue is now limited to a maximum of 500 entries.
* **Control** The cache control constant `LSCACHE_NO_CACHE` will now have a higher priority than the Forced Public Cache setting.
* **Crawler** The Crawler can now crawl Guest Mode pages.
* **Crawler** Fixed a potential XSS vulnerability in the Crawler settings. (#927355)
* **Crawler** The Crawler now supports a cookie value of `_null`. (Tobolo)
* **Media** Updated the default value for the Responsive Placeholder SVG to be transparent.
* **Media** WebP images in the background may now be served in Guest Mode.
* **Media** WebP images in CSS may now be bypassed if the requesting Guest Mode client doesn't support WebP.
* **Media** Fixed empty default image placeholder under Guest Mode.
* 🐞**Image Optimize** Changed the missing `$_POST` to `$post_data` so the database status is properly updated. (#345 Lucas)
* **Import** Export file is now readable to allow importing of partial configurations. (Ryan D/Joshua)
* **Page Optimize** Fixed W3 validator errors in Guest Mode. (#61393817)
* **3rd** A fatal WooCommerce error is no longer triggered by a custom theme reusing a previous LSCWP cache detection tag.
* **3rd** AMP may now bypass Guest Mode automatically.
* **Localize** Dropped the `Localize Resources` option as Guest Mode is a sufficient replacement. (Note: Due to user feedback during the development period, we have decided to reinstate this option in a future version.)
* **Cloud** Changed the WP API url.
* **Lang** Corrected a missing language folder.
* **GUI** Added a CCSS/UCSS loading page visualization. (⭐ Contributed by Astrid Wang & Anna Feng #PR360)
* **GUI** Added a warning to indicate when Guest Mode CCSS/UCSS quota is in use. (Contributed by Astrid Wang & Anna Feng #PR361)
* **GUI** Added a `litespeed-info` text color. (Astrid Wang)
* **GUI** Implemented various UI/UX improvements. (Joshua/Lisa)
* **GUI** Duplicate cloud service messages with the same content will only display once now. (Marc Dahl)
* **GUI** Added a WebP replacement warning for Guest Mode Optimization if WebP replacement is off.
* **Misc** Dropped `wp_assets` from distribution to reduce the package size. (lowwebtech)
* **Misc** Increased the new version and score detection intervals.
* **Misc** Optimized WP Assets images. (#352 lowwebtech)
* **Debug** Dropped the redundant error_log debug info.
= 4.0 - Apr 30 2021 =
* 🌱🌱🌱**Guest** Introduced `Guest Mode` for instantly cacheable content on the first visit.
* 🌱**UCSS** Added a new service: `Unique CSS`, to drop unused CSS from elements from combined CSS
* 🌱**CCSS** Added `HTML Lazyload` option. (Ankit)
* 🌱**CCSS** Added `CCSS Per URL` option to allow Critical CSS to be generated for each page instead of for each Post Type.
* 🌱**Media** Added `Add Missing Sizes` setting for improving Cumulative Layout Shift. (Fahim)
* 🌱**JS** Switched to new JS minification library for better compression and compatibility w/ template literals. (LuminSol)
* **Media** WebP may now be replaced in CSS.
* **Media** Can now drop image tags in noscript to avoid lazyload. (Abe #314 /mattthomas-photography)
* **Media** Bypass optimization if a page is not cacheable.
* **Image Optimize** Auto hook to `wp_update_attachment_metadata` to automate image gathering process, and to handle the new thumbnail generation after images are uploaded. (smerriman).
* **Image Optimize** Repeated image thumbnails won't be gathered anymore.
* **Image Optimize** Simplified the rescan/gather/upload_hook for existing image detection.
* **Image Optimize** Fixed the duplicated optimize size records in the postmeta table. (Abe #315)
* **Image Optimize** Allow either JSON POST request or normal form request in `notify_img`. (Lucas #313)
* **Image Optimize** Optimized SQL query for better efficiency. (lucas/Lauren)
* **Image Optimize** Fixed issue where rescan mass created duplicate images. (#954399)
* **Image Optimize** Image optimization pie will not show 100% anymore if there is still a small amount in the unfinished queue.
* **Image Optimize** WebP generation defaults to ON for Guest Mode.
* **Image Optimize** `Priority Line` package now can have smaller request interval.
* **ESI** Disable ESI when page is not cacheable. (titsmaker)
* **ESI** Fixed an issue where Divi was disabling all in edit mode, but couldn't disable ESI. (Abe)
* **ESI** ESI init moved under `init` hook from `plugin_loaded` hook.
* **CDN** Add basic support for CloudFlare API Tokens (Abe #320)
* **CSS** Simplified `Font Display Optimization` option.
* **CSS** Fixed manual cron timeout issue. (jesse Distad)
* **CSS** Inline CSS may now use `data-no-optimize` to be excluded from optimization. (popaionut)
* **JS** Combined `Load JS Defer` and `Load Inline JS Defer` options.
* **JS** Forced async to defer.
* **JS** Moved Google Analytics JS from constant default to setting default for removal.
* **JS** Fixed potential JS parsing issue caused by JS src being changed to data-src by other plugins. (ankit)
* **JS** Excluded spotlight from JS optimize. (tobolo)
* **CCSS** Fixed CCSS/UCSS manual cron timeout issue.
* **CCSS** Only 10 items will be kept for CCSS history.
* **CCSS** The appearance of CCSS Purge in the topbar menu will be determined by the existence of CCSS cache, and not the setting only.
* **CCSS** To avoid stuck queues when the current request keeps failing, the CCSS queue will always drop once requested.
* **CCSS** CCSS will no longer hide adminbar.
* **CCSS** CCSS may now be separate for network subsites. (Joshua)
* **CCSS** Gave CCSS a unique filename per URL per user role per subsite.
* **CCSS** Dropped `Separate CCSS Cache Post Types` option.
* **CCSS** Dropped `Separate CCSS Cache URIs` option.
* **CCSS** Subsites purge Avatar/CSS/JS/CCSS will not affect the whole network anymore.
* **CCSS** Implemented a better queue list for CCSS that auto collapses if there are more than 20 entries, and shows the total on top.
* **CSSJS** Now using separate CSS and JS folders instead of `cssjs`.
* **CSSJS** Automatically purge cache after CCSS is generated.
* **Network** Dropped network CSS/JS rewrite rules.
* **Cache** Send cache tag header whenever adding a tag to make it effective in the page optimization process.
* **Core** Used hook for buffer optimization; Used `init()` instead of `constructor`.
* **Object** Used `cls` instead of `get_instance` for init.
* **Cloud** Replaced one-time message with a dismissible-only message when the domain key has been automatically cleared due to domain/key dismatch.
* **API** Dropped function `hook_vary_add()`.
* **API** Dropped function `vary_add()`.
* **API** Dropped function `filter_vary_cookies()`.
* **API** Dropped function `hook_vary()`.
* **API** Dropped action `litespeed_vary_add`.
* **API** Dropped filter `litespeed_api_vary`.
* **API** Use `litespeed_vary_curr_cookies` and `litespeed_vary_cookies` for Vary cookie operations instead.
* **API** Dropped action `litespeed_vary_append`.
* **Vary** 3rd party vary cookies will not append into .htaccess anymore but only present in response vary header if in use.
* **Vary** Dropped function `append()`.
* **Vary** Commenter cookie is now considered cacheable.
* **Crawler** Minor update to crawler user agent to accommodate mobile_detect.php (Abe #304)
* **Data** Added a table truncate function.
* **Data** Added new tables url & url_file.
* **Data** Dropped cssjs table.
* **Data** Options/Summary data is now stored in JSON format to speed up backend visit. (#233250)
* **Data** Default `CSS Combine External and Inline` and `JS Combine External and Inline` to On for new installations for better compatibility.
* **Purge** Fixed potential purge warning for certain themes.
* **Purge** Purge will be stored for next valid visit to trigger if it is initially generated by CLI.
* **Page Optimize** `CSS Combine`/`JS Combine` will now share the same file if the contents are the same. Limited disk usage for better file usage and fewer issues with random string problems.
* **Page Optimize** Dropped option CSS/JS Cache TTL.
* **Page Optimize** Bypass optimization if page not cacheable.
* **Page Optimize** Purge CSS/JS will purge the `url_file` table too.
* **Page Optimize** Optionally store a vary with a shorter value.
* **Page Optimize** Removing query strings will no longer affect external assets. (ankit)
* **Page Optimize** Better regex for optimization parsing.
* **Page Optimize** Eliminated w3 validator for DNS prefetch and duplicated ID errors. (sumit Pandey)
* **Page Optimize** New Optimization for Guest Only option under Tuning.
* **Page Optimize** Now forbidding external link redirection for localization.
* **Debug** Implemented a better debug format for the 2nd parameter in the log.
* **GUI** Bypass page score banner when score is not detected (both 0). (ankit)
* **GUI** Fixed deprecated JQuery function warning in WP-Admin. (krzxsiek)
= 3.6.4 - Mar 15 2021 =
* **Toolbox** Fixed Beta Test upgrade error when upgrading to v3.7+.
= 3.6.3 - Mar 10 2021 =
* **Core** Fixed potential upgrade failure when new versions have changes in activation related functions.
* **Core** Upgrade process won't get deactivated anymore on Network setup.
= 3.6.2 - Feb 1 2021 =
* **Page Optimize** Fixed an issue where network purge CSS/JS caused 404 errors for subsites.
* **Page Optimize** Fixed an issue where purge CSS/JS only caused 404 errors.
* **Page Optimize** Added a notice for CSS/JS data detection and potential random string issue.
* **Page Optimize** Limited localization resources to specified .js only. (closte #292/ormonk)
* **JS** Data src may now be bypassed from JS Combine. (ankit)
* **CLI** Fixed a message typo in Purge. (flixwatchsupport)
* **Browser** Added font/otf to Browser Cache expire list. (ruikai)
* **Data** Updated data files to accept PR from dev branch only.
* **3rd** Add data-view-breakpoint-pointer to js_excludes.txt for the Events Calendar plugin. (therealgilles)
* **Cloud** Bypassed invalid requests.
* **Doc** CDN Mapping description improvement. (mihai A.)
= 3.6.1 - Dec 21 2020 =
* **WP** Tested up to WP v5.6.
* **WebP** Reverted WebP support on Safari Big Sur and Safari v14.0.1+ due to an inability to detect MacOS versions from UA. (@antomal)
* **CDN** Dropped the option `Load JQuery Remotely`.
* **CDN** Fixed CDN URL replacement issue in optimized CSS files. (@ankit)
* **CDN** Fixed an issue where CDN CLI wouldn't set mapping image/CSS/JS to OFF when `false` was the value.
* **CDN** Started using React for CDN Mapping settings.
* **GUI** Secured Server IP setting from potential XSS issues. (@WonTae Jang)
* **Toolbox** Supported both dev and master branches for Beta Test. Latest version updated to v3.6.1.
* **Purge** Purge Pages now can purge non-archive pages too.
* **Admin** Simplified the admin JS.
* **Admin** Limited crawler-related react JS to crawler page only.
= 3.6 - Dec 14 2020 =
* 🌱**WebP** Added WebP support on Safari Big Sur or Safari v14.0.1+. (@ruikai)
* 🐞**Config** Fixed an issue where new installations were not getting the correct default .htaccess content.
* **Crawler** Will auto bypass empty sub-sitemap instead of throwing an exception. (@nanoprobes @Tobolo)
* **Crawler** Now using React for Cookie Simulation settings instead of Vue.js. Dropped Vue.js.
* **Crawler** Dropped `Sitemap Generation` (will only use 3rd party sitemap for crawler).
* **CSS** Added `CSS Combine External and Inline` option for backward compatibility. (@lisa)
* **Object** Forbid .object-cache.ini visits. (@Tarik)
* **Page Optimize** Dropped `Remove Comments` option to avoid combine error.
* **CSS** Added a predefined CSS exclude file `data/css_excludes.txt`.
* **CSS** Excluded Flatsome theme random inline CSS from combine.
* **CSS** Excluded WoodMart theme from combine. (@moemauphie)
* **Page Optimize** Excluded tagDiv.com Newspaper theme dynamic CSS/JS from CSS/JS Combine.
* **CSS** Added predefined JS defer excludes list. (@Shivam)
* **JS** `data-no-defer` option now supports inline JS. (@rafaucau)
* **Media** Lazyload inline library is now bypassed by JS Combine.
* **Admin** Fixed WP-Admin console ID duplicate warnings.
* **Cloud** Dropped QUIC.cloud sync options that have long been unused.
* **CSS** Dropped `Unique CSS File` option (UCSS will always generate unique file, will use whitelist to group post type to one CSS).
* **GUI** Dropped Help tab.
* **Toolbox** Added 3.5.2 to version list.
= 3.5.2 - Oct 27 2020 =
* **CSS** `CSS Combine` is now compatible w/ inline noscript CSS. (@galbaras)
* **GUI** Added ability to manually dismiss the JS option reset message in v3.5.1 upgrade process. (#473917)
* 🐞**CSS** `CSS Excludes` setting will no longer lose items beginning w/ `#`. (@ankit)
* **API** New `litespeed_media_reset` API function for image editing purposes. (@Andro)
= 3.5.1 - Oct 20 2020 =
* **JS** Inline JS containing nonces can now be combined.
* **JS** Reset JS Combine/Defer to OFF when upgrading to avoid breaking sites.
* **JS** Added new option JS Combine External and Inline to allow backwards compatibility.
* **JS** Added Inline JS Defer option back. (@ankit)
* **Page Optimize** Dropped Inline JS Minify option and merged the feature into JS Minify.
* **JS** Pre-added jQuery to the default JS excludes/defer list for better layout compatibility for new users.
* **JS** Excluded Stripe/PayPal/Google Map from JS optimization. (@FPCSJames)
* **JS** Allowed excluded JS to still be HTTP2 pushed. (@joshua)
* **CCSS** Critical CSS now can avoid network pollution from other sites. (@ankit)
* **Toolbox** Beta Test now displays recent public versions so it is easier to revert to an older version
* **Vary** Server environment variable Vary can now be passed to original server from QUIC.cloud for non-LiteSpeed servers.
* **ESI** Improved backward compatibility for ESI nonce list. (@zach E)
* 🐞**Misc** Fixed failure of upgrade button on plugin news banner and made cosmetic improvements.
* **Doc** Added note that LSCWP works with ClassicPress.
= 3.5.0.2 - Sep 30 2020 =
* This is a temporary revert fix. Code is SAME as v3.4.2.
= 3.5.0.1 - Sep 29 2020 =
* 🔥🐞**CSS** Fixed print media query issue when having CSS Combine. (@paddy-duncan)
= 3.5 - Sep 29 2020 =
* **Page Optimize** Refactored CSS/JS optimization.
* **Page Optimize** CSS and JS Combine now each save to a single file without memory usage issues.
* **CSS** Inline CSS Minify is now a part of CSS Minify, and will respect the original priorities. (thanks to @galbaras)
* **JS** JS Combine now generates a single JS file in the footer. (Special thanks to @ankit)
* **JS** JS Combine now combines external JS files, too. (Thanks to @ankit)
* **JS** JS Deferred Excludes now uses the original path/filename as keywords instead of the minified path/filename, when JS Minify is enabled.
* **JS** JS Combine now combines inline JS, too.
* **JS** JS Excludes may now be used for inline JS snippet.
* **Page Optimize** Inline CSS Minify and Max Combined File Size retired due to changes listed above.
* **CSS** Combined CSS Priority retired due to changes listed above.
* **JS** Exclude JQuery, Combined JS Priority, Load Inline JS Deferred, and Inline JS Deferred Excludes retired due to changes listed above.
* **JS** Predefined data file data/js_excludes.txt now available for JS Excludes.
* **ESI** Predefined data file data/esi.nonces.txt now available for ESI Nonces.
* **ESI** Remote Fetch ESI Nonces functionality retired.
* **API** Added support for new litespeed_esi_nonces filter.
* **Object** Object Cache will not try to reconnect after failure to connect in a single process.
* **CCSS** Remote read CSS will add the scheme if it is missing from the URL.
* **CCSS** CSS will no longer be prepared for a URL if 404 result is detected.
* **CCSS** Fixed most failures caused by third party CSS syntax errors.
* **CCSS** Remote read CSS will fix the scheme if the URL doesn't have it.
* **CCSS** Excluded 404 when preparing CSS before request.
* **CCSS** Adjusted CCSS timeout from 180 seconds to 30 seconds.
* **Image Optimize** Fixed the delete attachment database error that occurred when not using the image optimization service yet.
* **Media** Added iOS 14 WebP support.
* **Data** Fixed database creation failure for MySQL v8.
* **Cloud** Error code err_key will clear the domain key in order to avoid duplicate invalid requests.
* **Network** Fixed issue with object cache password file storage that occurred when resaving the settings. (#302358)
* **Misc** Fixed IP detect compatibility w/ Apache.
* **GUI** Fixed the description for Do Not Cache Categories.
* **Preload** Upgraded Instant Click to a new stable preload library. (@stasonua0)
= 3.4.2 - Sep 8 2020 =
* **CCSS** Corrected the issue that wrongly appended non-CSS files to CSS in links before sending request.
* **3rd** YITH wishlist now sends a combined single sub request for all widgets contained in one page. (LSWS v5.4.9 build 3+ required)
* **ESI** Added support for ESI combine feature.
* **GUI** Dropped banner notification for missing domain key when domain key is not initialized.
* **Log** When QC whitelist check fails, a detailed failure log is now appended.
= 3.4.1 - Sep 2 2020 =
* 🐞**CCSS** Fixed an issue where dynamically generated CSS failed with `TypeError: Cannot read property type of undefined`.
* 🐞**Page Optimize** Fixed CSS optimization compatibility for CSS dynamically generated with PHP.
* **Page Optimize** Added the ability to defer JS even when the resource is excluded from other JS optimizations. (@slr1979)
* **ESI** Added support for ESI last parameter inline value.
* **3rd** YITH Wishlist, when cached for the first time, will no longer send sub requests.
= 3.4 - Aug 26 2020 =
* 🌱**LQIP** New setting **LQIP Excludes**.
* 🌱**LQIP** Added a Clear LQIP Queue button.
* 🌱**CCSS** Added a Clear CCSS Queue button.
* **CCSS** Fixed an issue which wrongly included preloaded images in CCSS. (@pixtweaks)
* **Network** Primary site and subsite settings now display correctly.
* **Page Optimize** Noscript tags generated by LSCWP will only be dropped when the corresponding option is enabled. (@ankit)
* **DB Optimize** Fixed database optimizer conflicts w/ object cache transient setting. (#752931)
* **3rd** Fixed an issue with WooCommerce product purge when order is placed.
* **3rd** Improved WooCommerce product comment compatibility with **WooCommerce Photo Reviews Premium** plugin when using ESI.
* **CDN** Fixed Remote jQuery compatibility with WordPress v5.5. (@pixtweaks)
* **API** New API `litespeed_purge_all_object` and `litespeed_purged_all_object` action hooks.
= 3.3.1 - Aug 12 2020 =
* 🌱**Page Optimize** New option to Remove Noscript Tags. (@phuc88bmt)
* 🐞**LQIP** Fixed a critical bug that bypassed all requests in v3.3.
* **LQIP** Requests are now bypassed if domain has no credit left.
* **Page Optimize** Inline defer will be bypassed if document listener is detected in the code. (@ssurfer)
* **CCSS** Print-only styles will no longer be included in Critical CSS.
* **API** Added hooks to Purge action to handle file deletions. (@biati)
* **Cloud** Plain permalinks are no longer required for use of cloud services.
* **Data** Added an access denial to work with OpenLiteSpeed. (@spenweb #PR228)
* **GUI** Spelling and grammar adjustments. (@blastoise186 #PR253)
= 3.3 - Aug 6 2020 =
* 🌱**Page Optimize** Added a new setting, Inline JS Deferred Excludes. (@ankit)
* **Page Optimize** CSS/JS Combine/Minify file versions will be differentiated by query string hash instead of new filename to reduce DB/file system storage.
* **Page Optimize** Added the ability to use local copies of external JS files for better control over page score impacts.
* **Page Optimize** Improved combination of CSS media queries. (@galbaras)
* **Page Optimize** Reprioritized Inline JS Defer to be optimized before encoding, for a significantly smaller result.
* **LQIP** Detect if the file exists before sending LQIP request to QUIC.cloud.
* **CCSS** Sped up CCSS process significantly by sending HTML and CSS in request.
* **CCSS** Improvements to mobile CSS support in CCSS.
* **CCSS** Minimize CCSS failures by attempting to automatically fix CSS syntax errors.
* **Cloud** Domain Key will be deleted after QUIC.cloud site_not_registered error to avoid endless repeated requests.
* **CDN** CDN Original URL will default to WP Site URL if not set. (@ruikai)
* **CLI** Global output format `--format=json/yaml/dump` and `--json` support in CLI. (@alya1992)
* **CDN** Improved handling of non-image CSS `url()` sources in CDN. (@daniel McD)
* 🐞**CDN** Fixed CDN replacement conflict w/ JS/CSS Optimize. (@ankit)
* **Crawler** Only reset Crawler waiting queues when crawling begins. (@ruikai)
* **Network** Network Enable Cache is no longer reset to ON Use Network Settings in enabled. (@RavanH)
* 🐞**Activation** Fixed a PHP warning that appeared during uninstall. (@RavanH)
* **Debug** Automatically omit long strings when dumping an array to debug log.
* **Report** Subsites report now shows overwritten values along w/ original values. (#52593959)
* **REST** Improved WP5.5 REST compatibility. (@oldrup)
* **GUI** Server IP setting moved from Crawler menu to General menu.
* **GUI** Localize resources moved to Localization tab.
* **Config** News option now defaults to ON.
= 3.2.4 - Jul 8 2020 =
* **Object** New installations no longer get custom data.ini reset, as this could cause lost configuration. (@Eric)
* **ESI** Now using `svar` to load nonces more quickly. (@Lauren)
* **ESI** Fixed the conflicts between nonces in inline JS and ESI Nonces when Inline JS Deferred is enabled. (@JesseDistad)
* 🐞**ESI** Fixed Fetch Latest Predefined Nonce button.
* 🐞**Cache** Fixed an issue where mobile visits were not being cached when Cache Mobile was disabled.
* **CDN** Bypass CDN constant `LITESPEED_BYPASS_CDN` now will apply to all CDN replacements.
* **Router** Dropped `Router::get_uid()` function.
* **Crawler** Updated role simulator function for future UCSS usage.
* **GUI** Textarea will now automatically adjust the height based on the number of rows input.
* **CLI** Fixed an issue that caused WP-Cron to exit when a task errored out. (@DovidLevine @MatthewJohnson)
* **Cloud** No longer communcate with QUIC.cloud when Domain Key is not set and Debug is enabled.
* **Cloud** Score banner no longer automatically fetches a new score. (@LucasRolff)
= 3.2.3.2 - Jun 19 2020 =
* 🔥🐞**Page Optimize** Hotfix for CSS/JS minify/combine. (@jdelgadoesteban @martin_bailey)
= 3.2.3.1 - Jun 18 2020 =
* **API** New filter `litespeed_buffer_before` and `litespeed_buffer_after`. (#PR243 @joejordanbrown)
= 3.2.3 - Jun 18 2020 =
* 🌱**Page Optimize** Added Unique CSS option for future removal of unused CSS per page. (@moongear)
* **Page Optimize** Fixed an issue where Font Optimization could fail when having Load JS Deferred and Load Inline JS Deferred. (#PR241 @joejordanbrown)
* 🐞**Page Optimize** Fixed an issue with Font Display Optimization which caused Google Fonts to load incorrectly. (#PR240 @joejordanbrown @haidan)
* 🐞**Network** Use Primary Site Configuration setting for network sites now works properly with Object Cache and Browser Cache. (#56175101)
* **API** Added filter `litespeed_is_from_cloud` to detect if the current request is from QC or not. (@lechon)
* **ESI** ESI Nonce now can fetch latest list with one click.
* **GUI** Updated remaining documentation links & some minor UI tweaks. (@Joshua Reynolds)
= 3.2.2 - Jun 10 2020 =
* 🌱**Purge** Scheduled Purge URLs now supports wildcard. (#427338)
* 🌱**ESI** ESI Nonce supports wildcard match now.
* **Network** Use Primary Site Settings now can support Domain Key, and override mechanism improved. (@alican532 #96266273)
* **Cloud** Debug mode will now have no interval limit for most cloud requests. (@ruikai)
* **Conf** Default Purge Stale to OFF.
* **GUI** Purge Stale renamed to Serve Stale.
* **Data** Predefined nonce list located in `/litespeed-cache/data/esi.nonce.txt`. Pull requests welcome.
* **Debug** Limited parameter log length.
* 🐞**CDN** Fixed an issue where upgrading lost value of CDN switch setting. (#888668)
* **3rd** Caldera Forms ESI Nonce enhancement. (@paconarud16 @marketingsweet)
* **3rd** Elementor now purges correctly after post/page updates.
* **3rd** Disabled Page Optimization features on AMP to avoid webfont JS inject. (@rahulgupta1985)
= 3.2.1 - Jun 1 2020 =
* **Cloud** LQIP/CCSS rate limit tweaks. (@ianpegg)
* **Admin** Improved frontend Admin Bar menu functionality. (#708642)
* **Crawler** Fixed an issue where cleaning up a crawler map with a leftover page number would cause a MySQL error. (@saowp)
* **Image Optimize** Added WP default thumbnails to image optimization summary list. (@johnny Nguyen)
* **REST** Improved REST compatibility w/ WP4.4-. (#767203)
* **GUI** Moved Use Primary Site Configuration to General menu. (@joshua)
= 3.2 - May 27 2020 =
* **Image Optimize** Major improvements in queue management, scalability, and speed. (@LucasRolff)
* **Cloud** Implemented a series of communication enhancements. (@Lucas Rolff)
* **Crawler** Enhanced PHP 5.3 compatibility. (@JTS-FIN #230)
* **Page Optimize** Appended image template in wpDiscuz script into default lazyload image exclude list. (@philipfaster @szmigieldesign)
* **Page Optimize** Eliminated the 404 issue for CSS/JS in server environments with missing SCRIPT_URI. (@ankit)
* **Data** ENhanced summary data storage typecasting.
= 3.1 - May 20 2020 =
* 🌱**Network** Added Debug settings to network level when on network.
* 🐞**Purge** Network now can purge all.
* 🐞**Network** Fixed issue where saving the network primary site settings failed.
* **Network** Moved Beta Test to network level when on network.
* 🐞**Cache** Fixed issue in admin where new post editor was wrongly cached for non-admin roles. (@TEKFused)
* 🐞**Data** Fixed issue with crawler & img_optm table creation failure. (@berdini @piercand)
* 🐞**Core** Improved plugin activation compatibility on Windows 10 #224 (@greenphp)
* **Core** Improved compatibility for .htaccess path search.
* **Object** Catch RedisException. (@elparts)
* Fixed Script URI issue in 3.0.9 #223 (@aonsyed)
* **Image Optimize** Show thumbnail size set list in image optimization summary. (@Johnny Nguyen)
* **Debug** Parameters will now be logged.
= 3.0.9 - May 13 2020 =
* **Purge** Comment cache can be successfully purged now.
* **Data** Better MySQL charset support for crawler/image optimize table creation. (@Roshan Jonah)
* **API** New hook to fire after Purge All. (@salvatorefresta)
* **Crawler** Resolve IP for crawler.
* **Task** PHP5.3 Cron compatibility fix.
* **3rd** Elementor edit mode compatibility.
* **Page Optimize** Fixed an issue where Purge Stale returned 404 for next visitor on CSS/JS.
* **Page Optimize** Fixed the PHP warning when srcset doesn't have size info inside. (@gvidano)
* **Cloud** Fixed the potential PHP warning when applying for the domain key.
* **Core** PHP __DIR__ const replacement. (@MathiasReker)
= 3.0.8.6 - May 4 2020 =
* **CCSS** Bypassed CCSS functionality on frontend when domain key isn't setup yet.
* **Cloud** Fixed WP node redetection bug when node expired. (@Joshua Reynolds)
* **Crawler** Fixed an issue where URL is wrongly blacklisted when using ADC.
= 3.0.8.5 - May 1 2020 =
* 🔥🐞**3rd** Hotfix for WPLister critical error due to v3.0.8.4 changes.
* **Image Optimize** Unfinished queue now will get more detailed info to indicate the proceeding status on node.
* **CLI** Options can now use true/false as value for bool. (@gavin)
* **CLI** Detect error if the ID does not exist when get/set an option value.
* **Doc** An API comment typo for `litespeed_esi_load-` is fixed.
= 3.0.8.4 - Apr 30 2020 =
* 🌱**Crawler** New setting: Sitemap timeout. (#364607)
* **Image Optimize** Images that fail to optimize are now counted to increase next request limit.
* **Cloud** Redetect fastest node every 3 days.
* **Cloud** Suppressed auto upgrade version detection error. (@marc Dahl)
* **3rd** 3rd party namespace compatibility. (#366352)
= 3.0.8.3 - Apr 28 2020 =
* **Cloud** Better compatibility for the Link to QUIC.cloud operation. (@Ronei de Sousa Almeida)
* **Image Optimize** Automatically clear invalid image sources before sending requests. (@Richard Hordern)
= 3.0.8.2 - Apr 27 2020 =
* **GUI** Corrected the Request Domain Key wording.
= 3.0.8.1 - Apr 27 2020 =
* **Object** Object cache compatibility for upgrade from v2.9.9- versions.
= 3.0.8 - Apr 27 2020 =
* Released v3 on WordPress officially.
= 3.0.4 - Apr 23 2020 =
* **Cloud** Apply Domain Key now receives error info in next apply action if failed to generate.
* **GUI** Apply Domain Key timeout now displays troubleshooting guidance.
* **REST** Added /ping and /token to REST GET for easier debug.
* **Cache** Dropped `advanced-cache.php` file detection and usage.
= 3.0.3 - Apr 21 2020 =
* **Conf** Settings from all options (data ini, defined constant, and forced) will be filtered and cast to expected type.
* **Upgrade** CDN mapping and other multiple line settings will now migrate correctly when upgrading from v2 to v3.
= 3.0.2 - Apr 17 2020 =
* **GUI** More guidance on domain key setting page.
* **Cloud** Now Apply Domain Key will append the server IP if it exists in Crawler Server IP setting.
= 3.0.1 - Apr 16 2020 =
* **Data** Increased timeout for database upgrade related to version upgrade. Display a banner while update in progress.
* **Page Optimize** All appended HTML attributes now will use double quotes to reduce the conflicts when the optimized resources are in JS snippets.
= 3.0 - Apr 15 2020 =
* 🌱**Media** LQIP (Low Quality Image Placeholder).
* 🌱**Page Optimize** Load Inline JS Deferred Compatibility Mode. (Special thanks to @joe B - AppsON)
* 🌱**Cloud** New QUIC.cloud API key setting.
* 🌱**ESI** New ESI nonce setting.
* 🌱**Media** JPG quality control. (@geckomist)
* 🌱**Media** Responsive local SVG placeholder.
* 🌱**Discussion** Gravatar warmup cron.
* 🌱**DB** Table Engine Converter tool. (@johnny Nguyen)
* 🌱**DB** Database summary: Autoload size. (@JohnnyNguyen)
* 🌱**DB** Database summary: Autoload entries list.
* 🌱**DB** Revisions older than. (@thememasterguru)
* 🌱**Cache** Forced public cache setting. (#308207)
* 🌱**Crawler** New timeout setting to avoid incorrect blacklist addition. (#900171)
* 🌱**Htaccess** Frontend & backend .htaccess path customize. (@jon81)
* 🌱**Toolbox** Detailed Heartbeat Control (@K9Heaven)
* 🌱**Purge** Purge Stale setting.
* 🌱**Page Optimize** Font display optimization. (@Joeee)
* 🌱**Page Optimize** Google font URL display optimization.
* 🌱**Page Optimize** Load Inline JS deferred.
* 🌱**Page Optimize** Store gravatar locally. (@zzTaLaNo1zz @JohnnyNguyen)
* 🌱**Page Optimize** DNS prefetch control setting.
* 🌱**Page Optimize** Lazy Load Image Parent Class Name Excludes. (@pako69)
* 🌱**Page Optimize** Lazy load iframe class excludes. (@vnnloser)
* 🌱**Page Optimize** Lazy load exclude URIs. (@wordpress_fan1 @aminaz)
* 🌱**GUI** New Dashboard and new menus.
* 🌱**Image Optimize** Supported GIF WebP optimization. (@Lucas Rolff)
* 🌱**Image Optimize** New workflow for image optimization (Gather first, request second).
* 🌱**Image Optimize** The return of Rescan.
* 🌱**CLI** Get single option cmd.
* 🌱**CLI** QUIC.cloud cmd supported.
* 🌱**CLI** CLI can send report now.
* 🌱**Health** Page speed and page score now are in dashboard.
* 🌱**Conf** Supported consts overwritten of `LITESPEED_CONF__` for all settings. (@menathor)
* 🌱**REST** New REST TTL setting. (@thekendog)
* 🌱**CDN** New setting `HTML Attribute To Replace`. CDN can now support any HTML attribute to be replaced. (@danushkaj91)
* 🌱**Debug** Debug URI includes/excludes settings.
* 🌱**Crawler** 🐞 Support for multiple domains in custom sitemap. (@alchem)
* 🌱**Crawler** New Crawler dashboard. New sitemap w/ crawler status. New blacklist w/ reason.
* 🌱**Media** LQIP minimum dimensions setting. (@Lukasz Szmigiel)
* **Crawler** Able to add single rows to blacklist.
* **Crawler** Crawler data now saved into database instead of creating new files.
* **Crawler** Larger timeout to avoid wrongly added to blacklist.
* **Crawler** Manually changed the priority of mobile and WebP. (@rafaucau)
* **Browser** Larger Browser Cache TTL for Google Page Score improvement. (@max2348)
* **Task** Task refactored. Disabled cron will not show in cron list anymore.
* **Task** Speed up task load speed.
* **ESI** Added Bloom nonce to ESI for Elegant Themes.
* **Cloud** Able to redetect cloud nodes now.
* **Img_optm** Fixed stale data in redirected links.
* **Lazyload** CSS class `litespeed_lazyloaded` is now appended to HTML body after lazyload is finished. (@Adam Wilson)
* **Cache** Default drop qs values. (@gijo Varghese)
* **LQIP** Show all LQIP images in Media column.
* **CDN** Can now support custom REST API prefix other than wp-json. (#174 @therealgilles)
* **IAPI** Used REST for notify/destroy/check_img; Removed callback passive/aggreesive IAPI func
* **CSSJS** Saved all static files to litespeed folder; Uninstallation will remove static cache folder too; Reduced .htaccess rules by serving CSS/JS directly.
* **Object** Fixed override different ports issue. (@timofeycom #ISSUE178)
* **Conf** DB Tables will now only create when activating/upgrading/changing settings.
* **DB** Simplified table operation funcs.
* **CSSJS** Bypassed CSS/JS generation to return 404 if file is empty (@grubyy)
* **CSSJS** Inline JS defer will not conflict with JS inline optm anymore.
* **CDN** settings will not be overwritten by primary settings in network anymore. (@rudi Khoury)
* **OPcache** Purged all opcache when updating cache file. (@closte #170)
* **CLI** CLI cmd renamed.
* **CLI** Well-formatted table to show all options.
* **Purge** Only purge related posts that have a status of "published" to avoid unnecessary "draft" purges. (@Jakub Knytl)
* **GUI** Removed basic/adv mode for settings. Moved non-cache settings to its own menu.
* **Htaccess** Protected .htaccess.bk file. Only kept one backup. (@teflonmann)
* **Crawler** Crawler cookie now support `_null` as empty value.
* **Crawler** Avoid crawler PHP fatal error on Windows OS. (@technisolutions)
* **Admin** Simplified admin setting logic.
* **Conf** Multi values settings now uniformed to multi lines for easier setting.
* **Conf** New preset default data file `data/consts.default.ini`.
* **Conf** Config setting renamed and uniformed.
* **Conf** Dropped `Conf::option()`. Used `Conf::val()` instead.
* **Conf** Improved conf initialization and upgrade conversion workflow.
* **Core** Code base refactored. New namespace LiteSpeed.
* **API** New API: iframe lazyload exclude filter.
* **GUI** human readable seconds. (@MarkCanada)
* **API** API refactored. * NOTE: All 3rd party plugins that are using previous APIs, especially `LiteSpeed_Cache_API`, need to be adjusted to the latest one. Same for ESI blocks.* ESI shortcode doesn't change.
* **API** New hook `litespeed_update_confs` to settings update.
* **API** New Hooks `litespeed_frontend_shortcut` and `litespeed_backend_shortcut` for dropdown menu. (@callaloo)
* **API** Removed `litespeed_option_*` hooks. Use `litespeed_force_option` hook insteadly
* **API** Renamed `litespeed_force_option` to `litespeed_conf_force`.
* **API** Removed function `litespeed_purge_single_post`.
* **REST** New rest API to fetch public IP.
* **GUI** Hiding Cloudflare/Object Cache/Cloud API key credentials. (@menathor)
* **GUI** Renamed all backend link tag from lscache to litespeed.
* **GUI** fixed duplicated form tag.
* **GUI** Fix cron doc link. (@arnab Mohapatra)
* **GUI** Frontend adminbar menu added `Purge All` actions. (@Monarobase)
* **GUI** Localized vue.js to avoid CloudFlare cookie. (@politicske)
* **GUI** Always show optm column in Media Library for future single row optm operation. (@mikeyhash)
* **GUI** Displayed TTL range below the corresponding setting.
* **GUI** GUI refactored.
* **Debug** Report can now append notes.
* **3rd** Default added parallax-image to webp replacement for BB.
* **3rd** User Switching plugin compatibility. (@robert Staddon)
* **3rd** Beaver Builder plugin compatibility with v3.0.
* **3rd** Avada plugin compatibility w/ BBPress. (@pimg)
* **3rd** WooCommerce PayPal Checkout Gateway compatibility. (#960642 @Glen Cabusas)
* **Network** Fixed potential timeout issue when containing a large volume of sites. (@alican532)
* **Debug** `Disable All Features` now will see the warning banner if ON.
* **Debug** Dropped `log filters` section.
* **Debug** Debug and Tools sections combined into new `Toolbox` section.
* 🐞**Crawler** Multi sites will now use separate sitemap even when `Use Primary Site` is ON. (@mrhuynhanh)
* 🐞**Img_optm** Fixed large volume image table storage issue. (#328956)
* 🐞 **Cloud** Cloud callback hash validation fixed OC conflict. (@pbpiotr)
* 🎊 Any user that had the contribution to our WP community or changelog (even just bug report/feedback/suggestion) can apply for extra credits in QUIC.cloud.
= 2.9.9.2 - Nov 24 2019 =
* 🌱**GUI** New settings to limit News Feed to plugin page only.
= 2.9.9.1 - Nov 18 2019 =
* 🌱**Env** Environment Report can now append a passwordless link for support access without wp-admin password.
* **Admin** The latest v3.0 beta test link may now be shown on the admin page when it's available.
* **3rd** Compatibility with [DoLogin Security](https://wordpress.org/plugins/dologin/).
* 🐞**ESI** Fixed a failure issue with Vary Group save. (@rafasshop)
* 🐞**3rd** In browsers where WebP is not supported, Divi image picker will no longer serve WebP. (@Austin Tinius)
= 2.9.9 - Oct 28 2019 =
* Core: Preload all classes to avoid getting error for upcoming v3.0 upgrade.
* Object: Improved compatibility with upcoming v3.0 release.
* ESI: Unlocked ESI for OLS in case OLS is using QUIC.cloud CDN which supports ESI.
* 3rd: Elementor Edit button will now show when ESI enabled. (#PR149 #335322 @maxgorky)
* 🐞Media: Fixed missing Media optimization column when Admin role is excluded from optimization in settings. (@mikeyhash @pako69 @dgilfillan)
= 2.9.8.7 - Oct 11 2019 =
* 3rd: Enhanced WP stateless compatibility. (#PR143)
* 3rd: Fixed a PHP warning caused by previous PR for AMP. (#PR176)
= 2.9.8.6 - Sep 24 2019 =
* 3rd: Bypassed page optimizations for AMP. (#359748 #PR169)
* GUI: Firefox compatibility with radio button state when reloading pages. (#288940 #PR162)
* GUI: Updated Slack invitation link. (#PR173)
= 2.9.8.5 - Aug 21 2019 =
* CCSS: Removed potential PHP notice when getting post_type. (@amcgiffert)
* CDN: Bypassed CDN replacement on admin page when adding media to page/post. (@martin_bailey)
* 🐞Media: Fixed inability to update or destroy postmeta data for child images. (#167713)
= 2.9.8.4 - Jul 25 2019 =
* Object: Increased compatibility with phpredis 5.0.
* Object: Appended `wc_session_id` to default Do Not Cache Groups setting to avoid issue where WooCommerce cart items were missing when Object Cache is used. NOTE: Existing users must add `wc_session_id` manually! (#895333)
* CSS: Added null onload handler for CSS async loading. (@joejordanbrown)
* 🕷️: Increased crawler timeout to avoid wrongly adding a URL to the blacklist.
* 3rd: WooCommerce Advanced Bulk Edit can now purge cache automatically.
= 2.9.8.3 - Jul 9 2019 =
* CSS: Enhanced the CSS Minify compatibility for CSS with missing closing bracket syntax errors. (@fa508210020)
* 🕷️: Crawler now supports both cookie and no-cookie cases. (@tabare)
* CCSS: Enhanced compatibility with requested pages where meta info size exceeds 8k. (@Joe B)
* CCSS: No longer processing "font" or "import" directives as they are not considered critical. (@Ankit @Joe B)
* IAPI: Removed IPv6 from all servers to avoid invalid firewall whitelist.
= 2.9.8.2 - Jun 17 2019 =
* 🔥🐞 3rd: Fixed PHP 5.3 compatibility issue with Facetwp.
= 2.9.8.1 - Jun 17 2019 =
* 3rd: Set ESI template hook priority to highest number to prevent ESI conflict with Enfold theme. (#289354)
* 3rd: Improved Facetwp reset button compatibility with ESI. (@emilyel)
* 3rd: Enabled user role change to fix duplicate login issue for plugins that use alternative login processes. (#114165 #717223 @sergiom87)
* GUI: Wrapped static text with translate function. (@halilemreozen)
= 2.9.8 - May 22 2019 =
* Core: Refactored loading priority so user related functions & optimization features are set after user initialization. (#717223 #114165 #413338)
* Media: Improved backup file calculation query to prevent out-of-memory issue.
* Conf: Feed cache now defaults to ON.
* API: Fully remote attachment compatibility API of image optimization now supported.
* 🕷️: Bypassed vary change for crawler; crawler can now simulate default vary cookie.
* ESI: Refactored ESI widget. Removed `widget_load_get_options()` function.
* ESI: Changed the input name of widget fields in form.
* 3rd: Elementor can now save ESI widget settings in frontend builder.
* 3rd: WP-Stateless compatibility.
* IAPI: Image optimization can now successfully finish the destroy process with large volume images with automatic continual mode.
* 🐞CDN: Fixed issue with Load JQuery Remotely setting where WP 5.2.1 provided an unexpected jQuery version.
* 🐞3rd: Login process now gets the correct role; fixed double login issue.
= 2.9.7.2 - May 2 2019 =
* Conf: Enhanced compatibility when an option is not properly initialized.
* Conf: Prevent non-array instance in widget from causing 500 error. (#210407)
* CCSS: Increase CCSS generation timeout to 60s.
* Media: Renamed lazyload CSS class to avoid conflicts with other plugins. (@DynamoProd)
* JS: Improved W3 validator. (@istanbulantik)
* QUIC: Synced cache tag prefix for static files cache.
* ESI: Restored query strings to ESI admin bar for accurate rendering. (#977284)
* ESI: Tweaked ESI init priority to honor LITESPEED_DISABLE_ALL const. ESI will now init after plugin loaded.
* 🐞ESI: No longer initialize ESI if ESI option is OFF.
* API: New "Disable All" API function.
* API: New "Force public cache" API function.
* 🐞Vary: Fixed an issue with saving vary groups.
* 🐞IAPI: Fixed an issue where image md5 validation failed due to whitespace in the image path.
* 🐞3rd: Bypass all optimization/ESI/Cache features when entering Divi Theme Builder frontend editor.
* 🐞3rd: Fixed an issue where DIVI admin bar exit button didn't work when ESI was ON.
= 2.9.7.1 - Apr 9 2019 =
* Purge: Purge All no longer includes Purge CCSS/Placeholder.
* 3rd: Divi Theme Builder no longer experiences nonce expiration issues in the contact form widget. (#475461)
= 2.9.7 - Apr 1 2019 =
* 🌱🌱🌱 QUIC.cloud CDN feature. Now Apache/Nginx can use LiteSpeed cache freely.
= 2.9.6 - Mar 27 2019 =
* 🌱IAPI: Appended XMP to `Preserve EXIF data` setting. WebP will now honor this setting. (#902219)
* Object: Fixed SASL connection with LSMCD.
* ESI: Converted ESI URI parameters to JSON; Added ESI validation.
* Import: Import/Export will now use JSON format. Please re-export any backed up settings. Previous backup format is no longer recognized.
* Media: WebP replacement will honor `Role Excludes` setting now. (@mfazio26)
* Data: Forbid direct visit to const.default.ini.
* Utility: Can handle WHM passed in `LITESPEED_ERR` constant now.
* IAPI: Communicate via JSON encoding.
* IAPI: IAPI v2.9.6.
= 2.9.5 - Mar 14 2019 =
* 🌱 Auto convert default WordPress nonce to ESI to avoid expiration.
* 🌱 API: Ability to easily convert custom nonce to ESI by registering `LiteSpeed_Cache_API::nonce_action`.
* OPTM: Tweaked redundant attr `data-no-optimize` in func `_analyse_links` to `data-ignore-optimize` to offer the API to bypass optimization but still move src to top of source code.
* API: Renamed default nonce ESI ID from `lscwp_nonce_esi` to `nonce`.
* API: Added WebP generation & validation hook API. (@alim #wp-stateless)
* API: Added hook to bypass vary commenter check. (#wpdiscuz)
* Doc: Clarified Cache Mobile description. (@JohnnyNguyen)
* Doc: Replaced incorrect link in description. (@JohnnyNguyen)
* 3rd: Improved wpDiscuz compatibility.
* 🐞3rd: Fixed Divi Theme Builder comment compatibility on non-builder pages. (#410919)
* 3rd: Added YITH ESI adjustment.
= 2.9.4.1 - Feb 28 2019 =
* 🔥🐞Tag: Fixed issue where unnecessary warning potentially displayed after upgrade process when object cache is enabled.
= 2.9.4 - Feb 27 2019 =
* 🐞REST: New REST class with better WP5 Gutenberg and internal REST call support when ESI is embedded.
* ESI: ESI block ID is now in plain text in ESI URL parameters.
* 🐞ESI: Fixed a redundant ESI 301 redirect when comma is in ESI URL.
* ESI: REST call can now parse shortcodes in ESI.
* API: Changed ESI `parse_esi_param()` function to private and `load_esi_block` function to non-static.
* API: Added `litespeed_is_json` hook for buffer JSON conversion.
* GUI: Prepended plugin name to new version notification banner.
* 3rd: WPML multi domains can now be handled in optimization without CDN tricks.
= 2.9.3 - Feb 20 2019 =
* ESI: ESI shortcodes can now be saved in Gutenberg editor.
* ESI: ESI now honors the parent page JSON data type to avoid breaking REST calls (LSWS 5.3.6+).
* ESI: Added is_json parameter support for admin_bar.
* ESI: Simplified comment form code.
* 3rd: Better page builder plugin compatibility within AJAX calls.
* 3rd: Compatibility with FacetWP (LSWS 5.3.6+).
* 3rd: Compatibility with Beaver Builder.
* Debug: Added ESI buffer content to log.
* Tag: Only append blog ID to cache tags when site is part of a network.
* IAPI: Optimized database query for pulling images.
* GUI: Added more plugin version checking for better feature compatibility.
* GUI: Ability to bypass non-critical banners with the file .litespeed_no_banner.
* Media: Background image WebP replacement now supports quotes around src.
= 2.9.2 - Feb 5 2019 =
* API: Add a hook `litespeed_esi_shortcode-*` for ESI shortcodes.
* 3rd: WooCommerce can purge products now when variation stock is changed.
* 🐞🕷️: Forced HTTP1.1 for crawler due to a CURL HTTP2 bug.
= 2.9.1 - Jan 25 2019 =
* Compatibility: Fixed fatal error for PHP 5.3.
* Compatibility: Fixed PHP warning in htmlspecialchars when building URLs. (@souljahn2)
* Media: Excluded invalid image src from lazyload. (@andrew55)
* Optm: Improved URL compatibility when detecting closest cloud server.
* ESI: Supported JSON format comment format in ESI with `is_json` parameter.
* API: Added filters to CCSS/CSS/JS content. (@lhoucine)
* 3rd: Improved comment compatibility with Elegant Divi Builder.
* IAPI: New Europe Image Optimization server (EU5). Please whitelist the new [IAPI IP List](https://wp.api.litespeedtech.com/ips).
* GUI: No longer show banners when `Disable All` in `Debug` is ON. (@rabbitwordpress)
* GUI: Fixed button style for RTL languages.
* GUI: Removed unnecessary translation in report.
* GUI: Updated readme wiki links.
* GUI: Fixed pie styles in image optimization page.
= 2.9 - Dec 31 2018 =
* 🌱Media: Lazy Load Image Classname Excludes. (@thinkmedia)
* 🌱: New EU/AS cloud servers for faster image optimization handling.
* 🌱: New EU/AS cloud servers for faster CCSS generation.
* 🌱: New EU/AS cloud servers for faster responsive placeholder generation.
* 🌱Conf: Ability to set single options via link.
* 🌱Cache: Ability to add custom TTLs to Force Cache URIs.
* Purge: Added post type to Purge tags.
* Purge: Redefined CCSS page types.
* Core: Using Exception for .htaccess R/W.
* IAPI: New cloud servers added. Please whitelist the new [IAPI IP List](https://wp.api.litespeedtech.com/ips).
* Optm: Trim BOM when detecting if the page is HTML.
* GUI: Added PageSpeed Score comparison into promotion banner.
* GUI: Refactored promotion banner logic.
* GUI: Removed page optimized comment when ESI Silence is requested.
* GUI: WHM transient changed to option instead of transient when storing.
* GUI: Appending more descriptions to CDN filetype setting.
* IAPI: Removed duplicate messages.
* IAPI: Removed taken_failed/client_pull(duplicated) status.
* Debug: Environment report no longer generates hash for validation.
* 3rd: Non-cacheable pages no longer punch ESI holes for Divi compatibility.
* 🐞Network: Added slashes for mobile rules when activating plugin.
* 🐞CCSS: Eliminated a PHP notice when appending CCSS.
= 2.8.1 - Dec 5 2018 =
* 🐞🕷️: Fixed an activation warning related to cookie crawler. (@kacper3355 @rastel72)
* 🐞Media: Replace safely by checking if pulled images is empty or not first. (@Monarobase)
* 3rd: Shortcode ESI compatibility with Elementor.
= 2.8 - Nov 30 2018 =
* 🌱: ESI shortcodes.
* 🌱: Mobile crawler.
* 🌱: Cookie crawler.
* API: Can now add `_litespeed_rm_qs=0` to bypass Remove Query Strings.
* Optm: Removed error log when minify JS failed.
* 🐞Core: Fixed a bug that caused network activation PHP warning.
* Media: Removed canvas checking for WebP to support TOR. (@odeskumair)
* Media: Eliminated potential image placeholder PHP warning.
* 3rd: Bypassed Google recaptcha from Remove Query Strings for better compatibility.
* IAPI: Showed destroy timeout details.
* Debug: Moved Google Fonts log to advanced level.
* GUI: Replaced all Learn More links for functions.
* GUI: Cosmetic updates including Emoji.
* 🕷️: Removed duplicated data in sitemap and blacklist.
= 2.7.3 - Nov 26 2018 =
* Optm: Improved page render speed with Web Font Loader JS library for Load Google Fonts Asynchronously.
* Optm: Directly used JS library files in plugin folder instead of short links `/min/`.
* Optm: Handled exceptions in JS optimization when meeting badly formatted JS.
* 3rd: Added Adobe Lightroom support for NextGen Gallery.
* 3rd: Improved Postman app support for POST JSON requests.
* IAPI: US3 server IP changed to 68.183.60.185.
= 2.7.2 - Nov 19 2018 =
* 🌱: Auto Upgrade feature.
* CDN: Bypass CDN for cron to avoid WP jQuery deregister warning.
= 2.7.1 - Nov 15 2018 =
* 🌱CLI: Ability to set CDN mapping by `set_option litespeed-cache-cdn_mapping[url][0] https://url`.
* 🌱CDN: Ability to customize default CDN mapping data in default.ini.
* 🌱API: Default.ini now supports both text-area items and on/off options.
* Vary: Refactored Vary and related API.
* Vary: New hook to manipulate vary cookies value.
* Core: Activation now can generate Object Cache file.
* Core: Unified Object Cache/rewrite rules generation process across activation/import/reset/CLI.
* Core: Always hook activation to make activation available through the front end.
* 🐞IAPI: Fixed a bug where environment report gave incorrect image optimization data.
* 🐞OLS: Fixed a bug where login cookie kept showing a warning on OpenLiteSpeed.
* 🐞Core: Fixed a bug where Import/Activation/CLI was missing CDN mapping settings.
* API: Filters `litespeed_cache_media_lazy_img_excludes/litespeed_optm_js_defer_exc` passed-in parameter is changed from string to array.
= 2.7 - Nov 2 2018 =
* 🌱: Separate Purge log for better debugging.
* 3rd: Now fully compatible with WPML.
* IAPI: Sped up Image Optimization workflow.
* GUI: Current IP now shows in Debug settings.
* GUI: Space separated placeholder queue list for better look.
* IAPI: EU3 server IP changed to 165.227.131.98.
= 2.6.4.1 - Oct 25 2018 =
* 🔥🐞Media: Fixed a bug where the wrong table was used in the Image Optimization process.
* IAPI: IAPI v2.6.4.1.
= 2.6.4 - Oct 24 2018 =
* 🌱: Ability to create custom default config options per hosting company.
* 🌱: Ability to generate mobile Critical CSS.
* 🐞Media: Fixed a bug where Network sites could incorrectly override optimized images.
* 🐞CDN: Fixed a bug where image URLs containing backslashes were matched.
* Cache: Added default Mobile UA config setting.
* GUI: Fixed unknown shortcut characters for non-English languages Setting tabs.
= 2.6.3 - Oct 18 2018 =
* 🌱: Ability to Reset All Options.
* 🌱CLI: Added new `lscache-admin reset_options` command.
* GUI: Added shortcuts for more of the Settings tabs.
* Media: Updated Lazy Load JS library to the most recent version.
* There is no longer any need to explicitly Save Settings upon Import.
* Remove Query String now will remove *all* query strings in JS/CSS static files.
* IAPI: Added summary info to debug log.
= 2.6.2 - Oct 11 2018 =
* Setting: Automatically correct invalid numeric values in configuration settings upon submit.
* 🐞Media: Fixed the issue where iframe lazy load was broken by latest Chrome release. (@ofmarconi)
* 🐞: Fixed an issue with Multisite where subsites failed to purge when only primary site has WooCommerce . (@kierancalv)
= 2.6.1 - Oct 4 2018 =
* 🌱: Ability to generate separate Critical CSS Cache for Post Types & URIs.
* API: Filter `litespeed_frontend_htaccess` for frontend htaccess path.
* Media: Removed responsive placeholder generation history to save space.
= 2.6.0.1 - Sep 24 2018 =
* 🔥🐞: Fixed an issue in responsive placeholder generation where redundant history data was being saved and using a lot of space.
= 2.6 - Sep 22 2018 =
* Vary: Moved `litespeed_cache_api_vary` hook outside of OLS condition for .htaccess generation.
* CDN: Trim spaces in original URL of CDN setting.
* API: New filter `litespeed_option_` to change all options dynamically.
* API: New `LiteSpeed_Cache_API::force_option()` to change all options dynamically.
* API: New `LiteSpeed_Cache_API::vary()` to set default vary directly for easier compaitiblity with WPML WooCommerce Multilingual.
* API: New `LiteSpeed_Cache_API::nonce()` to safely and easily allow caching of wp-nonce.
* API: New `LiteSpeed_Cache_API::hook_vary_add()` to add new vary.
* Optm: Changed HTML/JS/CSS optimization options assignment position from constructor to `finalize()`.
* Doc: Added nonce to FAQ and mentioned nonce in 3rd Party Compatibility section.
* GUI: Moved inline minify to under html minify due to the dependency.
* 3rd: Cached Aelia CurrencySwitcher by default.
* 🐞: Fixed issue where enabling remote JQuery caused missing jquery-migrate library error.
= 2.5.1 - Sep 11 2018 =
* 🌱 Responsive placeholder. (@szmigieldesign)
* Changed CSS::ccss_realpath function scope to private.
* 🐞 Detected JS filetype before optimizing to avoid PHP source conflict. (@closte #50)
= 2.5 - Sep 6 2018 =
* [IMPROVEMENT] CLI can now execute Remove Original Image Backups. (@Shon)
* [UPDATE] Fixed issue where WP-PostViews documentation contained extra slashes. (#545638)
* [UPDATE] Check LITESPEED_SERVER_TYPE for more accurate LSCache Disabled messaging.
* [IAPI] Fixed a bug where optimize/fetch error notification was not being received. (@LucasRolff)
= 2.4.4 - Aug 31 2018 =
* [NEW] CLI can now support image optimization. (@Shon)
* [IMPROVEMENT] GUI Cron/CLI will not create admin message anymore.
* [UPDATE] Media Fixed a PHP notice that appeared when pulling optimized images.
* [UPDATE] Fixed a PHP notice when detecting origin of ajax call. (@iosoft)
* [DEBUG] Debug log can now log referer URL.
* [DEBUG] Changes to options will now be logged.
= 2.4.3 - Aug 27 2018 =
* [NEW] Media Ability to inline image lazyload JS library. (@Music47ell)
* [IMPROVEMENT] Media Deleting images will now clear related optimization file & info too.
* [IMPROVEMENT] Media Non-image postfix data will now be bypassed before sending image optimization request.
* [BUGFIX] CDN CDN URL will no longer be replaced during admin ajax call. (@pankaj)
* [BUGFIX] CLI WPCLI can now save options without incorrectly clearing textarea items. (@Shon)
* [GUI] Moved Settings above Manage on the main menu.
= 2.4.2 - Aug 21 2018 =
* [IMPROVEMENT] Media Sped up Image Optimization process by replacing IAPI server pull communication.
* [IMPROVEMENT] Media Ability to delete optimized WebP/original image by item in Media Library. (@redgoodapple)
* [IMPROVEMENT] CSS Optimize Generate new optimized CSS name based on purge timestamp. Allows CSS cache to be cleared for visitors. (@bradbrownmagic)
* [IMPROVEMENT] API added litespeed_img_optm_options_per_image. (@gintsg)
* [UPDATE] Stopped showing "No Image Found" message when all images have finished optimization. (@knutsp)
* [UPDATE] Improved a PHP warning when saving settings. (@sergialarconrecio)
* [UPDATE] Changed backend adminbar icon default behavior from Purge All to Purge LSCache.
* [UPDATE] Clearing CCSS cache will clear unfinished queue too.
* [UPDATE] Added "$" exact match when adding URL by frontend adminbar dropdown menu, to avoid affecting any sub-URLs.
* [UPDATE] Fixed IAPI error message showing array bug. (@thiomas)
* [UPDATE] Debug Disable All will do a Purge All.
* [UPDATE] Critical CSS server IP changed to 142.93.3.57.
* [GUI] Showed plugin update link for IAPI version message.
* [GUI] Bypassed null IAPI response message.
* [GUI] Grouped related settings with indent.
* [IAPI] Added 503 handler for IAPI response.
* [IAPI] IAPI v2.4.2.
* [IAPI] Center Server IP Changed from 34.198.229.186 to 142.93.112.87.
= 2.4.1 - Jul 19 2018 =
* [NEW FEATURE] Media Auto Level Up. Auto refill credit.
* [NEW FEATURE] Media Auto delete original backups after pulled. (@borisov87 @JMCA2)
* [NEW FEATURE] Media Auto request image optimization. (@ericsondr)
* [IMPROVEMENT] Media Fetch 404 error will notify client as other errors.
* [IMPROVEMENT] Media Support WebP for PageSpeed Insights. (@LucasRolff)
* [BUGFIX] CLI Fixed the issue where CLI import/export caused certain textarea settings to be lost. (#767519)
* [BUGFIX] CSS Optimize Fixed the issue that duplicated optimized CSS and caused rapid expansion of CSS cache folder.
* [GUI] Media Refactored operation workflow and interface.
* [UPDATE] Media Set timeout seconds to avoid pulling timeout. (@Jose)
* [UPDATE] CDNFixed the notice when no path is in URL. (@sabitkamera)
* [UPDATE] Media Auto correct credits when pulling.
* [UPDATE] GUI Removed redundant double quote in gui.cls. (@DaveyJake)
* [IAPI] IAPI v2.4.1.
* [IAPI] Allow new error status notification and success message from IAPI.
= 2.4 - Jul 2 2018 =
* [NEW FEATURE] Media Added lossless optimization.
* [NEW FEATURE] Media Added Request Original Images ON/OFF.
* [NEW FEATURE] Media Added Request WebP ON/OFF. (@JMCA2)
* [IMPROVEMENT] Media Improved optimization tools to archive maximum compression and score.
* [IMPROVEMENT] Media Improved speed of image pull.
* [IMPROVEMENT] Media Automatically recover credit after pulled.
* [REFACTOR] Config Separated configure const class.
* [BUGFIX] Report Report can be sent successfully with emoji now. (@music47ell)
* [IAPI] New Europe Image Optimization server (EU3/EU4).
* [IAPI] New America Image Optimization server (US3/US4/US5/US6).
* [IAPI] New Asian Image Optimization server (AS3).
* [IAPI] Refactored optimization process.
* [IAPI] Increased credit limit.
* [IAPI] Removed request interval limit.
* [IAPI] IAPI v2.4.
* We strongly recommended that you re-optimize your image library to get a better compression result.
= 2.3.1 - Jun 18 2018 =
* [IMPROVEMENT] New setting to disable Generate Critical CSS. (@cybmeta)
* [IMPROVEMENT] Added filter to can_cdn/can_optm check. (@Jacob)
* [UPDATE] *Critical CSS* Added 404 css. Limit cron interval.
* [UPDATE] AJAX will not bypass CDN anymore by default. (@Jacob)
* [GUI] Show Disable All Features warning if it is on in Debug tab.
= 2.3 - Jun 13 2018 =
* [NEW FEATURE] Automatically generate critical CSS. (@joeee @ivan_ivanov @3dseo)
* [BUGFIX] "Mark this page as..." from dropdown menu will not reset settings anymore. (@cbratschi)
= 2.2.7 - Jun 4 2018 =
* [IMPROVEMENT] Improved redirection for manual image pull to avoid too many redirections warning.
* [IAPI] Increased credit limit.
* [BUGFIX] Fixed 503 error when enabling log filters in Debug tab. (#525206)
* [UPDATE] Improve compatibility when using sitemap url on servers with allow_url_open off.
* [UPDATE] Removed Crawler HTTP2 option due to causing no-cache blacklist issue for certain environments.
* [UPDATE] Privacy policy can be now translated. (@Josemi)
* [UPDATE] IAPI Increased default img request max to 3000.
= 2.2.6 - May 24 2018 =
* [NEW FEATURE] Original image backups can be removed now. (@borisov87 @JMCA2)
* [BUGFIX] Role Excludes in Tuning tab can save now. (@pako69)
* [UPDATE] Added privacy policy support.
= 2.2.5 - May 14 2018 =
* [IAPI] Image Optimization New Asian Image Optimization server (AS2).
* [INTEGRATION] Removed wpForo 3rd party file. (@massimod)
= 2.2.4 - May 7 2018 =
* [IMPROVEMENT] Improved compatibility with themes using the same js_min library. (#129093 @Darren)
* [BUGFIX] Fixed a bug when checking image path for dynamic files. (@miladk)
* [INTEGRATION] Compatibility with Universal Star Rating. (@miladk)
= 2.2.3 - Apr 27 2018 =
* [NEW FEATURE] WebP For Extra srcset setting in Media tab. (@vengen)
* [REFACTOR] Removed redundant LS consts.
* [REFACTOR] Refactored adv_cache generation flow.
* [BUGFIX] Fixed issue where inline JS minify exception caused a blank page. (@oomskaap @kenb1978)
* [UPDATE] Changed HTTP/2 Crawl default value to OFF.
* [UPDATE] Added img.data-src to default WebP replacement value for WooCommerce WebP support.
* [UPDATE] Detached crawler from LSCache LITESPEED_ON status.
* [API] Improved ESI API to honor the cache control in ESI wrapper.
* [API] Added LITESPEED_PURGE_SILENT const to bypass the notification when purging
* [INTEGRATION] Fixed issue with nonce expiration when using ESI API. (#923505 @Dan)
* [INTEGRATION] Improved compatibility with Ninja Forms by bypassing non-javascript JS from inline JS minify.
* [INTEGRATION] Added a hook for plugins that change the CSS/JS path e.g. Hide My WordPress.
= 2.2.2 - Apr 16 2018 =
* [NEW FEATURE] WebP Attribute To Replace setting in Media tab. (@vengen)
* [IMPROVEMENT] Generate adv_cache file automatically when it is lost.
* [IMPROVEMENT] Improved compatibility with ajax login. (@veganostomy)
* [UPDATE] Added object cache lib check in case user downgrades LSCWP to non-object-cache versions.
* [UPDATE] Avoided infinite loop when users enter invalid hook values in Purge All Hooks settings.
* [UPDATE] Updated log format in media&cdn class.
* [UPDATE] Added more items to Report.
= 2.2.1 - Apr 10 2018 =
* [NEW FEATURE] Included Directories setting in CDN tab. (@Dave)
* [NEW FEATURE] Purge All Hooks setting in Advanced tab.
* [UPDATE] Added background-image WebP replacement support. (@vengen)
* [UPDATE] Show recommended values for textarea items in settings.
* [UPDATE] Moved CSS/JS optimizer log to Advanced level.
* [INTEGRATION] Added WebP support for Avada Fusion Sliders. (@vengen)
= 2.2.0.2 - Apr 3 2018 =
* [HOTFIX] Object Cache Fixed the PHP warning caused by previous improvement to Object Cache.
= 2.2.0.1 - Apr 3 2018 =
* [HOTFIX] Object parameter will no longer cause warnings to be logged for Purge and Cache classes. (@kelltech @khrifat)
* [UPDATE] Removed duplicated del_file func from Object Cache class.
* [BUGFIX] `CLI` no longer shows 400 error upon successful result.
= 2.2 - Apr 2 2018 =
* [NEW FEATURE] Debug Disable All Features setting in Debug tab. (@monarobase)
* [NEW FEATURE] Cache Force Cacheable URIs setting in Excludes tab.
* [NEW FEATURE] Purge Purge all LSCache and other caches in one link.
* [REFACTOR] Purge Refactored Purge class.
* [BUGFIX] Query strings in DoNotCacheURI setting now works.
* [BUGFIX] Cache Mobile cache compatibility with WebP vary. (@Shivam #987121)
* [UPDATE] Purge Moved purge_all to Purge class from core class.
* [API] Set cacheable/Set force cacheable. (@Jacob)
= 2.1.2 - Mar 28 2018 =
* [NEW FEATURE] Image Optimization Clean Up Unfinished Data feature.
* [IAPI] IAPI v2.1.2.
* [IMPROVEMENT] CSS/JS Minify Reduced loading time significantly by improving CSS/JS minify loading process. (@kokers)
* [IMPROVEMENT] CSS/JS Minify Cache empty JS Minify content. (@kokers)
* [IMPROVEMENT] Cache Cache 301 redirect when scheme/host are same.
* [BUGFIX] Media Lazy load now can support WebP. (@relle)
* [UPDATE] CSS/JS Optimize Serve static files for CSS async & lazy load JS library.
* [UPDATE] Report Appended Basic/Advanced View setting to Report.
* [UPDATE] CSS/JS Minify Removed zero-width space from CSS/JS content.
* [GUI] Added Purge CSS/JS Cache link in Admin.
= 2.1.1.1 - Mar 21 2018 =
* [BUGFIX] Fixed issue where activation failed to add rules to .htaccess.
* [BUGFIX] Fixed issue where 304 header was blank on feed page refresh.
= 2.1.1 - Mar 20 2018 =
* [NEW FEATURE] Browser Cache Unlocked for non-LiteSpeed users.
* [IMPROVEMENT] Image Optimization Fixed issue where images with bad postmeta value continued to show in not-yet-requested queue.
= 2.1 - Mar 15 2018 =
* [NEW FEATURE] Image Optimization Unlocked for non-LiteSpeed users.
* [NEW FEATURE] Object Cache Unlocked for non-LiteSpeed users.
* [NEW FEATURE] Crawler Unlocked for non-LiteSpeed users.
* [NEW FEATURE] Database Cleaner and Optimizer Unlocked for non-LiteSpeed users.
* [NEW FEATURE] Lazy Load Images Unlocked for non-LiteSpeed users.
* [NEW FEATURE] CSS/JS/HTML Minify/Combine Optimize Unlocked for non-LiteSpeed users.
* [IAPI] IAPI v2.0.
* [IAPI] Increased max rows prefetch when client has additional credit.
* [IMPROVEMENT] CDN Multiple domains may now be used.
* [IMPROVEMENT] Report Added WP environment constants for better debugging.
* [REFACTOR] Separated Cloudflare CDN class.
* [BUGFIX] Image Optimization Fixed issue where certain MySQL version failed to create img_optm table. (@philippwidmer)
* [BUGFIX] Image Optimization Fixed issue where callback validation failed when pulling and sending request simultaneously.
* [GUI] Added Slack community banner.
* [INTEGRATION] CDN compatibility with WPML multiple domains. (@egemensarica)
= 2.0 - Mar 7 2018 =
* [NEW FEATURE] Image Optimization Added level up guidance.
* [REFACTOR] Image Optimization Refactored Image Optimization class.
* [IAPI] Image Optimization New European Image Optimization server (EU2).
* [IMPROVEMENT] Image Optimization Manual pull action continues pulling until complete.
* [IMPROVEMENT] CDN Multiple CDNs can now be randomized for a single resource.
* [IMPROVEMENT] Image Optimization Improved compatibility of long src images.
* [IMPROVEMENT] Image Optimization Reduced runtime load.
* [IMPROVEMENT] Image Optimization Avoid potential loss/reset of notified images status when pulling.
* [IMPROVEMENT] Image Optimization Avoid duplicated optimization for multiple records in Media that have the same image source.
* [IMPROVEMENT] Image Optimization Fixed issue where phantom images continued to show in not-yet-requested queue.
* [BUGFIX] Core Improved compatibility when upgrading outside of WP Admin. (@jikatal @TylorB)
* [BUGFIX] Crawler Improved HTTP/2 compatibility to avoid erroneous blacklisting.
* [BUGFIX] Crawler Changing Delay setting will use server variable for min value validation if set.
* [UPDATE] Crawler Added HTTP/2 protocol switch in the Crawler settings.
* [UPDATE] Removed unnecessary translation strings.
* [GUI] Display translated role group name string instead of English values. (@Richard Hordern)
* [GUI] Added Join LiteSpeed Slack link.
* [GUI] Import / Export Cosmetic changes to Import Settings file field.
* [INTEGRATION] Improved compatibility with WPML Media for Image Optimization. (@szmigieldesign)
= 1.9.1.1 - February 20 2018 =
* [Hotfix] Removed empty crawler when no role simulation is set.
= 1.9.1 - February 20 2018 =
* [NEW FEATURE] Role Simulation crawler.
* [NEW FEATURE] WebP multiple crawler.
* [NEW FEATURE] HTTP/2 support for crawler.
* [BUGFIX] Fixed a js bug with the auto complete mobile user agents field when cache mobile is turned on.
* [BUGFIX] Fixed a constant undefined warning after activation.
* [GUI] Sitemap generation settings are no longer hidden when using a custom sitemap.
= 1.9 - February 12 2018 =
* [NEW FEATURE] Inline CSS/JS Minify.
* [IMPROVEMENT] Removed Composer vendor to thin the plugin folder.
* [UPDATE] Tweaked H2 to H1 in Admin headings for accessibility. (@steverep)
* [GUI] Added Mobile User Agents to basic view.
* [GUI] Moved Object Cache & Browser Cache from Cache tab to Advanced tab.
* [GUI] Moved LSCache Purge All from Adminbar to dropdown menu.
= 1.8.3 - February 2 2018 =
* [NEW FEATURE] Crawler server variable limitation support.
* [IMPROVEMENT] Added Store Transients option to fix transients missing issue when Cache Wp-Admin setting is OFF.
* [IMPROVEMENT] Tweaked ARIA support. (@steverep)
* [IMPROVEMENT] Used strpos instead of strncmp for performance. (@Zach E)
* [BUGFIX] Transient cache can now be removed when the Cache Wp-Admin setting is ON in Object Cache.
* [BUGFIX] Network sites can now save Advanced settings.
* [BUGFIX] Media list now shows in network sites.
* [BUGFIX] Show Crawler Status button is working again.
* [UPDATE] Fixed a couple of potential PHP notices in the Network cache tab and when no vary group is set.
* [GUI] Added Learn More link to all setting pages.
= 1.8.2 - January 29 2018 =
* [NEW FEATURE] Instant Click in the Advanced tab.
* [NEW FEATURE] Import/Export settings.
* [NEW FEATURE] Opcode Cache support.
* [NEW FEATURE] Basic/Advanced setting view.
* [IMPROVEMENT] Added ARIA support in widget settings.
* [BUGFIX] Multiple WordPress instances with same Object Cache address will no longer see shared data.
* [BUGFIX] WebP Replacement may now be set at the Network level.
* [BUGFIX] Object Cache file can now be removed at the Network level uninstall.
= 1.8.1 - January 22 2018 =
* [NEW FEATURE] Object Cache now supports Redis.
* [IMPROVEMENT] Memcached Object Cache now supports authorization.
* [IMPROVEMENT] A 500 error will no longer be encountered when turning on Object Cache without the proper PHP extension installed.
* [BUGFIX] Object Cache settings can now be saved at the Network level.
* [BUGFIX] Mu-plugin now supports Network setting.
* [BUGFIX] Fixed admin bar showing inaccurate Edit Page link.
* [UPDATE] Removed warning information when no Memcached server is available.
= 1.8 - January 17 2018 =
* [NEW FEATURE] Object Cache.
* [REFACTOR] Refactored Log class.
* [REFACTOR] Refactored LSCWP basic const initialization.
* [BUGFIX] Fixed Cloudflare domain search breaking when saving more than 50 domains under a single account.
* [UPDATE] Log filter settings are now their own item in the wp-option table.
= 1.7.2 - January 5 2018 =
* [NEW FEATURE] Cloudflare API support.
* [IMPROVEMENT] IAPI key can now be reset to avoid issues when domain is changed.
* [BUGFIX] Fixed JS optimizer breaking certain plugins JS.
* [UPDATE] Added cdn settings to environment report.
* [GUI] Added more shortcuts to backend adminbar.
* [INTEGRATION] WooCommerce visitors are now served from public cache when cart is empty.
= 1.7.1.1 - December 29 2017 =
* [BUGFIX] Fixed an extra trailing underscore issue when saving multiple lines with DNS Prefetch.
* [UPDATE] Cleaned up unused dependency vendor files.
= 1.7.1 - December 28 2017 =
* [NEW FEATURE] Added DNS Prefetch setting on the Optimize page.
* [NEW FEATURE] Added Combined File Max Size setting on the Tuning page.
* [IMPROVEMENT] Improved JS/CSS minify to achieve higher page scores.
* [IMPROVEMENT] Optimized JS/CSS files will not be served from private cache for OLS or with ESI off.
* [UPDATE] Fixed a potential warning for new installations on the Settings page.
* [UPDATE] Fixed an issue with guest users occasionally receiving PHP warnings.
* [BUGFIX] Fixed a bug with the Improve HTTPS Compatibility setting failing to save.
* Thanks to all of our users for your encouragement and support! Happy New Year!
* PS: Lookout 2018, we're back!
= 1.7 - December 22 2017 =
* [NEW FEATURE] Drop Query Strings setting in the Cache tab.
* [NEW FEATURE] Multiple CDN Mapping in the CDN tab.
* [IMPROVEMENT] Improve HTTP/HTTPS Compatibility setting in the Advanced tab.
* [IMPROVEMENT] Keep JS/CSS original position in HTML when excluded in setting.
* [IAPI] Reset client level credit after Image Optimization data is destroyed.
* [REFACTOR] Refactored build_input/textarea functions in admin_display class.
* [REFACTOR] Refactored CDN class.
* [GUI] Added a notice to Image Optimization and Crawler to warn when cache is disabled.
* [GUI] Improved image optimization indicator styles in Media Library List.
= 1.6.7 - December 15 2017 =
* [IAPI] Added ability to scan for new image thumbnail sizes and auto-resend image optimization requests.
* [IAPI] Added ability to destroy all optimization data.
* [IAPI] Updated IAPI to v1.6.7.
* [INTEGRATION] Fixed certain 3rd party plugins calling REST without user nonce causing logged in users to be served as guest.
= 1.6.6.1 - December 8 2017 =
* [IAPI] Limit first-time submission to one image group for test-run purposes.
* [BUGFIX] Fixed vary group generation issue associated with custom user role plugins.
* [BUGFIX] Fixed WooCommerce issue where logged-in users were erroneously purged when ESI is off.
* [BUGFIX] Fixed WooCommerce cache miss issue when ESI is off.
= 1.6.6 - December 6 2017 =
* [NEW FEATURE] Preserve EXIF in Media setting.
* [NEW FEATURE] Clear log button in Debug Log Viewer.
* [IAPI] Fixed notified images resetting to previous status when pulling.
* [IAPI] Fixed HTTPS compatibility for image optimization initialization.
* [IAPI] An error message is now displayed when image optimization request submission is bypassed due to a lack of credit.
* [IAPI] IAPI v1.6.6.
* [IMPROVEMENT] Support JS data-no-optimize attribute to bypass optimization.
* [GUI] Added image group wiki link.
* [INTEGRATION] Improved compatibility with Login With Ajax.
* [INTEGRATION] Added function_exists check for WooCommerce to avoid 500 errors.
= 1.6.5.1 - December 1 2017 =
* [HOTFIX] Fixed warning message on Edit .htaccess page.
= 1.6.5 - November 30 2017 =
* [IAPI] Manually pull image optimization action button.
* [IAPI] Automatic credit system for image optimization to bypass unfinished image optimization error.
* [IAPI] Notify failed images from LiteSpeed's Image Server.
* [IAPI] Reset/Clear failed images feature.
* [IAPI] Redesigned report page.
* [REFACTOR] Moved pull_img logic from admin_api to media.
* [BUGFIX] Fixed a compatibility issue for clients who have allow_url_open setting off.
* [BUGFIX] Fixed logged in users sometimes being served from guest cache.
* [UPDATE] Environment report is no longer saved to a file.
* [UPDATE] Removed crawler reset notification.
* [GUI] Added more details on image optimization.
* [GUI] Removed info page from admin menu.
* [GUI] Moved environment report from network level to single site level.
* [GUI] Crawler time added in a user friendly format.
* [INTEGRATION] Improved compatibility with FacetWP json call.
= 1.6.4 - November 22 2017 =
* [NEW FEATURE] Send env reports privately with a new built-in report number referral system.
* [IAPI] Increased request timeout to fix a cUrl 28 timeout issue.
* [BUGFIX] Fixed a TTL max value validation bug.
* [INTEGRATION] Improved Contact Form 7 REST call compatibility for logged in users.
* Thanks for all your ratings. That encouraged us to be more diligent. Happy Thanksgiving.
= 1.6.3 - November 17 2017 =
* [NEW FEATURE] Only async Google Fonts setting.
* [NEW FEATURE] Only create WebP images when optimizing setting.
* [NEW FEATURE] Batch switch images to original/optimized versions in Image Optimization.
* [NEW FEATURE] Browser Cache TTL setting.
* [NEW FEATURE] Cache WooCommerce Cart setting.
* [IMPROVEMENT] Moved optimized JS/CSS snippet in header html to after meta charset.
* [IMPROVEMENT] Added a constant for better JS/CSS optimization compatibility for different dir WordPress installation.
* [IAPI] Take over failed callback check instead of bypassing it.
* [IAPI] Image optimization requests are now limited to 500 images per request.
* [BUGFIX] Fixed a parsing failure bug not using attributes in html elements with dash.
* [BUGFIX] Fixed a bug causing non-script code to move to the top of a page when not using combination.
* [UPDATE] Added detailed logs for external link detection.
* [UPDATE] Added new lines in footer comment to avoid Firefox crash when enabled HTML minify.
* [API] `Purge private` / `Purge private all` / `Add private tag` functions.
* [GUI] Redesigned image optimization operation links in Media Lib list.
* [GUI] Tweaked wp-admin form save button position.
* [GUI] Added "learn more" link for image optimization.
= 1.6.2.1 - November 6 2017 =
* [INTEGRATION] Improved compatibility with old WooCommerce versions to avoid unknown 500 errors.
* [BUGFIX] Fixed WebP images sometimes being used in non-supported browsers.
* [BUGFIX] Kept query strings for HTTP/2 push to avoid re-fetching pushed sources.
* [BUGFIX] Excluded JS/CSS from HTTP/2 push when using CDN.
* [GUI] Fixed a typo in Media list.
* [GUI] Made more image optimization strings translatable.
* [GUI] Updated Tuning description to include API documentation.
= 1.6.2 - November 3 2017 =
* [NEW FEATURE] Do Not Cache Roles.
* [NEW FEATURE] Use WebP Images for supported browsers.
* [NEW FEATURE] Disable Optimization Poll ON/OFF Switch in Media tab.
* [NEW FEATURE] Revert image optimization per image in Media list.
* [NEW FEATURE] Disable/Enable image WebP per image in Media list.
* [IAPI] Limit optimized images fetching cron to a single process.
* [IAPI] Updated IAPI to v1.6.2.
* [IAPI] Fixed repeating image request issue by adding a failure status to local images.
* [REFACTOR] Refactored login vary logic.
= 1.6.1 - October 29 2017 =
* [IAPI] Updated LiteSpeed Image Optimization Server API to v1.6.1.
= 1.6 - October 27 2017 =
* [NEW FEATURE] Image Optimization.
* [NEW FEATURE] Role Excludes for Optimization.
* [NEW FEATURE] Combined CSS/JS Priority.
* [IMPROVEMENT] Bypass CDN for login/register page.
* [UPDATE] Expanded ExpiresByType rules to include new font types. ( Thanks to JMCA2 )
* [UPDATE] Removed duplicated type param in admin action link.
* [BUGFIX] Fixed CDN wrongly replacing img base64 and "fake" src in JS.
* [BUGFIX] Fixed image lazy load replacing base64 src.
* [BUGFIX] Fixed a typo in Optimize class exception.
* [GUI] New Tuning tab in admin settings panel.
* [REFACTOR] Simplified router by reducing actions and adding types.
* [REFACTOR] Renamed `run()` to `finalize()` in buffer process.
= 1.5 - October 17 2017 =
* [NEW FEATURE] Exclude JQuery (to fix inline JS error when using JS Combine).
* [NEW FEATURE] Load JQuery Remotely.
* [NEW FEATURE] JS Deferred Excludes.
* [NEW FEATURE] Lazy Load Images Excludes.
* [NEW FEATURE] Lazy Load Image Placeholder.
* [IMPROVEMENT] Improved Lazy Load size attribute for w3c validator.
* [UPDATE] Added basic caching info and LSCWP version to HTML comment.
* [UPDATE] Added debug log to HTML detection.
* [BUGFIX] Fixed potential font CORS issue when using CDN.
* [GUI] Added API docs to setting description.
* [REFACTOR] Relocated all classes under includes with backwards compatibility.
* [REFACTOR] Relocated admin templates.
= 1.4 - October 11 2017 =
* [NEW FEATURE] Lazy load images/iframes.
* [NEW FEATURE] Clean CSS/JS optimizer data functionality in DB Optimizer panel.
* [NEW FEATURE] Exclude certain URIs from optimizer.
* [IMPROVEMENT] Improved optimizer HTML check compatibility to avoid conflicts with ESI functions.
* [IMPROVEMENT] Added support for using ^ when matching the start of a path in matching settings.
* [IMPROVEMENT] Added wildcard support in CDN original URL.
* [IMPROVEMENT] Moved optimizer table initialization to admin setting panel with failure warning.
* [UPDATE] Added a one-time welcome banner.
* [UPDATE] Partly relocated class: 'api'.
* [API] Added API wrapper for removing wrapped HTML output.
* [INTEGRATION] Fixed WooCommerce conflict with optimizer.
* [INTEGRATION] Private cache support for WooCommerce v3.2.0+.
* [GUI] Added No Optimization menu to frontend.
= 1.3.1.1 - October 6 2017 =
* [BUGFIX] Improved optimizer table creating process in certain database charset to avoid css/js minify/combination failure.
= 1.3.1 - October 5 2017 =
* [NEW FEATURE] Remove WP Emoji Option.
* [IMPROVEMENT] Separated optimizer data from wp_options to improve compatibility with backup plugins.
* [IMPROVEMENT] Enhanced crawler cron hook to prevent de-scheduling in some cases.
* [IMPROVEMENT] Enhanced Remove Query Strings to also remove Emoji query strings.
* [IMPROVEMENT] Enhanced HTML detection when extra spaces are present at the beginning.
* [UPDATE] Added private cache support for OLS.
* [BUGFIX] Self-redirects are no longer cached.
* [BUGFIX] Fixed css async lib warning when loading in HTTP/2 push.
= 1.3 - October 1 2017 =
* [NEW FEATURE] Added Browser Cache support.
* [NEW FEATURE] Added Remove Query Strings support.
* [NEW FEATURE] Added Remove Google Fonts support.
* [NEW FEATURE] Added Load CSS Asynchronously support.
* [NEW FEATURE] Added Load JS Deferred support.
* [NEW FEATURE] Added Critical CSS Rules support.
* [NEW FEATURE] Added Private Cached URIs support.
* [NEW FEATURE] Added Do Not Cache Query Strings support.
* [NEW FEATURE] Added frontend adminbar shortcuts ( Purge this page/Do Not Cache/Private cache ).
* [IMPROVEMENT] Do Not Cache URIs now supports full URLs.
* [IMPROVEMENT] Improved performance of Do Not Cache settings.
* [IMPROVEMENT] Encrypted vary cookie.
* [IMPROVEMENT] Enhanced HTML optimizer.
* [IMPROVEMENT] Limited combined file size to avoid heavy memory usage.
* [IMPROVEMENT] CDN supports custom upload folder for media files.
* [API] Added purge single post API.
* [API] Added version compare API.
* [API] Enhanced ESI API for third party plugins.
* [INTEGRATION] Compatibility with NextGEN Gallery v2.2.14.
* [INTEGRATION] Compatibility with Caldera Forms v1.5.6.2+.
* [BUGFIX] Fixed CDN&Minify compatibility with css url links.
* [BUGFIX] Fixed .htaccess being regenerated despite there being no changes.
* [BUGFIX] Fixed CDN path bug for subfolder WP instance.
* [BUGFIX] Fixed crawler path bug for subfolder WP instance with different site url and home url.
* [BUGFIX] Fixed a potential Optimizer generating redundant duplicated JS in HTML bug.
* [GUI] Added a more easily accessed submit button in admin settings.
* [GUI] Admin settings page cosmetic changes.
* [GUI] Reorganized GUI css/img folder structure.
* [REFACTOR] Refactored configuration init.
* [REFACTOR] Refactored admin setting save.
* [REFACTOR] Refactored .htaccess operator and rewrite rule generation.
= 1.2.3.1 - September 20 2017 =
* [UPDATE] Improved PHP5.3 compatibility.
= 1.2.3 - September 20 2017 =
* [NEW FEATURE] Added CDN support.
* [IMPROVEMENT] Improved compatibility when upgrading by fixing a possible fatal error.
* [IMPROVEMENT] Added support for custom wp-content paths.
* [BUGFIX] Fixed non-primary network blogs not being able to minify.
* [BUGFIX] Fixed HTML Minify preventing Facebook from being able to parse og tags.
* [BUGFIX] Preview page is no longer cacheable.
* [BUGFIX] Corrected log and crawler timezone to match set WP timezone.
* [GUI] Revamp of plugin GUI.
= 1.2.2 - September 15 2017 =
* [NEW FEATURE] Added CSS/JS minification.
* [NEW FEATURE] Added CSS/JS combining.
* [NEW FEATURE] Added CSS/JS HTTP/2 server push.
* [NEW FEATURE] Added HTML minification.
* [NEW FEATURE] Added CSS/JS cache purge button in management.
* [UPDATE] Improved debug log formatting.
* [UPDATE] Fixed some description typos.
= 1.2.1 - September 7 2017 =
* [NEW FEATURE] Added Database Optimizer.
* [NEW FEATURE] Added Tab switch shortcut.
* [IMPROVEMENT] Added cache disabled check for management pages.
* [IMPROVEMENT] Renamed .htaccess backup for security.
* [BUGFIX] Fixed woocommerce default ESI setting bug.
* [REFACTOR] Show ESI page for OLS with notice.
* [REFACTOR] Management Purge GUI updated.
= 1.2.0.1 - September 1 2017 =
* [BUGFIX] Fixed a naming bug for network constant ON2.
= 1.2.0 - September 1 2017 =
* [NEW FEATURE] Added ESI support.
* [NEW FEATURE] Added a private cache TTL setting.
* [NEW FEATURE] Debug level can now be set to either 'Basic' or 'Advanced'.
* [REFACTOR] Renamed const 'NOTSET' to 'ON2' in class config.
= 1.1.6 - August 23 2017 =
* [NEW FEATURE] Added option to privately cache logged-in users.
* [NEW FEATURE] Added option to privately cache commenters.
* [NEW FEATURE] Added option to cache requests made through WordPress REST API.
* [BUGFIX] Fixed network 3rd-party full-page cache detection bug.
* [GUI] New Cache and Purge menus in Settings.
= 1.1.5.1 - August 16 2017 =
* [IMPROVEMENT] Improved compatibility of frontend&backend .htaccess path detection when site url is different than installation path.
* [UPDATE] Removed unused format string from header tags.
* [BUGFIX] 'showheader' Admin Query String now works.
* [REFACTOR] Cache tags will no longer output if not needed.
= 1.1.5 - August 10 2017 =
* [NEW FEATURE] Scheduled Purge URLs feature.
* [NEW FEATURE] Added buffer callback to improve compatibility with some plugins that force buffer cleaning.
* [NEW FEATURE] Hide purge_all admin bar quick link if cache is disabled.
* [NEW FEATURE] Required htaccess rules are now displayed when .htaccess is not writable.
* [NEW FEATURE] Debug log features: filter log support; heartbeat control; log file size limit; log viewer.
* [IMPROVEMENT] Separate crawler access log.
* [IMPROVEMENT] Lazy PURGE requests made after output are now queued and working.
* [IMPROVEMENT] Improved readme.txt with keywords relating to our compatible plugins list.
* [UPDATE] 'ExpiresDefault' conflict msg is now closeable and only appears in the .htaccess edit screen.
* [UPDATE] Improved debug log formatting.
* [INTEGRATION] Compatibility with MainWP plugin.
* [BUGFIX] Fixed WooCommerce order not purging product stock quantity.
* [BUGFIX] Fixed WooCommerce scheduled sale price not updating issue.
* [REFACTOR] Combined cache_enable functions into a single function.
= 1.1.4 - August 1 2017 =
* [IMPROVEMENT] Unexpected rewrite rules will now show an error message.
* [IMPROVEMENT] Added Cache Tag Prefix setting info in the Env Report and Info page.
* [IMPROVEMENT] LSCWP setting link is now displayed in the plugin list.
* [IMPROVEMENT] Improved performance when setting cache control.
* [UPDATE] Added backward compatibility for v1.1.2.2 API calls. (used by 3rd-party plugins)
* [BUGFIX] Fixed WPCLI purge tag/category never succeeding.
= 1.1.3 - July 31 2017 =
* [NEW FEATURE] New LiteSpeed_Cache_API class and documentation for 3rd party integration.
* [NEW FEATURE] New API function litespeed_purge_single_post($post_id).
* [NEW FEATURE] PHP CLI support for crawler.
* [IMPROVEMENT] Set 'no cache' for same location 301 redirects.
* [IMPROVEMENT] Improved LiteSpeed footer comment compatibility.
* [UPDATE] Removed 'cache tag prefix' setting.
* [BUGFIX] Fixed a bug involving CLI purge all.
* [BUGFIX] Crawler now honors X-LiteSpeed-Cache-Control for the 'no-cache' header.
* [BUGFIX] Cache/rewrite rules are now cleared when the plugin is uninstalled.
* [BUGFIX] Prevent incorrect removal of the advanced-cache.php on deactivation if it was added by another plugin.
* [BUGFIX] Fixed subfolder WP installations being unable to Purge By URL using a full URL path.
* [REFACTOR] Reorganized existing code for an upcoming ESI release.
= 1.1.2.2 - July 13 2017 =
* [BUGFIX] Fixed blank page in Hebrew language post editor by removing unused font-awesome and jquery-ui css libraries.
= 1.1.2.1 - July 5 2017 =
* [UPDATE] Improved compatibility with WooCommerce v3.1.0.
= 1.1.2 - June 20 2017 =
* [BUGFIX] Fixed missing form close tag.
* [UPDATE] Added a wiki link for enabling the crawler.
* [UPDATE] Improved Site IP description.
* [UPDATE] Added an introduction to the crawler on the Information page.
* [REFACTOR] Added more detailed error messages for Site IP and Custom Sitemap settings.
= 1.1.1.1 - June 15 2017 =
* [BUGFIX] Hotfix for insufficient validation of site IP value in crawler settings.
= 1.1.1 - June 15 2017 =
* [NEW] As of LiteSpeed Web Server v.5.1.16, the crawler can now be enabled/disabled at the server level.
* [NEW] Added the ability to provide a custom sitemap for crawling.
* [NEW] Added ability to use site IP address directly in crawler settings.
* [NEW] Crawler performance improved with the use of new custom user agent 'lsrunner'.
* [NEW] "Purge By URLs" now supports full URL paths.
* [NEW] Added thirdparty WP-PostRatings compatibility.
* [BUGFIX] Cache is now cleared when changing post status from published to draft.
* [BUGFIX] WHM activation message no longer continues to reappear after being dismissed.
* [COSMETIC] Display recommended values for settings.
= 1.1.0.1 - June 8 2017 =
* [UPDATE] Improved default crawler interval setting.
* [UPDATE] Tested up to WP 4.8.
* [BUGFIX] Fixed compatibility with plugins that output json data.
* [BUGFIX] Fixed tab switching bug.
* [BUGFIX] Removed occasional duplicated messages on save.
* [COSMETIC] Improved crawler tooltips and descriptions.
= 1.1.0 - June 6 2017 =
* [NEW] Added a crawler - this includes configuration options and a dedicated admin page. Uses wp-cron
* [NEW] Added integration for WPLister
* [NEW] Added integration for Avada
* [UPDATE] General structure of the plugin revamped
* [UPDATE] Improved look of admin pages
* [BUGFIX] Fix any/all wp-content path retrieval issues
* [BUGFIX] Use realpath to clear symbolic link when determining .htaccess paths
* [BUGFIX] Fixed a bug where upgrading multiple plugins did not trigger a purge all
* [BUGFIX] Fixed a bug where cli import_options did not actually update the options.
* [REFACTOR] Most of the files in the code were split into more, smaller files
= 1.0.15 - April 20 2017 =
* [NEW] Added Purge Pages and Purge Recent Posts Widget pages options.
* [NEW] Added wp-cli command for setting and getting options.
* [NEW] Added an import/export options cli command.
* [NEW] Added wpForo integration.
* [NEW] Added Theme My Login integration.
* [UPDATE] Purge adjacent posts when publish a new post.
* [UPDATE] Change environment report file to .php and increase security.
* [UPDATE] Added new purgeby option to wp-cli.
* [UPDATE] Remove nag for multiple sites.
* [UPDATE] Only inject LiteSpeed javascripts in LiteSpeed pages.
* [REFACTOR] Properly check for zero in ttl settings.
* [BUGFIX] Fixed the 404 issue that can be caused by some certain plugins when save the settings.
* [BUGFIX] Fixed mu-plugin compatibility.
* [BUGFIX] Fixed problem with creating zip backup.
* [BUGFIX] Fixed conflict with jetpack.
= 1.0.14.1 - January 31 2017 =
* [UPDATE] Removed Freemius integration due to feedback.
= 1.0.14 - January 30 2017 =
* [NEW] Added error page caching. Currently supports 403, 404, 500s.
* [NEW] Added a purge errors action.
* [NEW] Added wp-cli integration.
* [UPDATE] Added support for multiple varies.
* [UPDATE] Reorganize the admin interface to be less cluttered.
* [UPDATE] Add support for LiteSpeed Web ADC.
* [UPDATE] Add Freemius integration.
* [REFACTOR] Made some changes so that the rewrite rules are a little more consistent.
* [BUGFIX] Check member type before adding purge all button.
* [BUGFIX] Fixed a bug where activating/deactivating the plugin quickly caused the WP_CACHE error to show up.
* [BUGFIX] Handle more characters in the rewrite parser.
* [BUGFIX] Correctly purge posts when they are made public/private.
= 1.0.13.1 - November 30 2016 =
* [BUGFIX] Fixed a bug where a global was being used without checking existence first, causing unnecessary log entries.
= 1.0.13 - November 28 2016 =
* [NEW] Add an Empty Entire Cache button.
* [NEW] Add stale logic to certain purge actions.
* [NEW] Add option to use primary site settings for all subsites in a multisite environment.
* [NEW] Add support for Aelia CurrencySwitcher
* [UPDATE] Add logic to allow third party vary headers
* [UPDATE] Handle password protected pages differently.
* [BUGFIX] Fixed bug caused by saving settings.
* [BUGFIX] FIxed bug when searching for advanced-cache.php
= 1.0.12 - November 14 2016 =
* [NEW] Added logic to generate environment reports.
* [NEW] Created a notice that will be triggered when the WHM Plugin installs this plugin. This will notify users when the plugin is installed by their server admin.
* [NEW] Added the option to cache 404 pages via 404 Page TTL setting.
* [NEW] Reworked log system to be based on selection of yes or no instead of log level.
* [NEW] Added support for Autoptimize.
* [NEW] Added Better WP Minify integration.
* [UPDATE] On plugin disable, clear .htaccess.
* [UPDATE] Introduced URL tag. Changed Purge by URL to use this new tag.
* [BUGFIX] Fixed a bug triggered when .htaccess files were empty.
* [BUGFIX] Correctly determine when to clear files in multisite environments (wp-config, advanced-cache, etc.).
* [BUGFIX] When disabling the cache, settings changed in the same save will now be saved.
* [BUGFIX] Various bugs from setting changes and multisite fixed.
* [BUGFIX] Fixed two bugs with the .htaccess path search.
* [BUGFIX] Do not alter $_GET in add_quick_purge. This may cause issues for functionality occurring later in the same request.
* [BUGFIX] Right to left radio settings were incorrectly displayed. The radio buttons themselves were the opposite direction of the associated text.
= 1.0.11 - October 11 2016 =
* [NEW] The plugin will now set cachelookup public on.
* [NEW] New option - check advanced-cache.php. This enables users to have two caching plugins enabled at the same time as long as the other plugin is not used for caching purposes. For example, using another cache plugin for css/js minification.
* [UPDATE] Rules added by the plugin will now be inserted into an LSCACHE START/END PLUGIN comment block.
* [UPDATE] For woocommerce pages, if a user visits a non-cached page with a non-empty cart, do not cache the page.
* [UPDATE] If woocommerce needs to display any notice, do not cache the page.
* [UPDATE] Single site settings are now in both the litespeed cache submenu and the settings submenu.
* [BUGFIX] Multisite network options were not updated on upgrade. This is now corrected.
= 1.0.10 - September 16 2016 =
* Added a check for LSCACHE_NO_CACHE definition.
* Added a Purge All button to the admin bar.
* Added logic to purge the cache when upgrading a plugin or theme. By default this is enabled on single site installations and disabled on multisite installations.
* Added support for WooCommerce Versions < 2.5.0.
* Added .htaccess backup rotation. Every 10 backups, an .htaccess archive will be created. If one already exists, it will be overwritten.
* Moved some settings to the new Specific Pages tab to reduce clutter in the General tab.
* The .htaccess editor is now disabled if DISALLOW_FILE_EDIT is set.
* After saving the Cache Tag Prefix setting, all cache will be purged.
= 1.0.9.1 - August 26 2016 =
* Fixed a bug where an error displayed on the configuration screen despite not being an error.
* Change logic to check .htaccess file less often.
= 1.0.9 - August 25 2016 =
* [NEW] Added functionality to cache and purge feeds.
* [NEW] Added cache tag prefix setting to avoid conflicts when using LiteSpeed Cache for WordPress with LiteSpeed Cache for XenForo and LiteMage.
* [NEW] Added hooks to allow third party plugins to create config options.
* [NEW] Added WooCommerce config options.
* The plugin now also checks for wp-config in the parent directory.
* Improved WooCommerce support.
* Changed .htaccess backup process. Will create a .htaccess_lscachebak_orig file if one does not exist. If it does already exist, creates a backup using the date and timestamp.
* Fixed a bug where get_home_path() sometimes returned an invalid path.
* Fixed a bug where if the .htaccess was removed from a WordPress subdirectory, it was not handled properly.
= 1.0.8.1 - July 28 2016 =
* Fixed a bug where check cacheable was sometimes not hit.
* Fixed a bug where extra slashes in clear rules were stripped.
= 1.0.8 - July 25 2016 =
* Added purge all on update check to purge by post id logic.
* Added uninstall logic.
* Added configuration for caching favicons.
* Added configuration for caching the login page.
* Added configuration for caching php resources (scripts/stylesheets accessed as .php).
* Set login cookie if user is logged in and it isn’t set.
* Improved NextGenGallery support to include new actions.
* Now displays a notice on the network admin if WP_CACHE is not set.
* Fixed a few php syntax issues.
* Fixed a bug where purge by pid didn’t work.
* Fixed a bug where the Network Admin settings were shown when the plugin was active in a subsite, but not network active.
* Fixed a bug where the Advanced Cache check would sometimes not work.
= 1.0.7.1 - May 26 2016 =
* Fixed a bug where enabling purge all in the auto purge on update settings page did not purge the correct blogs.
* Fixed a bug reported by user wpc on our forums where enabling purge all in the auto purge on update settings page caused nothing to be cached.
= 1.0.7 - May 24 2016 =
* Added login cookie configuration to the Advanced Settings page.
* Added support for WPTouch plugin.
* Added support for WP-Polls plugin.
* Added Like Dislike Counter third party integration.
* Added support for Admin IP Query String Actions.
* Added confirmation pop up for purge all.
* Refactor: LiteSpeed_Cache_Admin is now split into LiteSpeed_Cache_Admin, LiteSpeed_Cache_Admin_Display, and LiteSpeed_Cache_Admin_Rules
* Refactor: Rename functions to accurately represent their functionality
* Fixed a bug that sometimes caused a “no valid header” error message.
= 1.0.6 - May 5 2016 =
* Fixed a bug reported by Knut Sparhell that prevented dashboard widgets from being opened or closed.
* Fixed a bug reported by Knut Sparhell that caused problems with https support for admin pages.
= 1.0.5 - April 26 2016 =
* [BETA] Added NextGen Gallery plugin support.
* Added third party plugin integration.
* Improved cache tag system.
* Improved formatting for admin settings pages.
* Converted bbPress to use the new third party integration system.
* Converted WooCommerce to use the new third party integration system.
* If .htaccess is not writable, disable separate mobile view and do not cache cookies/user agents.
* Cache is now automatically purged when disabled.
* Fixed a bug where .htaccess was not checked properly when adding common rules.
* Fixed a bug where multisite setups would be completely purged when one site requested a purge all.
= 1.0.4 - April 7 2016 =
* Added logic to cache commenters.
* Added htaccess backup to the install script.
* Added an htaccess editor in the wp-admin dashboard.
* Added do not cache user agents.
* Added do not cache cookies.
* Created new LiteSpeed Cache Settings submenu entries.
* Implemented Separate Mobile View.
* Modified WP_CACHE not defined message to only show up for users who can manage options.
* Moved enabled all/disable all from network management to network settings.
* Fixed a bug where WP_CACHE was not defined on activation if it was commented out.
= 1.0.3 - March 23 2016 =
* Added a Purge Front Page button to the LiteSpeed Cache Management page.
* Added a Default Front Page TTL option to the general settings.
* Added ability to define web application specific cookie names through rewrite rules to handle logged-in cookie conflicts when using multiple web applications. [Requires LSWS 5.0.15+]
* Improved WooCommerce handling.
* Fixed a bug where activating lscwp sets the “enable cache” radio button to enabled, but the cache was not enabled by default.
* Refactored code to make it cleaner.
* Updated readme.txt.
= 1.0.2 - March 11 2016 =
* Added a "Use Network Admin Setting" option for "Enable LiteSpeed Cache". For single sites, this choice will default to enabled.
* Added enable/disable all buttons for network admin. This controls the setting of all managed sites with "Use Network Admin Setting" selected for "Enable LiteSpeed Cache".
* Exclude by Category/Tag are now text areas to avoid slow load times on the LiteSpeed Cache Settings page for sites with a large number of categories/tags.
* Added a new line to advanced-cache.php to allow identification as a LiteSpeed Cache file.
* Activation/Deactivation are now better handled in multi-site environments.
* Enable LiteSpeed Cache setting is now a radio button selection instead of a single checkbox.
* Can now add '$' to the end of a URL in Exclude URI to perform an exact match.
* The _lscache_vary cookie will now be deleted upon logout.
* Fixed a bug in multi-site setups that would cause a "function already defined" error.
= 1.0.1 - March 8 2016 =
* Added Do Not Cache by URI, by Category, and by Tag. URI is a prefix/string equals match.
* Added a help tab for plugin compatibilities.
* Created logic for other plugins to purge a single post if updated.
* Fixed a bug where woocommerce pages that display the cart were cached.
* Fixed a bug where admin menus in multi-site setups were not correctly displayed.
* Fixed a bug where logged in users were served public cached pages.
* Fixed a compatibility bug with bbPress. If there is a new forum/topic/reply, the parent pages will now be purged as well.
* Fixed a bug that didn't allow cron job to update scheduled posts.
= 1.0.0 - January 20 2016 =
* Initial Release.
qc-ping.txt 0000644 00000000120 15207571326 0006644 0 ustar 00 For QUIC.cloud connectivity ping test, please do not delete, generated by LSCWP
autoload.php 0000644 00000007335 15207571326 0007105 0 ustar 00 tbody > :nth-child(odd),
.litespeed-wrap ul.striped > :nth-child(odd),
.litespeed-wrap .alternate {
background-color: #f9f9f9;
}
.litespeed-wrap .notice,
.litespeed-wrap div.updated,
.litespeed-wrap div.error {
border-left: 4px solid #fff;
box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);
padding: 1px 12px;
}
.litespeed-wrap .notice-success,
.litespeed-wrap div.updated {
border-left-color: #46b450;
}
.litespeed-wrap .notice-success.notice-alt {
background-color: #ecf7ed;
}
.litespeed-wrap .notice-warning {
border-left-color: #ffb900;
}
.litespeed-wrap .notice-warning.notice-alt {
background-color: #fff8e5;
}
.litespeed-wrap .notice-error,
.litespeed-wrap div.error {
border-left-color: #dc3232;
}
.litespeed-wrap .notice-error.notice-alt {
background-color: #fbeaea;
}
.litespeed-wrap .notice-info {
border-left-color: #00a0d2;
}
.litespeed-wrap .notice-info.notice-alt {
background-color: #e5f5fa;
}
assets/css/litespeed-dark-mode.css 0000644 00000101247 15207571326 0013204 0 ustar 00 /* =======================================
DARK MODE STYLES
======================================= */
/* Dark Mode Toggle Button */
.litespeed-dark-mode-toggle {
position: fixed;
top: 32px;
right: 20px;
z-index: 999999;
background: none;
border: none;
width: auto;
height: auto;
color: inherit;
cursor: pointer;
font-size: 16px;
}
/* =======================================
DARK MODE STYLES
Auto-applied based on browser preference
OR manually toggled with .litespeed-darkmode class
======================================= */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) {
background-color: #1e1e1e;
color: #e0e0e0;
}
}
body.litespeed-darkmode {
background-color: #1e1e1e;
color: #e0e0e0;
}
/* WordPress admin wrapper */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) #wpwrap {
background-color: #1e1e1e;
color: #e0e0e0;
}
}
body.litespeed-darkmode #wpwrap {
background-color: #1e1e1e;
color: #e0e0e0;
}
/* Main content area */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) #wpcontent {
background-color: #181818;
color: #e0e0e0;
}
}
body.litespeed-darkmode #wpcontent {
background-color: #181818;
color: #e0e0e0;
}
/* Form inputs */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type='text'],
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type='number'],
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type='email'],
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type='url'],
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type='password'],
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type='search'],
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type='file'],
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) textarea,
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) select {
background-color: #2d2d30;
border: 1px solid #3e3e42;
color: #e0e0e0;
}
}
body.litespeed-darkmode input[type='text'],
body.litespeed-darkmode input[type='number'],
body.litespeed-darkmode input[type='email'],
body.litespeed-darkmode input[type='url'],
body.litespeed-darkmode input[type='password'],
body.litespeed-darkmode input[type='search'],
body.litespeed-darkmode input[type='file'],
body.litespeed-darkmode textarea,
body.litespeed-darkmode select {
background-color: #2d2d30;
border: 1px solid #3e3e42;
color: #e0e0e0;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type='text']:focus,
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type='number']:focus,
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type='email']:focus,
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type='url']:focus,
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type='password']:focus,
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type='search']:focus,
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type='file']:focus,
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) textarea:focus,
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) select:focus {
background-color: #404043;
border: 1px solid #5a5a5d;
box-shadow: 0 0 0 1px #0073aa;
}
}
body.litespeed-darkmode input[type='text']:focus,
body.litespeed-darkmode input[type='number']:focus,
body.litespeed-darkmode input[type='email']:focus,
body.litespeed-darkmode input[type='url']:focus,
body.litespeed-darkmode input[type='password']:focus,
body.litespeed-darkmode input[type='search']:focus,
body.litespeed-darkmode input[type='file']:focus,
body.litespeed-darkmode textarea:focus,
body.litespeed-darkmode select:focus {
background-color: #404043;
border: 1px solid #5a5a5d;
box-shadow: 0 0 0 1px #0073aa;
}
/* Buttons */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .button,
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .button-secondary {
background-color: #3e3e42;
border-color: #5a5a5d;
color: #e0e0e0;
}
}
body.litespeed-darkmode .button,
body.litespeed-darkmode .button-secondary {
background-color: #3e3e42;
border-color: #5a5a5d;
color: #e0e0e0;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) circle.litespeed-pie_bg {
stroke: #3e3e42;
}
}
body.litespeed-darkmode circle.litespeed-pie_bg {
stroke: #3e3e42;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) g.litespeed-pie_info text {
fill: #e0e0e0;
}
}
body.litespeed-darkmode g.litespeed-pie_info text {
fill: #e0e0e0;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) g.litespeed-pie_info .litespeed-pie-done {
fill: #6dd17e;
}
}
body.litespeed-darkmode g.litespeed-pie_info .litespeed-pie-done {
fill: #6dd17e;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-switch input:not(:checked) + label {
background-color: #3e3e42;
color: #e0e0e0;
border: 1px solid #5a5a5d;
}
}
body.litespeed-darkmode .litespeed-switch input:not(:checked) + label {
background-color: #3e3e42;
color: #e0e0e0;
border: 1px solid #5a5a5d;
}
/* Column with boxes layout */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-column-with-boxes .postbox {
border-color: #3e3e42;
}
}
body.litespeed-darkmode .litespeed-column-with-boxes .postbox {
border-color: #3e3e42;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-column-with-boxes > div.litespeed-column-right {
background-color: #2d2d30;
}
}
body.litespeed-darkmode .litespeed-column-with-boxes > div.litespeed-column-right {
background-color: #2d2d30;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-image-optim-summary,
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-column-left-inside {
background-color: #1e1e1e;
border: 1px solid #3e3e42;
color: #e0e0e0;
}
}
body.litespeed-darkmode .litespeed-image-optim-summary,
body.litespeed-darkmode .litespeed-column-left-inside {
background-color: #1e1e1e;
border: 1px solid #3e3e42;
color: #e0e0e0;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed"]:not(.litespeed-lightmode).litespeed-cache_page_litespeed-img_optm [data-litespeed-layout='summary'],
body[class*="litespeed"]:not(.litespeed-lightmode).litespeed-cache_page_litespeed-img_optm .litespeed-column-with-boxes > div.litespeed-column-right,
body[class*="litespeed"]:not(.litespeed-lightmode).litespeed-cache_page_litespeed-cdn .litespeed-column-with-boxes > div.litespeed-column-right,
body[class*="litespeed"]:not(.litespeed-lightmode).litespeed-cache_page_litespeed-cdn [data-litespeed-layout='qc'] {
background-color: #181818;
}
}
body.litespeed-darkmode.litespeed-cache_page_litespeed-img_optm [data-litespeed-layout='summary'],
body.litespeed-darkmode.litespeed-cache_page_litespeed-img_optm .litespeed-column-with-boxes > div.litespeed-column-right,
body.litespeed-darkmode.litespeed-cache_page_litespeed-cdn .litespeed-column-with-boxes > div.litespeed-column-right,
body.litespeed-darkmode.litespeed-cache_page_litespeed-cdn [data-litespeed-layout='qc'] {
background-color: #181818;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-image-optim-summary-footer,
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-column-with-boxes-footer {
border-top: 1px solid #373737;
background: revert;
}
}
body.litespeed-darkmode .litespeed-image-optim-summary-footer,
body.litespeed-darkmode .litespeed-column-with-boxes-footer {
border-top: 1px solid #373737;
background: revert;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-column-with-boxes-footer {
border-top: 1px solid #3e3e42;
background-color: #353539;
color: #e0e0e0;
}
}
body.litespeed-darkmode .litespeed-column-with-boxes-footer{
border-top: 1px solid #3e3e42;
background-color: #353539;
color: #e0e0e0;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .nav-tab:focus:not(.nav-tab-active),
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .nav-tab:hover:not(.nav-tab-active) {
background-color: #4d4d51;
border-color: #666;
color: #fff
}
}
body.litespeed-darkmode .nav-tab:focus:not(.nav-tab-active),
body.litespeed-darkmode .nav-tab:hover:not(.nav-tab-active) {
background-color: #4d4d51;
border-color: #666;
color: #fff
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .button:hover,
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .button-secondary:hover {
background-color: #484851;
border-color: #666;
}
}
body.litespeed-darkmode .button:hover,
body.litespeed-darkmode .button-secondary:hover {
background-color: #484851;
border-color: #666;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .button-primary {
background-color: #0073aa;
border-color: #005a87;
color: #ffffff;
}
}
body.litespeed-darkmode .button-primary {
background-color: #0073aa;
border-color: #005a87;
color: #ffffff;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .button-primary:hover {
background-color: #005a87;
border-color: #004a73;
}
}
body.litespeed-darkmode .button-primary:hover {
background-color: #005a87;
border-color: #004a73;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .button-primary:disabled,
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .button-primary[disabled] {
background-color: #3e3e42;
border-color: #5a5a5d;
color: #8c8f94;
cursor: not-allowed;
opacity: 0.6;
}
}
body.litespeed-darkmode .button-primary:disabled,
body.litespeed-darkmode .button-primary[disabled] {
background-color: #3e3e42;
border-color: #5a5a5d;
color: #8c8f94;
cursor: not-allowed;
opacity: 0.6;
}
/* Danger buttons */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-btn-danger-bg,
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed .litespeed-btn-danger-bg,
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-wrap .litespeed-btn-danger-bg {
background-color: #dc3232;
border-color: #b32d2e;
color: #ffffff;
box-shadow: 0 1px 0 rgba(179, 45, 46, 0.5);
}
}
body.litespeed-darkmode .litespeed-btn-danger-bg,
body.litespeed-darkmode .litespeed .litespeed-btn-danger-bg,
body.litespeed-darkmode .litespeed-wrap .litespeed-btn-danger-bg {
background-color: #dc3232;
border-color: #b32d2e;
color: #ffffff;
box-shadow: 0 1px 0 rgba(179, 45, 46, 0.5);
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-btn-danger-bg:hover,
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed .litespeed-btn-danger-bg:hover,
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-wrap .litespeed-btn-danger-bg:hover {
background-color: #b32d2e;
border-color: #a02622;
}
}
body.litespeed-darkmode .litespeed-btn-danger-bg:hover,
body.litespeed-darkmode .litespeed .litespeed-btn-danger-bg:hover,
body.litespeed-darkmode .litespeed-wrap .litespeed-btn-danger-bg:hover {
background-color: #b32d2e;
border-color: #a02622;
}
/* Notices */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .notice {
background-color: #262626;
border-left: 4px solid #72a9d3;
color: #e0e0e0;
}
}
body.litespeed-darkmode .notice {
background-color: #262626;
border-left: 4px solid #72a9d3;
color: #e0e0e0;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .notice-success {
border-left-color: #46b450;
}
}
body.litespeed-darkmode .notice-success {
border-left-color: #46b450;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .notice-warning {
border-left-color: #b28100;
}
}
body.litespeed-darkmode .notice-warning {
border-left-color: #b28100;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .notice-error {
border-left-color: #dc3232;
}
}
body.litespeed-darkmode .notice-error {
border-left-color: #dc3232;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .notice-info {
border-left-color: #00a0d2;
}
}
body.litespeed-darkmode .notice-info {
border-left-color: #00a0d2;
}
/* Striped table notices */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .striped > tbody > :nth-child(even) .notice {
background-color: #3e3e42;
box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.3);
}
}
body.litespeed-darkmode .striped > tbody > :nth-child(even) .notice {
background-color: #3e3e42;
box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.3);
}
/* Postboxes */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .postbox {
background-color: #2d2d30;
border: 1px solid #767679;
color: #e0e0e0;
}
}
body.litespeed-darkmode .postbox {
background-color: #2d2d30;
border: 1px solid #767679;
color: #e0e0e0;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .postbox h3,
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .postbox .hndle {
color: #e0e0e0;
}
}
body.litespeed-darkmode .postbox h3,
body.litespeed-darkmode .postbox .hndle {
color: #e0e0e0;
}
/* Tables */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) table,
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .wp-list-table {
background-color: #2d2d30;
color: #e0e0e0;
}
}
body.litespeed-darkmode table,
body.litespeed-darkmode .wp-list-table {
background-color: #2d2d30;
color: #e0e0e0;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .wp-list-table th {
color: #e0e0e0;
}
}
body.litespeed-darkmode .wp-list-table th {
color: #e0e0e0;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .wp-list-table td {
border-bottom: 1px solid #3e3e42;
color: #e0e0e0;
}
}
body.litespeed-darkmode .wp-list-table td {
border-bottom: 1px solid #3e3e42;
color: #e0e0e0;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .striped > tbody > :nth-child(odd) {
background-color: #2d2d30;
}
}
body.litespeed-darkmode .striped > tbody > :nth-child(odd) {
background-color: #2d2d30;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .striped > tbody > :nth-child(even) {
background-color: #353539;
}
}
body.litespeed-darkmode .striped > tbody > :nth-child(even) {
background-color: #353539;
}
/* Form tables */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .form-table {
background: transparent;
}
}
body.litespeed-darkmode .form-table {
background: transparent;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .form-table th {
background: transparent;
color: #e0e0e0;
}
}
body.litespeed-darkmode .form-table th {
background: transparent;
color: #e0e0e0;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .form-table td {
background: transparent;
color: #e0e0e0;
}
}
body.litespeed-darkmode .form-table td {
background: transparent;
color: #e0e0e0;
}
/* Links */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) a {
color: #72aee6;
}
}
body.litespeed-darkmode a {
color: #72aee6;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) a:hover,
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) a:focus {
color: #9ec8f2;
}
}
body.litespeed-darkmode a:hover,
body.litespeed-darkmode a:focus {
color: #9ec8f2;
}
/* Code blocks */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) code {
background-color: #404043;
color: #e0e0e0;
}
}
body.litespeed-darkmode code {
background-color: #404043;
color: #e0e0e0;
}
/* Horizontal rules */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) hr {
border-color: #5a5a5d;
background-color: #5a5a5d;
}
}
body.litespeed-darkmode hr {
border-color: #5a5a5d;
background-color: #5a5a5d;
}
/* Dashboard widgets */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .dashboard-widget {
background-color: #2d2d30;
border: 1px solid #3e3e42;
}
}
body.litespeed-darkmode .dashboard-widget {
background-color: #2d2d30;
border: 1px solid #3e3e42;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .dashboard-widget .widget-top {
background-color: #404043;
border-bottom: 1px solid #5a5a5d;
}
}
body.litespeed-darkmode .dashboard-widget .widget-top {
background-color: #404043;
border-bottom: 1px solid #5a5a5d;
}
/* Meta boxes */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .meta-box-sortables .postbox {
background-color: #2d2d30;
border: 1px solid #3e3e42;
}
}
body.litespeed-darkmode .meta-box-sortables .postbox {
background-color: #2d2d30;
border: 1px solid #3e3e42;
}
/* LiteSpeed specific styles */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-header {
border-bottom: 1px solid #5a5a5d;
}
}
body.litespeed-darkmode .litespeed-header {
border-bottom: 1px solid #5a5a5d;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-body {
background-color: #1e1e1e;
border-left: 1px solid #5a5a5d;
border-right: 1px solid #5a5a5d;
border-bottom: 1px solid #5a5a5d;
color: #e0e0e0;
}
}
body.litespeed-darkmode .litespeed-body {
background-color: #1e1e1e;
border-left: 1px solid #5a5a5d;
border-right: 1px solid #5a5a5d;
border-bottom: 1px solid #5a5a5d;
color: #e0e0e0;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-panel {
background-color: #2d2d30;
border: 1px solid #3e3e42;
color: #e0e0e0;
}
}
body.litespeed-darkmode .litespeed-panel {
background-color: #2d2d30;
border: 1px solid #3e3e42;
color: #e0e0e0;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-panel-wrapper {
background: transparent;
}
}
body.litespeed-darkmode .litespeed-panel-wrapper {
background: transparent;
}
/* Dashboard titles */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-h1,
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) h1.litespeed-h1 {
color: #e0e0e0;
}
}
body.litespeed-darkmode .litespeed-h1,
body.litespeed-darkmode h1.litespeed-h1 {
color: #e0e0e0;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) h3 {
color: #e0e0e0;
}
}
body.litespeed-darkmode h3 {
color: #e0e0e0;
}
/* LiteSpeed postboxes */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-postbox {
background-color: #2d2d30;
border: 1px solid #3e3e42;
color: #e0e0e0;
}
}
body.litespeed-darkmode .litespeed-postbox {
background-color: #2d2d30;
border: 1px solid #3e3e42;
color: #e0e0e0;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-postbox .inside {
color: #e0e0e0;
}
}
body.litespeed-darkmode .litespeed-postbox .inside {
color: #e0e0e0;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-postbox .inside .litespeed-title {
border-bottom: 1px solid #5a5a5d;
color: #e0e0e0;
}
}
body.litespeed-darkmode .litespeed-postbox .inside .litespeed-title {
border-bottom: 1px solid #5a5a5d;
color: #e0e0e0;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-postbox .inside.litespeed-postbox-footer {
background-color: #353539;
border-top: 1px solid #5a5a5d;
}
}
body.litespeed-darkmode .litespeed-postbox .inside.litespeed-postbox-footer {
background-color: #353539;
border-top: 1px solid #5a5a5d;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-postbox p.litespeed-dashboard-stats-total {
border-top: 1px dashed #5a5a5d;
}
}
body.litespeed-darkmode .litespeed-postbox p.litespeed-dashboard-stats-total {
border-top: 1px dashed #5a5a5d;
}
/* Dashboard stats */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-dashboard-stats .litespeed-desc {
color: #b3b3b3;
}
}
body.litespeed-darkmode .litespeed-dashboard-stats .litespeed-desc {
color: #b3b3b3;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-dashboard-stats-payg {
color: #b3b3b3;
}
}
body.litespeed-darkmode .litespeed-dashboard-stats-payg {
color: #b3b3b3;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-dashboard-stats-payg strong {
color: #e0e0e0;
}
}
body.litespeed-darkmode .litespeed-dashboard-stats-payg strong {
color: #e0e0e0;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-dashboard-stats-wrapper .litespeed-postbox:not(:first-child) {
border-left-color: #3e3e42;
}
}
body.litespeed-darkmode .litespeed-dashboard-stats-wrapper .litespeed-postbox:not(:first-child) {
border-left-color: #3e3e42;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-postbox.litespeed-postbox-partner h3.litespeed-title {
color: #b3b3b3;
}
}
body.litespeed-darkmode .litespeed-postbox.litespeed-postbox-partner h3.litespeed-title {
color: #b3b3b3;
}
/* QUIC.cloud postbox styling */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-postbox--quiccloud {
border-color: #3e7cb3;
}
}
body.litespeed-darkmode .litespeed-postbox--quiccloud {
border-color: #3e7cb3;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-postbox--quiccloud.litespeed-postbox .inside .litespeed-title {
background-color: #41464a;
color: #ffffff;
}
}
body.litespeed-darkmode .litespeed-postbox--quiccloud.litespeed-postbox .inside .litespeed-title {
background-color: #41464a;
color: #ffffff;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-postbox--quiccloud.litespeed-postbox .inside .litespeed-title a {
color: #a5caf2;
}
}
body.litespeed-darkmode .litespeed-postbox--quiccloud.litespeed-postbox .inside .litespeed-title a {
color: #a5caf2;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-postbox--quiccloud.litespeed-postbox .inside .litespeed-title a:hover {
color: #c2dcff;
}
}
body.litespeed-darkmode .litespeed-postbox--quiccloud.litespeed-postbox .inside .litespeed-title a:hover {
color: #c2dcff;
}
/* Dashboard unlock/promo styling */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-dashboard-unlock {
background-color: #2d2d30;
color: #e0e0e0;
}
}
body.litespeed-darkmode .litespeed-dashboard-unlock {
background-color: #2d2d30;
color: #e0e0e0;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-dashboard-unlock-desc {
color: #e0e0e0;
}
}
body.litespeed-darkmode .litespeed-dashboard-unlock-desc {
color: #e0e0e0;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-dashboard-unlock-desc span {
color: #b3b3b3;
}
}
body.litespeed-darkmode .litespeed-dashboard-unlock-desc span {
color: #b3b3b3;
}
/* Navigation tabs */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .nav-tab {
background-color: #3e3e42;
border-color: #5a5a5d;
color: #e0e0e0;
}
}
body.litespeed-darkmode .nav-tab {
background-color: #3e3e42;
border-color: #5a5a5d;
color: #e0e0e0;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .nav-tab:hover {
background-color: #1e1e1e;
}
}
body.litespeed-darkmode .nav-tab:hover {
background-color: #1e1e1e;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .nav-tab-active {
background-color: #1e1e1e;
border-bottom-color: #1e1e1e;
color: #e0e0e0;
}
}
body.litespeed-darkmode .nav-tab-active {
background-color: #1e1e1e;
border-bottom-color: #1e1e1e;
color: #e0e0e0;
}
/* Status indicators */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-success {
color: #46b450;
}
}
body.litespeed-darkmode .litespeed-success {
color: #46b450;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-error {
color: #dc3232;
}
}
body.litespeed-darkmode .litespeed-error {
color: #dc3232;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-warning {
color: #ffb900;
}
}
body.litespeed-darkmode .litespeed-warning {
color: #ffb900;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-warning-bg {
background-color: #584007 !important;
color: #ffffff;
}
}
body.litespeed-darkmode .litespeed-warning-bg {
background-color: #584007 !important;
color: #ffffff;
}
/* Footer */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) #wpfooter {
background-color: #2d2d30;
color: #e0e0e0;
}
}
body.litespeed-darkmode #wpfooter {
background-color: #2d2d30;
color: #e0e0e0;
}
/* Checkbox and radio inputs */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type="checkbox"],
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) input[type="radio"] {
background-color: #2d2d30;
border: 1px solid #3e3e42;
}
}
body.litespeed-darkmode input[type="checkbox"],
body.litespeed-darkmode input[type="radio"] {
background-color: #2d2d30;
border: 1px solid #3e3e42;
}
/* Progress bars */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-progress {
background-color: #3e3e42;
}
}
body.litespeed-darkmode .litespeed-progress {
background-color: #3e3e42;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-progress-bar {
background-color: #0073aa;
}
}
body.litespeed-darkmode .litespeed-progress-bar {
background-color: #0073aa;
}
/* Litespeed tick buttons */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-tick {
background-color: #2d2d30;
border: 1px solid #3e3e42;
padding: 8px 10px;
}
}
body.litespeed-darkmode .litespeed-tick {
background-color: #2d2d30;
border: 1px solid #3e3e42;
padding: 8px 10px;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-tick:hover {
background-color: #404043;
border-color: #5a5a5d;
}
}
body.litespeed-darkmode .litespeed-tick:hover {
background-color: #404043;
border-color: #5a5a5d;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-tick label {
color: #e0e0e0;
padding: 4px 8px;
}
}
body.litespeed-darkmode .litespeed-tick label {
color: #e0e0e0;
padding: 4px 8px;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-tick label:hover {
color: #72aee6;
}
}
body.litespeed-darkmode .litespeed-tick label:hover {
color: #72aee6;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-tick input[type='checkbox'] {
background-color: #2d2d30;
border: 2px solid #5a5a5d;
}
}
body.litespeed-darkmode .litespeed-tick input[type='checkbox'] {
background-color: #2d2d30;
border: 2px solid #5a5a5d;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-tick input[type='checkbox']:checked {
background-color: #0073aa;
border-color: #0073aa;
}
}
body.litespeed-darkmode .litespeed-tick input[type='checkbox']:checked {
background-color: #0073aa;
border-color: #0073aa;
}
/* Card headers */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-card-header {
background-color: #404043;
border-bottom: 1px solid #5a5a5d;
color: #e0e0e0;
}
}
body.litespeed-darkmode .litespeed-card-header {
background-color: #404043;
border-bottom: 1px solid #5a5a5d;
color: #e0e0e0;
}
/* Card action buttons */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-card-action .button-secondary:hover {
background-color: #484851;
border-color: #666;
color: #e0e0e0;
}
}
body.litespeed-darkmode .litespeed-card-action .button-secondary:hover {
background-color: #484851;
border-color: #666;
color: #e0e0e0;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-card-action .button-primary:hover {
background-color: #005a87;
border-color: #004a73;
color: #ffffff;
}
}
body.litespeed-darkmode .litespeed-card-action .button-primary:hover {
background-color: #005a87;
border-color: #004a73;
color: #ffffff;
}
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-h3,
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-panel-para {
color: revert;
}
}
body.litespeed-darkmode .litespeed-h3,
body.litespeed-darkmode .litespeed-panel-para {
color: revert;
}
/* Text gradient for QUIC.cloud branding */
@media (prefers-color-scheme: dark) {
body[class*="litespeed-cache_page_litespeed"]:not(.litespeed-lightmode) .litespeed-qc-text-gradient {
background: -webkit-linear-gradient(130deg, #ff69b4, #4db3e6 60%, #a5e7ff);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
}
body.litespeed-darkmode .litespeed-qc-text-gradient {
background: -webkit-linear-gradient(130deg, #ff69b4, #4db3e6 60%, #a5e7ff);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
assets/css/litespeed.css 0000644 00000256425 15207571326 0011354 0 ustar 00 @font-face {
font-family: "litespeedfont";
src: url(data:application/font-woff;base64,d09GRgABAAAAAAd8AAsAAAAABzAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABCAAAAGAAAABgDxIFKmNtYXAAAAFoAAAAVAAAAFQXVtKHZ2FzcAAAAbwAAAAIAAAACAAAABBnbHlmAAABxAAAAywAAAMsC7+w5mhlYWQAAATwAAAANgAAADYNxQCSaGhlYQAABSgAAAAkAAAAJAe+A8ZobXR4AAAFTAAAABQAAAAUCgAABWxvY2EAAAVgAAAADAAAAAwAKAGqbWF4cAAABWwAAAAgAAAAIAAOAX5uYW1lAAAFjAAAAc4AAAHOiN8uy3Bvc3QAAAdcAAAAIAAAACAAAwAAAAMDAAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAA6QADwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADgAAAAKAAgAAgACAAEAIOkA//3//wAAAAAAIOkA//3//wAB/+MXBAADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAACAAF/8QD/AO7AIAAxAFEAWkBbgFyAXcBewAAATA0MTQmMTA0JzgBNSImOQEBOAExLgEjIgYHOAE5AQEwBiMUMDEGFDEwBhUwFDEcARUcARUwFDEUFjEwFBc4ARUyFjkBATAWFTAyMTAWMzAyFTAyMzIWMzI2MzoBMTQyMTI2MTAyMTQ2OQEBMDYzNDAxNjQxMDY1MDQxNDY1JjQ1BzEVBzgBMQE4ATEwBjEjMCIxMCIxMCIxMCYxOAExATgBMSc1MDQxMDQ5ATUxNzgBMQEwNjMyFjEBOAExFxUwFDEwFDEnMCIxMDQxMDQxMCIxNDAnMSc4ATEuASMiBgc4ATEHBjAVMCIxMBQxMBQxMCIxHAExMBQVMDIxMBQxMBQxMDIxFDAXMRcWMDM4ARUwMjE4ATEyMBU6ATEwMjM0MDM4ATEwMjE0MDEyMDcxNzYwNTAyMTA0MTA0MTgBMzwBMTA0NScHFzgBMRYUFxYGDwEOASMiJicmNj8BJyY2PwE+ATMyFhcWBgcFFxUBMxMHIwEBMwE1NzUnNQED+wEBAQH+FAIGAwMGAv4UAQEBAQEBAQEB7AIBAQEBAQEBAQEBAQEBAQEBAQECAewBAQEBAQFOAf5XAQEBAQEB/lcBAQGpAgEBAgGpAbABAQH0AgICAgIC9AEBAQEBAfQBAQEBAQEBAQEBAQH0AQEBoE8rAQEBAgSBAgQDBAYBAgEDTysFAwWBAgQEAwYBAgED/oz6/sw6+vo6ATQBNDb+zP7+ATgBwwEBAQEBAQIB7AICAgL+FAIBAQEBAQEBAQEBAQEBAQEBAQEC/hQBAQEBAQEBAQEBAewCAQEBAQEBAQEBAQEBBAEB/lcBAQGpAQEBAQEBAakBAf5XAQEBAQMBAQEB9AECAgH0AQEBAQEBAQEBAQEB9AEBAQEBAfQBAQEBAQEBAYRkPQECAQcLA2MCAgQDAwgDZD4GDgViAgIEAwMIA6P5OgEzATP6ATT+lP7MNv44/jb+zAABAAAAAQAAiK6LiV8PPPUACwQAAAAAANVU3gsAAAAA1VTeCwAA/8QD/AO7AAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAP8AAEAAAAAAAAAAAAAAAAAAAAFBAAAAAAAAAAAAAAAAgAAAAQAAAUAAAAAAAoAFAAeAZYAAQAAAAUBfAAIAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAA0AAAABAAAAAAACAAcAlgABAAAAAAADAA0ASAABAAAAAAAEAA0AqwABAAAAAAAFAAsAJwABAAAAAAAGAA0AbwABAAAAAAAKABoA0gADAAEECQABABoADQADAAEECQACAA4AnQADAAEECQADABoAVQADAAEECQAEABoAuAADAAEECQAFABYAMgADAAEECQAGABoAfAADAAEECQAKADQA7GxpdGVzcGVlZGZvbnQAbABpAHQAZQBzAHAAZQBlAGQAZgBvAG4AdFZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGxpdGVzcGVlZGZvbnQAbABpAHQAZQBzAHAAZQBlAGQAZgBvAG4AdGxpdGVzcGVlZGZvbnQAbABpAHQAZQBzAHAAZQBlAGQAZgBvAG4AdFJlZ3VsYXIAUgBlAGcAdQBsAGEAcmxpdGVzcGVlZGZvbnQAbABpAHQAZQBzAHAAZQBlAGQAZgBvAG4AdEZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=);
font-weight: normal;
font-style: normal;
}
#adminmenu #toplevel_page_lscache-settings .menu-icon-generic div.wp-menu-image:before,
#adminmenu #toplevel_page_litespeed .menu-icon-generic div.wp-menu-image:before,
.litespeed-top-toolbar .ab-icon::before {
content: '\e900';
font-family: 'litespeedfont' !important;
speak: none;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
/* Better Font Rendering =========== */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
#wpadminbar .litespeed-top-toolbar .ab-icon.icon_disabled::before {
color: #D9534F;
}
*[litespeed-accesskey]:not([data-litespeed-noprefix]):before {
content: '[' attr(litespeed-accesskey) '] ';
}
/* =======================================
UTILITIES - toggle UI
======================================= */
input[type='checkbox'].litespeed-tiny-toggle {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
-webkit-tap-highlight-color: transparent;
width: auto;
height: auto;
vertical-align: middle;
position: relative;
border: 0;
outline: 0;
cursor: pointer;
margin: 0 4px;
background: none;
box-shadow: none;
}
input[type='checkbox'].litespeed-tiny-toggle:focus {
box-shadow: none;
}
input[type='checkbox'].litespeed-tiny-toggle:after {
content: '';
font-size: 8px;
font-weight: 400;
line-height: 18px;
text-indent: -14px;
color: #ffffff;
width: 36px;
height: 18px;
display: inline-block;
background-color: #a7aaad;
border-radius: 72px;
box-shadow: 0 0 12px rgb(0 0 0 / 15%) inset;
}
input[type='checkbox'].litespeed-tiny-toggle:before {
content: '';
width: 14px;
height: 14px;
display: block;
position: absolute;
top: 2px;
left: 2px;
margin: 0;
border-radius: 50%;
background-color: #ffffff;
}
input[type='checkbox'].litespeed-tiny-toggle:checked:before {
left: 20px;
margin: 0;
background-color: #ffffff;
}
input[type='checkbox'].litespeed-tiny-toggle,
input[type='checkbox'].litespeed-tiny-toggle:before,
input[type='checkbox'].litespeed-tiny-toggle:after,
input[type='checkbox'].litespeed-tiny-toggle:checked:before,
input[type='checkbox'].litespeed-tiny-toggle:checked:after {
transition: ease 0.15s;
}
input[type='checkbox'].litespeed-tiny-toggle:checked:after {
/*content: 'ON';*/
background-color: #2271b1;
}
.block-editor__container input[type='checkbox'].litespeed-tiny-toggle {
border: 0 !important;
}
.block-editor__container input[type='checkbox'].litespeed-tiny-toggle:before {
top: 5px;
left: 7px;
}
.block-editor__container input[type='checkbox'].litespeed-tiny-toggle:checked:before {
left: 23px;
}
/* =======================================
UTILITIES - structure
======================================= */
.litespeed_icon:before {
/* content: "\e900";
font-family: 'litespeedfont' !important; */
content: '';
background-image: url('../img/lscwp_grayscale_font-icon_22px.svg');
/* filter: grayscale(1); */
background-size: 22px;
background-repeat: no-repeat;
width: 22px;
height: 22px;
vertical-align: middle;
display: inline-block;
position: absolute;
left: 5px;
top: 8px;
}
.rtl .litespeed_icon:before {
left: initial;
right: 5px;
}
.litespeed_icon {
padding-left: 30px !important;
position: relative;
}
.rtl .litespeed_icon {
padding-right: 40px;
}
.litespeed-quic-icon {
background-image: url('../img/quic-cloud-icon-16x16.svg');
background-repeat: no-repeat;
width: 16px;
height: 16px;
vertical-align: middle;
display: inline-block;
}
.litespeed-row {
margin-top: 5px;
}
.litespeed-reset {
width: initial;
}
.litespeed-inline {
display: inline-block;
}
.litespeed-flex {
display: flex;
}
.litespeed-flex-container {
display: flex;
flex-wrap: wrap;
width: 100%;
height: auto;
}
.litespeed-flex-align-center {
align-items: center;
}
.litespeed-flex-container > * {
box-sizing: border-box;
}
.litespeed-flex-container--reverse {
flex-direction: row-reverse;
}
.litespeed-flex-container .litespeed-icon-vertical-middle {
margin-left: 0;
}
.litespeed-row-flex {
display: inline-flex;
}
.litespeed-flex-wrap {
flex-wrap: wrap;
}
.litespeed-align-right {
margin-left: auto !important;
}
.litespeed-width-1-2 {
width: 45%;
padding: 20px;
}
.litespeed-width-1-3 {
width: 30%;
padding: 25px;
}
.litespeed-width-7-10 {
width: 65%;
padding: 20px;
}
.litespeed-width-3-10 {
width: 35%;
padding: 20px;
}
@media screen and (max-width: 814px) {
.litespeed-width-7-10 {
width: 100%;
}
.litespeed-width-3-10 {
width: 100%;
padding: 0;
}
}
.litespeed-hide {
display: none !important;
}
.litespeed-right {
float: right !important;
}
.litespeed-relative {
position: relative;
}
.litespeed-align-center {
margin-left: auto;
margin-right: auto;
}
/* =======================================
UTILITIES - spacing
======================================= */
.litespeed-left10 {
margin-left: 10px !important;
}
.litespeed-left20 {
margin-left: 20px !important;
}
.litespeed-right10 {
margin-right: 10px !important;
}
.litespeed-right20 {
margin-right: 20px !important;
}
.litespeed-right30 {
margin-right: 30px !important;
}
.litespeed-right50 {
margin-right: 50px !important;
}
.litespeed-top10 {
margin-top: 10px !important;
}
.litespeed-top15 {
margin-top: 15px !important;
}
.litespeed-top20 {
margin-top: 20px !important;
}
.litespeed-top30 {
margin-top: 30px !important;
}
.litespeed-margin-y5 {
margin-top: 5px !important;
margin-bottom: 5px !important;
}
.litespeed-margin-x5 {
margin-left: 5px !important;
margin-right: 5px !important;
}
.litespeed-wrap .litespeed-left20,
.litespeed-left20 {
margin-left: 20px;
}
.litespeed-wrap .litespeed-bg-quic-cloud {
background: linear-gradient(rgba(230, 242, 242, 1) 10%, rgba(250, 255, 255, 1) 30%);
}
.litespeed-left50 {
margin-left: 50px;
}
.litespeed-padding-space {
padding: 5px 10px;
}
.litespeed-margin-bottom10 {
margin-bottom: 10px !important;
}
.litespeed-margin-bottom20 {
margin-bottom: 20px !important;
}
.litespeed-margin-bottom-remove {
margin-bottom: 0px !important;
}
.litespeed-margin-top-remove {
margin-top: 0px !important;
}
.litespeed-margin-left-remove {
margin-left: 0px !important;
}
.litespeed-margin-y-remove {
margin-top: 0px !important;
margin-bottom: 0px !important;
}
.litespeed-empty-space-xlarge {
margin-top: 8em;
}
.litespeed-empty-space-large {
margin-top: 6em;
}
.litespeed-empty-space-medium {
margin-top: 3em;
}
.litespeed-empty-space-small {
margin-top: 2em;
}
.litespeed-empty-space-tiny {
margin-top: 1em;
}
/* =======================================
UTILITIES - typography
======================================= */
.litespeed-text-jumbo {
font-size: 3em !important;
}
.litespeed-text-large {
font-size: 0.75em !important;
}
.litespeed-text-md {
font-size: 1.2em;
}
.litespeed-text-right {
text-align: right;
}
.litespeed-text-center {
text-align: center;
}
.litespeed-text-bold, .litespeed-bold {
font-weight: 600;
}
/* =======================================
COLORS
======================================= */
.litespeed-default {
color: #a7a7a7 !important;
}
.litespeed-primary {
color: #3366cc !important;
}
.litespeed-info {
color: #3fbfbf !important;
}
.litespeed-success {
color: #73b38d !important;
}
.litespeed-warning {
color: #ff8c00 !important;
}
.litespeed-danger {
color: #dc3545 !important;
}
a.litespeed-danger:hover,
button.litespeed-danger:hover {
color: #a00 !important;
}
.litespeed-text-success {
color: #34b15d;
}
.litespeed-form-action {
color: #1a9292 !important;
}
a.litespeed-form-action:hover,
button.litespeed-form-action:hover {
color: #36b0af !important;
}
.litespeed-bg-default {
background-color: #a7a7a7 !important;
}
.litespeed-bg-primary {
background-color: #3366cc !important;
}
.litespeed-bg-info {
background-color: #d1ecf1 !important;
}
.litespeed-bg-success {
background-color: #73b38d !important;
}
.litespeed-bg-warning {
background-color: #ff8c00 !important;
}
.litespeed-bg-danger {
background-color: #dc3545 !important;
}
.litespeed-bg-text-success {
background-color: #34b15d;
}
/* =======================================
LAYOUT
======================================= */
.litespeed-wrap {
margin: 10px 20px 0 2px;
}
@media screen and (max-width: 600px) {
.litespeed-wrap h2 .nav-tab {
border-bottom: 1px solid #c3c4c7;
margin: 10px 10px 0 0;
}
.litespeed-wrap .nav-tab-wrapper {
margin-bottom: 15px;
}
.litespeed-desc a,
.litespeed-body p > a:not(.button) {
word-break: break-word;
}
}
.litespeed-wrap .nav-tab {
border-bottom-color: inherit;
border-bottom-style: solid;
border-bottom-width: 1px;
margin: 11px 10px -1px 0;
}
.litespeed-wrap .nav-tab-active {
background: #fff;
border-bottom-color: #fff;
}
.litespeed-wrap .nav-tab:focus:not(.nav-tab-active),
.litespeed-wrap .nav-tab:hover:not(.nav-tab-active) {
background-color: #f1f1f1;
color: #444;
}
.litespeed-body {
background: #fff;
border: 1px solid #e5e5e5;
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
padding: 1px 20px 20px 20px;
}
@media screen and (min-width: 681px) {
.litespeed-header + .litespeed-body {
border-top: none;
}
}
.litespeed-body table {
border-collapse: collapse;
width: 100%;
}
.litespeed-body .litespeed-width-auto {
width: auto;
}
/* outside stripped table */
.litespeed-description {
color: #666;
font-size: 13px;
margin: 1.5rem 0;
max-width: 960px;
}
.litespeed-desc-wrapper{
display: inline-block;
margin-left: 10px;
}
/* inside stripped table */
.litespeed-desc {
font-size: 12px;
font-weight: normal;
color: #7a919e;
margin: 10px 0;
line-height: 1.7;
/*max-width: 840px;*/
}
.litespeed-desc + .litespeed-desc {
margin-top: -5px;
}
td > .litespeed-desc:first-child {
margin-top: 0px;
line-height: 2.24;
}
.litespeed-h3 {
line-height: 18px;
color: #264d73;
font-size: 18px;
font-weight: 600;
margin: 2px 0;
}
.litespeed-div .submit {
margin-top: 0;
}
@media screen and (min-width: 681px) {
.litespeed-div {
display: inline-block;
min-width: 100px;
}
.litespeed-div .submit {
margin: 5px;
padding: 5px;
}
}
@media screen and (max-width: 680px) {
.litespeed-desc + .litespeed-desc.litespeed-left20 {
margin-left: 0 !important;
}
.litespeed-desc .litespeed-callout.notice-warning.inline {
word-break: break-word;
}
}
.litespeed-h1 {
display: inline-block;
}
h3 .litespeed-learn-more {
font-size: 12px;
font-weight: normal;
color: #7a919e;
margin-left: 30px;
}
.litespeed-wrap code {
color: #666;
background-color: #dde9f5;
border-radius: 3px;
font-size: 11px;
font-style: normal;
}
.litespeed-wrap ul {
margin-left: 2em;
}
.litespeed-wrap i {
font-size: 13px;
line-height: 16px;
}
.litespeed-wrap .litespeed-desc i {
font-size: 12px;
}
.litespeed-wrap p {
margin: 1em 0;
}
.litespeed-wrap p.submit {
margin-bottom: 0;
}
.litespeed-desc p {
margin-left: 0;
}
.litespeed-title,
.litespeed-title-short {
font-size: 18px;
border-bottom: 1px solid #cccccc;
margin: 2.5em 0px 1.5em 0;
display: table;
padding-right: 50px;
padding-left: 3px;
padding-bottom: 3px;
}
.litespeed-title .button {
margin-left: 1rem;
margin-bottom: 5px;
vertical-align: middle;
}
.litespeed-title .litespeed-quic-icon {
margin-right: 6px;
}
.litespeed-title a,
.litespeed-title-short a {
text-decoration: none;
}
.litespeed-title-short {
padding-right: 20px;
}
.litespeed-title-section {
margin: 2em -20px 12px -20px;
padding: 12px 20px 12px 20px;
border-bottom: 1px solid #eee;
font-size: 1.2em;
display: block;
border-top: 1px solid #f1f1f1;
}
.litespeed-postbox .litespeed-title {
display: flex;
align-items: center;
}
.litespeed-title-right-icon {
margin-left: auto;
font-weight: normal;
}
.litespeed-list li:before {
content: '>';
color: #cc3d6a;
}
.litespeed-wrap a.disabled {
cursor: not-allowed;
opacity: 0.5;
text-decoration: none;
color: #72777c;
}
/* =======================================
LAYOUT - table
======================================= */
.litespeed-table {
font-size: 14px;
}
.litespeed-body tbody > tr > th {
padding-left: 20px;
}
.litespeed-body tbody th {
vertical-align: top;
text-align: left;
padding: 18px 10px 20px 0;
width: 200px;
font-weight: 600;
}
.litespeed-body td {
padding: 15px 10px;
line-height: 1.3;
vertical-align: middle;
}
.litespeed-body .widefat td input + p {
margin-top: 0.8em;
}
.litespeed-body .striped > tbody > :nth-child(even) .notice {
background-color: #f9f9f9;
box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.05);
border-top: 1px solid #e5e5e5;
border-bottom: 1px solid #e5e5e5;
border-right: 1px solid #e5e5e5;
}
.litespeed-body .striped > tbody > :nth-child(even) .notice:first-child {
margin-top: 0;
}
/* small table inside */
.litespeed-body .litespeed-vary-table {
margin-top: -5px;
width: 250px;
margin-bottom: 20px;
}
.litespeed-body .litespeed-vary-table td {
width: 50%;
padding: 5px 0px;
}
.litespeed-table-compact td,
.litespeed-table-compact th {
padding: 0.5rem 0.75rem;
}
/* =======================================
LAYOUT - block
======================================= */
.litespeed-block,
.litespeed-block-tiny {
border: 1px dotted #cccccc;
border-radius: 5px;
display: flex;
flex-wrap: wrap;
padding: 0.75rem 1.25rem;
margin-bottom: 5px;
}
.litespeed-block-tiny {
max-width: 670px;
}
.litespeed-col {
flex: 0 0 30%;
padding-right: 2rem;
}
.litespeed-col:last-child,
.litespeed-col-auto:last-child {
padding-right: 0;
}
.litespeed-col-auto {
padding-right: 2rem;
}
.litespeed-col-br {
flex: 0 0 100%;
border-top: 1px dotted #cccccc;
}
.litespeed-col-inc {
display: inline-block;
margin-top: 16px;
min-width: 150px;
font-weight: bold;
}
.litespeed-block h4:first-child,
.litespeed-block .litespeed-form-label:not(.litespeed-form-label--toggle):first-child {
margin-top: 0.5rem;
}
.litespeed-block .litespeed-callout:last-child {
margin-bottom: 0;
}
@media screen and (max-width: 600px) {
.litespeed-block {
flex-direction: column;
}
.litespeed-block .litespeed-col {
padding-right: 0;
}
}
/* =======================================
CARDS LINKS
======================================= */
.litespeed-cards-wrapper,
.litespeed-panel-wrapper {
display: flex;
width: 100%;
flex-flow: row wrap;
justify-content: flex-start;
}
.litespeed-cards-wrapper {
margin: -10px -15px -10px -15px;
}
.litespeed-panel {
text-decoration: none;
display: flex;
justify-content: space-between;
padding: 6px 8px 4px 5px;
width: 322px;
margin: 15px 5px 15px 15px;
min-height: 75px;
box-sizing: border-box;
background: #f9fafc;
transition: 0.25s;
}
.litespeed-panel:hover {
border: 1px solid #6699cc;
box-shadow: none;
}
.litespeed-panel-wrapper-icon {
width: 25%;
height: 100%;
}
[class*='litespeed-panel-icon-'] {
background-size: contain;
width: 60px;
height: 60px;
margin: 5px;
background-repeat: no-repeat;
display: inline-block;
}
.litespeed-panel-icon-all {
background-image: url('../img/icons/all.svg');
}
.litespeed-panel-icon-revision {
background-image: url('../img/icons/revision.svg');
}
.litespeed-panel-icon-orphaned_post_meta {
background-image: url('../img/icons/revision.svg');
}
.litespeed-panel-icon-auto_draft {
background-image: url('../img/icons/auto_draft.svg');
}
.litespeed-panel-icon-trash_post {
background-image: url('../img/icons/trash_post.svg');
}
.litespeed-panel-icon-spam_comment {
background-image: url('../img/icons/spam_comment.svg');
}
.litespeed-panel-icon-trash_comment {
background-image: url('../img/icons/trash_comment.svg');
}
.litespeed-panel-icon-trackback-pingback {
background-image: url('../img/icons/trackback-pingback.svg');
}
.litespeed-panel-icon-expired_transient {
background-image: url('../img/icons/expired_transient.svg');
}
.litespeed-panel-icon-all_transients {
background-image: url('../img/icons/all_transients.svg');
}
.litespeed-panel-icon-optimize_tables {
background-image: url('../img/icons/optimize_tables.svg');
}
.litespeed-panel-icon-purge-front {
background-image: url('../img/icons/purge-front.svg');
}
.litespeed-panel-icon-purge-pages {
background-image: url('../img/icons/purge-pages.svg');
}
.litespeed-panel-icon-purge-cssjs {
background-image: url('../img/icons/purge-cssjs.svg');
}
.litespeed-panel-icon-purge-object {
background-image: url('../img/icons/purge-object.svg');
}
.litespeed-panel-icon-purge-opcache {
background-image: url('../img/icons/purge-opcache.svg');
}
.litespeed-panel-icon-purge-all {
background-image: url('../img/icons/purge-all.svg');
}
.litespeed-panel-icon-empty-cache {
background-image: url('../img/icons/empty-cache.svg');
}
.litespeed-panel-icon-purge-403 {
background-image: url('../img/icons/purge-403.svg');
}
.litespeed-panel-icon-purge-404 {
background-image: url('../img/icons/purge-404.svg');
}
.litespeed-panel-icon-purge-500 {
background-image: url('../img/icons/purge-500.svg');
}
.litespeed-panel-top-right-icon-cross {
background-image: url('../img/icons/cross_icon.svg');
}
.litespeed-panel-top-right-icon-tick {
background-image: url('../img/icons/success_icon.svg');
}
.litespeed-panel-content {
width: 75%;
height: 100%;
margin-top: 7px;
}
.litespeed-panel-para {
color: #264d73;
font-size: 12px;
line-height: 1.45;
}
.litespeed-panel .litespeed-h3 {
font-size: 14px;
}
.litespeed-panel-counter {
color: #3abfbf;
}
.litespeed-panel-counter-red {
color: #cc3d6a;
}
.litespeed-panel-wrapper-top-right {
width: 10%;
height: 100%;
text-align: right;
}
.litespeed-panel-top-right-icon-tick,
.litespeed-panel-top-right-icon-cross {
background-size: contain;
width: 20px;
height: 20px;
background-repeat: no-repeat;
display: inline-block;
}
/* =======================================
BUTTONS
======================================= */
/* .litespeed-wrap .button{
background:#fff;
} */
.litespeed-wrap .button-link {
height: auto;
line-height: inherit;
font-size: inherit;
box-shadow: none;
}
.litespeed-wrap .button-link:hover,
.litespeed-wrap .button-link:focus {
box-shadow: none;
background: none;
}
.litespeed .litespeed-btn-danger-bg,
.litespeed-wrap .litespeed-btn-danger-bg,
.litespeed-btn-danger-bg {
background: #dc3545;
color: #fff;
border: 1px solid #cc3d6a;
box-shadow: 0 1px 0 rgba(177, 93, 93, 0.5);
}
.litespeed .litespeed-btn-danger,
.litespeed-wrap .litespeed-btn-danger,
.litespeed-btn-danger {
background: #fff;
color: #cc3d6a;
border: 1px solid #cc3d6a;
box-shadow: 0 1px 0 rgba(177, 93, 93, 0.5);
}
.litespeed .litespeed-btn-danger:hover,
.litespeed-wrap .litespeed-btn-danger:hover,
.litespeed-btn-danger:hover {
border-color: #ab244e;
background: #cc3d6a;
color: #fff;
}
.litespeed .litespeed-btn-warning,
.litespeed-wrap .litespeed-btn-warning,
.litespeed-btn-warning {
background: #fff;
color: #e59544;
border: 1px solid #e59544;
box-shadow: 0 1px 0 rgba(249, 166, 82, 0.55);
}
.litespeed .litespeed-btn-warning:hover,
.litespeed-wrap .litespeed-btn-warning:hover,
.litespeed-btn-warning:hover {
border-color: #e59544;
background: #e59544;
color: #fff;
}
.litespeed .litespeed-btn-success,
.litespeed-wrap .litespeed-btn-success,
.litespeed-btn-success {
background: #fff;
color: #36b0b0;
border: 1px solid #36b0b0;
box-shadow: 0 1px 0 rgba(73, 160, 160, 0.55);
}
.litespeed .litespeed-btn-success:hover,
.litespeed-wrap .litespeed-btn-success:hover,
.litespeed-btn-success:hover {
border-color: #36b0b0;
background: #36b0b0;
color: #fff;
}
.litespeed-wrap .button-primary {
background: #528ac6;
border-color: #538ac6 #2264ad #2264ad;
color: #fff;
box-shadow: 0 1px 0 #2264ad;
text-shadow:
0 -1px 1px #2264ad,
1px 0 1px #2264ad,
0 1px 1px #2264ad,
-1px 0 1px #2264ad;
}
.litespeed-wrap .button-primary:focus,
.litespeed-wrap .button-primary:hover {
background: #5891ce;
border-color: #2264ad;
color: #fff;
}
.litespeed-wrap .button-primary:hover {
box-shadow: 0 1px 0 #2264ad;
}
.litespeed-wrap .button-primary:focus {
background: #5891ce;
border-color: #2264ad;
color: #fff;
box-shadow:
0 1px 0 #0073aa,
0 0 2px 1px #33b3db;
}
.litespeed .litespeed-btn-primary,
.litespeed-wrap .litespeed-btn-primary,
.litespeed-btn-primary {
color: #538ac6;
border: 1px solid #538ac6;
-moz-box-shadow: 0 0 0 1px rgba(83, 138, 198, 0.25);
-webkit-box-shadow: 0 0 0 1px rgba(83, 138, 198, 0.25);
box-shadow: 0 0 0 1px rgba(83, 138, 198, 0.25);
}
.litespeed .litespeed-btn-primary:hover,
.litespeed-wrap .litespeed-btn-primary:hover,
.litespeed-btn-primary:hover {
background: #538ac6;
border-color: #538ac6;
color: #fff;
}
.litespeed-wrap .button:not(.litespeed-btn-large) .dashicons {
position: relative;
top: -0.075em;
vertical-align: middle;
}
.litespeed-wrap .button:not(:first-child) {
margin-left: 5px;
}
.litespeed-wrap .button + .button {
margin-left: 10px;
}
.litespeed-info-button {
color: #c8c8c8;
padding: 0;
-webkit-appearance: none;
border: none;
background: none;
vertical-align: middle;
line-height: inherit;
text-decoration: none;
}
.litespeed-info-button .dashicons {
font-size: 16px;
vertical-align: middle;
}
.litespeed-btn-pie {
-webkit-appearance: none;
background: none;
border: none;
border-radius: 0;
box-shadow: none;
padding: 0;
margin: 0;
top: -0.125em;
}
/* =======================================
BUTTONS - sizes
======================================= */
.litespeed-wrap .litespeed-btn-tiny {
padding: 2px 8px;
line-height: 1.5;
height: auto;
}
.litespeed-wrap .litespeed-btn-mini {
padding: 0 8px 1px;
font-size: 12px;
font-weight: 600;
margin: 5px 0;
}
.litespeed-wrap .litespeed-btn-mini .dashicons.dashicons-image-rotate {
padding-top: 3px;
font-size: 18px;
}
.litespeed-wrap .litespeed-btn-mini .dashicons {
padding-top: 2px;
}
.litespeed-wrap .litespeed-btn-large {
font-size: 1.5em;
padding: 0.75em 1.5em;
margin: 0 0.25em;
height: auto;
}
.litespeed-wrap .litespeed-btn-large .dashicons {
font-size: 1.25em;
width: auto;
}
/* =======================================
SWITCH
======================================= */
.litespeed-switch {
font-size: 14px;
font-weight: 600;
margin: 0 0 0;
display: inline-flex;
position: relative;
}
.rtl .litespeed-switch {
flex-direction: row-reverse;
}
.litespeed-switch input:checked:active + label {
box-shadow:
0 2px 0 rgba(27, 146, 146, 0.7),
inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
}
.litespeed-switch input:checked + label {
background-color: #36b0b0;
color: #fff;
border: 1px solid #36b0b0;
box-shadow: 0 2px 0 #1b9292;
z-index: 2;
text-shadow:
0 -1px 1px #1b9292,
1px 0 1px #1b9292,
0 1px 1px #1b9292,
-1px 0 1px #1b9292;
}
.litespeed-switch label {
font-size: 14px;
display: inline-block;
min-width: 72px;
background-color: #f9fafc;
font-weight: 400;
text-align: center;
padding: 6px 12px 5px 12px;
cursor: pointer;
border: 1px solid #ccc;
border-bottom: none;
box-shadow: 0 2px 0 #ccc;
position: relative;
}
.litespeed-switch label:not(:last-child) {
margin-right: -1px;
}
.litespeed-switch label:last-child {
border-top-right-radius: 3px;
border-bottom-right-radius: 3px;
}
.litespeed-switch label:first-of-type {
border-top-left-radius: 3px;
border-bottom-left-radius: 3px;
}
.litespeed-switch input:hover + label {
border-color: #1a9292;
box-shadow: 0 2px 0 #1a9292;
z-index: 2;
color: #117171;
}
.litespeed-switch input:focus + label {
color: #117171;
box-shadow: 0 0px 0px 2px rgba(28, 138, 128, 0.85);
border-color: transparent;
z-index: 2;
}
.litespeed-switch input:focus + label + input + input:hover + label,
.litespeed-switch input:focus + label + input:hover + label {
z-index: 1;
}
.litespeed-switch input:active + label {
box-shadow:
0 2px 0 #1b9292,
inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
}
.litespeed-switch input:checked:hover + label,
.litespeed-switch input:checked:focus + label {
background-color: #36b0b0;
color: #fff;
}
.litespeed-switch input {
display: inline-block;
position: absolute;
z-index: -1;
margin: 0;
}
.litespeed-cache-purgeby-text {
margin: 0;
display: inline-block;
}
/* =======================================
TOGGLE
======================================= */
.litespeed-toggle-stack {
display: flex;
flex-direction: column;
}
.litespeed-toggle-stack .litespeed-toggle-wrapper {
justify-content: space-between;
}
.litespeed-toggle-wrapper {
display: flex;
align-items: center;
}
.litespeed-toggle-wrapper + .litespeed-toggle-wrapper {
margin-top: 0.75rem;
}
.litespeed-toggle {
position: relative;
overflow: hidden;
min-width: 58px;
height: 21px;
/*margin-left: 1.2rem;*/
}
.litespeed-toggle-group {
position: absolute;
width: 200%;
top: 0;
bottom: 0;
left: 0;
transition: left 0.35s;
-webkit-transition: left 0.35s;
-moz-user-select: none;
-webkit-user-select: none;
}
.litespeed-toggle-on {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 50%;
margin: 0;
border: 0;
border-radius: 0;
}
.litespeed-toggle-on.litespeed-toggle-btn {
padding-right: 24px;
}
.litespeed-toggle-off.litespeed-toggle-btn {
padding-left: 24px;
}
.litespeed-toggle-handle {
position: relative;
margin: 0 auto;
padding-top: 0px;
padding-bottom: 0px;
height: 100%;
width: 0px;
border-width: 0 1px;
}
.litespeed-toggle-off {
position: absolute;
top: 0;
bottom: 0;
left: 50%;
right: 0;
margin: 0;
border: 0;
border-radius: 0;
}
.litespeed-toggleoff .litespeed-toggle-group {
left: -100%;
}
.litespeed-toggle-btn {
display: inline-block;
padding: 5px 10px;
margin-bottom: 0;
font-size: 14px;
font-weight: 400;
line-height: 1.42857143;
text-align: center;
white-space: nowrap;
vertical-align: middle;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
background-image: none;
border: 1px solid transparent;
border-radius: 4px;
}
.litespeed-toggle-btn-primary {
color: #fff;
background-color: #36b0b0;
border-color: #36b0b0;
}
.litespeed-toggle-btn-default {
color: #333;
background-color: #fff;
border-color: #ccc;
}
.litespeed-toggle-btn-success:hover,
.litespeed-toggle-btn-success:focus,
.litespeed-toggle-btn-success:active,
.litespeed-toggle-btn-success.litespeed-toggle-active {
color: #fff;
background-color: #00bfbf;
border-color: #6699cc;
}
.litespeed-toggle-btn-default:hover,
.litespeed-toggle-btn-default:focus,
.litespeed-toggle-btn-default:active,
.litespeed-toggle-btn-default.litespeed-toggle-active {
color: #333;
background-color: #e6e6e6;
border-color: #adadad;
}
.litespeed-toggle-btn:active,
.litespeed-toggle-btn.litespeed-toggle-active {
background-image: none;
outline: 0;
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.litespeed-toggle-btn-default:active,
.litespeed-toggle-btn-default.litespeed-toggle-active {
background-image: none;
}
/* =======================================
LABEL/TAG
======================================= */
[class*='litespeed-label-'] {
display: inline;
padding: 0.2em 0.6em 0.3em;
font-size: 75%;
font-weight: bold;
line-height: 1;
color: #fff;
text-align: center;
white-space: nowrap;
vertical-align: baseline;
border-radius: 0.25em;
}
[class*='litespeed-label-']:hover,
[class*='litespeed-label-']:focus {
color: #fff;
text-decoration: none;
cursor: pointer;
}
[class*='litespeed-label-']:empty {
display: none;
}
.litespeed-label-regular {
font-size: 1em;
}
.litespeed-label-default {
background-color: #777;
}
.litespeed-label-default[href]:hover,
.litespeed-label-default[href]:focus {
background-color: #5e5e5e;
}
.litespeed-label-primary {
background-color: #337ab7;
}
.litespeed-label-primary[href]:hover,
.litespeed-label-primary[href]:focus {
background-color: #286090;
}
.litespeed-label-success {
background-color: #5cb85c;
}
.litespeed-label-success[href]:hover,
.litespeed-label-success[href]:focus {
background-color: #449d44;
}
.litespeed-label-info {
background-color: #5bc0de;
}
.litespeed-label-info[href]:hover,
.litespeed-label-info[href]:focus {
background-color: #31b0d5;
}
.litespeed-label-warning {
background-color: #f0ad4e;
}
.litespeed-label-warning[href]:hover,
.litespeed-label-warning[href]:focus {
background-color: #ec971f;
}
.litespeed-label-danger {
background-color: #d9534f;
}
.litespeed-label-danger[href]:hover,
.litespeed-label-danger[href]:focus {
background-color: #c9302c;
}
/* =======================================
SHELL
======================================= */
.litespeed-shell {
width: 98%;
background: #141414;
margin: 20px auto 0 10px;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
position: relative;
height: 224px;
}
.litespeed-shell-header {
z-index: 999;
position: absolute;
top: 0;
right: 0;
width: 50px;
height: 34px;
padding: 5px 0;
}
.litespeed-shell-header-bg {
opacity: 0.4;
background-color: #cccccc;
position: absolute;
top: 0;
bottom: 0;
right: 0;
left: 0;
z-index: 4;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-top-radius: 3px;
}
.litespeed-shell-header-bar {
position: absolute;
top: 0;
left: 0;
z-index: 10;
height: 2px;
background-color: #f48024;
}
.litespeed-shell-header-icon-container {
position: absolute;
top: 10px;
right: 10px;
width: 29px;
height: 34px;
z-index: 6;
}
ul.litespeed-shell-body {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
overflow-y: scroll;
margin: 0;
padding: 5px;
list-style: none;
background: #141414;
color: #45d40c;
font:
0.8em 'Andale Mono',
Consolas,
'Courier New';
line-height: 1.6em;
-webkit-border-bottom-right-radius: 3px;
-webkit-border-bottom-left-radius: 3px;
-moz-border-radius-bottomright: 3px;
-moz-border-radius-bottomleft: 3px;
border-bottom-right-radius: 3px;
border-bottom-left-radius: 3px;
}
.litespeed-shell-body li:before {
content: '>';
position: absolute;
left: 0;
top: 0;
}
.litespeed-shell-body li {
word-wrap: break-word;
position: relative;
padding: 0 0 0 15px;
margin: 0;
}
.litespeed-widget-setting {
background-color: #ecebdc;
padding: 5px 14px;
margin: 5px -15px;
}
/* =======================================
CALLOUT / NOTICE
======================================= */
.litespeed-callout {
margin: 1.5rem 0;
border-right: 1px solid #e5e5e5;
border-top: 1px solid #e5e5e5;
border-bottom: 1px solid #e5e5e5;
background: #f9f9f9;
}
.litespeed-callout h4:not(:last-child) {
margin-bottom: 0.5rem;
margin-top: 1em;
}
.litespeed-callout p {
margin-left: 0;
}
.litespeed-callout ol,
.litespeed-callout ul {
margin-left: 1em;
}
.litespeed-callout.notice-warning h4 {
color: #e59544;
}
.litespeed-callout.notice-error h4 {
color: #dc3232;
}
.litespeed-callout-bg {
margin: 1.5rem 0;
background: #f9f9f9;
border-top: none;
border-bottom: none;
border-right: none;
}
/* =======================================
TICK / CHECKBOX
======================================= */
.litespeed-tick-wrapper {
margin-left: -5px;
}
.litespeed-tick {
display: inline-block;
/* min-width: 125px; */
background: #f2f9ff;
padding: 5px 0 5px 0px;
border-radius: 3px;
cursor: pointer;
margin: 5px 5px 5px 0;
}
.litespeed-tick-list .litespeed-tick {
display: block;
margin-bottom: 3px;
margin-top: 0;
background: none;
}
.litespeed-tick-list .litespeed-tick input[type='checkbox'] {
margin-left: 0;
}
.litespeed-tick-list .litespeed-tick label {
color: inherit;
}
.litespeed-tick input[type='checkbox'] {
height: 18px;
width: 18px;
vertical-align: middle;
margin: 0 10px;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
-webkit-border-radius: 3px;
border-radius: 3px;
cursor: pointer;
}
.litespeed-tick input[type='checkbox']:not(:disabled):hover {
border-color: #538ac6;
}
.litespeed-tick input[type='checkbox']:active:not(:disabled) {
border-color: #538ac6;
}
.litespeed-tick input[type='checkbox']:focus {
outline: none;
}
.litespeed-tick input[type='checkbox']:checked {
border-color: #538ac6;
background-color: #538ac6;
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: none;
}
.litespeed-tick input[type='checkbox']:checked:before {
content: '';
display: block;
width: 5px;
height: 11px;
border: solid #fff;
border-width: 0 2px 2px 0;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
margin-left: 5px;
margin-top: -1px;
cursor: pointer;
}
.litespeed-tick label {
padding: 2px 0px 2px 0;
font-size: 14px;
color: #264d73;
}
.litespeed-tick label:hover {
min-width: 115px;
color: #6699cc;
}
/* =======================================
RADIO - vertical
======================================= */
.litespeed-radio-row {
margin-bottom: 12px;
position: relative;
padding-left: 1.5rem;
}
.litespeed-radio-row input[type='radio'] {
margin-top: 0;
margin-bottom: 0;
position: absolute;
line-height: 1;
left: 0;
top: 0.7em;
transform: translateY(-50%);
}
.litespeed-radio-row label {
vertical-align: text-bottom;
line-height: 1.4;
}
@media screen and (max-width: 782px) {
.litespeed-radio-row {
padding-left: 2rem;
}
}
/* =======================================
FORM - layout
======================================= */
.litespeed-wrap .litespeed-float-submit {
position: absolute;
right: 0;
top: -5px;
margin-top: 0;
}
.rtl .litespeed-wrap .litespeed-float-submit {
left: 10px;
right: unset;
}
.litespeed-wrap .litespeed-float-resetbtn {
position: absolute;
right: 0;
bottom: 20px;
}
.rtl .litespeed-wrap .litespeed-float-resetbtn {
left: 10px;
right: unset;
}
/* =======================================
FORM - utilities
======================================= */
.litespeed .litespeed-input-large {
font-size: 20px;
}
.litespeed-input-long {
width: 87%;
}
.litespeed-input-short2 {
width: 150px;
}
.litespeed-input-short {
width: 45px;
}
@media screen and (max-width: 680px) {
.litespeed-input-short2 {
width: 160px;
}
.litespeed-input-short {
width: 50px;
}
}
/* =======================================
FORM - elements
======================================= */
.litespeed-form-label {
font-size: 1em;
margin: 0.65rem 0;
display: block;
font-weight: 600;
}
.litespeed-form-label--toggle {
margin: 0;
display: inline-block;
min-width: 110px;
}
input.litespeed-input[type='file'] {
padding: 9px;
min-width: 500px;
border: 1px solid #ddd;
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07);
background-color: #fff;
color: #32373c;
outline: 0;
transition: 50ms border-color ease-in-out;
}
.litespeed-body .litespeed-textarea-success {
border-color: #6699cc;
}
input.litespeed-input-success {
border-color: #28a745;
}
input.litespeed-input-warning {
border-color: #e59544;
}
.litespeed-textarea {
width: 60%;
}
.litespeed-textarea-recommended {
display: flex;
margin-top: -5px;
}
.litespeed-textarea-recommended .litespeed-desc {
margin: 0;
}
.litespeed-textarea-recommended > div:first-child {
margin-top: 1.7em;
font-size: 12px;
margin-right: 25px;
}
.litespeed-wrap .litespeed-collection-button {
text-decoration: none;
min-width: 30px;
text-align: center;
}
.litespeed-collection-button[data-action='add'] {
margin-top: -5px;
margin-left: -5px;
}
.litespeed-collection-button .dashicons {
vertical-align: baseline;
}
.litespeed-wrap .button:not(.litespeed-btn-large).litespeed-form-action .dashicons {
font-size: 1.2em;
vertical-align: middle;
top: 0;
}
@media screen and (max-width: 680px) {
.litespeed-body tbody > tr > th {
display: block;
padding: 18px 0 5px 12px;
}
.litespeed-body .litespeed-table td {
display: block;
max-width: 100%;
}
.litespeed-body .litespeed-table textarea,
.litespeed-body .litespeed-table input.litespeed-regular-text {
width: 100% !important;
}
.litespeed-wrap .litespeed-float-submit {
display: none;
}
.litespeed-body {
padding: 1px 10px 20px 15px;
}
.litespeed-body .regular-text:not(.litespeed-input-short) {
width: 100%;
}
.litespeed-textarea-recommended {
flex-direction: column;
}
.litespeed-textarea-recommended > div:first-child {
margin-bottom: 1.7em;
margin-top: 0;
margin-right: 0;
}
.litespeed-switch {
max-width: 100%;
flex-wrap: wrap;
}
.litespeed-switch + .litespeed-warning {
display: block;
margin-top: 10px;
}
input.litespeed-input[type='file'] {
max-width: calc(100% - 24px);
min-width: 0;
}
.litespeed-body .litespeed-table .litespeed-row-flex {
flex-direction: column;
}
}
/* =======================================
ENTERPRISE NOTICE
======================================= */
.litespeed-ent-notice {
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
background-color: #333;
z-index: 999;
opacity: 0.8;
text-align: center;
font-size: 3rem;
color: #1865c5;
}
.litespeed-ent-notice-desc {
position: relative;
top: 30%;
transform: rotate(-20deg);
text-shadow: 2px 2px 4px #000000;
}
/* =======================================
PROMO BANNER
======================================= */
.litespeed-banner-promo,
.litespeed-banner-promo-full {
display: flex;
padding: 0px;
}
.litespeed-banner-promo-full {
margin: 0px;
padding: 0px;
}
.litespeed-banner-promo-logo {
background-image: url(../img/lscwp-logo_90x90.png);
background-size: contain;
width: 90px;
background-repeat: no-repeat;
display: inline-block;
}
.litespeed-banner-promo-full .litespeed-banner-promo-logo {
margin: 0px;
width: 90px;
height: 90px;
}
.litespeed-banner-promo-content {
margin-left: 25px;
}
.litespeed-banner-promo-full .litespeed-banner-promo-content {
width: 75%;
}
.litespeed-banner-promo-content h1 {
font-weight: 600;
color: #538ac6;
margin-top: 10px;
}
.litespeed-banner-title {
font-size: 1.3em;
margin: 8px 0px 5px 0px;
}
.litespeed-banner-promo-slacklogo {
background-image: url('../img/slack-logo.png');
background-size: contain;
width: 75px;
height: 75px;
background-repeat: no-repeat;
display: inline-block;
padding: 0px;
flex: 0 0 5%;
}
.litespeed-banner-promo .litespeed-banner-promo-slack-line1 {
font-size: 18px;
margin-top: 0px;
line-height: 21px;
}
.litespeed-banner-promo .litespeed-banner-promo-slack-textlink {
color: #e59544;
text-decoration: none;
}
.litespeed-banner-promo .litespeed-banner-promo-slack-textlink:hover {
opacity: 0.8;
}
.litespeed-banner-promo-slack-line2 {
font-size: 15px;
margin: 0px;
line-height: 0.75em;
}
.litespeed-banner-promo-slack-link {
color: #888888;
}
a.litespeed-btn-xs.litespeed-banner-promo-slack-btn {
margin: 0px 5px;
}
/* =======================================
PROMO BANNER - QC
======================================= */
.litespeed-banner-promo-qc {
display: flex;
}
.litespeed-banner-promo-qc h2 {
line-height: 1.4;
}
.litespeed-banner-promo-qc-content {
display: flex;
align-items: center;
}
.litespeed-banner-promo-qc-description {
flex-basis: 50%;
padding-right: 2rem;
}
.litespeed-banner-promo-qc-description p {
font-size: 14px;
}
.litespeed-banner-promo-qc-description .button {
margin-right: 1.5rem;
}
.litespeed-tweet-preview {
border-radius: 5px;
line-height: 1.3125;
box-shadow: 1px 1px 0.5em rgba(0, 0, 0, 0.3);
margin: 0.5em 1em 1em 0;
padding: 1em;
max-width: 480px;
display: flex;
}
.litespeed-tweet-preview:after {
content: '';
display: block;
clear: both;
}
.litespeed-tweet-preview p:first-child {
margin-top: 0;
}
.litespeed-tweet-preview-title {
color: #777;
margin-top: 0.9em;
font-weight: normal;
font-size: 12px;
margin-bottom: 0;
margin-top: 0.9em;
}
.litespeed-tweet-text {
font:
14px system-ui,
-apple-system,
BlinkMacSystemFont,
'Segoe UI',
Roboto,
Ubuntu,
'Helvetica Neue',
sans-serif;
line-height: 1.3125;
}
.litespeed-tweet-cta {
text-align: right;
margin-top: 1em;
}
.litespeed-tweet-cta a {
background-color: #1da1f2;
line-height: 1.3125;
color: #fff;
font-weight: bold;
display: inline-flex;
padding: 0.55em 1em;
font-size: 14px;
border-radius: 99em;
text-decoration: none;
}
.litespeed-tweet-cta a:hover {
background-color: #1e98e1;
}
.litespeed-tweet-cta a svg {
width: 16px;
height: 18px;
margin-right: 0.5em;
}
.litespeed-tweet-cta a svg path {
fill: currentColor;
}
.litespeed-tweet-img {
width: calc(240px + 1rem);
padding-right: 1rem;
box-sizing: border-box;
}
.litespeed-tweet-img img {
max-width: 100%;
vertical-align: middle;
}
.litespeed-tweet-img + p {
margin-top: 0;
}
/* =======================================
admin -> media lib icon
======================================= */
.litespeed-media-href {
display: inline-table;
}
[class*='litespeed-icon-media-'] {
background-size: contain;
width: 25px;
height: 25px;
vertical-align: middle;
margin: 0;
background-repeat: no-repeat;
display: inline-block;
}
[class*='litespeed-icon-media-']:hover {
opacity: 0.7;
}
.litespeed-icon-media-webp {
background-image: url('../img/icons/img_webp.svg');
}
.litespeed-icon-media-webp-disabled {
background-image: url('../img/icons/img_webp_disabled.svg');
}
.litespeed-icon-media-optm {
background-image: url('../img/icons/img_optm.svg');
}
.litespeed-icon-media-optm-disabled {
background-image: url('../img/icons/img_optm_disabled.svg');
}
p.litespeed-media-p {
margin-bottom: 1px !important;
}
p.litespeed-txt-webp {
color: #83b04a;
}
p.litespeed-txt-ori {
color: #5967b3;
}
p.litespeed-txt-disabled {
color: #ced2d9;
}
.litespeed-media-svg {
vertical-align: middle;
margin: 5px;
width: 25px;
height: auto;
}
@keyframes litespeed-circle-chart-fill {
to {
stroke-dasharray: 0 100;
}
}
/* =======================================
PIE chart
======================================= */
.litespeed-pie {
vertical-align: middle;
margin: 5px 5px 5px 0;
}
circle.litespeed-pie_bg {
stroke: #efefef;
stroke-width: 2;
fill: none;
}
circle.litespeed-pie_circle {
animation: litespeed-circle-chart-fill 2s reverse;
transform: rotate(-90deg);
transform-origin: center;
animation: litespeed-pie-fill 2s reverse;
/* 1 */
stroke: #28a745;
stroke-width: 2;
stroke-linecap: round;
fill: none;
}
.litespeed-pie.litespeed-pie-tiny {
margin: 0 2px 0 0;
}
.litespeed-pie.litespeed-pie-tiny text {
font-weight: bold;
fill: #828282;
}
.litespeed-pie.litespeed-pie-tiny circle {
stroke-linecap: initial;
}
.litespeed-pie-tiny circle.litespeed-pie_bg,
.litespeed-pie-tiny circle.litespeed-pie_circle {
stroke-width: 3;
}
.litespeed-pie-tiny circle.litespeed-pie_bg {
stroke: #eee;
}
.litespeed-pie-success circle.litespeed-pie_circle {
stroke: #28a745;
}
.litespeed-pie-warning circle.litespeed-pie_circle {
stroke: #e67700;
}
.litespeed-pie-danger circle.litespeed-pie_circle {
stroke: #c7221f;
}
g.litespeed-pie_info text {
dominant-baseline: central;
text-anchor: middle;
font-size: 11px;
}
.litespeed-promo-score g.litespeed-pie_info text {
font-size: 14px;
font-weight: 600;
}
.litespeed-pie-success g.litespeed-pie_info text {
fill: #28a745;
}
.litespeed-pie-warning g.litespeed-pie_info text {
fill: #e67700;
}
.litespeed-pie-danger g.litespeed-pie_info text {
fill: #c7221f;
}
g.litespeed-pie_info .litespeed-pie-done {
fill: #28a745;
font-size: 15px;
}
/* =======================================
VIEW - multiple cdn mapping
======================================= */
[data-litespeed-cdn-mapping]:first-child [data-litespeed-cdn-mapping-del] {
display: none;
}
.litespeed-cdn-mapping-col1 {
padding-right: 2rem;
max-width: 35%;
}
.litespeed-cdn-mapping-col1 .litespeed-input-long {
width: 100%;
}
.litespeed-cdn-mapping-col2 {
padding-top: 0.25rem;
}
.litespeed-cdn-mapping-col1 label {
position: relative;
}
[data-litespeed-cdn-mapping-del] {
position: absolute;
right: -6px;
top: -6px;
}
@media screen and (max-width: 600px) {
.litespeed-cdn-mapping-col1 {
max-width: 100%;
}
}
/* =======================================
VIEW - crawler
======================================= */
.litespeed-crawler-curr {
vertical-align: middle;
height: 20px;
margin-left: 10px;
}
#cookie_crawler > p:first-child {
margin-top: 5px;
}
.litespeed-crawler-sitemap-nav {
display: flex;
justify-content: space-between;
}
.litespeed-crawler-sitemap-nav > div {
margin-top: 10px;
}
@media screen and (max-width: 680px) {
.litespeed-crawler-sitemap-nav {
display: block;
}
.litespeed-table-responsive {
clear: both;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
.litespeed-table-responsive table {
width: 100%;
}
.litespeed-table-responsive th {
text-wrap: nowrap;
}
.litespeed-table-responsive [data-crawler-list].wp-list-table td:nth-child(2) {
min-width: 115px;
}
.litespeed-wrap input[name='kw'] {
width: 100% !important;
}
}
/* =======================================
PROGRESS BAR
======================================= */
.litespeed-progress-bar {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
color: #fff;
text-align: center;
background-color: #007bff;
transition: width 0.6s ease;
}
.litespeed-progress-bar-yellow {
background-color: #fbe100;
}
.litespeed-progress {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
height: 12px;
overflow: hidden;
font-size: 0.75rem;
background-color: #e9ecef;
border: 1px solid #dddddd;
border-radius: 8px;
width: 75%;
margin: 5em 1em 1.5em 1em !important;
}
/* =======================================
PROGRESS BAR - modal
======================================= */
.litespeed-modal {
margin-top: -8px;
}
.litespeed-modal .litespeed-progress {
margin-left: -8px;
margin-right: -8px;
}
/* =======================================
GUIDANCE
======================================= */
.litespeed-guide {
border: 1px solid #73b38d;
max-width: 50%;
padding: 20px;
}
.litespeed-guide h2 {
color: #73b38d;
border-bottom: 1px solid #73b38d;
display: table;
padding-right: 50px;
padding-left: 3px;
padding-bottom: 3px;
}
.litespeed-guide li {
font-size: 15px;
line-height: 30px;
margin: 10px 10px 10px 16px;
}
.litespeed-guide li.litespeed-guide-done:before {
content: '\2713';
font-size: 26px;
color: #73b38d;
margin-left: -37px;
margin-right: 18px;
opacity: 1;
}
.litespeed-guide li.litespeed-guide-done {
opacity: 0.9;
}
/* =======================================
VIEW - image optimization
======================================= */
.litespeed-image-optim-summary-wrapper {
padding: 0;
}
.litespeed-cache_page_litespeed-img_optm .nav-tab-wrapper,
.litespeed-cache_page_litespeed-cdn .nav-tab-wrapper {
border-bottom-color: #e5e5e5;
}
.litespeed-cache_page_litespeed-img_optm .litespeed-body,
.litespeed-cache_page_litespeed-cdn .litespeed-body {
box-shadow: none;
}
.litespeed-cache_page_litespeed-img_optm .litespeed-wrap .nav-tab:not(.nav-tab-active),
.litespeed-cache_page_litespeed-cdn .litespeed-wrap .nav-tab:not(.nav-tab-active) {
border-bottom-color: #e5e5e5;
}
.litespeed-cache_page_litespeed-img_optm .nav-tab-active,
.litespeed-cache_page_litespeed-cdn .nav-tab-active {
border-left-color: #e5e5e5;
border-right-color: #e5e5e5;
border-top-color: #e5e5e5;
position: relative;
z-index: 2;
}
.litespeed-cache_page_litespeed-img_optm [data-litespeed-layout='summary'],
.litespeed-cache_page_litespeed-cdn [data-litespeed-layout='qc'] {
margin: -2px -21px -21px -21px;
background: #f0f0f1;
}
.litespeed-column-secondary {
background: #f9fafc;
}
.litespeed-column-with-boxes .postbox {
border-color: #e5e5e5;
}
.litespeed-column-with-boxes .litespeed-width-7-10 {
padding: 0;
}
@media screen and (min-width: 815px) {
.litespeed-column-with-boxes > div.litespeed-column-left {
padding-right: 25px;
}
}
.litespeed-column-with-boxes > div.litespeed-column-right {
background: #f1f1f1;
padding-top: 0;
padding-right: 0;
padding-left: 0;
}
.litespeed-column-with-boxes > div.litespeed-column-right .litespeed-postbox:last-child {
margin-bottom: 0;
}
.litespeed-image-optim-summary,
.litespeed-column-left-inside {
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
position: relative;
padding: 1px 20px 20px 20px;
background: #fff;
border: 1px solid #e5e5e5;
}
.litespeed-image-optim-summary-footer,
.litespeed-column-with-boxes-footer {
border-top: 1px solid #efefef;
background: #f9f9f9;
padding: 20px;
margin: 20px -20px -20px;
}
.litespeed-help-btn-icon {
text-decoration: none;
margin-left: 10px;
color: #c8c8c8;
}
.litespeed-postbox-imgopt-info .litespeed-flex-container {
align-items: center;
}
.litespeed-postbox-imgopt-info .litespeed-flex-container:not(:last-child) {
margin-bottom: 0.65em;
}
.litespeed-postbox-imgopt-info .litespeed-flex-container p:first-child {
margin-top: 0;
}
.litespeed-image-optim-summary > h3:first-child,
.litespeed-column-left-inside > h3:first-child {
margin-top: 1.6em;
font-size: 1.2em;
}
.litespeed-image-optim-summary > h3:first-child .litespeed-quic-icon,
.litespeed-column-left-inside > h3:first-child .litespeed-quic-icon {
width: 1.2em;
height: 1.4em;
background-size: contain;
margin-right: 0.2rem;
}
.litespeed-img-optim-actions {
margin-top: 1.65em;
display: flex;
align-items: flex-end;
flex-wrap: wrap;
}
.litespeed-img-optim-actions .button-primary {
font-size: 1.2em;
margin-right: 1em;
padding: 0.35em 0.85em;
min-width: 210px;
text-align: center;
}
@media screen and (max-width: 1079px) {
.litespeed-postbox-imgopt-info svg {
height: 50px;
width: 50px;
}
}
@media screen and (max-width: 814px) {
.litespeed-column-with-boxes > div:first-child {
padding-right: 0;
margin-bottom: 1rem;
}
}
@media screen and (max-width: 680px) {
.litespeed-img-optim-actions .button + .button.button-secondary {
margin-left: 0;
margin-top: 10px;
}
}
/* =======================================
VIEW - image optm media row
======================================= */
.imgoptm.column-imgoptm a[data-balloon-pos] {
border-bottom: 1px dashed;
}
.imgoptm.column-imgoptm p {
margin-bottom: 0.25em;
margin-top: 0;
}
.imgoptm.column-imgoptm p + .row-actions {
margin-top: 0.5em;
}
.fixed .column-lqip {
width: 6rem;
}
.litespeed-media-lqip img {
max-width: 62px;
max-height: 62px;
}
.litespeed-media-href {
font-size: 12px;
}
/* =======================================
VIEW - log view
======================================= */
.litespeed-log-view-wrapper {
margin: 1.5em 0;
}
/* =======================================
VIEW - dashboard
======================================= */
.litespeed-dashboard-group {
margin-bottom: 1rem;
}
.litespeed-dashboard-group > .litespeed-flex-container {
margin: 0 -10px;
min-width: 100%;
width: auto;
}
.litespeed-dashboard .litespeed-postbox {
margin: 10px;
}
.litespeed-dashboard-title a {
text-decoration: none;
margin-left: 0.25rem;
}
.litespeed-dashboard-title--w-btn {
display: flex;
align-items: center;
}
.litespeed-dashboard-title--w-btn .button {
font-weight: normal;
}
.litespeed-postbox-footer .button-small {
vertical-align: middle;
}
.litespeed-postbox .button.button-small .dashicons,
.litespeed-dashboard-title--w-btn .button.button-small .dashicons {
font-size: 1rem;
top: 0.05em;
vertical-align: middle;
margin-left: -5px;
}
.litespeed-dashboard-header {
display: flex;
align-items: center;
}
.litespeed-postbox p.litespeed-dashboard-stats-total + p.litespeed-dashboard-stats-total {
margin-top: 1.2em;
}
.litespeed-dashboard-header:first-child {
margin-top: 1.5rem;
}
.litespeed-dashboard-header hr {
align-self: center;
flex-grow: 1;
margin-left: 15px;
margin-right: 15px;
}
.litespeed-dashboard-header hr:last-child {
margin-right: 0;
}
.litespeed-dashboard-header .litespeed-learn-more {
font-weight: normal;
text-decoration: none;
margin-top: -2px;
color: #5e7380;
}
.litespeed-dashboard-stats h3 {
text-transform: uppercase;
font-size: 12px;
font-weight: normal;
margin-bottom: 0;
margin-top: 1.2em;
color: #777;
}
.litespeed-dashboard-stats h3 + p {
margin-top: 0;
margin-bottom: 0;
}
.litespeed-dashboard-stats .litespeed-desc {
color: #777;
}
.litespeed-dashboard-stats p strong {
font-size: 2em;
font-weight: normal;
margin-right: 5px;
}
.litespeed-dashboard-stats-wrapper {
display: flex;
position: relative;
}
.litespeed-dashboard-stats-wrapper .litespeed-postbox {
margin: 0;
min-width: 20%;
}
.litespeed-dashboard-stats-wrapper .litespeed-postbox .inside .litespeed-title,
.litespeed-dashboard-group .litespeed-postbox .inside .litespeed-title {
font-size: 14px;
}
.litespeed-postbox .inside .litespeed-title a {
font-size: 13px;
}
.litespeed-dashboard-stats-wrapper .litespeed-postbox:not(:last-child) {
margin-right: -1px;
}
.litespeed-dashboard-stats-wrapper .litespeed-postbox:not(:first-child) {
border-left-color: #f9f9f9;
}
.litespeed-dashboard-stats-wrapper .litespeed-dashboard-stats p strong {
font-size: 1.4rem;
}
.litespeed-dashboard-stats-wrapper .litespeed-pie {
width: 60px;
height: 60px;
}
.litespeed-dashboard-stats-wrapper .litespeed-flex-container + p:not(:last-child) {
margin-bottom: 0.55em;
}
.litespeed-dashboard-stats-payg {
color: #777;
}
.litespeed-dashboard-stats-payg strong {
color: #444;
}
.postbox .inside > p.litespeed-dashboard-stats-payg {
margin-top: 1.35em;
}
.postbox .inside > p.litespeed-dashboard-stats-payg:last-child {
margin-bottom: -5px !important;
}
.litespeed-postbox p.litespeed-dashboard-stats-total {
padding: 0.75em 20px 0 20px;
border-top: 1px dashed #eee;
margin-top: 0.55em;
margin-left: -20px;
margin-right: -20px;
margin-bottom: -0.55em !important;
}
.litespeed-postbox.litespeed-postbox-partner .inside {
margin: 11px 0;
}
.litespeed-dashboard-stats-wrapper .litespeed-postbox.litespeed-postbox-partner h3.litespeed-title {
color: #777;
font-weight: normal;
font-size: 13px;
}
.litespeed-postbox.litespeed-postbox-partner a {
font-size: 1.35rem;
font-weight: bold;
text-decoration: none;
margin-top: 5px;
max-width: 100%;
display: inline-block;
}
.litespeed-postbox.litespeed-postbox-partner a:hover {
text-decoration: underline;
}
.litespeed-postbox.litespeed-postbox-partner img {
max-width: 12rem;
}
.litespeed-dashboard-group .litespeed-postbox {
width: calc(25% - 20px);
display: flex;
flex-direction: column;
justify-content: space-between;
}
.litespeed-dashboard-group .litespeed-postbox-double {
min-width: calc(50% - 20px);
display: flex;
justify-content: space-between;
}
.litespeed-postbox-double-content {
display: flex;
align-items: flex-start;
justify-content: space-between;
}
.litespeed-postbox-double-content .litespeed-postbox-double-col {
width: 50%;
}
.litespeed-postbox-double-content .litespeed-postbox-double-col:nth-child(2) {
padding-left: 10px;
}
.litespeed-dashboard-group hr {
margin: 1.5rem 0 0.75rem 0;
}
.litespeed-postbox .litespeed-postbox-refresh {
text-decoration: none;
color: #36b0b0;
line-height: 1;
vertical-align: top;
margin-left: 0.5rem;
margin-bottom: 0;
}
.litespeed-postbox .litespeed-postbox-refresh.button .dashicons {
font-size: 22px;
top: 0.05em;
}
.litespeed-postbox p:last-child {
margin-bottom: 0;
}
.litespeed-label-dashboard {
font-size: 0.92em;
padding: 0.3em 0.6em 0.35em 0.6em;
font-weight: normal;
display: inline-block;
margin-left: 8px;
min-width: 2em;
}
.litespeed-label-dashboard:first-child {
margin-left: 0;
margin-right: 0.35em;
}
.litespeed-postbox .inside {
padding: 0 20px 5px;
}
.litespeed-postbox .inside .litespeed-title {
margin: 0 -20px 12px -20px;
padding: 0px 20px 7px 20px;
border-bottom: 1px solid #eee;
font-size: 1.2em;
}
.litespeed-postbox .inside.litespeed-postbox-footer {
border-top: 1px solid #efefef;
background: #f9f9f9;
padding: 20px;
margin-bottom: 0px;
margin-top: 0;
}
.litespeed-postbox-footer a,
a.litespeed-redetect {
text-decoration: none;
}
.litespeed-postbox .inside.litespeed-postbox-footer--compact {
padding: 7px 15px 8px 15px;
font-size: 12px;
}
.litespeed-postbox-imgopt .litespeed-pie {
width: 55px;
height: 55px;
}
.litespeed-postbox-imgopt .litespeed-flex-container {
align-items: center;
margin-bottom: 10px;
}
.litespeed-postbox-imgopt .litespeed-flex-container .litespeed-icon-vertical-middle + div h3 {
margin-top: 0;
}
.litespeed-postbox-imgopt .litespeed-flex-container .litespeed-icon-vertical-middle + div p {
line-height: 1.2;
}
.litespeed-postbox-imgopt .litespeed-postbox-double-col:last-child > *:first-child {
margin-top: 7px;
}
.litespeed-postbox-pagespeed p:first-child {
margin-top: 0;
margin-bottom: 0;
}
.litespeed-postbox-score-improve {
line-height: 45px;
margin-top: 7px;
font-size: 42px;
}
.litespeed-postbox-pagespeed .litespeed-padding-space:first-child {
padding-left: 5px;
padding-right: 5px;
}
.litespeed-link-with-icon {
text-decoration: underline;
margin-right: 0.25em;
}
.litespeed-link-with-icon .dashicons {
vertical-align: baseline;
position: relative;
top: 0.1em;
font-size: 1em;
text-decoration: none;
width: auto;
margin-right: 0.5em;
}
.litespeed-link-with-icon.litespeed-icon-right .dashicons {
margin-left: 0.5em;
margin-right: 0;
}
.litespeed-warning-bg {
background-color: #b58a09;
color: white;
}
.litespeed-links-group:not(:last-child) {
margin-bottom: 1em;
}
.litespeed-links-group > span:not(:last-child):after {
content: '|';
margin: 0 10px;
color: #ddd;
font-size: 13px;
}
.litespeed-wrap p.litespeed-qc-dashboard-link {
margin-left: 1rem;
}
.litespeed-right.litespeed-qc-dashboard-link .dashicons {
margin-left: 0.5em;
margin-right: 0;
}
.litespeed-score-col {
flex-grow: 1;
padding-right: 15px;
}
.litespeed-score-col .litespeed-text-md {
font-size: 1.35rem;
}
.litespeed-score-col.litespeed-score-col--imp {
text-align: right;
padding-right: 0;
}
.litespeed-score-col--imp .litespeed-text-jumbo {
line-height: 1;
}
.litespeed-wrap span[data-balloon-pos] {
border-bottom: 1px dashed;
}
.litespeed-wrap span[aria-label][data-balloon-pos] {
cursor: default;
}
.litespeed-postbox--quiccloud {
border-color: #253545;
}
.litespeed-postbox--quiccloud.litespeed-postbox .inside .litespeed-title {
background: #253545;
color: #e2e4e5;
margin-top: -11px;
padding: 10px 15px;
margin-left: -15px;
margin-right: -15px;
}
.litespeed-postbox--quiccloud.litespeed-postbox .inside .litespeed-title a {
color: #8abff8;
}
.litespeed-postbox--quiccloud.litespeed-postbox .inside .litespeed-title a:hover {
color: #a5caf2;
}
.litespeed-overwrite{
display: inline-block;
margin-left: 10px;
}
@media screen and (min-width: 1401px) {
.litespeed-postbox--quiccloud.litespeed-postbox .inside .litespeed-title {
padding-left: 20px;
padding-right: 20px;
margin-left: -20px;
margin-right: -20px;
}
.litespeed-postbox .inside.litespeed-postbox-footer--compact {
padding-left: 20px;
padding-right: 20px;
}
}
@media screen and (max-width: 1400px) and (min-width: 1024px) {
.litespeed-dashboard-stats-wrapper .litespeed-postbox {
flex-grow: 1;
}
.litespeed-postbox .inside {
padding: 0 15px 5px;
}
.litespeed-dashboard-group .litespeed-postbox {
width: calc(33.3333% - 20px);
}
.litespeed-dashboard-group .litespeed-postbox-double {
min-width: calc(66.6666% - 20px);
}
}
@media screen and (max-width: 1023px) {
.litespeed-dashboard-stats-wrapper {
flex-wrap: wrap;
}
.litespeed-dashboard-stats-wrapper .litespeed-postbox:not(:first-child) {
border-left-color: #ccd0d4;
}
.litespeed-dashboard-stats-wrapper .litespeed-postbox {
margin-top: -1px;
min-width: calc(33.3333% - 1px);
}
.litespeed-postbox .inside {
padding: 0 15px 5px;
}
.litespeed-dashboard-group .litespeed-postbox {
width: calc(50% - 20px);
}
.litespeed-dashboard-group .litespeed-postbox-double {
min-width: calc(100% - 20px);
}
}
@media screen and (max-width: 719px) and (min-width: 480px) {
.litespeed-dashboard-stats-wrapper .litespeed-postbox {
margin-top: -1px;
min-width: calc(50% - 2px);
}
}
@media screen and (max-width: 569px) {
.litespeed-dashboard-stats-wrapper .litespeed-postbox {
min-width: 100%;
}
.litespeed-dashboard-group .litespeed-postbox {
width: 100%;
}
.litespeed-postbox-double-content .litespeed-postbox-double-col {
width: 100%;
}
.litespeed-postbox-double-content .litespeed-postbox-double-col:nth-child(2) {
padding-left: 0;
margin-top: 7px;
}
.litespeed-postbox-double-content {
flex-wrap: wrap;
}
}
/* =======================================
VIEW - dashboard QC services
======================================= */
.litespeed-dashboard-qc {
position: relative;
}
.litespeed-dashboard-unlock {
text-align: center;
background-color: #fff;
box-shadow:
0 0.125rem 0.4rem -0.0625rem rgba(0, 0, 0, 0.03),
0px 3px 0px 0px rgba(0, 0, 0, 0.07);
border-radius: 0.5rem;
padding: 2rem;
position: absolute;
z-index: 5;
left: 50%;
transform: translate(-50%, 25%);
top: 0;
max-width: 96%;
width: 540px;
}
.litespeed-dashboard-unlock.litespeed-dashboard-unlock--inline {
position: relative;
left: 50%;
transform: translate(-50%, 0);
border: 1px solid #e5e5e5;
background: #fafafa;
margin-top: 2rem;
margin-bottom: 1rem;
max-width: calc(100% - 4rem);
}
.litespeed-dashboard-unlock-title {
font-size: 28px;
}
.litespeed-dashboard-unlock-desc {
font-size: 17px;
color: #000;
}
.litespeed-dashboard-unlock-desc span {
font-size: 14px;
color: #666;
}
p.litespeed-dashboard-unlock-footer {
margin: 3em auto 0 auto;
max-width: 500px;
}
.litespeed-qc-text-gradient {
background: -webkit-linear-gradient(130deg, #ff2a91, #2295d8 60%, #161f29);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
font-weight: 800;
}
.litespeed-dashboard-unlock a.button.button-primary,
.litespeed-wrap .button.litespeed-button-cta {
font-size: 1.2em;
padding: 0.35em 1em 0.35em 0.85em;
min-width: 210px;
text-align: center;
}
.litespeed-dashboard-unlock a.button.button-primary {
margin-top: 10px;
}
.litespeed-dashboard-unlock a.button.button-primary .dashicons,
.litespeed-wrap .button.litespeed-button-cta .dashicons {
vertical-align: baseline;
top: 0.25em;
margin-right: 0.5em;
}
.litespeed-dashboard-unlock + .litespeed-dashboard-qc-enable {
opacity: 0.75;
filter: blur(2px);
}
.litespeed-dashboard-unlock + .litespeed-dashboard-qc-enable:before {
content: '';
position: absolute;
left: -10px;
top: -5px;
width: calc(100% + 20px);
height: calc(100% + 10px);
background: #161e29;
z-index: 2;
opacity: 0.55;
filter: blur(2px);
}
@media screen and (min-width: 1400px) {
.litespeed-dashboard-unlock {
width: 800px;
}
}
@media screen and (max-width: 640px) {
.litespeed-dashboard-unlock {
max-width: 80%;
padding: 1rem 1.5rem 2rem 1.5rem;
transform: translate(-50%, 10%);
}
.litespeed-dashboard-unlock-title {
font-size: 22px;
line-height: 1.2;
}
}
@media screen and (max-width: 340px) {
.litespeed-dashboard-unlock a.button.button-primary,
.litespeed-wrap .button.litespeed-button-cta {
padding: 0.35em 1em 0.35em 1em;
}
.litespeed-dashboard-unlock a.button.button-primary .dashicons,
.litespeed-wrap .button.litespeed-button-cta .dashicons {
display: none;
}
p.litespeed-dashboard-unlock-footer {
margin-top: 2em;
}
}
/********************************* todo *******************************/
/* image optimize page */
.litespeed-column-java {
background: #5cadad !important;
}
.litespeed-text-shipgrey {
color: #535342 !important;
}
.litespeed-text-dimgray {
color: #666666 !important;
}
.litespeed-text-grey {
color: #999999 !important;
}
.litespeed-text-whisper {
color: #e6e6e6 !important;
}
.litespeed-text-malibu {
color: #5cbdde !important;
}
.litespeed-text-morningglory {
color: #99cccc !important;
}
.litespeed-text-fern {
color: #66cc66 !important;
}
.litespeed-text-persiangreen {
color: #009999 !important;
}
.litespeed-text-lead {
font-size: 16px;
}
.litespeed-text-small {
font-size: 12px;
line-height: 14px;
}
.litespeed-text-thin {
font-weight: 100;
}
.litespeed-contrast {
color: white;
}
.litespeed-hr-dotted {
border: 1px dotted #eeeeee;
}
.litespeed-hr {
padding-bottom: 1.5em;
border-bottom: 0.5px solid #97caca;
}
.litespeed-hr-with-space {
border-top: 1px solid #eeeeee;
margin: 2em 0;
border-bottom: none;
}
.litespeed-icon-vertical-middle {
vertical-align: middle;
display: inline-block;
margin: 0px 10px 0px 10px;
}
.litespeed-column-java .litespeed-danger {
color: #c1c53a !important;
}
.litespeed-column-java .litespeed-desc {
color: #bfbfbf;
}
.litespeed-column-java code {
color: #c2f5bf;
background-color: #238888;
}
.litespeed-column-java .litespeed-title {
color: white;
}
.litespeed-width-7-10 .litespeed-progress {
margin: 1em;
}
.litespeed-refresh:after {
content: '⟳';
width: 20px;
height: 20px;
color: #40ad3a;
}
.litespeed-column-java .litespeed-refresh:after {
color: #23ec17;
}
.litespeed-refresh:hover:after,
.litespeed-refresh:focus:after,
.litespeed-refresh:focus:active:after {
color: #7ffbfb;
}
.litespeed-width-3-10 .litespeed-title {
margin: 18px 0;
}
.litespeed-silence {
color: #b1b1b1;
}
.litespeed-column-java .litespeed-congratulate {
color: #c2f5bf;
font-size: 20px;
}
.litespeed-light-code .litespeed-silence code {
background-color: #f0f5fb;
}
.litespeed-column-java .litespeed-btn-danger {
color: #f194a8;
border-color: #f194a8;
}
.litespeed-column-java .litespeed-btn-danger:hover {
background: #f194a8;
}
.litespeed-column-java svg.litespeed-pie circle.litespeed-pie_bg {
stroke: #e8efe7;
}
.litespeed-column-java svg.litespeed-pie circle.litespeed-pie_circle {
stroke: #97caca;
}
.litespeed-column-java svg .litespeed-pie_info text {
fill: #f5ffeb;
}
.litespeed-column-java svg g.litespeed-pie_info .litespeed-pie-done {
fill: #a5ffa0;
}
.litespeed-column-java a {
color: #eaf8ff;
}
.litespeed-column-java a:hover {
color: #ffffff;
}
.litespeed-progress-bar-blue {
background-color: #33adff;
}
.litespeed-status-current {
font-size: 3.5em;
margin: 1.25em 0em 0.75em 0em;
}
/* .litespeed-title, .litespeed-title-short {
margin: 18px 0;
border-bottom: 1px solid #C1D5EA;
margin: 2.5em 0px 1.5em 0 !important;
} */
.litespeed-column-java .litespeed-desc {
color: #cae4e4;
}
.litespeed-column-java .litespeed-warning {
color: #ffd597 !important;
}
.litespeed-column-java .litespeed-btn-success {
color: #ddf1e4;
border: 1px solid #33ad5c;
background: #33ad5c;
}
.litespeed-column-java .litespeed-btn-success:hover {
color: #ffffff;
border: 1px solid #7dca97;
background: #009933;
}
.litespeed-column-java .litespeed-btn-warning {
color: #fff1dd;
border: 1px solid #ff9933;
background-color: #ff9933;
}
.litespeed-column-java .litespeed-btn-warning:hover {
color: #ffffff;
border-color: #ffca7d;
background: #ff9900;
}
.litespeed-column-java .litespeed-btn-danger {
color: #ffeadd !important;
border: 1px solid #ff6600 !important;
background: #ff5c5c;
}
.litespeed-column-java .litespeed-btn-danger:hover {
color: #ffffff;
border: 1px solid #ff9797 !important;
background: #ff0000;
}
.litespeed-column-java .litepseed-dash-icon-success,
.litepseed-dash-icon-success {
color: #5cdede;
font-size: 2em;
margin-top: -0.25em;
}
.litespeed-column-java .litepseed-dash-icon-success:hover,
.litepseed-dash-icon-success:hover {
color: #7de5e5;
}
.litespeed-dashicons-large {
font-size: 2em;
}
.litespeed-column-java p {
color: #ffffff;
}
.litespeed-body tbody > tr > th.litespeed-padding-left {
padding-left: 3em;
}
@media screen and (max-width: 680px) {
.litespeed-body tbody > tr > th.litespeed-padding-left {
padding-left: 10px;
}
.litespeed-body tbody > tr > th.litespeed-padding-left:before {
content: '\2014\2014';
color: #ccc;
margin-right: 5px;
}
}
.litespeed-txt-small {
font-size: 12px;
}
.litespeed-txt-disabled .litespeed-text-dimgray {
color: #aaaaaa;
}
.litespeed-txt-disabled svg {
fill: #aaaaaa;
}
.litespeed-txt-disabled circle.litespeed-pie_circle {
stroke: #cccccc;
}
.litespeed-txt-disabled g.litespeed-pie_info text {
color: #cccccc;
}
a.litespeed-media-href svg:hover {
border-radius: 50%;
background: #f1fcff;
fill: #5ccad7;
box-shadow: 0 0 5px 1px #7dd5df;
transition: all 0.2s ease-out;
transform: scale(1.05);
}
.litespeed-media-p a .dashicons-trash {
font-size: 2.25em;
vertical-align: middle;
display: inline;
border-radius: 50%;
line-height: 1.5em;
}
.litespeed-media-p a .dashicons-trash:hover {
transition: all 0.2s ease-out;
color: #ffa500 !important;
background: #fff5e6;
box-shadow: 0 0 10px 1px #ff8c00;
}
.litespeed-media-p div > svg circle.litespeed-pie_bg {
stroke: #ecf2f9;
}
.litespeed-media-p div > svg circle.litespeed-pie_circle {
stroke: #9fbfdf;
}
.litespeed-media-p div > svg {
fill: #538cc6;
background: rgba(236, 242, 249, 0.1);
border-radius: 50%;
}
.litespeed-banner-description-padding-right-15 {
padding-right: 15px;
}
.litespeed-banner-description {
display: inline-flex;
flex-wrap: wrap;
}
.litespeed-banner-description-content {
margin: 0px;
line-height: 1.25em;
}
.litespeed-banner-button-link {
white-space: nowrap;
margin: 0px;
line-height: 1.5em;
padding-bottom: 5px;
}
.litespeed-notice-dismiss {
position: absolute;
right: 25px;
border: none;
margin: 0;
padding: 10px;
background: none;
cursor: pointer;
color: #888888;
display: block;
height: 20px;
text-align: center;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-weight: 600;
text-decoration: none;
}
.litespeed-notice-dismiss:hover,
.litespeed-notice-dismiss:active,
.litespeed-notice-dismiss:focus {
color: #cc2929;
}
.litespeed-dot {
display: inline-block;
border-radius: 50%;
width: 20px;
height: 20px;
color: white;
text-align: center;
}
.litespeed-badge {
display: inline-block;
border-radius: 20%;
min-width: 50px;
height: 20px;
color: white;
text-align: center;
}
/* =======================================
Comparison Cards - Presets
======================================= */
.litespeed-comparison-card {
box-sizing: border-box;
}
.litespeed-comparison-card-rec .litespeed-card-content > div.litespeed-card-body {
font-size: 14px;
}
.litespeed-comparison-card-rec .litespeed-card-action {
margin-bottom: 0.25rem;
}
.litespeed-comparison-card-rec h3 {
font-size: 20px;
}
.litespeed-card-content > div,
.litespeed-card-action {
padding: 0.85rem 1.25rem;
}
.litespeed-card-header {
border-bottom: 1px solid #eee;
background: #f9fafc;
}
.litespeed-card-content > div.litespeed-card-body {
align-self: stretch;
justify-content: flex-end;
font-size: 15px;
padding-bottom: 0.5rem;
padding-top: 1rem;
}
.litespeed-card-content > div.litespeed-card-footer {
align-self: stretch;
justify-content: flex-end;
padding-bottom: 0;
padding-top: 0.25rem;
}
.litespeed-card-action {
justify-content: flex-end;
}
.litespeed-comparison-card ul {
padding-left: 20px;
list-style: none;
list-style-position: outside;
margin: 0;
}
.litespeed-comparison-card li {
margin-bottom: 0.5em;
line-height: 1.4;
}
.litespeed-comparison-card li:last-child {
margin-bottom: 0;
}
.litespeed-comparison-card ul li:before {
content: '✓';
margin-left: -1em;
margin-right: 0.35em;
color: #329c74;
}
@media screen and (max-width: 1279px) {
.litespeed-comparison-card {
margin: 0 0 -1px 0;
}
}
@media screen and (min-width: 640px) and (max-width: 1279px) {
.litespeed-comparison-cards {
max-width: 740px;
}
.litespeed-card-content {
display: flex;
flex-wrap: wrap;
}
.litespeed-card-content .litespeed-card-header {
width: 100%;
}
.litespeed-card-content > div.litespeed-card-body {
align-self: initial;
width: 50%;
box-sizing: border-box;
}
.litespeed-card-content > div.litespeed-card-footer {
width: 50%;
align-self: initial;
box-sizing: border-box;
}
.litespeed-card-content > div.litespeed-card-footer h4 {
margin-top: 1rem;
}
}
@media screen and (min-width: 1280px) {
.litespeed-comparison-cards {
display: flex;
margin: 3rem 0 2rem 0;
max-width: 1720px;
}
.litespeed-comparison-card {
width: 19%;
min-width: 0;
display: flex;
flex-direction: column;
margin-right: -1px;
justify-content: space-between;
}
.litespeed-comparison-card:first-child {
border-top-left-radius: 5px;
border-bottom-left-radius: 5px;
overflow: hidden;
}
.litespeed-comparison-card:last-child {
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
overflow: hidden;
}
.litespeed-comparison-card-rec {
width: 23%;
padding-top: 1rem;
padding-bottom: 0.75rem;
margin-top: -1rem;
margin-bottom: 0.25rem;
border-radius: 5px;
overflow: hidden;
}
.litespeed-comparison-card-rec .litespeed-card-header {
margin-top: -1rem;
padding-top: 1.75rem;
padding-bottom: 0.95rem;
}
}
/* =======================================
BALLOON PURE CSS TOOLTIPS
======================================= */
.litespeed-wrap {
--balloon-color: rgba(16, 16, 16, 0.95);
--balloon-font-size: 12px;
--balloon-move: 4px;
}
.litespeed-wrap button[aria-label][data-balloon-pos] {
overflow: visible;
}
.litespeed-wrap [aria-label][data-balloon-pos] {
position: relative;
cursor: pointer;
}
.litespeed-wrap [aria-label][data-balloon-pos]:after {
opacity: 0;
pointer-events: none;
transition: all 0.2s ease 0.05s;
text-indent: 0;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
font-weight: normal;
font-style: normal;
text-shadow: none;
font-size: var(--balloon-font-size);
background: var(--balloon-color);
border-radius: 2px;
color: #fff;
content: attr(aria-label);
padding: 0.5em 1em;
position: absolute;
white-space: nowrap;
z-index: 10;
line-height: 1.4;
}
.litespeed-wrap [aria-label][data-balloon-pos]:before {
width: 0;
height: 0;
border: 5px solid transparent;
border-top-color: var(--balloon-color);
opacity: 0;
pointer-events: none;
transition: all 0.2s ease 0.05s;
content: '';
position: absolute;
z-index: 10;
}
.litespeed-wrap [aria-label][data-balloon-pos]:hover:before,
.litespeed-wrap [aria-label][data-balloon-pos]:hover:after,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-visible]:before,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-visible]:after,
.litespeed-wrap [aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:before,
.litespeed-wrap [aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:after {
opacity: 1;
pointer-events: none;
}
.litespeed-wrap [aria-label][data-balloon-pos].font-awesome:after {
font-family:
FontAwesome,
-apple-system,
BlinkMacSystemFont,
'Segoe UI',
Roboto,
Oxygen,
Ubuntu,
Cantarell,
'Open Sans',
'Helvetica Neue',
sans-serif;
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-break]:after {
white-space: pre;
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-break][data-balloon-length]:after {
white-space: pre-line;
word-break: break-word;
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-blunt]:before,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-blunt]:after {
transition: none;
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up']:after {
bottom: 100%;
left: 50%;
margin-bottom: 10px;
transform: translate(-50%, var(--balloon-move));
transform-origin: top;
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up']:before {
bottom: 100%;
left: 50%;
transform: translate(-50%, var(--balloon-move));
transform-origin: top;
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up']:hover:after,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up'][data-balloon-visible]:after {
transform: translate(-50%, 0);
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up']:hover:before,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up'][data-balloon-visible]:before {
transform: translate(-50%, 0);
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up-left']:after {
bottom: 100%;
left: 0;
margin-bottom: 10px;
transform: translate(0, var(--balloon-move));
transform-origin: top;
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up-left']:before {
bottom: 100%;
left: 5px;
transform: translate(0, var(--balloon-move));
transform-origin: top;
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up-left']:hover:after,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up-left'][data-balloon-visible]:after {
transform: translate(0, 0);
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up-left']:hover:before,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up-left'][data-balloon-visible]:before {
transform: translate(0, 0);
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up-right']:after {
bottom: 100%;
right: 0;
margin-bottom: 10px;
transform: translate(0, var(--balloon-move));
transform-origin: top;
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up-right']:before {
bottom: 100%;
right: 5px;
transform: translate(0, var(--balloon-move));
transform-origin: top;
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up-right']:hover:after,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up-right'][data-balloon-visible]:after {
transform: translate(0, 0);
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up-right']:hover:before,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='up-right'][data-balloon-visible]:before {
transform: translate(0, 0);
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down']:after {
left: 50%;
margin-top: 10px;
top: 100%;
transform: translate(-50%, calc(var(--balloon-move) * -1));
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down']:before {
width: 0;
height: 0;
border: 5px solid transparent;
border-bottom-color: var(--balloon-color);
left: 50%;
top: 100%;
transform: translate(-50%, calc(var(--balloon-move) * -1));
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down']:hover:after,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down'][data-balloon-visible]:after {
transform: translate(-50%, 0);
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down']:hover:before,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down'][data-balloon-visible]:before {
transform: translate(-50%, 0);
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down-left']:after {
left: 0;
margin-top: 10px;
top: 100%;
transform: translate(0, calc(var(--balloon-move) * -1));
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down-left']:before {
width: 0;
height: 0;
border: 5px solid transparent;
border-bottom-color: var(--balloon-color);
left: 5px;
top: 100%;
transform: translate(0, calc(var(--balloon-move) * -1));
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down-left']:hover:after,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down-left'][data-balloon-visible]:after {
transform: translate(0, 0);
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down-left']:hover:before,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down-left'][data-balloon-visible]:before {
transform: translate(0, 0);
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down-right']:after {
right: 0;
margin-top: 10px;
top: 100%;
transform: translate(0, calc(var(--balloon-move) * -1));
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down-right']:before {
width: 0;
height: 0;
border: 5px solid transparent;
border-bottom-color: var(--balloon-color);
right: 5px;
top: 100%;
transform: translate(0, calc(var(--balloon-move) * -1));
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down-right']:hover:after,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down-right'][data-balloon-visible]:after {
transform: translate(0, 0);
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down-right']:hover:before,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='down-right'][data-balloon-visible]:before {
transform: translate(0, 0);
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='left']:after {
margin-right: 10px;
right: 100%;
top: 50%;
transform: translate(var(--balloon-move), -50%);
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='left']:before {
width: 0;
height: 0;
border: 5px solid transparent;
border-left-color: var(--balloon-color);
right: 100%;
top: 50%;
transform: translate(var(--balloon-move), -50%);
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='left']:hover:after,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='left'][data-balloon-visible]:after {
transform: translate(0, -50%);
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='left']:hover:before,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='left'][data-balloon-visible]:before {
transform: translate(0, -50%);
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='right']:after {
left: 100%;
margin-left: 10px;
top: 50%;
transform: translate(calc(var(--balloon-move) * -1), -50%);
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='right']:before {
width: 0;
height: 0;
border: 5px solid transparent;
border-right-color: var(--balloon-color);
left: 100%;
top: 50%;
transform: translate(calc(var(--balloon-move) * -1), -50%);
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='right']:hover:after,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='right'][data-balloon-visible]:after {
transform: translate(0, -50%);
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='right']:hover:before,
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-pos='right'][data-balloon-visible]:before {
transform: translate(0, -50%);
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-length='small']:after {
white-space: normal;
width: 80px;
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-length='medium']:after {
white-space: normal;
width: 150px;
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-length='large']:after {
white-space: normal;
width: 260px;
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-length='xlarge']:after {
white-space: normal;
width: 380px;
}
@media screen and (max-width: 768px) {
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-length='xlarge']:after {
white-space: normal;
width: 90vw;
}
}
.litespeed-wrap [aria-label][data-balloon-pos][data-balloon-length='fit']:after {
white-space: normal;
width: 100%;
}
/* =======================================
Misc Mobile TWEAKS
======================================= */
@media screen and (max-width: 680px) {
.litespeed-wrap .litespeed-body .field-col {
margin-left: 0;
}
.litespeed-width-auto.litespeed-table-compact td {
font-size: 12px;
word-break: break-word;
}
.litespeed-body .litespeed-table td .litespeed-right {
float: none !important;
}
.litespeed-title a.litespeed-learn-more,
.litespeed-title-short a.litespeed-learn-more {
display: block;
margin-left: 0;
margin-top: 5px;
}
}
.litespeed-wrap .litespeed-redetect[aria-label][data-balloon-pos][data-balloon-pos='up']:after {
left: auto;
right: 0;
transform: translate(0%, var(--balloon-move));
}
.litespeed-wrap .litespeed-redetect[aria-label][data-balloon-pos][data-balloon-pos='up']:hover:after,
.litespeed-wrap .litespeed-redetect[aria-label][data-balloon-pos][data-balloon-pos='up'][data-balloon-visible]:after {
transform: translate(0, 0);
}
/* =======================================
QC
======================================= */
.litespeed-col-status-data h3,
.litespeed-col-status-data h4 {
margin-bottom: 0;
margin-top: 20px;
}
.litespeed-col-status-data h3 .dashicons {
vertical-align: bottom;
}
.litespeed-col-status-data h4 .dashicons {
vertical-align: sub;
}
/* To use on dark bg */
.litespeed-wrap .litespeed-qc-button {
background-color: #5efffc;
border: 1px solid #00d0cb;
box-shadow: 0px 2px 0px 0px #00d0cb;
color: #161f29;
font-weight: 600;
font-size: 15px;
padding: 12px 24px;
border-radius: 3px;
line-height: 1;
display: inline-flex;
align-items: center;
transition: 0.25s;
}
.litespeed-wrap .litespeed-qc-button:hover {
background: #21a29f21;
color: #5efffc;
border-color: #00d0cb;
}
.litespeed-wrap .litespeed-qc-button .dashicons {
top: auto;
}
.litespeed-postbox.litespeed-qc-promo-box {
background: #161e29 linear-gradient(110deg, #171c2fbd, #252766ab);
border-radius: 5px;
box-shadow: 0px 4px 0px 0px #161d2e;
border: none;
}
.litespeed-postbox.litespeed-qc-promo-box .inside {
padding: 25px;
margin: 0;
}
.litespeed-dashboard-group .litespeed-postbox.litespeed-qc-promo-box {
box-shadow: none;
}
.litespeed-dashboard-group .litespeed-postbox.litespeed-qc-promo-box .inside {
padding: 20px 25px;
}
.litespeed-postbox.litespeed-qc-promo-box h3 {
margin-top: 0;
color: #fff;
font-size: 24px;
font-weight: 800;
line-height: 1.4em;
}
.litespeed-postbox.litespeed-qc-promo-box h3 .litespeed-quic-icon {
width: 24px;
height: 28px;
background-size: contain;
margin-right: 10px;
}
.litespeed-postbox.litespeed-qc-promo-box p {
color: #dbdbdb;
font-size: 1rem;
}
/* =======================================
Deactivate modal
======================================= */
#litespeed-modal-deactivate {
padding: 20px;
}
#litespeed-modal-deactivate h2 {
margin: 0px;
}
#litespeed-modal-deactivate .litespeed-wrap {
margin: 10px 0px;
}
#litespeed-modal-deactivate .deactivate-clear-settings-wrapper,
#litespeed-modal-deactivate .deactivate-actions {
margin-top: 30px;
}
#litespeed-modal-deactivate .deactivate-reason-wrapper label,
#litespeed-modal-deactivate .deactivate-clear-settings-wrapper label {
width: 100%;
display: block;
margin-bottom: 5px;
}
#litespeed-modal-deactivate .deactivate-actions {
display: flex;
justify-content: space-between;
}
assets/css/litespeed-dummy.css 0000644 00000000074 15207571326 0012470 0 ustar 00 /* To be replaced in `head` to control optm data location */ assets/css/iziModal.min.css 0000644 00000247556 15207571326 0011735 0 ustar 00 /*
* iziModal | v1.5.1
* http://izimodal.marcelodolce.com
* by Marcelo Dolce.
*/
.iziModal{display:none;position:fixed;top:0;bottom:0;left:0;right:0;margin:auto;background:#fff;box-shadow:0 0 8px rgba(0,0,0,.3);transition:margin-top .3s ease,height .3s ease;transform:translateZ(0)}.iziModal *{-webkit-font-smoothing:antialiased}.iziModal::after{content:'';width:100%;height:0;opacity:0;position:absolute;left:0;bottom:0;z-index:1;background:-moz-linear-gradient(top,transparent 0%,rgba(0,0,0,.35) 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,transparent),color-stop(100%,rgba(0,0,0,.35)));background:-webkit-linear-gradient(top,transparent 0%,rgba(0,0,0,.35) 100%);background:-o-linear-gradient(top,transparent 0%,rgba(0,0,0,.35) 100%);background:-ms-linear-gradient(top,transparent 0%,rgba(0,0,0,.35) 100%);background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.35) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#59000000',GradientType=0 );transition:height .3s ease-in-out,opacity .3s ease-in-out;pointer-events:none}.iziModal.hasShadow::after{height:30px;opacity:1}.iziModal .iziModal-progressbar{position:absolute;left:0;top:0;width:100%;z-index:1}.iziModal .iziModal-progressbar>div{height:2px;width:100%}.iziModal .iziModal-header{background:#88a0b9;padding:14px 18px 15px;box-shadow:inset 0 -10px 15px -12px rgba(0,0,0,.3),0 0 0 #555;overflow:hidden;position:relative;z-index:10}.iziModal .iziModal-header-icon{font-size:40px;color:rgba(255,255,255,.5);padding:0 15px 0 0;margin:0;float:left}.iziModal .iziModal-header-title{color:#fff;font-size:18px;font-weight:600;line-height:1.3}.iziModal .iziModal-header-subtitle{color:rgba(255,255,255,.6);font-size:12px;line-height:1.45}.iziModal .iziModal-header-subtitle,.iziModal .iziModal-header-title{display:block;margin:0;padding:0;font-family:'Lato',Arial;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.iziModal .iziModal-header-buttons{position:absolute;top:50%;right:10px;margin:-17px 0 0}.iziModal .iziModal-button{display:block;float:right;z-index:2;outline:0;height:34px;width:34px;border:0;padding:0;margin:0;opacity:.3;border-radius:50%;transition:transform .5s cubic-bezier(.16,.81,.32,1),opacity .5s ease;background-size:67%!important;-webkit-tap-highlight-color:transparent}.iziModal .iziModal-button-close{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODZCQkIzQ0I0RTg0MTFFNjlBODI4QTFBRTRBMkFCMDQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODZCQkIzQ0M0RTg0MTFFNjlBODI4QTFBRTRBMkFCMDQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4NkJCQjNDOTRFODQxMUU2OUE4MjhBMUFFNEEyQUIwNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4NkJCQjNDQTRFODQxMUU2OUE4MjhBMUFFNEEyQUIwNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsgTJLcAAALJSURBVHja3JnLS1VBHMfvQ7g9dBXRRrwEFRciAhMi1JRW1aIHVEIYEkW0iVpUhOD/ICK6cFMgSbUpC6VFkQa9NtpjkauriRY9Noa3pHT8/mIODMM5Or85o87pC5/NPf5mvmc8M7+Z36SFEKkY2gj2gUawF2wHW8A6+fwv+A6KYAQMg+dg2rbDtKXhGnAaHJIms4zYz9J4HxgAf1g9k2EGteAhWBBuNApaQNrUg6nRTaAbzIuV0RCocWW4DoyJlVcJXI5ruFk2tJqi/2TWxvA5sXbqA2Ucw01i7dVjargazAo/dE33p6/DlAheg50pP0SJpwG8CH7IaH/Q5pFZUhnoArkwwwVwJeWfdoMLYYZvqG+yTGo9CerAoIWBT+A4qAdPDWOugwo1NVcxJtpFZRLkwH3GJCqCghJfxVjnz1JMMMKnwAbGRAg0B5rAA4O4CblZ+qj8tkBjZthvSzDCtFIMM0ZpQhslk5Eej4jpZ/T7G+ygwG1ghrk+jjNMFy1eMPJzpOAzlou6iWmXZkm91EBHjEwUZXoQTDk2SxqhRh7HTJ9hpstB3rFZ0ldq6J2DnB9m2rXZfxOPlrX1DrJRXiaBXSHPaMHvB0cd9JPLpBImMvzLQTuUFA6A9yHPfoIjhsllOc1l5N4grtmDWgYrl5+JTUZcSjNkeMyxWdpA3ZN72IJj01OJTByJS82J2/wQVxmB5y1HK8x0JWMf/kzdD98FJcY5S51gdwyTQl6eUAraspo27PeWXgy8afim0+CELAwOWHyH9EkdkyWwJ4Yxk6BCP+bTm48anutWW5dAp34IpbW03UOzb0FPVEHbx0LKfvAyqpAyKw97JU8Mt6pml6rAJ6oY6Eu5NfvfF7QTeWWQyEsZr6694lwsNoPD8mKRo29gCNwGj7gXi7aGA1EBcY+8vq0GW8FmJb3Pgx9gEnwAr8Ab8MW2w0UBBgAVyyyaohV7ewAAAABJRU5ErkJggg==) no-repeat 50% 50%}.iziModal .iziModal-button-fullscreen{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RTBBOUI4RUM0RTg0MTFFNjk0NTY4NUNFRkZFNEFEQzIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RTBBOUI4RUQ0RTg0MTFFNjk0NTY4NUNFRkZFNEFEQzIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFMEE5QjhFQTRFODQxMUU2OTQ1Njg1Q0VGRkU0QURDMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFMEE5QjhFQjRFODQxMUU2OTQ1Njg1Q0VGRkU0QURDMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrQO6gAAAANmSURBVHjazJlbSBRRGMd3x92i0ForRRMiKiUoX4ouiFlJkRVBDxW9GJERwUasvdRT9FD00osRQtAFqegGBUHRBY0uaCVKEkSRpVR0tSwrQtp1+p/4Bk7D7M45M/Ot/uGHu+Psmf+c+eY753wnbJpmyIfGgvmgiv6WgkKQBwzwE3wBr0AnuAta6ZgnhT0aFuY2ghoyGdH4bS+4Dc6CZjCkdWVhWIPF4JoZnB6CDToeVE8sBidNPt0E5UEZrgG9Jr8GwHa/huMgaWZXDSDsxfBuc/jUBAwdw3Fz+NWoang5SJkjQwm7P3seLqQEX2LLfgfBdZcMORMcBqNDwekPqASP0uXhpjR3Ok0x/fUw9HIHGGVdw5DuRtzJpgxDsJui2qOWmuaAOuuLbHivz4YLwLgQj/aAXNmwuItlHhtbA7pAG5jEZHgKWCcbrhUTIY+NPQVjqFFObbYMi/hc6aOhl2AJ9TKnFoIyYXgemKEzJQXVVkyR3oFVzKZFuqw2qHdyFPKhrHPgMoWC3fRjRtNVVg+7SR5IiqmXxUt60cG0CK/vTIZniZVCmcKJF0C3ZNjKBqvJ9Hrwm46tsN1EkCoRQ/M3fBjvs6GrYAvdwHEfGcd1qBaGkwoxrKI+xjz83yJ0iLFHApd46X4xX+M+WECh4lepCNUIcpnMijrEWtAvTRHrbOd8FZNG8uA2Nf0hpmwtjBPwpQ5T0GPS/+tBAZhIq+b3Lu09EyHRwRgO+0C+7dhWcII+PwCf6Sk/Aa9d2vtn+A7nyASugJiD6YSDQcOlvVbxiCaAN8xrs3sgprBiac/QhlhnzjUo6JuZM0UlDS5FPtoQIdNlPYJTWUihFaDex+9Pg6T1KHJAJ2NI7ASllA28hEQ/KJIXoSlwgKlnh+jFe+GjLtwIPtjfyktUt+UaUZWqvw7H3oJD1peI7eQdoF1xWa+zQikHH13OmwqmOxxP0EiZtgK/DRwNuIcHwSeXc2K01WAPhbhKBb5hBNTVbskVH7fqpZGhbJUNtYF83fqwQSXPbOsGjb6etwx2gcEsmT3iFAZeNmUqaMeHSz2qu0k6W15Rqsx3B2i0D+xXGAHTFrRVlEeFuVoqH+ku6VNUbDkPzlAtg30nVK66i8rRIjAbTKaSQVQyN0DD6nOqcLZQld9TLfmvAAMAeMcvp3eCFqQAAAAASUVORK5CYII=) no-repeat 50% 50%}.iziModal.isFullscreen .iziModal-button-fullscreen{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkFFRTU5NDA0RTg1MTFFNjk0NEZFQzBGMkVBMDYyRDkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkFFRTU5NDE0RTg1MTFFNjk0NEZFQzBGMkVBMDYyRDkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyQUVFNTkzRTRFODUxMUU2OTQ0RkVDMEYyRUEwNjJEOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyQUVFNTkzRjRFODUxMUU2OTQ0RkVDMEYyRUEwNjJEOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuDFfX8AAANASURBVHjazJlZSBVRGMfHcWlB0xZM68GKukQLYaGkmEUR2EsvRfQS+BSJPUQE+lTR8hqIZY8hFS0ERVCRoW3gpUApghYpszLTVnCB3O70/+K7MAwzc78Z58z4hx8XzpzvzJ+Zc+d85ztphmFoU9BsUAoq+XcFyAc5QAfD4BfoBp3gCWjnNl9K82mYzO0FVWwyw0NsD3gIroBWkPB0ZzLsgc3grhGcnoE9XjxIOxaCC4Y6tYC1QRmuAj2Geg2CA1M1XAsmjHDVANL8GK4zolMz0L0YrjWiV5PU8HYw6TBIf8imD6UynA96HYKPg3mgMUTDY6DUzXCzQ+AxSz+r6QEQZz4HbLoDZNkZrnAIoOlRZjN1Gk3XS0zty/gTFaRq7Ay3uAR8BcU2ps/z9QJTWw74HrDhTyDbbHg9SKQI+sb9rKa3mV8ZmAt+KJjP1TS+zinFPkqEUqQdBeAOKLa0UwIzpqlXtcYpIKWIO4RBZPoRKNfC10YQI8MlYLkwaAB8ABsiMDwDbKU8dgtIFwRMgJ3guRadKpNPWBMa7tOi1WoyHJPuTsC4oN+IQsOLM3gPJlEWqOE/neMGBqwDeYoMz6G8c0I4h6eFyHBC8A2eVoaH8JutaPwuUA/+uvSht1sHKgTjTWZwjUCVYdrK3xT0iwkND+lc5FClUQ9fINHCRYY7FBrWPSz5Er2lAR9H9P+hpfYGl64OCmPadQ7ojcDwOJetysBMQX/6mrWS4d+cIoYtMnAEnBT2fwVeJufYxZBMFoKFlrajQtOX/uczvEtIB50Kdgn1lt3JGdANltjsXE64jPMnuQ1LPuFJcFrBE11gzQXAUnAPFNk86esO4zSBfmu5lVa9toCf8DC4Ba6C22DEdO01KDLdP5fLr1Z94X2ibV1ilWVQ1XrDpvPAU4c+u1KVqvaHXI7q43ltp3PSYmDDNCgGPrCUD1wN6y5lqzAUN89baX1Y55Jn2LrPRUffRwaHwWhIZs/aTQM/hzLlDp+coPRReprk5cgrkyvz7wM0+hOcAvOlPvwcLNIp526ux1H5aJbHeFpVX4Br4LLXWoffk9CkVnLlaBNYAxaBXJBpMjfIy+o7EAdtfIyb8HPDfwIMAM1WPs8F9tcxAAAAAElFTkSuQmCC) no-repeat 50% 50%}.iziModal .iziModal-button-close:hover{transform:rotate(180deg)}.iziModal .iziModal-button:hover{opacity:.8}.iziModal .iziModal-header.iziModal-noSubtitle{height:auto;padding:10px 15px 12px}.iziModal .iziModal-header.iziModal-noSubtitle .iziModal-header-icon{font-size:23px;padding-right:13px}.iziModal .iziModal-header.iziModal-noSubtitle .iziModal-header-title{font-size:15px;margin:3px 0 0;font-weight:400}.iziModal .iziModal-header.iziModal-noSubtitle .iziModal-header-buttons{right:6px;margin:-16px 0 0}.iziModal .iziModal-header.iziModal-noSubtitle .iziModal-button{height:30px;width:30px}.iziModal-rtl{direction:rtl}.iziModal-rtl .iziModal-header{padding:14px 18px 15px 40px}.iziModal-rtl .iziModal-header-icon{float:right;padding:0 0 0 15px}.iziModal-rtl .iziModal-header-buttons{right:initial;left:10px}.iziModal-rtl .iziModal-button{float:left}.iziModal-rtl .iziModal-header-subtitle,.iziModal-rtl .iziModal-header-title{text-align:right;font-family:Tahoma,'Lato',Arial;font-weight:500}.iziModal-rtl .iziModal-header.iziModal-noSubtitle{padding:10px 15px 12px 40px}.iziModal-rtl .iziModal-header.iziModal-noSubtitle .iziModal-header-icon{padding:0 0 0 13px}.iziModal.iziModal-light .iziModal-header-icon{color:rgba(0,0,0,.5)}.iziModal.iziModal-light .iziModal-header-title{color:#000}.iziModal.iziModal-light .iziModal-header-subtitle{color:rgba(0,0,0,.6)}.iziModal.iziModal-light .iziModal-button-close{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4JpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyQTU1RUZDNzRFODQxMUU2ODAxOEUwQzg0QjBDQjI3OSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1NEM4MTU1MEI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0RTNFNENDMkI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjZjYzMwMmE1LWFlMjEtNDI3ZS1hMmE4LTJlYjhlMmZlY2E3NSIgc3RSZWY6ZG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjdmYmU3NGE3LTAxMDUtMTE3YS1hYmM3LWEzNWNkOWU1Yzc4NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Po24QssAAANtSURBVHja3JlJaBRBFIa7ZxyTSXADHUkikuAawZNLEOOGGrwJQYko8R4RBQ+OICoqghJQUVwPYjzFY0QUBQU1kogoKO6CG0pcIwbiNibj/8JraNvu6Xo9NTOtP3xzSKe6/65+Ve9VlWlkp2IwGUwFE0E5GA4G8/U+0APegWfgHrgPuq0bpNNp0QPNgEYngHlgGpuMCNp2s+kr4BYM/8ql4WqwHEzP4mXteg7awOW0YlerPnQIaARLNBl1ikLlBDw/1WF4ClgHKozc6idogekz2RheANbaBlE+dB4chfF+qeHF3LOF0FWwF6b7nBe8RvecApolzQVr3C64GR4H1huFV51pmvV+hikRbABFRji0GqarMxluAGON8CgKmmA65mZ4DFhqhE9VPP//ZXgZiCmm1t1gI6XWAAY+gF0gCe4qtqlHL8fthkeBWsXGreA6eMgPviEw+x5sBZ3gAdjPCcNPI8Fsu+FawUCzz40psEfRNJndBl7b/pZmVLTQMkzJo0bQSys43iWm3cxS+DUJOmoSwqKCRmEZWKkYv6RSMBPc5lqXRGm0A1Q6XiaT2aSwo8jrK/qZwZlFIlXTusxa6iXDddTdARpnMj2ek9AWjWYH7h/lubcs4A28THdyAdOl0ezAmKNBNyLLiT0Btjti9zuHg06zpJKIprohwXNypcu1OIdGjYbnxCLGPyYy/EPDfejzbwYvXK59AzuFGdFLKTL8WYNZ59RVzGESJCNm0teI40E6zNIA2wSaA2REP32iaW0omKXRbJKTUVyYEVV0J8oxvEiQmiUZrFSz6XNkuJe3nBKCelaSbjOZrhLsd1BInYxweSeJq9YA6dYtuZCBI4JZ6jGW/W+sebhd0DAaMIO5mTYFW1+X6GeQ7TO3W0WyQj3cw0ulBg4nSUbcAY7zPVYp7ip95FXOH29Hb35AOPjypWMIh7PORSjFZVsIzdKW7AWvfYnTVNWHyCytHw+jd1Nehqks3KepvtChUzD7yGvE2/cduqxldQF1EWZb/PbWLF3jAVgo0WrlkN+c6hSd+rzlaSuaR7O0oX0wyIa2pVAdGaj0HCUVOqIq4dVwrg5lmmG2w+8f/9tjL6foYHE+Gy8Xtv3CPUpf7WauDxadKuIwoeNbOmoYDYbZ0ns/1wxUC7ykigs8sS/LpEe3vwUYALiKDDDSgEiSAAAAAElFTkSuQmCC) no-repeat 50% 50%}.iziModal.iziModal-light .iziModal-button-fullscreen{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4JpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpEQTg1NTA2NTRFODQxMUU2OTQ0N0VERjY2Q0M5ODYwRCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0RTNFNENCQkI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0RTNFNENCQUI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjFlNTQwYzczLTVhZmEtNDJlYi04YzJlLWMwMzFlYmFiYmIyNiIgc3RSZWY6ZG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmVkYmRiMzM1LTAxMDUtMTE3YS1hYmM3LWEzNWNkOWU1Yzc4NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvIicdUAAAOvSURBVHjaxJlZbA1hFMe/qaItUUsspakg1laJ7UUisQuRvvTFA15sQSRCLBFrQryhHqxNHxEPtaQ8CCUkIrVVRbVBJdZYSrXVonr9/3pGxnTunZk78/X+k1+aO+1899/vnnvO+c4YKpi6ghEgW34OBD1BKjBAM6gH78Fz8BhUyrW/ikQivt7QiNMozU0DE8RkJx/3fgCPwA1QHvHp2K/hHJAPJqpwVA2K4flW2IZ7gyVgptKjh6AQxl+GYZi7uRr0U3rVBIpg+nIQwwvACpCkOk4XwYlosR3LMGN1qUqMroGDTqaNGDu7SiVWl+D3iP2i00c9HqxUidd8wzDy3HY4HRwCfWzXz4L7Lm+QKfHeOUTTLWAzdro6muH1YIbDjculWrmpUEM2YYXcCNMt9pAYE8WsWYLdlAxaNYTGMDDHKYYXBVy4B0jTFM/5iOcUc1fM/2JcnItNAYtBNzGtQ33BVHDV3OHpARqhV6CLLKpTs8yQYHxOCrDQO7AV1Gg2PBJhMYiGh4MMnx1eLkixXKsFuzSbZrrMpeGxHnqFFtvrTWCbhILd9AuNpnPMHXaTtZD0kl1mRdwSxXSjJsNZfONjcmqIJR5p3lp6Y+sXrAzsBz/lNXvmtZYMFKbqafi0pKQgKpOSPhmsC5BxXEs1Fz4fUr/7TWMe/q9bC2s3tJs1Df/Q/B5PwAZwJYS1WpPlo0zRZJZziL2gQU7I1GyHL7QSD26taVOytI26DpinxKypApvpk+C6dHlMnXskbUbT1yTpN3WJHWB327UCS3hUoc+tA/VyxP/ost5rGq7QWZnAdoe0eZgnYweDbgmgkoafgk8aTfNgsMNmmqfhC+Czj3V4T3mSBH255kxB0ztd4tNNDJkas2CUdkAKHQ3yAtxfijj/bdb7Cumyhmoyexzcs6Qwv2qUbPKvJDOtnNFklrF3R5qneA2XYHe/2A+ht1Xb3FZXRY1XTAjFTgtxJ45qKtWDpZK1g6dhIQuvBzjcy8FgQ6y8Nw+sCdnwL1Dn8jdMe6m2a+3ma9ESNUdOC1VixSH3bnPiYyraswnO0fqDIQkyW8WmCWab7b+I9TCF3+x0j2e+MPUA7LPGrVfD1F3VNsrPVR0zhS8BB5x21muzYa1Sy1Tb4y4d4qOwIi9Pk/wcj1gV50p5zQjJKAsJH8KcY4vpdYrjV0w9HMxxHjfKNpfwdMyRNuAmyy2M1vq5OegBNFMmR9lSHDizSLPMJGjuO2BZfSOtLKvpMylUvh/d/hFgAOH4+ibxGTZuAAAAAElFTkSuQmCC) no-repeat 50% 50%}.iziModal.iziModal-light.isFullscreen .iziModal-button-fullscreen{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3BpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyRUUxMkYxODRFODUxMUU2Qjc3RDk0MUUzMzJDRjBEOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0RTNFNENCRkI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0RTNFNENCRUI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjgzM2MwOWZiLWJjOTEtNGVlZS05MDM1LTRkMmU2ZmE1ZjBmMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyRUUxMkYxODRFODUxMUU2Qjc3RDk0MUUzMzJDRjBEOCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv1Q9Z8AAAOXSURBVHjaxJlLbA1RGMfPjIs+EvoIRYt4FVUl2EkkRTxKUqQbG0SEho2FjUQ8YtEICbEgTdFYeK1KaGvVeoUltyStt0UlNE17aWhV2+v/9X5XJpMzc8/0zpn5kl+aO3Nm7r/fnPu9xhDp2URQDJbw3xkgB2QCAwyAPvANfARvQDsfG7V4PO7pC40xCiVxa8AKFjnOw7VdoA08BtG4R8VeBZeCKrBS+GPvQAM0P/NbcB7YBdYJPfYKXIXwL34IJm8eBFOFXusH9RDdnI7gLWA/MEVwdh/UOe1tN8G0V3eLcKwFXJCJNl08G5ZYsrWgWnZCJng5OOBwo1iAoisMw6hMJXgyOOywVW7xj+9BgKL3QHSxm+C9IF9y4U2GMlStRPQP8Jbp9lFwhJwE0RHrgaSV8N6xG238l7Zjtfx3K58/Bd7zsWngIqdnP2we2ACa7B7e6RL6joK5EtHNfL7b5u1Bn7dGFbycYRVM/8WyFJnuJK+z2iVwzFrMcF1h+Cx4ClhtFVyu8CW54ITE01EwFMAPcH1SMJWIqxQvItE1YHEIsXkhtkUhCV4ApiteFOPadn4IgseDMooSSxVrhWFwmkvCsKw06WGhKLhHhGuzSHChh9pZ5cc1oFFwfoTTsWrWqQCvXdZQEpkDsjUJziSv3Qu43k3LTA1BXqvRY/4DMjTd/yu4niJVm9wslCjcb4QE/9Qo+Al44baAmgpKCIqC+01OBLrsr8/de8zkiYwuUxWSq7iuM8JhantIqfYItkOepKBysnbycIfPXYKqURL6DhaBCQrrKcZHTa5loyEIJgHXwG3F9TQV+pxMGK0BiaTHn2OLEjcURbdi7XBSMO3jTxoEjtg+7wDnhG3spSD6F3hk7Tjoxnc0CJ5k+5wFCrhplYl2mmI24nyvvWumAE9z2zIfBW8WifnxIHc2yb6xiHtEoms0/hlGtpAPHCkgNDjFyZngPN88COvkPpEe+XGHbFcD7z53C+ybwKEAo0UPZ8QCybkmiL3sNvkheygSI08RYOSQiaUhd52sUpIZLWwJsYqkkdcZeHfIS66nc9XcZQRpNBY7C7F9Yy1OtonErDgSgNhGcEXmWa/VFA1O9onE6y4dRqGtXuVtkpf2iDy8EVR6GLykMnrsNFC867QF0hH8v3MVicFcuYdKy56uqQx4SukWQj3NOtJtQIt4ckSvbmdziMqy7HcS9xv0cn/Xwdn0A1drnl/d/hNgAGQa6Lgarp6BAAAAAElFTkSuQmCC) no-repeat 50% 50%}.iziModal .iziModal-loader{background:#fff url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCA0NCA0NCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBzdHJva2U9IiM5OTkiPiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS13aWR0aD0iMiI+ICAgICAgICA8Y2lyY2xlIGN4PSIyMiIgY3k9IjIyIiByPSIxIj4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJyIiAgICAgICAgICAgICAgICBiZWdpbj0iMHMiIGR1cj0iMS40cyIgICAgICAgICAgICAgICAgdmFsdWVzPSIxOyAyMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMTY1LCAwLjg0LCAwLjQ0LCAxIiAgICAgICAgICAgICAgICByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utb3BhY2l0eSIgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjEuNHMiICAgICAgICAgICAgICAgIHZhbHVlcz0iMTsgMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMywgMC42MSwgMC4zNTUsIDEiICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPiAgICAgICAgPC9jaXJjbGU+ICAgICAgICA8Y2lyY2xlIGN4PSIyMiIgY3k9IjIyIiByPSIxIj4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJyIiAgICAgICAgICAgICAgICBiZWdpbj0iLTAuOXMiIGR1cj0iMS40cyIgICAgICAgICAgICAgICAgdmFsdWVzPSIxOyAyMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMTY1LCAwLjg0LCAwLjQ0LCAxIiAgICAgICAgICAgICAgICByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utb3BhY2l0eSIgICAgICAgICAgICAgICAgYmVnaW49Ii0wLjlzIiBkdXI9IjEuNHMiICAgICAgICAgICAgICAgIHZhbHVlcz0iMTsgMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMywgMC42MSwgMC4zNTUsIDEiICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPiAgICAgICAgPC9jaXJjbGU+ICAgIDwvZz48L3N2Zz4=) no-repeat 50% 50%;position:absolute;left:0;right:0;top:0;bottom:0;z-index:9}.iziModal .iziModal-content-loader{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCA0NCA0NCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBzdHJva2U9IiM5OTkiPiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS13aWR0aD0iMiI+ICAgICAgICA8Y2lyY2xlIGN4PSIyMiIgY3k9IjIyIiByPSIxIj4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJyIiAgICAgICAgICAgICAgICBiZWdpbj0iMHMiIGR1cj0iMS40cyIgICAgICAgICAgICAgICAgdmFsdWVzPSIxOyAyMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMTY1LCAwLjg0LCAwLjQ0LCAxIiAgICAgICAgICAgICAgICByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utb3BhY2l0eSIgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjEuNHMiICAgICAgICAgICAgICAgIHZhbHVlcz0iMTsgMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMywgMC42MSwgMC4zNTUsIDEiICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPiAgICAgICAgPC9jaXJjbGU+ICAgICAgICA8Y2lyY2xlIGN4PSIyMiIgY3k9IjIyIiByPSIxIj4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJyIiAgICAgICAgICAgICAgICBiZWdpbj0iLTAuOXMiIGR1cj0iMS40cyIgICAgICAgICAgICAgICAgdmFsdWVzPSIxOyAyMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMTY1LCAwLjg0LCAwLjQ0LCAxIiAgICAgICAgICAgICAgICByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utb3BhY2l0eSIgICAgICAgICAgICAgICAgYmVnaW49Ii0wLjlzIiBkdXI9IjEuNHMiICAgICAgICAgICAgICAgIHZhbHVlcz0iMTsgMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMywgMC42MSwgMC4zNTUsIDEiICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPiAgICAgICAgPC9jaXJjbGU+ICAgIDwvZz48L3N2Zz4=) no-repeat 50% 50%}.iziModal .iziModal-content:after,.iziModal .iziModal-content:before{content:'';display:table}.iziModal .iziModal-content:after{clear:both}.iziModal .iziModal-content{zoom:1;width:100%;-webkit-overflow-scrolling:touch}.iziModal .iziModal-wrap{width:100%;position:relative;-webkit-overflow-scrolling:touch;overflow-scrolling:touch}.iziModal .iziModal-iframe{border:0;margin:0 0 -6px;width:100%;transition:height .3s ease}.iziModal-overlay{display:block;position:fixed;top:0;left:0;height:100%;width:100%}.iziModal-navigate{position:fixed;left:0;right:0;top:0;bottom:0;pointer-events:none}.iziModal-navigate-caption{position:absolute;left:10px;top:10px;color:#fff;line-height:16px;font-size:9px;font-family:'Lato',Arial;letter-spacing:.1em;text-indent:0;text-align:center;width:70px;padding:5px 0;text-transform:uppercase;display:none}.iziModal-navigate-caption::after,.iziModal-navigate-caption::before{position:absolute;top:2px;width:20px;height:20px;text-align:center;line-height:14px;font-size:12px;content:'';background-size:100%!important}.iziModal-navigate-caption:before{left:0;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAoCAYAAACFFRgXAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyNmFjNjAyMy04OWU0LWE0NDAtYmMxMy1kOTA5MTQ3MmYzYjAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDREQ0YwRjA1MzQzMTFFNkE5NUNDRDkyQzEwMzM5RTMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDREQ0YwRUY1MzQzMTFFNkE5NUNDRDkyQzEwMzM5RTMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpmNmM0Nzk3Ni1mNzE3LTk5NDAtYTgyYS1mNTdjNmNiYmU0NWMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDowZGVmYTEyZC01MzM0LTExZTYtYWRkYi04Y2NmYjI5ZTAxNjYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7oo0ptAAACWklEQVR42uyZTWsTYRSFZybxo4kWk5g2NC5qTAU3Kq30A9udi1oXolV/hWuhv6R/Q6utioi4LbbVFHemamlRU0OCEk0wZjwXzwtDoBDopHMHcuFJMplZnLm5ue+589qu61qeOApyYAjEgG0FEyLqN/gKiqBuTtgewWlwCZw056xgwwirgU3wxSv4NJgCUV5YBRXQDEhsBJwCSSauBVZFdJRlIJk9Av7wbj577jDIOENtRmPVwcsw6KfAAvikRKzEDlhnhuU/lRPBWaa9wsxqC6ndPX7OiOA4D8qW3vjO9z7H0w3+KhZstNmOFbLoCQ6DYGmL+bAInmGfLFC4asFXwRJIgB+goVmw+I7HXO+/gevGnGgUPEGxktkSmAMbWmt4HDwBKS6XN1jDKrvEFYoVK7oLroE3h93Woh1eNwqWafJ/gQV65vM+ail34mc6EZwBK2CAx8fAIjjeBYMzDT4cVHCEXtRbRvEu/Nr9HCIOnGGp15vgEec9KYn74B0nAT/CZnv86FcNvwK3wENwAjwAs2Bbs5d4CW5zir0AXvv8p+tKH34B5lkW4h2egRHtbu05uMMHHWfB0zC4NRF5l09kzvE4rd2tyUJyjy4tz7akZqXbL8QETbJ/FsMgWOJtb6brCQ5YsBsC8Uab63DVkkgqFpzie93h8OhScFah2LTHi5ccWroaLd5l6//+hpYQoWP05LKqFs2WQYbTsNxAi+5fxpWmdfh7HS7XhwSzG+H3a2JnvZsyktmLbdOFhpDMvrf4sN1u2/aK0cwMcmYLcturweceW+CnOfFPgAEA8uWFFylBJYoAAAAASUVORK5CYII=) no-repeat 50% 50%}.iziModal-navigate-caption:after{right:0;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAoCAYAAACFFRgXAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADhmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzIgNzkuMTU5Mjg0LCAyMDE2LzA0LzE5LTEzOjEzOjQwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjI2YWM2MDIzLTg5ZTQtYTQ0MC1iYzEzLWQ5MDkxNDcyZjNiMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0NERDRjBGMDUzNDMxMUU2QTk1Q0NEOTJDMTAzMzlFMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0NERDRjBFRjUzNDMxMUU2QTk1Q0NEOTJDMTAzMzlFMyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNS41IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOmY2YzQ3OTc2LWY3MTctOTk0MC1hODJhLWY1N2M2Y2JiZTQ1YyIgc3RSZWY6ZG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjBkZWZhMTJkLTUzMzQtMTFlNi1hZGRiLThjY2ZiMjllMDE2NiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuijSm0AAAKbSURBVFhH7ZnJj0xRGEerzFoIMTaCZmOIedhaiJj55yz8DaYdNhIJEUMQbCTG3rQ02hDSiEY553XdTpHS3nv96taV9ElO6lVt6peb7933fffVG41GrYW5uBaX4EysYzcw1Fd8hc/wM2a0Bl6Nm3BW9i0dDPsQX/olBF6FO72AH/gG3+N3jL3KBpqGC3ERTsGfeAsHDTyHi71oCXzBe/gaU2A5bscZOIxXTb8OLQNX9i6mElYsg/voqruwfQb2BhODWgqpMYDv0NLsNXC4yd42P1PEwNJj4HBTWdipErLVDfxfMRm408QMvBu3jV6WJ1Zg9/rbeBOP+UNZYgX+iE/Rp+lpPIKliBXYB9IhtPNy3z/T/F6YmDXsChvyBc7Gs3gACxEzsDzBg9iPPXgO92NuYgeWx2h3+AhtaM7jPsyF7aV37XR8gNZYO/pwKY51+xPkG27Fk2joT3gCr2A7NuJ6HMkTeAPadlp3VeMChF7G0P6X3dmfjAXOUxIj6LZkv1ylNuStDZejkL+PS96ScFzRqnDAtI5PoTefvbg7iNNOOwqVRCfYghdxBbpHH8Y7+DcKlUTV7MLLaNghPIrjhf2N2IF34AVcjE44hrXHyE3MwE6/loEzpEcIlqKjeyFiBe7FS+he/gENewMLEyuwXdo8dGWP43UsRazA9g7uDNbwNX8oS8watlsz+ISIGbgSJgN3GgOHlnFq8zNFQraGgT1iFc9iUyU0XsMGHhy9zh6XbvCp4ZuBBWglDBj4OdqLeu0+uRJTwMZ+Dbp/e21P3m97yWe2snsw1LTHmz5C/9lQdwhfGbiq89GwvrrwUT4UAouhN6MzloTRpVuEYI5O9urZYXtrYPGQw2OlZegM163QhrJMfWVgyTq0Qq32C/N7uPz9OknWAAAAAElFTkSuQmCC) no-repeat 50% 50%}.iziModal-navigate>button{position:fixed;bottom:0;top:0;border:0;height:100%;width:84px;background-size:100%!important;cursor:pointer;padding:0;opacity:.2;transition:opacity .3s ease;pointer-events:all;margin:0;outline:0}.iziModal-navigate>button:hover{opacity:1}.iziModal-navigate-prev{left:50%;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALwAAAC8CAYAAADCScSrAAAACXBIWXMAAAsTAAALEwEAmpwYAAA5sGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzIgNzkuMTU5Mjg0LCAyMDE2LzA0LzE5LTEzOjEzOjQwICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+eG1wLmRpZDo2NDkyYzcxMy05ZDM0LTZlNGQtYmUwNi1hMDMyY2Q4NDVjNGU8L3htcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDo1QjIzMUMxODU3RjcxMUU2ODUzRkRBRjE5RDhDQjZBRDwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDpjZmMwNzVmNC1kODA3LWI0NDMtYWIwYS02YWVhZjRjMDgxZWE8L3htcE1NOkluc3RhbmNlSUQ+CiAgICAgICAgIDx4bXBNTTpEZXJpdmVkRnJvbSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgIDxzdFJlZjppbnN0YW5jZUlEPnhtcC5paWQ6NjQ5MmM3MTMtOWQzNC02ZTRkLWJlMDYtYTAzMmNkODQ1YzRlPC9zdFJlZjppbnN0YW5jZUlEPgogICAgICAgICAgICA8c3RSZWY6ZG9jdW1lbnRJRD54bXAuZGlkOjY0OTJjNzEzLTlkMzQtNmU0ZC1iZTA2LWEwMzJjZDg0NWM0ZTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgPC94bXBNTTpEZXJpdmVkRnJvbT4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmNmYzA3NWY0LWQ4MDctYjQ0My1hYjBhLTZhZWFmNGMwODFlYTwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNi0wOC0wMVQxMTo1ODowNC0wMzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNS41IChXaW5kb3dzKTwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8eG1wOkNyZWF0ZURhdGU+MjAxNi0wOC0wMVQwOTo0MDo1Ni0wMzowMDwveG1wOkNyZWF0ZURhdGU+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE2LTA4LTAxVDExOjU4OjA0LTAzOjAwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNi0wOC0wMVQxMTo1ODowNC0wMzowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9wbmc8L2RjOmZvcm1hdD4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+NjU1MzU8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjE4ODwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4xODg8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PvAvv7QAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAmdJREFUeNrs1LsJQkEQhtH/mtmBgQ8QA7tQK1e7MBBBMbADwzUZEyuQveeDCXbD4TBDay3SWJpYgYCXgJeAl4CXgJeAl4CXgJeAl4CXgJeAF/AS8BLwEvAS8BLwEvAS8BLwEvAS8BLwAl4CXgJeAl4CXv/WJskpyQJ4jQH7Mcmu0C+BV+/Y5/VeF/oV8Ood+7dpDfDqHvsrySHJBXjBDrxgB16wAy/YgRfswAt24AU78IIdeMEOPOywAw+7gIcdeMEOvGAHXrADL9iBF+zAC3bgBTvwsMMOPOwCHnYBD7uAhx14wQ68YAdesAMv2IEX7MDDDjvwsAt42AU87AIedgEPu4CHXcDDDrxgB16wAw877MDDDjvwsAt42AU87AIedgEPu4CHXcDDLuBhB16wAw877MDDLuBhF/CwC3jYBTzsAh52AQ+7gIddwEtjB3+tS/78+Z/V5d9iATz0Ah56AQ+9gIdewEMv4KEX8NALeOgFPPQCHnoBDz3wgh54QQ889NADDz30wEMv4KEX8NALeOgFPPQCHnoBD72Ahx54QQ+8oAde0AMv6IEX9MBDDz3w0EMPPPQCHnoBD72Ah17AQw+8FUAPvKAHXtADL+iBF/TAC3rgBT3wgh546KEHHnrogYdewEMv4KEHXtADL+iBF/TAC3rgBT3wgh54QQ+8oAde0AMv6IGHHnrgoU/yrgFe3aO/JdknuQOv3tGfC/tjjEsYWmsoyIWXgJeAl4CXgJeAl4CXgJeAl4CXgJeAF/AS8BLwEvAS8BLwEvAS8BLwEvAS8BLwAl4CXgJeAl4CXvqnPgAAAP//AwCEcoCBRabYzAAAAABJRU5ErkJggg==) no-repeat 50% 50%}.iziModal-navigate-next{right:50%;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALwAAAC8CAYAAADCScSrAAAACXBIWXMAAB3SAAAd0gEUasEwAAA7pGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzIgNzkuMTU5Mjg0LCAyMDE2LzA0LzE5LTEzOjEzOjQwICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNS41IChXaW5kb3dzKTwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8eG1wOkNyZWF0ZURhdGU+MjAxNi0wOC0wMVQwOTo0MDoxNC0wMzowMDwveG1wOkNyZWF0ZURhdGU+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE2LTA4LTAxVDExOjU4OjEyLTAzOjAwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNi0wOC0wMVQxMTo1ODoxMi0wMzowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9wbmc8L2RjOmZvcm1hdD4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDphZjljN2Q2MC00MTg2LWE3NGQtYTBiMS1mMGU5ODUwYzg2ZGY8L3htcE1NOkluc3RhbmNlSUQ+CiAgICAgICAgIDx4bXBNTTpEb2N1bWVudElEPnhtcC5kaWQ6NjQ5MmM3MTMtOWQzNC02ZTRkLWJlMDYtYTAzMmNkODQ1YzRlPC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6NjQ5MmM3MTMtOWQzNC02ZTRkLWJlMDYtYTAzMmNkODQ1YzRlPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjY0OTJjNzEzLTlkMzQtNmU0ZC1iZTA2LWEwMzJjZDg0NWM0ZTwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNi0wOC0wMVQwOTo0MDoxNC0wMzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjAxNjJjMmE3LWZmMjYtYzE0ZC05Yjg4LTc2MGM2NzAxYjYzNzwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNi0wOC0wMVQxMTo1MTowNy0wMzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmFmOWM3ZDYwLTQxODYtYTc0ZC1hMGIxLWYwZTk4NTBjODZkZjwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNi0wOC0wMVQxMTo1ODoxMi0wMzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+MTkzOTAzNi8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+MTkzOTAzNi8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MTg4PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjE4ODwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+nbt1mgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACQklEQVR42uzSsQ3CQAAEQTdiOyGg/wrciJ0QUMYSECEKAP3PSdvAaZZqkWbJCQJeAl4CXgJeAl4CXgJeAl4CXgJeAl4CXsBLwEvAS8BLwEvAS8BLwEvAS8BLwEvAC3gJeAl4CXgJ+D9vrY7qBgLwo7dVZ+89oAd+5Pbq6nPQAz9s9+rZ96AHHnoBD72Ah17AQy/goRfw0At46AU89AIeegEPvYCHHnhBD7ygBx566IGHHnrgoRfw0At46AU89AIeegEPvYCHXsBDL+ChB17QAy/ogRf0wAt64KGHHnjooQceegEPvYCHXsBDL+ChF/DQAy/ogRf0wAt64AU98IIeeEEPvKAHXtADDz30wEPvI+ChF/DQAy/ogRf0wAt64AU98IIeeEEPvKAHXtADL+iBF/TAC3rgoZ8ePRDAAy/YgRfswAt24AU78IIdeMEOvGAHXrADL9iBhx124GEX8LADL9iBF+zAC3bgBTvwgh14wQ68YAcedtiBh13Awy7gYRfwsAMv2IEX7MALduAFO/CCHXjYYQcedgEPu4CHXcDDLuBhF/CwA+8E2IEX7MALduAFO/Cwww487AIedgEPu4CHXcDDLuBhF/CwC3jYgRfswMMOO/CwC3jYBTzsAh52AQ+7gIddwMMu4GEX8LBravB7dcEO/Ext1Qk78DO1VgfswEvAS8BLwEvAS8BLwEvAS8BLwEvAS8ALeAl4CXgJeAl4CXgJeAl4CXgJeAl4CXgBLwEvAS8BLwEvAS/9shcAAAD//wMAtAygvJrkwJUAAAAASUVORK5CYII=) no-repeat 50% 50%}.iziModal.isAttachedTop .iziModal-header{border-top-left-radius:0;border-top-right-radius:0}.iziModal.isAttachedTop{margin-top:0!important;margin-bottom:auto!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.iziModal.isAttachedBottom{margin-top:auto!important;margin-bottom:0!important;border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.iziModal.isFullscreen{max-width:100%!important;margin:0!important;height:100%!important}.iziModal.isAttached,.iziModal.isFullscreen{border-radius:0!important}.iziModal.hasScroll .iziModal-wrap{overflow-y:auto;overflow-x:hidden}html.iziModal-isAttached,html.iziModal-isOverflow{overflow:hidden}html.iziModal-isAttached body,html.iziModal-isOverflow body{overflow-y:scroll;position:relative}.iziModal ::-webkit-scrollbar{overflow:visible;height:7px;width:7px}.iziModal ::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.2);background-clip:padding-box;border:solid transparent;border-width:0;min-height:28px;padding:100px 0 0;box-shadow:inset 1px 1px 0 rgba(0,0,0,.1),inset 0 -1px 0 rgba(0,0,0,.07)}.iziModal ::-webkit-scrollbar-thumb:active{background-color:rgba(0,0,0,.4)}.iziModal ::-webkit-scrollbar-button{height:0;width:0}.iziModal ::-webkit-scrollbar-track{background-clip:padding-box;border:solid transparent;border-width:0 0 0 2px}.iziModal.transitionIn .iziModal-header{-webkit-animation:iziM-slideDown .7s cubic-bezier(.7,0,.3,1);-moz-animation:iziM-slideDown .7s cubic-bezier(.7,0,.3,1);animation:iziM-slideDown .7s cubic-bezier(.7,0,.3,1)}.iziModal.transitionIn .iziModal-header .iziModal-header-icon{-webkit-animation:iziM-revealIn 1s cubic-bezier(.16,.81,.32,1) both;-moz-animation:iziM-revealIn 1s cubic-bezier(.16,.81,.32,1) both;animation:iziM-revealIn 1s cubic-bezier(.16,.81,.32,1) both}.iziModal.transitionIn .iziModal-header .iziModal-header-subtitle,.iziModal.transitionIn .iziModal-header .iziModal-header-title{-webkit-animation:iziM-slideIn 1s cubic-bezier(.16,.81,.32,1) both;-moz-animation:iziM-slideIn 1s cubic-bezier(.16,.81,.32,1) both;animation:iziM-slideIn 1s cubic-bezier(.16,.81,.32,1) both}.iziModal.transitionIn .iziModal-header .iziModal-button{-webkit-animation:iziM-revealIn 1.2s cubic-bezier(.7,0,.3,1);-moz-animation:iziM-revealIn 1.2s cubic-bezier(.7,0,.3,1);animation:iziM-revealIn 1.2s cubic-bezier(.7,0,.3,1)}.iziModal.transitionIn .iziModal-iframe,.iziModal.transitionIn .iziModal-wrap{-webkit-animation:iziM-fadeIn 1.3s;-moz-animation:iziM-fadeIn 1.3s;animation:iziM-fadeIn 1.3s}.iziModal.transitionIn .iziModal-header{-webkit-animation-delay:0s;-moz-animation:0s;animation-delay:0s}.iziModal.transitionIn .iziModal-header .iziModal-header-icon,.iziModal.transitionIn .iziModal-header .iziModal-header-title{-webkit-animation-delay:.4s;-moz-animation:.4s;animation-delay:.4s}.iziModal.transitionIn .iziModal-header .iziModal-header-subtitle{-webkit-animation-delay:.5s;-moz-animation:.5s;animation-delay:.5s}.iziModal.transitionOut .iziModal-header,.iziModal.transitionOut .iziModal-header *{transition:none!important}.iziModal .fadeOut,.iziModal-navigate.fadeOut,.iziModal-overlay.fadeOut,.iziModal.fadeOut{-webkit-animation:iziM-fadeOut .5s;-moz-animation:iziM-fadeOut .5s;animation:iziM-fadeOut .5s;animation-fill-mode:forwards}.iziModal .fadeIn,.iziModal-navigate.fadeIn,.iziModal-overlay.fadeIn,.iziModal.fadeIn{-webkit-animation:iziM-fadeIn .5s;-moz-animation:iziM-fadeIn .5s;animation:iziM-fadeIn .5s}.iziModal-overlay.comingIn,.iziModal.comingIn{-webkit-animation:iziM-comingIn .5s ease;-moz-animation:iziM-comingIn .5s ease;animation:iziM-comingIn .5s ease}.iziModal-overlay.comingOut,.iziModal.comingOut{-webkit-animation:iziM-comingOut .5s cubic-bezier(.16,.81,.32,1);-moz-animation:iziM-comingOut .5s cubic-bezier(.16,.81,.32,1);animation:iziM-comingOut .5s cubic-bezier(.16,.81,.32,1);animation-fill-mode:forwards}.iziModal-overlay.bounceInDown,.iziModal.bounceInDown{-webkit-animation:iziM-bounceInDown .7s ease;animation:iziM-bounceInDown .7s ease}.iziModal-overlay.bounceOutDown,.iziModal.bounceOutDown{-webkit-animation:iziM-bounceOutDown .7s ease;animation:iziM-bounceOutDown .7s ease}.iziModal-overlay.bounceInUp,.iziModal.bounceInUp{-webkit-animation:iziM-bounceInUp .7s ease;animation:iziM-bounceInUp .7s ease}.iziModal-overlay.bounceOutUp,.iziModal.bounceOutUp{-webkit-animation:iziM-bounceOutUp .7s ease;animation:iziM-bounceOutUp .7s ease}.iziModal-overlay.fadeInDown,.iziModal.fadeInDown{-webkit-animation:iziM-fadeInDown .7s cubic-bezier(.16,.81,.32,1);animation:iziM-fadeInDown .7s cubic-bezier(.16,.81,.32,1)}.iziModal-overlay.fadeOutDown,.iziModal.fadeOutDown{-webkit-animation:iziM-fadeOutDown .5s ease;animation:iziM-fadeOutDown .5s ease}.iziModal-overlay.fadeInUp,.iziModal.fadeInUp{-webkit-animation:iziM-fadeInUp .7s cubic-bezier(.16,.81,.32,1);animation:iziM-fadeInUp .7s cubic-bezier(.16,.81,.32,1)}.iziModal-overlay.fadeOutUp,.iziModal.fadeOutUp{-webkit-animation:iziM-fadeOutUp .5s ease;animation:iziM-fadeOutUp .5s ease}.iziModal-overlay.fadeInLeft,.iziModal.fadeInLeft{-webkit-animation:iziM-fadeInLeft .7s cubic-bezier(.16,.81,.32,1);animation:iziM-fadeInLeft .7s cubic-bezier(.16,.81,.32,1)}.iziModal-overlay.fadeOutLeft,.iziModal.fadeOutLeft{-webkit-animation:iziM-fadeOutLeft .5s ease;animation:iziM-fadeOutLeft .5s ease}.iziModal-overlay.fadeInRight,.iziModal.fadeInRight{-webkit-animation:iziM-fadeInRight .7s cubic-bezier(.16,.81,.32,1);animation:iziM-fadeInRight .7s cubic-bezier(.16,.81,.32,1)}.iziModal-overlay.fadeOutRight,.iziModal.fadeOutRight{-webkit-animation:iziM-fadeOutRight .5s ease;animation:iziM-fadeOutRight .5s ease}.iziModal-overlay.flipInX,.iziModal.flipInX{-webkit-animation:iziM-flipInX .7s ease;animation:iziM-flipInX .7s ease}.iziModal-overlay.flipOutX,.iziModal.flipOutX{-webkit-animation:iziM-flipOutX .7s ease;animation:iziM-flipOutX .7s ease}@-webkit-keyframes iziM-comingIn{0%{opacity:0;transform:scale(.9) translateY(-20px) perspective(600px) rotateX(10deg)}to{opacity:1;transform:scale(1) translateY(0) perspective(600px) rotateX(0)}}@-moz-keyframes iziM-comingIn{0%{opacity:0;transform:scale(.9) translateY(-20px) perspective(600px) rotateX(10deg)}to{opacity:1;transform:scale(1) translateY(0) perspective(600px) rotateX(0)}}@keyframes iziM-comingIn{0%{opacity:0;transform:scale(.9) translateY(-20px) perspective(600px) rotateX(10deg)}to{opacity:1;transform:scale(1) translateY(0) perspective(600px) rotateX(0)}}@-webkit-keyframes iziM-comingOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@-moz-keyframes iziM-comingOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes iziM-comingOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@-webkit-keyframes iziM-fadeOut{0%{opacity:1}to{opacity:0}}@-moz-keyframes iziM-fadeOut{0%{opacity:1}to{opacity:0}}@keyframes iziM-fadeOut{0%{opacity:1}to{opacity:0}}@-webkit-keyframes iziM-fadeIn{0%{opacity:0}to{opacity:1}}@-moz-keyframes iziM-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes iziM-fadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes iziM-slideIn{0%{opacity:0;-webkit-transform:translateX(50px)}to{opacity:1;-webkit-transform:translateX(0)}}@-moz-keyframes iziM-slideIn{0%{opacity:0;-moz-transform:translateX(50px)}to{opacity:1;-moz-transform:translateX(0)}}@keyframes iziM-slideIn{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@-webkit-keyframes iziM-slideDown{0%{opacity:0;-webkit-transform:scale(1,0) translateY(-40px);-webkit-transform-origin:center top}}@-moz-keyframes iziM-slideDown{0%{opacity:0;-moz-transform:scale(1,0) translateY(-40px);-moz-transform-origin:center top}}@keyframes iziM-slideDown{0%{opacity:0;transform:scale(1,0) translateY(-40px);transform-origin:center top}}@-webkit-keyframes iziM-revealIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,1)}}@-moz-keyframes iziM-revealIn{0%{opacity:0;-moz-transform:scale3d(.3,.3,1)}}@keyframes iziM-revealIn{0%{opacity:0;transform:scale3d(.3,.3,1)}}@-webkit-keyframes iziM-bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-1000px,0);transform:translate3d(0,-1000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}@keyframes iziM-bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-1000px,0);transform:translate3d(0,-1000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}@-webkit-keyframes iziM-bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,1000px,0);transform:translate3d(0,1000px,0)}}@keyframes iziM-bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,1000px,0);transform:translate3d(0,1000px,0)}}@-webkit-keyframes iziM-bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,1000px,0);transform:translate3d(0,1000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes iziM-bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,1000px,0);transform:translate3d(0,1000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@-webkit-keyframes iziM-bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes iziM-bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-1000px,0);transform:translate3d(0,-1000px,0)}}@-webkit-keyframes iziM-fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100px,0);transform:translate3d(0,-100px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes iziM-fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100px,0);transform:translate3d(0,-100px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes iziM-fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100px,0);transform:translate3d(0,100px,0)}}@keyframes iziM-fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100px,0);transform:translate3d(0,100px,0)}}@-webkit-keyframes iziM-fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100px,0);transform:translate3d(0,100px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes iziM-fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100px,0);transform:translate3d(0,100px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes iziM-fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100px,0);transform:translate3d(0,-100px,0)}}@keyframes iziM-fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100px,0);transform:translate3d(0,-100px,0)}}@-webkit-keyframes iziM-fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-200px,0,0);transform:translate3d(-200px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes iziM-fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-200px,0,0);transform:translate3d(-200px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes iziM-fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-200px,0,0);transform:translate3d(-200px,0,0)}}@keyframes iziM-fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-200px,0,0);transform:translate3d(-200px,0,0)}}@-webkit-keyframes iziM-fadeInRight{0%{opacity:0;-webkit-transform:translate3d(200px,0,0);transform:translate3d(200px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes iziM-fadeInRight{0%{opacity:0;-webkit-transform:translate3d(200px,0,0);transform:translate3d(200px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes iziM-fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(200px,0,0);transform:translate3d(200px,0,0)}}@keyframes iziM-fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(200px,0,0);transform:translate3d(200px,0,0)}}@-webkit-keyframes iziM-flipInX{0%{-webkit-transform:perspective(400px) rotateX(60deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-10deg)}70%{-webkit-transform:perspective(400px) rotateX(10deg)}to{-webkit-transform:perspective(400px) rotateX(0deg);opacity:1}}@keyframes iziM-flipInX{0%{transform:perspective(400px) rotateX(60deg);opacity:0}40%{transform:perspective(400px) rotateX(-10deg)}70%{transform:perspective(400px) rotateX(10deg)}to{transform:perspective(400px) rotateX(0deg);opacity:1}}@-webkit-keyframes iziM-flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,40deg);transform:perspective(400px) rotate3d(1,0,0,40deg);opacity:0}}@keyframes iziM-flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,40deg);transform:perspective(400px) rotate3d(1,0,0,40deg);opacity:0}} assets/img/lscwp_font-icon_32px.svg 0000644 00000004632 15207571327 0013341 0 ustar 00
assets/img/lscwp_gray-yellow_font-icon_22px.svg 0000644 00000003170 15207571327 0015667 0 ustar 00
assets/img/quic-cloud-icon-16x16.svg 0000644 00000003764 15207571327 0013144 0 ustar 00
assets/img/lscwp_blue_font-icon_22px.svg 0000644 00000003166 15207571327 0014350 0 ustar 00
assets/img/quic-cloud-logo-light_stack_300px.png 0000644 00000007133 15207571327 0015574 0 ustar 00 PNG
IHDR , , N~G PLTE >PY>PY>PY>PY>PY>PY>PY>PY>PY>PY>PY>PY>PY>PY>PY\ks\ks\ks\ks\ks\ks\ks\ks\ks\ks\ks\ks\ks\ks\kspppppppppppppppfffffffffffffff>PY\kspf^ۧ_ =tRNS 0@P`pp`P@0 0@P`pp`P@0 ,
IDATxk[8(2"P@xUmmK$4I0{eҡ7o `0!>6-Y'Ge1Ft=&`yscjёaSp2
ךqUq8#9={z\6\,r,49N73AGn{сLAMIXO&/6ra"wuan\\"
U7\1l=.Tmtٽ쮟U~0]U;T,Z03j{"2slM)u-tQ̎ǖX8tImǖxT*3EmYA^u z揭Yj!jDG m"| yP%.3V9Ѱq>D
sE
X[6GÄɖI-Fg^&,;Ĕf۹c"%0z!S9lYvHjj5C"XUh*2ٱ%VAߎ#bKw4+`9UpA~,"l
G;)%G.sLDKB+blSKlHS 6VS~l͕-AV%=ޛ,}zRm2=Wf}+^>y"uJ7SK#we=ov<>.Y2~?Xʍ>6OV7W,FuM^S%+ig=o<n`bi)Af"ñm
mdųIw%PMz֟M60\V&|OqlIim,mJiRqV>(fR]MY.sǦD[2b|cE2]~m-eZ
є:1-
C7j6BsgMyp_o<>l`ʲ8L͌ؒ;o`t>i5-ݖ5
k<㴥BqW,˿-26m_n^WMɈ-ԳSG濇gⰄ}^}[=,#mNf|ؚyXaOg xwJU嫒bQ,GƙGQ
Nnz&xl45w=~̟֖5bl#/-=#p?.A_eeo`|$Ԃ(1)Bb1[:9Vmوb-
vakN"Ŗ ֻ[wwD٦~Xƶ85lJ-x#$#SzJ-U]4_q][^w/Ʀ/6a[F}>M-}>]*ϗ7+67y47#clʭߞ)uȘ1̏"ҌKLuEa04)eOZQMv=ɁyZ+9_d{N;o- Pw
GпzC3\ [
L? JrDZçV-4(R=*gS=A(#tsVN Y@OGzss^-!NU5Wie).5d6W4eUg>E<(!NJ@$($8PAV}/gIHV5qFh9"Wi9~\ĶdE_D_V53vO
/䫈Xdٲޖ[qdCdfQ[*gnVQ]VZѹ\_CZ1Gj(]g)AܓbK+,kpޣ'Һؑ1uf].s=WU^Tuu5u!0; Q&gAmɪ T-tWZ^XN푽N_v|o>Yez|GVX
7ZLV誋1e%]n#YYQ3=M˺/wdǿe]k{~>-ɓ w8d9
^mAt Yu6UVJPCVcRsZJUt$f58@ h-
ƍ!3H|\gWdu >EIH9++ߔ6"t_o
ɲ,YWVx8B/!] j)6,@,0FزGOuQ+,me]K+ bpMtҞJ=b
(gˢw#Q$d!er*fq;=TFqYTYmqYd*#?eEQ#,tm.Rj%GVG4Z