Version Description
- Added support for PHP 8.0
- Added support for WordPress 5.6
- Removed outdated banners
- Fixed deprecated functions
- Fixed some security issues
Download this release
Release Info
Developer | migrate |
Plugin | WP Clone by WP Academy |
Version | 2.3.0 |
Comparing to | |
See all releases |
Code changes from version 2.2.10 to 2.3.0
- lib/functions.php +31 -74
- lib/view.php +11 -17
- readme.txt +25 -57
- wpclone.php +242 -313
- wpses/wpse1_2023_bg.svg +1 -0
- wpses/wpse1_2023_bmi.svg +5 -0
- wpses/wpse1_2023_notiad.min.css +264 -0
- wpses/wpse1_2023_notiad.min.js +163 -0
lib/functions.php
CHANGED
@@ -40,7 +40,7 @@ function wpa_db_backup_wpdb($destination)
|
|
40 |
}
|
41 |
|
42 |
wpa_wpc_log( sprintf( 'number of tables to backup - %d', count( $tables ) ) );
|
43 |
-
|
44 |
// Cycle through each provided table
|
45 |
foreach ($tables as $table) {
|
46 |
|
@@ -48,13 +48,13 @@ function wpa_db_backup_wpdb($destination)
|
|
48 |
$result = $wpdb->get_results("SELECT * FROM {$table}", ARRAY_N);
|
49 |
$numberOfItems = count($result);
|
50 |
if ($numberOfItems == 0) {
|
51 |
-
// Empty table - don't attempt to use $result[0] as it doesn't exist
|
52 |
$numberOfFields = 0;
|
53 |
}
|
54 |
else {
|
55 |
$numberOfFields = count($result[0]);
|
56 |
}
|
57 |
-
|
58 |
// Second part of the output � create table
|
59 |
$row2 = $wpdb->get_row("SHOW CREATE TABLE {$table}", ARRAY_N);
|
60 |
$return.= 'DROP TABLE IF EXISTS '.$table.';';
|
@@ -67,9 +67,9 @@ function wpa_db_backup_wpdb($destination)
|
|
67 |
$query = "INSERT INTO {$table} VALUES(";
|
68 |
|
69 |
for ($j = 0; $j < $numberOfFields; $j++) {
|
70 |
-
// Change to 'isset()' instead of 'empty()' as 'empty()' returns true for the
|
71 |
// string "0" - but we may need to explicitly set value to 0 for fields where this
|
72 |
-
// is not the default. This makes the output of this method identical to the
|
73 |
// wpa_db_backup_direct() method
|
74 |
$query .= (!isset($row[$j])) ? '"", ' : '"' . esc_sql($row[$j]) . '", ';
|
75 |
}
|
@@ -147,7 +147,7 @@ function wpa_db_backup_direct($destination)
|
|
147 |
$return.= 'INSERT INTO '.$table.' VALUES(';
|
148 |
for($j=0; $j<$num_fields; $j++)
|
149 |
{
|
150 |
-
$row[$j] =
|
151 |
if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
|
152 |
if ($j<($num_fields-1)) { $return.= ', '; } // Add extra space to match wpdb backup method
|
153 |
}
|
@@ -213,14 +213,14 @@ function CreateWPFullBackupZip($backupName, $zipmode, $use_wpdb = false )
|
|
213 |
if( false === mkdir( $folderToBeZipped ) ) {
|
214 |
wpa_backup_error ( 'file', sprintf( __( 'Unable to create the temporary backup directory,please make sure that PHP has permission to write into the <code>%s</code> directory.' ), WPCLONE_DIR_BACKUP ) );
|
215 |
}
|
216 |
-
|
217 |
file_put_contents( $folderToBeZipped . '/.htaccess', $htaccess );
|
218 |
|
219 |
if( $dbonly ) {
|
220 |
wpa_wpc_log ( 'database only backup, no files will be copied' );
|
221 |
}
|
222 |
|
223 |
-
if( false === $dbonly ) {
|
224 |
if( $skip ) {
|
225 |
wpa_wpc_log( sprintf( 'files larger than %s will be excluded from the backup', bytesToSize( $skip ) ) );
|
226 |
}
|
@@ -243,9 +243,9 @@ function CreateWPFullBackupZip($backupName, $zipmode, $use_wpdb = false )
|
|
243 |
/* error handler is called from within the wpa_zip function */
|
244 |
|
245 |
wpa_zip($zipFileName, $folderToBeZipped, $zipmode);
|
246 |
-
|
247 |
wpa_delete_dir( $folderToBeZipped );
|
248 |
-
|
249 |
if( ! file_exists( $zipFileName ) ) {
|
250 |
wpa_backup_error( 'backup', 'possibly out of free disk space' );
|
251 |
}
|
@@ -344,7 +344,7 @@ function wpa_safe_replace_wrapper ( $search, $replace, $prefix ) {
|
|
344 |
wpa_wpc_log( 'search and replace started' );
|
345 |
|
346 |
$wpcdb = wpa_wpc_mysql_connect();
|
347 |
-
|
348 |
if ( false === $wpcdb->get_dbh() ) {
|
349 |
|
350 |
wpa_wpc_log( 'mysql connection failure @ safe replace wrapper - error : "' . $wpdbc->error() . '" retrying..' );
|
@@ -398,7 +398,7 @@ function wpa_wpc_temp_dir() {
|
|
398 |
function processRestoringBackup($url, $zipmode) {
|
399 |
if( true === is_multisite() )
|
400 |
die( 'wpclone does not work on multisite installs.' );
|
401 |
-
|
402 |
wpa_cleanup( true );
|
403 |
if (!is_string($url) || '' == $url) {
|
404 |
wpa_backup_error( 'restore', sprintf( __( 'The provided URL "<code>%s</code>" is either not valid or empty' ), $url ), true );
|
@@ -411,14 +411,14 @@ function processRestoringBackup($url, $zipmode) {
|
|
411 |
|
412 |
if( $zipmode ) {
|
413 |
define( 'PCLZIP_TEMPORARY_DIR', WPCLONE_DIR_BACKUP );
|
414 |
-
|
415 |
}
|
416 |
-
|
417 |
$temp_dir = wpa_wpc_temp_dir();
|
418 |
$site_url = site_url();
|
419 |
$permalink_url = admin_url( 'options-permalink.php' );
|
420 |
$zipfile = wpa_fetch_file($url);
|
421 |
-
$report = wpa_wpc_process_db( $zipfile, $zipmode );
|
422 |
$unzipped_folder = wpCloneSafePathMode( trailingslashit( $temp_dir ) . 'wpclone_backup' );
|
423 |
|
424 |
|
@@ -446,54 +446,10 @@ function processRestoringBackup($url, $zipmode) {
|
|
446 |
unset( $GLOBALS['wpclone'] );
|
447 |
echo wpa_wpc_search_n_replace_report( $report );
|
448 |
|
449 |
-
?>
|
450 |
-
|
451 |
-
<style rel="stylesheet">
|
452 |
-
.banner-2-after-restore {
|
453 |
-
min-height: 280px;
|
454 |
-
width: auto;
|
455 |
-
background-size: cover;
|
456 |
-
padding-top: 24px;
|
457 |
-
padding-left: 25px;
|
458 |
-
padding-right: 25px;
|
459 |
-
font-family: 'Montserrat', sans-serif;
|
460 |
-
margin-right: 30px;
|
461 |
-
margin-top: 20px;
|
462 |
-
padding-bottom: 20px;
|
463 |
-
}
|
464 |
-
.banner-2-after-restore p{
|
465 |
-
font-size: 18px;
|
466 |
-
}
|
467 |
-
|
468 |
-
.banner-2-after-restore p a{
|
469 |
-
color: #3eb9b4;
|
470 |
-
text-decoration: none;
|
471 |
-
}
|
472 |
-
</style>
|
473 |
-
<div class="plugin-large-notice-restore-success">
|
474 |
-
<div class="banner-2-after-restore" style="background-image: url('<?php echo plugins_url( 'lib/img/banner_success_rating_bg.jpg', WPCLONE_ROOT_FILE_PATH )?>')">
|
475 |
-
<div style="float: right;" id="banner-2-restore-close-icon"><img src='<?php echo plugins_url( 'lib/img/banner_close_icon.png', WPCLONE_ROOT_FILE_PATH )?>'> </div>
|
476 |
-
<p>
|
477 |
-
Could you please do us a <strong>BIG favor</strong> and consider contributing to our crowdfunding effort <a target="_blank" href="https://sellcodes.com/q1OGuSox">here</a>? <br> <br>
|
478 |
-
|
479 |
-
<span style="text-decoration: underline">Background:</span> This is a great plugin, but it has been neglected for a long time, <br>
|
480 |
-
and we would like to change that, i.e. completely re-work the entire plugin, <br> make it 100% bug-free, and
|
481 |
-
add many more features (while still keeping it super-simple to use!) <br>. We're short on cash,
|
482 |
-
and need your help for that. Thank you!
|
483 |
-
<br><br>
|
484 |
-
|
485 |
-
<a href="https://sellcodes.com/q1OGuSox" target="_blank">=> Visit the crowdfunding page</a>
|
486 |
-
<br><br>
|
487 |
-
If something doesn’t work as it should, please <a href="https://wordpress.org/support/plugin/wp-clone-by-wp-academy/" target="_blank">ask us in the forum</a> . We’ll try to respond quickly!
|
488 |
-
</p>
|
489 |
-
</div>
|
490 |
-
</div>
|
491 |
-
|
492 |
-
<?php
|
493 |
}
|
494 |
|
495 |
function wpa_wpc_search_n_replace_report( $report ) {
|
496 |
-
|
497 |
if( is_string( $report ) ) {
|
498 |
return sprintf( '<div class="info"><p>%s</p></div>', $report );
|
499 |
}
|
@@ -517,12 +473,13 @@ function wpa_wpc_search_n_replace_report( $report ) {
|
|
517 |
|
518 |
function wpa_save_prefix($path) {
|
519 |
global $wpdb;
|
520 |
-
$prefix = $wpdb->prefix;
|
521 |
$file = $path . '/prefix.txt';
|
522 |
if ( is_dir($path) && is_writable($path) ) {
|
523 |
file_put_contents($file, $prefix);
|
524 |
}
|
525 |
}
|
|
|
526 |
/**
|
527 |
* Checks to see whether the destination site's table prefix matches that of the origin site.old prefix is returned in case of a mismatch.
|
528 |
*
|
@@ -564,12 +521,12 @@ function wpa_unzip($zipfile, $path, $zipmode = false){
|
|
564 |
|
565 |
require_once ( ABSPATH . 'wp-admin/includes/class-pclzip.php' );
|
566 |
$z = new PclZip($zipfile);
|
567 |
-
|
568 |
$files = $z->extract( PCLZIP_OPT_PATH, $path );
|
569 |
|
570 |
if ( isset( $previous_encoding ) ) {
|
571 |
mb_internal_encoding( $previous_encoding );
|
572 |
-
|
573 |
}
|
574 |
|
575 |
if ( $files === 0 ) {
|
@@ -1000,7 +957,7 @@ function wpa_backup_error($error, $data, $restore = false) {
|
|
1000 |
if( !file_exists( $temp_dir ) ) {
|
1001 |
unset($temp_dir);
|
1002 |
}
|
1003 |
-
|
1004 |
switch ( $error ) :
|
1005 |
/* during backup */
|
1006 |
case 'file' :
|
@@ -1304,9 +1261,9 @@ function wpa_wpc_get_filelist( $path, $exclude, $skip = false ) {
|
|
1304 |
wpa_wpc_log( sprintf( 'file skipped, file is not readable - "%s"',
|
1305 |
str_replace( WPCLONE_ROOT, '**SITE-ROOT**/', $file ) ) );
|
1306 |
continue;
|
1307 |
-
|
1308 |
}
|
1309 |
-
|
1310 |
if( ! empty( $exclude ) && wpa_wpc_strpos_array( $exclude, $file ) ) {
|
1311 |
$skipped++;
|
1312 |
wpa_wpc_log( sprintf( 'file is inside an excluded directory, and it will not be included in the backup - "%s"',
|
@@ -1453,16 +1410,16 @@ function wpa_wpc_process_db( $zipfile, $zipmode = false ) {
|
|
1453 |
$found = false;
|
1454 |
$db = explode( ";\n", $files['database'] );
|
1455 |
$wpcdb = wpa_wpc_mysql_connect();
|
1456 |
-
|
1457 |
wpa_wpc_log( 'database import started' );
|
1458 |
foreach( $db as $query ) {
|
1459 |
|
1460 |
-
if( ! $found && false !== strpos( $query, '"siteurl",' ) ) {
|
1461 |
$query = str_replace( $old_url, $cur_url, $query, $count );
|
1462 |
wpa_wpc_log( sprintf( 'updating mysql query with current site\'s url - new query : "%s"', ltrim( $query ) ) );
|
1463 |
if( $count > 0 ) {
|
1464 |
$found = true;
|
1465 |
-
|
1466 |
}
|
1467 |
|
1468 |
}
|
@@ -1475,7 +1432,7 @@ function wpa_wpc_process_db( $zipfile, $zipmode = false ) {
|
|
1475 |
}
|
1476 |
|
1477 |
$status = $wpcdb->query( $query );
|
1478 |
-
|
1479 |
if( false === $status ) {
|
1480 |
wpa_wpc_log( sprintf( 'mysql query failed. error : %d %s - query : "%s"', $wpcdb->errno(), $wpcdb->error(), ltrim( $query ) ) );
|
1481 |
}
|
@@ -1486,12 +1443,12 @@ function wpa_wpc_process_db( $zipfile, $zipmode = false ) {
|
|
1486 |
if( $cur_url === $old_url ) {
|
1487 |
wpa_wpc_log( 'URLs are similar, skipping search and replace' );
|
1488 |
$report = 'Search and replace did not run because the URLs are similar';
|
1489 |
-
|
1490 |
} else {
|
1491 |
$report = wpa_safe_replace_wrapper( $old_url, $cur_url, $prefix );
|
1492 |
-
|
1493 |
}
|
1494 |
-
|
1495 |
return $report;
|
1496 |
|
1497 |
|
@@ -1514,4 +1471,4 @@ function wpa_wpc_get_prefix( $prev_prefix ) {
|
|
1514 |
}
|
1515 |
|
1516 |
|
1517 |
-
/* end of file */
|
40 |
}
|
41 |
|
42 |
wpa_wpc_log( sprintf( 'number of tables to backup - %d', count( $tables ) ) );
|
43 |
+
|
44 |
// Cycle through each provided table
|
45 |
foreach ($tables as $table) {
|
46 |
|
48 |
$result = $wpdb->get_results("SELECT * FROM {$table}", ARRAY_N);
|
49 |
$numberOfItems = count($result);
|
50 |
if ($numberOfItems == 0) {
|
51 |
+
// Empty table - don't attempt to use $result[0] as it doesn't exist
|
52 |
$numberOfFields = 0;
|
53 |
}
|
54 |
else {
|
55 |
$numberOfFields = count($result[0]);
|
56 |
}
|
57 |
+
|
58 |
// Second part of the output � create table
|
59 |
$row2 = $wpdb->get_row("SHOW CREATE TABLE {$table}", ARRAY_N);
|
60 |
$return.= 'DROP TABLE IF EXISTS '.$table.';';
|
67 |
$query = "INSERT INTO {$table} VALUES(";
|
68 |
|
69 |
for ($j = 0; $j < $numberOfFields; $j++) {
|
70 |
+
// Change to 'isset()' instead of 'empty()' as 'empty()' returns true for the
|
71 |
// string "0" - but we may need to explicitly set value to 0 for fields where this
|
72 |
+
// is not the default. This makes the output of this method identical to the
|
73 |
// wpa_db_backup_direct() method
|
74 |
$query .= (!isset($row[$j])) ? '"", ' : '"' . esc_sql($row[$j]) . '", ';
|
75 |
}
|
147 |
$return.= 'INSERT INTO '.$table.' VALUES(';
|
148 |
for($j=0; $j<$num_fields; $j++)
|
149 |
{
|
150 |
+
$row[$j] = esc_sql($row[$j]);
|
151 |
if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
|
152 |
if ($j<($num_fields-1)) { $return.= ', '; } // Add extra space to match wpdb backup method
|
153 |
}
|
213 |
if( false === mkdir( $folderToBeZipped ) ) {
|
214 |
wpa_backup_error ( 'file', sprintf( __( 'Unable to create the temporary backup directory,please make sure that PHP has permission to write into the <code>%s</code> directory.' ), WPCLONE_DIR_BACKUP ) );
|
215 |
}
|
216 |
+
|
217 |
file_put_contents( $folderToBeZipped . '/.htaccess', $htaccess );
|
218 |
|
219 |
if( $dbonly ) {
|
220 |
wpa_wpc_log ( 'database only backup, no files will be copied' );
|
221 |
}
|
222 |
|
223 |
+
if( false === $dbonly ) {
|
224 |
if( $skip ) {
|
225 |
wpa_wpc_log( sprintf( 'files larger than %s will be excluded from the backup', bytesToSize( $skip ) ) );
|
226 |
}
|
243 |
/* error handler is called from within the wpa_zip function */
|
244 |
|
245 |
wpa_zip($zipFileName, $folderToBeZipped, $zipmode);
|
246 |
+
|
247 |
wpa_delete_dir( $folderToBeZipped );
|
248 |
+
|
249 |
if( ! file_exists( $zipFileName ) ) {
|
250 |
wpa_backup_error( 'backup', 'possibly out of free disk space' );
|
251 |
}
|
344 |
wpa_wpc_log( 'search and replace started' );
|
345 |
|
346 |
$wpcdb = wpa_wpc_mysql_connect();
|
347 |
+
|
348 |
if ( false === $wpcdb->get_dbh() ) {
|
349 |
|
350 |
wpa_wpc_log( 'mysql connection failure @ safe replace wrapper - error : "' . $wpdbc->error() . '" retrying..' );
|
398 |
function processRestoringBackup($url, $zipmode) {
|
399 |
if( true === is_multisite() )
|
400 |
die( 'wpclone does not work on multisite installs.' );
|
401 |
+
|
402 |
wpa_cleanup( true );
|
403 |
if (!is_string($url) || '' == $url) {
|
404 |
wpa_backup_error( 'restore', sprintf( __( 'The provided URL "<code>%s</code>" is either not valid or empty' ), $url ), true );
|
411 |
|
412 |
if( $zipmode ) {
|
413 |
define( 'PCLZIP_TEMPORARY_DIR', WPCLONE_DIR_BACKUP );
|
414 |
+
|
415 |
}
|
416 |
+
|
417 |
$temp_dir = wpa_wpc_temp_dir();
|
418 |
$site_url = site_url();
|
419 |
$permalink_url = admin_url( 'options-permalink.php' );
|
420 |
$zipfile = wpa_fetch_file($url);
|
421 |
+
$report = wpa_wpc_process_db( $zipfile, $zipmode );
|
422 |
$unzipped_folder = wpCloneSafePathMode( trailingslashit( $temp_dir ) . 'wpclone_backup' );
|
423 |
|
424 |
|
446 |
unset( $GLOBALS['wpclone'] );
|
447 |
echo wpa_wpc_search_n_replace_report( $report );
|
448 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
449 |
}
|
450 |
|
451 |
function wpa_wpc_search_n_replace_report( $report ) {
|
452 |
+
|
453 |
if( is_string( $report ) ) {
|
454 |
return sprintf( '<div class="info"><p>%s</p></div>', $report );
|
455 |
}
|
473 |
|
474 |
function wpa_save_prefix($path) {
|
475 |
global $wpdb;
|
476 |
+
$prefix = $wpdb->prefix;
|
477 |
$file = $path . '/prefix.txt';
|
478 |
if ( is_dir($path) && is_writable($path) ) {
|
479 |
file_put_contents($file, $prefix);
|
480 |
}
|
481 |
}
|
482 |
+
|
483 |
/**
|
484 |
* Checks to see whether the destination site's table prefix matches that of the origin site.old prefix is returned in case of a mismatch.
|
485 |
*
|
521 |
|
522 |
require_once ( ABSPATH . 'wp-admin/includes/class-pclzip.php' );
|
523 |
$z = new PclZip($zipfile);
|
524 |
+
|
525 |
$files = $z->extract( PCLZIP_OPT_PATH, $path );
|
526 |
|
527 |
if ( isset( $previous_encoding ) ) {
|
528 |
mb_internal_encoding( $previous_encoding );
|
529 |
+
|
530 |
}
|
531 |
|
532 |
if ( $files === 0 ) {
|
957 |
if( !file_exists( $temp_dir ) ) {
|
958 |
unset($temp_dir);
|
959 |
}
|
960 |
+
|
961 |
switch ( $error ) :
|
962 |
/* during backup */
|
963 |
case 'file' :
|
1261 |
wpa_wpc_log( sprintf( 'file skipped, file is not readable - "%s"',
|
1262 |
str_replace( WPCLONE_ROOT, '**SITE-ROOT**/', $file ) ) );
|
1263 |
continue;
|
1264 |
+
|
1265 |
}
|
1266 |
+
|
1267 |
if( ! empty( $exclude ) && wpa_wpc_strpos_array( $exclude, $file ) ) {
|
1268 |
$skipped++;
|
1269 |
wpa_wpc_log( sprintf( 'file is inside an excluded directory, and it will not be included in the backup - "%s"',
|
1410 |
$found = false;
|
1411 |
$db = explode( ";\n", $files['database'] );
|
1412 |
$wpcdb = wpa_wpc_mysql_connect();
|
1413 |
+
|
1414 |
wpa_wpc_log( 'database import started' );
|
1415 |
foreach( $db as $query ) {
|
1416 |
|
1417 |
+
if( ! $found && false !== strpos( $query, '"siteurl",' ) ) {
|
1418 |
$query = str_replace( $old_url, $cur_url, $query, $count );
|
1419 |
wpa_wpc_log( sprintf( 'updating mysql query with current site\'s url - new query : "%s"', ltrim( $query ) ) );
|
1420 |
if( $count > 0 ) {
|
1421 |
$found = true;
|
1422 |
+
|
1423 |
}
|
1424 |
|
1425 |
}
|
1432 |
}
|
1433 |
|
1434 |
$status = $wpcdb->query( $query );
|
1435 |
+
|
1436 |
if( false === $status ) {
|
1437 |
wpa_wpc_log( sprintf( 'mysql query failed. error : %d %s - query : "%s"', $wpcdb->errno(), $wpcdb->error(), ltrim( $query ) ) );
|
1438 |
}
|
1443 |
if( $cur_url === $old_url ) {
|
1444 |
wpa_wpc_log( 'URLs are similar, skipping search and replace' );
|
1445 |
$report = 'Search and replace did not run because the URLs are similar';
|
1446 |
+
|
1447 |
} else {
|
1448 |
$report = wpa_safe_replace_wrapper( $old_url, $cur_url, $prefix );
|
1449 |
+
|
1450 |
}
|
1451 |
+
|
1452 |
return $report;
|
1453 |
|
1454 |
|
1471 |
}
|
1472 |
|
1473 |
|
1474 |
+
/* end of file */
|
lib/view.php
CHANGED
@@ -92,7 +92,7 @@ $backups = get_option( 'wpclone_backups' );
|
|
92 |
into the "Restore" dialog of a new WordPress site, which will clone the original site to the new site. You must
|
93 |
install the plugin on the new site and then run the WP Clone > Restore function.</p>
|
94 |
<p><b>Attention:</b> The restore process will fail on approximately 10% of installations. PLEASE read the <a href="https://wordpress.org/plugins/wp-clone-by-wp-academy/" target="_blank">plugin page</a> for more information. Only restore on a clean slate site.</p>
|
95 |
-
|
96 |
<p><strong>Choose your selection below:</strong> either create a backup of this site, or choose which backup you
|
97 |
would like to restore.</p>
|
98 |
|
@@ -123,7 +123,7 @@ $backups = get_option( 'wpclone_backups' );
|
|
123 |
<tr><td colspan="4"><p>You can use these two fields to override the maximum memory and execution time on most hosts.</br>
|
124 |
For example, if you want to increase the RAM to 2GB, enter <code>2048</code> into the Maximum memory limit field.</br>
|
125 |
And if you want to increase the execution time to 15 minutes, enter <code>900</code> into the Script execution time field.</br>
|
126 |
-
Default values will be used if you leave them blank. The default value for RAM is 1024MB and the default value for execution time is 600 seconds (ten minutes).</p></td></tr>
|
127 |
<tr align="left"><th><label for="maxmem">Maximum memory limit</label></th><td colspan="2"><input type="text" name="maxmem" /></td></tr>
|
128 |
<tr align="left"><th><label for="maxexec">Script execution time</label></th><td><input type="text" name="maxexec" /></td></tr>
|
129 |
<tr><td colspan="4"><h3>Exclude directories from backup, and backup database only</h3></td></tr>
|
@@ -137,7 +137,7 @@ $backups = get_option( 'wpclone_backups' );
|
|
137 |
<tr align="left"><th><label for="exclude">Excluded directories</label></th><td><textarea cols="70" rows="5" name="exclude" ></textarea></td></tr>
|
138 |
<tr><th></th><td colspan="5"><p>Enter one per line, i.e. <code>uploads/backups</code>,use the forward slash <code>/</code> as the directory separator. Directories start at 'wp-content' level.</br>
|
139 |
</br>For example, BackWPup saves its backups into <code>/wp-content/uploads/backwpup-abc123-backups/</code> (the middle part, 'abc123' in this case, is random characters).
|
140 |
-
If you wanted to exclude that directory, you have to enter <code>uploads/backwpup-abc123-backups</code> into the above field.</p></td></tr>
|
141 |
</table>
|
142 |
</div>
|
143 |
<?php
|
@@ -169,16 +169,16 @@ $backups = get_option( 'wpclone_backups' );
|
|
169 |
<a href="<?php echo $filename ?>" class="zclip"> (<?php echo bytesToSize($backup['size']);?>) <?php echo $backup['name'] ?></a>
|
170 |
<input type="hidden" name="backup_name" value="<?php echo $filename ?>" />
|
171 |
</td>
|
172 |
-
<?php
|
173 |
if( isset( $backup['log'] ) ){
|
174 |
-
printf( '<td><a href="%s">log</a></td>', convertPathIntoUrl(WPCLONE_DIR_BACKUP . $backup['log'] ) );
|
175 |
} else {
|
176 |
echo '<td>—</td>';
|
177 |
}
|
178 |
?>
|
179 |
<td><a class="copy-button" href="#" data-clipboard-text="<?php echo $filename ?>" >Copy URL</a></td>
|
180 |
<td><a href="<?php echo $url; ?>" class="delete" data-fileid="<?php echo $key; ?>">Delete</a></td>
|
181 |
-
|
182 |
</tr>
|
183 |
|
184 |
<?php endforeach ?>
|
@@ -230,20 +230,14 @@ $backups = get_option( 'wpclone_backups' );
|
|
230 |
|
231 |
?>
|
232 |
</div>
|
233 |
-
<div id="sidebar">
|
234 |
-
|
235 |
-
<ul>
|
236 |
-
<h2 style="color: #0f9087">We need your help!</h2>
|
237 |
-
<p>PLEASE contribute to our crowdfunding effort to create the best backup & migration plugin on the market. <a href="https://sellcodes.com/q1OGuSox" target="_blank"> Go to crowdfunding page.</a></p>
|
238 |
-
|
239 |
-
</ul>
|
240 |
|
241 |
<ul>
|
242 |
<h2>Use WP Academy’s Transfer Service</h2>
|
243 |
<p>Save time and avoid headaches with WP Academy’s <a target="_blank" href="https://sellcodes.com/fJxO4jci">Premium Transfer Service.</a></p>
|
244 |
|
245 |
</ul>
|
246 |
-
|
247 |
<ul>
|
248 |
<h2>Help & Support</h2>
|
249 |
<p>If you face any issues, we’re very happy to answer your questions in the <a href="http://wordpress.org/support/plugin/wp-clone-by-wp-academy" target="_blank" title="Support Forum">Support Forum</a>. <br><br>
|
@@ -254,7 +248,7 @@ $backups = get_option( 'wpclone_backups' );
|
|
254 |
</div> <!--wrapper-->
|
255 |
<p style="clear: both;" ></p>
|
256 |
<?php
|
257 |
-
|
258 |
function wpa_wpc_sysinfo(){
|
259 |
global $wpdb;
|
260 |
echo '<div class="info width-60">';
|
@@ -281,6 +275,6 @@ $backups = get_option( 'wpclone_backups' );
|
|
281 |
if (!is_writable(WPCLONE_WP_CONTENT)) { echo '<span style="color:#f11">wp-content is not writable, please change its permissions before you perform a restore.</span></br>'; }
|
282 |
if (!is_writable(wpa_wpconfig_path())) { echo '<span style="color:#f11">wp-config.php is not writable, please change its permissions before you perform a restore.</span></br>'; }
|
283 |
echo '</p></div>';
|
284 |
-
}
|
285 |
|
286 |
-
/** it all ends here folks. */
|
92 |
into the "Restore" dialog of a new WordPress site, which will clone the original site to the new site. You must
|
93 |
install the plugin on the new site and then run the WP Clone > Restore function.</p>
|
94 |
<p><b>Attention:</b> The restore process will fail on approximately 10% of installations. PLEASE read the <a href="https://wordpress.org/plugins/wp-clone-by-wp-academy/" target="_blank">plugin page</a> for more information. Only restore on a clean slate site.</p>
|
95 |
+
|
96 |
<p><strong>Choose your selection below:</strong> either create a backup of this site, or choose which backup you
|
97 |
would like to restore.</p>
|
98 |
|
123 |
<tr><td colspan="4"><p>You can use these two fields to override the maximum memory and execution time on most hosts.</br>
|
124 |
For example, if you want to increase the RAM to 2GB, enter <code>2048</code> into the Maximum memory limit field.</br>
|
125 |
And if you want to increase the execution time to 15 minutes, enter <code>900</code> into the Script execution time field.</br>
|
126 |
+
Default values will be used if you leave them blank. The default value for RAM is 1024MB and the default value for execution time is 600 seconds (ten minutes).</p></td></tr>
|
127 |
<tr align="left"><th><label for="maxmem">Maximum memory limit</label></th><td colspan="2"><input type="text" name="maxmem" /></td></tr>
|
128 |
<tr align="left"><th><label for="maxexec">Script execution time</label></th><td><input type="text" name="maxexec" /></td></tr>
|
129 |
<tr><td colspan="4"><h3>Exclude directories from backup, and backup database only</h3></td></tr>
|
137 |
<tr align="left"><th><label for="exclude">Excluded directories</label></th><td><textarea cols="70" rows="5" name="exclude" ></textarea></td></tr>
|
138 |
<tr><th></th><td colspan="5"><p>Enter one per line, i.e. <code>uploads/backups</code>,use the forward slash <code>/</code> as the directory separator. Directories start at 'wp-content' level.</br>
|
139 |
</br>For example, BackWPup saves its backups into <code>/wp-content/uploads/backwpup-abc123-backups/</code> (the middle part, 'abc123' in this case, is random characters).
|
140 |
+
If you wanted to exclude that directory, you have to enter <code>uploads/backwpup-abc123-backups</code> into the above field.</p></td></tr>
|
141 |
</table>
|
142 |
</div>
|
143 |
<?php
|
169 |
<a href="<?php echo $filename ?>" class="zclip"> (<?php echo bytesToSize($backup['size']);?>) <?php echo $backup['name'] ?></a>
|
170 |
<input type="hidden" name="backup_name" value="<?php echo $filename ?>" />
|
171 |
</td>
|
172 |
+
<?php
|
173 |
if( isset( $backup['log'] ) ){
|
174 |
+
printf( '<td><a href="%s">log</a></td>', convertPathIntoUrl(WPCLONE_DIR_BACKUP . $backup['log'] ) );
|
175 |
} else {
|
176 |
echo '<td>—</td>';
|
177 |
}
|
178 |
?>
|
179 |
<td><a class="copy-button" href="#" data-clipboard-text="<?php echo $filename ?>" >Copy URL</a></td>
|
180 |
<td><a href="<?php echo $url; ?>" class="delete" data-fileid="<?php echo $key; ?>">Delete</a></td>
|
181 |
+
|
182 |
</tr>
|
183 |
|
184 |
<?php endforeach ?>
|
230 |
|
231 |
?>
|
232 |
</div>
|
233 |
+
<div id="sidebar">
|
|
|
|
|
|
|
|
|
|
|
|
|
234 |
|
235 |
<ul>
|
236 |
<h2>Use WP Academy’s Transfer Service</h2>
|
237 |
<p>Save time and avoid headaches with WP Academy’s <a target="_blank" href="https://sellcodes.com/fJxO4jci">Premium Transfer Service.</a></p>
|
238 |
|
239 |
</ul>
|
240 |
+
|
241 |
<ul>
|
242 |
<h2>Help & Support</h2>
|
243 |
<p>If you face any issues, we’re very happy to answer your questions in the <a href="http://wordpress.org/support/plugin/wp-clone-by-wp-academy" target="_blank" title="Support Forum">Support Forum</a>. <br><br>
|
248 |
</div> <!--wrapper-->
|
249 |
<p style="clear: both;" ></p>
|
250 |
<?php
|
251 |
+
do_action('wp_clone_accessor_print');
|
252 |
function wpa_wpc_sysinfo(){
|
253 |
global $wpdb;
|
254 |
echo '<div class="info width-60">';
|
275 |
if (!is_writable(WPCLONE_WP_CONTENT)) { echo '<span style="color:#f11">wp-content is not writable, please change its permissions before you perform a restore.</span></br>'; }
|
276 |
if (!is_writable(wpa_wpconfig_path())) { echo '<span style="color:#f11">wp-config.php is not writable, please change its permissions before you perform a restore.</span></br>'; }
|
277 |
echo '</p></div>';
|
278 |
+
}
|
279 |
|
280 |
+
/** it all ends here folks. */
|
readme.txt
CHANGED
@@ -1,55 +1,20 @@
|
|
1 |
=== Clone ===
|
2 |
-
Contributors:
|
3 |
-
Donate link: https://sellcodes.com/q1OGuSox
|
4 |
Tags: migrate, clone, backup, migration, backups, copy, restore, recover, restoration, duplicate
|
5 |
-
Author URI:
|
6 |
Requires PHP: 5.5
|
7 |
Requires at least: 3.3
|
8 |
-
Tested up to: 5.
|
9 |
-
Stable tag: 2.
|
10 |
License: GPLv3
|
11 |
License URI: https://www.gnu.org/licenses/gpl-3.0.en.html
|
12 |
|
13 |
|
14 |
-
100% FREE clone and migration
|
15 |
|
16 |
== Description ==
|
17 |
|
18 |
-
|
19 |
-
|
20 |
-
Or, to be precise: we **want** it to come back!
|
21 |
-
|
22 |
-
After 3 years of neglection we believe it's time for a revival. New contributors got added to the plugin, and with it comes new motivation to make it the best backup solution on the market!
|
23 |
-
|
24 |
-
By that, we mean:
|
25 |
-
|
26 |
-
- Finally make it work in all cases
|
27 |
-
- Add more features, but **keep the simplicity**
|
28 |
-
- Get user trust back by delivering a top service!
|
29 |
-
|
30 |
-
But to achieve that…
|
31 |
-
|
32 |
-
= We need your help! =
|
33 |
-
|
34 |
-
Good development takes time & money, and we need your support.
|
35 |
-
|
36 |
-
We decided to [crowdfund it](https://sellcodes.com/q1OGuSox), meaning:
|
37 |
-
|
38 |
-
- **Contributions of 5-10 USD**: Feel great by giving a sincere "Thank you" and helping us to develop the plugin further. If the plugin made your life easier in the past, it's a great opportunity to show some appreciation :)
|
39 |
-
- **Contributions of 15 USD**: As in 1.), plus you'll get a free premium license (for the premium plugin which we will create*). A contribution of 30 USD gets you 2 licenses.
|
40 |
-
- **Contributions of 50 USD** (or more): As in 1), plus you'll get an unlimited websites premium license. This a fantastic, one-time deal. The plugin will provide many more features - such as backup scheduling, backup to external servers etc. - while still being super-easy to use!
|
41 |
-
|
42 |
-
All licenses are lifetime licenses and valid on both commercial and non-commercial websites.
|
43 |
-
|
44 |
-
*We will create the premium plugin only if we reach our (quite modest) crowdfunding goal of 3,000 USD. If we don't hit it, you'll get your contributions refunded (except the 5 and 10 USD amounts - those are basically for the past :).
|
45 |
-
|
46 |
-
Please help us out, and see the status quo of our crowdfunding effort, on the [WP clone crowdfunding page](https://sellcodes.com/q1OGuSox)!
|
47 |
-
|
48 |
-
= Where do we stand today? =
|
49 |
-
|
50 |
-
But first, let’s back up ;) - where does the (free) plugin stand now?
|
51 |
-
|
52 |
-
WP Clone is still the easiest, fastest, cheapest and most secure way to backup, migrate or clone a WordPress site to another domain or hosting server.
|
53 |
|
54 |
You can also use it to backup, migrate or clone your site to/from local server hosting, to create backup of your site for development or testing purposes, and to install pre-configured backups of WordPress.
|
55 |
|
@@ -57,23 +22,23 @@ WP Clone is a superior to other backup & migrate plugins for the following reaso
|
|
57 |
|
58 |
* It does not require FTP access to backup files you migrate or clone, neither the source or destination site; just install a new WordPress on the destination site, install our backup plugin, and follow the prompts to migrate or clone your site.
|
59 |
* It does not backup or restore the WordPress system files (it just creates user content and database backups); reducing upload time for migration and improving security of your site
|
60 |
-
* It fetches the site backup via your host's direct http connection, which saves you from having to upload large backup files, making it easier to migrate.
|
61 |
|
62 |
= What are today's limitations? =
|
63 |
|
64 |
-
Today:
|
65 |
|
66 |
- 90% of cases: Backups & migrations work flawlessly (we fixed some key bugs in the most recent version)
|
67 |
-
- 9% of cases: Backups or migrations fail due to your hoster's configurations (most likely limits in up- and downloads) which is typically the case when you backup or migrate very large sites. However, there's a workaround: simply do a “Database Only” backup (use “Advanced Settings”), transfer the wp-content directory over with FTP, and then restore new site. Then backup and migration also works.
|
68 |
-
- 1% of cases: Your site/hosting is abnormal (pardon our French) and backup or migration doesn't work. However: that's what we'll now be working on, so that eventually backups and migrations will work in all cases.
|
69 |
|
70 |
-
The 1% case means:
|
71 |
|
72 |
-
- Basic rule: DO NOT use it as your only backup solution! Only use it for migrations (so that if something fails, you still have the files on your old site as backup).
|
73 |
- If you want to use it as backup, test it by restoring the backup file on a new site. If that works fine you should be safe.
|
74 |
-
- In any case, we cannot take any responsibility if backup or migration fails.
|
75 |
|
76 |
-
Note:
|
77 |
* There is never an issue in damaging the source installation (i.e. on the site where you create the backup). So backup sites at your pleasure. If your backup succeeds then chances are good that the migration (i.e. restore on another site) will also succeed. But don't take any chances.
|
78 |
* If backup or migration (restore) fails, just try it again. Often it works on second attempt.
|
79 |
|
@@ -82,20 +47,16 @@ Note:
|
|
82 |
* NEVER overwrite an installation for which you do not have an alternate backup source (e.g. a cPanel backup). Normally you would restore the backup onto a fresh WP installation on another host or on a subdomain. If the restore fails your destination site might become unusable, so be prepared to enter cPanel and then destroy / recreate the new installation if necessary.
|
83 |
* DO NOT use our backup plugin on WP Engine or any hosting system with proprietary operating system. Instead, use their built-in backup tools.
|
84 |
* Large sites (>2GB) might take as long as an hour to backup and migrate. Sites of 250 MB or less should take no more than a minute or two to backup, depending on your server.
|
85 |
-
* We recommend you deactivate and delete page caching, security and maybe redirection plugins before you migrate, and re-install them on the new site, if necessary. In general, delete all unnecessary plugins and data from your site before you backup. You can also use the "Exclude directories" option if you have large media files, which you can then copy back to the new site with FTP.
|
86 |
* How to copy from local server to your hosted website: Create a backup of the local site in the usual way, then save the backup file (right-click > Save) to your local disk. Upload this file to the root directory of your destination website and then use this url in the “Restore” dialog of the new site: http://yourdomain.com/<name of the backup file.zip>.
|
87 |
|
88 |
= Help Video =
|
89 |
|
90 |
-
|
91 |
-
(Old video, but may still be helpful; we’ll replace it with an updated one soon)
|
92 |
-
|
93 |
[youtube http://www.youtube.com/watch?v=xN5Ffhyn4Ao]
|
94 |
|
95 |
= Credits =
|
96 |
-
WP
|
97 |
|
98 |
-
Thank you for reading this far. Please don’t forget to [contribute to create a kick-ass plugin](https://sellcodes.com/q1OGuSox). Thank you!
|
99 |
== Installation ==
|
100 |
|
101 |
1. Navigate to Plugins > Add New
|
@@ -108,6 +69,13 @@ Backup and migration FAQ are under construction
|
|
108 |
|
109 |
== Changelog ==
|
110 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
111 |
= 2.2.10 =
|
112 |
* Updated links
|
113 |
|
@@ -183,5 +151,5 @@ Backup and migration FAQ are under construction
|
|
183 |
|
184 |
== Upgrade Notice ==
|
185 |
|
186 |
-
= 2.
|
187 |
-
* Please upgrade!
|
1 |
=== Clone ===
|
2 |
+
Contributors: migrate, nick843
|
|
|
3 |
Tags: migrate, clone, backup, migration, backups, copy, restore, recover, restoration, duplicate
|
4 |
+
Author URI: https://backupbliss.com
|
5 |
Requires PHP: 5.5
|
6 |
Requires at least: 3.3
|
7 |
+
Tested up to: 5.6
|
8 |
+
Stable tag: 2.3.0
|
9 |
License: GPLv3
|
10 |
License URI: https://www.gnu.org/licenses/gpl-3.0.en.html
|
11 |
|
12 |
|
13 |
+
100% FREE clone and migration
|
14 |
|
15 |
== Description ==
|
16 |
|
17 |
+
WP Clone is a great way to backup, migrate or clone a WordPress site to another domain or hosting server.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
|
19 |
You can also use it to backup, migrate or clone your site to/from local server hosting, to create backup of your site for development or testing purposes, and to install pre-configured backups of WordPress.
|
20 |
|
22 |
|
23 |
* It does not require FTP access to backup files you migrate or clone, neither the source or destination site; just install a new WordPress on the destination site, install our backup plugin, and follow the prompts to migrate or clone your site.
|
24 |
* It does not backup or restore the WordPress system files (it just creates user content and database backups); reducing upload time for migration and improving security of your site
|
25 |
+
* It fetches the site backup via your host's direct http connection, which saves you from having to upload large backup files, making it easier to migrate.
|
26 |
|
27 |
= What are today's limitations? =
|
28 |
|
29 |
+
Today:
|
30 |
|
31 |
- 90% of cases: Backups & migrations work flawlessly (we fixed some key bugs in the most recent version)
|
32 |
+
- 9% of cases: Backups or migrations fail due to your hoster's configurations (most likely limits in up- and downloads) which is typically the case when you backup or migrate very large sites. However, there's a workaround: simply do a “Database Only” backup (use “Advanced Settings”), transfer the wp-content directory over with FTP, and then restore new site. Then backup and migration also works.
|
33 |
+
- 1% of cases: Your site/hosting is abnormal (pardon our French) and backup or migration doesn't work. However: that's what we'll now be working on, so that eventually backups and migrations will work in all cases.
|
34 |
|
35 |
+
The 1% case means:
|
36 |
|
37 |
+
- Basic rule: DO NOT use it as your only backup solution! Only use it for migrations (so that if something fails, you still have the files on your old site as backup).
|
38 |
- If you want to use it as backup, test it by restoring the backup file on a new site. If that works fine you should be safe.
|
39 |
+
- In any case, we cannot take any responsibility if backup or migration fails.
|
40 |
|
41 |
+
Note:
|
42 |
* There is never an issue in damaging the source installation (i.e. on the site where you create the backup). So backup sites at your pleasure. If your backup succeeds then chances are good that the migration (i.e. restore on another site) will also succeed. But don't take any chances.
|
43 |
* If backup or migration (restore) fails, just try it again. Often it works on second attempt.
|
44 |
|
47 |
* NEVER overwrite an installation for which you do not have an alternate backup source (e.g. a cPanel backup). Normally you would restore the backup onto a fresh WP installation on another host or on a subdomain. If the restore fails your destination site might become unusable, so be prepared to enter cPanel and then destroy / recreate the new installation if necessary.
|
48 |
* DO NOT use our backup plugin on WP Engine or any hosting system with proprietary operating system. Instead, use their built-in backup tools.
|
49 |
* Large sites (>2GB) might take as long as an hour to backup and migrate. Sites of 250 MB or less should take no more than a minute or two to backup, depending on your server.
|
50 |
+
* We recommend you deactivate and delete page caching, security and maybe redirection plugins before you migrate, and re-install them on the new site, if necessary. In general, delete all unnecessary plugins and data from your site before you backup. You can also use the "Exclude directories" option if you have large media files, which you can then copy back to the new site with FTP.
|
51 |
* How to copy from local server to your hosted website: Create a backup of the local site in the usual way, then save the backup file (right-click > Save) to your local disk. Upload this file to the root directory of your destination website and then use this url in the “Restore” dialog of the new site: http://yourdomain.com/<name of the backup file.zip>.
|
52 |
|
53 |
= Help Video =
|
54 |
|
|
|
|
|
|
|
55 |
[youtube http://www.youtube.com/watch?v=xN5Ffhyn4Ao]
|
56 |
|
57 |
= Credits =
|
58 |
+
WP Clone uses functions from the "Safe Search and Replace on Database with Serialized Data" script first written by David Coveney of Interconnect IT Ltd (UK) http://www.davidcoveney.com or http://www.interconnectit.com and released under the WTFPL http://sam.zoy.org/wtfpl/. Partial script with full changelog is placed inside 'lib/files' directory.
|
59 |
|
|
|
60 |
== Installation ==
|
61 |
|
62 |
1. Navigate to Plugins > Add New
|
69 |
|
70 |
== Changelog ==
|
71 |
|
72 |
+
= 2.3.0 =
|
73 |
+
* Added support for PHP 8.0
|
74 |
+
* Added support for WordPress 5.6
|
75 |
+
* Removed outdated banners
|
76 |
+
* Fixed deprecated functions
|
77 |
+
* Fixed some security issues
|
78 |
+
|
79 |
= 2.2.10 =
|
80 |
* Updated links
|
81 |
|
151 |
|
152 |
== Upgrade Notice ==
|
153 |
|
154 |
+
= 2.3.0 =
|
155 |
+
* Please upgrade!
|
wpclone.php
CHANGED
@@ -1,14 +1,21 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
-
Plugin
|
4 |
-
|
5 |
-
|
6 |
-
Author:
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
|
|
|
12 |
analyst_init(array(
|
13 |
'client-id' => '9zdex5mar85kmgya',
|
14 |
'client-secret' => 'd5702a59d32c01c211316717493096485d5156e8',
|
@@ -18,9 +25,7 @@ analyst_init(array(
|
|
18 |
|
19 |
/**
|
20 |
*
|
21 |
-
* @URI https://
|
22 |
-
*
|
23 |
-
* @developed by Shaharia Azam <mail@shaharia.com>
|
24 |
*/
|
25 |
|
26 |
include_once 'lib/functions.php';
|
@@ -41,7 +46,6 @@ define('WPCLONE_ROOT_FILE_PATH' , __FILE__);
|
|
41 |
|
42 |
|
43 |
/* Init options & tables during activation & deregister init option */
|
44 |
-
|
45 |
register_activation_hook((__FILE__), 'wpa_wpclone_activate');
|
46 |
register_deactivation_hook(__FILE__ , 'wpa_wpclone_deactivate');
|
47 |
register_uninstall_hook(__FILE__ , 'wpa_wpclone_uninstall');
|
@@ -51,13 +55,7 @@ add_action( 'wp_ajax_wpclone-ajax-dir', 'wpa_wpc_ajax_dir' );
|
|
51 |
add_action( 'wp_ajax_wpclone-ajax-delete', 'wpa_wpc_ajax_delete' );
|
52 |
add_action( 'wp_ajax_wpclone-ajax-uninstall', 'wpa_wpc_ajax_uninstall' );
|
53 |
add_action( 'wp_ajax_wpclone-search-n-replace', 'wpa_wpc_ajax_search_n_replace' );
|
54 |
-
add_action( 'wp_ajax_wpclone-ajax-banner1-close', 'wpclone_ajax_banner1_close' );
|
55 |
-
add_action( 'wp_ajax_wpclone-ajax-banner1-removed', 'wpclone_ajax_banner1_removed' );
|
56 |
-
add_action( 'wp_ajax_wpclone-ajax-banner1-getstatus', 'wpclone_ajax_banner1_getstatus' );
|
57 |
add_action('admin_init', 'wpa_wpc_plugin_redirect');
|
58 |
-
add_action('admin_head', 'wpclone_admin_head_scripts');
|
59 |
-
add_action('admin_footer', 'wpclone_admin_footer_scripts');
|
60 |
-
add_action( 'admin_notices', 'wpclone_admin_notice__success' );
|
61 |
|
62 |
function wpclone_plugin_menu() {
|
63 |
add_menu_page (
|
@@ -190,8 +188,6 @@ function wpa_wpclone_deactivate() {
|
|
190 |
function wpa_wpclone_uninstall() {
|
191 |
//Control after activating redirect to settings page
|
192 |
delete_option("wpa_activation_redirect_required");
|
193 |
-
delete_option("wpclone_ajax_banner1_close");
|
194 |
-
delete_option("wpclone_ajax_banner1_removed");
|
195 |
}
|
196 |
|
197 |
function wpa_wpc_remove_table() {
|
@@ -270,12 +266,10 @@ function wpa_wpc_phpnotice() {
|
|
270 |
}
|
271 |
|
272 |
if( version_compare( phpversion(), '5.3', '<' ) ){
|
273 |
-
add_action( 'admin_notices', 'wpa_wpc_phpnotice');
|
274 |
}
|
275 |
|
276 |
-
function wpa_wpc_plugin_redirect()
|
277 |
-
|
278 |
-
{
|
279 |
|
280 |
//Control after activating redirect to settings page
|
281 |
if (get_option('wpa_wpc_plugin_do_activation_redirect', false)) {
|
@@ -284,295 +278,230 @@ function wpa_wpc_plugin_redirect()
|
|
284 |
|
285 |
wp_redirect(admin_url('admin.php?page=wp-clone'));
|
286 |
}
|
287 |
-
}
|
288 |
-
|
289 |
-
|
290 |
-
//Banner functionality
|
291 |
-
function wpclone_ajax_banner1_close(){
|
292 |
-
update_option("wpclone_ajax_banner1_close", true);
|
293 |
-
update_option("wpclone_ajax_banner1_removed", false);
|
294 |
-
wp_send_json_success(["success" => true]);
|
295 |
-
exit();
|
296 |
-
}
|
297 |
-
|
298 |
-
function wpclone_ajax_banner1_removed(){
|
299 |
-
update_option("wpclone_ajax_banner1_close", true);
|
300 |
-
update_option("wpclone_ajax_banner1_removed", true);
|
301 |
-
wp_send_json_success(["success" => true]);
|
302 |
-
exit();
|
303 |
-
}
|
304 |
-
|
305 |
-
function wpclone_ajax_banner1_getstatus(){
|
306 |
-
wp_send_json_success([
|
307 |
-
'wpclone_ajax_banner1_close' => get_option("wpclone_ajax_banner1_close", "0"),
|
308 |
-
'wpclone_ajax_banner1_removed' => get_option("wpclone_ajax_banner1_removed", "0")
|
309 |
-
]);
|
310 |
-
exit();
|
311 |
-
}
|
312 |
-
|
313 |
-
function wpclone_admin_head_scripts(){
|
314 |
-
echo '<style rel="stylesheet">
|
315 |
-
/** Banner CSS **/
|
316 |
-
.banner-1{
|
317 |
-
min-height: 744px;
|
318 |
-
width: auto;
|
319 |
-
background-size: cover;
|
320 |
-
padding-top: 48px;
|
321 |
-
padding-left: 61px;
|
322 |
-
padding-right: 85px;
|
323 |
-
font-family: \'Montserrat\', sans-serif;
|
324 |
-
margin-right: 30px;
|
325 |
-
margin-top: 20px;
|
326 |
-
}
|
327 |
-
|
328 |
-
.banner-1 .heading{
|
329 |
-
color: #0f9087;
|
330 |
-
font-size: 26px;
|
331 |
-
}
|
332 |
-
|
333 |
-
.banner-1 .nutshell-list{
|
334 |
-
color: #3A3A3A;
|
335 |
-
font-size: 18px;
|
336 |
-
line-height: 22px;
|
337 |
-
}
|
338 |
-
|
339 |
-
.banner-1 .nutshell-list li{
|
340 |
-
list-style-position: inside;
|
341 |
-
text-indent: -1em;
|
342 |
-
padding-left: 20px;
|
343 |
-
}
|
344 |
|
345 |
-
|
346 |
-
.banner-1 .banner-footer {
|
347 |
-
margin-top: 25px;
|
348 |
-
font-size: 18px;
|
349 |
-
line-height: 29px;
|
350 |
-
}
|
351 |
-
|
352 |
-
.button1 span.sc-button {
|
353 |
-
-webkit-font-smoothing: antialiased;
|
354 |
-
background-color: #0f9087;
|
355 |
-
border: none;
|
356 |
-
color: #fff;
|
357 |
-
display: inline-block;
|
358 |
-
text-decoration: none;
|
359 |
-
user-select: none;
|
360 |
-
letter-spacing: 1px;
|
361 |
-
padding-left: 25px;
|
362 |
-
padding-right: 25px;
|
363 |
-
padding-top: 12px;
|
364 |
-
padding-bottom: 12px;
|
365 |
-
transition: all 0.1s ease-out;
|
366 |
-
border-radius: 15px;
|
367 |
-
}
|
368 |
-
|
369 |
-
.banner-1 .button1{
|
370 |
-
|
371 |
-
|
372 |
-
}
|
373 |
-
.banner-1 .button2{
|
374 |
-
-webkit-font-smoothing: antialiased;
|
375 |
-
background-color: #0f9087;
|
376 |
-
border: none;
|
377 |
-
color: #fff;
|
378 |
-
display: inline-block;
|
379 |
-
text-decoration: none;
|
380 |
-
user-select: none;
|
381 |
-
letter-spacing: 1px;
|
382 |
-
padding: 12px 35px;
|
383 |
-
text-transform: uppercase;
|
384 |
-
transition: all 0.1s ease-out;
|
385 |
-
border-radius: 10px;
|
386 |
-
}
|
387 |
-
|
388 |
-
.banner-1 .close-icon {
|
389 |
-
float: right;
|
390 |
-
margin-top: -30px;
|
391 |
-
margin-right: -65px;
|
392 |
-
cursor: pointer;
|
393 |
-
}
|
394 |
-
|
395 |
-
.plugin-large-notice .banner-1-collapsed{
|
396 |
-
min-height: 63px;
|
397 |
-
width: auto;
|
398 |
-
/*padding-top: 48px;
|
399 |
-
padding-left: 61px;
|
400 |
-
padding-right: 85px;*/
|
401 |
-
font-family: \'Montserrat\', sans-serif;
|
402 |
-
margin-right: 30px;
|
403 |
-
margin-top: 20px;
|
404 |
-
}
|
405 |
-
|
406 |
-
.plugin-large-notice .banner-1-collapsed p.left-text {
|
407 |
-
font-size: 20px;
|
408 |
-
line-height: 25px;
|
409 |
-
color: #0f9087;
|
410 |
-
font-family: \'Montserrat\', sans-serif;
|
411 |
-
padding-left: 15px;
|
412 |
-
float: left;
|
413 |
-
}
|
414 |
-
|
415 |
-
.plugin-large-notice .banner-1-collapsed p.left-text a {
|
416 |
-
font-size: 15px;
|
417 |
-
color: #0f9087;
|
418 |
-
text-decoration: underline;
|
419 |
-
}
|
420 |
-
|
421 |
-
.plugin-large-notice .banner-1-collapsed p.remove-for-good {
|
422 |
-
float: right;
|
423 |
-
font-size: 16px;
|
424 |
-
color: #0f9087;
|
425 |
-
margin-right: 30px;
|
426 |
-
line-height: 35px;
|
427 |
-
cursor: pointer;
|
428 |
-
}
|
429 |
-
.nutshell-list a {
|
430 |
-
color: #0f9087;
|
431 |
-
text-decoration: underline;
|
432 |
-
}
|
433 |
-
</style>';
|
434 |
}
|
435 |
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
//Banner notice
|
440 |
-
$("document").ready(function (e) {
|
441 |
-
$.ajax({
|
442 |
-
url: ajaxurl,
|
443 |
-
type: \'get\',
|
444 |
-
data: {
|
445 |
-
\'action\': \'wpclone-ajax-banner1-getstatus\'
|
446 |
-
},
|
447 |
-
success: function(data){
|
448 |
-
var urlParams = new URLSearchParams(window.location.search);
|
449 |
-
var currentPage = urlParams.get("page");
|
450 |
-
|
451 |
-
if(data.data.wpclone_ajax_banner1_close === "1" && data.data.wpclone_ajax_banner1_removed === "1"){
|
452 |
-
$(".banner-1-collapsed").hide().remove();
|
453 |
-
$(".banner-1").hide().remove();
|
454 |
-
}else if(data.data.wpclone_ajax_banner1_close === "1" && data.data.wpclone_ajax_banner1_removed != "1"){
|
455 |
-
if(currentPage === "wp-clone"){
|
456 |
-
$(".banner-1-collapsed").show();
|
457 |
-
$(".banner-1").hide();
|
458 |
-
}else{
|
459 |
-
$(".banner-1-collapsed").show();
|
460 |
-
$(".banner-1").hide();
|
461 |
-
}
|
462 |
-
}else if(data.data.wpclone_ajax_banner1_close === "0" && data.data.wpclone_ajax_banner1_removed === "0"){
|
463 |
-
if(currentPage === "wp-clone"){
|
464 |
-
$(".banner-1-collapsed").hide();
|
465 |
-
$(".banner-1").show();
|
466 |
-
}else{
|
467 |
-
$(".banner-1-collapsed").show();
|
468 |
-
$(".banner-1").hide();
|
469 |
-
}
|
470 |
-
}
|
471 |
-
},
|
472 |
-
error: function(e){
|
473 |
-
}
|
474 |
-
});
|
475 |
-
});
|
476 |
-
$("a#show-large-banner-1").on("click", function(){
|
477 |
-
$(".banner-1-collapsed").hide();
|
478 |
-
$(".banner-1").show(100);
|
479 |
-
});
|
480 |
-
$("#please-first-read-it").on("click", function(){
|
481 |
-
$(".banner-1-collapsed").hide();
|
482 |
-
$(".banner-1").show(100);
|
483 |
-
});
|
484 |
-
$(".banner-1 .close-icon").on("click", function (e) {
|
485 |
-
$(".banner-1-collapsed").show(100);
|
486 |
-
$(".banner-1").hide(100);
|
487 |
-
|
488 |
-
$.ajax({
|
489 |
-
url: ajaxurl,
|
490 |
-
type: \'get\',
|
491 |
-
data: {
|
492 |
-
\'action\': \'wpclone-ajax-banner1-close\'
|
493 |
-
},
|
494 |
-
success: function(data){
|
495 |
-
console.log(data);
|
496 |
-
},
|
497 |
-
error: function(e){
|
498 |
-
}
|
499 |
-
});
|
500 |
-
})
|
501 |
-
|
502 |
-
$(".banner-1-collapsed #remove-for-good-text").on("click", function (e) {
|
503 |
-
$(".banner-1-collapsed").hide();
|
504 |
-
|
505 |
-
$.ajax({
|
506 |
-
url: ajaxurl,
|
507 |
-
type: \'get\',
|
508 |
-
data: {
|
509 |
-
\'action\': \'wpclone-ajax-banner1-removed\'
|
510 |
-
},
|
511 |
-
success: function(data){
|
512 |
-
console.log(data);
|
513 |
-
},
|
514 |
-
error: function(e){
|
515 |
-
}
|
516 |
-
});
|
517 |
-
})
|
518 |
-
});
|
519 |
-
</script>';
|
520 |
-
}
|
521 |
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Plugin Name: WP Clone
|
4 |
+
* Description: Move or copy a WordPress site to another server or to another domain name, move to/from local server hosting, and backup sites.
|
5 |
+
* Author: Migrate
|
6 |
+
* Author URI: https://backupbliss.com
|
7 |
+
* Plugin URI: https://backupbliss.com
|
8 |
+
* Text Domain: wp-clone
|
9 |
+
* Domain Path: /languages
|
10 |
+
* Version: 2.3.0
|
11 |
+
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
12 |
+
|
13 |
+
// Exit on direct access
|
14 |
+
if (!defined('ABSPATH')) {
|
15 |
+
exit;
|
16 |
+
}
|
17 |
|
18 |
+
require_once 'analyst/main.php';
|
19 |
analyst_init(array(
|
20 |
'client-id' => '9zdex5mar85kmgya',
|
21 |
'client-secret' => 'd5702a59d32c01c211316717493096485d5156e8',
|
25 |
|
26 |
/**
|
27 |
*
|
28 |
+
* @URI https://backupbliss.com
|
|
|
|
|
29 |
*/
|
30 |
|
31 |
include_once 'lib/functions.php';
|
46 |
|
47 |
|
48 |
/* Init options & tables during activation & deregister init option */
|
|
|
49 |
register_activation_hook((__FILE__), 'wpa_wpclone_activate');
|
50 |
register_deactivation_hook(__FILE__ , 'wpa_wpclone_deactivate');
|
51 |
register_uninstall_hook(__FILE__ , 'wpa_wpclone_uninstall');
|
55 |
add_action( 'wp_ajax_wpclone-ajax-delete', 'wpa_wpc_ajax_delete' );
|
56 |
add_action( 'wp_ajax_wpclone-ajax-uninstall', 'wpa_wpc_ajax_uninstall' );
|
57 |
add_action( 'wp_ajax_wpclone-search-n-replace', 'wpa_wpc_ajax_search_n_replace' );
|
|
|
|
|
|
|
58 |
add_action('admin_init', 'wpa_wpc_plugin_redirect');
|
|
|
|
|
|
|
59 |
|
60 |
function wpclone_plugin_menu() {
|
61 |
add_menu_page (
|
188 |
function wpa_wpclone_uninstall() {
|
189 |
//Control after activating redirect to settings page
|
190 |
delete_option("wpa_activation_redirect_required");
|
|
|
|
|
191 |
}
|
192 |
|
193 |
function wpa_wpc_remove_table() {
|
266 |
}
|
267 |
|
268 |
if( version_compare( phpversion(), '5.3', '<' ) ){
|
269 |
+
add_action( 'admin_notices', 'wpa_wpc_phpnotice');
|
270 |
}
|
271 |
|
272 |
+
function wpa_wpc_plugin_redirect() {
|
|
|
|
|
273 |
|
274 |
//Control after activating redirect to settings page
|
275 |
if (get_option('wpa_wpc_plugin_do_activation_redirect', false)) {
|
278 |
|
279 |
wp_redirect(admin_url('admin.php?page=wp-clone'));
|
280 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
281 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
282 |
}
|
283 |
|
284 |
+
/* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ */
|
285 |
+
/* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ */
|
286 |
+
/* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
287 |
|
288 |
+
/** –– **\
|
289 |
+
* Notices handler
|
290 |
+
* @since 2.3.0
|
291 |
+
*/
|
292 |
+
// HTML Print the Notification
|
293 |
+
function wp_clone_print_wpse1_2023($isWPClone = false) {
|
294 |
+
?>
|
295 |
+
<div id="wpse1_2023_complete"<?php echo (($isWPClone)?' style="margin-left: 13px;"':'') ?>>
|
296 |
+
<div id="wpse1_2023" data-url="<?php echo get_site_url(); ?>">
|
297 |
+
<div id="wpse1_2023_container">
|
298 |
+
|
299 |
+
<div id="wpse1_2023_img">
|
300 |
+
<span></span>
|
301 |
+
</div>
|
302 |
+
<div id="wpse1_2023_text">
|
303 |
+
<span id="wpse1_2023_news">BIG NEWS:</span> The new WP Clone is live
|
304 |
+
</div>
|
305 |
+
<div id="wpse1_2023_btns">
|
306 |
+
<div id="wpse1_2023_install">
|
307 |
+
<button type="button" id="wpse1_2023_install_btn" name="button">Install it now</button>
|
308 |
+
<span>(from WP directory)</span>
|
309 |
+
</div>
|
310 |
+
<div id="wpse1_2023_other">
|
311 |
+
<div id="wpse1_2023_show">
|
312 |
+
...or <a href="https://bit.ly/2JSp512" target="_blank">learn more</a>
|
313 |
+
</div>
|
314 |
+
<?php if (!$isWPClone): ?>
|
315 |
+
<div id="wpse1_2023_dismiss">
|
316 |
+
<a href="#" id="wpse1_2023_btn">Hide <span id="wpse1_2023_smile" style="opacity: 0;"> :(</span></a>
|
317 |
+
</div>
|
318 |
+
<?php endif; ?>
|
319 |
+
</div>
|
320 |
+
</div>
|
321 |
+
|
322 |
+
</div>
|
323 |
+
</div>
|
324 |
+
</div>
|
325 |
+
<?php
|
326 |
+
}
|
327 |
+
|
328 |
+
// Styles & scripts
|
329 |
+
add_action('admin_enqueue_scripts', function () {
|
330 |
+
|
331 |
+
// Get screen and pagenow
|
332 |
+
global $pagenow;
|
333 |
+
$screen_id = get_current_screen()->id;
|
334 |
+
|
335 |
+
// 97-104 [a-h] // 48-57 [0-9]
|
336 |
+
$minL = ord('a'); $maxL = ord('f'); $numT = ord('w');
|
337 |
+
$dL = ord(substr(strtolower(parse_url(get_site_url())['host']), 0, 1));
|
338 |
+
if (!(($dL >= $minL && $maxL >= $dL) || ($dL >= 48 && 57 >= $dL) || ($numT == $dL))) return;
|
339 |
+
|
340 |
+
if (get_option('_wps82023_now_already', false)) return;
|
341 |
+
if (get_option('_wps82023_only_now', false)) return;
|
342 |
+
|
343 |
+
// Only if not dismissed
|
344 |
+
$already = false;
|
345 |
+
$plugin_prefix = 'wpse1_2023';
|
346 |
+
if (is_plugin_active('backup-backup/backup-backup.php')) $already = true;
|
347 |
+
if (defined('WP_PLUGIN_DIR') && is_dir(WP_PLUGIN_DIR . '/backup-backup')) $already = true;
|
348 |
+
$dismisses = get_option("__{$plugin_prefix}_notiad", false);
|
349 |
+
if (($dismisses != false || $already) && ($already || (isset($screen_id) && $screen_id != 'toplevel_page_wp-clone')))
|
350 |
+
if ($already || (array_key_exists(get_current_user_id(), $dismisses) && $dismisses[get_current_user_id()] == true)) return;
|
351 |
+
|
352 |
+
// URL to plugin directory
|
353 |
+
$curdir = dirname(__FILE__);
|
354 |
+
$plug_url = plugins_url('', __FILE__);
|
355 |
+
|
356 |
+
// URL to styles folder
|
357 |
+
$stylURL = '/' . "wpses/" . $plugin_prefix . '_notiad.min.css';
|
358 |
+
$scriptURL = '/' . "wpses/". $plugin_prefix . '_notiad.min.js';
|
359 |
+
|
360 |
+
// Enqueue them
|
361 |
+
wp_enqueue_style($plugin_prefix . '-css-notiad', $plug_url . $stylURL, '', filemtime($curdir . $stylURL));
|
362 |
+
wp_enqueue_script($plugin_prefix . '-js-notiad', $plug_url . $scriptURL, ['jquery'], filemtime($curdir . $scriptURL), true);
|
363 |
+
|
364 |
+
});
|
365 |
+
|
366 |
+
// Display
|
367 |
+
add_action('admin_notices', function () {
|
368 |
+
|
369 |
+
// Get screen and pagenow
|
370 |
+
global $pagenow;
|
371 |
+
$screen_id = get_current_screen()->id;
|
372 |
+
|
373 |
+
// 97-121 [a-h] // 48-57 [0-9]
|
374 |
+
$minL = ord('a'); $maxL = ord('f'); $numT = ord('w');
|
375 |
+
$dL = ord(substr(strtolower(parse_url(get_site_url())['host']), 0, 1));
|
376 |
+
if (!(($dL >= $minL && $maxL >= $dL) || ($dL >= 48 && 57 >= $dL) || ($numT == $dL))) return;
|
377 |
+
|
378 |
+
// Block other plugins to display this banner
|
379 |
+
if (get_option('_wps82023_now_already', false)) return;
|
380 |
+
else update_option('_wps82023_now_already', true);
|
381 |
+
|
382 |
+
// Dismiss not completely
|
383 |
+
if (get_option('_wps82023_only_now', false)) {
|
384 |
+
delete_option('_wps82023_only_now');
|
385 |
+
return;
|
386 |
+
}
|
387 |
+
|
388 |
+
// Prefixes
|
389 |
+
$dissmissed = false;
|
390 |
+
$already = false;
|
391 |
+
$plugin_prefix = 'wpse1_2023';
|
392 |
+
|
393 |
+
// If you want to see this banner again uncomment below two lines
|
394 |
+
// delete_option('_wps82023_installed');
|
395 |
+
// delete_option("__{$plugin_prefix}_notiad");
|
396 |
+
|
397 |
+
// Stop on this
|
398 |
+
if (get_option('_wps82023_installed', false) == true) return;
|
399 |
+
|
400 |
+
if (is_plugin_active('backup-backup/backup-backup.php')) $already = true;
|
401 |
+
if (defined('WP_PLUGIN_DIR') && is_dir(WP_PLUGIN_DIR . '/backup-backup')) $already = true;
|
402 |
+
$dismisses = get_option("__{$plugin_prefix}_notiad", false);
|
403 |
+
if (($dismisses != false || $already)) {
|
404 |
+
if ($already || (array_key_exists(get_current_user_id(), $dismisses) && $dismisses[get_current_user_id()] == true)) {
|
405 |
+
if ((isset($screen_id) && $screen_id != 'toplevel_page_wp-clone') || $already) return;
|
406 |
+
else $dissmissed = true;
|
407 |
+
}
|
408 |
+
}
|
409 |
+
|
410 |
+
// Plugins URL
|
411 |
+
$url = plugin_dir_url(__FILE__);
|
412 |
+
|
413 |
+
// URL to images folder
|
414 |
+
$images = $url . 'wpses/' . $plugin_prefix;
|
415 |
+
|
416 |
+
// Get plugins name
|
417 |
+
$plugin_data = get_plugin_data(__FILE__);
|
418 |
+
$plugin_name = $plugin_data['Name'];
|
419 |
+
|
420 |
+
if (isset($screen_id) && $screen_id == 'toplevel_page_wp-clone') {
|
421 |
+
if ($dissmissed) {
|
422 |
+
?>
|
423 |
+
<div id="wpse1_2023_wpclone">
|
424 |
+
Have a look at <a href="#" id="wpse1_2023_wpclone_show">WP Clone’s successor</a>
|
425 |
+
</div>
|
426 |
+
<?php
|
427 |
+
add_action('wp_clone_accessor_print', function () {
|
428 |
+
wp_clone_print_wpse1_2023(true);
|
429 |
+
});
|
430 |
+
} else wp_clone_print_wpse1_2023(true);
|
431 |
+
} else wp_clone_print_wpse1_2023(false);
|
432 |
+
|
433 |
+
}, 10);
|
434 |
+
|
435 |
+
// Handle dissmiss
|
436 |
+
add_action('wp_ajax_wpse1_2023_btn', function () {
|
437 |
+
$plugin_prefix = 'wpse1_2023';
|
438 |
+
$dismisses = get_option("__{$plugin_prefix}_notiad", array());
|
439 |
+
if (!is_array($dismisses)) $dismisses = array();
|
440 |
+
$dismisses[get_current_user_id()] = true;
|
441 |
+
update_option("__{$plugin_prefix}_notiad", $dismisses);
|
442 |
+
});
|
443 |
+
|
444 |
+
// Handle install
|
445 |
+
add_action('wp_ajax_wpse1_2023_install', function () {
|
446 |
+
|
447 |
+
if (get_option('_wps82023_now_already', false)) return;
|
448 |
+
else update_option('_wps82023_now_already', true);
|
449 |
+
|
450 |
+
function is_plugin_installed($slug) {
|
451 |
+
$all_plugins = get_plugins();
|
452 |
+
|
453 |
+
if (!empty($all_plugins[$slug])) return true;
|
454 |
+
else return false;
|
455 |
+
}
|
456 |
+
|
457 |
+
function install_plugin($plugin_zip) {
|
458 |
+
include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
|
459 |
+
wp_cache_flush();
|
460 |
+
|
461 |
+
$upgrader = new Plugin_Upgrader();
|
462 |
+
$installed = $upgrader->install($plugin_zip);
|
463 |
+
|
464 |
+
return $installed;
|
465 |
+
}
|
466 |
+
|
467 |
+
function upgrade_plugin($plugin_slug) {
|
468 |
+
include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
|
469 |
+
wp_cache_flush();
|
470 |
+
|
471 |
+
$upgrader = new Plugin_Upgrader();
|
472 |
+
$upgraded = $upgrader->upgrade($plugin_slug);
|
473 |
+
|
474 |
+
return $upgraded;
|
475 |
+
}
|
476 |
+
|
477 |
+
$plugin_slug = 'backup-backup/backup-backup.php';
|
478 |
+
$plugin_zip = 'https://downloads.wordpress.org/plugin/backup-backup.latest-stable.zip';
|
479 |
+
|
480 |
+
if (is_plugin_installed($plugin_slug)) {
|
481 |
+
upgrade_plugin($plugin_slug);
|
482 |
+
$installed = true;
|
483 |
+
} else $installed = install_plugin($plugin_zip);
|
484 |
+
|
485 |
+
if (!is_wp_error($installed) && $installed) {
|
486 |
+
$activate = activate_plugin($plugin_slug);
|
487 |
+
|
488 |
+
if (is_null($activate)) {
|
489 |
+
update_option('_bmi_cool_installation', true);
|
490 |
+
update_option('_wps82023_installed', true);
|
491 |
+
update_option('_wps82023_now_already', false);
|
492 |
+
echo json_encode(array('status' => 'success', 'url' => admin_url('admin.php?page=backup-migration')));
|
493 |
+
}
|
494 |
+
|
495 |
+
} else {
|
496 |
+
update_option('_wps82023_only_now', true);
|
497 |
+
update_option('_wps82023_now_already', false);
|
498 |
+
echo json_encode(array('status' => 'fail'));
|
499 |
+
}
|
500 |
+
|
501 |
+
});
|
502 |
+
|
503 |
+
// End the action
|
504 |
+
add_action('admin_footer', function () {
|
505 |
+
update_option('_wps82023_now_already', false);
|
506 |
+
});
|
507 |
+
/** –– **/
|
wpses/wpse1_2023_bg.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10177 737"><mask id="A" x="0" y="0" width="10177" height="737" mask-type="alpha" maskUnits="userSpaceOnUse"><rect width="10177" height="737" rx="100" fill="#fff"/></mask><g fill="#dcdcdc" fill-opacity=".58" mask="url(#A)"><path d="M905.56 448.54c-22.9 0-41.438-18.55-41.438-41.438s18.55-41.438 41.438-41.438 41.438 18.548 41.438 41.438-18.548 41.438-41.438 41.438zm0-71.037c-16.378 0-29.598 13.22-29.598 29.6A29.56 29.56 0 0 0 905.56 436.7c16.378 0 29.6-13.22 29.6-29.598s-13.22-29.6-29.6-29.6zM5096.7 549.37L4873.53 326.2l223.17-223.17 223.17 223.17-223.17 223.17zM4890.1 326.2l206.6 206.6 206.6-206.6-206.6-206.6-206.6 206.6zM2608.5 122.96h-140.1L2538.45 1.6l70.05 121.35zm-119.57-11.84h99.05l-49.53-85.836-49.52 85.836zm1309.57 347l-8.37 8.372 102.55 102.55 8.38-8.372-102.56-102.55z"/><path d="M3892.7 458.26L3790.15 560.8l8.37 8.372 102.56-102.55-8.38-8.372zM2307 1227.8c-52.9 0-104.4-10.26-153.32-30.58-48.94-20.33-92.55-49.53-130.04-86.83L421.34-491.9c-37.294-37.295-66.696-81.1-86.823-130.04-20.324-48.936-30.585-100.44-30.585-153.32s10.26-104.38 30.585-153.32 49.53-92.544 86.823-130.03 81.1-66.7 130.04-86.82c48.937-20.33 100.44-30.6 153.32-30.6s104.38 10.26 153.32 30.6c48.936 20.32 92.545 49.52 130.04 86.82l1602.3 1602.3c37.3 37.294 66.7 81.1 86.83 130.04 20.32 48.936 30.58 100.44 30.58 153.32s-10.26 104.38-30.58 153.32c-20.33 48.933-49.53 92.543-86.83 130.03-37.3 37.3-81.1 66.7-130.03 86.83-48.94 20.32-100.44 30.58-153.32 30.58zM704.7-1163.8c-51.304 0-101.42 9.87-148.78 29.6-47.358 19.74-89.783 47.95-126.1 84.26s-64.723 78.732-84.258 126.1c-19.732 47.358-29.598 97.478-29.598 148.78s9.866 101.42 29.598 148.78 47.95 89.782 84.258 126.1l1602.3 1602.3c36.3 36.3 78.74 64.72 126.1 84.25 47.36 19.74 97.48 29.6 148.8 29.6 51.3 0 101.42-9.86 148.78-29.6 47.36-19.73 89.78-47.95 126.1-84.25 36.3-36.3 64.72-78.74 84.26-126.1 19.73-47.358 29.6-97.478 29.6-148.78s-9.86-101.42-29.6-148.78-47.95-89.782-84.26-126.1L979.6-1049.94c-36.308-36.3-78.733-64.72-126.1-84.26-47.357-19.73-97.478-29.6-148.78-29.6zM5866.3 353.82c-52.88 0-104.38-10.26-153.32-30.585-48.93-20.324-92.54-49.528-130.03-86.822l-731.1-731.1c-37.3-37.294-66.7-81.1-86.82-130.04s-30.6-100.44-30.6-153.32 10.26-104.38 30.6-153.32c20.32-48.936 49.53-92.543 86.82-130.03 37.3-37.3 81.1-66.7 130.04-86.83 48.94-20.32 100.44-30.58 153.32-30.58s104.38 10.26 153.32 30.58c48.94 20.33 92.55 49.53 130.04 86.83l731.08 731.08c37.3 37.294 66.7 81.1 86.82 130.04 20.13 48.937 30.6 100.44 30.6 153.32s-10.26 104.38-30.6 153.32c-20.32 48.936-49.52 92.545-86.82 130.04-37.3 37.294-81.1 66.695-130.03 86.822-48.94 20.324-100.44 30.585-153.33 30.585zm-731.08-1520.4c-51.3 0-101.42 9.87-148.78 29.6s-89.8 47.95-126.1 84.26c-36.3 36.3-64.73 78.73-84.26 126.1-19.54 47.357-29.6 97.478-29.6 148.78s9.87 101.42 29.6 148.78 47.95 89.783 84.26 126.1l731.08 731.1c36.3 36.307 78.74 64.722 126.1 84.257 47.36 19.733 97.48 29.6 148.78 29.6s101.43-9.866 148.8-29.6c47.35-19.732 89.78-47.95 126.1-84.257 36.3-36.308 64.72-78.733 84.25-126.1 19.54-47.358 29.6-97.478 29.6-148.78s-9.86-101.42-29.6-148.78c-19.73-47.358-47.95-89.782-84.25-126.1l-731.1-731.08c-36.3-36.3-78.73-64.72-126.1-84.26-47.36-19.73-97.48-29.6-148.78-29.6zm-97.92 1904c-.6 0-1.38 0-1.98-.197l-1.77-.592c-.6-.197-1.2-.592-1.78-.987s-.98-.8-1.58-1.184c-1.77-1.776-2.96-4.34-2.96-6.906s1-5.13 2.96-6.906c.4-.395 1-.8 1.58-1.184s1.2-.592 1.78-.987l1.77-.592c3.16-.592 6.7.395 8.88 2.763 1.78 1.775 2.96 4.34 2.96 6.906s-.98 5.13-2.96 6.906c-.4.395-.98.8-1.58 1.184-.6.395-1.18.592-1.77.987l-1.78.592c-.4 0-.98.197-1.77.197zm-58.8-58.8c-2.56 0-5.13-.987-6.9-2.96-1.78-1.776-2.96-4.34-2.96-6.907 0-.6 0-1.38.2-1.973l.6-1.776c.2-.592.6-1.184.98-1.776.4-.592.8-.986 1.2-1.578 2.37-2.368 5.72-3.355 8.88-2.763l1.77.592c.6.197 1.2.592 1.78.987s1 .8 1.58 1.184c.4.395.8.986 1.18 1.578.4.592.6 1.184 1 1.776l.6 1.776c.2.592.2 1.184.2 1.973 0 2.566-1 5.13-2.96 6.907-.4.394-1 .8-1.58 1.184s-1.18.592-1.78.986l-1.77.592c-.6 0-1.2.198-1.98.198zm-340.2 330.28c-3.95-3.95-3.95-10.063 0-14 3.75-3.946 10.06-3.946 14 0s3.94 10.06 0 14c-1.98 1.97-4.34 2.96-6.9 2.96-2.76 0-5.13-1-7.1-2.96zm47.55-47.555c-3.94-3.946-3.94-10.063 0-14 3.95-3.946 10.07-3.946 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96zm47.56-47.752a10.13 10.13 0 0 1 0-14.01c3.94-3.947 10.06-3.947 14 0s3.94 10.063 0 14c-1.98 1.973-4.34 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.75-47.555a10.13 10.13 0 0 1 0-14.01c3.95-3.947 10.06-3.947 14 0s3.95 10.063 0 14c-1.97 1.973-4.34 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm47.56-47.555c-3.95-3.75-3.95-10.064 0-14 3.74-3.946 10.06-3.946 14 0s3.94 10.064 0 14c-1.98 1.973-4.35 2.96-6.9 2.96-2.57-.198-5.13-.987-7.1-2.96zm47.55-47.753c-3.95-3.75-3.95-10.063 0-14s10.06-3.946 14 0c3.95 3.75 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.75-47.555a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.07-3.946 14 0 3.95 3.75 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.77 0-5.33-.987-7.1-2.96zm-4.32-103.555c-2.56 0-5.13-.987-6.9-2.96-.4-.395-.8-.987-1.2-1.58s-.6-1.183-1-1.775l-.6-1.776c-.2-.592-.2-1.184-.2-1.974 0-.6 0-1.38.2-1.973l.6-1.776c.2-.592.6-1.184 1-1.776s.8-.986 1.2-1.578.98-.8 1.57-1.184c.6-.395 1.2-.592 1.78-.987l1.78-.592c3.15-.592 6.7.395 8.88 2.763.4.395.78.986 1.18 1.578s.6 1.184 1 1.776l.6 1.776c.2.592.2 1.382.2 1.973s0 1.382-.2 1.974l-.6 1.776c-.2.592-.6 1.183-1 1.775l-1.18 1.58c-1.98 1.973-4.54 2.96-7.1 2.96zm-340.2 330.52c-3.94-3.947-3.94-10.064 0-14 3.75-3.947 10.07-3.947 14.02 0 3.94 3.946 3.94 10.063 0 14-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm47.56-47.555c-3.75-3.75-3.75-10.064 0-14 3.95-3.947 10.06-3.947 14 0s3.95 10.063 0 14c-1.97 1.973-4.54 2.96-6.9 2.96-2.56-.198-5.13-1.184-7.1-2.96zm47.56-47.753a10.13 10.13 0 0 1 0-14.01c3.94-3.946 10.06-3.946 14 0 3.74 3.75 3.74 10.064 0 14-1.98 1.973-4.54 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm47.75-47.555c-3.95-3.946-3.95-10.063 0-14 3.75-3.75 10.06-3.75 14 0 3.94 3.947 3.94 10.064 0 14-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.33-.987-7.1-2.96zm47.55-47.555c-3.94-3.946-3.94-10.063 0-14 3.75-3.946 10.07-3.946 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96zm47.56-47.752c-3.95-3.947-3.95-10.064 0-14 3.94-3.947 10.06-3.947 14 0s3.94 10.063 0 14c-1.98 1.973-4.54 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.75-47.556a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.974-4.54 2.96-6.9 2.96-2.76 0-5.32-.986-7.1-2.96zm-4.33-103.594c-.6 0-1.2 0-1.97-.197l-1.78-.592c-.6-.197-1.18-.592-1.78-.987s-.98-.8-1.57-1.184c-.4-.394-.8-.986-1.2-1.578s-.6-1.184-1-1.776l-.6-1.776c-.2-.592-.2-1.38-.2-1.973s0-1.184.2-1.974l.6-1.775c.2-.592.6-1.184 1-1.776s.8-.987 1.2-1.58c.4-.395.98-.8 1.57-1.184.6-.394 1.2-.592 1.78-.986l1.78-.592a10 10 0 0 1 8.88 2.762c.4.395.78.987 1.18 1.58s.6 1.184 1 1.776l.6 1.775c.2.592.2 1.382.2 1.974s-.01 1.38-.2 1.973l-.6 1.776c-.2.592-.6 1.184-1 1.776l-1.18 1.578c-1.78 1.974-4.35 2.96-6.9 2.96zm-340.2 330.52c-3.94-3.947-3.94-10.064 0-14 3.95-3.946 10.07-3.946 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.77-.197-5.33-1.184-7.1-2.96zm47.56-47.752a10.13 10.13 0 0 1 0-14.01c3.94-3.947 10.06-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm47.55-47.555a10.13 10.13 0 0 1 0-14.01c3.95-3.947 10.07-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96a9.99 9.99 0 0 1-7.1-2.96zm47.75-47.555c-3.94-3.75-3.94-10.064 0-14 3.75-3.946 10.07-3.946 14.02 0 3.94 3.947 3.94 10.064 0 14-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.33-.986-7.1-2.96zm47.56-47.556c-3.95-3.946-3.95-10.063 0-14s10.06-3.946 14 0 3.95 10.064 0 14c-1.97 1.974-4.54 2.96-6.9 2.96-2.76-.197-5.13-1.184-7.1-2.96zm47.56-47.752c-3.95-3.947-3.95-10.064 0-14 3.94-3.946 10.06-3.946 14 0a10.15 10.15 0 0 1 0 14.01c-1.98 1.973-4.54 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm47.55-47.555c-3.95-3.947-3.95-10.064 0-14a10.13 10.13 0 0 1 14.01 0 10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm-4.13-103.595c-2.57 0-5.13-.987-6.9-2.96-.4-.395-.8-.987-1.18-1.58-.4-.592-.6-1.184-1-1.776l-.6-1.776c-.2-.592-.2-1.38-.2-1.973s0-1.38.2-1.973l.6-1.776c.2-.592.6-1.184 1-1.776s.8-.987 1.18-1.58c1.78-1.776 4.34-2.96 6.9-2.96s5.13.987 6.9 2.96c.4.395.8.987 1.2 1.58s.6 1.184.98 1.776l.6 1.776c.2.592.2 1.38.2 1.973s0 1.184-.2 1.973l-.6 1.776c-.2.592-.6 1.184-.98 1.776-.4.592-.8.987-1.2 1.58-.4.394-.98.8-1.58 1.184s-1.18.592-1.77.986l-1.78.592c-.4.198-1.18.198-1.77.198zm-340.4 330.5c-3.94-3.75-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96zm47.75-47.753c-3.94-3.947-3.94-10.064 0-14 3.95-3.946 10.07-3.946 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm47.56-47.555c-3.95-3.947-3.95-10.064 0-14 3.75-3.75 10.06-3.75 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.54 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.56-47.555c-3.95-3.947-3.95-10.064 0-14 3.74-3.75 10.06-3.75 14 0 3.94 3.946 3.94 10.063 0 14-1.98 1.973-4.54 2.96-6.9 2.96-2.57-.198-5.13-.987-7.1-2.96zm47.75-47.752c-3.95-3.947-3.95-10.064 0-14 3.94-3.946 10.06-3.946 14 0s3.94 10.064 0 14c-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.33-.986-7.1-2.96zm47.55-47.556c-3.94-3.946-3.94-10.063 0-14 3.95-3.946 10.07-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.974-4.54 2.96-6.9 2.96a9.99 9.99 0 0 1-7.1-2.96zm47.56-47.555c-3.95-3.946-3.95-10.063 0-14 3.75-3.946 10.06-3.946 14 0s3.94 10.064 0 14c-1.98 1.973-4.34 2.96-6.9 2.96-2.56-.197-5.13-.987-7.1-2.96zM4743.3 443.2c-2.56 0-5.13-.986-6.9-2.96-.4-.394-.8-.986-1.2-1.578s-.6-1.184-.98-1.776l-.6-1.776c-.2-.592-.2-1.38-.2-1.973 0-2.566.98-5.13 2.96-6.907 1.77-1.776 4.34-2.96 6.9-2.96 2.57 0 5.13.987 6.9 2.96 1.78 1.776 2.96 4.34 2.96 6.907 0 .592 0 1.38-.2 1.973l-.6 1.776c-.2.592-.6 1.184-1 1.776s-.8.986-1.18 1.578c-1.78 1.974-4.34 2.96-6.9 2.96zm-340.4 330.33c-3.95-3.947-3.95-10.064 0-14s10.06-3.947 14 0 3.95 10.063 0 14c-1.97 1.973-4.34 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.959zm47.75-47.556c-3.94-3.946-3.94-10.063 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.974-4.34 2.96-6.9 2.96-2.77 0-5.33-.986-7.1-2.96zm47.56-47.555a10.13 10.13 0 0 1 0-14.01c3.94-3.946 10.06-3.946 14 0s3.94 10.064 0 14c-1.98 1.974-4.34 2.96-6.9 2.96-2.56-.197-5.13-.986-7.1-2.96zm47.55-47.555a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.07-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.34 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96zm47.75-47.752c-3.94-3.75-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14.02 0 3.94 3.946 3.94 10.063 0 14-1.98 1.973-4.35 2.96-6.9 2.96-2.76 0-5.33-.987-7.1-2.96zm47.56-47.555c-3.95-3.75-3.95-10.064 0-14s10.06-3.947 14 0c3.95 3.75 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm47.56-47.555a10.13 10.13 0 0 1 0-14.01c3.94-3.947 10.06-3.947 14 0 3.94 3.75 3.94 10.063 0 14-1.98 1.973-4.54 2.96-6.9 2.96-2.57-.198-5.13-1.184-7.1-2.96zM4684.5 384.4c-.6 0-1.38 0-1.97-.198l-1.78-.6c-.6-.198-1.18-.592-1.77-.987-.6-.395-1-.8-1.58-1.184-.4-.395-.8-.987-1.2-1.58s-.6-1.184-.98-1.776l-.6-1.776c-.2-.592-.2-1.183-.2-1.973 0-.592 0-1.38.2-1.973l.6-1.776c.2-.592.6-1.184.98-1.776.4-.592.8-.986 1.2-1.578s.98-.8 1.58-1.184c.6-.395 1.18-.592 1.77-.987l1.78-.592c1.18-.197 2.56-.197 3.94 0l1.78.592c.6.197 1.18.592 1.78.987s.98.8 1.57 1.184c.6.394.8.986 1.2 1.578s.6 1.184 1 1.776l.6 1.776c.2.592.2 1.38.2 1.973s.01 1.38-.2 1.973l-.6 1.776c-.2.592-.6 1.184-1 1.776s-.8.987-1.2 1.58c-.4.395-.98.8-1.57 1.184-.6.395-1.2.592-1.78.987l-1.78.6c-.78.198-1.38.198-1.97.198zm-340.4 330.33c-3.95-3.946-3.95-10.063 0-14 3.75-3.946 10.06-3.946 14 0s3.94 10.064 0 14c-1.98 1.974-4.34 2.96-6.9 2.96s-5.13-.986-7.1-2.96zm47.75-47.555a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.06-3.946 14 0s3.95 10.064 0 14c-1.97 1.973-4.34 2.96-6.9 2.96-2.76 0-5.32-.987-7.1-2.96zm47.55-47.555a10.15 10.15 0 0 1 0-14.01c3.95-3.946 10.07-3.946 14.02 0 3.94 3.75 3.94 10.064 0 14-1.98 1.973-4.35 2.96-6.9 2.96-2.76-.197-5.13-.987-7.1-2.96zm47.56-47.752c-3.95-3.947-3.95-10.064 0-14 3.75-3.75 10.06-3.75 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.56-47.555c-3.95-3.947-3.95-10.064 0-14 3.74-3.75 10.06-3.75 14 0 3.94 3.946 3.94 10.063 0 14-1.98 1.973-4.35 2.96-6.9 2.96a9.99 9.99 0 0 1-7.1-2.96zm47.75-47.555c-3.95-3.947-3.95-10.064 0-14 3.94-3.947 10.06-3.947 14 0s3.94 10.063 0 14c-1.98 1.973-4.34 2.96-6.9 2.96-2.76-.197-5.13-.986-7.1-2.96zm47.55-47.556a10.13 10.13 0 0 1 0-14.009c3.95-3.947 10.07-3.947 14 0a10.13 10.13 0 0 1 0 14.009c-1.97 1.974-4.34 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96z"/><path d="M4625.7 325.6c-2.57 0-5.13-.987-6.9-2.96-.4-.395-.8-.987-1.18-1.58-.4-.592-.6-1.183-1-1.775l-.6-1.776c-.2-.592-.2-1.382-.2-1.974s0-1.183.2-1.973l.6-1.776c.2-.592.6-1.184 1-1.776l1.18-1.578c.4-.395 1-.8 1.58-1.184s1.18-.592 1.78-.8l1.77-.592c1.2-.198 2.57-.198 3.75 0l1.78.592c.6.197 1.18.6 1.77.8.6.394 1 .8 1.58 1.184.4.395.8.986 1.2 1.578s.6 1.184.98 1.776l.6 1.776c.2.592.2 1.184.2 1.973 0 2.566-.98 5.13-2.96 6.907-.4.394-.98.8-1.58 1.184s-1.18.592-1.77.986l-1.78.592c-.8.395-1.38.395-1.97.395zm-340.4 330.33c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.53 2.96-6.9 2.96a9.99 9.99 0 0 1-7.1-2.96zm47.56-47.556a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.974-4.54 2.96-6.9 2.96-2.56 0-5.13-.986-7.1-2.96zm47.75-47.555a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.07-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96-2.77-.197-5.33-1.184-7.1-2.96zm47.56-47.752c-3.95-3.947-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0s3.94 10.063 0 14c-1.98 1.973-4.54 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.55-47.555c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm47.75-47.555a10.15 10.15 0 0 1 0-14.01c3.95-3.947 10.07-3.947 14.02 0a10.15 10.15 0 0 1 0 14.01c-1.98 1.973-4.54 2.96-6.9 2.96-2.76-.198-5.33-.987-7.1-2.96zm47.56-47.753a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.06-3.946 14 0 3.75 3.75 3.75 10.064 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zM4244.7 706.44c-.6 0-1.2 0-1.98-.198l-1.77-.592c-.6-.197-1.2-.592-1.78-.986s-1-.8-1.58-1.184c-.4-.395-.8-.987-1.18-1.58-.4-.592-.6-1.184-1-1.776l-.6-1.776c-.2-.592-.2-1.38-.2-1.973s0-1.184.2-1.973l.6-1.776c.2-.592.6-1.184 1-1.776s.8-.986 1.18-1.578c.4-.395 1-.8 1.58-1.185s1.2-.592 1.78-.986l1.77-.592c1.2-.197 2.57-.197 3.75 0l1.78.592c.6.197 1.18.592 1.77.986.6.395 1 .8 1.58 1.185.4.394.8.986 1.2 1.578s.6 1.184.98 1.776l.6 1.776c.2.592.2 1.38.2 1.973s0 1.38-.2 1.973l-.6 1.776c-.2.592-.6 1.184-.98 1.776-.4.592-.8.987-1.2 1.58-.4.394-.98.8-1.58 1.184s-1.18.592-1.77.986l-1.78.592c-.4.198-1.18.198-1.77.198zm322-439.64c-.6 0-1.2.001-1.97-.197l-1.78-.592c-.6-.197-1.18-.592-1.78-.986s-.98-.8-1.57-1.184c-.4-.395-.8-.987-1.2-1.58s-.6-1.184-1-1.776l-.6-1.776c-.2-.592-.2-1.184-.2-1.973s0-1.38.2-1.973l.6-1.776c.2-.592.6-1.184 1-1.776s.8-.987 1.2-1.58c.4-.394.98-.986 1.57-1.184.6-.394 1.2-.6 1.78-.986l1.78-.592a11.85 11.85 0 0 1 3.74 0l1.78.592c.6.197 1.18.592 1.78.986s.98.8 1.58 1.184c.4.395.78.987 1.18 1.58s.6 1.184 1 1.776l.6 1.776c.2.592.2 1.38.2 1.973s.01 1.184-.2 1.973l-.6 1.776c-.2.592-.6 1.184-1 1.776l-1.18 1.58c-1.58 1.776-4.15 2.96-6.9 2.96zm-340.2 330.32c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm47.56-47.555c-3.95-3.947-3.95-10.064 0-14 3.94-3.947 10.06-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.973-4.54 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zM4321.8 502c-3.95-3.947-3.95-10.064 0-14 3.75-3.75 10.06-3.75 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.76-.198-5.32-1.184-7.1-2.96zm47.55-47.753c-3.94-3.946-3.94-10.063 0-14 3.75-3.75 10.07-3.75 14.02 0 3.94 3.947 3.94 10.064 0 14-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm47.56-47.555c-3.95-3.946-3.95-10.063 0-14s10.06-3.946 14 0 3.95 10.064 0 14c-1.97 1.973-4.54 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.75-47.555a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.07-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96-2.77-.197-5.33-1.184-7.1-2.96zm47.56-47.752c-3.95-3.947-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0s3.94 10.063 0 14c-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zM4185.9 647.64c-.6 0-1.18 0-1.97-.198l-1.78-.6c-.6-.198-1.18-.592-1.77-.987s-1-.8-1.58-1.184c-1.78-1.776-2.96-4.34-2.96-6.907 0-.592 0-1.38.2-1.973l.6-1.775c.2-.592.6-1.184 1-1.776s.8-.987 1.18-1.58c.4-.395 1-.8 1.58-1.184s1.18-.592 1.77-.987l1.78-.592a11.97 11.97 0 0 1 3.75 0l1.78.592c.6.198 1.18.592 1.77.987s1 .8 1.58 1.184c.4.395.8.987 1.18 1.58.4.592.6 1.184 1 1.776l.6 1.775c.2.592.2 1.38.2 1.973 0 2.566-1 5.13-2.96 6.907-1.78 1.973-4.34 2.96-6.9 2.96zm322-439.64c-.6 0-1.38 0-1.98-.197l-1.77-.592c-.6-.197-1.2-.592-1.78-.987s-1-.8-1.58-1.184c-.4-.394-.8-.986-1.18-1.578-.4-.592-.6-1.184-1-1.776l-.6-1.776c-.2-.592-.2-1.38-.2-1.973 0-2.565 1-5.13 2.96-6.907.4-.394 1-.8 1.58-1.184s1.2-.592 1.78-.986l1.77-.592c1.38-.198 2.57-.198 3.95 0l1.78.592c.6.197 1.18.592 1.77.986s1 .8 1.58 1.184c1.78 1.776 2.96 4.342 2.96 6.907 0 .592 0 1.38-.2 1.973l-.6 1.776c-.2.592-.6 1.184-1 1.776s-.8.986-1.18 1.578c-1.97 1.776-4.34 2.96-7.1 2.96zm-340.2 330.32c-3.95-3.947-3.95-10.064 0-14s10.06-3.946 14 0 3.95 10.064 0 14c-1.97 1.973-4.34 2.96-6.9 2.96-2.76 0-5.13-.986-7.1-2.96zm47.55-47.556c-3.94-3.946-3.94-10.063 0-14 3.95-3.946 10.07-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.974-4.53 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96zm47.76-47.752c-3.95-3.947-3.95-10.064 0-14 3.75-3.946 10.06-3.946 14 0s3.94 10.063 0 14c-1.98 1.973-4.34 2.96-6.9 2.96-2.76 0-5.33-.987-7.1-2.96zm47.55-47.555a10.13 10.13 0 0 1 0-14.01c3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.77 0-5.13-.987-7.1-2.96zm47.56-47.555c-3.95-3.75-3.95-10.064 0-14 3.94-3.947 10.06-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.973-4.54 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.55-47.753c-3.94-3.75-3.94-10.063 0-14 3.95-3.946 10.07-3.946 14 0 3.95 3.75 3.95 10.064 0 14-1.97 1.974-4.34 2.96-6.9 2.96a9.99 9.99 0 0 1-7.1-2.96zm47.75-47.555a10.15 10.15 0 0 1 0-14.01c3.95-3.946 10.07-3.946 14.02 0 3.94 3.75 3.94 10.064 0 14-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.33-.987-7.1-2.96zM4127.1 588.84c-.6 0-1.18 0-1.97-.197l-1.78-.592c-.6-.197-1.18-.592-1.77-.987-.6-.394-1-.8-1.58-1.183-1.78-1.776-2.96-4.342-2.96-6.907 0-.592 0-1.38.2-1.973l.6-1.776c.2-.592.6-1.184.98-1.776.4-.592.8-.986 1.2-1.578.4-.395.98-.8 1.58-1.185.6-.394 1.18-.592 1.77-.986l1.78-.592c1.38-.197 2.56-.197 3.94 0l1.78.592c.6.197 1.18.592 1.78.986s.98.8 1.57 1.185c.4.394.8.986 1.2 1.578s.6 1.184 1 1.776l.6 1.776c.2.592.2 1.184.2 1.973 0 2.565-.98 5.13-2.96 6.907-.4.394-.98.8-1.57 1.183-.6.395-1.2.592-1.78.987l-1.78.592c-.78.197-1.38.197-1.97.197zm322-439.84c-.6 0-1.38 0-1.97-.197l-1.78-.592c-.6-.197-1.18-.592-1.77-.987s-1-.8-1.58-1.184c-1.78-1.776-2.96-4.34-2.96-6.906 0-.592 0-1.38.2-1.973l.6-1.776c.2-.592.6-1.184 1-1.776s.8-.987 1.18-1.58 1-.8 1.58-1.183 1.18-.592 1.77-.987l1.78-.592c1.38-.198 2.57-.198 3.95 0l1.77.592c.6.197 1.2.592 1.78.987s1 .8 1.58 1.183.8.987 1.18 1.58c.4.592.6 1.184 1 1.776l.6 1.776c.2.592.2 1.38.2 1.973s0 1.38-.2 1.973l-.6 1.776c-.2.592-.6 1.184-1 1.776s-.8.987-1.18 1.58c-.4.394-1 .8-1.58 1.184s-1.2.592-1.78.986l-1.77.592h-1.98zm-340.2 330.52c-3.95-3.947-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0s3.94 10.063 0 14c-1.98 1.973-4.34 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm47.55-47.555c-3.75-3.75-3.75-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57-.198-5.13-1.184-7.1-2.96zm47.56-47.753a10.13 10.13 0 0 1 0-14.01c3.94-3.946 10.06-3.946 14 0 3.75 3.75 3.75 10.064 0 14-1.98 1.973-4.34 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.75-47.555c-3.95-3.946-3.95-10.063 0-14 3.75-3.75 10.06-3.75 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.76 0-5.32-.987-7.1-2.96zm47.55-47.555c-3.94-3.946-3.94-10.063 0-14a10.13 10.13 0 0 1 14.01 0c3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57-.197-5.13-.987-7.1-2.96zm47.56-47.752c-3.95-3.947-3.95-10.064 0-14s10.06-3.947 14 0 3.95 10.063 0 14c-1.97 1.973-4.34 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.75-47.555a10.13 10.13 0 0 1 0-14.01c3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.77 0-5.33-.986-7.1-2.96zM4068.3 530.04c-2.57 0-5.13-.987-6.9-2.96-.4-.395-.8-.986-1.18-1.578-.4-.592-.6-1.184-1-1.776l-.6-1.776c-.2-.592-.2-1.184-.2-1.973 0-.592 0-1.382.2-1.974l.6-1.776c.2-.592.6-1.184 1-1.776s.8-.986 1.18-1.578c2.37-2.368 5.72-3.355 8.88-2.763l1.78.592c.6.198 1.18.592 1.77.987.6.395 1 .8 1.58 1.184.4.395.8.986 1.2 1.578s.6 1.184.98 1.776l.6 1.776c.2.592.2 1.382.2 1.974s0 1.38-.2 1.973l-.6 1.776c-.2.592-.6 1.184-.98 1.776-.4.592-.8.986-1.2 1.578-1.97 1.776-4.54 2.96-7.1 2.96zm322-439.84c-2.56 0-5.13-.987-6.9-2.96-.4-.395-.78-.986-1.18-1.578s-.6-1.184-1-1.776l-.6-1.776c-.2-.592-.2-1.38-.2-1.973s0-1.184.2-1.973l.6-1.776c.2-.592.6-1.184 1-1.776l1.18-1.58c.4-.395 1-.8 1.58-1.184.6-.395 1.2-.592 1.78-.987l1.78-.592a11.89 11.89 0 0 1 3.74 0l1.78.592c.6.197 1.18.592 1.78.987s.98.8 1.58 1.184c.4.395.78.987 1.18 1.58s.6 1.184 1 1.776l.6 1.776c.2.592.2 1.38.2 1.973s0 1.38-.2 1.973l-.6 1.776c-.2.592-.6 1.184-1 1.776l-1.18 1.578c-.4.395-1 .8-1.58 1.184-.6.395-1.2.592-1.78.987l-1.78.592c-.6.197-1.38.197-1.97.197zm-340.2 330.52c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.53 2.96-6.9 2.96-2.76-.197-5.33-.986-7.1-2.96zm47.56-47.753a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.55-47.555a10.15 10.15 0 0 1 0-14.01c3.95-3.946 10.07-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.53 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm47.76-47.555c-3.95-3.946-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0s3.94 10.064 0 14c-1.98 1.973-4.54 2.96-6.9 2.96-2.76-.197-5.33-.987-7.1-2.96zm47.55-47.555c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.77-.198-5.13-1.184-7.1-2.96zm47.56-47.752a10.13 10.13 0 0 1 0-14.01c3.94-3.947 10.06-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.973-4.34 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.959zm47.55-47.555a10.13 10.13 0 0 1 0-14.01c3.95-3.947 10.07-3.947 14 0 3.75 3.75 3.75 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96a9.99 9.99 0 0 1-7.1-2.96zM4009.5 471.23c-.6 0-1.4 0-1.98-.197l-1.77-.592c-.6-.197-1.2-.592-1.78-.987s-1-.8-1.58-1.184c-.4-.394-.8-.986-1.18-1.578-.4-.592-.6-1.184-1-1.776l-.6-1.776c-.2-.592-.2-1.38-.2-1.973s0-1.184.2-1.974l.6-1.775c.2-.592.6-1.184 1-1.776s.8-.987 1.18-1.58c.4-.395 1-.8 1.58-1.184s1.18-.592 1.78-.987l1.77-.592a10 10 0 0 1 8.88 2.763c1.78 1.776 2.96 4.34 2.96 6.906 0 .592 0 1.382-.2 1.973l-.6 1.776c-.2.592-.6 1.184-.98 1.776-.4.592-.8.987-1.2 1.58-1.77 1.973-4.34 3.157-6.9 3.157zm322-439.833c-.6 0-1.2 0-1.97-.197l-1.78-.592c-.6-.197-1.18-.592-1.78-.987s-.98-.8-1.57-1.184c-.4-.395-.8-.987-1.2-1.58s-.6-1.184-1-1.776l-.6-1.776c-.2-.592-.2-1.184-.2-1.973 0-.592 0-1.38.2-1.973l.6-1.776c.2-.592.6-1.184 1-1.776s.8-.987 1.2-1.58c.4-.395.98-.8 1.57-1.184.6-.395 1.2-.592 1.78-.987l1.78-.592a11.89 11.89 0 0 1 3.74 0l1.78.592c.6.197 1.18.592 1.78.987s.98.8 1.57 1.184c1.78 1.776 2.96 4.34 2.96 6.906s-.98 5.13-2.96 6.906c-.4.395-.98.8-1.57 1.184-.6.395-1.2.592-1.78.987l-1.78.592c-.4.592-1.18.592-1.77.592z"/><path d="M3991.3 361.92a10.13 10.13 0 0 1 0-14.01c3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.77-.197-5.33-1.184-7.1-2.96zm47.56-47.753a10.13 10.13 0 0 1 0-14.01c3.94-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm47.55-47.555c-3.94-3.946-3.94-10.063 0-14 3.75-3.75 10.07-3.75 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm47.56-47.555c-3.95-3.947-3.95-10.064 0-14 3.75-3.75 10.06-3.75 14 0 3.94 3.946 3.94 10.063 0 14-1.98 1.973-4.54 2.96-6.9 2.96-2.56-.198-5.13-.987-7.1-2.96zm47.75-47.752c-3.95-3.947-3.95-10.064 0-14s10.06-3.946 14 0 3.95 10.064 0 14c-1.97 1.973-4.54 2.96-6.9 2.96-2.76 0-5.32-.986-7.1-2.96zm47.55-47.556a10.15 10.15 0 0 1 0-14.01c3.95-3.946 10.07-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.974-4.53 2.96-6.9 2.96a9.99 9.99 0 0 1-7.1-2.96zm47.56-47.555c-3.95-3.947-3.95-10.064 0-14 3.75-3.946 10.06-3.946 14 0s3.95 10.064 0 14c-1.97 1.973-4.54 2.96-6.9 2.96-2.56-.197-5.13-.987-7.1-2.96zM3950.7 412.43c-.6 0-1.18.001-1.97-.197l-1.78-.592c-.6-.197-1.18-.592-1.77-.986s-1-.8-1.58-1.184c-1.78-1.776-2.96-4.342-2.96-6.907 0-.592 0-1.38.2-1.973l.6-1.776c.2-.592.6-1.184 1-1.776s.8-.986 1.18-1.578c.4-.395 1-.8 1.58-1.184s1.18-.592 1.77-.987l1.78-.592a11.97 11.97 0 0 1 3.75 0l1.78.592c.6.197 1.18.592 1.77.987s1 .8 1.58 1.184c.4.394.8.986 1.18 1.578.4.592.6 1.184 1 1.776l.6 1.776c.2.592.2 1.38.2 1.973 0 2.565-1 5.13-2.96 6.907-.4.394-1 .8-1.58 1.184s-1.18.6-1.77.986l-1.78.592c-.6 0-1.18.197-1.78.197zm-18.4-109.5c-3.94-3.946-3.94-10.063 0-14 3.95-3.946 10.07-3.946 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm47.75-47.555c-3.94-3.946-3.94-10.063 0-14 3.95-3.946 10.07-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.53 2.96-6.9 2.96-2.76 0-5.33-.987-7.1-2.96zm47.56-47.555c-3.95-3.946-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0s3.95 10.064 0 14c-1.97 1.973-4.54 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.55-47.555c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.53 2.96-6.9 2.96-2.57-.198-5.13-1.184-7.1-2.96zm47.76-47.753c-3.95-3.75-3.95-10.063 0-14 3.94-3.947 10.06-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.974-4.54 2.96-6.9 2.96-2.76 0-5.33-.986-7.1-2.96zm47.55-47.555c-3.94-3.75-3.94-10.063 0-14 3.95-3.947 10.07-3.947 14 0 3.75 3.75 3.75 10.064 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.77 0-5.13-.987-7.1-2.96zm47.56-47.555c-3.95-3.947-3.95-10.064 0-14 3.75-3.946 10.06-3.946 14 0s3.94 10.064 0 14c-1.98 1.973-4.54 2.96-6.9 2.96-2.56-.197-5.13-.987-7.1-2.96zM3891.7 353.43c-.6 0-1.18 0-1.97-.198l-1.78-.592c-.6-.197-1.18-.592-1.77-.986s-1-.8-1.58-1.184c-1.78-1.776-2.96-4.34-2.96-6.906s1-5.13 2.96-6.907a9.99 9.99 0 0 1 8.88-2.762l1.78.592c.6.197 1.18.592 1.77.986s1 .8 1.58 1.184c1.78 1.776 2.96 4.34 2.96 6.907s-1 5.13-2.96 6.906c-.4.395-1 .8-1.58 1.184s-1.18.592-1.77.986l-1.78.592c-.4.198-1 .198-1.78.198zm-18.2-109.33c-3.95-3.946-3.95-10.063 0-14s10.06-3.946 14 0 3.95 10.064 0 14c-1.97 1.973-4.34 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.75-47.555c-3.75-3.75-3.75-10.063 0-14 3.95-3.946 10.07-3.946 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.77 0-5.33-.987-7.1-2.96zM3968.8 149a10.13 10.13 0 0 1 0-14.01c3.94-3.946 10.06-3.946 14 0 3.94 3.75 3.94 10.064 0 14-1.98 1.973-4.34 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm47.55-47.752c-3.94-3.947-3.94-10.064 0-14a10.13 10.13 0 0 1 14.01 0c3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm47.56-47.556c-3.95-3.947-3.95-10.064 0-14a10.13 10.13 0 0 1 14.01 0c3.94 3.946 3.94 10.063 0 14-1.98 1.973-4.34 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.75-47.555c-3.95-3.946-3.95-10.063 0-14s10.06-3.947 14 0 3.95 10.063 0 14c-1.97 1.973-4.34 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm47.55-47.555a10.15 10.15 0 0 1 0-14.01c3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.53 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96zM3832.9 294.63c-.6 0-1.38 0-1.97-.197l-1.78-.592c-.6-.197-1.18-.592-1.77-.987-.6-.394-1-.8-1.58-1.184-.4-.394-.8-.986-1.2-1.578s-.6-1.184-.98-1.776l-.6-1.776c-.2-.592-.2-1.184-.2-1.974 0-.6 0-1.38.2-1.973l.6-1.775c.2-.592.6-1.184.98-1.776.4-.592.8-.987 1.2-1.58 1.77-1.776 4.34-2.96 6.9-2.96 2.57 0 5.13.987 6.9 2.96.4.395.8.987 1.18 1.58.4.592.6 1.184 1 1.776l.6 1.775c.2.592.2 1.382.2 1.973s0 1.382-.2 1.974l-.6 1.776c-.2.592-.6 1.184-1 1.776s-.8.986-1.18 1.578c-1.58 1.974-3.95 2.96-6.7 2.96zm-18.2-109.33c-3.95-3.946-3.95-10.063 0-14a10.13 10.13 0 0 1 14.01 0c3.94 3.947 3.94 10.064 0 14-1.98 1.974-4.34 2.96-6.9 2.96s-5.13-.986-7.1-2.96zm47.55-47.555a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.07-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.974-4.34 2.96-6.9 2.96a9.99 9.99 0 0 1-7.1-2.96zM3910 90.2a10.15 10.15 0 0 1 0-14.01c3.95-3.947 10.07-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.34 2.96-6.9 2.96-2.76-.197-5.13-1.184-7.1-2.96zm47.56-47.752c-3.95-3.947-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0s3.95 10.063 0 14c-1.97 1.973-4.34 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.55-47.555c-3.94-3.947-3.94-10.063 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm47.76-47.555c-3.75-3.75-3.75-10.064 0-14 3.94-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.973-4.34 2.96-6.9 2.96-2.76-.197-5.33-.987-7.1-2.96zm47.55-47.753c-3.75-3.75-3.75-10.063 0-14 3.95-3.946 10.07-3.946 14 0 3.75 3.75 3.75 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zM3774.1 235.82c-.6 0-1.38 0-1.98-.197l-1.77-.592c-.6-.198-1.2-.592-1.78-.987s-.98-.8-1.58-1.184c-.4-.395-.78-.987-1.18-1.58s-.6-1.183-1-1.775l-.6-1.776c-.2-.592-.2-1.382-.2-1.974 0-2.565 1-5.13 2.96-6.906.4-.394 1-.8 1.58-1.184s1.2-.592 1.78-.986l1.77-.592c1.2-.198 2.57-.198 3.75 0l1.78.592c.6.197 1.18.592 1.78.986s.98.8 1.57 1.184c1.78 1.776 2.96 4.34 2.96 6.906s-.98 5.13-2.96 6.907c-.4.394-.98.8-1.57 1.184-.6.394-1.2.592-1.78.986l-1.78.592c-.4.395-1.18.395-1.77.395z"/><path d="M3755.9 126.5a10.15 10.15 0 0 1 0-14.01c3.95-3.946 10.07-3.946 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.53 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm47.56-47.555a10.13 10.13 0 0 1 0-14.01c3.95-3.947 10.06-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zM3851.2 31.4c-3.94-3.947-3.94-10.063 0-14 3.75-3.947 10.07-3.947 14 0 3.95 3.947 3.95 10.063 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.77-.197-5.33-1.184-7.1-2.96zm47.56-47.752c-3.95-3.947-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0 3.94 3.75 3.94 10.064 0 14-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm47.55-47.555c-3.94-3.946-3.94-10.063 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm47.75-47.555a10.15 10.15 0 0 1 0-14.01c3.95-3.946 10.07-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.974-4.53 2.96-6.9 2.96-2.76-.197-5.33-1.184-7.1-2.96zm47.56-47.752c-3.95-3.946-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0s3.95 10.064 0 14c-1.97 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zM3715.3 177.02c-2.57 0-5.13-.987-6.9-2.96-.4-.395-.8-.986-1.18-1.578-.4-.592-.6-1.184-1-1.776l-.6-1.776c-.2-.592-.2-1.184-.2-1.974 0-.6 0-1.38.2-1.973l.6-1.776c.2-.592.6-1.183 1-1.775s.78-.987 1.18-1.58c1.78-1.776 4.34-2.96 6.9-2.96s5.13.987 6.9 2.96c.4.395.8.987 1.2 1.58s.6 1.183.98 1.775l.6 1.776c.2.592.2 1.382.2 1.973s0 1.382-.2 1.974l-.6 1.776c-.2.592-.6 1.184-.98 1.776-.4.592-.8.986-1.2 1.578-1.77 1.973-4.34 2.96-6.9 2.96zm-18.2-109.315c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96-2.77 0-5.13-.987-7.1-2.96zm47.56-47.555c-3.95-3.946-3.95-10.064 0-14 3.94-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.973-4.54 2.96-6.9 2.96-2.56-.197-5.13-1.184-7.1-2.96zm47.75-47.752c-3.95-3.947-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0s3.95 10.063 0 14c-1.97 1.973-4.54 2.96-6.9 2.96-2.76 0-5.32-.987-7.1-2.96zm47.55-47.555c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.53 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm47.56-47.556a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.974-4.54 2.96-6.9 2.96-2.56-.197-5.13-.986-7.1-2.96zm47.55-47.555c-3.94-3.946-3.94-10.063 0-14 3.95-3.946 10.07-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.53 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96zm47.76-47.752c-3.95-3.947-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0s3.94 10.063 0 14c-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.33-.987-7.1-2.96zM3656.4 118.22c-.6 0-1.18 0-1.97-.197l-1.78-.592c-.6-.198-1.18-.592-1.77-.987s-1-.8-1.58-1.184c-.4-.395-.8-.987-1.18-1.58-.4-.592-.6-1.184-1-1.776l-.6-1.775c-.2-.592-.2-1.382-.2-1.974 0-2.565 1-5.13 2.96-6.906 1.78-1.776 4.34-2.96 6.9-2.96s5.13.987 6.9 2.96c1.78 1.776 2.96 4.34 2.96 6.906 0 .592 0 1.382-.2 1.974l-.6 1.775c-.2.592-.6 1.184-.98 1.776-.4.592-.8.987-1.2 1.58-.4.395-.98.8-1.58 1.184s-1.18.592-1.77.987l-1.78.592c-.2.197-.98.197-1.58.197zM3638.3 8.902c-3.95-3.947-3.95-10.063 0-14s10.06-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm47.55-47.555c-3.74-3.75-3.74-10.063 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96zm47.56-47.752a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.06-3.946 14 0s3.95 10.064 0 14c-1.97 1.973-4.54 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm47.75-47.555c-3.94-3.946-3.94-10.063 0-14a10.13 10.13 0 0 1 14.01 0c3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.77 0-5.33-.987-7.1-2.96zm47.56-47.555c-3.95-3.946-3.95-10.063 0-14a10.13 10.13 0 0 1 14.01 0 10.13 10.13 0 0 1 0 14.01c-1.98 1.973-4.54 2.96-6.9 2.96-2.56-.197-5.13-.987-7.1-2.96zm47.55-47.752c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm47.75-47.555c-3.94-3.947-3.94-10.064 0-14 3.75-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.53 2.96-6.9 2.96-2.76 0-5.33-.986-7.1-2.96zM3597.6 59.417c-.6 0-1.38 0-1.97-.197l-1.78-.592c-.6-.197-1.18-.592-1.77-.987-.6-.395-1-.8-1.58-1.184-.4-.395-.8-.986-1.2-1.578s-.6-1.184-.98-1.776l-.6-1.776c-.2-.592-.2-1.184-.2-1.973 0-.592 0-1.38.2-1.973l.6-1.776c.2-.592.6-1.184.98-1.776.4-.592.8-.986 1.2-1.578.4-.395.98-.8 1.58-1.184s1.18-.592 1.77-.987l1.78-.592c3.15-.592 6.7.395 8.88 2.763.4.395.8.986 1.18 1.578.4.592.6 1.184 1 1.776l.6 1.776c.2.592.2 1.38.2 1.973s0 1.38-.2 1.973l-.6 1.776c-.2.592-.6 1.184-1 1.776s-.8.986-1.18 1.578c-1.78 1.776-4.34 2.96-6.9 2.96zM3538.8.615c-2.57 0-5.13-.987-6.9-2.96-1.77-1.776-2.96-4.34-2.96-6.906 0-.592 0-1.38.2-1.973l.6-1.776c.2-.592.6-1.184 1-1.776s.8-.987 1.18-1.58c1.78-1.776 4.34-2.96 6.9-2.96s5.13.987 6.9 2.96c.4.395.8.987 1.2 1.58s.6 1.184 1 1.776l.6 1.776c.2.592.2 1.38.2 1.973 0 2.565-.98 5.13-2.96 6.906-1.77 1.776-4.34 2.96-6.9 2.96zM4784 2069.6c-3.94-3.95-3.94-10.07 0-14 3.95-3.95 10.07-3.95 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.97-4.54 2.96-6.9 2.96-2.77 0-5.33-1-7.1-2.96zm-46.17-45.98c-3.95-3.95-3.95-10.06 0-14 3.75-3.95 10.06-3.95 14 0s3.95 10.06 0 14c-1.97 1.97-4.34 2.96-6.9 2.96-2.56-.2-5.13-1.18-7.1-2.96zm-45.98-46.17c-3.94-3.95-3.94-10.07 0-14 3.95-3.95 10.07-3.95 14 0 3.95 3.94 3.95 10.06 0 14-1.97 1.97-4.54 2.96-6.9 2.96-2.77 0-5.13-1-7.1-2.96zm-45.97-45.98c-3.95-3.95-3.95-10.06 0-14 3.94-3.95 10.06-3.95 14 0s3.94 10.06 0 14c-1.98 1.97-4.35 2.96-6.9 2.96-2.76-.2-5.33-1-7.1-2.96zm-46.18-45.98c-3.94-3.94-3.94-10.06 0-14 3.75-3.94 10.07-3.94 14 0 3.95 3.95 3.95 10.07 0 14-1.97 1.98-4.54 2.96-6.9 2.96-2.57-.2-5.13-1.18-7.1-2.96zm-45.97-46.17c-3.95-3.95-3.95-10.06 0-14 3.94-3.95 10.06-3.95 14 0s3.94 10.06 0 14c-1.98 1.97-4.54 2.96-6.9 2.96-2.76 0-5.13-1-7.1-2.96zm-45.98-45.98c-3.95-3.94-3.95-10.06 0-14 3.75-3.94 10.06-3.94 14 0 3.95 3.95 3.95 10.07 0 14-1.97 1.98-4.54 2.96-6.9 2.96-2.76-.2-5.33-.98-7.1-2.96zm-46.17-45.97c-3.95-3.95-3.95-10.07 0-14 3.74-3.95 10.06-3.95 14 0 3.94 3.94 3.94 10.06 0 14-1.98 1.97-4.54 2.96-6.9 2.96-2.57-.2-5.13-1.2-7.1-2.96zm-45.98-46.18c-3.95-3.94-3.95-10.06 0-14 3.75-3.94 10.06-3.94 14 0 3.95 3.95 3.95 10.07 0 14-1.97 1.98-4.34 2.96-6.9 2.96-2.76 0-5.13-.98-7.1-2.96zm-45.98-45.97c-3.94-3.95-3.94-10.07 0-14 3.75-3.95 10.07-3.95 14 0 3.95 3.94 3.95 10.06 0 14-1.97 1.97-4.54 2.96-6.9 2.96-2.77-.2-5.33-1-7.1-2.96zm-46.17-45.98a10.13 10.13 0 0 1 0-14.01c3.94-3.95 10.06-3.95 14 0s3.94 10.06 0 14c-1.97 1.97-4.34 2.96-6.9 2.96-2.56-.2-5.13-1.18-7.1-2.96zm-45.98-46.17c-3.94-3.95-3.94-10.07 0-14 3.75-3.95 10.07-3.95 14 0 3.95 3.94 3.95 10.06 0 14-1.97 1.97-4.54 2.96-6.9 2.96-2.77 0-5.13-1-7.1-2.96zm-46.17-45.98c-3.75-3.75-3.75-10.06 0-14 3.94-3.95 10.06-3.95 14 0s3.94 10.06 0 14c-1.98 1.97-4.34 2.96-6.9 2.96-2.56-.2-5.13-1-7.1-2.96zm-45.98-45.98a10.13 10.13 0 0 1 0-14.01c3.95-3.94 10.06-3.94 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.98-4.54 2.96-6.9 2.96-2.57-.2-5.13-1.18-7.1-2.96zm-45.97-46.17c-3.95-3.75-3.95-10.06 0-14 3.94-3.95 10.06-3.95 14 0 3.95 3.95 3.95 10.06 0 14-1.97 1.97-4.34 2.96-6.9 2.96-2.76 0-5.13-1-7.1-2.96zm-46.18-45.98a10.13 10.13 0 0 1 0-14.01c3.95-3.94 10.06-3.94 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.98-4.54 2.96-6.9 2.96-2.56-.2-5.13-.98-7.1-2.96zm-45.97-46.17c-3.95-3.75-3.95-10.06 0-14 3.94-3.95 10.06-3.95 14 0 3.75 3.75 3.75 10.06 0 14-1.97 1.97-4.53 2.96-6.9 2.96-2.57 0-5.13-1-7.1-2.96zm-45.98-45.98c-3.95-3.75-3.95-10.06 0-14 3.94-3.94 10.06-3.94 14 0 3.94 3.95 3.94 10.07 0 14-1.98 1.98-4.54 2.96-6.9 2.96-2.76 0-5.13-.98-7.1-2.96zm-46.18-45.97c-3.94-3.95-3.94-10.07 0-14 3.95-3.95 10.07-3.95 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.97-4.53 2.96-6.9 2.96-2.57-.2-5.13-1-7.1-2.96zm-45.97-46.18c-3.95-3.75-3.95-10.06 0-14 3.94-3.94 10.06-3.94 14 0 3.94 3.75 3.94 10.07 0 14-1.98 1.98-4.34 2.96-6.9 2.96a9.98 9.98 0 0 1-7.1-2.96zm-45.98-45.97c-3.94-3.95-3.94-10.07 0-14a10.13 10.13 0 0 1 14.01 0c3.95 3.94 3.95 10.06 0 14-1.97 1.97-4.54 2.96-6.9 2.96-2.76 0-5.32-1-7.1-2.96zm-46.17-45.98c-3.95-3.95-3.95-10.06 0-14 3.75-3.95 10.06-3.95 14 0 3.94 3.75 3.94 10.06 0 14-1.98 1.97-4.34 2.96-6.9 2.96-2.56-.2-5.13-1-7.1-2.96zm-45.98-46.18c-3.95-3.94-3.95-10.06 0-14a10.15 10.15 0 0 1 14.01 0c3.95 3.95 3.95 10.07 0 14-1.97 1.98-4.54 2.96-6.9 2.96a9.98 9.98 0 0 1-7.1-2.96zm-45.98-45.97c-3.94-3.95-3.94-10.07 0-14.012 3.75-3.75 10.07-3.75 14 0 3.95 3.942 3.95 10.062 0 14.012-1.97 1.97-4.34 2.96-6.9 2.96-2.76 0-5.33-1-7.1-2.96zm-46.17-45.978c-3.95-3.946-3.95-10.064 0-14 3.75-3.75 10.06-3.75 14 0 3.95 3.946 3.95 10.064 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.56-.197-5.13-1.184-7.1-2.96zm-45.98-46.174a10.15 10.15 0 0 1 0-14.01 10.13 10.13 0 0 1 14.01 0c3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm-45.97-45.976c-3.95-3.947-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0s3.94 10.063 0 14c-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.33-.986-7.1-2.96zm-46.18-45.977a10.13 10.13 0 0 1 0-14.01 10.13 10.13 0 0 1 14.01 0c3.95 3.947 3.95 10.064 0 14-1.97 1.974-4.34 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96zm-45.97-46.174a10.13 10.13 0 0 1 0-14.01c3.94-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.974-4.54 2.96-6.9 2.96-2.56 0-5.13-.986-7.1-2.96zm-45.98-45.976a10.13 10.13 0 0 1 0-14.01c3.95-3.947 10.06-3.947 14 0s3.95 10.063 0 14c-1.97 1.973-4.54 2.96-6.9 2.96-2.76 0-5.32-.987-7.1-2.96zm-46.17-45.977a10.13 10.13 0 0 1 0-14.01 10.13 10.13 0 0 1 14.01 0 10.13 10.13 0 0 1 0 14.01c-1.98 1.974-4.34 2.96-6.9 2.96-2.56-.197-5.13-1.184-7.1-2.96zm-45.98-46.173c-3.95-3.947-3.95-10.064 0-14s10.06-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.986-7.1-2.96zm-45.98-45.977a10.15 10.15 0 0 1 0-14.01c3.95-3.946 10.07-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.34 2.96-6.9 2.96-2.76-.197-5.33-.987-7.1-2.96zm-46.17-45.976c-3.95-3.947-3.95-10.064 0-14s10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.011c-1.97 1.973-4.54 2.96-6.9 2.96-2.56-.197-5.13-1.183-7.1-2.96zm-45.98-46.174c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.77 0-5.13-.987-7.1-2.96zm-45.97-45.977c-3.95-3.946-3.95-10.063 0-14 3.94-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.973-4.54 2.96-6.9 2.96-2.76-.197-5.33-.987-7.1-2.96zm-46.18-45.976c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57-.198-5.13-1.184-7.1-2.96zM3080.3 365.9c-3.95-3.947-3.95-10.064 0-14 3.94-3.946 10.06-3.946 14 0s3.94 10.063 0 14c-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm-45.98-45.977c-3.95-3.946-3.95-10.063 0-14s10.06-3.946 14 0 3.95 10.064 0 14c-1.97 1.974-4.34 2.96-6.9 2.96-2.76-.197-5.32-.986-7.1-2.96zm-46.17-45.976c-3.95-3.946-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0s3.94 10.064 0 14c-1.98 1.973-4.54 2.96-6.9 2.96-2.56-.197-5.13-1.184-7.1-2.96zm-45.98-46.174c-3.95-3.946-3.95-10.063 0-14s10.06-3.946 14 0 3.95 10.064 0 14c-1.97 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zM2896 181.798c-3.95-3.947-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0s3.94 10.063 0 14c-1.98 1.973-4.54 2.96-6.9 2.96-2.56-.197-5.13-.986-7.1-2.96zm-45.98-46.174c-3.95-3.947-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0s3.95 10.063 0 14c-1.97 1.973-4.54 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm-45.98-45.977c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.947 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.77 0-5.13-.987-7.1-2.96zm-46.17-45.977c-3.95-3.75-3.95-10.063 0-14 3.75-3.947 10.06-3.947 14 0s3.95 10.064 0 14c-1.97 1.973-4.54 2.96-6.9 2.96-2.56-.197-5.13-1.184-7.1-2.96zM2711.9-2.504a10.13 10.13 0 0 1 0-14.01c3.95-3.947 10.07-3.947 14 0 3.95 3.947 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm-45.97-45.976c-3.95-3.946-3.95-10.063 0-14 3.75-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm-46.18-45.977c-3.94-3.75-3.94-10.064 0-14 3.75-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96zm-45.97-46.174a10.13 10.13 0 0 1 0-14.01c3.94-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.973-4.34 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm-45.98-45.976c-3.95-3.75-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96-2.76 0-5.32-.987-7.1-2.96zm-46.17-45.977a10.13 10.13 0 0 1 0-14.01c3.94-3.946 10.06-3.946 14 0s3.94 10.064 0 14c-1.98 1.973-4.35 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96zm-45.98-46.174c-3.95-3.946-3.95-10.063 0-14s10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.974-4.54 2.96-6.9 2.96-2.56 0-5.13-.986-7.1-2.96zm-45.98-45.976c-3.94-3.75-3.94-10.064 0-14 3.95-3.946 10.07-3.946 14 0 3.95 3.75 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.77 0-5.33-.987-7.1-2.96zm-46.17-45.977a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.974-4.54 2.96-6.9 2.96-2.56-.197-5.13-1.184-7.1-2.96zm-45.98-46.174c-3.94-3.946-3.94-10.063 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.75 3.95 10.063 0 14-1.97 1.974-4.34 2.96-6.9 2.96a9.99 9.99 0 0 1-7.1-2.96zm-45.97-45.976c-3.95-3.946-3.95-10.063 0-14 3.94-3.946 10.06-3.946 14 0 3.94 3.75 3.94 10.064 0 14-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.33-.987-7.1-2.96zm-46.18-45.976c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.75 3.75 3.75 10.063 0 14-1.97 1.973-4.54 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96zm-45.97-46.174c-3.95-3.947-3.95-10.064 0-14 3.74-3.947 10.06-3.947 14 0 3.94 3.75 3.94 10.063 0 14-1.98 1.973-4.35 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm-45.98-45.977c-3.95-3.946-3.95-10.063 0-14a10.13 10.13 0 0 1 14.01 0c3.95 3.947 3.95 10.064 0 14-1.97 1.974-4.54 2.96-6.9 2.96-2.76 0-5.32-.986-7.1-2.96z"/><path d="M3386.9 489c-3.95-3.946-3.95-10.064 0-14 3.94-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96-2.76 0-5.33-.987-7.1-2.96zm-46.18-45.976c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57-.197-5.13-1.183-7.1-2.96zm-45.97-46.174c-3.95-3.947-3.95-10.064 0-14 3.94-3.947 10.06-3.947 14 0s3.94 10.063 0 14c-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm-45.98-45.977c-3.95-3.946-3.95-10.063 0-14 3.75-3.946 10.07-3.946 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.974-4.34 2.96-6.9 2.96-2.77 0-5.33-.986-7.1-2.96zm-46.17-45.976c-3.95-3.947-3.95-10.064 0-14 3.94-3.947 10.06-3.947 14 0s3.94 10.063 0 14c-1.98 1.973-4.54 2.96-6.9 2.96-2.56-.198-5.13-1.184-7.1-2.96zm-45.98-46.174c-3.95-3.947-3.95-10.064 0-14s10.06-3.946 14 0 3.95 10.063 0 14c-1.97 1.973-4.34 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm-45.98-45.976c-3.94-3.947-3.94-10.064 0-14 3.75-3.946 10.07-3.946 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.53 2.96-6.9 2.96-2.76-.197-5.33-.986-7.1-2.96zm-46.17-45.977a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.06-3.946 14 0s3.95 10.064 0 14c-1.97 1.973-4.54 2.96-6.9 2.96-2.56-.197-5.13-1.184-7.1-2.96zm-45.98-46.174c-3.94-3.946-3.94-10.063 0-14 3.75-3.946 10.07-3.946 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zM2972.52 74.6c-3.95-3.75-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0s3.94 10.064 0 14c-1.98 1.973-4.54 2.96-6.9 2.96-2.76-.197-5.33-.987-7.1-2.96zm-46.18-45.977a10.13 10.13 0 0 1 0-14.01c3.95-3.947 10.07-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.34 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96zm-45.97-46.174c-3.95-3.75-3.95-10.063 0-14 3.75-3.947 10.06-3.947 14 0s3.94 10.064 0 14c-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.13-.987-7.1-2.96zm-46.18-45.976c-3.75-3.75-3.75-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57-.197-5.13-.987-7.1-2.96zm-45.97-46.174c-3.95-3.75-3.95-10.063 0-14 3.94-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.973-4.54 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm-45.98-45.977c-3.75-3.75-3.75-10.063 0-14 3.95-3.947 10.06-3.947 14 0s3.95 10.063 0 14c-1.97 1.974-4.34 2.96-6.9 2.96-2.76 0-5.13-.986-7.1-2.96zm-46.17-45.976a10.13 10.13 0 0 1 0-14.01c3.94-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.973-4.54 2.96-6.9 2.96-2.56-.197-5.13-.987-7.1-2.96zm-45.98-46.174c-3.95-3.75-3.95-10.063 0-14s10.06-3.946 14 0c3.95 3.75 3.95 10.064 0 14-1.97 1.974-4.34 2.96-6.9 2.96s-5.13-.986-7.1-2.96zm-45.98-45.976a10.13 10.13 0 0 1 0-14.01c3.95-3.947 10.07-3.947 14 0 3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.53 2.96-6.9 2.96-2.77 0-5.13-.987-7.1-2.96zm-46.17-45.977c-3.95-3.946-3.95-10.063 0-14s10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.974-4.54 2.96-6.9 2.96-2.56-.197-5.13-.986-7.1-2.96zm-45.98-46.173c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0 3.95 3.75 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96a9.99 9.99 0 0 1-7.1-2.96zM2466-431.92c-3.95-3.947-3.95-10.064 0-14a10.13 10.13 0 0 1 14.01 0c3.94 3.946 3.94 10.063 0 14-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.33-.987-7.1-2.96zm-46.18-45.976c-3.94-3.947-3.94-10.064 0-14 3.75-3.946 10.07-3.946 14 0 3.95 3.75 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.57-.197-5.13-1.183-7.1-2.96zm-45.97-46.174c-3.95-3.947-3.95-10.064 0-14 3.94-3.947 10.06-3.947 14 0 3.94 3.75 3.94 10.063 0 14-1.98 1.973-4.54 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm-45.98-45.977c-3.95-3.946-3.95-10.063 0-14 3.75-3.75 10.06-3.75 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.76 0-5.32-.987-7.1-2.96zm-46.17-45.976c-3.95-3.947-3.95-10.064 0-14 3.75-3.75 10.06-3.75 14 0 3.94 3.946 3.94 10.063 0 14-1.98 1.973-4.54 2.96-6.9 2.96-2.57-.198-5.13-1.184-7.1-2.96zm-45.98-46.174a10.13 10.13 0 0 1 0-14.01 10.13 10.13 0 0 1 14.01 0c3.95 3.946 3.95 10.063 0 14-1.97 1.973-4.34 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zM4445.4 3871.9c-3.94-3.94-3.94-10.06 0-14 3.75-3.94 10.07-3.94 14 0 3.95 3.95 3.95 10.07 0 14-1.97 1.98-4.34 2.96-6.9 2.96-2.76 0-5.13-.98-7.1-2.96zm-46.17-45.97a10.13 10.13 0 0 1 0-14.01c3.95-3.95 10.06-3.95 14 0 3.95 3.94 3.95 10.06 0 14-1.97 1.97-4.54 2.96-6.9 2.96-2.56-.2-5.13-1.2-7.1-2.96zm-45.98-46.18c-3.94-3.94-3.94-10.06 0-14 3.75-3.94 10.07-3.94 14 0 3.95 3.95 3.95 10.07 0 14-1.97 1.98-4.34 2.96-6.9 2.96-2.57 0-5.13-.98-7.1-2.96zm-45.97-45.97c-3.95-3.95-3.95-10.07 0-14 3.75-3.95 10.06-3.95 14 0 3.94 3.94 3.94 10.06 0 14-1.98 1.97-4.54 2.96-6.9 2.96-2.76 0-5.33-1-7.1-2.96zm-46.18-45.98c-3.94-3.95-3.94-10.06 0-14 3.95-3.95 10.07-3.95 14 0 3.95 3.95 3.95 10.06 0 14-1.97 1.97-4.34 2.96-6.9 2.96-2.57-.2-5.13-1.18-7.1-2.96zm-45.97-46.17c-3.95-3.95-3.95-10.07 0-14 3.75-3.95 10.06-3.95 14 0 3.94 3.94 3.94 10.06 0 14-1.98 1.97-4.54 2.96-6.9 2.96-2.56 0-5.13-1-7.1-2.96zm-45.98-45.98c-3.95-3.95-3.95-10.06 0-14 3.75-3.95 10.06-3.95 14 0s3.95 10.06 0 14c-1.97 1.97-4.54 2.96-6.9 2.96-2.77 0-5.33-1-7.1-2.96zm-46.17-45.98c-3.95-3.94-3.95-10.06 0-14 3.75-3.94 10.06-3.94 14 0 3.94 3.95 3.94 10.07 0 14-1.98 1.98-4.34 2.96-6.9 2.96-2.56-.2-5.13-1.18-7.1-2.96zM4077 3503.5a10.13 10.13 0 0 1 0-14.01c3.95-3.95 10.06-3.95 14 0s3.95 10.06 0 14c-1.97 1.97-4.34 2.96-6.9 2.96s-5.13-1-7.1-2.96zm-45.98-45.98a10.15 10.15 0 0 1 0-14.01c3.95-3.94 10.07-3.94 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.98-4.53 2.96-6.9 2.96-2.76 0-5.33-.98-7.1-2.96zm-46.17-45.97c-3.95-3.75-3.95-10.07 0-14 3.75-3.95 10.06-3.95 14 0 3.95 3.94 3.95 10.06 0 14-1.97 1.97-4.54 2.96-6.9 2.96-2.56-.2-5.13-1.2-7.1-2.96zm-45.98-46.18c-3.75-3.75-3.75-10.06 0-14 3.95-3.94 10.07-3.94 14 0 3.95 3.95 3.95 10.07 0 14-1.97 1.98-4.34 2.96-6.9 2.96-2.57 0-5.13-.98-7.1-2.96zm-45.97-45.97a10.13 10.13 0 0 1 0-14.01c3.94-3.95 10.06-3.95 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.97-4.54 2.96-6.9 2.96-2.76 0-5.33-1-7.1-2.96zm-46.18-45.98c-3.94-3.75-3.94-10.06 0-14 3.95-3.95 10.07-3.95 14 0 3.95 3.95 3.95 10.06 0 14-1.97 1.97-4.34 2.96-6.9 2.96-2.57-.2-5.13-1.18-7.1-2.96zm-45.97-46.17c-3.95-3.95-3.95-10.07 0-14 3.94-3.95 10.06-3.95 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.97-4.54 2.96-6.9 2.96-2.76 0-5.13-1-7.1-2.96zm-45.98-45.98c-3.95-3.95-3.95-10.06 0-14s10.06-3.95 14 0c3.95 3.75 3.95 10.06 0 14-1.97 1.97-4.34 2.96-6.9 2.96-2.76 0-5.32-1-7.1-2.96zm-46.17-45.98c-3.95-3.94-3.95-10.06 0-14 3.94-3.94 10.06-3.94 14 0 3.94 3.75 3.94 10.07 0 14-1.98 1.98-4.54 2.96-6.9 2.96-2.56-.2-5.13-1.18-7.1-2.96zm-45.98-46.17c-3.95-3.95-3.95-10.06 0-14s10.06-3.95 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.97-4.54 2.96-6.9 2.96-2.76 0-5.13-1-7.1-2.96zm-45.98-45.98c-3.94-3.94-3.94-10.06 0-14 3.95-3.94 10.07-3.94 14 0 3.95 3.75 3.95 10.07 0 14-1.97 1.98-4.34 2.96-6.9 2.96-2.76-.2-5.33-.98-7.1-2.96zm-46.17-45.97c-3.95-3.95-3.95-10.07 0-14a10.13 10.13 0 0 1 14.01 0c3.95 3.94 3.95 10.06 0 14-1.97 1.97-4.54 2.96-6.9 2.96-2.56-.2-5.13-1.2-7.1-2.96zM3524.5 2951c-3.94-3.94-3.94-10.06 0-14 3.75-3.94 10.07-3.94 14 0 3.95 3.75 3.95 10.07 0 14-1.97 1.98-4.34 2.96-6.9 2.96-2.77 0-5.13-.98-7.1-2.96zm-45.97-45.97c-3.95-3.95-3.95-10.07 0-14a10.13 10.13 0 0 1 14.01 0c3.94 3.94 3.94 10.06 0 14-1.98 1.97-4.54 2.96-6.9 2.96-2.76-.2-5.33-1-7.1-2.96zm-46.18-46.18c-3.94-3.94-3.94-10.06 0-14a10.13 10.13 0 0 1 14.01 0c3.95 3.95 3.95 10.07 0 14-1.97 1.98-4.34 2.96-6.9 2.96-2.57 0-5.13-.98-7.1-2.96zm-45.97-45.97c-3.95-3.95-3.95-10.07 0-14 3.75-3.95 10.06-3.95 14 0 3.94 3.75 3.94 10.06 0 14-1.98 1.97-4.54 2.96-6.9 2.96-2.76 0-5.13-1-7.1-2.96zm-46.18-45.98a10.13 10.13 0 0 1 0-14.01 10.13 10.13 0 0 1 14.01 0c3.95 3.95 3.95 10.06 0 14-1.97 1.97-4.34 2.96-6.9 2.96-2.57-.2-5.13-1-7.1-2.96zm-45.97-46.17c-3.95-3.95-3.95-10.07 0-14 3.75-3.75 10.06-3.75 14 0 3.94 3.94 3.94 10.06 0 14-1.98 1.97-4.54 2.96-6.9 2.96-2.56 0-5.13-1-7.1-2.96zm-45.98-45.98a10.13 10.13 0 0 1 0-14.01c3.95-3.95 10.06-3.95 14 0s3.95 10.06 0 14c-1.97 1.97-4.54 2.96-6.9 2.96-2.76 0-5.13-1-7.1-2.96zm-46.17-45.98a10.13 10.13 0 0 1 0-14.01 10.13 10.13 0 0 1 14.01 0 10.13 10.13 0 0 1 0 14.01c-1.98 1.98-4.35 2.96-6.9 2.96-2.57-.2-5.13-.98-7.1-2.96zm-45.98-46.17c-3.95-3.95-3.95-10.06 0-14 3.75-3.95 10.06-3.95 14 0s3.95 10.06 0 14c-1.97 1.97-4.54 2.96-6.9 2.96-2.56 0-5.13-1-7.1-2.96zm-45.98-45.98a10.13 10.13 0 0 1 0-14.01c3.95-3.94 10.07-3.94 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.98-4.34 2.96-6.9 2.96-2.77 0-5.13-.98-7.1-2.96zm-46.17-45.97c-3.95-3.95-3.95-10.07 0-14 3.95-3.95 10.06-3.95 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.97-4.54 2.96-6.9 2.96-2.56-.2-5.13-1.2-7.1-2.96zm-45.98-46.18a10.13 10.13 0 0 1 0-14.01c3.95-3.94 10.07-3.94 14 0 3.95 3.95 3.95 10.07 0 14-1.97 1.98-4.34 2.96-6.9 2.96-2.57 0-5.13-.98-7.1-2.96zM2972 2398.5a10.13 10.13 0 0 1 0-14.01c3.94-3.95 10.06-3.95 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.97-4.54 2.96-6.9 2.96-2.76 0-5.33-1-7.1-2.96zm-46.18-45.98c-3.94-3.95-3.94-10.06 0-14 3.95-3.95 10.07-3.95 14 0 3.95 3.95 3.95 10.06 0 14-1.97 1.97-4.34 2.96-6.9 2.96-2.57-.2-5.13-1.18-7.1-2.96zm-45.97-46.17a10.13 10.13 0 0 1 0-14.01c3.94-3.95 10.06-3.95 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.97-4.54 2.96-6.9 2.96-2.57 0-5.13-1-7.1-2.96zm-45.98-45.98c-3.95-3.95-3.95-10.06 0-14s10.06-3.95 14 0 3.95 10.06 0 14c-1.97 1.97-4.34 2.96-6.9 2.96-2.76 0-5.32-1-7.1-2.96zm-46.17-45.98c-3.95-3.94-3.95-10.06 0-14 3.94-3.94 10.06-3.94 14 0 3.94 3.95 3.94 10.07 0 14-1.98 1.98-4.54 2.96-6.9 2.96-2.57-.2-5.13-1.18-7.1-2.96zm-45.98-46.17c-3.95-3.95-3.95-10.06 0-14s10.06-3.95 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.97-4.54 2.96-6.9 2.96-2.56 0-5.13-1-7.1-2.96zm-45.98-45.98c-3.94-3.94-3.94-10.06 0-14 3.75-3.94 10.07-3.94 14 0 3.95 3.95 3.95 10.07 0 14-1.97 1.98-4.34 2.96-6.9 2.96-2.77 0-5.33-.98-7.1-2.96zm-46.17-45.97c-3.95-3.95-3.95-10.07 0-14 3.95-3.95 10.06-3.95 14 0 3.95 3.94 3.95 10.06 0 14-1.97 1.97-4.54 2.96-6.9 2.96-2.56-.2-5.13-1.2-7.1-2.96zm-45.98-46.18c-3.94-3.94-3.94-10.06 0-14 3.75-3.94 10.07-3.94 14 0 3.95 3.95 3.95 10.07 0 14-1.97 1.98-4.34 2.96-6.9 2.96-2.57 0-5.13-.98-7.1-2.96zm-45.97-45.97c-3.95-3.95-3.95-10.07 0-14 3.75-3.95 10.06-3.95 14 0 3.94 3.94 3.94 10.06 0 14-1.98 1.97-4.54 2.96-6.9 2.96-2.76 0-5.33-1-7.1-2.96zm-46.18-45.98c-3.94-3.95-3.94-10.06 0-14 3.95-3.95 10.07-3.95 14 0 3.95 3.95 3.95 10.06 0 14-1.97 1.97-4.34 2.96-6.9 2.96-2.57-.2-5.13-1.2-7.1-2.96zm-45.97-46.17c-3.95-3.95-3.95-10.07 0-14 3.74-3.95 10.06-3.95 14 0 3.94 3.94 3.94 10.06 0 14-1.98 1.97-4.54 2.96-6.9 2.96-2.76 0-5.13-1-7.1-2.96zM2419.5 1846c-3.95-3.95-3.95-10.06 0-14 3.75-3.95 10.06-3.95 14 0s3.95 10.06 0 14c-1.97 1.97-4.54 2.96-6.9 2.96-2.76 0-5.33-1-7.1-2.96zm-46.2-46c-3.95-3.94-3.95-10.06 0-14 3.74-3.75 10.06-3.75 14 0a10.15 10.15 0 0 1 0 14.01c-1.98 1.98-4.54 2.96-6.9 2.96-2.57-.2-5.13-1.18-7.1-2.96zm-45.98-46.17a10.13 10.13 0 0 1 0-14.01c3.95-3.95 10.06-3.95 14 0 3.95 3.94 3.95 10.06 0 14-1.97 1.97-4.34 2.96-6.9 2.96-2.76 0-5.13-1-7.1-2.96zm-45.98-45.98a10.13 10.13 0 0 1 0-14.01c3.95-3.94 10.07-3.94 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.98-4.54 2.96-6.9 2.96-2.77 0-5.33-.98-7.1-2.96zm-46.17-46.17c-3.95-3.75-3.95-10.07 0-14 3.75-3.95 10.06-3.95 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.97-4.54 2.96-6.9 2.96-2.56 0-5.13-1-7.1-2.96zm-45.98-45.98c-3.75-3.75-3.75-10.06 0-14 3.95-3.94 10.07-3.94 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.98-4.34 2.96-6.9 2.96-2.77 0-5.13-.98-7.1-2.96zm-45.97-45.97c-3.95-3.95-3.95-10.07 0-14.02 3.94-3.94 10.06-3.94 14 0a10.16 10.16 0 0 1 0 14.02c-1.98 1.97-4.54 2.96-6.9 2.96-2.76 0-5.33-1-7.1-2.96zm-46.18-46.18c-3.94-3.75-3.94-10.06 0-14 3.95-3.95 10.07-3.95 14 0 3.95 3.75 3.95 10.07 0 14-1.97 1.97-4.34 2.96-6.9 2.96-2.57 0-5.13-1-7.1-2.96zm-45.97-45.98c-3.95-3.94-3.95-10.06 0-14 3.94-3.94 10.06-3.94 14 0a10.15 10.15 0 0 1 0 14.01c-1.98 1.98-4.54 2.96-6.9 2.96-2.76 0-5.13-.98-7.1-2.96zm-46.18-45.97c-3.95-3.95-3.95-10.07 0-14 3.95-3.95 10.06-3.95 14 0 3.95 3.75 3.95 10.06 0 14-1.97 1.97-4.34 2.96-6.9 2.96s-5.13-1-7.1-2.96zm-45.97-46.18c-3.95-3.94-3.95-10.06 0-14 3.94-3.94 10.06-3.94 14 0 3.95 3.75 3.95 10.07 0 14-1.97 1.98-4.53 2.96-6.9 2.96-2.57 0-5.13-.98-7.1-2.96zm-45.98-45.97a10.13 10.13 0 0 1 0-14.01c3.94-3.95 10.06-3.95 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.97-4.54 2.96-6.9 2.96-2.76 0-5.13-1-7.1-2.96zm-46.18-45.98a10.15 10.15 0 0 1 0-14.01c3.75-3.94 10.07-3.94 14 0 3.75 3.75 3.75 10.07 0 14-1.97 1.97-4.53 2.96-6.9 2.96-2.57-.2-5.13-1-7.1-2.96zm-45.97-46.17c-3.95-3.95-3.95-10.07 0-14 3.75-3.75 10.06-3.75 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.97-4.54 2.96-6.9 2.96-2.56 0-5.13-1-7.1-2.96zm-45.98-45.98a10.13 10.13 0 0 1 0-14.01c3.95-3.95 10.07-3.95 14 0 3.75 3.75 3.75 10.06 0 14-1.97 1.97-4.34 2.96-6.9 2.96-2.77 0-5.14-1-7.1-2.96zm-46.17-45.98c-3.95-3.94-3.95-10.06 0-14 3.75-3.74 10.06-3.74 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.98-4.54 2.96-6.9 2.96-2.56-.2-5.13-.98-7.1-2.96zm-45.98-46.17a10.13 10.13 0 0 1 0-14.01c3.75-3.75 10.06-3.75 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.97-4.34 2.96-6.9 2.96s-5.13-1-7.1-2.96zm-45.98-45.98c-3.94-3.94-3.94-10.06 0-14 3.95-3.94 10.07-3.94 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.98-4.53 2.96-6.9 2.96-2.76 0-5.33-.98-7.1-2.96zm-46.17-45.97a10.13 10.13 0 0 1 0-14.01c3.95-3.75 10.06-3.75 14 0 3.95 3.94 3.95 10.06 0 14-1.97 1.97-4.34 2.96-6.9 2.96-2.56-.2-5.13-1-7.1-2.96zm-45.98-46.176a10.15 10.15 0 0 1 0-14.01c3.75-3.946 10.07-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.53 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm-45.97-45.976c-3.95-3.947-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.973-4.54 2.96-6.9 2.96-2.76 0-5.33-.987-7.1-2.96zm-46.18-45.977a10.13 10.13 0 0 1 0-14.01c3.75-3.946 10.07-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.53 2.96-6.9 2.96-2.57-.197-5.13-1.184-7.1-2.96zm-45.97-46.174a10.13 10.13 0 0 1 0-14.01c3.94-3.946 10.06-3.946 14 0s3.94 10.064 0 14c-1.98 1.973-4.34 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm-45.98-45.976c-3.95-3.947-3.95-10.064 0-14 3.75-3.947 10.06-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96-2.76 0-5.32-.987-7.1-2.96zm-46.17-45.977c-3.95-3.946-3.95-10.063 0-14 3.75-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.974-4.54 2.96-6.9 2.96-2.56-.197-5.13-1.184-7.1-2.96zM1268.3 694.8a10.13 10.13 0 0 1 0-14.01c3.75-3.946 10.06-3.946 14 0s3.95 10.064 0 14c-1.97 1.974-4.34 2.96-6.9 2.96s-5.13-.986-7.1-2.96zm-45.98-45.976c-3.94-3.946-3.94-10.064 0-14 3.75-3.947 10.07-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.53 2.96-6.9 2.96-2.76 0-5.33-.987-7.1-2.96zM6092.2 1126.4c-3.95-3.95-3.95-10.07 0-14 3.75-3.95 10.06-3.95 14 0 3.95 3.94 3.95 10.06 0 14-1.97 1.97-4.54 2.96-6.9 2.96-2.76 0-5.32-1-7.1-2.96zm-46.17-45.98a10.13 10.13 0 0 1 0-14.01 10.13 10.13 0 0 1 14.01 0c3.94 3.95 3.94 10.06 0 14-1.98 1.97-4.34 2.96-6.9 2.96-2.56-.2-5.13-1-7.1-2.96zm-45.98-46.17c-3.95-3.95-3.95-10.07 0-14 3.95-3.95 10.06-3.95 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.97-4.54 2.96-6.9 2.96-2.56 0-5.13-1-7.1-2.96zm-45.98-45.98a10.13 10.13 0 0 1 0-14.01c3.95-3.946 10.07-3.946 14 0 3.95 3.947 3.95 10.064 0 14-1.97 1.973-4.34 2.96-6.9 2.96-2.76 0-5.33-.987-7.1-2.96zm-46.17-45.976a10.13 10.13 0 0 1 0-14.01c3.95-3.947 10.06-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96-2.56-.198-5.13-1.184-7.1-2.96zm-45.98-46.174c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96-2.57 0-5.13-.987-7.1-2.96zm-45.97-45.977a10.13 10.13 0 0 1 0-14.01c3.94-3.946 10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.98 1.974-4.54 2.96-6.9 2.96-2.76 0-5.33-.986-7.1-2.96zm-46.18-45.976c-3.94-3.947-3.94-10.064 0-14 3.95-3.947 10.07-3.947 14 0a10.13 10.13 0 0 1 0 14.01c-1.97 1.973-4.54 2.96-6.9 2.96-2.57-.198-5.13-1.184-7.1-2.96zm-45.97-46.174c-3.95-3.947-3.95-10.064 0-14 3.94-3.946 10.06-3.946 14 0s3.94 10.063 0 14c-1.98 1.973-4.34 2.96-6.9 2.96a10.01 10.01 0 0 1-7.1-2.96zm-45.98-45.976c-3.95-3.947-3.95-10.064 0-14s10.06-3.946 14 0a10.13 10.13 0 0 1 0 14.011c-1.97 1.973-4.54 2.96-6.9 2.96-2.76 0-5.32-.986-7.1-2.96zM306.68 414c-3.947-3.946-3.947-10.063 0-14 3.75-3.946 10.063-3.946 14 0s3.946 10.064 0 14c-1.974 1.974-4.54 2.96-6.907 2.96-2.762 0-5.328-.986-7.103-2.96zm45.976-45.976a10.13 10.13 0 0 1 0-14.01c3.75-3.947 10.064-3.947 14 0s3.947 10.063 0 14c-1.973 1.973-4.34 2.96-6.906 2.96-2.565-.198-5.13-1.184-7.104-2.96zm45.977-46.174c-3.947-3.946-3.947-10.063 0-14 3.75-3.946 10.063-3.946 14 0a10.13 10.13 0 0 1 0 14.01c-1.973 1.973-4.538 2.96-6.906 2.96-2.565 0-5.13-.987-7.103-2.96z"/></g></svg>
|
wpses/wpse1_2023_bmi.svg
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<svg width="768" height="767" viewBox="0 0 768 767" fill="none" xmlns="http://www.w3.org/2000/svg">
|
2 |
+
<path d="M384.452 0C332.88 0 283.764 10.174 239.208 28.4172V409.418C243.418 491.512 311.479 556.766 394.626 556.766C444.794 556.766 489.7 532.91 518.118 495.722C511.101 535.015 492.156 572.553 461.985 603.075C418.482 646.578 356.034 670.785 294.639 657.805C286.57 656.051 278.852 653.946 271.485 651.139C225.526 634.65 186.233 600.269 159.219 560.625C127.294 513.614 110.103 457.832 110.103 400.998C110.103 397.139 110.103 393.63 110.454 389.771V115.423C42.744 184.536 0.995361 278.909 0.995361 383.456C0.995361 595.357 172.551 766.913 384.452 766.913C596.353 766.913 767.908 595.357 767.908 383.456C767.908 171.555 596.002 0 384.452 0Z" fill="#00938D"/>
|
3 |
+
<path d="M409.361 117.176V55.0796L274.642 189.798C274.642 189.798 407.256 322.411 409.361 324.516C405.501 320.657 409.361 291.889 409.361 286.276C409.361 272.945 409.361 259.262 409.361 245.931C491.455 244.527 550.394 334.69 561.971 406.61C574.601 486.249 551.096 576.763 493.209 634.299C471.808 655.699 447.601 672.188 421.64 684.116C565.83 670.434 679.148 548.696 679.148 400.997C679.148 249.439 559.515 124.895 409.361 117.176Z" fill="#55BDBD"/>
|
4 |
+
<path opacity="0.07" d="M655.643 112.265L581.267 186.641C641.259 238.914 679.148 315.746 679.148 401.348C679.148 549.047 565.83 670.785 421.64 684.467C447.601 672.539 471.808 656.05 493.209 634.65C567.935 559.923 584.775 449.061 544.079 358.196C534.957 326.271 515.311 298.204 489.7 278.207L271.485 496.423C299.902 533.26 344.457 557.116 394.626 557.116C444.794 557.116 489.7 533.26 518.118 496.072C511.101 535.365 492.156 572.904 461.985 603.426C418.482 646.929 356.035 671.136 294.639 658.155C286.57 656.401 278.852 654.296 271.485 651.489C236.402 638.859 205.178 615.705 180.269 587.989L113.612 654.647C263.416 804.451 506.189 804.451 655.643 654.647C805.096 504.843 805.096 262.069 655.643 112.265Z" fill="black"/>
|
5 |
+
</svg>
|
wpses/wpse1_2023_notiad.min.css
ADDED
@@ -0,0 +1,264 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
@import url('https://fonts.googleapis.com/css?family=Montserrat:300,500,700&display=swap');
|
2 |
+
|
3 |
+
#wpse1_2023 * {
|
4 |
+
font-family: 'Montserrat', sans-serif;
|
5 |
+
font-weight: 400;
|
6 |
+
font-size: 17px;
|
7 |
+
-webkit-touch-callout: none;
|
8 |
+
-webkit-user-select: none;
|
9 |
+
-khtml-user-select: none;
|
10 |
+
-moz-user-select: none;
|
11 |
+
-ms-user-select: none;
|
12 |
+
user-select: none;
|
13 |
+
}
|
14 |
+
|
15 |
+
#wpse1_2023 b {
|
16 |
+
font-family: 'Montserrat', sans-serif;
|
17 |
+
font-weight: 700 !important;
|
18 |
+
}
|
19 |
+
|
20 |
+
#wpse1_2023 {
|
21 |
+
background: #fff;
|
22 |
+
border-radius: 10px;
|
23 |
+
max-width: 1130px;
|
24 |
+
margin-top: 30px;
|
25 |
+
padding: 15px 20px;
|
26 |
+
margin-right: 20px;
|
27 |
+
background: url('./wpse1_2023_bg.svg');
|
28 |
+
background-repeat: no-repeat;
|
29 |
+
background-position: 0px 1px;
|
30 |
+
background-size: cover;
|
31 |
+
box-shadow: 0px 0px 15px 1px rgba(0,0,0,0.12);
|
32 |
+
}
|
33 |
+
|
34 |
+
#wpse1_2023_container {
|
35 |
+
position: relative;
|
36 |
+
line-height: 20px;
|
37 |
+
}
|
38 |
+
|
39 |
+
#wpse1_2023_container::after {
|
40 |
+
content: '';
|
41 |
+
display: block;
|
42 |
+
clear: both;
|
43 |
+
}
|
44 |
+
|
45 |
+
#wpse1_2023_text {
|
46 |
+
float: left;
|
47 |
+
line-height: 46px;
|
48 |
+
padding-left: 120px;
|
49 |
+
padding-right: 20px;
|
50 |
+
padding-top: 2px;
|
51 |
+
font-size: 20px;
|
52 |
+
}
|
53 |
+
|
54 |
+
#wpse1_2023_img {
|
55 |
+
position: absolute;
|
56 |
+
pointer-events: none;
|
57 |
+
}
|
58 |
+
|
59 |
+
#wpse1_2023_img span {
|
60 |
+
position: relative;
|
61 |
+
display: block;
|
62 |
+
top: -20px;
|
63 |
+
left: 10px;
|
64 |
+
border-radius: 50%;
|
65 |
+
height: 70px;
|
66 |
+
width: 70px;
|
67 |
+
border: 1px solid #207d78;
|
68 |
+
transform: translatey(0px);
|
69 |
+
background: url('./wpse1_2023_bmi.svg');
|
70 |
+
background-repeat: no-repeat;
|
71 |
+
background-position: -1px -1px;
|
72 |
+
background-size: 72px;
|
73 |
+
box-shadow: 0 5px 15px 0px rgba(0,0,0,0.6);
|
74 |
+
animation: float 4s ease-in-out infinite;
|
75 |
+
}
|
76 |
+
|
77 |
+
#wpse1_2023_btns {
|
78 |
+
float: left;
|
79 |
+
padding-left: 50px;
|
80 |
+
width: calc(100% - 506px - 60px);
|
81 |
+
line-height: 46px;
|
82 |
+
}
|
83 |
+
|
84 |
+
#wpse1_2023_other {
|
85 |
+
float: left;
|
86 |
+
white-space: nowrap;
|
87 |
+
overflow: hidden;
|
88 |
+
text-overflow: clip;
|
89 |
+
width: calc(100% - 200px);
|
90 |
+
}
|
91 |
+
|
92 |
+
#wpse1_2023_btns::after {
|
93 |
+
content: '';
|
94 |
+
display: block;
|
95 |
+
clear: both;
|
96 |
+
}
|
97 |
+
|
98 |
+
#wpse1_2023_install {
|
99 |
+
float: left;
|
100 |
+
}
|
101 |
+
|
102 |
+
#wpse1_2023_show {
|
103 |
+
font-weight: 300;
|
104 |
+
display: inline-block;
|
105 |
+
padding-left: 20px;
|
106 |
+
white-space: nowrap;
|
107 |
+
overflow: hidden;
|
108 |
+
text-overflow: clip;
|
109 |
+
}
|
110 |
+
|
111 |
+
#wpse1_2023_dismiss {
|
112 |
+
display: inline-block;
|
113 |
+
padding-left: 20px;
|
114 |
+
white-space: nowrap;
|
115 |
+
overflow: hidden;
|
116 |
+
text-overflow: clip;
|
117 |
+
font-size: 300;
|
118 |
+
float: right;
|
119 |
+
}
|
120 |
+
|
121 |
+
#wpse1_2023_dismiss span {
|
122 |
+
transition: all .3s;
|
123 |
+
font-size: 300;
|
124 |
+
}
|
125 |
+
|
126 |
+
#wpse1_2023_show a {
|
127 |
+
line-height: 48px;
|
128 |
+
color: #000;
|
129 |
+
text-decoration: none !important;
|
130 |
+
cursor: pointer;
|
131 |
+
font-weight: 300;
|
132 |
+
}
|
133 |
+
|
134 |
+
#wpse1_2023_dismiss a {
|
135 |
+
line-height: 48px;
|
136 |
+
color: #c5c5c5;
|
137 |
+
text-decoration: none !important;
|
138 |
+
cursor: pointer;
|
139 |
+
font-size: 300;
|
140 |
+
}
|
141 |
+
|
142 |
+
#wpse1_2023_show a, #wpse1_2023_dismiss a {
|
143 |
+
opacity: 1;
|
144 |
+
transition: all .3s;
|
145 |
+
}
|
146 |
+
#wpse1_2023_show a:hover, #wpse1_2023_dismiss a:hover {
|
147 |
+
opacity: .6;
|
148 |
+
}
|
149 |
+
|
150 |
+
#wpse1_2023_install button {
|
151 |
+
border: 0;
|
152 |
+
outline: none;
|
153 |
+
width: 200px;
|
154 |
+
max-width: 200px;
|
155 |
+
height: 36px;
|
156 |
+
max-height: 48px;
|
157 |
+
cursor: pointer;
|
158 |
+
border-radius: 30px;
|
159 |
+
opacity: 1;
|
160 |
+
transition: all .3s;
|
161 |
+
background: #0F948D;
|
162 |
+
color: white;
|
163 |
+
font-weight: 500;
|
164 |
+
}
|
165 |
+
|
166 |
+
#wpse1_2023_install {
|
167 |
+
position: relative;
|
168 |
+
}
|
169 |
+
|
170 |
+
#wpse1_2023_install span {
|
171 |
+
position: absolute;
|
172 |
+
line-height: 18px;
|
173 |
+
width: 100%;
|
174 |
+
left: 43px;
|
175 |
+
top: 42px;
|
176 |
+
font-size: 11px;
|
177 |
+
}
|
178 |
+
|
179 |
+
#wpse1_2023_news {
|
180 |
+
color: #0F948D;
|
181 |
+
font-weight: 800;
|
182 |
+
font-size: 20px;
|
183 |
+
}
|
184 |
+
|
185 |
+
#wpse1_2023_install button:hover {
|
186 |
+
opacity: .8;
|
187 |
+
}
|
188 |
+
|
189 |
+
#wpse1_2023_wpclone {
|
190 |
+
margin-top: 14px;
|
191 |
+
margin-bottom: 6px;
|
192 |
+
margin-left: 13px;
|
193 |
+
font-size: 16px;
|
194 |
+
}
|
195 |
+
|
196 |
+
#wpse1_2023_wpclone_show {
|
197 |
+
color: #00b050;
|
198 |
+
text-decoration: none;
|
199 |
+
transition: .3s all;
|
200 |
+
opacity: 1;
|
201 |
+
}
|
202 |
+
|
203 |
+
#wpse1_2023_wpclone_show:hover {
|
204 |
+
opacity: .7;
|
205 |
+
}
|
206 |
+
|
207 |
+
@media screen and (max-width: 1280px) {
|
208 |
+
#wpse1_2023_text {
|
209 |
+
padding-left: 100px;
|
210 |
+
padding-right: 5px;
|
211 |
+
}
|
212 |
+
#wpse1_2023_btns {
|
213 |
+
padding-left: 10px;
|
214 |
+
width: calc(100% - 496px);
|
215 |
+
}
|
216 |
+
}
|
217 |
+
|
218 |
+
@media screen and (max-width: 1160px) {
|
219 |
+
#wpse1_2023_text, #wpse1_2023_news {
|
220 |
+
font-size: 16px !important;
|
221 |
+
}
|
222 |
+
#wpse1_2023_text {
|
223 |
+
padding-left: 90px;
|
224 |
+
padding-right: 5px;
|
225 |
+
}
|
226 |
+
#wpse1_2023_btns {
|
227 |
+
width: calc(100% - 406px);
|
228 |
+
}
|
229 |
+
#wpse1_2023_img span {
|
230 |
+
position: relative;
|
231 |
+
top: -20px;
|
232 |
+
left: 15px;
|
233 |
+
height: 60px;
|
234 |
+
width: 60px;
|
235 |
+
background-size: 62px;
|
236 |
+
}
|
237 |
+
}
|
238 |
+
|
239 |
+
@media screen and (min-width: 960px) and (max-width: 1068px) {
|
240 |
+
#wpse1_2023_show {
|
241 |
+
display: none;
|
242 |
+
}
|
243 |
+
}
|
244 |
+
|
245 |
+
@media screen and (max-width: 940px) {
|
246 |
+
#wpse1_2023_complete {
|
247 |
+
display: none;
|
248 |
+
}
|
249 |
+
}
|
250 |
+
|
251 |
+
@keyframes float {
|
252 |
+
0% {
|
253 |
+
box-shadow: 0 5px 15px 0px rgba(0,0,0,0.6);
|
254 |
+
transform: translatey(0px);
|
255 |
+
}
|
256 |
+
50% {
|
257 |
+
box-shadow: 0 25px 15px 0px rgba(0,0,0,0.3);
|
258 |
+
transform: translatey(-15px);
|
259 |
+
}
|
260 |
+
100% {
|
261 |
+
box-shadow: 0 5px 15px 0px rgba(0,0,0,0.6);
|
262 |
+
transform: translatey(0px);
|
263 |
+
}
|
264 |
+
}
|
wpses/wpse1_2023_notiad.min.js
ADDED
@@ -0,0 +1,163 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(document).ready(function($) {
|
2 |
+
|
3 |
+
let entered = false, interval = null;
|
4 |
+
$('#wpse1_2023_btn').on('click', wpse1_2023_btn);
|
5 |
+
$('#wpse1_2023_install_btn').on('click', wpse1_2023_btn_install);
|
6 |
+
$('#wpse1_2023_btn').on('mouseenter', wpse1_2023_show);
|
7 |
+
$('#wpse1_2023_btn').on('mouseleave', wpse1_2023_hide);
|
8 |
+
$('#wpse1_2023_wpclone_show').on('click', wpse1_2023_move);
|
9 |
+
|
10 |
+
function hideIt() {
|
11 |
+
$('#wpse1_2023_who').hide(300);
|
12 |
+
$('#wpse1_2023').css({
|
13 |
+
'overflow': 'hidden',
|
14 |
+
'max-height': $('#wpse1_2023').height(),
|
15 |
+
'max-width': $('#wpse1_2023').width(),
|
16 |
+
'opacity': 1
|
17 |
+
});
|
18 |
+
|
19 |
+
$('#wpse1_2023').animate({'max-height': '0px', 'opacity': '0', 'padding-top': '0', 'padding-bottom': '0', 'margin-top': '0'}, 300, function () {
|
20 |
+
setTimeout(() => { $('#wpse1_2023').remove(); }, 10);
|
21 |
+
});
|
22 |
+
}
|
23 |
+
function wpse1_2023_btn() {
|
24 |
+
setTimeout(() => { hideIt(); }, 100);
|
25 |
+
$.post(ajaxurl, { action: 'wpse1_2023_btn' });
|
26 |
+
}
|
27 |
+
function wpse1_2023_btn_install() {
|
28 |
+
|
29 |
+
$('#wpse1_2023_install_btn').css({'pointer-events': 'none', 'opacity': '.6'});
|
30 |
+
$('#wpse1_2023_btns').addClass('wpse1_2023_btns_installing');
|
31 |
+
$('#wpse1_2023_other').css({'max-width': `${$('#wpse1_2023_other').width()}px`, 'max-height': `${$('#wpse1_2023_other').height()}px`, 'overflow': 'hidden'});
|
32 |
+
$('#wpse1_2023_show').css({'max-width': `${$('#wpse1_2023_show').width()}px`, 'overflow': 'hidden'});
|
33 |
+
$('#wpse1_2023_dismiss').css({'max-width': `${$('#wpse1_2023_dismiss').width()}px`, 'overflow': 'hidden'});
|
34 |
+
$('#wpse1_2023_other').animate({'padding-left': '0', 'max-width': '0'}, 500, function () {
|
35 |
+
$('#wpse1_2023_btns, #wpse1_2023_install').css({'float': 'left', 'width': '200px'});
|
36 |
+
$('#wpse1_2023_install').find('span').hide(300);
|
37 |
+
$('#wpse1_2023_other').hide();
|
38 |
+
});
|
39 |
+
|
40 |
+
$('#wpse1_2023_text').css({'opacity': '1'});
|
41 |
+
$('#wpse1_2023_text').animate({'opacity': '0'}, 500, function () {
|
42 |
+
$('#wpse1_2023_text').css({'line-height': '21px'});
|
43 |
+
$('#wpse1_2023_install_btn').text('Installing...');
|
44 |
+
$('#wpse1_2023_text').html(`We\'re downloading this awesome plugin!<br>We will redirect you soon, please wait<span id="wpse1_2023_dots">...</span> :)`);
|
45 |
+
$('#wpse1_2023_text').animate({'opacity': '1'}, 500, function () {
|
46 |
+
let dox = '..', predox = '...';
|
47 |
+
interval = setInterval(() => {
|
48 |
+
$('#wpse1_2023_dots').text(dox);
|
49 |
+
|
50 |
+
// I named it DOXPARADOX <3
|
51 |
+
if (dox == '..' && predox == '...') { dox = '.'; predox = '..' }
|
52 |
+
else if (dox == '.' && predox == '...') { dox = '..'; predox = '.' }
|
53 |
+
else if (dox == '..' && predox == '..') { dox = '...'; predox = '..' }
|
54 |
+
else if (dox == '.' && predox == '..') { dox = '..'; predox = '.' }
|
55 |
+
else if (dox == '..' && predox == '.') { dox = '...'; predox = '..' }
|
56 |
+
else { dox = '..'; predox = '...' }
|
57 |
+
}, 600);
|
58 |
+
});
|
59 |
+
});
|
60 |
+
|
61 |
+
$('#wpse1_2023_btns, #wpse1_2023_install').css({'text-align': 'left'});
|
62 |
+
$('#wpse1_2023_show, #wpse1_2023_dismiss').css({'overflow': 'hidden', 'text-align': 'left'});
|
63 |
+
|
64 |
+
$.post(ajaxurl, { action: 'wpse1_2023_install' }).done((res) => {
|
65 |
+
|
66 |
+
clearInterval(interval);
|
67 |
+
setTimeout(function () {
|
68 |
+
if (isJsonString(res)) res = cdpParse(res);
|
69 |
+
let url = $('#wpse1_2023').data('url');
|
70 |
+
if (res.status == 'success') {
|
71 |
+
window.location = res.url;
|
72 |
+
}
|
73 |
+
else if (typeof res.url != 'undefined') handleIssue();
|
74 |
+
else handleIssue();
|
75 |
+
}, 500);
|
76 |
+
|
77 |
+
}).fail(() => { handleIssue(); });
|
78 |
+
|
79 |
+
function handleIssue() {
|
80 |
+
clearInterval(interval);
|
81 |
+
|
82 |
+
$('#wpse1_2023_text').animate({'opacity': '0'}, 500, function () {
|
83 |
+
$('#wpse1_2023_text').html(`There was an error during plugin download :(<br>Please try to do it manualy, we will redirect you in <span id="wpse1_2023_nums">3</span>s.`);
|
84 |
+
$('#wpse1_2023_text').animate({'opacity': '1'}, 500, function () {
|
85 |
+
let i = 3;
|
86 |
+
clearInterval(interval);
|
87 |
+
interval = setInterval(() => {
|
88 |
+
i--;
|
89 |
+
$('#wpse1_2023_nums').text(i);
|
90 |
+
if (i == 0) {
|
91 |
+
let url = $('#wpse1_2023').data('url');
|
92 |
+
window.location.href = `${url}/wp-admin/plugin-install.php?s=Migrate&tab=search&type=author`;
|
93 |
+
}
|
94 |
+
}, 1050);
|
95 |
+
});
|
96 |
+
});
|
97 |
+
|
98 |
+
}
|
99 |
+
|
100 |
+
}
|
101 |
+
function wpse1_2023_show() {
|
102 |
+
$('#wpse1_2023_smile').css({'opacity': 1});
|
103 |
+
}
|
104 |
+
function wpse1_2023_hide() {
|
105 |
+
$('#wpse1_2023_smile').css({'opacity': 0});
|
106 |
+
}
|
107 |
+
function wpse1_2023_move() {
|
108 |
+
$('#wpse1_2023_wpclone').hide(300);
|
109 |
+
$('#wpse1_2023_complete').hide(300);
|
110 |
+
setTimeout(function () {
|
111 |
+
$('#wpse1_2023_complete').prependTo('#wpbody-content');
|
112 |
+
$('#wpse1_2023_complete').show(300);
|
113 |
+
}, 310);
|
114 |
+
}
|
115 |
+
|
116 |
+
function isJsonString(str) {
|
117 |
+
try { JSON.parse(str); }
|
118 |
+
catch (e) {
|
119 |
+
if (typeof str === 'string') {
|
120 |
+
let reversed = cdpReverseString(str);
|
121 |
+
let lastcorrect = reversed.indexOf('}');
|
122 |
+
if (lastcorrect == 0) lastcorrect = str.length;
|
123 |
+
else lastcorrect = -lastcorrect;
|
124 |
+
|
125 |
+
str = str.slice(str.indexOf('{'), lastcorrect);
|
126 |
+
|
127 |
+
try {
|
128 |
+
JSON.parse(str);
|
129 |
+
} catch (e) {
|
130 |
+
return false;
|
131 |
+
}
|
132 |
+
return true;
|
133 |
+
} else return false;
|
134 |
+
}
|
135 |
+
return true;
|
136 |
+
}
|
137 |
+
function cdpReverseString(str) {
|
138 |
+
if (typeof str === 'string')
|
139 |
+
return (str === '') ? '' : cdpReverseString(str.substr(1)) + str.charAt(0);
|
140 |
+
else
|
141 |
+
return str;
|
142 |
+
}
|
143 |
+
function cdpParse(str) {
|
144 |
+
try { JSON.parse(str); }
|
145 |
+
catch (e) {
|
146 |
+
if (typeof str === 'string') {
|
147 |
+
let reversed = cdpReverseString(str);
|
148 |
+
let lastcorrect = reversed.indexOf('}');
|
149 |
+
if (lastcorrect == 0) lastcorrect = str.length;
|
150 |
+
else lastcorrect = -lastcorrect;
|
151 |
+
str = str.slice(str.indexOf('{'), lastcorrect);
|
152 |
+
try {
|
153 |
+
JSON.parse(str);
|
154 |
+
} catch (e) {
|
155 |
+
return false;
|
156 |
+
}
|
157 |
+
return JSON.parse(str);
|
158 |
+
} else return false;
|
159 |
+
}
|
160 |
+
return JSON.parse(str);
|
161 |
+
}
|
162 |
+
|
163 |
+
});
|